@intentic/keyring 1.344.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.
- package/README.md +141 -45
- package/dist/address.d.ts +0 -1
- package/dist/address.d.ts.map +1 -1
- package/dist/address.js +1 -1
- package/dist/address.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +49 -48
- package/dist/app.js.map +1 -1
- package/dist/askpass/answer.d.ts +12 -0
- package/dist/askpass/answer.d.ts.map +1 -0
- package/dist/askpass/answer.js +204 -0
- package/dist/askpass/answer.js.map +1 -0
- package/dist/askpass/askpass.d.ts +6 -0
- package/dist/askpass/askpass.d.ts.map +1 -1
- package/dist/askpass/askpass.js +28 -0
- package/dist/askpass/askpass.js.map +1 -1
- package/dist/audit.d.ts +5 -2
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +15 -2
- package/dist/audit.js.map +1 -1
- package/dist/consent/consent-posix.d.ts +7 -3
- package/dist/consent/consent-posix.d.ts.map +1 -1
- package/dist/consent/consent-posix.js +82 -12
- package/dist/consent/consent-posix.js.map +1 -1
- package/dist/consent/consent-windows.d.ts +3 -1
- package/dist/consent/consent-windows.d.ts.map +1 -1
- package/dist/consent/consent-windows.js +174 -62
- package/dist/consent/consent-windows.js.map +1 -1
- package/dist/consent/consent.d.ts +41 -2
- package/dist/consent/consent.d.ts.map +1 -1
- package/dist/consent/consent.js +7 -5
- package/dist/consent/consent.js.map +1 -1
- package/dist/core.d.ts +3 -30
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +189 -62
- package/dist/core.js.map +1 -1
- package/dist/git-credential/git-credential.d.ts +18 -0
- package/dist/git-credential/git-credential.d.ts.map +1 -0
- package/dist/git-credential/git-credential.js +68 -0
- package/dist/git-credential/git-credential.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/native-host/framing.d.ts +10 -0
- package/dist/native-host/framing.d.ts.map +1 -0
- package/dist/native-host/framing.js +33 -0
- package/dist/native-host/framing.js.map +1 -0
- package/dist/native-host/native-host.d.ts +11 -0
- package/dist/native-host/native-host.d.ts.map +1 -0
- package/dist/native-host/native-host.js +130 -0
- package/dist/native-host/native-host.js.map +1 -0
- package/dist/passwords/access.d.ts +73 -0
- package/dist/passwords/access.d.ts.map +1 -0
- package/dist/passwords/access.js +3 -0
- package/dist/passwords/access.js.map +1 -0
- package/dist/passwords/app-ops.d.ts +18 -0
- package/dist/passwords/app-ops.d.ts.map +1 -0
- package/dist/passwords/app-ops.js +261 -0
- package/dist/passwords/app-ops.js.map +1 -0
- package/dist/passwords/capture.d.ts +35 -0
- package/dist/passwords/capture.d.ts.map +1 -0
- package/dist/passwords/capture.js +306 -0
- package/dist/passwords/capture.js.map +1 -0
- package/dist/passwords/entries.d.ts +20 -0
- package/dist/passwords/entries.d.ts.map +1 -0
- package/dist/passwords/entries.js +57 -0
- package/dist/passwords/entries.js.map +1 -0
- package/dist/passwords/fills.d.ts +10 -0
- package/dist/passwords/fills.d.ts.map +1 -0
- package/dist/passwords/fills.js +87 -0
- package/dist/passwords/fills.js.map +1 -0
- package/dist/passwords/needs.d.ts +11 -0
- package/dist/passwords/needs.d.ts.map +1 -0
- package/dist/passwords/needs.js +232 -0
- package/dist/passwords/needs.js.map +1 -0
- package/dist/passwords/phone.d.ts +19 -0
- package/dist/passwords/phone.d.ts.map +1 -0
- package/dist/passwords/phone.js +125 -0
- package/dist/passwords/phone.js.map +1 -0
- package/dist/protocol.d.ts +1169 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +86 -1
- package/dist/protocol.js.map +1 -1
- package/dist/service/channel.d.ts +10 -3
- package/dist/service/channel.d.ts.map +1 -1
- package/dist/service/channel.js +31 -13
- package/dist/service/channel.js.map +1 -1
- package/dist/service/door.d.ts +45 -4
- package/dist/service/door.d.ts.map +1 -1
- package/dist/service/door.js +31 -2
- package/dist/service/door.js.map +1 -1
- package/dist/service/helper.d.ts +18 -1
- package/dist/service/helper.d.ts.map +1 -1
- package/dist/service/helper.js +68 -28
- package/dist/service/helper.js.map +1 -1
- package/dist/service/linux/install-linux.d.ts +12 -0
- package/dist/service/linux/install-linux.d.ts.map +1 -0
- package/dist/service/linux/install-linux.js +133 -0
- package/dist/service/linux/install-linux.js.map +1 -0
- package/dist/service/linux/paths-linux.d.ts +21 -0
- package/dist/service/linux/paths-linux.d.ts.map +1 -0
- package/dist/service/linux/paths-linux.js +31 -0
- package/dist/service/linux/paths-linux.js.map +1 -0
- package/dist/service/linux/polkit-linux.d.ts +29 -0
- package/dist/service/linux/polkit-linux.d.ts.map +1 -0
- package/dist/service/linux/polkit-linux.js +89 -0
- package/dist/service/linux/polkit-linux.js.map +1 -0
- package/dist/service/linux/service-run-linux.d.ts +4 -0
- package/dist/service/linux/service-run-linux.d.ts.map +1 -0
- package/dist/service/linux/service-run-linux.js +52 -0
- package/dist/service/linux/service-run-linux.js.map +1 -0
- package/dist/service/linux/session-linux.d.ts +4 -0
- package/dist/service/linux/session-linux.d.ts.map +1 -0
- package/dist/service/linux/session-linux.js +13 -0
- package/dist/service/linux/session-linux.js.map +1 -0
- package/dist/service/linux/unit-linux.d.ts +16 -0
- package/dist/service/linux/unit-linux.d.ts.map +1 -0
- package/dist/service/linux/unit-linux.js +67 -0
- package/dist/service/linux/unit-linux.js.map +1 -0
- package/dist/service/platform.d.ts +7 -0
- package/dist/service/platform.d.ts.map +1 -0
- package/dist/service/platform.js +62 -0
- package/dist/service/platform.js.map +1 -0
- package/dist/service/recovery.d.ts +3 -0
- package/dist/service/recovery.d.ts.map +1 -0
- package/dist/service/recovery.js +22 -0
- package/dist/service/recovery.js.map +1 -0
- package/dist/service/remote.d.ts +4 -1
- package/dist/service/remote.d.ts.map +1 -1
- package/dist/service/remote.js +41 -6
- package/dist/service/remote.js.map +1 -1
- package/dist/service/service-key.d.ts +9 -0
- package/dist/service/service-key.d.ts.map +1 -0
- package/dist/service/service-key.js +55 -0
- package/dist/service/service-key.js.map +1 -0
- package/dist/service/service-run.d.ts +20 -2
- package/dist/service/service-run.d.ts.map +1 -1
- package/dist/service/service-run.js +52 -46
- package/dist/service/service-run.js.map +1 -1
- package/dist/service/user.d.ts +8 -0
- package/dist/service/user.d.ts.map +1 -0
- package/dist/service/user.js +39 -0
- package/dist/service/user.js.map +1 -0
- package/dist/service/{acl.d.ts → windows/acl-windows.d.ts} +3 -3
- package/dist/service/windows/acl-windows.d.ts.map +1 -0
- package/dist/service/{acl.js → windows/acl-windows.js} +3 -3
- package/dist/service/windows/acl-windows.js.map +1 -0
- package/dist/service/{install.d.ts → windows/install-windows.d.ts} +4 -2
- package/dist/service/windows/install-windows.d.ts.map +1 -0
- package/dist/service/{install.js → windows/install-windows.js} +13 -12
- package/dist/service/windows/install-windows.js.map +1 -0
- package/dist/service/windows/leftovers-windows.d.ts +8 -0
- package/dist/service/windows/leftovers-windows.d.ts.map +1 -0
- package/dist/service/windows/leftovers-windows.js +44 -0
- package/dist/service/windows/leftovers-windows.js.map +1 -0
- package/dist/service/{paths.d.ts → windows/paths-windows.d.ts} +4 -5
- package/dist/service/windows/paths-windows.d.ts.map +1 -0
- package/dist/service/{paths.js → windows/paths-windows.js} +5 -5
- package/dist/service/windows/paths-windows.js.map +1 -0
- package/dist/service/windows/service-run-windows.d.ts +4 -0
- package/dist/service/windows/service-run-windows.d.ts.map +1 -0
- package/dist/service/windows/service-run-windows.js +46 -0
- package/dist/service/windows/service-run-windows.js.map +1 -0
- package/dist/service/windows/session-windows.d.ts +4 -0
- package/dist/service/windows/session-windows.d.ts.map +1 -0
- package/dist/service/windows/session-windows.js +13 -0
- package/dist/service/windows/session-windows.js.map +1 -0
- package/dist/service/windows/sid-windows.d.ts +3 -0
- package/dist/service/windows/sid-windows.d.ts.map +1 -0
- package/dist/service/{sid.js → windows/sid-windows.js} +2 -2
- package/dist/service/windows/sid-windows.js.map +1 -0
- package/dist/service/{task.d.ts → windows/task-windows.d.ts} +4 -3
- package/dist/service/windows/task-windows.d.ts.map +1 -0
- package/dist/service/{task.js → windows/task-windows.js} +19 -2
- package/dist/service/windows/task-windows.js.map +1 -0
- package/dist/service/wire.d.ts +32 -0
- package/dist/service/wire.d.ts.map +1 -1
- package/dist/service/wire.js +15 -0
- package/dist/service/wire.js.map +1 -1
- package/dist/typing/clipboard.d.ts +13 -0
- package/dist/typing/clipboard.d.ts.map +1 -0
- package/dist/typing/clipboard.js +56 -0
- package/dist/typing/clipboard.js.map +1 -0
- package/dist/typing/index.d.ts.map +1 -1
- package/dist/typing/index.js +2 -1
- package/dist/typing/index.js.map +1 -1
- package/dist/typing/typist.d.ts +3 -1
- package/dist/typing/typist.d.ts.map +1 -1
- package/dist/typing/typist.js +2 -1
- package/dist/typing/typist.js.map +1 -1
- package/dist/vault.d.ts +785 -0
- package/dist/vault.d.ts.map +1 -1
- package/dist/vault.js +24 -2
- package/dist/vault.js.map +1 -1
- package/dist/watch/apps.d.ts +10 -0
- package/dist/watch/apps.d.ts.map +1 -0
- package/dist/watch/apps.js +95 -0
- package/dist/watch/apps.js.map +1 -0
- package/dist/watch/chip.d.ts +52 -0
- package/dist/watch/chip.d.ts.map +1 -0
- package/dist/watch/chip.js +76 -0
- package/dist/watch/chip.js.map +1 -0
- package/dist/watch/lines-child.d.ts +9 -0
- package/dist/watch/lines-child.d.ts.map +1 -0
- package/dist/watch/lines-child.js +34 -0
- package/dist/watch/lines-child.js.map +1 -0
- package/dist/watch/watch-linux.d.ts +6 -0
- package/dist/watch/watch-linux.d.ts.map +1 -0
- package/dist/watch/watch-linux.js +52 -0
- package/dist/watch/watch-linux.js.map +1 -0
- package/dist/watch/watch-windows.d.ts +6 -0
- package/dist/watch/watch-windows.d.ts.map +1 -0
- package/dist/watch/watch-windows.js +110 -0
- package/dist/watch/watch-windows.js.map +1 -0
- package/package.json +5 -5
- package/dist/serve.d.ts +0 -17
- package/dist/serve.d.ts.map +0 -1
- package/dist/serve.js +0 -65
- package/dist/serve.js.map +0 -1
- package/dist/service/acl.d.ts.map +0 -1
- package/dist/service/acl.js.map +0 -1
- package/dist/service/install.d.ts.map +0 -1
- package/dist/service/install.js.map +0 -1
- package/dist/service/paths.d.ts.map +0 -1
- package/dist/service/paths.js.map +0 -1
- package/dist/service/sid.d.ts +0 -3
- package/dist/service/sid.d.ts.map +0 -1
- package/dist/service/sid.js.map +0 -1
- package/dist/service/task.d.ts.map +0 -1
- package/dist/service/task.js.map +0 -1
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { entriesFor, gitOrigin, titleForOrigin } from "@intentic/sandbox-contract/policy/keyring-origins";
|
|
2
|
+
import { NOT_SET_UP, refuse } from "../passwords/access.js";
|
|
3
|
+
import { candidateOf, DEFAULT_SETTINGS, entryInfoOf, liveEntries, settingsOf, titleOf, usedEntry, withEntry } from "../passwords/entries.js";
|
|
4
|
+
import { hostOf, rememberedFresh } from "../policy.js";
|
|
5
|
+
import { askpassMatch, askpassPlace, normalMatcher, parseAskpassPrompt } from "./askpass.js";
|
|
6
|
+
const AGAIN_MS = 60_000;
|
|
7
|
+
const boxNotice = ({ question, place, asker, again, remember, knownUser }) => {
|
|
8
|
+
const where = titleForOrigin(place.origin).replace(/^(ssh|git|sudo) /u, "");
|
|
9
|
+
const wantsUser = question.wants === "username";
|
|
10
|
+
return {
|
|
11
|
+
title: wantsUser ? `${asker} asks who you sign in to ${where} as` : `${asker} asks for ${where}'s password`,
|
|
12
|
+
message: again ? `${asker} asked again: the password it was given did not work. Type the right one once.` : `"${question.prompt}" Type it once: Passwords answers ${asker} with it.`,
|
|
13
|
+
remember,
|
|
14
|
+
username: wantsUser || place.origin.kind === "git" ? { value: place.username ?? knownUser } : undefined,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export class Askpass {
|
|
18
|
+
vault;
|
|
19
|
+
captures;
|
|
20
|
+
#remembered = new Map();
|
|
21
|
+
#answered = new Map();
|
|
22
|
+
#typed = new Map();
|
|
23
|
+
constructor(vault, captures) {
|
|
24
|
+
this.vault = vault;
|
|
25
|
+
this.captures = captures;
|
|
26
|
+
}
|
|
27
|
+
forget() {
|
|
28
|
+
this.#remembered.clear();
|
|
29
|
+
this.#typed.clear();
|
|
30
|
+
}
|
|
31
|
+
#shown() {
|
|
32
|
+
const held = this.vault.held();
|
|
33
|
+
return held === undefined ? (this.vault.file()?.open.entries ?? []) : liveEntries(held.doc).map(entryInfoOf);
|
|
34
|
+
}
|
|
35
|
+
async #settle(now) {
|
|
36
|
+
const held = this.vault.held();
|
|
37
|
+
let doc = held?.doc;
|
|
38
|
+
for (const [key, answered] of this.#answered) {
|
|
39
|
+
if (now - answered.at < AGAIN_MS) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
this.#answered.delete(key);
|
|
43
|
+
const entry = answered.name === undefined ? undefined : doc?.entries[answered.name];
|
|
44
|
+
if (doc !== undefined && entry?.unverified === true) {
|
|
45
|
+
doc = withEntry(doc, usedEntry(entry, answered.at));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (held !== undefined && doc !== undefined && doc !== held.doc) {
|
|
49
|
+
await this.vault.commit({ doc, key: held.key });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async askpass(prompt, parent) {
|
|
53
|
+
const file = this.vault.file();
|
|
54
|
+
if (file === undefined) {
|
|
55
|
+
return refuse("locked", NOT_SET_UP);
|
|
56
|
+
}
|
|
57
|
+
const now = this.vault.deps.now();
|
|
58
|
+
await this.#settle(now);
|
|
59
|
+
const question = parseAskpassPrompt(prompt);
|
|
60
|
+
const key = normalMatcher(question.matchers[0] ?? `prompt:${question.prompt}`);
|
|
61
|
+
const last = this.#answered.get(key);
|
|
62
|
+
this.#answered.delete(key);
|
|
63
|
+
const shown = file.open.entries.find((entry) => askpassMatch(question, entry.askpass) !== undefined);
|
|
64
|
+
const doubtful = last !== undefined && (last.name === undefined || this.#shown().find((entry) => entry.name === last.name)?.unverified === true);
|
|
65
|
+
const again = question.wants === "secret" && last !== undefined && now - last.at < AGAIN_MS && doubtful;
|
|
66
|
+
const typed = this.#typed.get(key);
|
|
67
|
+
if (question.wants === "secret" && typed !== undefined && now - typed.at < AGAIN_MS) {
|
|
68
|
+
this.#typed.delete(key);
|
|
69
|
+
return await this.#answerTyped(question, prompt, parent, typed, again);
|
|
70
|
+
}
|
|
71
|
+
if (shown === undefined || again) {
|
|
72
|
+
return await this.#box(question, prompt, parent, again, shown?.username);
|
|
73
|
+
}
|
|
74
|
+
return await this.#answerWith(shown, question, parent, key);
|
|
75
|
+
}
|
|
76
|
+
async #answerWith(shown, question, parent, key) {
|
|
77
|
+
const file = this.vault.file();
|
|
78
|
+
const matcher = askpassMatch(question, shown.askpass);
|
|
79
|
+
if (file === undefined || matcher === undefined) {
|
|
80
|
+
return refuse("unknown", `No password answers "${question.prompt}".`);
|
|
81
|
+
}
|
|
82
|
+
if (question.wants === "username") {
|
|
83
|
+
return shown.username === undefined ? refuse("unknown", `${shown.name} has no user name to answer with.`) : { ok: true, value: shown.username };
|
|
84
|
+
}
|
|
85
|
+
const now = this.vault.deps.now();
|
|
86
|
+
const remembered = this.vault.held() !== undefined && rememberedFresh(this.#remembered.get(matcher), shown.askpassRememberMinutes, now);
|
|
87
|
+
const asker = parent ?? "A program";
|
|
88
|
+
const opened = await this.vault.open(file, { title: `Answer ${asker}'s prompt?`, message: `${asker} asks: "${question.prompt}". Passwords answers with ${titleOf(shown)}.`, person: !remembered });
|
|
89
|
+
if ("ok" in opened) {
|
|
90
|
+
await this.vault.record({ op: "askpass", outcome: "refused", code: opened.code, secret: shown.name, target: matcher });
|
|
91
|
+
return opened;
|
|
92
|
+
}
|
|
93
|
+
const entry = opened.doc.entries[shown.name];
|
|
94
|
+
if (entry === undefined || entry.deleted === true || askpassMatch(question, entry.rules.askpass) === undefined) {
|
|
95
|
+
return refuse("unknown", `No password answers "${question.prompt}".`);
|
|
96
|
+
}
|
|
97
|
+
const value = await this.vault.valueOf(opened.doc, entry);
|
|
98
|
+
if (!value.ok) {
|
|
99
|
+
return value;
|
|
100
|
+
}
|
|
101
|
+
if (entry.rules.askpassRememberMinutes > 0) {
|
|
102
|
+
this.#remembered.set(matcher, now);
|
|
103
|
+
}
|
|
104
|
+
this.#answered.set(key, { at: now, name: entry.name });
|
|
105
|
+
await this.vault.record({ op: "askpass", outcome: "granted", secret: entry.name, target: matcher, asked: opened.asked, program: parent });
|
|
106
|
+
return { ok: true, value: value.value };
|
|
107
|
+
}
|
|
108
|
+
async #box(question, prompt, parent, again, knownUser) {
|
|
109
|
+
const box = this.vault.deps.consent.askValue;
|
|
110
|
+
if (box === undefined) {
|
|
111
|
+
return refuse("unknown", `No password answers "${question.prompt}": \`intentic-machine keyring edit NAME --askpass ${question.matchers[0] ?? "prompt:…"}\` adds one.`);
|
|
112
|
+
}
|
|
113
|
+
const place = askpassPlace(question, prompt);
|
|
114
|
+
const held = this.vault.held();
|
|
115
|
+
const remember = (held === undefined ? (this.vault.file()?.open.settings ?? DEFAULT_SETTINGS) : settingsOf(held.doc)).remember.terminal;
|
|
116
|
+
const wantsUser = question.wants === "username";
|
|
117
|
+
const answer = await box(boxNotice({ question, place, asker: parent ?? programOf(place.origin), again, remember, knownUser }));
|
|
118
|
+
if (answer.kind !== "answered") {
|
|
119
|
+
await this.vault.record({ op: "askpass", outcome: "refused", code: answer.kind === "cancelled" ? "declined" : "unavailable", target: question.matchers[0] });
|
|
120
|
+
return answer.kind === "cancelled" ? refuse("declined", "The person at the computer closed the box.") : refuse("unavailable", answer.reason);
|
|
121
|
+
}
|
|
122
|
+
const typed = { at: this.vault.deps.now(), value: answer.value, username: answer.username ?? place.username, remember: answer.remember };
|
|
123
|
+
if (wantsUser) {
|
|
124
|
+
this.#typed.set(normalMatcher(question.matchers[0] ?? ""), typed);
|
|
125
|
+
return typed.username === undefined ? refuse("unknown", "No user name was typed.") : { ok: true, value: typed.username };
|
|
126
|
+
}
|
|
127
|
+
return await this.#answerTyped(question, prompt, parent, typed, again);
|
|
128
|
+
}
|
|
129
|
+
async #answerTyped(question, prompt, parent, typed, again) {
|
|
130
|
+
const place = askpassPlace(question, prompt);
|
|
131
|
+
const now = this.vault.deps.now();
|
|
132
|
+
let name;
|
|
133
|
+
if (typed.remember) {
|
|
134
|
+
const draft = { origin: place.origin, username: typed.username ?? place.username, source: "askpass", via: parent ?? programOf(place.origin), kind: "password", at: now };
|
|
135
|
+
const kept = await this.captures.keep(again ? { ...draft, failed: true } : draft, typed.value, true);
|
|
136
|
+
name = kept.name;
|
|
137
|
+
}
|
|
138
|
+
this.#answered.set(normalMatcher(question.matchers[0] ?? `prompt:${question.prompt}`), { at: now, name });
|
|
139
|
+
await this.vault.record({ op: "askpass", outcome: "granted", secret: name, target: question.matchers[0], asked: true, how: "box", program: parent });
|
|
140
|
+
return { ok: true, value: typed.value };
|
|
141
|
+
}
|
|
142
|
+
async gitCredential(action, url, username) {
|
|
143
|
+
const file = this.vault.file();
|
|
144
|
+
if (file === undefined) {
|
|
145
|
+
return refuse("locked", NOT_SET_UP);
|
|
146
|
+
}
|
|
147
|
+
const origin = { kind: "git", url: gitOrigin(url) };
|
|
148
|
+
const match = entriesFor(this.#shown().map(candidateOf), origin, username).find((candidate) => username === undefined || candidate.username === undefined || candidate.username === username);
|
|
149
|
+
if (match === undefined) {
|
|
150
|
+
return { ok: true };
|
|
151
|
+
}
|
|
152
|
+
return action === "get" ? await this.#gitGet(match.name, origin) : await this.#gitErase(match.name);
|
|
153
|
+
}
|
|
154
|
+
async #gitGet(name, origin) {
|
|
155
|
+
const file = this.vault.file();
|
|
156
|
+
const shown = this.#shown().find((entry) => entry.name === name);
|
|
157
|
+
if (file === undefined || shown === undefined) {
|
|
158
|
+
return { ok: true };
|
|
159
|
+
}
|
|
160
|
+
const now = this.vault.deps.now();
|
|
161
|
+
const key = `git-credential:${normalMatcher(`git:${origin.kind === "git" ? origin.url : ""}`)}`;
|
|
162
|
+
const remembered = this.vault.held() !== undefined && rememberedFresh(this.#remembered.get(key), shown.askpassRememberMinutes, now);
|
|
163
|
+
const host = origin.kind === "git" ? hostOf(origin.url) : "";
|
|
164
|
+
const opened = await this.vault.open(file, { title: `Sign git in to ${host}?`, message: `git asks for its sign-in to ${host}. Passwords answers with ${titleOf(shown)}${shown.username === undefined ? "" : ` (${shown.username})`}.`, person: !remembered });
|
|
165
|
+
if ("ok" in opened) {
|
|
166
|
+
await this.vault.record({ op: "git-credential", outcome: "refused", code: opened.code, secret: name, target: host });
|
|
167
|
+
return opened;
|
|
168
|
+
}
|
|
169
|
+
const entry = opened.doc.entries[name];
|
|
170
|
+
const value = entry === undefined || entry.deleted === true ? refuse("unknown", `There is no password named ${name}.`) : await this.vault.valueOf(opened.doc, entry);
|
|
171
|
+
if (!value.ok) {
|
|
172
|
+
return value;
|
|
173
|
+
}
|
|
174
|
+
if (shown.askpassRememberMinutes > 0) {
|
|
175
|
+
this.#remembered.set(key, now);
|
|
176
|
+
}
|
|
177
|
+
await this.vault.record({ op: "git-credential", outcome: "granted", secret: name, target: host, asked: opened.asked });
|
|
178
|
+
const answer = { ok: true, value: value.value };
|
|
179
|
+
if (entry?.rules.username !== undefined) {
|
|
180
|
+
answer.username = entry.rules.username;
|
|
181
|
+
}
|
|
182
|
+
return answer;
|
|
183
|
+
}
|
|
184
|
+
async #gitErase(name) {
|
|
185
|
+
const held = this.vault.held();
|
|
186
|
+
const entry = held?.doc.entries[name];
|
|
187
|
+
if (held === undefined || entry === undefined) {
|
|
188
|
+
return { ok: true };
|
|
189
|
+
}
|
|
190
|
+
const now = this.vault.deps.now();
|
|
191
|
+
const revision = held.doc.revision + 1;
|
|
192
|
+
const [earlier, ...older] = entry.history ?? [];
|
|
193
|
+
const erased = entry.unverified !== true
|
|
194
|
+
? { ...entry, failed: true, updatedAt: now, revision }
|
|
195
|
+
: earlier === undefined
|
|
196
|
+
? { name, rules: entry.rules, source: entry.source, shares: [], createdAt: entry.createdAt, updatedAt: now, revision, deleted: true }
|
|
197
|
+
: { ...entry, value: earlier.value, history: older, updatedAt: now, revision, unverified: false };
|
|
198
|
+
await this.vault.commit({ doc: withEntry(held.doc, erased), key: held.key });
|
|
199
|
+
await this.vault.record({ op: "git-credential", outcome: "done", secret: name, target: "erase" });
|
|
200
|
+
return { ok: true };
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const programOf = (origin) => (origin.kind === "ssh" || origin.kind === "ssh-key" ? "ssh" : origin.kind === "sudo" ? "sudo" : origin.kind === "git" ? "git" : "A program");
|
|
204
|
+
//# sourceMappingURL=answer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"answer.js","sourceRoot":"","sources":["../../src/askpass/answer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { KeyringOrigin } from "@intentic/sandbox-contract/schemas/keyring";
|
|
1
2
|
export interface AskpassQuestion {
|
|
2
3
|
readonly wants: "secret" | "username";
|
|
3
4
|
readonly matchers: readonly string[];
|
|
@@ -6,4 +7,9 @@ export interface AskpassQuestion {
|
|
|
6
7
|
export declare const parseAskpassPrompt: (prompt: string) => AskpassQuestion;
|
|
7
8
|
export declare const normalMatcher: (matcher: string) => string;
|
|
8
9
|
export declare const askpassMatch: (question: AskpassQuestion, matchers: readonly string[]) => string | undefined;
|
|
10
|
+
export interface AskpassPlace {
|
|
11
|
+
readonly origin: KeyringOrigin;
|
|
12
|
+
readonly username?: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
export declare const askpassPlace: (question: AskpassQuestion, prompt: string) => AskpassPlace;
|
|
9
15
|
//# sourceMappingURL=askpass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"askpass.d.ts","sourceRoot":"","sources":["../../src/askpass/askpass.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"askpass.d.ts","sourceRoot":"","sources":["../../src/askpass/askpass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAOhF,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,CAAC;IAEtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAwBD,eAAO,MAAM,kBAAkB,WAAY,MAAM,KAAG,eA0BnD,CAAC;AAIF,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAc/C,CAAC;AAGF,eAAO,MAAM,YAAY,aAAc,eAAe,YAAY,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAS9F,CAAC;AAIF,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAaD,eAAO,MAAM,YAAY,aAAc,eAAe,UAAU,MAAM,KAAG,YAiBxE,CAAC"}
|
package/dist/askpass/askpass.js
CHANGED
|
@@ -67,4 +67,32 @@ export const askpassMatch = (question, matchers) => {
|
|
|
67
67
|
}
|
|
68
68
|
return undefined;
|
|
69
69
|
};
|
|
70
|
+
const gitUser = (prompt) => {
|
|
71
|
+
const url = /'(?<url>[^']+)'/u.exec(prompt)?.groups?.["url"];
|
|
72
|
+
try {
|
|
73
|
+
const user = url === undefined ? "" : decodeURIComponent(new URL(url).username);
|
|
74
|
+
return user === "" ? undefined : user;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
export const askpassPlace = (question, prompt) => {
|
|
81
|
+
const matcher = question.matchers[0] ?? `prompt:${question.prompt}`;
|
|
82
|
+
const colon = matcher.indexOf(":");
|
|
83
|
+
const kind = colon === -1 ? matcher : matcher.slice(0, colon);
|
|
84
|
+
const rest = colon === -1 ? "" : matcher.slice(colon + 1);
|
|
85
|
+
switch (kind) {
|
|
86
|
+
case "ssh":
|
|
87
|
+
return { origin: { kind: "ssh", target: rest }, username: rest.split("@")[0] };
|
|
88
|
+
case "ssh-key":
|
|
89
|
+
return { origin: { kind: "ssh-key", path: rest } };
|
|
90
|
+
case "sudo":
|
|
91
|
+
return rest === "" ? { origin: { kind: "sudo" } } : { origin: { kind: "sudo", user: rest }, username: rest };
|
|
92
|
+
case "git":
|
|
93
|
+
return { origin: { kind: "git", url: rest }, username: gitUser(prompt) };
|
|
94
|
+
default:
|
|
95
|
+
return { origin: { kind: "prompt", text: (question.prompt === "" ? "Password:" : question.prompt).slice(0, 300) } };
|
|
96
|
+
}
|
|
97
|
+
};
|
|
70
98
|
//# sourceMappingURL=askpass.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"askpass.js","sourceRoot":"","sources":["../../src/askpass/askpass.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"askpass.js","sourceRoot":"","sources":["../../src/askpass/askpass.ts"],"names":[],"mappings":"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"}
|
package/dist/audit.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export interface AuditRecord {
|
|
2
2
|
readonly op: string;
|
|
3
|
-
readonly outcome: "granted" | "refused" | "done" | "pending";
|
|
3
|
+
readonly outcome: "granted" | "refused" | "done" | "pending" | "saved" | "updated" | "unchanged" | "skipped";
|
|
4
4
|
readonly code?: string | undefined;
|
|
5
5
|
readonly secret?: string | undefined;
|
|
6
6
|
readonly sandbox?: string | undefined;
|
|
@@ -12,7 +12,10 @@ export interface AuditRecord {
|
|
|
12
12
|
readonly conversation?: string | undefined;
|
|
13
13
|
readonly reason?: string | undefined;
|
|
14
14
|
}
|
|
15
|
-
export
|
|
15
|
+
export interface Audit {
|
|
16
|
+
(record: AuditRecord): Promise<void>;
|
|
17
|
+
readonly lines?: () => Promise<readonly string[]>;
|
|
18
|
+
}
|
|
16
19
|
export declare const fileAudit: (path: string, dir: string, now?: () => number) => Audit;
|
|
17
20
|
export declare const noAudit: Audit;
|
|
18
21
|
//# sourceMappingURL=audit.d.ts.map
|
package/dist/audit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAGpB,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC7G,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,KAAK;IAClB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CACrD;AAED,eAAO,MAAM,SAAS,SAAU,MAAM,OAAO,MAAM,QAAO,MAAM,MAAM,KAAc,KAqBnF,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,KAA+B,CAAC"}
|
package/dist/audit.js
CHANGED
|
@@ -1,14 +1,27 @@
|
|
|
1
|
-
import { appendFile, chmod, mkdir } from "node:fs/promises";
|
|
1
|
+
import { appendFile, chmod, mkdir, readFile } from "node:fs/promises";
|
|
2
|
+
import { isMissing } from "@intentic/base/errors";
|
|
2
3
|
import { serialLock } from "@intentic/base/async";
|
|
3
4
|
import { rotateIfLarge } from "@intentic/local-agent";
|
|
4
5
|
export const fileAudit = (path, dir, now = Date.now) => {
|
|
5
6
|
const queue = serialLock();
|
|
6
|
-
|
|
7
|
+
const write = async (record) => await queue(async () => {
|
|
7
8
|
await mkdir(dir, { recursive: true, mode: 0o700 });
|
|
8
9
|
await rotateIfLarge(path);
|
|
9
10
|
await appendFile(path, `${JSON.stringify({ at: new Date(now()).toISOString(), ...record })}\n`, { mode: 0o600 });
|
|
10
11
|
await chmod(path, 0o600);
|
|
11
12
|
});
|
|
13
|
+
const lines = async () => {
|
|
14
|
+
try {
|
|
15
|
+
return (await readFile(path, "utf8")).split("\n").filter((line) => line.trim() !== "");
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
if (isMissing(error)) {
|
|
19
|
+
return [];
|
|
20
|
+
}
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
return Object.assign(write, { lines });
|
|
12
25
|
};
|
|
13
26
|
export const noAudit = () => Promise.resolve();
|
|
14
27
|
//# sourceMappingURL=audit.js.map
|
package/dist/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AA+BtD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,GAAG,GAAiB,IAAI,CAAC,GAAG,EAAS,EAAE;IACxF,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,KAAK,EAAE,MAAmB,EAAiB,EAAE,CACvD,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAEjH,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACP,MAAM,KAAK,GAAG,KAAK,IAAgC,EAAE;QACjD,IAAI,CAAC;YACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,OAAO,GAAU,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ChoiceNotice, ChoicePrompt, PassphrasePrompt, ValueAnswer, ValueNotice, ValuePrompt } from "./consent.js";
|
|
2
2
|
import type { Runner } from "../run.js";
|
|
3
3
|
export declare const linuxPassphrasePrompt: (runner: Runner, env?: NodeJS.ProcessEnv) => PassphrasePrompt;
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
4
|
+
export declare const zenityValueArgs: (notice: ValueNotice) => readonly string[];
|
|
5
|
+
export declare const zenityValueAnswer: (stdout: string, notice: ValueNotice) => ValueAnswer;
|
|
6
|
+
export declare const linuxValuePrompt: (runner: Runner, env?: NodeJS.ProcessEnv) => ValuePrompt;
|
|
7
|
+
export declare const zenityChoiceArgs: (notice: ChoiceNotice) => readonly string[];
|
|
8
|
+
export declare const chosenId: (notice: ChoiceNotice, answered: string) => string | undefined;
|
|
9
|
+
export declare const linuxChoicePrompt: (runner: Runner, env?: NodeJS.ProcessEnv) => ChoicePrompt;
|
|
6
10
|
//# sourceMappingURL=consent-posix.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-posix.d.ts","sourceRoot":"","sources":["../../src/consent/consent-posix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"consent-posix.d.ts","sourceRoot":"","sources":["../../src/consent/consent-posix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAU,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChI,OAAO,KAAK,EAAa,MAAM,EAAE,MAAM,WAAW,CAAC;AAuCnD,eAAO,MAAM,qBAAqB,WACrB,MAAM,QAAO,MAAM,CAAC,UAAU,KAAiB,gBAwBvD,CAAC;AAYN,eAAO,MAAM,eAAe,WAAY,WAAW,KAAG,SAAS,MAAM,EAcpE,CAAC;AAGF,eAAO,MAAM,iBAAiB,WAAY,MAAM,UAAU,WAAW,KAAG,WAUvE,CAAC;AAgBF,eAAO,MAAM,gBAAgB,WAChB,MAAM,QAAO,MAAM,CAAC,UAAU,KAAiB,WAavD,CAAC;AAKN,eAAO,MAAM,gBAAgB,WAAY,YAAY,KAAG,SAAS,MAAM,EAUtE,CAAC;AAGF,eAAO,MAAM,QAAQ,WAAY,YAAY,YAAY,MAAM,KAAG,MAAM,GAAG,SAAkG,CAAC;AAE9K,eAAO,MAAM,iBAAiB,WACjB,MAAM,QAAO,MAAM,CAAC,UAAU,KAAiB,YAqBvD,CAAC"}
|
|
@@ -38,20 +38,90 @@ export const linuxPassphrasePrompt = (runner, env = process.env) => async (notic
|
|
|
38
38
|
reason: `${tried.join(", ")}${graphical ? "" : ", and no display to show a dialog on"}: install zenity or kdialog, or unlock from a desktop session`,
|
|
39
39
|
};
|
|
40
40
|
};
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
const FIELD_SEPARATOR = "\u001f";
|
|
42
|
+
const rememberWords = (remember) => (remember ? "Yes|No" : "No|Yes");
|
|
43
|
+
export const zenityValueArgs = (notice) => {
|
|
44
|
+
const known = notice.username?.value;
|
|
45
|
+
const text = known === undefined ? notice.message : `${notice.message}\n\nUser name: ${known}`;
|
|
46
|
+
return [
|
|
47
|
+
"--forms",
|
|
48
|
+
`--title=${notice.title}`,
|
|
49
|
+
`--text=${markupText(text)}`,
|
|
50
|
+
`--separator=${FIELD_SEPARATOR}`,
|
|
51
|
+
...(notice.username !== undefined && known === undefined ? ["--add-entry=User name"] : []),
|
|
52
|
+
"--add-password=Password",
|
|
53
|
+
"--add-combo=Remember it in Passwords",
|
|
54
|
+
`--combo-values=${rememberWords(notice.remember)}`,
|
|
55
|
+
`--timeout=${String(PROMPT_SECONDS)}`,
|
|
56
|
+
];
|
|
57
|
+
};
|
|
58
|
+
export const zenityValueAnswer = (stdout, notice) => {
|
|
59
|
+
const fields = stdout.replace(/\r?\n$/u, "").split(FIELD_SEPARATOR);
|
|
60
|
+
const asksName = notice.username !== undefined && notice.username.value === undefined;
|
|
61
|
+
const [name, value, remember] = asksName ? fields : [notice.username?.value, ...fields];
|
|
62
|
+
if (value === undefined || value === "") {
|
|
63
|
+
return { kind: "cancelled" };
|
|
64
|
+
}
|
|
65
|
+
const kept = remember === "Yes" ? true : remember === "No" ? false : notice.remember;
|
|
66
|
+
return name === undefined || name === "" ? { kind: "answered", value, remember: kept } : { kind: "answered", value, remember: kept, username: name };
|
|
67
|
+
};
|
|
68
|
+
const kdialogValue = async (runner, notice) => {
|
|
69
|
+
const asked = await runner({ command: "kdialog", args: ["--title", notice.title, "--password", notice.message], timeoutMs: PROMPT_TIMEOUT_MS });
|
|
70
|
+
if (asked.missing) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
if (asked.exitCode !== 0 || asked.timedOut || typed(asked) === "") {
|
|
74
|
+
return { kind: "cancelled" };
|
|
75
|
+
}
|
|
76
|
+
const keep = await runner({ command: "kdialog", args: ["--title", notice.title, "--yesno", "Remember it in Passwords?"], timeoutMs: PROMPT_TIMEOUT_MS });
|
|
77
|
+
const remember = keep.exitCode === 0 ? true : keep.exitCode === 1 ? false : notice.remember;
|
|
78
|
+
const username = notice.username?.value;
|
|
79
|
+
return username === undefined ? { kind: "answered", value: typed(asked), remember } : { kind: "answered", value: typed(asked), remember, username };
|
|
80
|
+
};
|
|
81
|
+
export const linuxValuePrompt = (runner, env = process.env) => async (notice) => {
|
|
82
|
+
if ((env["DISPLAY"] ?? "") === "" && (env["WAYLAND_DISPLAY"] ?? "") === "") {
|
|
83
|
+
return { kind: "unavailable", reason: "there is no display to show Passwords' box on" };
|
|
84
|
+
}
|
|
85
|
+
const answer = await runner({ command: "zenity", args: zenityValueArgs(notice), timeoutMs: PROMPT_TIMEOUT_MS });
|
|
86
|
+
if (!answer.missing) {
|
|
87
|
+
if (answer.exitCode === 0 && !answer.timedOut) {
|
|
88
|
+
return zenityValueAnswer(answer.stdout, notice);
|
|
89
|
+
}
|
|
90
|
+
return answer.exitCode === 1 || answer.exitCode === 5 ? { kind: "cancelled" } : { kind: "unavailable", reason: `zenity could not ask (exit ${String(answer.exitCode ?? "none")})` };
|
|
91
|
+
}
|
|
92
|
+
return (await kdialogValue(runner, notice)) ?? { kind: "unavailable", reason: "neither zenity nor kdialog is installed" };
|
|
93
|
+
};
|
|
94
|
+
export const zenityChoiceArgs = (notice) => [
|
|
95
|
+
"--list",
|
|
96
|
+
"--radiolist",
|
|
97
|
+
`--title=${notice.title}`,
|
|
98
|
+
`--text=${markupText(notice.message)}`,
|
|
99
|
+
"--column=",
|
|
100
|
+
"--column=Answer",
|
|
101
|
+
"--hide-header",
|
|
102
|
+
...notice.choices.flatMap((choice, at) => [at === 0 ? "TRUE" : "FALSE", choice.label]),
|
|
103
|
+
`--timeout=${String(PROMPT_SECONDS)}`,
|
|
104
|
+
];
|
|
105
|
+
export const chosenId = (notice, answered) => notice.choices.find((choice) => choice.label === answered.replace(/\r?\n$/u, ""))?.id;
|
|
106
|
+
export const linuxChoicePrompt = (runner, env = process.env) => async (notice) => {
|
|
107
|
+
if ((env["DISPLAY"] ?? "") === "" && (env["WAYLAND_DISPLAY"] ?? "") === "") {
|
|
108
|
+
return { kind: "unavailable", reason: "there is no display to show Passwords' choice on" };
|
|
109
|
+
}
|
|
110
|
+
const zenity = await runner({ command: "zenity", args: zenityChoiceArgs(notice), timeoutMs: PROMPT_TIMEOUT_MS });
|
|
111
|
+
const answer = zenity.missing
|
|
112
|
+
? await runner({
|
|
113
|
+
command: "kdialog",
|
|
114
|
+
args: ["--title", notice.title, "--radiolist", notice.message, ...notice.choices.flatMap((choice, at) => [choice.label, choice.label, at === 0 ? "on" : "off"])],
|
|
115
|
+
timeoutMs: PROMPT_TIMEOUT_MS,
|
|
116
|
+
})
|
|
117
|
+
: zenity;
|
|
49
118
|
if (answer.missing) {
|
|
50
|
-
return { kind: "unavailable", reason: "
|
|
119
|
+
return { kind: "unavailable", reason: "neither zenity nor kdialog is installed" };
|
|
51
120
|
}
|
|
52
|
-
if (answer.exitCode
|
|
53
|
-
return { kind: "
|
|
121
|
+
if (answer.exitCode !== 0 || answer.timedOut) {
|
|
122
|
+
return { kind: "cancelled" };
|
|
54
123
|
}
|
|
55
|
-
|
|
124
|
+
const id = chosenId(notice, answer.stdout);
|
|
125
|
+
return id === undefined ? { kind: "cancelled" } : { kind: "chosen", id };
|
|
56
126
|
};
|
|
57
127
|
//# sourceMappingURL=consent-posix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-posix.js","sourceRoot":"","sources":["../../src/consent/consent-posix.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"consent-posix.js","sourceRoot":"","sources":["../../src/consent/consent-posix.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type { HelloDriver, PassphrasePrompt } from "./consent.js";
|
|
1
|
+
import type { ChoicePrompt, HelloDriver, PassphrasePrompt, ValuePrompt } from "./consent.js";
|
|
2
2
|
import type { Runner } from "../run.js";
|
|
3
3
|
export declare const windowsHello: (runner: Runner, now?: () => number) => HelloDriver;
|
|
4
4
|
export declare const windowsPassphrasePrompt: (runner: Runner) => PassphrasePrompt;
|
|
5
|
+
export declare const windowsValuePrompt: (runner: Runner) => ValuePrompt;
|
|
6
|
+
export declare const windowsChoicePrompt: (runner: Runner) => ChoicePrompt;
|
|
5
7
|
//# sourceMappingURL=consent-windows.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-windows.d.ts","sourceRoot":"","sources":["../../src/consent/consent-windows.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"consent-windows.d.ts","sourceRoot":"","sources":["../../src/consent/consent-windows.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAe,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAiSxC,eAAO,MAAM,YAAY,WAAY,MAAM,QAAO,MAAM,MAAM,KAAc,WAyC3E,CAAC;AAEF,eAAO,MAAM,uBAAuB,WACvB,MAAM,KAAG,gBAejB,CAAC;AAMN,eAAO,MAAM,kBAAkB,WAClB,MAAM,KAAG,WAuBjB,CAAC;AAGN,eAAO,MAAM,mBAAmB,WACnB,MAAM,KAAG,YAYjB,CAAC"}
|