@trusty-squire/mcp 1.1.28 → 1.1.29-rc.2
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/dist/api-client.d.ts +6 -0
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js.map +1 -1
- package/dist/bot/act/act.d.ts.map +1 -1
- package/dist/bot/act/act.js +15 -11
- package/dist/bot/act/act.js.map +1 -1
- package/dist/bot/browser.d.ts +0 -29
- package/dist/bot/browser.d.ts.map +1 -1
- package/dist/bot/browser.js +2 -747
- package/dist/bot/browser.js.map +1 -1
- package/dist/bot/capture/capture.d.ts +7 -15
- package/dist/bot/capture/capture.d.ts.map +1 -1
- package/dist/bot/capture/capture.js +71 -253
- package/dist/bot/capture/capture.js.map +1 -1
- package/dist/bot/card-release-approval.d.ts.map +1 -1
- package/dist/bot/card-release-approval.js +11 -2
- package/dist/bot/card-release-approval.js.map +1 -1
- package/dist/bot/credential-capture.d.ts +10 -0
- package/dist/bot/credential-capture.d.ts.map +1 -1
- package/dist/bot/credential-capture.js +5 -0
- package/dist/bot/credential-capture.js.map +1 -1
- package/dist/bot/credential-shape.d.ts +0 -5
- package/dist/bot/credential-shape.d.ts.map +1 -1
- package/dist/bot/credential-shape.js +8 -132
- package/dist/bot/credential-shape.js.map +1 -1
- package/dist/bot/drive-feedback.d.ts +2 -8
- package/dist/bot/drive-feedback.d.ts.map +1 -1
- package/dist/bot/drive-feedback.js +7 -49
- package/dist/bot/drive-feedback.js.map +1 -1
- package/dist/bot/jev-client.d.ts +3 -0
- package/dist/bot/jev-client.d.ts.map +1 -1
- package/dist/bot/jev-client.js +14 -5
- package/dist/bot/jev-client.js.map +1 -1
- package/dist/bot/operate-drive.d.ts +13 -63
- package/dist/bot/operate-drive.d.ts.map +1 -1
- package/dist/bot/operate-drive.js +136 -592
- package/dist/bot/operate-drive.js.map +1 -1
- package/dist/bot/page-driver.js +1 -1
- package/dist/bot/page-driver.js.map +1 -1
- package/dist/bot/provision-session.d.ts +3 -1
- package/dist/bot/provision-session.d.ts.map +1 -1
- package/dist/bot/provision-session.js +1 -1
- package/dist/bot/provision-session.js.map +1 -1
- package/dist/bot/session/lifecycle.d.ts.map +1 -1
- package/dist/bot/session/lifecycle.js +14 -13
- package/dist/bot/session/lifecycle.js.map +1 -1
- package/dist/bot/skill-hint.d.ts.map +1 -1
- package/dist/bot/skill-hint.js +4 -3
- package/dist/bot/skill-hint.js.map +1 -1
- package/dist/install/broker-service.d.ts.map +1 -1
- package/dist/install/broker-service.js +13 -15
- package/dist/install/broker-service.js.map +1 -1
- package/dist/install/cli.d.ts.map +1 -1
- package/dist/install/cli.js +43 -32
- package/dist/install/cli.js.map +1 -1
- package/dist/install/connect-report.d.ts +7 -7
- package/dist/install/connect-report.d.ts.map +1 -1
- package/dist/install/connect-report.js +31 -25
- package/dist/install/connect-report.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +42 -3
- package/dist/server.js.map +1 -1
- package/dist/tools/fetch-credential.d.ts.map +1 -1
- package/dist/tools/fetch-credential.js +3 -1
- package/dist/tools/fetch-credential.js.map +1 -1
- package/dist/tools/provision-drive-schema.d.ts +0 -1
- package/dist/tools/provision-drive-schema.d.ts.map +1 -1
- package/dist/tools/provision-drive-schema.js +125 -238
- package/dist/tools/provision-drive-schema.js.map +1 -1
- package/dist/tools/provision-drive.d.ts +217 -73
- package/dist/tools/provision-drive.d.ts.map +1 -1
- package/dist/tools/provision-drive.js +133 -180
- package/dist/tools/provision-drive.js.map +1 -1
- package/dist/tools/store-credential.d.ts.map +1 -1
- package/dist/tools/store-credential.js +5 -1
- package/dist/tools/store-credential.js.map +1 -1
- package/dist/tools/use-credential.js +2 -2
- package/package.json +1 -1
- package/dist/bot/credential-text.d.ts +0 -4
- package/dist/bot/credential-text.d.ts.map +0 -1
- package/dist/bot/credential-text.js +0 -296
- package/dist/bot/credential-text.js.map +0 -1
- package/dist/bot/extraction.d.ts +0 -18
- package/dist/bot/extraction.d.ts.map +0 -1
- package/dist/bot/extraction.js +0 -54
- package/dist/bot/extraction.js.map +0 -1
|
@@ -4,22 +4,13 @@ export interface ExtractResult {
|
|
|
4
4
|
session_id: string;
|
|
5
5
|
url: string;
|
|
6
6
|
credentials: Record<string, string>;
|
|
7
|
-
|
|
8
|
-
masked_remaining?: string[];
|
|
7
|
+
error?: string;
|
|
9
8
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
|
|
15
|
-
* its own label (or none), so it stays. */
|
|
16
|
-
export declare function maskedCredentialLabels(candidates: readonly {
|
|
17
|
-
label: string | null;
|
|
18
|
-
isMasked: boolean;
|
|
19
|
-
value?: string;
|
|
20
|
-
}[], readableKeys?: readonly string[]): string[];
|
|
21
|
-
export declare function sanitizeExtractedCredentials(credentials: Record<string, string>, url: string, haystack?: string, acceptedVisibleCredentials?: readonly string[]): Record<string, string>;
|
|
22
|
-
export declare function classifyVouchflowCredentials(text: string): Record<string, string>;
|
|
9
|
+
export declare const EXTRACT_NO_SOURCE_ERROR: string;
|
|
10
|
+
/** The credential fields a store keeps: truncated displays are dropped, and a
|
|
11
|
+
* result holding only id fields is not a credential. Null when nothing is
|
|
12
|
+
* storable. Decided by field name, never by the value's shape. */
|
|
13
|
+
export declare function storableCredentials(credentials: Record<string, string>): Record<string, string> | null;
|
|
23
14
|
/** What a zero-match capture DID find, so the caller can pick a better source
|
|
24
15
|
* on the next try: computed roles and accessible names only — never values. */
|
|
25
16
|
export interface CaptureFoundCandidate {
|
|
@@ -37,6 +28,7 @@ interface CaptureSourceResolution {
|
|
|
37
28
|
};
|
|
38
29
|
resolved_from?: "post_action" | "pre_action_only";
|
|
39
30
|
found?: CaptureFoundCandidate[];
|
|
31
|
+
clipboard_error?: "capture_clipboard_unchanged" | "capture_clipboard_empty" | "capture_clipboard_unreadable";
|
|
40
32
|
}
|
|
41
33
|
/** Live pre-action probe of a click capture's source. The single candidate's
|
|
42
34
|
* handle stays alive so the post-action resolution can prove it is not merely
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/bot/capture/capture.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAQ,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/bot/capture/capture.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAQ,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AASpF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IAGZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,uBAAuB,QAKa,CAAC;AAElD;;kEAEkE;AAClE,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAK/B;AAED;+EAC+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAkRD,UAAU,uBAAuB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnF,aAAa,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC;IAClD,KAAK,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAEhC,eAAe,CAAC,EACZ,6BAA6B,GAC7B,yBAAyB,GACzB,8BAA8B,CAAC;CACpC;AA6FD;;gEAEgE;AAChE,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,kBAAkB,CAAC,CAmC7B;AAyGD;;;;8EAI8E;AAC9E,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAA;CAAE,GACrD,OAAO,CAAC,uBAAuB,CAAC,CAsBlC;AAwPD,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkBlF"}
|
|
@@ -7,122 +7,21 @@
|
|
|
7
7
|
// provision-session imports the session-facing entry points back and keeps
|
|
8
8
|
// re-exporting the tool layer's import surface; this module imports only from
|
|
9
9
|
// the rest of the tree, never from provision-session.
|
|
10
|
-
import { extractApiKeyFromText, isTruncatedCapture } from "../credential-text.js";
|
|
11
|
-
import { looksLikeCodeIdentifier, looksLikeCredentialValue, isCredentialNoise, findCredentialTokens, keyFamilyPrefix, pickRelaxedNearCopyCredential, } from "../credential-shape.js";
|
|
12
|
-
import { initialExtractionState, accumulateCandidate, hasFullHit, resolveExtraction, } from "../extraction.js";
|
|
13
|
-
import { registrableHost } from "../session/hosts.js";
|
|
14
10
|
import { audit, sessionForCall } from "../session/lifecycle.js";
|
|
15
11
|
import { invalidateCompactV2Snapshot, operationPageForSession } from "../observe/observe.js";
|
|
16
12
|
import { settleAfterStateChange } from "../act/act.js";
|
|
17
13
|
import { captureFrameSnapshot } from "../drive-snapshot.js";
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
.
|
|
23
|
-
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export function maskedCredentialLabels(candidates, readableKeys = []) {
|
|
30
|
-
const readable = new Set(readableKeys.map((key) => normLabelKey(key)));
|
|
31
|
-
return [
|
|
32
|
-
...new Set(candidates
|
|
33
|
-
.filter((candidate) => candidate.isMasked)
|
|
34
|
-
.filter((candidate) => {
|
|
35
|
-
if (candidate.label === null)
|
|
36
|
-
return true;
|
|
37
|
-
const sameLabel = candidates.filter((other) => !other.isMasked &&
|
|
38
|
-
other.label !== null &&
|
|
39
|
-
normLabelKey(other.label) === normLabelKey(candidate.label));
|
|
40
|
-
if (candidate.value === undefined) {
|
|
41
|
-
return sameLabel.length === 0 && !readable.has(normLabelKey(candidate.label));
|
|
42
|
-
}
|
|
43
|
-
if (sameLabel.length === 0)
|
|
44
|
-
return true;
|
|
45
|
-
const prefix = candidate.value?.split(/[•●⬤*…]/, 1)[0]?.replace(/\.+$/, "");
|
|
46
|
-
if (prefix === undefined || prefix.length === 0)
|
|
47
|
-
return false;
|
|
48
|
-
return !sameLabel.some((other) => other.value?.startsWith(prefix));
|
|
49
|
-
})
|
|
50
|
-
.map((candidate) => candidate.label ?? "masked credential")),
|
|
51
|
-
];
|
|
52
|
-
}
|
|
53
|
-
function firstTokenMatching(haystack, re) {
|
|
54
|
-
const match = haystack.match(re);
|
|
55
|
-
return match?.[0] ?? null;
|
|
56
|
-
}
|
|
57
|
-
export function sanitizeExtractedCredentials(credentials, url, haystack = Object.values(credentials).join("\n"), acceptedVisibleCredentials = []) {
|
|
58
|
-
const host = registrableHost(url) ?? "";
|
|
59
|
-
const normalized = {};
|
|
60
|
-
if (host === "cloud.langfuse.com") {
|
|
61
|
-
const secret = firstTokenMatching(haystack, /\bsk-lf-[0-9a-f-]{20,}\b/i);
|
|
62
|
-
const pub = firstTokenMatching(haystack, /\bpk-lf-[0-9a-f-]{20,}\b/i);
|
|
63
|
-
if (secret !== null) {
|
|
64
|
-
normalized.langfuse_secret_key = secret;
|
|
65
|
-
normalized.api_key = secret;
|
|
66
|
-
}
|
|
67
|
-
if (pub !== null)
|
|
68
|
-
normalized.langfuse_public_key = pub;
|
|
69
|
-
return normalized;
|
|
70
|
-
}
|
|
71
|
-
if (host.endsWith(".neon.tech")) {
|
|
72
|
-
const token = firstTokenMatching(haystack, /\bnapi_[A-Za-z0-9_-]{24,}\b/);
|
|
73
|
-
if (token !== null) {
|
|
74
|
-
normalized.api_token = token;
|
|
75
|
-
normalized.api_key = token;
|
|
76
|
-
}
|
|
77
|
-
return normalized;
|
|
78
|
-
}
|
|
79
|
-
for (const [key, value] of Object.entries(credentials)) {
|
|
80
|
-
const k = normLabelKey(key);
|
|
81
|
-
if (k === "refcode" || k === "referral_code")
|
|
82
|
-
continue;
|
|
83
|
-
if (isCredentialNoise(value))
|
|
84
|
-
continue;
|
|
85
|
-
if ((k === "key" || k === "api_key" || k === "secret") &&
|
|
86
|
-
!acceptedVisibleCredentials.includes(value) &&
|
|
87
|
-
!looksLikeCredentialValue(value))
|
|
88
|
-
continue;
|
|
89
|
-
if (host === "api.together.ai" && /^key_[A-Za-z0-9]{16,}$/i.test(value.trim()))
|
|
90
|
-
continue;
|
|
91
|
-
normalized[key] = value;
|
|
92
|
-
}
|
|
93
|
-
return normalized;
|
|
94
|
-
}
|
|
95
|
-
function isFullVisibleCredential(value) {
|
|
96
|
-
const token = value.trim();
|
|
97
|
-
if (isCredentialNoise(token) || looksLikeCodeIdentifier(token))
|
|
98
|
-
return false;
|
|
99
|
-
if (looksLikeCredentialValue(token))
|
|
100
|
-
return true;
|
|
101
|
-
// A long alphanumeric key with no separator is ambiguous in raw page text.
|
|
102
|
-
// A distinct, visible DOM candidate is the extra evidence used below.
|
|
103
|
-
return (token.length >= 40 &&
|
|
104
|
-
token.length <= 128 &&
|
|
105
|
-
/^[A-Za-z0-9]+$/.test(token) &&
|
|
106
|
-
/[A-Za-z]/.test(token) &&
|
|
107
|
-
/[0-9]/.test(token));
|
|
108
|
-
}
|
|
109
|
-
export function classifyVouchflowCredentials(text) {
|
|
110
|
-
const out = {};
|
|
111
|
-
for (const tok of findCredentialTokens(text)) {
|
|
112
|
-
if (/^vsk_sandbox_read_/i.test(tok) && out.sandbox_read_key === undefined) {
|
|
113
|
-
out.sandbox_read_key = tok;
|
|
114
|
-
}
|
|
115
|
-
else if (/^vsk_sandbox_/i.test(tok) && out.sandbox_write_key === undefined) {
|
|
116
|
-
out.sandbox_write_key = tok;
|
|
117
|
-
}
|
|
118
|
-
else if (/^vsk_live_read_/i.test(tok) && out.live_read_key === undefined) {
|
|
119
|
-
out.live_read_key = tok;
|
|
120
|
-
}
|
|
121
|
-
else if (/^vsk_live_/i.test(tok) && out.live_write_key === undefined) {
|
|
122
|
-
out.live_write_key = tok;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return out;
|
|
14
|
+
export const EXTRACT_NO_SOURCE_ERROR = "no_key_source: nothing stored. operate_extract without capture stores only the value " +
|
|
15
|
+
"a Copy button in a key dialog writes to the clipboard, and none did. Read the page " +
|
|
16
|
+
"with operate_observe, then point capture at the key: operate_extract with " +
|
|
17
|
+
"capture:{source:{selector}|{role,name?},store}, or operate_click on its Copy button " +
|
|
18
|
+
"with capture:{source:{clipboard:true},store}.";
|
|
19
|
+
/** The credential fields a store keeps: truncated displays are dropped, and a
|
|
20
|
+
* result holding only id fields is not a credential. Null when nothing is
|
|
21
|
+
* storable. Decided by field name, never by the value's shape. */
|
|
22
|
+
export function storableCredentials(credentials) {
|
|
23
|
+
const kept = Object.fromEntries(Object.entries(credentials).filter(([key]) => !key.endsWith("_truncated")));
|
|
24
|
+
return Object.keys(kept).some((key) => key !== "id" && !key.endsWith("_id")) ? kept : null;
|
|
126
25
|
}
|
|
127
26
|
async function shadowPiercingCapture(page, source, handles, containerHandles) {
|
|
128
27
|
return await page.evaluate(({ source: spec, nodes: sourceNodes, scopeNodes: containerNodes }) => {
|
|
@@ -478,6 +377,12 @@ export async function probeCaptureSource(sessionId, source) {
|
|
|
478
377
|
const page = operationPageForSession(session);
|
|
479
378
|
if (page === undefined)
|
|
480
379
|
throw new Error("capture page unavailable");
|
|
380
|
+
if ("clipboard" in source) {
|
|
381
|
+
// The pre-click clipboard is the baseline: only a value the click newly
|
|
382
|
+
// writes there is evidence of a copied credential.
|
|
383
|
+
await ensureCaptureClipboardPermission(page);
|
|
384
|
+
return { candidate_count: 1, value: (await session.browser.readClipboard(page)).trim() };
|
|
385
|
+
}
|
|
481
386
|
const handles = await captureSourceTargets(page, source)
|
|
482
387
|
.elementHandles()
|
|
483
388
|
.catch(() => []);
|
|
@@ -559,6 +464,23 @@ async function resolveChangedPostActionSource(page, source, pre) {
|
|
|
559
464
|
await Promise.all([...handles, ...containerHandles].map((handle) => handle.dispose().catch(() => undefined)));
|
|
560
465
|
}
|
|
561
466
|
}
|
|
467
|
+
/** Read the clipboard after a click until it holds a non-empty value that
|
|
468
|
+
* differs from the pre-click baseline, within the mutation render budget. */
|
|
469
|
+
async function resolvePostActionClipboard(page, browser, pre) {
|
|
470
|
+
const before = pre.value ?? "";
|
|
471
|
+
const deadline = Date.now() + CAPTURE_MUTATION_RENDER_BUDGET_MS;
|
|
472
|
+
for (;;) {
|
|
473
|
+
const value = (await browser.readClipboard(page).catch(() => "")).trim();
|
|
474
|
+
if (value.length > 0 && value !== before)
|
|
475
|
+
return { candidate_count: 1, value, resolved_from: "post_action" };
|
|
476
|
+
if (Date.now() >= deadline)
|
|
477
|
+
return {
|
|
478
|
+
candidate_count: 0,
|
|
479
|
+
clipboard_error: value.length === 0 ? "capture_clipboard_empty" : "capture_clipboard_unchanged",
|
|
480
|
+
};
|
|
481
|
+
await new Promise((resolve) => setTimeout(resolve, CAPTURE_MUTATION_RENDER_POLL_MS));
|
|
482
|
+
}
|
|
483
|
+
}
|
|
562
484
|
async function resolvePostActionCaptureSource(page, source, pre) {
|
|
563
485
|
const deadline = Date.now() + CAPTURE_MUTATION_RENDER_BUDGET_MS;
|
|
564
486
|
for (;;) {
|
|
@@ -582,6 +504,14 @@ export async function captureCredentialSource(sessionId, source, afterAction) {
|
|
|
582
504
|
const page = operationPageForSession(session);
|
|
583
505
|
if (page === undefined)
|
|
584
506
|
throw new Error("capture page unavailable");
|
|
507
|
+
if ("clipboard" in source) {
|
|
508
|
+
// Without a pre-click baseline a clipboard value could be stale, so the
|
|
509
|
+
// clipboard source is only judged after a click that was probed first.
|
|
510
|
+
if (afterAction?.pre === undefined)
|
|
511
|
+
return { candidate_count: 0, clipboard_error: "capture_clipboard_unreadable" };
|
|
512
|
+
await settleAfterStateChange(session.browser, page);
|
|
513
|
+
return await resolvePostActionClipboard(page, session.browser, afterAction.pre);
|
|
514
|
+
}
|
|
585
515
|
if (afterAction !== undefined) {
|
|
586
516
|
// Same settle the click itself waits on — judge the source only after the
|
|
587
517
|
// click's mutation has had its render window.
|
|
@@ -776,16 +706,36 @@ async function copyCredentialFromDialog(page, browser) {
|
|
|
776
706
|
return null;
|
|
777
707
|
copyButton = page.locator(selector);
|
|
778
708
|
}
|
|
709
|
+
// Empty the clipboard first: a value present after the click was written by
|
|
710
|
+
// this click, even when it equals what an earlier Copy click left there.
|
|
779
711
|
const before = await browser.readClipboard(page).catch(() => "");
|
|
712
|
+
const writeClipboard = async (text) => await page
|
|
713
|
+
.evaluate(async (value) => {
|
|
714
|
+
try {
|
|
715
|
+
await navigator.clipboard.writeText(value);
|
|
716
|
+
return true;
|
|
717
|
+
}
|
|
718
|
+
catch {
|
|
719
|
+
return false;
|
|
720
|
+
}
|
|
721
|
+
}, text)
|
|
722
|
+
.catch(() => false);
|
|
723
|
+
const cleared = await writeClipboard("");
|
|
724
|
+
let copied = "";
|
|
780
725
|
try {
|
|
781
726
|
await copyButton.click({ timeout: 1500 });
|
|
727
|
+
copied = (await browser.readClipboard(page).catch(() => "")).trim();
|
|
782
728
|
}
|
|
783
729
|
catch {
|
|
730
|
+
// Fall through: nothing was copied.
|
|
731
|
+
}
|
|
732
|
+
if (copied.length === 0 || (!cleared && copied === before.trim())) {
|
|
733
|
+
// Leave the clipboard as the page found it when this control wrote nothing.
|
|
734
|
+
if (cleared && before.length > 0)
|
|
735
|
+
await writeClipboard(before);
|
|
784
736
|
return null;
|
|
785
737
|
}
|
|
786
|
-
|
|
787
|
-
// A stale clipboard is not evidence that this control yielded a credential.
|
|
788
|
-
return copied.length > 0 && copied !== before.trim() ? copied : null;
|
|
738
|
+
return copied;
|
|
789
739
|
}
|
|
790
740
|
export async function extractCredentials(sessionId) {
|
|
791
741
|
const session = sessionForCall(sessionId);
|
|
@@ -794,148 +744,16 @@ export async function extractCredentials(sessionId) {
|
|
|
794
744
|
const { browser } = session;
|
|
795
745
|
const page = operationPageForSession(session);
|
|
796
746
|
invalidateCompactV2Snapshot(session);
|
|
797
|
-
//
|
|
798
|
-
|
|
799
|
-
const labeled = await browser.extractLabeledCredentialCandidates(page);
|
|
800
|
-
const inputs = await browser.extractAllInputValues(page);
|
|
801
|
-
const nearCopy = await browser.extractCredentialsNearCopyButtons(page);
|
|
802
|
-
const text = await browser.extractVisibleText(page);
|
|
803
|
-
// Copy-only key surfaces (e.g. LangWatch's /settings/api-keys) never render
|
|
804
|
-
// the value into the DOM — it goes to the clipboard on a "Copy" click. Read
|
|
805
|
-
// it after checking the live origin's permission.
|
|
747
|
+
// Storage is decided by source, never by shape: the Copy click itself proves
|
|
748
|
+
// provenance, whatever the value looks like (Vast.ai's key is 64-char hex).
|
|
806
749
|
await ensureCaptureClipboardPermission(page);
|
|
807
|
-
const
|
|
808
|
-
|
|
809
|
-
let state = initialExtractionState();
|
|
810
|
-
const sources = [...labeled.map((c) => c.value), ...inputs, ...nearCopy, clip, text];
|
|
811
|
-
for (const src of sources) {
|
|
812
|
-
if (hasFullHit(state))
|
|
813
|
-
break;
|
|
814
|
-
const key = extractApiKeyFromText(src);
|
|
815
|
-
if (key === null)
|
|
816
|
-
continue;
|
|
817
|
-
// Reject an env-var NAME mistaken for a key — a "LANGWATCH_API_KEY="
|
|
818
|
-
// display (the SDK snippet shows `LANGWATCH_API_KEY=sk-lw-…`) would
|
|
819
|
-
// otherwise win first-full and mask the real token. Skip it so scanning
|
|
820
|
-
// reaches the actual secret further down the source list.
|
|
821
|
-
if (/^[A-Z][A-Z0-9_]{2,}=?$/.test(key.trim()))
|
|
822
|
-
continue;
|
|
823
|
-
if (isCredentialNoise(key))
|
|
824
|
-
continue;
|
|
825
|
-
// Reject too-short non-secrets (UI noise like "Ctrl+K"). Real API keys are
|
|
826
|
-
// long; a sub-12-char "key" is a false positive, never a credential.
|
|
827
|
-
if (key.trim().length < 12)
|
|
828
|
-
continue;
|
|
829
|
-
// Reject a code identifier scraped off a page (the X-tombstone false-green).
|
|
830
|
-
if (looksLikeCodeIdentifier(key))
|
|
831
|
-
continue;
|
|
832
|
-
const cls = isTruncatedCapture(src, key)
|
|
833
|
-
? { kind: "truncated", value: key }
|
|
834
|
-
: { kind: "full", value: key };
|
|
835
|
-
state = accumulateCandidate(state, cls);
|
|
836
|
-
}
|
|
837
|
-
// A full key can appear as bare text in a table cell or a text input
|
|
838
|
-
// without a known prefix or a nearby label. Require one distinct visible
|
|
839
|
-
// credential-shaped value; masked and truncated displays never qualify.
|
|
840
|
-
const readable = [
|
|
841
|
-
...new Set(labeled
|
|
842
|
-
.filter((candidate) => !candidate.isMasked)
|
|
843
|
-
.map((candidate) => candidate.value)
|
|
844
|
-
.filter(isFullVisibleCredential)),
|
|
845
|
-
];
|
|
846
|
-
const acceptedVisibleCredential = !hasFullHit(state) && readable.length === 1 ? (readable[0] ?? null) : null;
|
|
847
|
-
if (acceptedVisibleCredential !== null) {
|
|
848
|
-
state = accumulateCandidate(state, { kind: "full", value: acceptedVisibleCredential });
|
|
849
|
-
}
|
|
850
|
-
const copied = !hasFullHit(state) ? await copyCredentialFromDialog(page, browser) : null;
|
|
851
|
-
const acceptedCopy = copied !== null &&
|
|
852
|
-
!isCredentialNoise(copied) &&
|
|
853
|
-
(looksLikeCredentialValue(copied) || pickRelaxedNearCopyCredential([copied]) !== null)
|
|
854
|
-
? copied
|
|
855
|
-
: null;
|
|
856
|
-
if (acceptedCopy !== null) {
|
|
857
|
-
nearCopy.push(acceptedCopy);
|
|
858
|
-
sources.push(acceptedCopy);
|
|
859
|
-
state = accumulateCandidate(state, { kind: "full", value: acceptedCopy });
|
|
860
|
-
}
|
|
861
|
-
const haystack = sources.join("\n");
|
|
862
|
-
// Named credentials for multi-cred services (skip still-masked values and
|
|
863
|
-
// env-var NAME displays — "LANGWATCH_API_KEY=" is the SDK-snippet prefix, not
|
|
864
|
-
// a credential).
|
|
865
|
-
const named = {};
|
|
866
|
-
for (const c of labeled) {
|
|
867
|
-
if (c.label === null || c.isMasked)
|
|
868
|
-
continue;
|
|
869
|
-
if (isCredentialNoise(c.value))
|
|
870
|
-
continue;
|
|
871
|
-
if (looksLikeCodeIdentifier(c.value))
|
|
872
|
-
continue;
|
|
873
|
-
const k = normLabelKey(c.label);
|
|
874
|
-
if (k.length > 0 && !(k in named))
|
|
875
|
-
named[k] = c.value;
|
|
876
|
-
}
|
|
877
|
-
// resolveExtraction (the regex-found primary key) wins over a same-named
|
|
878
|
-
// labeled candidate, so a "API Key" label carrying the env-var snippet can
|
|
879
|
-
// never clobber the real `api_key`.
|
|
880
|
-
const credentials = {
|
|
881
|
-
...named,
|
|
882
|
-
...classifyVouchflowCredentials(haystack),
|
|
883
|
-
...resolveExtraction(state),
|
|
884
|
-
};
|
|
885
|
-
const relaxed = pickRelaxedNearCopyCredential(nearCopy);
|
|
886
|
-
const acceptedNearCopyCredential = relaxed !== null &&
|
|
887
|
-
!Object.entries(credentials).some(([key, value]) => key !== "api_key" && value === relaxed)
|
|
888
|
-
? relaxed
|
|
889
|
-
: null;
|
|
890
|
-
if (!("api_key" in credentials) && acceptedNearCopyCredential !== null) {
|
|
891
|
-
credentials.api_key = acceptedNearCopyCredential;
|
|
892
|
-
}
|
|
893
|
-
// Multi-credential: a service may present several keys of the SAME family
|
|
894
|
-
// (VouchFlow shows a vsk_ write AND a vsk_ read). Surface only tokens that
|
|
895
|
-
// repeat a family already captured for THIS service — a cross-family token that
|
|
896
|
-
// merely shares the page (a Resend dashboard's mcp-… widget beside the real re_
|
|
897
|
-
// key) is page noise, not a second credential, and surfacing it pollutes the
|
|
898
|
-
// credential + allow-lists an unrelated token to the service host (capture bug
|
|
899
|
-
// 2026-07-09). A prefixless primary (deepinfra) yields no family, so no extras.
|
|
900
|
-
const families = new Set(Object.values(credentials)
|
|
901
|
-
.map((v) => (typeof v === "string" ? keyFamilyPrefix(v) : null))
|
|
902
|
-
.filter((f) => f !== null));
|
|
903
|
-
const have = new Set(Object.values(credentials));
|
|
904
|
-
let n = 1;
|
|
905
|
-
for (const tok of findCredentialTokens(haystack)) {
|
|
906
|
-
if (have.has(tok))
|
|
907
|
-
continue;
|
|
908
|
-
if (n >= 8)
|
|
909
|
-
break; // cap extras so page noise can't flood the result
|
|
910
|
-
const fam = keyFamilyPrefix(tok);
|
|
911
|
-
if (fam === null || !families.has(fam))
|
|
912
|
-
continue;
|
|
913
|
-
have.add(tok);
|
|
914
|
-
n += 1;
|
|
915
|
-
credentials[`api_key_${n}`] = tok;
|
|
916
|
-
}
|
|
917
|
-
const sanitized = sanitizeExtractedCredentials(credentials, page?.url() ?? browser.currentUrl(), haystack, [acceptedVisibleCredential, acceptedNearCopyCredential].filter((value) => value !== null));
|
|
918
|
-
const found = Object.keys(sanitized).length > 0;
|
|
919
|
-
// A masked credential-shaped value that survived the reveal pass is an
|
|
920
|
-
// UNREAD key, not success. Name it so a caller never believes every key is
|
|
921
|
-
// vaulted when a sibling is still hidden; a masked value covered by a
|
|
922
|
-
// readable capture under the same label is not remaining (see the helper).
|
|
923
|
-
// A successful copy from this credential dialog resolves its lone masked
|
|
924
|
-
// display even if the page leaves that stale mask node in the DOM.
|
|
925
|
-
const maskedCandidates = labeled.filter((candidate) => candidate.isMasked);
|
|
926
|
-
const remainingCandidates = acceptedCopy !== null &&
|
|
927
|
-
Object.values(sanitized).includes(acceptedCopy) &&
|
|
928
|
-
maskedCandidates.length === 1
|
|
929
|
-
? labeled.filter((candidate) => candidate !== maskedCandidates[0])
|
|
930
|
-
: labeled;
|
|
931
|
-
const maskedRemaining = maskedCredentialLabels(remainingCandidates, Object.keys(sanitized));
|
|
932
|
-
audit(sessionId, "extract", { found, candidate_count: labeled.length });
|
|
750
|
+
const copied = await copyCredentialFromDialog(page, browser);
|
|
751
|
+
audit(sessionId, "extract", { found: copied !== null });
|
|
933
752
|
return {
|
|
934
753
|
session_id: sessionId,
|
|
935
754
|
url: page?.url() ?? browser.currentUrl(),
|
|
936
|
-
credentials:
|
|
937
|
-
|
|
938
|
-
...(maskedRemaining.length > 0 ? { masked_remaining: maskedRemaining } : {}),
|
|
755
|
+
credentials: copied === null ? {} : { api_key: copied },
|
|
756
|
+
...(copied === null ? { error: EXTRACT_NO_SOURCE_ERROR } : {}),
|
|
939
757
|
};
|
|
940
758
|
}
|
|
941
759
|
//# sourceMappingURL=capture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/bot/capture/capture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/bot/capture/capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-release-approval.d.ts","sourceRoot":"","sources":["../../src/bot/card-release-approval.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"card-release-approval.d.ts","sourceRoot":"","sources":["../../src/bot/card-release-approval.ts"],"names":[],"mappings":"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"}
|
|
@@ -527,11 +527,15 @@ export async function executeCardReleaseApproval(args, api, browser, overrides =
|
|
|
527
527
|
iteration++;
|
|
528
528
|
const remainingPollMs = Math.max(Math.min(callDeadline, deadline) - deps.now(), 0);
|
|
529
529
|
const candidateRead = remainingPollMs > 0 ? true : "immediate";
|
|
530
|
+
const heldWaitMs = candidateRead === true
|
|
531
|
+
? Math.min(Math.max(remainingPollMs - PAYMENT_APPROVAL_RESPONSE_RESERVE_MS, 0), 15_000)
|
|
532
|
+
: 0;
|
|
533
|
+
const readStartedAt = deps.now();
|
|
530
534
|
let approval;
|
|
531
535
|
try {
|
|
532
536
|
approval =
|
|
533
537
|
candidateRead === true
|
|
534
|
-
? await api.getPaymentApproval(approvalId, true,
|
|
538
|
+
? await api.getPaymentApproval(approvalId, true, heldWaitMs, remainingPollMs)
|
|
535
539
|
: await api.getPaymentApproval(approvalId, "immediate");
|
|
536
540
|
}
|
|
537
541
|
catch (error) {
|
|
@@ -686,7 +690,12 @@ export async function executeCardReleaseApproval(args, api, browser, overrides =
|
|
|
686
690
|
}
|
|
687
691
|
if (!shouldKeepPolling())
|
|
688
692
|
break;
|
|
689
|
-
|
|
693
|
+
// A full server-held pending read already paced the loop. Back off only
|
|
694
|
+
// when it returned early (or an already-rejected candidate reappeared).
|
|
695
|
+
const fullHeldRead = candidateRead === true && heldWaitMs > 0 &&
|
|
696
|
+
deps.now() - readStartedAt >= Math.max(heldWaitMs - 500, heldWaitMs * 0.9);
|
|
697
|
+
if (!fullHeldRead || hasCandidate)
|
|
698
|
+
await deps.sleep(deps.pollIntervalMs);
|
|
690
699
|
}
|
|
691
700
|
if (approved === undefined) {
|
|
692
701
|
if (budgetExhausted) {
|