@beeos-ai/device-agent 0.15.0 → 0.16.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 (240) hide show
  1. package/README.md +35 -0
  2. package/dist/adapters/agent-gateway-client.d.ts +6 -68
  3. package/dist/adapters/agent-gateway-client.js +7 -67
  4. package/dist/adapters/agent-gateway-client.js.map +1 -1
  5. package/dist/adapters/device-compat.d.ts +1 -2
  6. package/dist/adapters/device-compat.js +2 -52
  7. package/dist/adapters/device-compat.js.map +1 -1
  8. package/dist/agent-runtime/action-guard.js +92 -17
  9. package/dist/agent-runtime/action-guard.js.map +1 -1
  10. package/dist/agent-runtime/adapters/base.d.ts +13 -9
  11. package/dist/agent-runtime/adapters/base.js.map +1 -1
  12. package/dist/agent-runtime/adapters/general-flash.d.ts +3 -3
  13. package/dist/agent-runtime/adapters/general-flash.js +2 -2
  14. package/dist/agent-runtime/adapters/general-flash.js.map +1 -1
  15. package/dist/agent-runtime/adapters/native-tools.d.ts +56 -0
  16. package/dist/agent-runtime/adapters/native-tools.js +416 -0
  17. package/dist/agent-runtime/adapters/native-tools.js.map +1 -0
  18. package/dist/agent-runtime/adapters/openai.d.ts +1 -2
  19. package/dist/agent-runtime/adapters/openai.js +5 -5
  20. package/dist/agent-runtime/adapters/openai.js.map +1 -1
  21. package/dist/agent-runtime/adapters/pro.d.ts +7 -37
  22. package/dist/agent-runtime/adapters/pro.js +7 -249
  23. package/dist/agent-runtime/adapters/pro.js.map +1 -1
  24. package/dist/agent-runtime/advanced/app-card.js +9 -2
  25. package/dist/agent-runtime/advanced/app-card.js.map +1 -1
  26. package/dist/agent-runtime/advanced/subgoal-verifier.d.ts +1 -0
  27. package/dist/agent-runtime/advanced/subgoal-verifier.js +30 -36
  28. package/dist/agent-runtime/advanced/subgoal-verifier.js.map +1 -1
  29. package/dist/agent-runtime/advanced/task-state.js +4 -9
  30. package/dist/agent-runtime/advanced/task-state.js.map +1 -1
  31. package/dist/agent-runtime/agent-runner.d.ts +2 -11
  32. package/dist/agent-runtime/agent-runner.js +69 -34
  33. package/dist/agent-runtime/agent-runner.js.map +1 -1
  34. package/dist/agent-runtime/core.d.ts +24 -46
  35. package/dist/agent-runtime/core.js +161 -228
  36. package/dist/agent-runtime/core.js.map +1 -1
  37. package/dist/agent-runtime/execution-checks.d.ts +40 -0
  38. package/dist/agent-runtime/execution-checks.js +133 -0
  39. package/dist/agent-runtime/execution-checks.js.map +1 -0
  40. package/dist/agent-runtime/execution-mode.d.ts +1 -8
  41. package/dist/agent-runtime/execution-mode.js +10 -30
  42. package/dist/agent-runtime/execution-mode.js.map +1 -1
  43. package/dist/agent-runtime/feedback.d.ts +4 -28
  44. package/dist/agent-runtime/feedback.js +4 -26
  45. package/dist/agent-runtime/feedback.js.map +1 -1
  46. package/dist/agent-runtime/form-prerequisites.d.ts +3 -0
  47. package/dist/agent-runtime/form-prerequisites.js +52 -0
  48. package/dist/agent-runtime/form-prerequisites.js.map +1 -0
  49. package/dist/agent-runtime/index.d.ts +2 -8
  50. package/dist/agent-runtime/index.js +2 -8
  51. package/dist/agent-runtime/index.js.map +1 -1
  52. package/dist/agent-runtime/{modes/orchestrator → knowledge}/app-guide.d.ts +1 -1
  53. package/dist/agent-runtime/{modes/orchestrator → knowledge}/app-guide.js +1 -1
  54. package/dist/agent-runtime/knowledge/app-guide.js.map +1 -0
  55. package/dist/agent-runtime/models/base.d.ts +3 -1
  56. package/dist/agent-runtime/models/client.js +30 -9
  57. package/dist/agent-runtime/models/client.js.map +1 -1
  58. package/dist/agent-runtime/models/reasoning.d.ts +10 -0
  59. package/dist/agent-runtime/models/reasoning.js +29 -0
  60. package/dist/agent-runtime/models/reasoning.js.map +1 -0
  61. package/dist/agent-runtime/models/runtime-registry.d.ts +2 -1
  62. package/dist/agent-runtime/models/runtime-registry.js +4 -2
  63. package/dist/agent-runtime/models/runtime-registry.js.map +1 -1
  64. package/dist/agent-runtime/models/vlm/autoglm.js +6 -2
  65. package/dist/agent-runtime/models/vlm/autoglm.js.map +1 -1
  66. package/dist/agent-runtime/models/vlm/base.js +1 -12
  67. package/dist/agent-runtime/models/vlm/base.js.map +1 -1
  68. package/dist/agent-runtime/models/vlm/index.d.ts +0 -4
  69. package/dist/agent-runtime/models/vlm/index.js +0 -4
  70. package/dist/agent-runtime/models/vlm/index.js.map +1 -1
  71. package/dist/agent-runtime/modes/hybrid/index.d.ts +2 -12
  72. package/dist/agent-runtime/modes/hybrid/index.js +10 -27
  73. package/dist/agent-runtime/modes/hybrid/index.js.map +1 -1
  74. package/dist/agent-runtime/modes/hybrid/planner/base.d.ts +4 -44
  75. package/dist/agent-runtime/modes/hybrid/planner/base.js +3 -21
  76. package/dist/agent-runtime/modes/hybrid/planner/base.js.map +1 -1
  77. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.d.ts +1 -1
  78. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.js +9 -6
  79. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.js.map +1 -1
  80. package/dist/agent-runtime/modes/hybrid/planner/prompts.d.ts +1 -17
  81. package/dist/agent-runtime/modes/hybrid/planner/prompts.js +65 -160
  82. package/dist/agent-runtime/modes/hybrid/planner/prompts.js.map +1 -1
  83. package/dist/agent-runtime/plan-executor.d.ts +13 -14
  84. package/dist/agent-runtime/plan-executor.js +236 -122
  85. package/dist/agent-runtime/plan-executor.js.map +1 -1
  86. package/dist/agent-runtime/pro-memory.js +1 -1
  87. package/dist/agent-runtime/pro-memory.js.map +1 -1
  88. package/dist/agent-runtime/pro-operator.js +8 -2
  89. package/dist/agent-runtime/pro-operator.js.map +1 -1
  90. package/dist/agent-runtime/pro-perception.d.ts +1 -0
  91. package/dist/agent-runtime/pro-perception.js +4 -2
  92. package/dist/agent-runtime/pro-perception.js.map +1 -1
  93. package/dist/agent-runtime/pro-target-check.d.ts +2 -2
  94. package/dist/agent-runtime/pro-target-check.js +102 -17
  95. package/dist/agent-runtime/pro-target-check.js.map +1 -1
  96. package/dist/agent-runtime/prompts/operator.d.ts +2 -0
  97. package/dist/agent-runtime/prompts/operator.js +69 -0
  98. package/dist/agent-runtime/prompts/operator.js.map +1 -0
  99. package/dist/agent-runtime/prompts/verification.d.ts +2 -0
  100. package/dist/agent-runtime/prompts/verification.js +52 -0
  101. package/dist/agent-runtime/prompts/verification.js.map +1 -0
  102. package/dist/agent-runtime/skills/replay.d.ts +4 -14
  103. package/dist/agent-runtime/skills/replay.js +46 -27
  104. package/dist/agent-runtime/skills/replay.js.map +1 -1
  105. package/dist/agent-runtime/tool-batch.d.ts +10 -0
  106. package/dist/agent-runtime/tool-batch.js +51 -0
  107. package/dist/agent-runtime/tool-batch.js.map +1 -0
  108. package/dist/agent-runtime/visual-state.d.ts +2 -0
  109. package/dist/agent-runtime/visual-state.js +24 -0
  110. package/dist/agent-runtime/visual-state.js.map +1 -0
  111. package/dist/agent-runtime/vlm.d.ts +1 -1
  112. package/dist/agent-runtime/vlm.js +1 -1
  113. package/dist/api.js +3 -1
  114. package/dist/api.js.map +1 -1
  115. package/dist/app/agent-host.js +6 -2
  116. package/dist/app/agent-host.js.map +1 -1
  117. package/dist/app/multi-device-host.js +4 -5
  118. package/dist/app/multi-device-host.js.map +1 -1
  119. package/dist/app/session-manager.d.ts +3 -45
  120. package/dist/app/session-manager.js +8 -9
  121. package/dist/app/session-manager.js.map +1 -1
  122. package/dist/bootstrap.js +25 -84
  123. package/dist/bootstrap.js.map +1 -1
  124. package/dist/config/loader.js +12 -1
  125. package/dist/config/loader.js.map +1 -1
  126. package/dist/config/schema.d.ts +7 -2
  127. package/dist/config/schema.js +8 -5
  128. package/dist/config/schema.js.map +1 -1
  129. package/dist/core/abortable-read.d.ts +1 -0
  130. package/dist/core/abortable-read.js +24 -0
  131. package/dist/core/abortable-read.js.map +1 -0
  132. package/dist/device/ui-xml.d.ts +4 -0
  133. package/dist/device/ui-xml.js +35 -13
  134. package/dist/device/ui-xml.js.map +1 -1
  135. package/dist/fleet/adapters/process/node-process-manager.d.ts +2 -1
  136. package/dist/fleet/adapters/process/node-process-manager.js +11 -19
  137. package/dist/fleet/adapters/process/node-process-manager.js.map +1 -1
  138. package/dist/inbound/acp/handlers/models.js +11 -8
  139. package/dist/inbound/acp/handlers/models.js.map +1 -1
  140. package/dist/inbound/acp/handlers/session.d.ts +1 -4
  141. package/dist/inbound/acp/handlers/session.js +3 -6
  142. package/dist/inbound/acp/handlers/session.js.map +1 -1
  143. package/dist/inbound/bma/agent.d.ts +47 -0
  144. package/dist/inbound/bma/agent.js +130 -0
  145. package/dist/inbound/bma/agent.js.map +1 -0
  146. package/dist/inbound/bma/command.d.ts +15 -0
  147. package/dist/inbound/bma/command.js +98 -0
  148. package/dist/inbound/bma/command.js.map +1 -0
  149. package/dist/inbound/bma/model-proxy.d.ts +22 -0
  150. package/dist/inbound/bma/model-proxy.js +130 -0
  151. package/dist/inbound/bma/model-proxy.js.map +1 -0
  152. package/dist/inbound/cli/main.js +12 -2
  153. package/dist/inbound/cli/main.js.map +1 -1
  154. package/dist/inbound/cli/run-artifacts.js +16 -7
  155. package/dist/inbound/cli/run-artifacts.js.map +1 -1
  156. package/dist/inbound/cli/run-command.d.ts +7 -0
  157. package/dist/inbound/cli/run-command.js +37 -29
  158. package/dist/inbound/cli/run-command.js.map +1 -1
  159. package/dist/index.d.ts +1 -10
  160. package/dist/index.js +1 -6
  161. package/dist/index.js.map +1 -1
  162. package/dist/mcp-client/autospawn.d.ts +7 -9
  163. package/dist/mcp-client/autospawn.js +16 -12
  164. package/dist/mcp-client/autospawn.js.map +1 -1
  165. package/dist/mcp-client/client.d.ts +6 -3
  166. package/dist/mcp-client/client.js +31 -13
  167. package/dist/mcp-client/client.js.map +1 -1
  168. package/dist/mcp-client/runtime.d.ts +5 -2
  169. package/dist/plugins/agent-sync/index.d.ts +32 -17
  170. package/dist/plugins/agent-sync/index.js +223 -232
  171. package/dist/plugins/agent-sync/index.js.map +1 -1
  172. package/dist/plugins/message-bus/inbound.d.ts +0 -32
  173. package/dist/plugins/message-bus/inbound.js +3 -0
  174. package/dist/plugins/message-bus/inbound.js.map +1 -1
  175. package/dist/plugins/message-bus/ms-channel-notifier.d.ts +1 -0
  176. package/dist/plugins/message-bus/ms-channel-notifier.js +16 -8
  177. package/dist/plugins/message-bus/ms-channel-notifier.js.map +1 -1
  178. package/dist/plugins/native-chat/deadline.d.ts +2 -0
  179. package/dist/plugins/native-chat/deadline.js +16 -0
  180. package/dist/plugins/native-chat/deadline.js.map +1 -0
  181. package/dist/plugins/native-chat/index.d.ts +46 -0
  182. package/dist/plugins/native-chat/index.js +331 -0
  183. package/dist/plugins/native-chat/index.js.map +1 -0
  184. package/dist/plugins/native-chat/reply-stream.d.ts +50 -0
  185. package/dist/plugins/native-chat/reply-stream.js +81 -0
  186. package/dist/plugins/native-chat/reply-stream.js.map +1 -0
  187. package/dist/plugins/native-chat/session-notifier.d.ts +16 -0
  188. package/dist/plugins/native-chat/session-notifier.js +130 -0
  189. package/dist/plugins/native-chat/session-notifier.js.map +1 -0
  190. package/dist/ports/agent-core.d.ts +2 -0
  191. package/dist/ports/agent-host.d.ts +2 -0
  192. package/dist/ports/agent-host.js +0 -21
  193. package/dist/ports/agent-host.js.map +1 -1
  194. package/dist/ports/device.d.ts +0 -1
  195. package/dist/ports/device.js +0 -1
  196. package/dist/ports/device.js.map +1 -1
  197. package/dist/runtime-authority/device-prompt.gen.d.ts +54 -0
  198. package/dist/runtime-authority/device-prompt.gen.js +19 -0
  199. package/dist/runtime-authority/device-prompt.gen.js.map +1 -0
  200. package/dist/types.d.ts +10 -0
  201. package/dist/types.js +1 -0
  202. package/dist/types.js.map +1 -1
  203. package/package.json +5 -3
  204. package/dist/adapters/device-desktop.d.ts +0 -49
  205. package/dist/adapters/device-desktop.js +0 -132
  206. package/dist/adapters/device-desktop.js.map +0 -1
  207. package/dist/agent-runtime/factory.d.ts +0 -24
  208. package/dist/agent-runtime/factory.js +0 -25
  209. package/dist/agent-runtime/factory.js.map +0 -1
  210. package/dist/agent-runtime/models/vlm/guiowl.d.ts +0 -1
  211. package/dist/agent-runtime/models/vlm/guiowl.js +0 -249
  212. package/dist/agent-runtime/models/vlm/guiowl.js.map +0 -1
  213. package/dist/agent-runtime/models/vlm/maiui.d.ts +0 -1
  214. package/dist/agent-runtime/models/vlm/maiui.js +0 -142
  215. package/dist/agent-runtime/models/vlm/maiui.js.map +0 -1
  216. package/dist/agent-runtime/models/vlm/qwen38.d.ts +0 -1
  217. package/dist/agent-runtime/models/vlm/qwen38.js +0 -241
  218. package/dist/agent-runtime/models/vlm/qwen38.js.map +0 -1
  219. package/dist/agent-runtime/models/vlm/qwenvl.d.ts +0 -1
  220. package/dist/agent-runtime/models/vlm/qwenvl.js +0 -202
  221. package/dist/agent-runtime/models/vlm/qwenvl.js.map +0 -1
  222. package/dist/agent-runtime/modes/orchestrator/app-guide.js.map +0 -1
  223. package/dist/agent-runtime/modes/orchestrator/index.d.ts +0 -41
  224. package/dist/agent-runtime/modes/orchestrator/index.js +0 -218
  225. package/dist/agent-runtime/modes/orchestrator/index.js.map +0 -1
  226. package/dist/agent-runtime/modes/orchestrator/prompt.d.ts +0 -7
  227. package/dist/agent-runtime/modes/orchestrator/prompt.js +0 -53
  228. package/dist/agent-runtime/modes/orchestrator/prompt.js.map +0 -1
  229. package/dist/agent-runtime/reflection.d.ts +0 -100
  230. package/dist/agent-runtime/reflection.js +0 -241
  231. package/dist/agent-runtime/reflection.js.map +0 -1
  232. package/dist/agent-runtime/reflectors/action-reflector.d.ts +0 -97
  233. package/dist/agent-runtime/reflectors/action-reflector.js +0 -234
  234. package/dist/agent-runtime/reflectors/action-reflector.js.map +0 -1
  235. package/dist/agent-runtime/reflectors/policy.d.ts +0 -56
  236. package/dist/agent-runtime/reflectors/policy.js +0 -111
  237. package/dist/agent-runtime/reflectors/policy.js.map +0 -1
  238. package/dist/agent-runtime/reflectors/trajectory-reflector.d.ts +0 -93
  239. package/dist/agent-runtime/reflectors/trajectory-reflector.js +0 -224
  240. package/dist/agent-runtime/reflectors/trajectory-reflector.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/agent-runtime/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/agent-runtime/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /** Deterministic action validation and repeated-action detection. No model calls. */
