@mlola/browser-core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +10 -0
  3. package/dist/action-space.d.ts +36 -0
  4. package/dist/action-space.d.ts.map +1 -0
  5. package/dist/action-space.js +264 -0
  6. package/dist/action-space.js.map +1 -0
  7. package/dist/budget.d.ts +32 -0
  8. package/dist/budget.d.ts.map +1 -0
  9. package/dist/budget.js +127 -0
  10. package/dist/budget.js.map +1 -0
  11. package/dist/decision-validation.d.ts +31 -0
  12. package/dist/decision-validation.d.ts.map +1 -0
  13. package/dist/decision-validation.js +114 -0
  14. package/dist/decision-validation.js.map +1 -0
  15. package/dist/executor.d.ts +37 -0
  16. package/dist/executor.d.ts.map +1 -0
  17. package/dist/executor.js +209 -0
  18. package/dist/executor.js.map +1 -0
  19. package/dist/fallback.d.ts +19 -0
  20. package/dist/fallback.d.ts.map +1 -0
  21. package/dist/fallback.js +36 -0
  22. package/dist/fallback.js.map +1 -0
  23. package/dist/index.d.ts +10 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +10 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/orchestrator.d.ts +50 -0
  28. package/dist/orchestrator.d.ts.map +1 -0
  29. package/dist/orchestrator.js +1168 -0
  30. package/dist/orchestrator.js.map +1 -0
  31. package/dist/state.d.ts +12 -0
  32. package/dist/state.d.ts.map +1 -0
  33. package/dist/state.js +60 -0
  34. package/dist/state.js.map +1 -0
  35. package/dist/text.d.ts +34 -0
  36. package/dist/text.d.ts.map +1 -0
  37. package/dist/text.js +137 -0
  38. package/dist/text.js.map +1 -0
  39. package/dist/verifier.d.ts +41 -0
  40. package/dist/verifier.d.ts.map +1 -0
  41. package/dist/verifier.js +237 -0
  42. package/dist/verifier.js.map +1 -0
  43. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Compact state rendering shared by planner and fallback providers.
