@intentic/keyring 1.344.0 → 1.346.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
package/dist/vault.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
|
package/dist/vault.js
CHANGED
|
@@ -2,9 +2,9 @@ import { createCipheriv, createDecipheriv, hkdfSync, randomBytes, scrypt, timing
|
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { isMissing } from "@intentic/base/errors";
|
|
4
4
|
import { writeSecretFile } from "@intentic/local-agent";
|
|
5
|
-
import { KEYRING_KEY_RE, KeyringInboxItemSchema, KeyringPublicKeySchema, KeyringSecretNameSchema, KeyringSourceSchema, KeyringSyncItemSchema, KeyringSyncPeerSchema, SealedBoxSchema, } from "@intentic/sandbox-contract/schemas/keyring";
|
|
5
|
+
import { KEYRING_KEY_RE, KeyringCaptureItemSchema, KeyringInboxItemSchema, KeyringPendingNeedSchema, KeyringPhoneKeysSchema, KeyringPublicKeySchema, KeyringSecretNameSchema, KeyringSourceSchema, KeyringSyncItemSchema, KeyringSyncPeerSchema, SealedBoxSchema, } from "@intentic/sandbox-contract/schemas/keyring";
|
|
6
6
|
import { z } from "zod";
|
|
7
|
-
import { BackendConfigSchema, BackendRefSchema, EntryInfoSchema, EntryRulesSchema, ShareInfoSchema } from "./protocol.js";
|
|
7
|
+
import { BackendConfigSchema, BackendRefSchema, CapturedInfoSchema, EntryInfoSchema, EntryRulesSchema, KeyringSettingsSchema, ShareInfoSchema } from "./protocol.js";
|
|
8
8
|
const VAULT_AAD = Buffer.from("intentic-keyring/vault/v1", "utf8");
|
|
9
9
|
const HELLO_INFO = Buffer.from("intentic-keyring/hello/v1", "utf8");
|
|
10
10
|
const wrapAad = (method) => Buffer.from(`intentic-keyring/wrap/v1/${method}`, "utf8");
|
|
@@ -36,6 +36,8 @@ const DpapiWrapSchema = z
|
|
|
36
36
|
export const WrapSchema = z.discriminatedUnion("method", [PassphraseWrapSchema, HelloWrapSchema, DpapiWrapSchema]);
|
|
37
37
|
export const KeyPairSchema = z.object({ publicKey: z.string().regex(KEYRING_KEY_RE), privateKey: z.string().regex(KEYRING_KEY_RE) }).strict();
|
|
38
38
|
export const SandboxPinSchema = z.object({ sign: KeyringPublicKeySchema, seal: KeyringPublicKeySchema, fetchedAt: z.number() }).strict();
|
|
39
|
+
export const HistoryItemSchema = z.object({ value: z.string(), at: z.number(), captured: CapturedInfoSchema.optional() }).strict();
|
|
40
|
+
export const HISTORY_MAX = 5;
|
|
39
41
|
export const StoredEntrySchema = z
|
|
40
42
|
.object({
|
|
41
43
|
name: KeyringSecretNameSchema,
|
|
@@ -48,8 +50,17 @@ export const StoredEntrySchema = z
|
|
|
48
50
|
updatedAt: z.number(),
|
|
49
51
|
revision: z.number().int().nonnegative(),
|
|
50
52
|
deleted: z.boolean().optional(),
|
|
53
|
+
captured: CapturedInfoSchema.optional(),
|
|
54
|
+
fresh: z.boolean().optional(),
|
|
55
|
+
unverified: z.boolean().optional(),
|
|
56
|
+
failed: z.boolean().optional(),
|
|
57
|
+
lastUsedAt: z.number().optional(),
|
|
58
|
+
history: z.array(HistoryItemSchema).max(HISTORY_MAX).optional(),
|
|
51
59
|
})
|
|
52
60
|
.strict();
|
|
61
|
+
export const UndoRecordSchema = z.object({ name: KeyringSecretNameSchema, at: z.number(), doneAt: z.number(), before: StoredEntrySchema.optional() }).strict();
|
|
62
|
+
export const UNDO_MAX = 50;
|
|
63
|
+
export const PhonePinSchema = z.object({ keys: KeyringPhoneKeysSchema, sandbox: z.string(), pairedAt: z.number() }).strict();
|
|
53
64
|
export const VaultDocumentSchema = z
|
|
54
65
|
.object({
|
|
55
66
|
v: z.literal(1),
|
|
@@ -61,12 +72,18 @@ export const VaultDocumentSchema = z
|
|
|
61
72
|
backends: z.array(BackendConfigSchema),
|
|
62
73
|
pins: z.record(z.string(), SandboxPinSchema),
|
|
63
74
|
syncSent: z.record(KeyringPublicKeySchema, z.number().int().min(-1)).optional(),
|
|
75
|
+
settings: KeyringSettingsSchema.optional(),
|
|
76
|
+
undo: z.array(UndoRecordSchema).max(UNDO_MAX).optional(),
|
|
77
|
+
phones: z.record(z.string(), PhonePinSchema).optional(),
|
|
64
78
|
})
|
|
65
79
|
.strict();
|
|
66
80
|
const CopySchema = z.object({ name: KeyringSecretNameSchema, sealed: SealedBoxSchema, updatedAt: z.number() }).strict();
|
|
67
81
|
export const PendingInboxSchema = z.object({ item: KeyringInboxItemSchema, receivedAt: z.number() }).strict();
|
|
68
82
|
export const PENDING_INBOX_MAX = 32;
|
|
69
83
|
export const PENDING_SYNC_MAX = 128;
|
|
84
|
+
export const PendingCaptureSchema = z.object({ item: KeyringCaptureItemSchema, receivedAt: z.number(), sandbox: z.string().optional(), deliberate: z.boolean().optional() }).strict();
|
|
85
|
+
export const PENDING_CAPTURES_MAX = 500;
|
|
86
|
+
export const PENDING_NEEDS_MAX = 100;
|
|
70
87
|
export const OpenPartSchema = z
|
|
71
88
|
.object({
|
|
72
89
|
entries: z.array(EntryInfoSchema),
|
|
@@ -76,6 +93,11 @@ export const OpenPartSchema = z
|
|
|
76
93
|
copies: z.record(z.string(), z.array(CopySchema)),
|
|
77
94
|
pendingInbox: z.array(PendingInboxSchema).max(PENDING_INBOX_MAX),
|
|
78
95
|
pendingSync: z.array(KeyringSyncItemSchema).max(PENDING_SYNC_MAX),
|
|
96
|
+
settings: KeyringSettingsSchema.optional(),
|
|
97
|
+
pendingCaptures: z.array(PendingCaptureSchema).max(PENDING_CAPTURES_MAX).optional(),
|
|
98
|
+
pendingNeeds: z.array(KeyringPendingNeedSchema).max(PENDING_NEEDS_MAX).optional(),
|
|
99
|
+
pendingSeen: z.array(KeyringSecretNameSchema).max(5000).optional(),
|
|
100
|
+
phones: z.array(z.object({ device: z.string(), label: z.string(), pairedAt: z.number() }).strict()).optional(),
|
|
79
101
|
})
|
|
80
102
|
.strict();
|
|
81
103
|
export const VaultFileSchema = z
|
package/dist/vault.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACH,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,GAClB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAc1H,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;AACnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;AACpE,MAAM,OAAO,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;AAItG,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAW,CAAC;AAO/D,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5F,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAGlC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC;AAEzC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACnD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAGzE,MAAM,oBAAoB,GAAG,SAAS,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC/B,IAAI,EAAE,IAAI;IACV,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;CACrC,CAAC,CAAC,MAAM,EAAE,CAAC;AACZ,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAE1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC,SAAS,EAAE,IAAI;IAEf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CACzE,CAAC,CAAC,MAAM,EAAE,CAAC;AACZ,MAAM,eAAe,GAAG,CAAC;KACpB,MAAM,CAAC;IACJ,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAE1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;CACzD,CAAC;KACD,MAAM,EAAE,CAAC;AACd,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,oBAAoB,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;AAInH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAG9I,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAGzI,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACJ,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAEpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IAErB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAExC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC;KACD,MAAM,EAAE,CAAC;AAGd,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACJ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAEf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;IAC7D,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC;IAE5C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAClF,CAAC;KACD,MAAM,EAAE,CAAC;AAGd,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAGxH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAI9G,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC1B,MAAM,CAAC;IACJ,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAClE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;CACpE,CAAC;KACD,MAAM,EAAE,CAAC;AAGd,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC3B,MAAM,CAAC;IACJ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,cAAc;CACvB,CAAC;KACD,MAAM,EAAE,CAAC;AAGd,MAAM,OAAO,UAAW,SAAQ,KAAK;IACjC,YAAY,OAAe,EAAE,OAAsB;QAC/C,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC7B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;AAEtE,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,SAAiB,EAAE,GAAW,EAAO,EAAE;IACjE,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;AAC9H,CAAC,CAAC;AAGF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,GAAQ,EAAE,GAAW,EAAsB,EAAE;IACvE,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;QACxF,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;IAAC,MAAM,CAAC;QAEL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,QAAuB,EAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAE7K,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,GAAQ,EAAiB,EAAE;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAAC,4FAA4F,CAAC,CAAC;IACvH,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,UAAU,CAAC,2FAA2F,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,EAAE,UAAkB,EAAE,IAAY,EAAE,IAAgB,EAAmB,EAAE,CACvG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAClC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAE3I,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAC5D,CAAC;AACN,CAAC,CAAC,CAAC;AAEP,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAAgB,EAAE,UAAkB,EAAE,IAAI,GAAe,WAAW,EAAiB,EAAE;IAC5H,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;AAC7J,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAsB,EAAE,UAAkB,EAA+B,EAAE;IAC9G,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAE/B,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;YAClG,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YAC1D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAU,EAAE,CACzE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;AASjH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,SAAyB,EAAQ,EAAE;IAC/E,MAAM,IAAI,GAAc;QACpB,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;KACjG,CAAC;IACF,OAAO,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;AAClG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAsB,EAAyB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAqB,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;AAE/I,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAe,EAAE,SAAiB,EAAsB,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAGhK,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,aAAa,GAAG,GAAa,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;AAIpJ,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAAkC,EAAE;IAChF,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACD,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;IACD,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,mFAAmF,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACvI,CAAC;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,kIAAkI,CAAC,CAAC;IACpK,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,IAAY,EAAE,GAAW,EAAE,IAAe,EAAiB,EAAE;IAC9F,MAAM,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Runner } from "../run.js";
|
|
2
|
+
import { type AskKeyring, type WatchEvent } from "./chip.js";
|
|
3
|
+
import { type SpawnLines } from "./lines-child.js";
|
|
4
|
+
export interface AppsWatch {
|
|
5
|
+
readonly start: () => void;
|
|
6
|
+
readonly stop: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const watchEventOf: (line: string) => WatchEvent | undefined;
|
|
9
|
+
export declare const appsWatchFor: (_runner: Runner, ask: AskKeyring, log: (message: string) => void, platform?: NodeJS.Platform, spawn?: SpawnLines) => AppsWatch | undefined;
|
|
10
|
+
//# sourceMappingURL=apps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/watch/apps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,KAAK,UAAU,EAAsE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACjI,OAAO,EAAkB,KAAK,UAAU,EAAc,MAAM,kBAAkB,CAAC;AAS/E,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAC7B;AAMD,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,UAAU,GAAG,SAYxD,CAAC;AA8CF,eAAO,MAAM,YAAY,YACZ,MAAM,OACV,UAAU,OACV,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,aACpB,MAAM,CAAC,QAAQ,UAClB,UAAU,KAClB,SAAS,GAAG,SAyCd,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { ANSWER_MARK } from "../powershell.js";
|
|
2
|
+
import { ChipController, WatchEventSchema } from "./chip.js";
|
|
3
|
+
import { spawnLines } from "./lines-child.js";
|
|
4
|
+
import { LINUX_CHIP_ACTION, LINUX_WATCH_COMMAND, linuxChipArgs, linuxWatchArgs } from "./watch-linux.js";
|
|
5
|
+
import { HIDE_COMMAND, showCommand, WINDOWS_WATCH_COMMAND, windowsWatchArgs } from "./watch-windows.js";
|
|
6
|
+
const CANNOT_WATCH_HERE = 3;
|
|
7
|
+
export const watchEventOf = (line) => {
|
|
8
|
+
const at = line.indexOf(ANSWER_MARK);
|
|
9
|
+
if (at === -1) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
const parsed = WatchEventSchema.safeParse(JSON.parse(line.slice(at + ANSWER_MARK.length)));
|
|
14
|
+
return parsed.success ? parsed.data : undefined;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const windowsSurface = (watcher) => ({
|
|
21
|
+
show: (label, at) => watcher.write(showCommand(label, at)),
|
|
22
|
+
hide: () => watcher.write(HIDE_COMMAND),
|
|
23
|
+
});
|
|
24
|
+
const linuxSurface = (_watcher, spawn, onClick) => {
|
|
25
|
+
let shown;
|
|
26
|
+
return {
|
|
27
|
+
show: (label, at) => {
|
|
28
|
+
shown?.stop();
|
|
29
|
+
const notice = spawn("notify-send", linuxChipArgs(label, at));
|
|
30
|
+
notice.onLine((line) => {
|
|
31
|
+
if (line.trim() === LINUX_CHIP_ACTION) {
|
|
32
|
+
onClick();
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
shown = notice;
|
|
36
|
+
},
|
|
37
|
+
hide: () => {
|
|
38
|
+
shown?.stop();
|
|
39
|
+
shown = undefined;
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
const platformOf = (platform) => {
|
|
44
|
+
switch (platform) {
|
|
45
|
+
case "win32":
|
|
46
|
+
return { command: WINDOWS_WATCH_COMMAND, args: windowsWatchArgs(), surface: windowsSurface };
|
|
47
|
+
case "linux":
|
|
48
|
+
return { command: LINUX_WATCH_COMMAND, args: linuxWatchArgs(), surface: linuxSurface };
|
|
49
|
+
default:
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
export const appsWatchFor = (_runner, ask, log, platform = process.platform, spawn = spawnLines) => {
|
|
54
|
+
const chosen = platformOf(platform);
|
|
55
|
+
if (chosen === undefined) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
let running;
|
|
59
|
+
let never = false;
|
|
60
|
+
return {
|
|
61
|
+
start: () => {
|
|
62
|
+
if (running !== undefined || never) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const watcher = spawn(chosen.command, chosen.args);
|
|
66
|
+
running = watcher;
|
|
67
|
+
const controller = new ChipController({ ask, surface: chosen.surface(watcher, spawn, () => void controller.onClick()), log });
|
|
68
|
+
watcher.onLine((line) => {
|
|
69
|
+
const event = watchEventOf(line);
|
|
70
|
+
if (event !== undefined) {
|
|
71
|
+
void controller.onEvent(event);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
watcher.onExit((code) => {
|
|
75
|
+
if (running === watcher) {
|
|
76
|
+
running = undefined;
|
|
77
|
+
}
|
|
78
|
+
if (code === CANNOT_WATCH_HERE) {
|
|
79
|
+
never = true;
|
|
80
|
+
log("the chip stays off: python3 has no AT-SPI bindings (python3-gi with the Atspi typelib)");
|
|
81
|
+
}
|
|
82
|
+
else if (code !== null && code !== 0) {
|
|
83
|
+
log(`the focus watcher stopped (exit ${String(code)}); it starts again within a minute`);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
log("watching for password fields, to offer the chip");
|
|
87
|
+
},
|
|
88
|
+
stop: () => {
|
|
89
|
+
const watcher = running;
|
|
90
|
+
running = undefined;
|
|
91
|
+
watcher?.stop();
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=apps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/watch/apps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { KeyringOp, KeyringRequest, KeyringResponse } from "../protocol.js";
|
|
3
|
+
export declare const CHIP_SECONDS = 8;
|
|
4
|
+
export declare const FILL_LABEL = "Fill with Intentic";
|
|
5
|
+
export declare const SAVE_LABEL = "Save with Intentic";
|
|
6
|
+
export declare const FocusEventSchema: z.ZodObject<{
|
|
7
|
+
event: z.ZodLiteral<"focus">;
|
|
8
|
+
password: z.ZodBoolean;
|
|
9
|
+
path: z.ZodString;
|
|
10
|
+
x: z.ZodNumber;
|
|
11
|
+
y: z.ZodNumber;
|
|
12
|
+
width: z.ZodNumber;
|
|
13
|
+
height: z.ZodNumber;
|
|
14
|
+
}, z.core.$strict>;
|
|
15
|
+
export type FocusEvent = z.infer<typeof FocusEventSchema>;
|
|
16
|
+
export declare const WatchEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
17
|
+
event: z.ZodLiteral<"focus">;
|
|
18
|
+
password: z.ZodBoolean;
|
|
19
|
+
path: z.ZodString;
|
|
20
|
+
x: z.ZodNumber;
|
|
21
|
+
y: z.ZodNumber;
|
|
22
|
+
width: z.ZodNumber;
|
|
23
|
+
height: z.ZodNumber;
|
|
24
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
25
|
+
event: z.ZodLiteral<"click">;
|
|
26
|
+
}, z.core.$strict>], "event">;
|
|
27
|
+
export type WatchEvent = z.infer<typeof WatchEventSchema>;
|
|
28
|
+
export interface ChipPlace {
|
|
29
|
+
readonly x: number;
|
|
30
|
+
readonly y: number;
|
|
31
|
+
}
|
|
32
|
+
export interface ChipSurface {
|
|
33
|
+
readonly show: (label: string, at: ChipPlace) => void;
|
|
34
|
+
readonly hide: () => void;
|
|
35
|
+
}
|
|
36
|
+
export type AskKeyring = (request: KeyringRequest) => Promise<KeyringResponse<KeyringOp> | undefined>;
|
|
37
|
+
export interface ChipDeps {
|
|
38
|
+
readonly ask: AskKeyring;
|
|
39
|
+
readonly surface: ChipSurface;
|
|
40
|
+
readonly log: (message: string) => void;
|
|
41
|
+
readonly after?: (ms: number, run: () => void) => () => void;
|
|
42
|
+
}
|
|
43
|
+
export declare const programOf: (path: string) => string;
|
|
44
|
+
export declare class ChipController {
|
|
45
|
+
#private;
|
|
46
|
+
constructor(deps: ChipDeps);
|
|
47
|
+
get shown(): boolean;
|
|
48
|
+
onEvent(event: WatchEvent): Promise<void>;
|
|
49
|
+
onFocus(event: FocusEvent): Promise<void>;
|
|
50
|
+
onClick(): Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=chip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../src/watch/chip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAUjF,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,UAAU,uBAAuB,CAAC;AAC/C,eAAO,MAAM,UAAU,uBAAuB,CAAC;AAG/C,eAAO,MAAM,gBAAgB;;;;;;;;kBAWhB,CAAC;AACd,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,gBAAgB;;;;;;;;;;6BAAsG,CAAC;AACpI,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;AAEtG,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CAChE;AAQD,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,MAA4C,CAAC;AAItF,qBAAa,cAAc;;IAOvB,YAAY,IAAI,EAAE,QAAQ,EAEzB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAWK,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9C;IAEK,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9C;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ7B;CACJ"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const CHIP_SECONDS = 8;
|
|
3
|
+
export const FILL_LABEL = "Fill with Intentic";
|
|
4
|
+
export const SAVE_LABEL = "Save with Intentic";
|
|
5
|
+
export const FocusEventSchema = z
|
|
6
|
+
.object({
|
|
7
|
+
event: z.literal("focus"),
|
|
8
|
+
password: z.boolean(),
|
|
9
|
+
path: z.string().max(1000),
|
|
10
|
+
x: z.number(),
|
|
11
|
+
y: z.number(),
|
|
12
|
+
width: z.number(),
|
|
13
|
+
height: z.number(),
|
|
14
|
+
})
|
|
15
|
+
.strict();
|
|
16
|
+
export const WatchEventSchema = z.discriminatedUnion("event", [FocusEventSchema, z.object({ event: z.literal("click") }).strict()]);
|
|
17
|
+
const realAfter = (ms, run) => {
|
|
18
|
+
const timer = setTimeout(run, ms);
|
|
19
|
+
return () => clearTimeout(timer);
|
|
20
|
+
};
|
|
21
|
+
export const programOf = (path) => path.split(/[\\/]/u).pop() ?? path;
|
|
22
|
+
const CandidatesSchema = z.object({ ok: z.literal(true), matches: z.array(z.unknown()) });
|
|
23
|
+
export class ChipController {
|
|
24
|
+
#deps;
|
|
25
|
+
#cancel;
|
|
26
|
+
#turn = 0;
|
|
27
|
+
#shown = false;
|
|
28
|
+
constructor(deps) {
|
|
29
|
+
this.#deps = deps;
|
|
30
|
+
}
|
|
31
|
+
get shown() {
|
|
32
|
+
return this.#shown;
|
|
33
|
+
}
|
|
34
|
+
#hide() {
|
|
35
|
+
this.#cancel?.();
|
|
36
|
+
this.#cancel = undefined;
|
|
37
|
+
if (this.#shown) {
|
|
38
|
+
this.#shown = false;
|
|
39
|
+
this.#deps.surface.hide();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async onEvent(event) {
|
|
43
|
+
if (event.event === "click") {
|
|
44
|
+
await this.onClick();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
await this.onFocus(event);
|
|
48
|
+
}
|
|
49
|
+
async onFocus(event) {
|
|
50
|
+
const turn = ++this.#turn;
|
|
51
|
+
this.#hide();
|
|
52
|
+
if (!event.password) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const program = programOf(event.path);
|
|
56
|
+
const answer = await this.#deps.ask({ op: "candidates", origin: { kind: "program", program } });
|
|
57
|
+
if (turn !== this.#turn) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const matches = CandidatesSchema.safeParse(answer);
|
|
61
|
+
const label = matches.success && matches.data.matches.length > 0 ? FILL_LABEL : SAVE_LABEL;
|
|
62
|
+
this.#shown = true;
|
|
63
|
+
this.#deps.surface.show(label, { x: Math.round(event.x), y: Math.round(event.y + event.height + 2) });
|
|
64
|
+
this.#cancel = (this.#deps.after ?? realAfter)(CHIP_SECONDS * 1000, () => this.#hide());
|
|
65
|
+
}
|
|
66
|
+
async onClick() {
|
|
67
|
+
if (!this.#shown) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this.#turn++;
|
|
71
|
+
this.#hide();
|
|
72
|
+
const answer = await this.#deps.ask({ op: "fill-window" });
|
|
73
|
+
this.#deps.log(answer === undefined ? "the chip's fill had no answer" : answer.ok ? "the chip filled a field" : `the chip's fill was refused (${answer.code})`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=chip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip.js","sourceRoot":"","sources":["../../src/watch/chip.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface LineChild {
|
|
2
|
+
readonly onLine: (listener: (line: string) => void) => void;
|
|
3
|
+
readonly onExit: (listener: (code: number | null) => void) => void;
|
|
4
|
+
readonly write: (line: string) => void;
|
|
5
|
+
readonly stop: () => void;
|
|
6
|
+
}
|
|
7
|
+
export type SpawnLines = (command: string, args: readonly string[]) => LineChild;
|
|
8
|
+
export declare const spawnLines: SpawnLines;
|
|
9
|
+
//# sourceMappingURL=lines-child.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lines-child.d.ts","sourceRoot":"","sources":["../../src/watch/lines-child.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,SAAS,CAAC;AAEjF,eAAO,MAAM,UAAU,EAAE,UAgCxB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { createInterface } from "node:readline";
|
|
3
|
+
export const spawnLines = (command, args) => {
|
|
4
|
+
const child = spawn(command, [...args], { stdio: ["pipe", "pipe", "ignore"], windowsHide: true });
|
|
5
|
+
const lines = createInterface({ input: child.stdout });
|
|
6
|
+
const exits = [];
|
|
7
|
+
let exited = false;
|
|
8
|
+
const exit = (code) => {
|
|
9
|
+
if (!exited) {
|
|
10
|
+
exited = true;
|
|
11
|
+
for (const listener of exits) {
|
|
12
|
+
listener(code);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
child.on("exit", exit);
|
|
17
|
+
child.on("error", () => exit(null));
|
|
18
|
+
child.stdin.on("error", () => undefined);
|
|
19
|
+
return {
|
|
20
|
+
onLine: (listener) => lines.on("line", listener),
|
|
21
|
+
onExit: (listener) => exits.push(listener),
|
|
22
|
+
write: (line) => {
|
|
23
|
+
if (!exited) {
|
|
24
|
+
child.stdin.write(`${line}\n`);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
stop: () => {
|
|
28
|
+
if (!exited) {
|
|
29
|
+
child.kill();
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=lines-child.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lines-child.js","sourceRoot":"","sources":["../../src/watch/lines-child.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAgBhD,MAAM,CAAC,MAAM,UAAU,GAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,GAAsC,EAAE,CAAC;IACpD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,CAAC,IAAmB,EAAQ,EAAE;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,GAAG,IAAI,CAAC;YACd,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEvB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO;QACH,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAChD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1C,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACP,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ChipPlace } from "./chip.js";
|
|
2
|
+
export declare const linuxWatchArgs: () => readonly string[];
|
|
3
|
+
export declare const LINUX_WATCH_COMMAND = "python3";
|
|
4
|
+
export declare const LINUX_CHIP_ACTION = "fill";
|
|
5
|
+
export declare const linuxChipArgs: (label: string, _at: ChipPlace) => readonly string[];
|
|
6
|
+
//# sourceMappingURL=watch-linux.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch-linux.d.ts","sourceRoot":"","sources":["../../src/watch/watch-linux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAqD3C,eAAO,MAAM,cAAc,QAAO,SAAS,MAAM,EAAgC,CAAC;AAClF,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAG7C,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAGxC,eAAO,MAAM,aAAa,UAAW,MAAM,OAAO,SAAS,KAAG,SAAS,MAAM,EAO5E,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
const LINUX_WATCH_SCRIPT = String.raw `
|
|
2
|
+
import json, os, sys
|
|
3
|
+
try:
|
|
4
|
+
import gi
|
|
5
|
+
gi.require_version("Atspi", "2.0")
|
|
6
|
+
from gi.repository import Atspi
|
|
7
|
+
except Exception as error:
|
|
8
|
+
sys.stderr.write("no AT-SPI bindings: %s\n" % error)
|
|
9
|
+
sys.exit(3)
|
|
10
|
+
|
|
11
|
+
def path_of(pid):
|
|
12
|
+
try:
|
|
13
|
+
return os.readlink("/proc/%d/exe" % pid)
|
|
14
|
+
except OSError:
|
|
15
|
+
return ""
|
|
16
|
+
|
|
17
|
+
def focused(event):
|
|
18
|
+
if event.detail1 != 1:
|
|
19
|
+
return
|
|
20
|
+
try:
|
|
21
|
+
source = event.source
|
|
22
|
+
role = source.get_role()
|
|
23
|
+
pid = source.get_process_id()
|
|
24
|
+
if pid == os.getpid():
|
|
25
|
+
return
|
|
26
|
+
try:
|
|
27
|
+
box = source.get_extents(Atspi.CoordType.SCREEN)
|
|
28
|
+
x, y, width, height = box.x, box.y, box.width, box.height
|
|
29
|
+
except Exception:
|
|
30
|
+
x, y, width, height = 0, 0, 0, 0
|
|
31
|
+
line = {"event": "focus", "password": role == Atspi.Role.PASSWORD_TEXT, "path": path_of(pid), "x": x, "y": y, "width": width, "height": height}
|
|
32
|
+
sys.stdout.write("intentic-keyring>" + json.dumps(line) + "\n")
|
|
33
|
+
sys.stdout.flush()
|
|
34
|
+
except Exception:
|
|
35
|
+
pass
|
|
36
|
+
|
|
37
|
+
listener = Atspi.EventListener.new(focused)
|
|
38
|
+
listener.register("object:state-changed:focused")
|
|
39
|
+
Atspi.event_main()
|
|
40
|
+
`;
|
|
41
|
+
export const linuxWatchArgs = () => ["-c", LINUX_WATCH_SCRIPT];
|
|
42
|
+
export const LINUX_WATCH_COMMAND = "python3";
|
|
43
|
+
export const LINUX_CHIP_ACTION = "fill";
|
|
44
|
+
export const linuxChipArgs = (label, _at) => [
|
|
45
|
+
"--app-name=Passwords",
|
|
46
|
+
"--expire-time=8000",
|
|
47
|
+
"--urgency=low",
|
|
48
|
+
`--action=${LINUX_CHIP_ACTION}=${label}`,
|
|
49
|
+
"Passwords",
|
|
50
|
+
`${label} for the password field you are in.`,
|
|
51
|
+
];
|
|
52
|
+
//# sourceMappingURL=watch-linux.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch-linux.js","sourceRoot":"","sources":["../../src/watch/watch-linux.ts"],"names":[],"mappings":"AAYA,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCpC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAsB,EAAE,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAG7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAGxC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,GAAc,EAAqB,EAAE,CAAC;IAC/E,sBAAsB;IACtB,oBAAoB;IACpB,eAAe;IACf,YAAY,iBAAiB,IAAI,KAAK,EAAE;IACxC,WAAW;IACX,GAAG,KAAK,qCAAqC;CAChD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ChipPlace } from "./chip.js";
|
|
2
|
+
export declare const windowsWatchArgs: () => readonly string[];
|
|
3
|
+
export declare const WINDOWS_WATCH_COMMAND = "powershell.exe";
|
|
4
|
+
export declare const showCommand: (label: string, at: ChipPlace) => string;
|
|
5
|
+
export declare const HIDE_COMMAND = "hide";
|
|
6
|
+
//# sourceMappingURL=watch-windows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch-windows.d.ts","sourceRoot":"","sources":["../../src/watch/watch-windows.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAsH3C,eAAO,MAAM,gBAAgB,QAAO,SAAS,MAAM,EAA2H,CAAC;AAE/K,eAAO,MAAM,qBAAqB,mBAAa,CAAC;AAGhD,eAAO,MAAM,WAAW,UAAW,MAAM,MAAM,SAAS,KAAG,MAAgH,CAAC;AAC5K,eAAO,MAAM,YAAY,SAAS,CAAC"}
|