2
+ import type { Action } from "@beeos-ai/device-common";
3
+ import type { StepHistory } from "./adapters/base.js";
4
+ /**
5
+ * Veto reason returned by {@link ExecutionChecks.maybeBlockAction}.
6
+ * - `reason` — short human-readable string, copied into the next StepHistory
7
+ * rationale so the grounder sees *why* its previous attempt was blocked.
8
+ * - `code` — stable identifier for telemetry / metrics tagging.
9
+ *
10
+ * `no_progress_repeat` is the hash-aware successor to
11
+ * `double_tap_same_coords` — emitted when {@link StepHistory.screenStateHashBefore}
12
+ * equals {@link StepHistory.screenStateHashAfter} (i.e. the previous
13
+ * action did not change the screen) and the next action is a near-repeat
14
+ * of it. Legacy veto codes remain in the type for persisted telemetry;
15
+ * pure-vision taps without progress evidence are not blocked by proximity.
16
+ */
17
+ export interface PreActionVeto {
18
+ code: "double_type_without_focus" | "double_tap_same_coords" | "no_progress_repeat" | "blind_swipe" | "vlm_emitted_shell";
19
+ reason: string;
20
+ }
21
+ /** Deterministic execution checks only. No model calls or credentials. */
22
+ export declare class ExecutionChecks {
23
+ /**
24
+ * Returns a non-empty veto reason when the loop should stop, or `null` if
25
+ * the run is healthy and may continue.
26
+ */
27
+ maybeVeto(history: StepHistory[], step: number, _maxSteps: number): string | null;
28
+ /**
29
+ * Pre-action sanity — block obviously-broken `nextAction` candidates
30
+ * **before** AgentLoop dispatches them to MCP. Returns a veto when the
31
+ * action looks like a known-bad pattern; the AgentLoop should then skip
32
+ * the dispatch and record the step with `actionResult: "skipped"`.
33
+ *
34
+ * Blocks shell execution, identical consecutive text entry, and repeated
35
+ * taps with an unchanged UI hash. No blind-scroll or vision-only proximity
36
+ * rule: every turn already observes again, and nearby taps can be valid.
37
+ */
38
+ maybeBlockAction(history: StepHistory[], nextAction: Action): PreActionVeto | null;
39
+ }
40
+ export declare function actionsEqual(a: Action, b: Action): boolean;
@@ -0,0 +1,133 @@
1
+ /** Deterministic action validation and repeated-action detection. No model calls. */
2
+ /** Deterministic execution checks only. No model calls or credentials. */
3
+ export class ExecutionChecks {
4
+ /**
5
+ * Returns a non-empty veto reason when the loop should stop, or `null` if
6
+ * the run is healthy and may continue.
7
+ */
8
+ maybeVeto(history, step, _maxSteps) {
9
+ if (step <= 2 || history.length === 0)
10
+ return null;
11
+ const last = history[history.length - 1].action;
12
+ if (!last)
13
+ return null;
14
+ // Compare effects, not model narration or provider-generated call IDs.
15
+ const recent = history
16
+ .slice(-4)
17
+ .map((h) => h.action)
18
+ .filter((a) => a !== null);
19
+ const progressed = history.slice(-4, -1).some(entry => entry.screenStateHashBefore !== undefined &&
20
+ entry.screenStateHashAfter !== undefined && entry.screenStateHashBefore !== entry.screenStateHashAfter);
21
+ if (!progressed && recent.length === 4 && recent.every((a) => actionsEqual(a, recent[0]))) {
22
+ return `stalled: action ${recent[0].type} repeated 4 consecutive times`;
23
+ }
24
+ return null;
25
+ }
26
+ /**
27
+ * Pre-action sanity — block obviously-broken `nextAction` candidates
28
+ * **before** AgentLoop dispatches them to MCP. Returns a veto when the
29
+ * action looks like a known-bad pattern; the AgentLoop should then skip
30
+ * the dispatch and record the step with `actionResult: "skipped"`.
31
+ *
32
+ * Blocks shell execution, identical consecutive text entry, and repeated
33
+ * taps with an unchanged UI hash. No blind-scroll or vision-only proximity
34
+ * rule: every turn already observes again, and nearby taps can be valid.
35
+ */
36
+ maybeBlockAction(history, nextAction) {
37
+ if (!nextAction)
38
+ return null;
39
+ // Raw shell is not an Agent execution tool.
40
+ if (nextAction.type === "execute_command") {
41
+ return {
42
+ code: "vlm_emitted_shell",
43
+ reason: "grounder emitted execute_command; use the allowed device tools, not raw shell",
44
+ };
45
+ }
46
+ if (history.length === 0)
47
+ return null;
48
+ const prev = lastNonNullStep(history);
49
+ if (!prev)
50
+ return null;
51
+ // A rejected precondition did not test the action's effect on the device.
52
+ if (prev.entry.actionDispatched === false)
53
+ return null;
54
+ const haveHash = prev.entry.screenStateHashBefore !== undefined &&
55
+ prev.entry.screenStateHashAfter !== undefined &&
56
+ // A coarse image hash can miss a tiny text/focus change. It is useful
57
+ // for long scrolling, not proof that a nearby Vision tap had no effect.
58
+ !prev.entry.screenStateHashBefore.startsWith("visual:");
59
+ const screenUnchanged = haveHash && prev.entry.screenStateHashBefore === prev.entry.screenStateHashAfter;
60
+ // Different text may be a legitimate continuation.
61
+ if (nextAction.type === "type" &&
62
+ prev.action.type === "type" &&
63
+ nextAction.payload.text ===
64
+ prev.action.payload.text) {
65
+ return {
66
+ code: "double_type_without_focus",
67
+ reason: "two consecutive `type` actions with identical text — likely a stuck loop, focus probably wasn't established",
68
+ };
69
+ }
70
+ // Small coordinate perturbations do not repair a demonstrated no-op.
71
+ if (nextAction.type === "tap" &&
72
+ prev.action.type === "tap" &&
73
+ isPointTarget(nextAction.target) &&
74
+ isPointTarget(prev.action.target)) {
75
+ const dx = Math.abs(nextAction.target.x - prev.action.target.x);
76
+ const dy = Math.abs(nextAction.target.y - prev.action.target.y);
77
+ if (haveHash) {
78
+ if (screenUnchanged && dx <= 24 && dy <= 24) {
79
+ return {
80
+ code: "no_progress_repeat",
81
+ reason: `repeated tap near (${prev.action.target.x},${prev.action.target.y}) — previous tap produced no screen change`,
82
+ };
83
+ }
84
+ // hash known + screen progressed (or coords too far apart) → allow
85
+ }
86
+ }
87
+ return null;
88
+ }
89
+ }
90
+ /* -------------------------------------------------------------------------- */
91
+ /* helpers */
92
+ /* -------------------------------------------------------------------------- */
93
+ export function actionsEqual(a, b) {
94
+ if (a.type !== b.type)
95
+ return false;
96
+ if (!targetsEqual(a.target, b.target))
97
+ return false;
98
+ return jsonEquals(effectPayload(a.payload), effectPayload(b.payload));
99
+ }
100
+ const TRACE_FIELDS = new Set(["_proModel", "_proCalls", "_proBatchCalls", "_proBatchId",
101
+ "_proContent", "_proReasoningContent", "_proIntent", "_proTarget"]);
102
+ function effectPayload(payload) {
103
+ return Object.fromEntries(Object.entries(payload).filter(([key]) => !TRACE_FIELDS.has(key)).sort(([a], [b]) => a.localeCompare(b)));
104
+ }
105
+ function targetsEqual(a, b) {
106
+ if (!a && !b)
107
+ return true;
108
+ if (!a || !b)
109
+ return false;
110
+ if (a.kind !== b.kind)
111
+ return false;
112
+ return jsonEquals(a, b);
113
+ }
114
+ function jsonEquals(a, b) {
115
+ if (Object.is(a, b))
116
+ return true;
117
+ if (typeof a !== "object" || typeof b !== "object" || a === null || b === null)
118
+ return false;
119
+ return JSON.stringify(a) === JSON.stringify(b);
120
+ }
121
+ function isPointTarget(t) {
122
+ return !!t && t.kind === "point";
123
+ }
124
+ function lastNonNullStep(history) {
125
+ for (let i = history.length - 1; i >= 0; i--) {
126
+ const entry = history[i];
127
+ const a = entry.action;
128
+ if (a)
129
+ return { idx: i, entry, action: a };
130
+ }
131
+ return null;
132
+ }
133
+ //# sourceMappingURL=execution-checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-checks.js","sourceRoot":"","sources":["../../src/agent-runtime/execution-checks.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import type { PlannerPolicy } from "./agent-runner.js";
2
- import { type ReflectorPolicy } from "./reflectors/policy.js";
3
2
  export declare const EXECUTION_MODES: readonly ["flash", "pro"];