3
+ *
4
+ * The fast path renders its own state inside the Jev provider, but anything
5
+ * that talks to a general model gets this condensed, provenance-marked view.
6
+ */
7
+ import type { BrowserSnapshot, StepSummary } from "@mlola/browser-protocol";
8
+ export declare const summarizeSnapshot: (snapshot: BrowserSnapshot, maxNodes?: number) => string;
9
+ export declare const renderHistory: (history: readonly StepSummary[], limit?: number) => string;
10
+ /** Conservative complexity heuristic: when in doubt, plan. */
11
+ export declare const looksComplex: (goal: string) => boolean;
12
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,eAAO,MAAM,iBAAiB,GAAI,UAAU,eAAe,EAAE,iBAAa,KAAG,MA2B5E,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,SAAS,WAAW,EAAE,EAAE,cAAU,KAAG,MAM3E,CAAC;AAMF,8DAA8D;AAC9D,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,OAO3C,CAAC"}
package/dist/state.js ADDED
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Compact state rendering shared by planner and fallback providers.
3
+ *
4
+ * The fast path renders its own state inside the Jev provider, but anything
5
+ * that talks to a general model gets this condensed, provenance-marked view.
6
+ */
7
+ export const summarizeSnapshot = (snapshot, maxNodes = 30) => {
8
+ const lines = [];
9
+ lines.push(`url: ${snapshot.url}`);
10
+ lines.push(`title: ${snapshot.title}`);
11
+ if (snapshot.blockingUi) {
12
+ lines.push(`blocking_ui: ${snapshot.blockingUi.kind}${snapshot.blockingUi.text ? ` ${JSON.stringify(snapshot.blockingUi.text.slice(0, 120))}` : ""}`);
13
+ }
14
+ const tabs = snapshot.tabs.map((t) => `${t.id}${t.active ? "*" : ""} ${JSON.stringify(t.title || t.url)}`).join(" | ");
15
+ if (tabs.length > 0)
16
+ lines.push(`tabs: ${tabs}`);
17
+ lines.push(`viewport: ${snapshot.viewport.width}x${snapshot.viewport.height} scroll_y=${Math.round(snapshot.viewport.scrollY)}/${Math.round(snapshot.viewport.documentHeight)}`);
18
+ if (snapshot.textSummary.trim().length > 0) {
19
+ lines.push("visible_text:");
20
+ for (const line of snapshot.textSummary.split("\n").slice(0, 12)) {
21
+ lines.push(` ${line.slice(0, 160)}`);
22
+ }
23
+ }
24
+ lines.push("controls:");
25
+ for (const node of snapshot.nodes.slice(0, maxNodes)) {
26
+ const bits = [`[${node.index}]`, node.role, JSON.stringify(node.label.slice(0, 60))];
27
+ if (node.value)
28
+ bits.push(`value=${JSON.stringify(node.value.slice(0, 40))}`);
29
+ if (node.flags.offscreen)
30
+ bits.push("(offscreen)");
31
+ lines.push(` ${bits.join(" ")}`);
32
+ }
33
+ if (snapshot.nodes.length > maxNodes)
34
+ lines.push(` … ${snapshot.nodes.length - maxNodes} more controls`);
35
+ return lines.join("\n");
36
+ };
37
+ export const renderHistory = (history, limit = 10) => {
38
+ if (history.length === 0)
39
+ return "(no steps yet)";
40
+ return history
41
+ .slice(-limit)
42
+ .map((s) => `${s.step}. ${s.action} -> ${s.outcome}${s.detail ? ` (${s.detail})` : ""}`)
43
+ .join("\n");
44
+ };
45
+ const MULTI_STEP_MARKERS = /\b(then|after that|afterwards|and then|and also|followed by|finally|first\b.*\bthen\b|kemudian|lalu|setelah itu|selanjutnya)\b/i;
46
+ const MULTI_CLAUSE = /[.;]\s+\S/;
47
+ /** Conservative complexity heuristic: when in doubt, plan. */
48
+ export const looksComplex = (goal) => {
49
+ if (goal.length > 140)
50
+ return true;
51
+ if (MULTI_STEP_MARKERS.test(goal))
52
+ return true;
53
+ const sentences = goal.split(/[.!?]\s+/).filter((s) => s.trim().length > 12);
54
+ if (sentences.length >= 2)
55
+ return true;
56
+ if (MULTI_CLAUSE.test(goal) && goal.length > 80)
57
+ return true;
58
+ return false;
59
+ };
60
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/dist/text.d.ts ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Text strategy (PRD §17).
3
+ *
4
+ * The fast path decides whether and where to type; the runtime decides what
5
+ * text to type. Literal reuse comes first — quoting the user's own words is
6
+ * always cheaper and safer than generating new ones. A text model is consulted
7
+ * only when a transformation is genuinely required and one is configured;
8
+ * otherwise the runtime asks the person.
9
+ */
10
+ import { RuntimeError } from "@mlola/browser-protocol";
11
+ import type { TextGenerationInput, TextProvider } from "@mlola/browser-protocol";
12
+ export interface LiteralExtraction {
13
+ literals: string[];
14
+ /** The literal the goal most likely intends as a field value. */
15
+ best?: string;
16
+ /** Why `best` was chosen, for the trace. */
17
+ reason: string;
18
+ }
19
+ export declare const extractLiterals: (goal: string) => LiteralExtraction;
20
+ export interface ResolveTextDeps {
21
+ provider?: TextProvider;
22
+ maxLength: number;
23
+ }
24
+ export interface ResolvedText {
25
+ text: string;
26
+ source: "literal" | "model" | "user";
27
+ provider: string;
28
+ detail: string;
29
+ }
30
+ export declare class TextUnavailableError extends RuntimeError {
31
+ constructor(message: string);
32
+ }
33
+ export declare const resolveText: (input: TextGenerationInput, deps: ResolveTextDeps) => Promise<ResolvedText>;
34
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,YAAY,EAGb,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAwB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAsCD,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,iBAuC9C,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,oBAAqB,SAAQ,YAAY;gBACxC,OAAO,EAAE,MAAM;CAQ5B;AAED,eAAO,MAAM,WAAW,GACtB,OAAO,mBAAmB,EAC1B,MAAM,eAAe,KACpB,OAAO,CAAC,YAAY,CAoDtB,CAAC"}
package/dist/text.js ADDED
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Text strategy (PRD §17).
3
+ *
4
+ * The fast path decides whether and where to type; the runtime decides what
5
+ * text to type. Literal reuse comes first — quoting the user's own words is
6
+ * always cheaper and safer than generating new ones. A text model is consulted
7
+ * only when a transformation is genuinely required and one is configured;
8
+ * otherwise the runtime asks the person.
9
+ */
10
+ import { RuntimeError, screenGeneratedText, textModelResponseSchema, } from "@mlola/browser-protocol";
11
+ const QUOTED = [
12
+ /"([^"\n]{1,200})"/g,
13
+ /'([^'\n]{1,200})'/g,
14
+ /“([^”\n]{1,200})”/g,
15
+ /‘([^’\n]{1,200})’/g,
16
+ ];
17
+ /**
18
+ * A literal after a verb must stop at the next preposition, otherwise
19
+ * "type August travel into the title field" captures the whole sentence.
20
+ */
21
+ const VALUE = `([^"'“”\\n]{2,120}?)(?=\\s+(?:into|in|to|on|at|from|with|for|and|then|after|before|please|yang|ke|di|dan|lalu)\\b|["'“”]|[.,;!?)]|$)`;
22
+ const VERB_PATTERNS = [
23
+ new RegExp(`\\b(?:search|look)\\s+(?:for|up)\\s+["'“‘]?${VALUE}`, "gi"),
24
+ new RegExp(`\\bfind\\s+["'“‘]?${VALUE}`, "gi"),
25
+ new RegExp(`\\b(?:type|enter|input|fill(?:\\s+in)?|write|paste)\\s+(?:the\\s+)?(?:text\\s+)?["'“‘]?${VALUE}`, "gi"),
26
+ new RegExp(`\\b(?:cari|ketik|masukkan|isi|tulis)\\s+["'“‘]?${VALUE}`, "gi"),
27
+ ];
28
+ const STRUCTURED = [
29
+ /[\w.+-]+@[\w-]+\.[\w.-]{2,}/g, // email
30
+ /https?:\/\/[^\s"'<>]+/g, // url
31
+ /\b\d{4}-\d{2}-\d{2}\b/g, // iso date
32
+ /\b\d{1,2}[/-]\d{1,2}[/-]\d{2,4}\b/g, // numeric date
33
+ ];
34
+ const TRAILING_STOPWORDS = /\s+(?:into|in|on|to|from|with|and|then|after|before|please|for|the|a|an|yang|ke|di|dan|lalu)\s*$/i;
35
+ const clean = (raw) => {
36
+ let value = raw.trim().replace(TRAILING_STOPWORDS, "").trim();
37
+ value = value.replace(/[.,;:]+$/, "").trim();
38
+ return value;
39
+ };
40
+ export const extractLiterals = (goal) => {
41
+ const literals = [];
42
+ const seen = new Set();
43
+ const push = (value) => {
44
+ const cleaned = clean(value);
45
+ if (cleaned.length === 0 || cleaned.length > 200)
46
+ return;
47
+ const key = cleaned.toLowerCase();
48
+ if (seen.has(key))
49
+ return;
50
+ seen.add(key);
51
+ literals.push(cleaned);
52
+ };
53
+ for (const re of QUOTED) {
54
+ for (const m of goal.matchAll(re))
55
+ if (m[1])
56
+ push(m[1]);
57
+ }
58
+ let verbLiteral;
59
+ for (const re of VERB_PATTERNS) {
60
+ for (const m of goal.matchAll(re)) {
61
+ if (!m[1])
62
+ continue;
63
+ push(m[1]);
64
+ verbLiteral = clean(m[1]);
65
+ }
66
+ }
67
+ for (const re of STRUCTURED) {
68
+ for (const m of goal.matchAll(re))
69
+ push(m[0]);
70
+ }
71
+ if (verbLiteral !== undefined && verbLiteral.length > 0) {
72
+ return { literals, best: verbLiteral, reason: "literal follows a type/search verb in the goal" };
73
+ }
74
+ if (literals.length === 1) {
75
+ return { literals, best: literals[0], reason: "single literal in the goal" };
76
+ }
77
+ if (literals.length > 1) {
78
+ return { literals, best: literals[0], reason: "first literal in the goal (ambiguous, may need a text provider)" };
79
+ }
80
+ return { literals: [], reason: "no literal value found in the goal" };
81
+ };
82
+ export class TextUnavailableError extends RuntimeError {
83
+ constructor(message) {
84
+ super("INTERNAL", message, {
85
+ detail: "the field needs generated text, but no text provider is configured. " +
86
+ "Configure a text provider (MLOLA_TEXT_*) or hand this step to a person.",
87
+ retryable: false,
88
+ });
89
+ }
90
+ }
91
+ export const resolveText = async (input, deps) => {
92
+ const extraction = extractLiterals(input.goal);
93
+ const candidates = extraction.literals;
94
+ // 1. Literal reuse — only when the goal clearly provides the value.
95
+ const confident = extraction.reason.startsWith("literal follows") || extraction.reason.startsWith("single literal");
96
+ if (extraction.best !== undefined && confident) {
97
+ const literal = extraction.best;
98
+ if (literal.length <= deps.maxLength) {
99
+ return {
100
+ text: literal,
101
+ source: "literal",
102
+ provider: "literal",
103
+ detail: extraction.reason,
104
+ };
105
+ }
106
+ }
107
+ // 2. Generation, but only with a configured provider.
108
+ if (!deps.provider) {
109
+ throw new TextUnavailableError(`cannot determine what to type into ${input.targetRole} ${JSON.stringify(input.targetLabel)}`);
110
+ }
111
+ const output = await deps.provider.generate({
112
+ ...input,
113
+ literals: candidates,
114
+ maxLength: input.maxLength ?? deps.maxLength,
115
+ });
116
+ const parsed = textModelResponseSchema.safeParse({ text: output.text });
117
+ if (!parsed.success) {
118
+ throw new RuntimeError("DECISION_INVALID", "text provider returned an invalid payload", {
119
+ detail: parsed.error.issues.map((i) => i.message).join("; "),
120
+ });
121
+ }
122
+ const text = parsed.data.text.trim();
123
+ if (text.length === 0) {
124
+ throw new RuntimeError("DECISION_INVALID", "text provider returned empty text");
125
+ }
126
+ if (text.length > deps.maxLength) {
127
+ throw new RuntimeError("DECISION_INVALID", `generated text exceeds ${deps.maxLength} characters`);
128
+ }
129
+ const screen = screenGeneratedText(text);
130
+ if (screen.hasSecret) {
131
+ throw new RuntimeError("SECRET_TARGET", "generated text contains credential-like content", {
132
+ detail: screen.reasons.join("; "),
133
+ });
134
+ }
135
+ return { text, source: "model", provider: output.provider, detail: `generated (${output.provider})` };
136
+ };
137
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Verification (PRD §27, §51).
3
+ *
4
+ * Step verification compares the action's intent against the observation before
5
+ * and after execution. Completion verification is the independent oracle for
6
+ * `DONE`: runtime events, URL state, DOM evidence, artifacts — never the
7
+ * model's own claim.
8
+ */
9
+ import type { ArtifactSummary, BrowserSnapshot, CompletionSpec, RunEvent, TaskSpec, TypedAction, VerificationResult } from "@mlola/browser-protocol";
10
+ import type { ActionOutcome } from "@mlola/browser-backend";
11
+ export interface StepVerificationInput {
12
+ action: TypedAction;
13
+ before: BrowserSnapshot;
14
+ after: BrowserSnapshot;
15
+ outcome: ActionOutcome;
16
+ /** Artifact registered as a result of this step, when one was produced. */
17
+ artifact?: ArtifactSummary;
18
+ /** All artifacts known so far. */
19
+ artifacts: ArtifactSummary[];
20
+ /** Deterministic upload evidence from the backend or page, when available. */
21
+ uploadEvidence?: string;
22
+ }
23
+ export interface StepVerification extends VerificationResult {
24
+ /** True when the action executed cleanly but produced no observable change. */
25
+ noEffect?: boolean;
26
+ }
27
+ export declare const verifyStep: (input: StepVerificationInput) => StepVerification;
28
+ /**
29
+ * Deterministic, conservative oracle inference from the goal text. Used only
30
+ * when the caller did not supply explicit success criteria.
31
+ */
32
+ export declare const inferDocumentTypeHint: (goal: string) => string | undefined;
33
+ export declare const inferCompletionCriteria: (goal: string) => CompletionSpec | undefined;
34
+ export interface CompletionContext {
35
+ snapshot?: BrowserSnapshot;
36
+ artifacts: ArtifactSummary[];
37
+ events?: readonly RunEvent[];
38
+ manualConfirmed?: boolean;
39
+ }
40
+ export declare const verifyCompletion: (task: TaskSpec, ctx: CompletionContext) => VerificationResult;
41
+ //# sourceMappingURL=verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../src/verifier.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,cAAc,EAEd,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5D,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,kCAAkC;IAClC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAcD,eAAO,MAAM,UAAU,GAAI,OAAO,qBAAqB,KAAG,gBA2KzD,CAAC;AAkBF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SACN,CAAC;AAEzD,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,cAAc,GAAG,SA6BvE,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,EAAE,KAAK,iBAAiB,KAAG,kBAwBzE,CAAC"}