@mercuryo-ai/agentbrowse 0.2.60 → 0.2.63

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 (105) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/README.md +132 -14
  3. package/dist/browser-session-state.d.ts +40 -10
  4. package/dist/browser-session-state.d.ts.map +1 -1
  5. package/dist/browser-session-state.js +63 -5
  6. package/dist/commands/act.d.ts.map +1 -1
  7. package/dist/commands/act.js +548 -535
  8. package/dist/commands/attach.d.ts +1 -3
  9. package/dist/commands/attach.d.ts.map +1 -1
  10. package/dist/commands/attach.js +5 -12
  11. package/dist/commands/browser-connection-failure.d.ts +9 -0
  12. package/dist/commands/browser-connection-failure.d.ts.map +1 -0
  13. package/dist/commands/browser-connection-failure.js +15 -0
  14. package/dist/commands/browser-status.d.ts +0 -2
  15. package/dist/commands/browser-status.d.ts.map +1 -1
  16. package/dist/commands/browser-status.js +27 -37
  17. package/dist/commands/close.d.ts.map +1 -1
  18. package/dist/commands/close.js +5 -0
  19. package/dist/commands/extract.d.ts.map +1 -1
  20. package/dist/commands/extract.js +147 -144
  21. package/dist/commands/interaction-kernel.d.ts +1 -1
  22. package/dist/commands/interaction-kernel.d.ts.map +1 -1
  23. package/dist/commands/interaction-kernel.js +1 -1
  24. package/dist/commands/launch.d.ts +0 -1
  25. package/dist/commands/launch.d.ts.map +1 -1
  26. package/dist/commands/launch.js +11 -12
  27. package/dist/commands/navigate.d.ts.map +1 -1
  28. package/dist/commands/navigate.js +79 -73
  29. package/dist/commands/observe-accessibility.d.ts.map +1 -1
  30. package/dist/commands/observe-accessibility.js +36 -2
  31. package/dist/commands/observe-inventory.d.ts +50 -7
  32. package/dist/commands/observe-inventory.d.ts.map +1 -1
  33. package/dist/commands/observe-inventory.js +822 -99
  34. package/dist/commands/observe-persistence.d.ts.map +1 -1
  35. package/dist/commands/observe-persistence.js +49 -6
  36. package/dist/commands/observe-projection.d.ts +6 -2
  37. package/dist/commands/observe-projection.d.ts.map +1 -1
  38. package/dist/commands/observe-projection.js +251 -27
  39. package/dist/commands/observe-semantics.d.ts +1 -0
  40. package/dist/commands/observe-semantics.d.ts.map +1 -1
  41. package/dist/commands/observe-semantics.js +541 -135
  42. package/dist/commands/observe-signals.d.ts +4 -4
  43. package/dist/commands/observe-signals.d.ts.map +1 -1
  44. package/dist/commands/observe-signals.js +2 -2
  45. package/dist/commands/observe-surfaces.d.ts +2 -1
  46. package/dist/commands/observe-surfaces.d.ts.map +1 -1
  47. package/dist/commands/observe-surfaces.js +143 -45
  48. package/dist/commands/observe.d.ts +5 -1
  49. package/dist/commands/observe.d.ts.map +1 -1
  50. package/dist/commands/observe.js +266 -274
  51. package/dist/commands/screenshot.d.ts.map +1 -1
  52. package/dist/commands/screenshot.js +50 -64
  53. package/dist/commands/semantic-observe.d.ts.map +1 -1
  54. package/dist/commands/semantic-observe.js +43 -0
  55. package/dist/library.d.ts +3 -1
  56. package/dist/library.d.ts.map +1 -1
  57. package/dist/library.js +3 -1
  58. package/dist/match-resolve-fill.d.ts +196 -0
  59. package/dist/match-resolve-fill.d.ts.map +1 -0
  60. package/dist/match-resolve-fill.js +700 -0
  61. package/dist/match-resolve-fill.test-support.d.ts +34 -0
  62. package/dist/match-resolve-fill.test-support.d.ts.map +1 -0
  63. package/dist/match-resolve-fill.test-support.js +81 -0
  64. package/dist/protected-fill.d.ts.map +1 -1
  65. package/dist/protected-fill.js +46 -7
  66. package/dist/runtime-protected-state.d.ts.map +1 -1
  67. package/dist/runtime-protected-state.js +12 -0
  68. package/dist/runtime-state.d.ts +6 -0
  69. package/dist/runtime-state.d.ts.map +1 -1
  70. package/dist/runtime-state.js +6 -0
  71. package/dist/secrets/form-matcher.d.ts.map +1 -1
  72. package/dist/secrets/form-matcher.js +76 -27
  73. package/dist/secrets/protected-exact-value-redaction.d.ts.map +1 -1
  74. package/dist/secrets/protected-exact-value-redaction.js +6 -0
  75. package/dist/secrets/protected-fill.js +3 -3
  76. package/dist/session.d.ts +3 -3
  77. package/dist/session.d.ts.map +1 -1
  78. package/dist/session.js +2 -2
  79. package/dist/solver/browser-launcher.d.ts.map +1 -1
  80. package/dist/solver/browser-launcher.js +2 -1
  81. package/dist/sticky-owner-host-entry.d.ts +2 -0
  82. package/dist/sticky-owner-host-entry.d.ts.map +1 -0
  83. package/dist/sticky-owner-host-entry.js +97 -0
  84. package/dist/sticky-owner.d.ts +15 -0
  85. package/dist/sticky-owner.d.ts.map +1 -0
  86. package/dist/sticky-owner.js +431 -0
  87. package/dist/testing.d.ts +1 -0
  88. package/dist/testing.d.ts.map +1 -1
  89. package/dist/testing.js +1 -0
  90. package/docs/README.md +28 -11
  91. package/docs/api-reference.md +311 -19
  92. package/docs/assistive-runtime.md +41 -16
  93. package/docs/configuration.md +36 -4
  94. package/docs/getting-started.md +73 -5
  95. package/docs/integration-checklist.md +32 -3
  96. package/docs/match-resolve-fill.md +699 -0
  97. package/docs/protected-fill.md +373 -91
  98. package/docs/testing.md +147 -15
  99. package/docs/troubleshooting.md +47 -6
  100. package/examples/README.md +7 -0
  101. package/examples/match-resolve-fill.ts +107 -0
  102. package/package.json +4 -2
  103. package/dist/protected-fill-browser.d.ts +0 -22
  104. package/dist/protected-fill-browser.d.ts.map +0 -1
  105. package/dist/protected-fill-browser.js +0 -52
