@asiyst/sdk 0.1.3 → 0.1.6

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/index.d.cts CHANGED
@@ -210,7 +210,7 @@ declare const Asiyst: {
210
210
  off<K extends keyof AsiystEventMap>(event: K, handler: (payload: AsiystEventMap[K]) => void): void;
211
211
  };
212
212
 
213
- declare const SDK_VERSION = "0.1.0";
213
+ declare const SDK_VERSION = "0.1.5";
214
214
 
215
215
  declare class AsiystError extends Error {
216
216
  readonly code: string;
package/dist/index.d.ts CHANGED
@@ -210,7 +210,7 @@ declare const Asiyst: {
210
210
  off<K extends keyof AsiystEventMap>(event: K, handler: (payload: AsiystEventMap[K]) => void): void;
211
211
  };
212
212
 
213
- declare const SDK_VERSION = "0.1.0";
213
+ declare const SDK_VERSION = "0.1.5";
214
214
 
215
215
  declare class AsiystError extends Error {
216
216
  readonly code: string;
package/dist/index.js CHANGED
@@ -66,7 +66,7 @@ var ALL_ACTION_KINDS = [
66
66
  ];
67
67
 
68
68
  // src/core/constants.ts
69
- var SDK_VERSION = "0.1.0";
69
+ var SDK_VERSION = "0.1.5";
70
70
  var DEFAULT_API_BASE_URL = "https://asiyst.com/api/v1";
71
71
  var CONFIG_SCHEMA_VERSION = 1;
72
72
  var HOST_ELEMENT_ID = "asiyst-host";
@@ -980,7 +980,17 @@ var TargetResolver = class {
980
980
  if (!best || bestScore < 2) {
981
981
  return null;
982
982
  }
983
- return findElementByAsiystId(this.doc, best.id) ?? this.doc.querySelector(`[id="${best.id.replace(/^dom:/, "")}"]`);
983
+ return findElementByAsiystId(this.doc, best.id) ?? this.doc.querySelector(`[id="${best.id.replace(/^dom:/, "")}"]`) ?? this.findMappedElement(best);
984
+ }
985
+ findMappedElement(mapped) {
986
+ const candidates = Array.from(this.doc.querySelectorAll("a[href], button, input, select, textarea, form, nav, h1, h2, h3, [role]"));
987
+ return candidates.find((element) => {
988
+ if (!isElementVisible(element) || isDisabled(element)) return false;
989
+ const text = normalize(`${element.getAttribute("aria-label") ?? ""} ${element.textContent ?? ""}`);
990
+ const wanted = normalize(`${mapped.label} ${mapped.text}`);
991
+ const role = normalize(element.getAttribute("role") ?? "");
992
+ return wanted.length > 0 && (text.includes(wanted) || wanted.includes(text)) || mapped.role !== null && role === normalize(mapped.role);
993
+ }) ?? null;
984
994
  }
985
995
  matchesMapped(item, element, ref) {
986
996
  if (ref.id && item.id === ref.id) {