4
3
  export type CanonicalExecutionMode = (typeof EXECUTION_MODES)[number];
5
4
  /** Legacy inputs remain accepted by existing clients. */
@@ -10,9 +9,6 @@ export interface ExecutionProfileOptions {
10
9
  requestedMaxSteps?: number;
11
10
  configuredMaxSteps?: number;
12
11
  configuredTimeoutMs?: number;
13
- reflectorPolicy?: ReflectorPolicy;
14
- /** Planner-compatible model used by Advanced trajectory reflection. */
15
- advancedReflectorModelName?: string;
16
12
  }
17
13
  export interface ExecutionProfile {
18
14
  executionMode: CanonicalExecutionMode;
@@ -21,13 +17,10 @@ export interface ExecutionProfile {
21
17
  timeoutMs: number;
22
18
  maxReplans?: number;
23
19
  maxLocalRecoveries?: number;
24
- reflectorPolicy?: ReflectorPolicy;
25
20
  }
26
21
  /**
27
22
  * Resolve product execution modes into concrete AgentRunner settings.
28
23
  * Flash preserves the dedicated adapter's historical ReAct behavior.
29
- * Pro consolidates planning and Advanced capabilities and, when reflection is
30
- * explicitly enabled, more frequent global progress checks. Explicit
31
- * caller/config budgets and reflector opt-out continue to win.
24
+ * Pro uses a continuous operator and an independent final task check.
32
25
  */
33
26
  export declare function resolveExecutionProfile(opts: ExecutionProfileOptions): ExecutionProfile;
@@ -1,4 +1,3 @@
1
- import { buildReflectorPolicyFromEnv, } from "./reflectors/policy.js";
2
1
  export const EXECUTION_MODES = ["flash", "pro"];
3
2
  export function parseExecutionMode(value) {
4
3
  switch (value) {
@@ -12,20 +11,17 @@ export function parseExecutionMode(value) {
12
11
  }
13
12
  const DEFAULT_MAX_STEPS = 30;
14
13
  const DEFAULT_TIMEOUT_MS = 5 * 60 * 1000;
15
- const ADVANCED_MAX_STEPS = 45;
16
- const ADVANCED_TIMEOUT_MS = 10 * 60 * 1000;
17
- const ADVANCED_MAX_REPLANS = 4;
18
- const ADVANCED_TRAJECTORY_INTERVAL = 3;
14
+ const PRO_MAX_STEPS = 45;
15
+ const PRO_TIMEOUT_MS = 10 * 60 * 1000;
16
+ const PRO_MAX_REPLANS = 4;
19
17
  /**
20
18
  * Resolve product execution modes into concrete AgentRunner settings.
21
19
  * Flash preserves the dedicated adapter's historical ReAct behavior.
22
- * Pro consolidates planning and Advanced capabilities and, when reflection is
23
- * explicitly enabled, more frequent global progress checks. Explicit
24
- * caller/config budgets and reflector opt-out continue to win.
20
+ * Pro uses a continuous operator and an independent final task check.
25
21
  */
26
22
  export function resolveExecutionProfile(opts) {
27
23
  const executionMode = parseExecutionMode(opts.executionMode) ?? "flash";
28
- const advanced = executionMode === "pro";
24
+ const pro = executionMode === "pro";
29
25
  const plannerPolicy = executionMode === "flash"
30
26
  ? "never"
31
27
  : "always";
@@ -34,30 +30,14 @@ export function resolveExecutionProfile(opts) {
34
30
  plannerPolicy,
35
31
  maxSteps: opts.requestedMaxSteps ??
36
32
  opts.configuredMaxSteps ??
37
- (advanced ? ADVANCED_MAX_STEPS : DEFAULT_MAX_STEPS),
33
+ (pro ? PRO_MAX_STEPS : DEFAULT_MAX_STEPS),
38
34
  timeoutMs: opts.configuredTimeoutMs ??
39
- (advanced ? ADVANCED_TIMEOUT_MS : DEFAULT_TIMEOUT_MS),
35
+ (pro ? PRO_TIMEOUT_MS : DEFAULT_TIMEOUT_MS),
40
36
  };
41
- if (!advanced) {
42
- if (opts.reflectorPolicy)
43
- profile.reflectorPolicy = opts.reflectorPolicy;
44
- return profile;
37
+ if (pro) {
38
+ profile.maxReplans = PRO_MAX_REPLANS;
39
+ profile.maxLocalRecoveries = 1;
45
40
  }
46
- const basePolicy = opts.reflectorPolicy ?? buildReflectorPolicyFromEnv();
47
- profile.maxReplans = ADVANCED_MAX_REPLANS;
48
- profile.maxLocalRecoveries = 1;
49
- profile.reflectorPolicy = {
50
- ...basePolicy,
51
- trajectoryReflector: basePolicy.trajectoryReflector === "off"
52
- ? "off"
53
- : { kind: "every", everyNSteps: ADVANCED_TRAJECTORY_INTERVAL },
54
- trajectoryReflectorOptions: {
55
- ...basePolicy.trajectoryReflectorOptions,
56
- ...(opts.advancedReflectorModelName
57
- ? { modelName: opts.advancedReflectorModelName }
58
- : {}),
59
- },
60
- };
61
41
  return profile;
62
42
  }
63
43
  //# sourceMappingURL=execution-mode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-mode.js","sourceRoot":"","sources":["../../src/agent-runtime/execution-mode.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,GAE5B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AAMzD,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC,CAAC,OAAO,KAAK,CAAC;QAC9B,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC;AAsBD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC3C,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAA6B;IACnE,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC;IACxE,MAAM,QAAQ,GAAG,aAAa,KAAK,KAAK,CAAC;IACzC,MAAM,aAAa,GACjB,aAAa,KAAK,OAAO;QACvB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,QAAQ,CAAC;IAEf,MAAM,OAAO,GAAqB;QAChC,aAAa;QACb,aAAa;QACb,QAAQ,EACN,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,kBAAkB;YACvB,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACrD,SAAS,EACP,IAAI,CAAC,mBAAmB;YACxB,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC;KACxD,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACzE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,IAAI,2BAA2B,EAAE,CAAC;IACzE,OAAO,CAAC,UAAU,GAAG,oBAAoB,CAAC;IAC1C,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,eAAe,GAAG;QACxB,GAAG,UAAU;QACb,mBAAmB,EACjB,UAAU,CAAC,mBAAmB,KAAK,KAAK;YACtC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE;QAClE,0BAA0B,EAAE;YAC1B,GAAG,UAAU,CAAC,0BAA0B;YACxC,GAAG,CAAC,IAAI,CAAC,0BAA0B;gBACjC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,0BAA0B,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"execution-mode.js","sourceRoot":"","sources":["../../src/agent-runtime/execution-mode.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AAMzD,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC,CAAC,OAAO,KAAK,CAAC;QAC9B,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC;AAkBD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtC,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAA6B;IACnE,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC;IACxE,MAAM,GAAG,GAAG,aAAa,KAAK,KAAK,CAAC;IACpC,MAAM,aAAa,GACjB,aAAa,KAAK,OAAO;QACvB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,QAAQ,CAAC;IAEf,MAAM,OAAO,GAAqB;QAChC,aAAa;QACb,aAAa;QACb,QAAQ,EACN,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,kBAAkB;YACvB,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC3C,SAAS,EACP,IAAI,CAAC,mBAAmB;YACxB,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC;KAC9C,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,UAAU,GAAG,eAAe,CAAC;QACrC,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,37 +1,13 @@
1
- /**
2
- * agent-runtime/feedback — one-way bus for diagnostics that need to reach
3
- * the next `predictAction` call WITHOUT touching the adapter protocol.
4
- *
5
- * Why this exists (KISS):
6
- * The reflector stack writes diagnostics into `StepHistory.rationale` /
7
- * `StepHistory.actErrorMessage`, but every adapter (autoglm / uitars /
8
- * qwenvl / guiowl / maiui / showui) maintains its OWN private
9
- * `Message[]` context inside `ModelClient.updateContext` and never reads
10
- * `StepHistory`. As a result, when AgentLoop vetoes an action the model
11
- * keeps re-emitting the same blocked action because (a) it doesn't see
12
- * the veto reason and (b) its own context still says "I tapped X".
13
- *
14
- * We close the loop without changing the adapter protocol: AgentLoop
15
- * maintains a `pendingFeedback` queue, and right before the next predict
16
- * it splices a `[SYSTEM NOTICE]` block into `Observation.task`. Modern
17
- * instruction-tuned LLMs prioritise the latest user message over their
18
- * own self-inferred prior turns, so a user-side correction is enough
19
- * for AutoGLM-Phone-9B / GLM-4 / Claude / GPT-4 to course-correct.
20
- *
21
- * This is a deliberate alternative to refactoring 6 adapters' private
22
- * context APIs (the "research-grade" route). See
23
- * `.cursor/plans/device-agent_reflector_hardening_efea035f.plan.md`
24
- * for the cost-benefit analysis.
25
- */
1
+ /** Feedback from deterministic guards and actual device outcomes. */
26
2
  /**
27
3
  * Diagnostic the AgentLoop wants the next predict to see. Sources are kept
28
4
  * coarse; concrete codes (e.g. `"no_progress_repeat"`, `"act_failed"`,
29
- * `"trajectory_stuck"`) live in the reasoning string so we don't have to
30
- * pre-enumerate every reflector code in this central type.
5
+ * `"target_stale"`) live in the diagnostic string so we don't have to
6
+ * pre-enumerate every execution check in this central type.
31
7
  */
32
8
  export interface StepFeedback {
33
9
  /** Which subsystem produced the feedback. */
34
- source: "pre_sanity" | "act_failed" | "trajectory_reflector";
10
+ source: "pre_sanity" | "act_failed";
35
11
  /** Stable machine-readable code (e.g. `"no_progress_repeat"`). */
36
12
  code: string;
37
13
  /** Short human-readable explanation surfaced into the next prompt. */
@@ -1,28 +1,4 @@
1
- /**
2
- * agent-runtime/feedback — one-way bus for diagnostics that need to reach
3
- * the next `predictAction` call WITHOUT touching the adapter protocol.
4
- *
5
- * Why this exists (KISS):
6
- * The reflector stack writes diagnostics into `StepHistory.rationale` /
7
- * `StepHistory.actErrorMessage`, but every adapter (autoglm / uitars /
8
- * qwenvl / guiowl / maiui / showui) maintains its OWN private
9
- * `Message[]` context inside `ModelClient.updateContext` and never reads
10
- * `StepHistory`. As a result, when AgentLoop vetoes an action the model
11
- * keeps re-emitting the same blocked action because (a) it doesn't see
12
- * the veto reason and (b) its own context still says "I tapped X".
13
- *
14
- * We close the loop without changing the adapter protocol: AgentLoop
15
- * maintains a `pendingFeedback` queue, and right before the next predict
16
- * it splices a `[SYSTEM NOTICE]` block into `Observation.task`. Modern
17
- * instruction-tuned LLMs prioritise the latest user message over their
18
- * own self-inferred prior turns, so a user-side correction is enough
19
- * for AutoGLM-Phone-9B / GLM-4 / Claude / GPT-4 to course-correct.
20
- *
21
- * This is a deliberate alternative to refactoring 6 adapters' private
22
- * context APIs (the "research-grade" route). See
23
- * `.cursor/plans/device-agent_reflector_hardening_efea035f.plan.md`
24
- * for the cost-benefit analysis.
25
- */
1
+ /** Feedback from deterministic guards and actual device outcomes. */
26
2
  /**
27
3
  * Render a list of {@link StepFeedback} entries into a `[SYSTEM NOTICE]`
28
4
  * block to prepend onto the next `Observation.task`. Returns the empty
@@ -45,7 +21,9 @@ export function formatFeedbackForPrompt(items) {
45
21
  const lines = items.map((f) => `- [${f.source}:${f.code}] ${f.reason}`);
46
22
  return [
47
23
  "[SYSTEM NOTICE — read carefully]",
48
- "Your previous action was NOT executed by the runtime.",
24
+ items.every(f => f.source === "pre_sanity")
25
+ ? "Your previous action was NOT executed by the runtime."
26
+ : "A previous action failed or was blocked. Partial effects may exist; inspect the current screen before retrying.",
49
27
  ...lines,
50
28
  "Pick a different approach (different coordinates, different gesture, or change strategy).",
51
29
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/agent-runtime/feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAiBH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA8B;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,OAAO;QACL,kCAAkC;QAClC,uDAAuD;QACvD,GAAG,KAAK;QACR,2FAA2F;QAC3F,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/agent-runtime/feedback.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAiBrE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA8B;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,OAAO;QACL,kCAAkC;QAClC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC;YACzC,CAAC,CAAC,uDAAuD;YACzD,CAAC,CAAC,iHAAiH;QACrH,GAAG,KAAK;QACR,2FAA2F;QAC3F,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Action, Observation } from "@beeos-ai/device-common";
2
+ /** Conservative exact-name check for native creation forms, not app recipes. */
3
+ export declare function namedFormMismatch(action: Action, observation: Observation): string | undefined;
@@ -0,0 +1,52 @@
1
+ import { visibleUiXmlNodes } from "../device/ui-xml.js";
2
+ /** Conservative exact-name check for native creation forms, not app recipes. */
3
+ export function namedFormMismatch(action, observation) {
4
+ const context = observation.extra?.taskContext;
5
+ const task = typeof context?.rootGoal === "string" ? context.rootGoal : observation.task;
6
+ if (action.type !== "tap" || action.target?.kind !== "point" || !observation.uiDump ||
7
+ !/^\s*(?:create|make|add)\b/i.test(task))
8
+ return;
9
+ const match = /\b(?:named|called|name it)\s+(?:"([^"]+)"|'([^']+)'|`([^`]+)`|(\S+))/i.exec(task);
10
+ if (!match)
11
+ return;
12
+ const quoted = match[1] ?? match[2] ?? match[3];
13
+ const token = match[4];
14
+ // Unquoted multi-word names are ambiguous; leave those to semantic checking.
15
+ if (!quoted && !/[.!?;]$/.test(token) && task.slice(match.index + match[0].length).trim())
16
+ return;
17
+ const requested = quoted ?? token.replace(/[.!?;]$/, "");
18
+ if (!requested)
19
+ return;
20
+ const nodes = visibleUiXmlNodes(observation.uiDump).map(node => {
21
+ const bounds = /^\[(\d+),(\d+)\]\[(\d+),(\d+)\]$/.exec(node.bounds);
22
+ return bounds ? { ...node, rect: bounds.slice(1).map(Number) } : undefined;
23
+ }).filter(node => node !== undefined);
24
+ const { x, y } = action.target;
25
+ const submit = nodes.find(node => node.className.endsWith(".Button") && node.clickable &&
26
+ /^(?:create|save|done|ok|folder|file|confirm|add|finish)$/i.test(node.text.trim()) &&
27
+ x >= node.rect[0] && x < node.rect[2] && y >= node.rect[1] && y < node.rect[3]);
28
+ if (!submit)
29
+ return;
30
+ const labels = nodes.filter(node => /^(?:name|file name|folder name|title)$/i.test(node.text.trim()));
31
+ const fields = nodes.filter(node => node.className.endsWith(".EditText"));
32
+ const candidates = labels.flatMap(label => fields.filter(field => {
33
+ const gap = field.rect[1] - label.rect[3];
34
+ return gap >= -Math.max(1, field.rect[3] - field.rect[1]) && gap <= observation.screenH * 0.05 &&
35
+ field.rect[0] < label.rect[2] && field.rect[2] > label.rect[0];
36
+ }).map(field => ({ field, distance: Math.abs(field.rect[0] - label.rect[0]) + Math.abs(field.rect[1] - label.rect[3]) })));
37
+ const primary = candidates.sort((a, b) => a.distance - b.distance)[0]?.field;
38
+ if (!primary)
39
+ return;
40
+ const value = primary.text.trim();
41
+ const extension = fields.find(field => field !== primary && /^\.[a-z0-9]+$/i.test(field.text.trim()) &&
42
+ Math.abs(field.rect[1] - primary.rect[1]) < Math.max(1, primary.rect[3] - primary.rect[1]))?.text.trim();
43
+ if (value === requested || extension && value + extension === requested) {
44
+ if (/^\s*(?:create|make|add)\s+(?:(?:a|an|new)\s+)*folder\b/i.test(task) && extension &&
45
+ !/^folder$/i.test(submit.text.trim()) && nodes.some(node => node.className.endsWith(".Button") && /^folder$/i.test(node.text.trim()))) {
46
+ return "The task requests a folder, but this form has a file extension and a separate FOLDER creation action. Use the explicit folder action after verifying its name, rather than confirming the file form.";
47
+ }
48
+ return;
49
+ }
50
+ return `The visible name field is ${JSON.stringify(value)}, but the requested name is ${JSON.stringify(requested)}. Fill and verify it before pressing ${JSON.stringify(submit.text)}; a form action button may immediately create/save the current item, not switch its type.`;
51
+ }
52
+ //# sourceMappingURL=form-prerequisites.js.map