@@ -41,6 +41,6 @@ export declare function resolvePreparedLocatorCandidates(params: {
41
41
  allowDescendantPressFallback?: boolean;
42
42
  isUserActionable?: (locator: Locator) => Promise<boolean>;
43
43
  };
44
- onPreparedLocator: (locator: Locator, strategy: LocatorCandidate['strategy']) => Promise<boolean>;
44
+ onPreparedLocator: (locator: Locator, candidate: LocatorCandidate) => Promise<boolean>;
45
45
  }): Promise<PreparedLocatorCandidateResolution>;
46
46
  //# sourceMappingURL=interaction-kernel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-kernel.d.ts","sourceRoot":"","sources":["../../src/commands/interaction-kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction-kernel.d.ts","sourceRoot":"","sources":["../../src/commands/interaction-kernel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGjG,OAAO,EAAoC,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAI3F,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzF,MAAM,MAAM,wBAAwB,GAChC,yBAAyB,GACzB,wBAAwB,GACxB,2BAA2B,CAAC;AAEhC,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAMF,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EACnD,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GACpD,OAAO,CAKT;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,mBAAmB,CAAC,EACjE,OAAO,EAAE,iBAAiB,GAAG,IAAI,EACjC,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE;IACR,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GACA,OAAO,CAAC;IACT,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B,CAAC,CAoCD;AAED,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,WAAW,EACrB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,OAAO,GAAG,IAAI,EAC3B,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAC/B,WAAW,GAAG,IAAI,CAQpB;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,2BAA2B,EACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE;IACR,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D,GACA,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CACzC,CAAC,CA6GD;AAED,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,eAAe,GAAG,cAAc,CAAC,EAChE,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,CACT,MAAM,EAAE,wBAAwB,EAChC,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9E,GACA,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,wBAAsB,gCAAgC,CAAC,MAAM,EAAE;IAC7D,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,GAAG,eAAe,CAAC,CAAC;IACtE,MAAM,EAAE,2BAA2B,CAAC;IACpC,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE;QACf,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3D,CAAC;IACF,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxF,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAqD9C"}
