@trusty-squire/mcp 1.1.8 → 1.1.9-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/README.md +13 -5
- package/dist/bot/browser.d.ts +96 -1
- package/dist/bot/browser.d.ts.map +1 -1
- package/dist/bot/browser.js +420 -1
- package/dist/bot/browser.js.map +1 -1
- package/dist/bot/operator-recipe.d.ts +27 -975
- package/dist/bot/operator-recipe.d.ts.map +1 -1
- package/dist/bot/operator-recipe.js +88 -237
- package/dist/bot/operator-recipe.js.map +1 -1
- package/dist/bot/pay-operator.d.ts +2 -0
- package/dist/bot/pay-operator.d.ts.map +1 -1
- package/dist/bot/pay-operator.js +9 -5
- package/dist/bot/pay-operator.js.map +1 -1
- package/dist/bot/provision-session.d.ts +44 -2
- package/dist/bot/provision-session.d.ts.map +1 -1
- package/dist/bot/provision-session.js +383 -4
- package/dist/bot/provision-session.js.map +1 -1
- package/dist/skill-registry-client.d.ts +57 -0
- package/dist/skill-registry-client.d.ts.map +1 -1
- package/dist/skill-registry-client.js +156 -7
- package/dist/skill-registry-client.js.map +1 -1
- package/dist/tools/provision-drive.d.ts +73 -26
- package/dist/tools/provision-drive.d.ts.map +1 -1
- package/dist/tools/provision-drive.js +224 -10
- package/dist/tools/provision-drive.js.map +1 -1
- package/package.json +3 -1
- package/dist/eval/replay-harness/corpus.d.ts +0 -7
- package/dist/eval/replay-harness/corpus.d.ts.map +0 -1
- package/dist/eval/replay-harness/corpus.js +0 -183
- package/dist/eval/replay-harness/corpus.js.map +0 -1
- package/dist/eval/replay-harness/har-mutate.d.ts +0 -36
- package/dist/eval/replay-harness/har-mutate.d.ts.map +0 -1
- package/dist/eval/replay-harness/har-mutate.js +0 -119
- package/dist/eval/replay-harness/har-mutate.js.map +0 -1
- package/dist/eval/replay-harness/har-substrate.d.ts +0 -16
- package/dist/eval/replay-harness/har-substrate.d.ts.map +0 -1
- package/dist/eval/replay-harness/har-substrate.js +0 -99
- package/dist/eval/replay-harness/har-substrate.js.map +0 -1
- package/dist/eval/replay-harness/index.d.ts +0 -8
- package/dist/eval/replay-harness/index.d.ts.map +0 -1
- package/dist/eval/replay-harness/index.js +0 -8
- package/dist/eval/replay-harness/index.js.map +0 -1
- package/dist/eval/replay-harness/metrics.d.ts +0 -9
- package/dist/eval/replay-harness/metrics.d.ts.map +0 -1
- package/dist/eval/replay-harness/metrics.js +0 -117
- package/dist/eval/replay-harness/metrics.js.map +0 -1
- package/dist/eval/replay-harness/reporter.d.ts +0 -4
- package/dist/eval/replay-harness/reporter.d.ts.map +0 -1
- package/dist/eval/replay-harness/reporter.js +0 -62
- package/dist/eval/replay-harness/reporter.js.map +0 -1
- package/dist/eval/replay-harness/runner.d.ts +0 -36
- package/dist/eval/replay-harness/runner.d.ts.map +0 -1
- package/dist/eval/replay-harness/runner.js +0 -167
- package/dist/eval/replay-harness/runner.js.map +0 -1
- package/dist/eval/replay-harness/types.d.ts +0 -135
- package/dist/eval/replay-harness/types.d.ts.map +0 -1
- package/dist/eval/replay-harness/types.js +0 -2
- package/dist/eval/replay-harness/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator-recipe.d.ts","sourceRoot":"","sources":["../../src/bot/operator-recipe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operator-recipe.d.ts","sourceRoot":"","sources":["../../src/bot/operator-recipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
// operator-recipe.ts — Phase A of "user-saved operator workflows as skills"
|
|
2
|
-
// (docs/ARCHITECTURE.md).
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
2
|
+
// (docs/ARCHITECTURE.md). Local read/write/render/bind/resolve logic for
|
|
3
|
+
// Operator Recipes. The wire schema itself (the part the registry also
|
|
4
|
+
// needs to validate/store shared recipes) lives in the shared
|
|
5
|
+
// @trusty-squire/recipe-schema package and is re-exported below so existing
|
|
6
|
+
// importers of this module are unaffected.
|
|
6
7
|
//
|
|
7
|
-
// Three invariants baked
|
|
8
|
+
// Three invariants baked into the schema:
|
|
8
9
|
// 1. Stable-attribute targeting only. A trace stores authored DOM/semantic
|
|
9
10
|
// hints, never a ref/coordinate; visible text is the unique-only last
|
|
10
11
|
// fallback because operator targets are heavy SPAs whose refs churn.
|
|
@@ -14,230 +15,14 @@
|
|
|
14
15
|
// 3. A POSTCONDITION the replay verifies. Without it a "remembered" workflow
|
|
15
16
|
// silently succeeds on a run that didn't actually work — the anti-false-
|
|
16
17
|
// green principle (isCredentialNoise) one level up.
|
|
17
|
-
import { z } from "zod";
|
|
18
18
|
import { promises as fs } from "node:fs";
|
|
19
19
|
import { createHash } from "node:crypto";
|
|
20
20
|
import os from "node:os";
|
|
21
21
|
import path from "node:path";
|
|
22
|
-
import {
|
|
22
|
+
import { OperatorVerbSchema, RecipeHoleSchema, RecipeValueSchema, RecipeTargetSchema, PostconditionSchema, OperatorRecipeSchema, operatorRecipeDomain, operatorRecipeKey, operatorRecipeKeyForDomain, checkoutFieldSetSignature, isCheckoutShapeKey, checkoutShapeKey, operatorRecipeKeyForCheckoutShape, isRecipeShareEligible, isSameRecipeDomain, recipeDomainLockViolations, isRecipeDomainLocked, EmailAliasTemplatePattern, } from "@trusty-squire/recipe-schema";
|
|
23
23
|
import { filterByNearTextHint } from "./near-text-hint.js";
|
|
24
|
-
// ── Schema
|
|
25
|
-
export
|
|
26
|
-
"purchase",
|
|
27
|
-
"get_api_key",
|
|
28
|
-
"signup",
|
|
29
|
-
"subscribe",
|
|
30
|
-
"cancel",
|
|
31
|
-
"login",
|
|
32
|
-
"book",
|
|
33
|
-
"reserve",
|
|
34
|
-
"renew",
|
|
35
|
-
"upgrade",
|
|
36
|
-
"downgrade",
|
|
37
|
-
"add_to_cart",
|
|
38
|
-
"checkout",
|
|
39
|
-
"download",
|
|
40
|
-
"configure",
|
|
41
|
-
]);
|
|
42
|
-
export const RecipeHoleSchema = z
|
|
43
|
-
.object({
|
|
44
|
-
hole: z
|
|
45
|
-
.string()
|
|
46
|
-
.regex(/^(?:address|contact|credential|card)(?:\.[a-zA-Z0-9_-]+)?$|^(?:product_query|quantity)$/),
|
|
47
|
-
})
|
|
48
|
-
.strict();
|
|
49
|
-
export const RecipeValueSchema = z.union([z.string().max(2000), RecipeHoleSchema]);
|
|
50
|
-
export const RecipeTargetSchema = z
|
|
51
|
-
.object({
|
|
52
|
-
dom_hint: z
|
|
53
|
-
.object({
|
|
54
|
-
testid: z.string().max(200).optional(),
|
|
55
|
-
id: z.string().max(200).optional(),
|
|
56
|
-
name: z.string().max(200).optional(),
|
|
57
|
-
})
|
|
58
|
-
.strict()
|
|
59
|
-
.optional(),
|
|
60
|
-
role_hint: z.string().max(80).optional(),
|
|
61
|
-
accessible_name: z.string().max(200).optional(),
|
|
62
|
-
near_text_hint: z.string().max(200).optional(),
|
|
63
|
-
href_hint: z.string().max(2000).optional(),
|
|
64
|
-
css: z.string().max(2000).optional(),
|
|
65
|
-
// Deliberately last-resort. Replay accepts this only when it is unique.
|
|
66
|
-
visible_text: z.string().max(200).optional(),
|
|
67
|
-
})
|
|
68
|
-
.strict();
|
|
69
|
-
const EmailHoleSchema = RecipeHoleSchema.shape.hole;
|
|
70
|
-
const EmailAliasTemplatePattern = /\$\{EMAIL_ALIAS((?:_(?:URI|CSS))*)\}/g;
|
|
71
|
-
function hasEmailAliasTemplate(value) {
|
|
72
|
-
return value?.includes("${EMAIL_ALIAS") === true;
|
|
73
|
-
}
|
|
74
|
-
const PostconditionUrlSchema = z
|
|
75
|
-
.string()
|
|
76
|
-
.max(2000)
|
|
77
|
-
.refine((value) => {
|
|
78
|
-
try {
|
|
79
|
-
new URL(value.replace(EmailAliasTemplatePattern, "buyer@example.com"));
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
catch {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
}, "invalid URL");
|
|
86
|
-
const TraceActionSchema = z
|
|
87
|
-
.object({
|
|
88
|
-
kind: z.enum([
|
|
89
|
-
"goto",
|
|
90
|
-
"click",
|
|
91
|
-
"js_click",
|
|
92
|
-
"type",
|
|
93
|
-
"press",
|
|
94
|
-
"oauth_click",
|
|
95
|
-
"oauth_settle",
|
|
96
|
-
"allow_host",
|
|
97
|
-
"type_secret",
|
|
98
|
-
"select",
|
|
99
|
-
"set_phone_country",
|
|
100
|
-
"operate_pay",
|
|
101
|
-
"scroll",
|
|
102
|
-
"extract",
|
|
103
|
-
]),
|
|
104
|
-
// Legacy visible-text rail. New recordings also carry `target`; this stays
|
|
105
|
-
// for backwards compatibility and is the unique-only final fallback.
|
|
106
|
-
text_match: z.string().max(200).optional(),
|
|
107
|
-
target: RecipeTargetSchema.optional(),
|
|
108
|
-
email_hole: EmailHoleSchema.optional(),
|
|
109
|
-
// goto: a URL with optional ${VAR} templates for per-run identity.
|
|
110
|
-
url_template: z.string().max(2000).optional(),
|
|
111
|
-
// Value-bearing actions store either a non-secret literal or provenance
|
|
112
|
-
// hole. Secret/card actions carry only a hole; their raw values never land
|
|
113
|
-
// in the recipe.
|
|
114
|
-
value: RecipeValueSchema.optional(),
|
|
115
|
-
host: z.string().max(253).optional(),
|
|
116
|
-
slot: z.string().max(60).optional(),
|
|
117
|
-
direction: z.enum(["down", "up", "bottom", "top"]).optional(),
|
|
118
|
-
key: z.string().max(40).optional(),
|
|
119
|
-
})
|
|
120
|
-
.strict();
|
|
121
|
-
const TraceEntrySchema = z
|
|
122
|
-
.object({
|
|
123
|
-
intent: z.string().max(200).optional(),
|
|
124
|
-
action: TraceActionSchema,
|
|
125
|
-
})
|
|
126
|
-
.strict();
|
|
127
|
-
// A machine-checkable success signal, verifiable from a single page snapshot.
|
|
128
|
-
const SuccessSignalSchema = z.union([
|
|
129
|
-
// A field/input whose label≈field_text holds a value at least N chars long
|
|
130
|
-
// (e.g. OAuth Playground's "Access token"). We check the LENGTH, never the
|
|
131
|
-
// value — the success signal must not leak the credential it proves.
|
|
132
|
-
z
|
|
133
|
-
.object({
|
|
134
|
-
field_text: z.string().min(1).max(120),
|
|
135
|
-
min_value_len: z.number().int().positive().max(4096),
|
|
136
|
-
})
|
|
137
|
-
.strict(),
|
|
138
|
-
// Visible page text contains this phrase.
|
|
139
|
-
z.object({ text_present: z.string().min(1).max(200) }).strict(),
|
|
140
|
-
// The current URL contains this substring (post-login path, etc.).
|
|
141
|
-
z.object({ url_contains: z.string().min(1).max(200) }).strict(),
|
|
142
|
-
]);
|
|
143
|
-
export const PostconditionSchema = z
|
|
144
|
-
.object({
|
|
145
|
-
// execute_capability: re-run/observe the capability now (synchronous).
|
|
146
|
-
// observe_artifact: navigate to probe_url, then check (Phase B paces this).
|
|
147
|
-
kind: z.enum(["execute_capability", "observe_artifact"]),
|
|
148
|
-
describe: z.string().min(1).max(300),
|
|
149
|
-
success_signal: SuccessSignalSchema,
|
|
150
|
-
probe_url: PostconditionUrlSchema.optional(),
|
|
151
|
-
email_hole: EmailHoleSchema.optional(),
|
|
152
|
-
})
|
|
153
|
-
.strict()
|
|
154
|
-
.superRefine((postcondition, ctx) => {
|
|
155
|
-
const urlContains = "url_contains" in postcondition.success_signal
|
|
156
|
-
? postcondition.success_signal.url_contains
|
|
157
|
-
: undefined;
|
|
158
|
-
if ((hasEmailAliasTemplate(postcondition.probe_url) || hasEmailAliasTemplate(urlContains)) &&
|
|
159
|
-
postcondition.email_hole === undefined) {
|
|
160
|
-
ctx.addIssue({
|
|
161
|
-
code: z.ZodIssueCode.custom,
|
|
162
|
-
path: ["email_hole"],
|
|
163
|
-
message: "known-email postcondition template lacks an attested source hole",
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
const SecretRefSchema = z
|
|
168
|
-
.object({
|
|
169
|
-
slot: z.string().min(1).max(60),
|
|
170
|
-
sealed_from: z.string().max(120).optional(),
|
|
171
|
-
// Iron invariant: a recipe NEVER stores a secret value. This literal makes
|
|
172
|
-
// "the value is on disk" unrepresentable — a value-bearing field can't parse.
|
|
173
|
-
stored: z.literal(false),
|
|
174
|
-
})
|
|
175
|
-
.strict();
|
|
176
|
-
export const OperatorRecipeSchema = z
|
|
177
|
-
.object({
|
|
178
|
-
name: z.string().min(1).max(80),
|
|
179
|
-
schema_version: z.literal(1),
|
|
180
|
-
goal: z.string().min(1).max(300),
|
|
181
|
-
// New prepared-statement key. Optional only so existing local v1 recipes
|
|
182
|
-
// remain readable; new keyed recordings always set both fields.
|
|
183
|
-
verb: OperatorVerbSchema.optional(),
|
|
184
|
-
domain: z.string().min(1).max(253).optional(),
|
|
185
|
-
// The canonical replay entry — the session's START url (the service_url
|
|
186
|
-
// passed to operate_start). Optional for back-compat with recipes saved
|
|
187
|
-
// before this field; recipeEntryUrl falls back to the first STABLE trace
|
|
188
|
-
// goto. This exists because inferring the entry from trace gotos picked up
|
|
189
|
-
// mid-flow single-use links (a verify-email URL became the entry, so the
|
|
190
|
-
// replay opened on an expired-token dead page — the plunk-recipe bug).
|
|
191
|
-
entry_url: z.string().max(2000).optional(),
|
|
192
|
-
entry_mode: z.literal("runtime_service_url").optional(),
|
|
193
|
-
allowed_hosts: z.array(z.string().max(253)).max(20).default([]),
|
|
194
|
-
trace: z.array(TraceEntrySchema).max(200),
|
|
195
|
-
secrets: z.array(SecretRefSchema).max(20).default([]),
|
|
196
|
-
postcondition: PostconditionSchema,
|
|
197
|
-
})
|
|
198
|
-
.strict()
|
|
199
|
-
.superRefine((recipe, ctx) => {
|
|
200
|
-
if ((recipe.verb === undefined) !== (recipe.domain === undefined)) {
|
|
201
|
-
ctx.addIssue({
|
|
202
|
-
code: z.ZodIssueCode.custom,
|
|
203
|
-
message: "operator recipe verb and domain must be present together",
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
if (recipe.entry_mode === "runtime_service_url" && recipe.entry_url !== undefined) {
|
|
207
|
-
ctx.addIssue({
|
|
208
|
-
code: z.ZodIssueCode.custom,
|
|
209
|
-
path: ["entry_url"],
|
|
210
|
-
message: "runtime-resolved operator recipes cannot persist an entry URL",
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
recipe.trace.forEach((entry, index) => {
|
|
214
|
-
const value = entry.action.value;
|
|
215
|
-
if (entry.action.kind === "operate_pay" &&
|
|
216
|
-
(value === undefined || typeof value === "string" || !/^card(?:\.|$)/.test(value.hole))) {
|
|
217
|
-
ctx.addIssue({
|
|
218
|
-
code: z.ZodIssueCode.custom,
|
|
219
|
-
path: ["trace", index, "action", "value"],
|
|
220
|
-
message: "operate_pay requires card provenance",
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
if (value === undefined || typeof value === "string")
|
|
224
|
-
return;
|
|
225
|
-
if (/^card(?:\.|$)/.test(value.hole) && entry.action.kind !== "operate_pay") {
|
|
226
|
-
ctx.addIssue({
|
|
227
|
-
code: z.ZodIssueCode.custom,
|
|
228
|
-
path: ["trace", index, "action", "value"],
|
|
229
|
-
message: "card provenance is only valid on operate_pay",
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
if (/^credential(?:\.|$)/.test(value.hole) && entry.action.kind !== "type_secret") {
|
|
233
|
-
ctx.addIssue({
|
|
234
|
-
code: z.ZodIssueCode.custom,
|
|
235
|
-
path: ["trace", index, "action", "value"],
|
|
236
|
-
message: "credential provenance is only valid on type_secret",
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
});
|
|
24
|
+
// ── Schema (re-exported from @trusty-squire/recipe-schema; see there) ──
|
|
25
|
+
export { OperatorVerbSchema, RecipeHoleSchema, RecipeValueSchema, RecipeTargetSchema, PostconditionSchema, OperatorRecipeSchema, operatorRecipeDomain, operatorRecipeKey, operatorRecipeKeyForDomain, checkoutFieldSetSignature, isCheckoutShapeKey, checkoutShapeKey, operatorRecipeKeyForCheckoutShape, isRecipeShareEligible, isSameRecipeDomain, recipeDomainLockViolations, isRecipeDomainLocked, EmailAliasTemplatePattern, };
|
|
241
26
|
// ── Local IO ────────────────────────────────────────────────────────
|
|
242
27
|
export function operatorRecipeDir() {
|
|
243
28
|
const fromEnv = process.env.TRUSTY_SQUIRE_OPERATOR_RECIPE_DIR;
|
|
@@ -260,18 +45,6 @@ function safeFileName(name) {
|
|
|
260
45
|
const digest = createHash("sha256").update(slug).digest("hex").slice(0, 16);
|
|
261
46
|
return `${slug.slice(0, 63)}-${digest}`;
|
|
262
47
|
}
|
|
263
|
-
const TENANT_HOST_SUFFIXES = ["myshopify.com", "notion.site"];
|
|
264
|
-
/** Public-Suffix-List-backed local recipe domain; registry service slugs are unrelated. */
|
|
265
|
-
export function operatorRecipeDomain(url) {
|
|
266
|
-
const hostname = new URL(url).hostname.toLowerCase().replace(/\.$/, "");
|
|
267
|
-
const tenantSuffix = TENANT_HOST_SUFFIXES.find((suffix) => hostname !== suffix && hostname.endsWith(`.${suffix}`));
|
|
268
|
-
if (tenantSuffix !== undefined)
|
|
269
|
-
return hostname;
|
|
270
|
-
return getDomain(hostname, { allowPrivateDomains: false }) ?? hostname;
|
|
271
|
-
}
|
|
272
|
-
export function operatorRecipeKey(verb, url) {
|
|
273
|
-
return `${verb}--${operatorRecipeDomain(url)}`;
|
|
274
|
-
}
|
|
275
48
|
export async function writeRecipe(recipe) {
|
|
276
49
|
// Validate (and, crucially, re-assert the no-stored-value invariant) before
|
|
277
50
|
// anything reaches disk.
|
|
@@ -287,12 +60,20 @@ export async function writeRecipe(recipe) {
|
|
|
287
60
|
}
|
|
288
61
|
export async function readRecipe(name) {
|
|
289
62
|
const file = path.join(operatorRecipeDir(), `${safeFileName(name)}.json`);
|
|
63
|
+
return await readRecipeFromFile(file);
|
|
64
|
+
}
|
|
65
|
+
/** Read + parse a recipe from an exact file path (the shape `writeRecipe` returns). */
|
|
66
|
+
export async function readRecipeFromFile(file) {
|
|
290
67
|
const raw = await fs.readFile(file, "utf8");
|
|
291
68
|
return OperatorRecipeSchema.parse(JSON.parse(raw));
|
|
292
69
|
}
|
|
293
70
|
export async function readRecipeForTask(verb, serviceUrl) {
|
|
294
71
|
return await readRecipe(operatorRecipeKey(verb, serviceUrl));
|
|
295
72
|
}
|
|
73
|
+
/** replay-per-leg-signature — local read of a checkout-leg recipe, keyed by field-set signature. */
|
|
74
|
+
export async function readRecipeForCheckoutShape(verb, signature) {
|
|
75
|
+
return await readRecipe(operatorRecipeKeyForCheckoutShape(verb, signature));
|
|
76
|
+
}
|
|
296
77
|
export async function listRecipes() {
|
|
297
78
|
try {
|
|
298
79
|
const files = await fs.readdir(operatorRecipeDir());
|
|
@@ -512,6 +293,8 @@ export function bindRecipeTarget(target, bindings, emailHole) {
|
|
|
512
293
|
...(bind(target.visible_text) !== undefined
|
|
513
294
|
? { visible_text: bind(target.visible_text) }
|
|
514
295
|
: {}),
|
|
296
|
+
// field_role is a locale-stable token (not email-templated); pass through.
|
|
297
|
+
...(target.field_role !== undefined ? { field_role: target.field_role } : {}),
|
|
515
298
|
};
|
|
516
299
|
}
|
|
517
300
|
export function bindKnownEmailTemplate(value, bindings, emailHole) {
|
|
@@ -590,6 +373,66 @@ function semanticRole(element) {
|
|
|
590
373
|
return "textbox";
|
|
591
374
|
return targetNorm(element.tag);
|
|
592
375
|
}
|
|
376
|
+
// Input types too generic to prove field identity on their own.
|
|
377
|
+
const GENERIC_INPUT_TYPES = new Set([
|
|
378
|
+
"text",
|
|
379
|
+
"search",
|
|
380
|
+
"hidden",
|
|
381
|
+
"submit",
|
|
382
|
+
"button",
|
|
383
|
+
"reset",
|
|
384
|
+
"image",
|
|
385
|
+
"checkbox",
|
|
386
|
+
"radio",
|
|
387
|
+
"file",
|
|
388
|
+
"",
|
|
389
|
+
]);
|
|
390
|
+
// Autocomplete tokens that do not identify a field role (browser hints only).
|
|
391
|
+
const NON_ROLE_AUTOCOMPLETE = new Set(["on", "off", "webauthn"]);
|
|
392
|
+
/**
|
|
393
|
+
* Locale-stable field-role signal for money-path fill safety.
|
|
394
|
+
*
|
|
395
|
+
* Priority (never visible label text — that breaks EN→JP cross-locale reuse):
|
|
396
|
+
* 1. autocomplete token (given-name, family-name, postal-code, …)
|
|
397
|
+
* 2. data-role / data-field-role attribute
|
|
398
|
+
* 3. distinguishing input type (email, tel, number, …) — not plain "text"
|
|
399
|
+
*
|
|
400
|
+
* Returns null when nothing stable is available. Callers must treat null as a
|
|
401
|
+
* miss: absence of proof is not proof of identity.
|
|
402
|
+
*/
|
|
403
|
+
export function localeStableFieldRole(element) {
|
|
404
|
+
const rawAc = (element.autocomplete ?? "").trim().toLowerCase();
|
|
405
|
+
if (rawAc.length > 0) {
|
|
406
|
+
// HTML autocomplete may be space-separated ("shipping given-name"). Prefer
|
|
407
|
+
// the rightmost non-section token — section prefixes (shipping/billing)
|
|
408
|
+
// are useful but the field kind is the last token.
|
|
409
|
+
const tokens = rawAc.split(/\s+/).filter((t) => t.length > 0);
|
|
410
|
+
for (let i = tokens.length - 1; i >= 0; i--) {
|
|
411
|
+
const token = tokens[i];
|
|
412
|
+
if (token.startsWith("section-"))
|
|
413
|
+
continue;
|
|
414
|
+
if (token === "shipping" || token === "billing")
|
|
415
|
+
continue;
|
|
416
|
+
if (NON_ROLE_AUTOCOMPLETE.has(token))
|
|
417
|
+
continue;
|
|
418
|
+
return `ac:${token}`;
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
const dataRole = (element.dataRole ?? "").trim().toLowerCase();
|
|
422
|
+
if (dataRole.length > 0)
|
|
423
|
+
return `data:${dataRole.slice(0, 80)}`;
|
|
424
|
+
const inputType = (element.type ?? "").trim().toLowerCase();
|
|
425
|
+
if (!GENERIC_INPUT_TYPES.has(inputType))
|
|
426
|
+
return `type:${inputType}`;
|
|
427
|
+
return null;
|
|
428
|
+
}
|
|
429
|
+
/** True only when both sides have a role signal and they agree exactly. */
|
|
430
|
+
export function fieldRoleMatches(recorded, element) {
|
|
431
|
+
if (recorded === undefined || recorded.length === 0)
|
|
432
|
+
return false;
|
|
433
|
+
const live = localeStableFieldRole(element);
|
|
434
|
+
return live !== null && live === recorded;
|
|
435
|
+
}
|
|
593
436
|
/** Ordered fallback. It is intentionally not a weighted/scored matcher. */
|
|
594
437
|
export function resolveRecipeTarget(elements, target) {
|
|
595
438
|
const first = (matches) => {
|
|
@@ -655,7 +498,15 @@ export function resolveRecipeFieldTarget(elements, target) {
|
|
|
655
498
|
const resolution = resolveRecipeTarget(elements, target);
|
|
656
499
|
if (resolution === null)
|
|
657
500
|
return null;
|
|
658
|
-
|
|
501
|
+
// Money fields resolve by id/testid only (no fuzzy name/label) so an id
|
|
502
|
+
// drift cannot smuggle a value via a looser match. Then require a
|
|
503
|
+
// locale-stable role match so a page whose labels (or worse, role tokens)
|
|
504
|
+
// have moved under the same id cannot receive a confident wrong fill.
|
|
505
|
+
if (resolution.via !== "testid" && resolution.via !== "id")
|
|
506
|
+
return null;
|
|
507
|
+
if (!fieldRoleMatches(target.field_role, resolution.element))
|
|
508
|
+
return null;
|
|
509
|
+
return resolution;
|
|
659
510
|
}
|
|
660
511
|
export function hasRecipeTargetCandidate(elements, target) {
|
|
661
512
|
const wantedAccessibleName = targetNorm(target.accessible_name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator-recipe.js","sourceRoot":"","sources":["../../src/bot/operator-recipe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operator-recipe.js","sourceRoot":"","sources":["../../src/bot/operator-recipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,8 @@ interface PayDependencies {
|
|
|
29
29
|
surfaceApprovalUrl: (url: string) => void | Promise<void>;
|
|
30
30
|
onCardResolved: (cardRef: string) => void;
|
|
31
31
|
}
|
|
32
|
+
/** The signed-payment drift check, reusable before the approval ceremony begins. */
|
|
33
|
+
export declare function checkoutSummaryMatches(expected: CheckoutSummary, observed: CheckoutSummary | undefined): boolean;
|
|
32
34
|
export declare function executeOperatePay(args: OperatePayArgs, api: ApiClient, browser: PaymentBrowser, overrides?: Partial<PayDependencies>): Promise<Record<string, unknown>>;
|
|
33
35
|
export {};
|
|
34
36
|
//# sourceMappingURL=pay-operator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay-operator.d.ts","sourceRoot":"","sources":["../../src/bot/pay-operator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGxF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACzE,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzE,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;IACzF,UAAU,IAAI,MAAM,CAAC;CACtB;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAK1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAkMD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,cAAc,EACvB,SAAS,GAAE,OAAO,CAAC,eAAe,CAAM,GACvC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"pay-operator.d.ts","sourceRoot":"","sources":["../../src/bot/pay-operator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGxF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACzE,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzE,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;IACzF,UAAU,IAAI,MAAM,CAAC;CACtB;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAK1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAkMD,oFAAoF;AACpF,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,eAAe,GAAG,SAAS,GACpC,OAAO,CAQT;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,cAAc,EACvB,SAAS,GAAE,OAAO,CAAC,eAAe,CAAM,GACvC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmflC"}
|
package/dist/bot/pay-operator.js
CHANGED
|
@@ -179,6 +179,14 @@ function defaultDependencies() {
|
|
|
179
179
|
function logPaymentReviewLifecycle(event) {
|
|
180
180
|
process.stderr.write(`${JSON.stringify(event)}\n`);
|
|
181
181
|
}
|
|
182
|
+
/** The signed-payment drift check, reusable before the approval ceremony begins. */
|
|
183
|
+
export function checkoutSummaryMatches(expected, observed) {
|
|
184
|
+
return (observed !== undefined &&
|
|
185
|
+
observed.amount_cents === expected.amount_cents &&
|
|
186
|
+
observed.currency === expected.currency &&
|
|
187
|
+
observed.merchant === expected.merchant &&
|
|
188
|
+
observed.checkout_origin === expected.checkout_origin);
|
|
189
|
+
}
|
|
182
190
|
export async function executeOperatePay(args, api, browser, overrides = {}) {
|
|
183
191
|
const deps = { ...defaultDependencies(), ...overrides };
|
|
184
192
|
const threeDsWaitMs = Math.min(Math.max(args.three_ds_wait_seconds ?? 180, 0), 600) * 1000;
|
|
@@ -535,11 +543,7 @@ export async function executeOperatePay(args, api, browser, overrides = {}) {
|
|
|
535
543
|
catch {
|
|
536
544
|
live = undefined;
|
|
537
545
|
}
|
|
538
|
-
if (live
|
|
539
|
-
live.amount_cents !== checkout.amount_cents ||
|
|
540
|
-
live.currency !== checkout.currency ||
|
|
541
|
-
live.merchant !== checkout.merchant ||
|
|
542
|
-
live.checkout_origin !== checkout.checkout_origin) {
|
|
546
|
+
if (!checkoutSummaryMatches(checkout, live)) {
|
|
543
547
|
return {
|
|
544
548
|
status: "payment_amount_mismatch",
|
|
545
549
|
approval_url: approvalUrl,
|