@@ -198,7 +198,7 @@ export async function resolvePreparedLocatorCandidates(params) {
198
198
  if (!preparedLocator.locator) {
199
199
  continue;
200
200
  }
201
- const resolved = await params.onPreparedLocator(preparedLocator.locator, candidate.strategy);
201
+ const resolved = await params.onPreparedLocator(preparedLocator.locator, candidate);
202
202
  if (resolved) {
203
203
  return {
204
204
  resolved: true,
@@ -19,7 +19,6 @@ export type LaunchOptions = {
19
19
  export type LaunchSuccessResult = {
20
20
  success: true;
21
21
  runtime: 'managed';
22
- captchaSolveCapable: true;
23
22
  profile: string;
24
23
  session: BrowserSessionState;
25
24
  cdpUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAU1F,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,oCAAqC,CAAC;AAErE,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,sBAAuB,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wCAAwC;AACxC,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,SAAS,CAAC;IACnB,mBAAmB,EAAE,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,OAAO,EAAE,wBAAwB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAErE,4EAA4E;AAC5E,wBAAsB,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAOtF"}
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAW1F,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,oCAAqC,CAAC;AAErE,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,sBAAuB,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wCAAwC;AACxC,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,OAAO,EAAE,wBAAwB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAErE,4EAA4E;AAC5E,wBAAsB,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAOtF"}
@@ -5,8 +5,9 @@ import { buildOwnedSession } from '../browser-session-state.js';
5
5
  import { getConfigPath, readConfig } from '../solver/config.js';
6
6
  import { launchSolver } from '../solver/browser-launcher.js';
7
7
  import { ensureProfile } from '../solver/profile-manager.js';
8
- import { connectPlaywright, disconnectPlaywright, syncLaunchPage } from '../playwright-runtime.js';
8
+ import { syncLaunchPage } from '../playwright-runtime.js';
9
9
  import { info } from '../output.js';
10
+ import { initializeBrowserSessionOwner, withStickyOwnerBrowser } from '../sticky-owner.js';
10
11
  const DEFAULT_PROFILE = 'default';
11
12
  /** Stable top-level error codes returned by `launch(...)`. */
12
13
  export const LAUNCH_ERROR_CODES = ['browser_launch_failed'];
@@ -31,7 +32,6 @@ function buildLaunchFailure(err) {
31
32
  }
32
33
  async function launchManaged(url, profileName, headless, useProxy = false, proxyOverride) {
33
34
  let session;
34
- let browser = null;
35
35
  let runtimeProxy;
36
36
  try {
37
37
  const baseProfile = ensureProfile(profileName);
@@ -68,19 +68,22 @@ async function launchManaged(url, profileName, headless, useProxy = false, proxy
68
68
  : {
69
69
  proxyMode: 'direct',
70
70
  },
71
- capabilities: {
72
- captchaSolve: true,
73
- },
74
71
  });
72
+ try {
73
+ await initializeBrowserSessionOwner(persistedSession);
74
+ }
75
+ catch (error) {
76
+ await session.disconnect().catch(() => undefined);
77
+ return buildLaunchFailure(error);
78
+ }
75
79
  let currentUrl = session.page.url();
76
80
  let title = await session.page.title().catch(() => '');
77
81
  try {
78
- browser = await connectPlaywright(session.cdpUrl);
79
- const syncedPage = await syncLaunchPage(persistedSession, browser, {
82
+ const syncedPage = await withStickyOwnerBrowser(persistedSession, (browser) => syncLaunchPage(persistedSession, browser, {
80
83
  requestedUrl: url,
81
84
  fallbackUrl: currentUrl,
82
85
  fallbackTitle: title,
83
- });
86
+ }));
84
87
  currentUrl = syncedPage.url;
85
88
  title = syncedPage.title;
86
89
  }
@@ -88,15 +91,11 @@ async function launchManaged(url, profileName, headless, useProxy = false, proxy
88
91
  // Preserve the successful launch and fall back to the launcher snapshot.
89
92
  }
90
93
  finally {
91
- if (browser) {
92
- await disconnectPlaywright(browser);
93
- }
94
94
  await session.disconnect();
95
95
  }
96
96
  return {
97
97
  success: true,
98
98
  runtime: 'managed',
99
- captchaSolveCapable: true,
100
99
  profile: profileName,
101
100
  session: persistedSession,
102
101
  cdpUrl: session.cdpUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../src/commands/navigate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAkBzE,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,6DAA8D,CAAC;AAEhG,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,8CAA+C,CAAC;AAEnF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,yDAAyD;AACzD,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAiD3E,0DAA0D;AAC1D,wBAAsB,eAAe,CACnC,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAyJzB;AAED,+FAA+F;AAC/F,wBAAsB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/F"}
1
+ {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../src/commands/navigate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAezE,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,6DAA8D,CAAC;AAEhG,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,8CAA+C,CAAC;AAEnF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,yDAAyD;AACzD,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAiD3E,0DAA0D;AAC1D,wBAAsB,eAAe,CACnC,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CA+JzB;AAED,+FAA+F;AAC/F,wBAAsB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/F"}
@@ -6,8 +6,10 @@ import { clearProtectedExposure } from '../runtime-protected-state.js';
6
6
  import { saveSession } from '../session.js';
7
7
  import { outputContractFailure, outputJSON, info } from '../output.js';
8
8
  import { captureDiagnosticSnapshotBestEffort, finishDiagnosticStepBestEffort, recordCommandLifecycleEventBestEffort, startDiagnosticStep, } from '../diagnostics.js';
9
- import { connectPlaywright, disconnectPlaywright, resolveCurrentPageContext, syncSessionPage, } from '../playwright-runtime.js';
9
+ import { resolveCurrentPageContext, syncSessionPage } from '../playwright-runtime.js';
10
10
  import { withApiTraceContext } from '../command-api-tracing.js';
11
+ import { describeBrowserConnectionFailure } from './browser-connection-failure.js';
12
+ import { withStickyOwnerBrowser } from '../sticky-owner.js';
11
13
  /** Stable top-level error codes returned by `navigate(...)`. */
12
14
  export const NAVIGATE_ERROR_CODES = ['browser_connection_failed', 'navigation_failed'];
13
15
  /** Stable outcome categories emitted by `navigate(...)`. */
@@ -74,81 +76,85 @@ export async function navigateBrowser(session, targetUrl) {
74
76
  stepId: navigateStep?.stepId,
75
77
  command: 'navigate',
76
78
  }, async () => {
77
- let browser = null;
78
79
  let failureMessage = null;
79
80
  try {
80
- browser = await connectPlaywright(session.cdpUrl);
81
- }
82
- catch (err) {
83
- captureDiagnosticSnapshotBestEffort({
84
- session,
85
- step: navigateStep,
86
- phase: 'point-in-time',
87
- pageRef: initialPageRef,
88
- });
89
- recordCommandLifecycleEventBestEffort({
90
- step: navigateStep,
91
- phase: 'failed',
92
- attributes: {
93
- outcomeType: 'blocked',
94
- reason: err instanceof Error ? err.message : String(err),
95
- },
96
- });
97
- return buildNavigateFailureResult({
98
- step: navigateStep,
99
- error: 'browser_connection_failed',
100
- outcomeType: 'blocked',
101
- message: 'Navigation could not start because AgentBrowse failed to connect to the browser.',
102
- reason: err instanceof Error ? err.message : String(err),
103
- runId: session.activeRunId,
104
- stepId: navigateStep?.stepId,
105
- });
106
- }
107
- try {
108
- let pageRef = session.runtime?.currentPageRef ?? 'p0';
109
- const resolvedPage = await resolveCurrentPageContext(browser, session);
110
- pageRef = resolvedPage.pageRef;
111
- const page = resolvedPage.page;
112
- if (!page) {
113
- throw new Error('no_open_pages');
114
- }
115
- await page.goto(targetUrl, { waitUntil: 'domcontentloaded' });
116
- const { url, title } = await syncSessionPage(session, pageRef, page);
117
- bumpPageScopeEpoch(session, pageRef);
118
- setCurrentPage(session, pageRef);
119
- clearProtectedExposure(session, pageRef);
120
- captureDiagnosticSnapshotBestEffort({
121
- session,
122
- step: navigateStep,
123
- phase: 'after',
124
- pageRef,
125
- url,
126
- title,
127
- });
128
- recordCommandLifecycleEventBestEffort({
129
- step: navigateStep,
130
- phase: 'completed',
131
- attributes: {
132
- outcomeType: 'navigation_completed',
133
- pageRef,
134
- url,
135
- },
136
- });
137
- return buildNavigateSuccessResult({
138
- step: navigateStep,
139
- runId: session.activeRunId,
140
- stepId: navigateStep?.stepId,
141
- pageRef,
142
- url,
143
- title,
81
+ return await withStickyOwnerBrowser(session, async (browser) => {
82
+ try {
83
+ let pageRef = session.runtime?.currentPageRef ?? 'p0';
84
+ const resolvedPage = await resolveCurrentPageContext(browser, session);
85
+ pageRef = resolvedPage.pageRef;
86
+ const page = resolvedPage.page;
87
+ if (!page) {
88
+ throw new Error('no_open_pages');
89
+ }
90
+ await page.goto(targetUrl, { waitUntil: 'domcontentloaded' });
91
+ const { url, title } = await syncSessionPage(session, pageRef, page);
92
+ bumpPageScopeEpoch(session, pageRef);
93
+ setCurrentPage(session, pageRef);
94
+ clearProtectedExposure(session, pageRef);
95
+ captureDiagnosticSnapshotBestEffort({
96
+ session,
97
+ step: navigateStep,
98
+ phase: 'after',
99
+ pageRef,
100
+ url,
101
+ title,
102
+ });
103
+ recordCommandLifecycleEventBestEffort({
104
+ step: navigateStep,
105
+ phase: 'completed',
106
+ attributes: {
107
+ outcomeType: 'navigation_completed',
108
+ pageRef,
109
+ url,
110
+ },
111
+ });
112
+ return buildNavigateSuccessResult({
113
+ step: navigateStep,
114
+ runId: session.activeRunId,
115
+ stepId: navigateStep?.stepId,
116
+ pageRef,
117
+ url,
118
+ title,
119
+ });
120
+ }
121
+ catch (error) {
122
+ throw new Error(`navigation_failed:${error instanceof Error ? error.message : String(error)}`);
123
+ }
144
124
  });
145
125
  }
146
126
  catch (err) {
147
- failureMessage = `Navigation failed: ${err instanceof Error ? err.message : String(err)}`;
148
- }
149
- finally {
150
- if (browser) {
151
- await disconnectPlaywright(browser);
127
+ if (err instanceof Error && err.message.startsWith('navigation_failed:')) {
128
+ failureMessage = err.message.replace(/^navigation_failed:/, '');
129
+ }
130
+ else {
131
+ const browserConnectionFailure = describeBrowserConnectionFailure(err, {
132
+ defaultMessage: 'Navigation could not start because AgentBrowse failed to connect to the browser.',
133
+ unrecoverableSessionMessage: 'Navigation could not start because the previous browser session is no longer reachable.',
134
+ });
135
+ captureDiagnosticSnapshotBestEffort({
136
+ session,
137
+ step: navigateStep,
138
+ phase: 'point-in-time',
139
+ pageRef: initialPageRef,
140
+ });
141
+ recordCommandLifecycleEventBestEffort({
142
+ step: navigateStep,
143
+ phase: 'failed',
144
+ attributes: {
145
+ outcomeType: 'blocked',
146
+ reason: err instanceof Error ? err.message : String(err),
147
+ },
148
+ });
149
+ return buildNavigateFailureResult({
150
+ step: navigateStep,
151
+ error: 'browser_connection_failed',
152
+ outcomeType: 'blocked',
153
+ message: browserConnectionFailure.message,
154
+ reason: browserConnectionFailure.reason,
155
+ runId: session.activeRunId,
156
+ stepId: navigateStep?.stepId,
157
+ });
152
158
  }
153
159
  }
154
160
  if (failureMessage) {
@@ -163,7 +169,7 @@ export async function navigateBrowser(session, targetUrl) {
163
169
  phase: 'failed',
164
170
  attributes: {
165
171
  outcomeType: 'blocked',
166
- reason: failureMessage.replace(/^Navigation failed:\s*/, ''),
172
+ reason: failureMessage,
167
173
  },
168
174
  });
169
175
  return buildNavigateFailureResult({
@@ -171,7 +177,7 @@ export async function navigateBrowser(session, targetUrl) {
171
177
  error: 'navigation_failed',
172
178
  outcomeType: 'blocked',
173
179
  message: 'Navigation failed.',
174
- reason: failureMessage.replace(/^Navigation failed:\s*/, ''),
180
+ reason: failureMessage,
175
181
  runId: session.activeRunId,
176
182
  stepId: navigateStep?.stepId,
177
183
  });
@@ -1 +1 @@
1
- {"version":3,"file":"observe-accessibility.d.ts","sourceRoot":"","sources":["../../src/commands/observe-accessibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAa5C,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,wBAAwB,CAAC;AAEhC,KAAK,6BAA6B,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;CACpD,CAAC;AAOF,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CACtD,CAAC;AAkHF,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAClC,6BAA6B,GAAG,IAAI,CAoDtC;AAwoBD,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,EACzC,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAY9B;AAED,eAAO,MAAM,0BAA0B;;CAEtC,CAAC"}
1
+ {"version":3,"file":"observe-accessibility.d.ts","sourceRoot":"","sources":["../../src/commands/observe-accessibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAa5C,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,wBAAwB,CAAC;AAEhC,KAAK,6BAA6B,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;CACpD,CAAC;AAOF,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CACtD,CAAC;AAkHF,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAClC,6BAA6B,GAAG,IAAI,CAoDtC;AA+rBD,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,EACzC,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAY9B;AAED,eAAO,MAAM,0BAA0B;;CAEtC,CAAC"}
@@ -225,12 +225,46 @@ function patchDisplayLabel(displayLabel, previousLabel, nextLabel) {
225
225
  ? nextLabel + displayLabel.slice(previousLabel.length)
226
226
  : displayLabel;
227
227
  }
228
+ const ACTION_STYLE_PLACEHOLDER_RE = /^(?:select|choose|pick|enter|set|search|find|click|tap|open)\b/i;
228
229
  function shouldUseCurrentValueDisplayLabel(target) {
229
- return target.controlFamily === 'select' && target.kind !== 'select';
230
+ if ((target.inputType ?? '').trim().toLowerCase() === 'password') {
231
+ return false;
232
+ }
233
+ if (target.controlFamily === 'select' && target.kind !== 'select') {
234
+ return true;
235
+ }
236
+ return target.controlFamily === 'text-input' || target.controlFamily === 'datepicker';
237
+ }
238
+ function contextualDisplayLabelBase(target, nextLabel) {
239
+ const baseLabel = nextLabel ?? target.label;
240
+ const normalizedBaseLabel = normalizeText(baseLabel);
241
+ const normalizedPlaceholder = normalizeText(target.placeholder);
242
+ const shouldUseContextLabel = (target.controlFamily === 'datepicker' || target.acceptancePolicy === 'date-selection') &&
243
+ normalizedBaseLabel.length > 0 &&
244
+ normalizedPlaceholder.length > 0 &&
245
+ normalizedBaseLabel === normalizedPlaceholder &&
246
+ ACTION_STYLE_PLACEHOLDER_RE.test(normalizedBaseLabel);
247
+ if (!shouldUseContextLabel) {
248
+ return baseLabel;
249
+ }
250
+ for (const node of [
251
+ target.context?.item,
252
+ target.context?.group,
253
+ target.context?.container,
254
+ target.context?.landmark,
255
+ ]) {
256
+ const contextLabel = normalizeText(node?.label ?? node?.text);
257
+ if (!contextLabel || contextLabel === normalizedBaseLabel) {
258
+ continue;
259
+ }
260
+ return contextLabel;
261
+ }
262
+ return baseLabel;
230
263
  }
231
264
  function chooseDisplayLabel(target, nextLabel) {
232
265
  if (shouldUseCurrentValueDisplayLabel(target)) {
233
- const currentValueDisplayLabel = buildObserveDisplayLabel(nextLabel ?? target.label, target.currentValue);
266
+ const baseLabel = contextualDisplayLabelBase(target, nextLabel);
267
+ const currentValueDisplayLabel = buildObserveDisplayLabel(baseLabel, target.currentValue);
234
268
  if (currentValueDisplayLabel) {
235
269
  return currentValueDisplayLabel;
236
270
  }
@@ -1,14 +1,28 @@
1
- import type { Frame, Locator } from 'playwright-core';
1
+ import type { Locator } from 'playwright-core';
2
2
  import type { TargetAcceptancePolicy, TargetAllowedAction, TargetAvailabilityState, TargetCapability, TargetContext, TargetContextNode, TargetControlFamily, TargetSelectionState, TargetStructure, TargetValidationEvidence } from '../runtime-state.js';
3
3
  export type DomObservedContextNode = TargetContextNode & {
4
4
  selector?: string;
5
5
  fallbackLabel?: string;
6
6
  };
7
+ export type DomObservedOwnerCandidate = DomObservedContextNode & {
8
+ depth?: number;
9
+ surfaceKind?: string;
10
+ surfacePriority?: number;
11
+ directTextBlockCount?: number;
12
+ peerCount?: number;
13
+ descendantInteractiveCount?: number;
14
+ descendantEditableCount?: number;
15
+ viewportCoverage?: number;
16
+ relativeAreaToTarget?: number;
17
+ boundary?: boolean;
18
+ shell?: boolean;
19
+ };
7
20
  export type DomObservedTargetContext = Omit<TargetContext, 'item' | 'group' | 'container' | 'landmark'> & {
8
21
  item?: DomObservedContextNode;
9
22
  group?: DomObservedContextNode;
10
23
  container?: DomObservedContextNode;
11
24
  landmark?: DomObservedContextNode;
25
+ ownerCandidates?: DomObservedOwnerCandidate[];
12
26
  fallbackHintText?: string;
13
27
  };
14
28
  export type DomObservedTarget = {
@@ -44,6 +58,12 @@ export type DomObservedTarget = {
44
58
  surfaceSelector?: string;
45
59
  surfaceSelectors?: string[];
46
60
  surfacePriority?: number;
61
+ explicitSurfaceKind?: string;
62
+ explicitSurfaceLabel?: string;
63
+ explicitFallbackSurfaceLabel?: string;
64
+ explicitSurfaceSelector?: string;
65
+ explicitSurfaceSelectors?: string[];
66
+ explicitSurfacePriority?: number;
47
67
  descendantInteractiveCount?: number;
48
68
  descendantEditableCount?: number;
49
69
  ordinal?: number;
@@ -80,8 +100,27 @@ export type DomTargetCollectionOptions = {
80
100
  includeActivationAffordances?: boolean;
81
101
  pageSignature?: string;
82
102
  };
103
+ export type DomTargetCollectionDebugStats = {
104
+ structuralProfileBuilds: number;
105
+ ownerCandidateAncestorVisits: number;
106
+ explicitSurfaceAncestorVisits: number;
107
+ surfaceSelectorAncestorVisits: number;
108
+ };
109
+ export type DomTargetCollectionDebugResult = {
110
+ targets: DomObservedTarget[];
111
+ debugStats?: DomTargetCollectionDebugStats;
112
+ };
83
113
  type DomTargetCollectionContext = {
84
- evaluate<T>(pageFunction: string): Promise<T>;
114
+ evaluate(pageFunction: string): Promise<unknown>;
115
+ };
116
+ type FrameHostElementHandle = {
117
+ evaluate<T>(pageFunction: (element: Element, source: string) => T, arg: string): Promise<T>;
118
+ dispose(): Promise<unknown>;
119
+ };
120
+ export type ObservedFrameLike = DomTargetCollectionContext & {
121
+ url(): string;
122
+ childFrames(): ObservedFrameLike[];
123
+ frameElement(): Promise<FrameHostElementHandle | null>;
85
124
  };
86
125
  export type FrameHostDescriptor = {
87
126
  selector: string;
@@ -118,6 +157,7 @@ export type DisabledStateSemanticEvidence = {
118
157
  };
119
158
  export declare function inferStructuredCellVariantFromEvidence(evidence: StructuredCellVariantEvidence): 'date-cell' | 'seat-cell' | 'grid-cell' | undefined;
120
159
  export declare function inferDirectionalControlFallbackFromEvidence(evidence: DirectionalControlFallbackEvidence): string | undefined;
160
+ export declare function sanitizeClassNameForStateInference(value?: string): string;
121
161
  export declare function inferDisabledStateFromSemanticEvidence(evidence: DisabledStateSemanticEvidence): boolean;
122
162
  export declare function readStagehandLocatorSnapshot(locator: Locator): Promise<StagehandLocatorSnapshot>;
123
163
  declare function readStagehandDomFactsInBrowser(element: Element): StagehandDomFacts | null;
@@ -126,19 +166,22 @@ export declare function normalizeStagehandSelector(selector: string): {
126
166
  selector: string;
127
167
  framePath?: string[];
128
168
  };
129
- declare function collectDomTargetsFromDocument(context: DomTargetCollectionContext, options?: DomTargetCollectionOptions & {
169
+ type DomTargetCollectionInternalOptions = DomTargetCollectionOptions & {
130
170
  framePath?: string[];
131
171
  frameUrl?: string;
132
172
  pageFormSelector?: string;
133
- }): Promise<DomObservedTarget[]>;
134
- export declare function readFrameHostDescriptor(frame: Frame): Promise<FrameHostDescriptor | null>;
173
+ debugStructuralProfileStats?: boolean;
174
+ };
175
+ declare function collectDomTargetsFromDocument(context: DomTargetCollectionContext, options?: DomTargetCollectionInternalOptions): Promise<DomObservedTarget[]>;
176
+ export declare function readFrameHostDescriptor(frame: ObservedFrameLike): Promise<FrameHostDescriptor | null>;
135
177
  export declare function collectDomTargets(page: {
136
- evaluate<T>(pageFunction: string): Promise<T>;
137
- mainFrame?: () => Frame;
178
+ evaluate(pageFunction: string): Promise<unknown>;
179
+ mainFrame?: () => ObservedFrameLike;
138
180
  url?: () => string;
139
181
  }, options?: DomTargetCollectionOptions): Promise<DomObservedTarget[]>;
140
182
  export declare const __testDomTargetCollection: {
141
183
  collectDomTargetsFromDocument: typeof collectDomTargetsFromDocument;
184
+ collectDomTargetsDebugFromDocument: (context: DomTargetCollectionContext, options?: DomTargetCollectionOptions) => Promise<DomTargetCollectionDebugResult>;
142
185
  inferStructuredCellVariantFromEvidence: typeof inferStructuredCellVariantFromEvidence;
143
186
  inferDirectionalControlFallbackFromEvidence: typeof inferDirectionalControlFallbackFromEvidence;
144
187
  locatorDomSignatureScript: string;
@@ -1 +1 @@
1
- {"version":3,"file":"observe-inventory.d.ts","sourceRoot":"","sources":["../../src/commands/observe-inventory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAe7B,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,aAAa,EACb,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAC5C,GAAG;IACF,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;CACpD,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,QAAQ,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5F,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,kCAAkC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAIF,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,6BAA6B,GACtC,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAyCrD;AAED,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,kCAAkC,GAC3C,MAAM,GAAG,SAAS,CAuCpB;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,6BAA6B,GACtC,OAAO,CAwCT;AA+ND,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,wBAAwB,CAAC,CAuBnC;AAkED,iBAAS,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAElF;AAED,iBAAe,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAOxF;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAyBA;AAED,iBAAe,6BAA6B,CAC1C,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,0BAA0B,GAAG;IACrC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACA,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAwjG9B;AA4PD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA0B/F;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IACJ,QAAQ,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,KAAK,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,EACD,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA8D9B;AAED,eAAO,MAAM,yBAAyB;;;;;CAKrC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;CAKrC,CAAC"}
1
+ {"version":3,"file":"observe-inventory.d.ts","sourceRoot":"","sources":["../../src/commands/observe-inventory.ts"],"names":[],"mappings":"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"}