@qawolf/api-contracts 0.51.0 → 0.53.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 (261) hide show
  1. package/README.md +4 -0
  2. package/dist/v1/agent/get.d.ts +8 -1
  3. package/dist/v1/agent/get.d.ts.map +1 -1
  4. package/dist/v1/agent/get.js +16 -2
  5. package/dist/v1/agent/get.js.map +1 -1
  6. package/dist/v1/agent/send.d.ts +6 -0
  7. package/dist/v1/agent/send.d.ts.map +1 -1
  8. package/dist/v1/agent/send.js +11 -0
  9. package/dist/v1/agent/send.js.map +1 -1
  10. package/dist/v1/automate/index.d.ts +5 -0
  11. package/dist/v1/automate/index.d.ts.map +1 -1
  12. package/dist/v1/automate/index.js +5 -0
  13. package/dist/v1/automate/index.js.map +1 -1
  14. package/dist/v1/definition.d.ts +7 -0
  15. package/dist/v1/definition.d.ts.map +1 -1
  16. package/dist/v1/deployment/reportStatus.d.ts +54 -0
  17. package/dist/v1/deployment/reportStatus.d.ts.map +1 -0
  18. package/dist/v1/deployment/reportStatus.js +143 -0
  19. package/dist/v1/deployment/reportStatus.js.map +1 -0
  20. package/dist/v1/email/find.d.ts +5 -0
  21. package/dist/v1/email/find.d.ts.map +1 -1
  22. package/dist/v1/email/find.js +5 -0
  23. package/dist/v1/email/find.js.map +1 -1
  24. package/dist/v1/email/get.d.ts +5 -0
  25. package/dist/v1/email/get.d.ts.map +1 -1
  26. package/dist/v1/email/get.js +5 -0
  27. package/dist/v1/email/get.js.map +1 -1
  28. package/dist/v1/email/getAttachment.d.ts +5 -0
  29. package/dist/v1/email/getAttachment.d.ts.map +1 -1
  30. package/dist/v1/email/getAttachment.js +5 -0
  31. package/dist/v1/email/getAttachment.js.map +1 -1
  32. package/dist/v1/email/listAddresses.d.ts +5 -0
  33. package/dist/v1/email/listAddresses.d.ts.map +1 -1
  34. package/dist/v1/email/listAddresses.js +5 -0
  35. package/dist/v1/email/listAddresses.js.map +1 -1
  36. package/dist/v1/email/registerAddress.d.ts +5 -0
  37. package/dist/v1/email/registerAddress.d.ts.map +1 -1
  38. package/dist/v1/email/registerAddress.js +5 -0
  39. package/dist/v1/email/registerAddress.js.map +1 -1
  40. package/dist/v1/email/send.d.ts +5 -0
  41. package/dist/v1/email/send.d.ts.map +1 -1
  42. package/dist/v1/email/send.js +5 -0
  43. package/dist/v1/email/send.js.map +1 -1
  44. package/dist/v1/environment/deleteVariable.d.ts +5 -0
  45. package/dist/v1/environment/deleteVariable.d.ts.map +1 -1
  46. package/dist/v1/environment/deleteVariable.js +5 -0
  47. package/dist/v1/environment/deleteVariable.js.map +1 -1
  48. package/dist/v1/environment/find.d.ts +6 -1
  49. package/dist/v1/environment/find.d.ts.map +1 -1
  50. package/dist/v1/environment/find.js +5 -0
  51. package/dist/v1/environment/find.js.map +1 -1
  52. package/dist/v1/environment/getVariable.d.ts +5 -0
  53. package/dist/v1/environment/getVariable.d.ts.map +1 -1
  54. package/dist/v1/environment/getVariable.js +5 -0
  55. package/dist/v1/environment/getVariable.js.map +1 -1
  56. package/dist/v1/environment/index.d.ts +23 -3
  57. package/dist/v1/environment/index.d.ts.map +1 -1
  58. package/dist/v1/environment/index.js +21 -1
  59. package/dist/v1/environment/index.js.map +1 -1
  60. package/dist/v1/environment/resource.d.ts +1 -1
  61. package/dist/v1/environment/update.d.ts +6 -1
  62. package/dist/v1/environment/update.d.ts.map +1 -1
  63. package/dist/v1/environment/update.js +5 -0
  64. package/dist/v1/environment/update.js.map +1 -1
  65. package/dist/v1/file/index.d.ts +46 -0
  66. package/dist/v1/file/index.d.ts.map +1 -0
  67. package/dist/v1/file/index.js +8 -0
  68. package/dist/v1/file/index.js.map +1 -0
  69. package/dist/v1/file/path.d.ts +6 -0
  70. package/dist/v1/file/path.d.ts.map +1 -0
  71. package/dist/v1/file/path.js +17 -0
  72. package/dist/v1/file/path.js.map +1 -0
  73. package/dist/v1/file/requestDownload.d.ts +24 -0
  74. package/dist/v1/file/requestDownload.d.ts.map +1 -0
  75. package/dist/v1/file/requestDownload.js +32 -0
  76. package/dist/v1/file/requestDownload.js.map +1 -0
  77. package/dist/v1/file/requestUpload.d.ts +25 -0
  78. package/dist/v1/file/requestUpload.d.ts.map +1 -0
  79. package/dist/v1/file/requestUpload.js +37 -0
  80. package/dist/v1/file/requestUpload.js.map +1 -0
  81. package/dist/v1/flow/addTag.d.ts +5 -0
  82. package/dist/v1/flow/addTag.d.ts.map +1 -1
  83. package/dist/v1/flow/addTag.js +5 -0
  84. package/dist/v1/flow/addTag.js.map +1 -1
  85. package/dist/v1/flow/index.d.ts +5 -0
  86. package/dist/v1/flow/index.d.ts.map +1 -1
  87. package/dist/v1/flow/index.js +5 -0
  88. package/dist/v1/flow/index.js.map +1 -1
  89. package/dist/v1/flow/removeTag.d.ts +5 -0
  90. package/dist/v1/flow/removeTag.d.ts.map +1 -1
  91. package/dist/v1/flow/removeTag.js +5 -0
  92. package/dist/v1/flow/removeTag.js.map +1 -1
  93. package/dist/v1/flow/update.d.ts +5 -0
  94. package/dist/v1/flow/update.d.ts.map +1 -1
  95. package/dist/v1/flow/update.js +5 -0
  96. package/dist/v1/flow/update.js.map +1 -1
  97. package/dist/v1/ids.d.ts +3 -2
  98. package/dist/v1/ids.d.ts.map +1 -1
  99. package/dist/v1/ids.js +1 -0
  100. package/dist/v1/ids.js.map +1 -1
  101. package/dist/v1/index.d.ts +1620 -32
  102. package/dist/v1/index.d.ts.map +1 -1
  103. package/dist/v1/index.js +17 -8
  104. package/dist/v1/index.js.map +1 -1
  105. package/dist/v1/issue/addFlows.d.ts +5 -0
  106. package/dist/v1/issue/addFlows.d.ts.map +1 -1
  107. package/dist/v1/issue/addFlows.js +5 -0
  108. package/dist/v1/issue/addFlows.js.map +1 -1
  109. package/dist/v1/issue/create.d.ts +5 -0
  110. package/dist/v1/issue/create.d.ts.map +1 -1
  111. package/dist/v1/issue/create.js +5 -0
  112. package/dist/v1/issue/create.js.map +1 -1
  113. package/dist/v1/issue/index.d.ts +10 -0
  114. package/dist/v1/issue/index.d.ts.map +1 -1
  115. package/dist/v1/issue/index.js +10 -0
  116. package/dist/v1/issue/index.js.map +1 -1
  117. package/dist/v1/issue/removeFlows.d.ts +5 -0
  118. package/dist/v1/issue/removeFlows.d.ts.map +1 -1
  119. package/dist/v1/issue/removeFlows.js +5 -0
  120. package/dist/v1/issue/removeFlows.js.map +1 -1
  121. package/dist/v1/issue/update.d.ts +5 -0
  122. package/dist/v1/issue/update.d.ts.map +1 -1
  123. package/dist/v1/issue/update.js +5 -0
  124. package/dist/v1/issue/update.js.map +1 -1
  125. package/dist/v1/mcpToolDescription.d.ts +11 -0
  126. package/dist/v1/mcpToolDescription.d.ts.map +1 -0
  127. package/dist/v1/mcpToolDescription.js +19 -0
  128. package/dist/v1/mcpToolDescription.js.map +1 -0
  129. package/dist/v1/run/diagnose.d.ts +5 -0
  130. package/dist/v1/run/diagnose.d.ts.map +1 -1
  131. package/dist/v1/run/diagnose.js +5 -0
  132. package/dist/v1/run/diagnose.js.map +1 -1
  133. package/dist/v1/run/find.d.ts +5 -0
  134. package/dist/v1/run/find.d.ts.map +1 -1
  135. package/dist/v1/run/find.js +5 -0
  136. package/dist/v1/run/find.js.map +1 -1
  137. package/dist/v1/run/get.d.ts +5 -0
  138. package/dist/v1/run/get.d.ts.map +1 -1
  139. package/dist/v1/run/get.js +5 -0
  140. package/dist/v1/run/get.js.map +1 -1
  141. package/dist/v1/run/index.d.ts +5 -0
  142. package/dist/v1/run/index.d.ts.map +1 -1
  143. package/dist/v1/run/index.js +5 -0
  144. package/dist/v1/run/index.js.map +1 -1
  145. package/dist/v1/run/reattempt.d.ts +5 -0
  146. package/dist/v1/run/reattempt.d.ts.map +1 -1
  147. package/dist/v1/run/reattempt.js +5 -0
  148. package/dist/v1/run/reattempt.js.map +1 -1
  149. package/dist/v1/run/stop.d.ts +6 -1
  150. package/dist/v1/run/stop.d.ts.map +1 -1
  151. package/dist/v1/run/stop.js +6 -1
  152. package/dist/v1/run/stop.js.map +1 -1
  153. package/dist/v1/runner/evaluateSnippet.d.ts +6 -1
  154. package/dist/v1/runner/evaluateSnippet.d.ts.map +1 -1
  155. package/dist/v1/runner/evaluateSnippet.js +5 -0
  156. package/dist/v1/runner/evaluateSnippet.js.map +1 -1
  157. package/dist/v1/runner/get.d.ts +5 -0
  158. package/dist/v1/runner/get.d.ts.map +1 -1
  159. package/dist/v1/runner/get.js +5 -0
  160. package/dist/v1/runner/get.js.map +1 -1
  161. package/dist/v1/runner/highlightSelector.d.ts +5 -0
  162. package/dist/v1/runner/highlightSelector.d.ts.map +1 -1
  163. package/dist/v1/runner/highlightSelector.js +5 -0
  164. package/dist/v1/runner/highlightSelector.js.map +1 -1
  165. package/dist/v1/runner/identity.d.ts +1 -0
  166. package/dist/v1/runner/identity.d.ts.map +1 -1
  167. package/dist/v1/runner/identity.js +3 -0
  168. package/dist/v1/runner/identity.js.map +1 -1
  169. package/dist/v1/runner/importPackage.d.ts +5 -0
  170. package/dist/v1/runner/importPackage.d.ts.map +1 -1
  171. package/dist/v1/runner/importPackage.js +5 -0
  172. package/dist/v1/runner/importPackage.js.map +1 -1
  173. package/dist/v1/runner/index.d.ts +11 -0
  174. package/dist/v1/runner/index.d.ts.map +1 -1
  175. package/dist/v1/runner/index.js +10 -0
  176. package/dist/v1/runner/index.js.map +1 -1
  177. package/dist/v1/runner/inspect.d.ts +6 -0
  178. package/dist/v1/runner/inspect.d.ts.map +1 -1
  179. package/dist/v1/runner/inspect.js +7 -2
  180. package/dist/v1/runner/inspect.js.map +1 -1
  181. package/dist/v1/runner/inspectMobile.d.ts +27 -1
  182. package/dist/v1/runner/inspectMobile.d.ts.map +1 -1
  183. package/dist/v1/runner/inspectMobile.js +44 -22
  184. package/dist/v1/runner/inspectMobile.js.map +1 -1
  185. package/dist/v1/runner/list.d.ts +6 -0
  186. package/dist/v1/runner/list.d.ts.map +1 -1
  187. package/dist/v1/runner/list.js +5 -0
  188. package/dist/v1/runner/list.js.map +1 -1
  189. package/dist/v1/runner/performAction.d.ts +5 -0
  190. package/dist/v1/runner/performAction.d.ts.map +1 -1
  191. package/dist/v1/runner/performAction.js +5 -0
  192. package/dist/v1/runner/performAction.js.map +1 -1
  193. package/dist/v1/runner/promoteSnapshot.d.ts +5 -0
  194. package/dist/v1/runner/promoteSnapshot.d.ts.map +1 -1
  195. package/dist/v1/runner/promoteSnapshot.js +5 -0
  196. package/dist/v1/runner/promoteSnapshot.js.map +1 -1
  197. package/dist/v1/runner/readJournal.d.ts +5 -0
  198. package/dist/v1/runner/readJournal.d.ts.map +1 -1
  199. package/dist/v1/runner/readJournal.js +5 -0
  200. package/dist/v1/runner/readJournal.js.map +1 -1
  201. package/dist/v1/runner/runFlow.d.ts +5 -0
  202. package/dist/v1/runner/runFlow.d.ts.map +1 -1
  203. package/dist/v1/runner/runFlow.js +5 -0
  204. package/dist/v1/runner/runFlow.js.map +1 -1
  205. package/dist/v1/runner/stopRun.d.ts +5 -0
  206. package/dist/v1/runner/stopRun.d.ts.map +1 -1
  207. package/dist/v1/runner/stopRun.js +5 -0
  208. package/dist/v1/runner/stopRun.js.map +1 -1
  209. package/dist/v1/runner/takeScreenshot.d.ts +6 -1
  210. package/dist/v1/runner/takeScreenshot.d.ts.map +1 -1
  211. package/dist/v1/runner/takeScreenshot.js +6 -1
  212. package/dist/v1/runner/takeScreenshot.js.map +1 -1
  213. package/dist/v1/sharedSchemas.d.ts +18 -0
  214. package/dist/v1/sharedSchemas.d.ts.map +1 -0
  215. package/dist/v1/sharedSchemas.js +17 -0
  216. package/dist/v1/sharedSchemas.js.map +1 -0
  217. package/dist/v1/tag/index.d.ts +5 -0
  218. package/dist/v1/tag/index.d.ts.map +1 -1
  219. package/dist/v1/tag/index.js +5 -0
  220. package/dist/v1/tag/index.js.map +1 -1
  221. package/dist/v1/tag/list.d.ts +5 -0
  222. package/dist/v1/tag/list.d.ts.map +1 -1
  223. package/dist/v1/tag/list.js +5 -0
  224. package/dist/v1/tag/list.js.map +1 -1
  225. package/dist/v1/trigger/configuration.d.ts +99 -0
  226. package/dist/v1/trigger/configuration.d.ts.map +1 -0
  227. package/dist/v1/trigger/configuration.js +125 -0
  228. package/dist/v1/trigger/configuration.js.map +1 -0
  229. package/dist/v1/trigger/configurationRules.d.ts +35 -0
  230. package/dist/v1/trigger/configurationRules.d.ts.map +1 -0
  231. package/dist/v1/trigger/configurationRules.js +92 -0
  232. package/dist/v1/trigger/configurationRules.js.map +1 -0
  233. package/dist/v1/trigger/create.d.ts +114 -0
  234. package/dist/v1/trigger/create.d.ts.map +1 -0
  235. package/dist/v1/trigger/create.js +44 -0
  236. package/dist/v1/trigger/create.js.map +1 -0
  237. package/dist/v1/trigger/find.d.ts +75 -0
  238. package/dist/v1/trigger/find.d.ts.map +1 -0
  239. package/dist/v1/trigger/find.js +35 -0
  240. package/dist/v1/trigger/find.js.map +1 -0
  241. package/dist/v1/trigger/get.d.ts +73 -0
  242. package/dist/v1/trigger/get.d.ts.map +1 -0
  243. package/dist/v1/trigger/get.js +19 -0
  244. package/dist/v1/trigger/get.js.map +1 -0
  245. package/dist/v1/trigger/index.d.ts +9 -0
  246. package/dist/v1/trigger/index.d.ts.map +1 -0
  247. package/dist/v1/trigger/index.js +9 -0
  248. package/dist/v1/trigger/index.js.map +1 -0
  249. package/dist/v1/trigger/lifecycle.d.ts +159 -0
  250. package/dist/v1/trigger/lifecycle.d.ts.map +1 -0
  251. package/dist/v1/trigger/lifecycle.js +56 -0
  252. package/dist/v1/trigger/lifecycle.js.map +1 -0
  253. package/dist/v1/trigger/resource.d.ts +58 -0
  254. package/dist/v1/trigger/resource.d.ts.map +1 -0
  255. package/dist/v1/trigger/resource.js +52 -0
  256. package/dist/v1/trigger/resource.js.map +1 -0
  257. package/dist/v1/trigger/update.d.ts +113 -0
  258. package/dist/v1/trigger/update.d.ts.map +1 -0
  259. package/dist/v1/trigger/update.js +43 -0
  260. package/dist/v1/trigger/update.js.map +1 -0
  261. package/package.json +1 -1
@@ -20,6 +20,11 @@ export const makeReattemptRunContract = (ids) => {
20
20
  runId: ids.run,
21
21
  }, { urlFieldDescription: "Absolute URL of the run page." });
22
22
  return {
23
+ annotations: {
24
+ destructiveHint: true,
25
+ openWorldHint: true,
26
+ readOnlyHint: false,
27
+ },
23
28
  description: "Request new attempts for a run's flows, in the same run. " +
24
29
  "A flow is eligible once its result is failed or canceled and QA Wolf's " +
25
30
  "automatic retries have finished. " +
@@ -1 +1 @@
1
- {"version":3,"file":"reattempt.js","sourceRoot":"","sources":["../../../src/v1/run/reattempt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAGtC,GAID,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;aACf,GAAG,CAAC,CAAC,CAAC;YACP,yCAAyC;aACxC,GAAG,CAAC,GAAG,CAAC;aACR,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EACrD,wBAAwB,CACzB;aACA,QAAQ,EAAE;aACV,QAAQ,CACP,mEAAmE;YACjE,mEAAmE,CACtE;QACH,KAAK,EAAE,GAAG,CAAC,GAAG;KACf,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CACrB;QACE,kBAAkB,EAAE,CAAC;aAClB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;aACf,QAAQ,CAAC,4CAA4C,CAAC;QACzD,KAAK,EAAE,GAAG,CAAC,GAAG;KACf,EACD,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,CACzD,CAAC;IAEF,OAAO;QACL,WAAW,EACT,2DAA2D;YAC3D,yEAAyE;YACzE,mCAAmC;YACnC,yDAAyD;YACzD,mEAAmE;QACrE,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,eAAe;QACrB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"reattempt.js","sourceRoot":"","sources":["../../../src/v1/run/reattempt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAGtC,GAID,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;aACf,GAAG,CAAC,CAAC,CAAC;YACP,yCAAyC;aACxC,GAAG,CAAC,GAAG,CAAC;aACR,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EACrD,wBAAwB,CACzB;aACA,QAAQ,EAAE;aACV,QAAQ,CACP,mEAAmE;YACjE,mEAAmE,CACtE;QACH,KAAK,EAAE,GAAG,CAAC,GAAG;KACf,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CACrB;QACE,kBAAkB,EAAE,CAAC;aAClB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;aACf,QAAQ,CAAC,4CAA4C,CAAC;QACzD,KAAK,EAAE,GAAG,CAAC,GAAG;KACf,EACD,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,CACzD,CAAC;IAEF,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,KAAK;SACpB;QACD,WAAW,EACT,2DAA2D;YAC3D,yEAAyE;YACzE,mCAAmC;YACnC,yDAAyD;YACzD,mEAAmE;QACrE,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,eAAe;QACrB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -3,7 +3,12 @@ import type { PublicIdSchema } from "../ids.js";
3
3
  export declare const makeStopRunContract: <RunId extends PublicIdSchema>(ids: {
4
4
  run: RunId;
5
5
  }) => {
6
- readonly description: "Stop a run, including its queued flows and automatic retries. Stopping is asynchronous. Repeated requests are safe, and finished runs keep their results. A run that is still being created returns not found; retry once run.get returns the run. If run.get returns a different runId, use that ID. Poll run.get for results.";
6
+ readonly annotations: {
7
+ readonly destructiveHint: true;
8
+ readonly openWorldHint: true;
9
+ readonly readOnlyHint: false;
10
+ };
11
+ readonly description: "Stop a run, including its queued flows and automatic retries. Stopping is asynchronous and can update run-status messages and commit statuses in connected integrations. Repeated requests are safe, and finished runs keep their results. A run that is still being created returns not found; retry once run.get returns the run. If run.get returns a different runId, use that ID. Poll run.get for results.";
7
12
  readonly input: z.ZodObject<{
8
13
  runId: RunId;
9
14
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/v1/run/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD,eAAO,MAAM,mBAAmB,GAAI,KAAK,SAAS,cAAc,EAAE,KAAK;IACrE,GAAG,EAAE,KAAK,CAAC;CACZ;;;;;;;;;;;;;;;;CA2BA,CAAC"}
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/v1/run/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD,eAAO,MAAM,mBAAmB,GAAI,KAAK,SAAS,cAAc,EAAE,KAAK;IACrE,GAAG,EAAE,KAAK,CAAC;CACZ;;;;;;;;;;;;;;;;;;;;;CAgCA,CAAC"}
@@ -9,7 +9,12 @@ export const makeStopRunContract = (ids) => {
9
9
  .describe('"accepted" means stopping was requested; poll run.get for the final result. "already-finished" means the run has already finished and its result is unchanged. "execution-not-found" means the run exists but no execution was found to stop; it may still be starting or may no longer be available. No stop request was accepted in that case.'),
10
10
  }, { urlFieldDescription: "Absolute URL of the run page." });
11
11
  return {
12
- description: "Stop a run, including its queued flows and automatic retries. Stopping is asynchronous. Repeated requests are safe, and finished runs keep their results. A run that is still being created returns not found; retry once run.get returns the run. If run.get returns a different runId, use that ID. Poll run.get for results.",
12
+ annotations: {
13
+ destructiveHint: true,
14
+ openWorldHint: true,
15
+ readOnlyHint: false,
16
+ },
17
+ description: "Stop a run, including its queued flows and automatic retries. Stopping is asynchronous and can update run-status messages and commit statuses in connected integrations. Repeated requests are safe, and finished runs keep their results. A run that is still being created returns not found; retry once run.get returns the run. If run.get returns a different runId, use that ID. Poll run.get for results.",
13
18
  input,
14
19
  kind: "write",
15
20
  name: "run.stop",
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/v1/run/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAA+B,GAEjE,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,QAAQ,CACrB;QACE,KAAK,EAAE,GAAG,CAAC,GAAG;QACd,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,UAAU,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;aAC7D,QAAQ,CACP,kVAAkV,CACnV;KACJ,EACD,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,CACzD,CAAC;IAEF,OAAO;QACL,WAAW,EACT,iUAAiU;QACnU,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/v1/run/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAA+B,GAEjE,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,QAAQ,CACrB;QACE,KAAK,EAAE,GAAG,CAAC,GAAG;QACd,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,UAAU,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;aAC7D,QAAQ,CACP,kVAAkV,CACnV;KACJ,EACD,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,CACzD,CAAC;IAEF,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,KAAK;SACpB;QACD,WAAW,EACT,kZAAkZ;QACpZ,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -3,6 +3,11 @@ import type { PublicIdSchema } from "../ids.js";
3
3
  export declare const makeEvaluateSnippetOnRunnerContract: <WorkspaceId extends PublicIdSchema>(ids: {
4
4
  workspace: WorkspaceId;
5
5
  }) => {
6
+ readonly annotations: {
7
+ readonly destructiveHint: true;
8
+ readonly openWorldHint: true;
9
+ readonly readOnlyHint: false;
10
+ };
6
11
  readonly description: "Evaluate a snippet against whatever the runner's browser is showing right now. Answers whether the snippet ran, and its error if it threw — not the value it evaluated to, so read anything you want back out of the runner's journal (a snippet's `console.log` lands in the `console` stream). A snippet starts no run and leaves no run-scoped journal entries of its own. `runner-cannot-evaluate-snippets` on a runner with nothing attached to serve one — which will never clear, so check that the runner you launched is one that runs a browser or app before retrying. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Neither is proof the snippet did not run: a snippet that outlives the answer window is still executing when you read this, so do not blindly resubmit one that mutates what the page is looking at.";
7
12
  readonly input: z.ZodObject<{
8
13
  code: z.ZodString;
@@ -23,8 +28,8 @@ export declare const makeEvaluateSnippetOnRunnerContract: <WorkspaceId extends P
23
28
  }>;
24
29
  }, z.core.$strip>, z.ZodObject<{
25
30
  failureReason: z.ZodEnum<{
26
- "runner-unreachable": "runner-unreachable";
27
31
  "runner-cannot-evaluate-snippets": "runner-cannot-evaluate-snippets";
32
+ "runner-unreachable": "runner-unreachable";
28
33
  }>;
29
34
  outcome: z.ZodLiteral<"failure">;
30
35
  }, z.core.$strip>], "outcome">;
@@ -1 +1 @@
1
- {"version":3,"file":"evaluateSnippet.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/evaluateSnippet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAehD,eAAO,MAAM,mCAAmC,GAC9C,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEA,CAAC"}
1
+ {"version":3,"file":"evaluateSnippet.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/evaluateSnippet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAehD,eAAO,MAAM,mCAAmC,GAC9C,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EA,CAAC"}
@@ -51,6 +51,11 @@ export const makeEvaluateSnippetOnRunnerContract = (ids) => {
51
51
  ]),
52
52
  ]);
53
53
  return {
54
+ annotations: {
55
+ destructiveHint: true,
56
+ openWorldHint: true,
57
+ readOnlyHint: false,
58
+ },
54
59
  description: "Evaluate a snippet against whatever the runner's browser is showing right now. Answers whether the snippet ran, and its error if it threw — not the value it evaluated to, so read anything you want back out of the runner's journal (a snippet's `console.log` lands in the `console` stream). A snippet starts no run and leaves no run-scoped journal entries of its own. `runner-cannot-evaluate-snippets` on a runner with nothing attached to serve one — which will never clear, so check that the runner you launched is one that runs a browser or app before retrying. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Neither is proof the snippet did not run: a snippet that outlives the answer window is still executing when you read this, so do not blindly resubmit one that mutates what the page is looking at.",
55
60
  input,
56
61
  kind: "write",
@@ -1 +1 @@
1
- {"version":3,"file":"evaluateSnippet.js","sourceRoot":"","sources":["../../../src/v1/runner/evaluateSnippet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAElE;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAEjD,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC;SACZ,MAAM,CAAC;QACN,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,oBAAoB,CAAC;aACzB,QAAQ,CACP,oGAAoG,CACrG;QACH,QAAQ,EAAE,iBAAiB;aACxB,QAAQ,EAAE;aACV,QAAQ,CACP,sHAAsH,CACvH;QACH,KAAK,EAAE,cAAc;aAClB,QAAQ,EAAE;aACV,QAAQ,CACP,6IAA6I,CAC9I;QACH,EAAE,EAAE,cAAc,CAAC,QAAQ,CACzB,8CAA8C,CAC/C;QACD,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC;SACD,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,QAAQ,KAAK,SAAS;QAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EACtD;QACE,KAAK,EAAE,wDAAwD;QAC/D,IAAI,EAAE,CAAC,OAAO,CAAC;KAChB,CACF,CAAC;IAEJ,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC;YACP,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;iBACrC,QAAQ,CACP,6IAA6I,CAC9I;SACJ,CAAC;QACF,uBAAuB,CAAC;YACtB,iCAAiC;YACjC,8BAA8B;SAC/B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,o5BAAo5B;QACt5B,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,wBAAwB;QAC9B,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"evaluateSnippet.js","sourceRoot":"","sources":["../../../src/v1/runner/evaluateSnippet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAElE;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAEjD,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC;SACZ,MAAM,CAAC;QACN,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,oBAAoB,CAAC;aACzB,QAAQ,CACP,oGAAoG,CACrG;QACH,QAAQ,EAAE,iBAAiB;aACxB,QAAQ,EAAE;aACV,QAAQ,CACP,sHAAsH,CACvH;QACH,KAAK,EAAE,cAAc;aAClB,QAAQ,EAAE;aACV,QAAQ,CACP,6IAA6I,CAC9I;QACH,EAAE,EAAE,cAAc,CAAC,QAAQ,CACzB,8CAA8C,CAC/C;QACD,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC;SACD,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,QAAQ,KAAK,SAAS;QAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EACtD;QACE,KAAK,EAAE,wDAAwD;QAC/D,IAAI,EAAE,CAAC,OAAO,CAAC;KAChB,CACF,CAAC;IAEJ,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC;YACP,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;iBACrC,QAAQ,CACP,6IAA6I,CAC9I;SACJ,CAAC;QACF,uBAAuB,CAAC;YACtB,iCAAiC;YACjC,8BAA8B;SAC/B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,KAAK;SACpB;QACD,WAAW,EACT,o5BAAo5B;QACt5B,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,wBAAwB;QAC9B,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -3,6 +3,11 @@ import type { PublicIdSchema } from "../ids.js";
3
3
  export declare const makeGetRunnerContract: <WorkspaceId extends PublicIdSchema>(ids: {
4
4
  workspace: WorkspaceId;
5
5
  }) => {
6
+ readonly annotations: {
7
+ readonly destructiveHint: false;
8
+ readonly openWorldHint: false;
9
+ readonly readOnlyHint: true;
10
+ };
6
11
  readonly description: "Report whether a runner is running under this id on the caller's team. This is a lookup: it never starts a runner, and it does not reset a runner's inactivity clock the way reading its journal does. An id that is not running is a success with `running: false` rather than an error, so this is how to check a runner is still there before addressing it.";
7
12
  readonly input: z.ZodObject<{
8
13
  id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIhD,eAAO,MAAM,qBAAqB,GAAI,WAAW,SAAS,cAAc,EAAE,KAAK;IAC7E,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;CA+BA,CAAC"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIhD,eAAO,MAAM,qBAAqB,GAAI,WAAW,SAAS,cAAc,EAAE,KAAK;IAC7E,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;CAoCA,CAAC"}
@@ -15,6 +15,11 @@ export const makeGetRunnerContract = (ids) => {
15
15
  .describe("False when no runner is running under this id: it was never launched, it was terminated, or it terminated on its own after inactivity. These are not distinguished, because the run system keeps no record of a runner once it is gone."),
16
16
  });
17
17
  return {
18
+ annotations: {
19
+ destructiveHint: false,
20
+ openWorldHint: false,
21
+ readOnlyHint: true,
22
+ },
18
23
  description: "Report whether a runner is running under this id on the caller's team. This is a lookup: it never starts a runner, and it does not reset a runner's inactivity clock the way reading its journal does. An id that is not running is a success with `running: false` rather than an error, so this is how to check a runner is still there before addressing it.",
19
24
  input,
20
25
  kind: "read",
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/v1/runner/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAqC,GAEzE,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC3D,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACnE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7B,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,CACP,yOAAyO,CAC1O;KACJ,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,iWAAiW;QACnW,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,YAAY;QAClB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/v1/runner/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAqC,GAEzE,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC3D,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACnE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7B,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,CACP,yOAAyO,CAC1O;KACJ,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,IAAI;SACnB;QACD,WAAW,EACT,iWAAiW;QACnW,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,YAAY;QAClB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -5,6 +5,11 @@ export declare const maxHighlightSelectorLength = 2000;
5
5
  export declare const makeHighlightSelectorOnRunnerContract: <WorkspaceId extends PublicIdSchema>(ids: {
6
6
  workspace: WorkspaceId;
7
7
  }) => {
8
+ readonly annotations: {
9
+ readonly destructiveHint: false;
10
+ readonly openWorldHint: false;
11
+ readonly readOnlyHint: false;
12
+ };
8
13
  readonly description: "Highlight the elements a selector matches on an interactive runner's live page, and answer how many it matched. The highlight stays until it is replaced or cleared, so it is visible in the next `runner.takeScreenshot` — which is the point, since a caller cannot see the runner's screen otherwise. Send an empty selector to clear, which answers `cleared`. `status` tells a selector that matched nothing (`empty`) from one the page could not parse (`invalid`), so a caller can tell a bad locator from a locator pointing at nothing. `no-answer` if the page did not answer in time: the highlight runs inside the page, so a page that is gone or mid-navigation does not answer slowly, it does not answer at all. `runner-cannot-highlight-selectors` on a runner with no browser to draw on. `runner-unreachable` if the runner could not be reached: it may still be starting, or it may have terminated after inactivity.";
9
14
  readonly input: z.ZodObject<{
10
15
  id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"highlightSelector.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/highlightSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIhD,2FAA2F;AAC3F,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAEhD,eAAO,MAAM,qCAAqC,GAChD,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DA,CAAC"}
1
+ {"version":3,"file":"highlightSelector.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/highlightSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIhD,2FAA2F;AAC3F,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAEhD,eAAO,MAAM,qCAAqC,GAChD,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEA,CAAC"}
@@ -44,6 +44,11 @@ export const makeHighlightSelectorOnRunnerContract = (ids) => {
44
44
  }),
45
45
  ]);
46
46
  return {
47
+ annotations: {
48
+ destructiveHint: false,
49
+ openWorldHint: false,
50
+ readOnlyHint: false,
51
+ },
47
52
  description: "Highlight the elements a selector matches on an interactive runner's live page, and answer how many it matched. The highlight stays until it is replaced or cleared, so it is visible in the next `runner.takeScreenshot` — which is the point, since a caller cannot see the runner's screen otherwise. Send an empty selector to clear, which answers `cleared`. `status` tells a selector that matched nothing (`empty`) from one the page could not parse (`invalid`), so a caller can tell a bad locator from a locator pointing at nothing. `no-answer` if the page did not answer in time: the highlight runs inside the page, so a page that is gone or mid-navigation does not answer slowly, it does not answer at all. `runner-cannot-highlight-selectors` on a runner with no browser to draw on. `runner-unreachable` if the runner could not be reached: it may still be starting, or it may have terminated after inactivity.",
48
53
  input,
49
54
  kind: "write",
@@ -1 +1 @@
1
- {"version":3,"file":"highlightSelector.js","sourceRoot":"","sources":["../../../src/v1/runner/highlightSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7E,2FAA2F;AAC3F,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAEnD,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAChE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,0BAA0B,CAAC;aAC/B,QAAQ,CACP,4EAA4E,CAC7E;QACH,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,yCAAyC,CAAC;YACtD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAClE,MAAM,EAAE,CAAC;iBACN,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;iBACtC,QAAQ,CACP,oJAAoJ,CACrJ;YACH,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,kEAAkE,CACnE;SACJ,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACnC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC;gBACpB,WAAW;gBACX,mCAAmC;gBACnC,oBAAoB;aACrB,CAAC;YACF,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,84BAA84B;QACh5B,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0BAA0B;QAChC,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"highlightSelector.js","sourceRoot":"","sources":["../../../src/v1/runner/highlightSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7E,2FAA2F;AAC3F,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAEnD,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAChE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,0BAA0B,CAAC;aAC/B,QAAQ,CACP,4EAA4E,CAC7E;QACH,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,yCAAyC,CAAC;YACtD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAClE,MAAM,EAAE,CAAC;iBACN,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;iBACtC,QAAQ,CACP,oJAAoJ,CACrJ;YACH,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,kEAAkE,CACnE;SACJ,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACnC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC;gBACpB,WAAW;gBACX,mCAAmC;gBACnC,oBAAoB;aACrB,CAAC;YACF,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;SACpB;QACD,WAAW,EACT,84BAA84B;QACh5B,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0BAA0B;QAChC,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -19,5 +19,6 @@ export declare const makeRunnerSchema: () => z.ZodObject<{
19
19
  android: "android";
20
20
  ios: "ios";
21
21
  }>;
22
+ url: z.ZodURL;
22
23
  }, z.core.$strip>;
23
24
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;EAK3B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B,oJAC4G,CAAC;AAEpJ,eAAO,MAAM,4BAA4B,yLAAuE,CAAC;AAEjH,eAAO,MAAM,cAAc,aAOxB,CAAC;AAEJ,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB;;;;;;;;;iBAazB,CAAC"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;EAK3B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B,oJAC4G,CAAC;AAEpJ,eAAO,MAAM,4BAA4B,yLAAuE,CAAC;AAEjH,eAAO,MAAM,cAAc,aAOxB,CAAC;AAEJ,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAkBzB,CAAC"}
@@ -19,5 +19,8 @@ export const makeRunnerSchema = () => z.object({
19
19
  .describe("Whether the runner was placed on GPU hardware. Chosen by QA Wolf from the team's configuration and what the fleet can provide, not requested."),
20
20
  id: runnerIdSchema.describe("The runner's id, as supplied when launching it."),
21
21
  runnerName: runnerNameSchema.describe("The runner family requested when the runner was launched. QA Wolf may place it on faster hardware, reported in gpuAccelerated."),
22
+ url: z
23
+ .url()
24
+ .describe("A QA Wolf page showing what the runner is doing right now, where the person who launched it can watch and take over with their own mouse and keyboard. Opening it requires being signed in to QA Wolf."),
22
25
  });
23
26
  //# sourceMappingURL=identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/v1/runner/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,OAAO;IACP,YAAY;IACZ,SAAS;IACT,KAAK;CACN,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GACrC,iJAAiJ,CAAC;AAEpJ,MAAM,CAAC,MAAM,4BAA4B,GAAG,wCAAwC,0BAA0B,EAAE,CAAC;AAEjH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CACJ,iCAAiC,EACjC,mHAAmH,CACpH,CAAC;AAEJ,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,CAAC,CAAC,MAAM,CAAC;IACP,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,QAAQ,CACP,+IAA+I,CAChJ;IACH,EAAE,EAAE,cAAc,CAAC,QAAQ,CACzB,iDAAiD,CAClD;IACD,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CACnC,gIAAgI,CACjI;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/v1/runner/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,OAAO;IACP,YAAY;IACZ,SAAS;IACT,KAAK;CACN,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GACrC,iJAAiJ,CAAC;AAEpJ,MAAM,CAAC,MAAM,4BAA4B,GAAG,wCAAwC,0BAA0B,EAAE,CAAC;AAEjH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CACJ,iCAAiC,EACjC,mHAAmH,CACpH,CAAC;AAEJ,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,CAAC,CAAC,MAAM,CAAC;IACP,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,QAAQ,CACP,+IAA+I,CAChJ;IACH,EAAE,EAAE,cAAc,CAAC,QAAQ,CACzB,iDAAiD,CAClD;IACD,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CACnC,gIAAgI,CACjI;IACD,GAAG,EAAE,CAAC;SACH,GAAG,EAAE;SACL,QAAQ,CACP,wMAAwM,CACzM;CACJ,CAAC,CAAC"}
@@ -3,6 +3,11 @@ import type { PublicIdSchema } from "../ids.js";
3
3
  export declare const makeImportPackageOnRunnerContract: <WorkspaceId extends PublicIdSchema>(ids: {
4
4
  workspace: WorkspaceId;
5
5
  }) => {
6
+ readonly annotations: {
7
+ readonly destructiveHint: true;
8
+ readonly openWorldHint: true;
9
+ readonly readOnlyHint: false;
10
+ };
6
11
  readonly description: "Install a package into an interactive runner's live run and import it, so a snippet or a selection can use it without a full run to reinstall dependencies. An `install-failed` failure carries npm's reason in `errorMessage`. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. The install may still have landed, but installing the same version again does nothing, so retrying is safe.";
7
12
  readonly input: z.ZodObject<{
8
13
  id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"importPackage.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/importPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOhD,eAAO,MAAM,iCAAiC,GAC5C,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;CAwCA,CAAC"}
1
+ {"version":3,"file":"importPackage.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/importPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOhD,eAAO,MAAM,iCAAiC,GAC5C,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CA,CAAC"}
@@ -26,6 +26,11 @@ export const makeImportPackageOnRunnerContract = (ids) => {
26
26
  }),
27
27
  ]);
28
28
  return {
29
+ annotations: {
30
+ destructiveHint: true,
31
+ openWorldHint: true,
32
+ readOnlyHint: false,
33
+ },
29
34
  description: "Install a package into an interactive runner's live run and import it, so a snippet or a selection can use it without a full run to reinstall dependencies. An `install-failed` failure carries npm's reason in `errorMessage`. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. The install may still have landed, but installing the same version again does nothing, so retrying is safe.",
30
35
  input,
31
36
  kind: "write",
@@ -1 +1 @@
1
- {"version":3,"file":"importPackage.js","sourceRoot":"","sources":["../../../src/v1/runner/importPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7E,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAE/C,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAChE,eAAe,EAAE,CAAC;aACf,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;aAC9B,QAAQ,CACP,2EAA2E,CAC5E;QACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAC9D,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,CAAC,CAAC,MAAM,CAAC;YACP,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;YACrE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;YAC/D,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,0eAA0e;QAC5e,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB;QAC5B,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"importPackage.js","sourceRoot":"","sources":["../../../src/v1/runner/importPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7E,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAE/C,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAChE,eAAe,EAAE,CAAC;aACf,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;aAC9B,QAAQ,CACP,2EAA2E,CAC5E;QACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAC9D,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,CAAC,CAAC,MAAM,CAAC;YACP,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;YACrE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;YAC/D,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,KAAK;SACpB;QACD,WAAW,EACT,0eAA0e;QAC5e,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB;QAC5B,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -3,6 +3,11 @@ import type { PublicIdSchema } from "../ids.js";
3
3
  export declare const makeLaunchRunnerContract: <WorkspaceId extends PublicIdSchema>(ids: {
4
4
  workspace: WorkspaceId;
5
5
  }) => {
6
+ readonly annotations: {
7
+ readonly destructiveHint: true;
8
+ readonly openWorldHint: false;
9
+ readonly readOnlyHint: false;
10
+ };
6
11
  readonly description: "Launch an interactive runner on the caller's team under an id the caller chooses. Launching the same id again returns the runner already running rather than starting a second one, and the same id with a different runnerName is refused. A runner is not permanent: it terminates on its own after a period of inactivity, and launching the same id after that starts and bills a new runner — so read `alreadyRunning` to tell which happened.";
7
12
  readonly input: z.ZodObject<{
8
13
  id: z.ZodString;
@@ -25,6 +30,7 @@ export declare const makeLaunchRunnerContract: <WorkspaceId extends PublicIdSche
25
30
  android: "android";
26
31
  ios: "ios";
27
32
  }>;
33
+ url: z.ZodURL;
28
34
  alreadyRunning: z.ZodBoolean;
29
35
  outcome: z.ZodLiteral<"success">;
30
36
  }, z.core.$strip>;
@@ -32,6 +38,11 @@ export declare const makeLaunchRunnerContract: <WorkspaceId extends PublicIdSche
32
38
  export declare const makeTerminateRunnerContract: <WorkspaceId extends PublicIdSchema>(ids: {
33
39
  workspace: WorkspaceId;
34
40
  }) => {
41
+ readonly annotations: {
42
+ readonly destructiveHint: true;
43
+ readonly openWorldHint: false;
44
+ readonly readOnlyHint: false;
45
+ };
35
46
  readonly description: "End an interactive runner on the caller's team, and the pod it runs on with it. Terminating a runner that is not running succeeds and reports `wasRunning: false`. This ends the runner: use `runner.stopRun` to stop what a runner is currently executing while leaving the runner up.";
36
47
  readonly input: z.ZodObject<{
37
48
  id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAUhD,eAAO,MAAM,wBAAwB,GACnC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCA,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;CA8BA,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAUhD,eAAO,MAAM,wBAAwB,GACnC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CA,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;CAmCA,CAAC"}
@@ -17,6 +17,11 @@ export const makeLaunchRunnerContract = (ids) => {
17
17
  outcome: z.literal("success"),
18
18
  });
19
19
  return {
20
+ annotations: {
21
+ destructiveHint: true,
22
+ openWorldHint: false,
23
+ readOnlyHint: false,
24
+ },
20
25
  description: "Launch an interactive runner on the caller's team under an id the caller chooses. Launching the same id again returns the runner already running rather than starting a second one, and the same id with a different runnerName is refused. A runner is not permanent: it terminates on its own after a period of inactivity, and launching the same id after that starts and bills a new runner — so read `alreadyRunning` to tell which happened.",
21
26
  input,
22
27
  kind: "write",
@@ -39,6 +44,11 @@ export const makeTerminateRunnerContract = (ids) => {
39
44
  .describe("False when no running runner had this id: it was already terminated, was never launched, or terminated on its own after inactivity. These are not distinguished, because the run system keeps no record of a runner once it is gone. Not an error, and a retry needs no special handling."),
40
45
  });
41
46
  return {
47
+ annotations: {
48
+ destructiveHint: true,
49
+ openWorldHint: false,
50
+ readOnlyHint: false,
51
+ },
42
52
  description: "End an interactive runner on the caller's team, and the pod it runs on with it. Terminating a runner that is not running succeeds and reports `wasRunning: false`. This ends the runner: use `runner.stopRun` to stop what a runner is currently executing while leaving the runner up.",
43
53
  input,
44
54
  kind: "write",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAEtC,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CACzB,+HAA+H,CAChI;QACD,UAAU,EAAE,gBAAgB;aACzB,QAAQ,EAAE;aACV,QAAQ,CACP,+EAA+E,CAChF;QACH,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,0CAA0C,0BAA0B,EAAE,CACvE;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACvC,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,QAAQ,CACP,sKAAsK,CACvK;QACH,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;KAC9B,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,qbAAqb;QACvb,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,eAAe;QACrB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAEzC,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC7D,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACnE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7B,UAAU,EAAE,CAAC;aACV,OAAO,EAAE;aACT,QAAQ,CACP,2RAA2R,CAC5R;KACJ,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,yRAAyR;QAC3R,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kBAAkB;QACxB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAEtC,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CACzB,+HAA+H,CAChI;QACD,UAAU,EAAE,gBAAgB;aACzB,QAAQ,EAAE;aACV,QAAQ,CACP,+EAA+E,CAChF;QACH,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,0CAA0C,0BAA0B,EAAE,CACvE;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACvC,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,QAAQ,CACP,sKAAsK,CACvK;QACH,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;KAC9B,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;SACpB;QACD,WAAW,EACT,qbAAqb;QACvb,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,eAAe;QACrB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAEzC,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC7D,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACnE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7B,UAAU,EAAE,CAAC;aACV,OAAO,EAAE;aACT,QAAQ,CACP,2RAA2R,CAC5R;KACJ,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;SACpB;QACD,WAAW,EACT,yRAAyR;QAC3R,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kBAAkB;QACxB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import type { PublicIdSchema } from "../ids.js";
3
+ export declare const maxSelectorLength = 2000;
3
4
  export declare const inspectRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
4
5
  selector: z.ZodString;
5
6
  what: z.ZodLiteral<"element-html">;
@@ -14,6 +15,11 @@ export type InspectOnRunnerRequest = z.infer<typeof inspectRequestSchema>;
14
15
  export declare const makeInspectOnRunnerContract: <WorkspaceId extends PublicIdSchema>(ids: {
15
16
  workspace: WorkspaceId;
16
17
  }) => {
18
+ readonly annotations: {
19
+ readonly destructiveHint: false;
20
+ readonly openWorldHint: false;
21
+ readonly readOnlyHint: false;
22
+ };
17
23
  readonly description: string;
18
24
  readonly input: z.ZodObject<{
19
25
  id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQhD,eAAO,MAAM,oBAAoB;;;;;;;;;2BA0B/B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B,GACtC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CA,CAAC"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AAGvC,eAAO,MAAM,oBAAoB;;;;;;;;;2BA0B/B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B,GACtC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CA,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { runnerIdSchema, runnerWorkspaceIdDescription } from "./identity.js";
3
3
  import { retryableRunnerUnreachableDescription } from "./unreachable.js";
4
- const maxSelectorLength = 2_000;
4
+ export const maxSelectorLength = 2_000;
5
5
  const maxVariableNameLength = 256;
6
6
  export const inspectRequestSchema = z.discriminatedUnion("what", [
7
7
  z.object({
@@ -57,7 +57,12 @@ export const makeInspectOnRunnerContract = (ids) => {
57
57
  }),
58
58
  ]);
59
59
  return {
60
- description: "Inspect one thing on an interactive runner: an element's HTML, the page's HTML simplified for a model, or a top-level variable's value as JSON. `nothing-to-inspect` means the runner had nothing to answer with: no live page, no element matching the selector, or no variable under that name. A runner cannot tell those apart, so it reports the one reason and puts whatever it did say in `errorMessage`. `runner-is-not-a-browser` on a mobile runner — call `runner.inspectMobile` for its equivalent surface instead. " +
60
+ annotations: {
61
+ destructiveHint: false,
62
+ openWorldHint: false,
63
+ readOnlyHint: false,
64
+ },
65
+ description: "Inspect one thing on an interactive runner: an element's HTML, the page's HTML simplified for a model, or a top-level variable's value as JSON. This refreshes the inactivity timer and can extend the runner's billed lifetime. `nothing-to-inspect` means the runner had nothing to answer with: no live page, no element matching the selector, or no variable under that name. A runner cannot tell those apart, so it reports the one reason and puts whatever it did say in `errorMessage`. `runner-is-not-a-browser` on a mobile runner — call `runner.inspectMobile` for its equivalent surface instead. " +
61
66
  retryableRunnerUnreachableDescription,
62
67
  input,
63
68
  kind: "read",
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/v1/runner/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;KAChC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,EAAE;aACV,QAAQ,CAAC,4DAA4D,CAAC;QACzE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;KAC7B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,qBAAqB,CAAC;aAC1B,QAAQ,CAAC,uDAAuD,CAAC;QACpE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KAC5B,CAAC;CACH,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAEzC,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC3D,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;SACzE,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC;gBACpB,oBAAoB;gBACpB,yBAAyB;gBACzB,oBAAoB;aACrB,CAAC;YACF,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,kgBAAkgB;YAClgB,qCAAqC;QACvC,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gBAAgB;QACtB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/v1/runner/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AACvC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;KAChC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,EAAE;aACV,QAAQ,CAAC,4DAA4D,CAAC;QACzE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;KAC7B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,qBAAqB,CAAC;aAC1B,QAAQ,CAAC,uDAAuD,CAAC;QACpE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KAC5B,CAAC;CACH,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAEzC,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC3D,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;SACzE,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC;gBACpB,oBAAoB;gBACpB,yBAAyB;gBACzB,oBAAoB;aACrB,CAAC;YACF,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;SACpB;QACD,WAAW,EACT,mlBAAmlB;YACnlB,qCAAqC;QACvC,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gBAAgB;QACtB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -19,12 +19,27 @@ export declare const inspectMobileRequestSchema: z.ZodDiscriminatedUnion<[z.ZodO
19
19
  partial: z.ZodOptional<z.ZodBoolean>;
20
20
  text: z.ZodString;
21
21
  what: z.ZodLiteral<"elements">;
22
+ }, z.core.$strip>, z.ZodObject<{
23
+ by: z.ZodLiteral<"selector">;
24
+ context: z.ZodOptional<z.ZodString>;
25
+ selector: z.ZodString;
26
+ strategy: z.ZodDefault<z.ZodEnum<{
27
+ "ios-predicate": "ios-predicate";
28
+ shadow: "shadow";
29
+ xpath: "xpath";
30
+ }>>;
31
+ what: z.ZodLiteral<"elements">;
22
32
  }, z.core.$strip>], "by">], "what">;
23
33
  export type InspectMobileRequest = z.infer<typeof inspectMobileRequestSchema>;
24
34
  export declare const makeInspectMobileOnRunnerContract: <WorkspaceId extends PublicIdSchema>(ids: {
25
35
  workspace: WorkspaceId;
26
36
  }) => {
27
- readonly description: "Inspect one thing on a mobile interactive runner: the Appium session's status, the WebView contexts available, the current context's page source, or the elements at a point or carrying some text. Mobile only — a browser runner answers `runner-is-not-mobile`; call `runner.inspect` for a browser's equivalent surface instead. `what: \"session\"` always answers with the session's own status rather than `screen-needs-a-run`, since that is the question it exists to answer; the other three request kinds need a live session first and answer the same `screen-needs-a-run` or `screen-not-ready` outcomes `runner.performAction` and `runner.takeScreenshot` use, instead of reading anything when there is none. `screen-needs-a-run` means no Appium session has started on this runner yet — call `runner.runFlow` with a flow that opens one, then inspect again. `screen-not-ready` means the runner's Appium session exists but did not answer this instant, or more than one is somehow live — retry once; if it persists, relaunch the runner. `runner-is-not-mobile` means there is nothing here to inspect, and retrying will never help — launch an `android` or `ios` runner instead. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Nothing was changed, so retrying is safe; if it persists, launch the runner again.";
37
+ readonly annotations: {
38
+ readonly destructiveHint: false;
39
+ readonly openWorldHint: false;
40
+ readonly readOnlyHint: true;
41
+ };
42
+ readonly description: "Inspect one thing on a mobile interactive runner: the Appium session's status, the WebView contexts available, the current context's page source, or the elements at a point, carrying some text, or matching a selector. This does not refresh the runner's inactivity timer. Mobile only — a browser runner answers `runner-is-not-mobile`; call `runner.inspect` for a browser's equivalent surface instead. `what: \"session\"` always answers with the session's own status rather than `screen-needs-a-run`, since that is the question it exists to answer; the other three request kinds need a live session first and answer the same `screen-needs-a-run` or `screen-not-ready` outcomes `runner.performAction` and `runner.takeScreenshot` use, instead of reading anything when there is none. `screen-needs-a-run` means no Appium session has started on this runner yet — call `runner.runFlow` with a flow that opens one, then inspect again. `screen-not-ready` means the runner's Appium session exists but did not answer this instant, or more than one is somehow live — retry once; if it persists, relaunch the runner. `runner-is-not-mobile` means there is nothing here to inspect, and retrying will never help — launch an `android` or `ios` runner instead. `invalid-selector` (elements by selector only) means the selector itself could not be parsed under the given `strategy` — distinct from a selector that parsed fine but matched nothing, which answers `matches: []` instead. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Nothing was changed, so retrying is safe; if it persists, launch the runner again.";
28
43
  readonly input: z.ZodObject<{
29
44
  id: z.ZodString;
30
45
  request: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -46,6 +61,16 @@ export declare const makeInspectMobileOnRunnerContract: <WorkspaceId extends Pub
46
61
  partial: z.ZodOptional<z.ZodBoolean>;
47
62
  text: z.ZodString;
48
63
  what: z.ZodLiteral<"elements">;
64
+ }, z.core.$strip>, z.ZodObject<{
65
+ by: z.ZodLiteral<"selector">;
66
+ context: z.ZodOptional<z.ZodString>;
67
+ selector: z.ZodString;
68
+ strategy: z.ZodDefault<z.ZodEnum<{
69
+ "ios-predicate": "ios-predicate";
70
+ shadow: "shadow";
71
+ xpath: "xpath";
72
+ }>>;
73
+ what: z.ZodLiteral<"elements">;
49
74
  }, z.core.$strip>], "by">], "what">;
50
75
  workspaceId: z.ZodOptional<WorkspaceId>;
51
76
  }, z.core.$strip>;
@@ -220,6 +245,7 @@ export declare const makeInspectMobileOnRunnerContract: <WorkspaceId extends Pub
220
245
  }, z.core.$strip>], "what">, z.ZodObject<{
221
246
  failureReason: z.ZodEnum<{
222
247
  "runner-unreachable": "runner-unreachable";
248
+ "invalid-selector": "invalid-selector";
223
249
  "runner-is-not-mobile": "runner-is-not-mobile";
224
250
  "screen-needs-a-run": "screen-needs-a-run";
225
251
  "screen-not-ready": "screen-not-ready";
@@ -1 +1 @@
1
- {"version":3,"file":"inspectMobile.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/inspectMobile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAsBhD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;mCAgDrC,CAAC;AA4CH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,iCAAiC,GAC5C,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BA,CAAC"}
1
+ {"version":3,"file":"inspectMobile.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/inspectMobile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA8DhD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA0BrC,CAAC;AA4CH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,iCAAiC,GAC5C,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCA,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { runnerIdSchema, runnerWorkspaceIdDescription } from "./identity.js";
3
+ import { maxSelectorLength } from "./inspect.js";
3
4
  import { elementSchema, orientationSchema, pageSourceNodeSchema, } from "./inspectMobileShapes.js";
4
5
  import { makeRunnerFailureSchema } from "./outcome.js";
5
6
  import { retryableRunnerUnreachableDescription, runnerUnreachableFailureReason, } from "./unreachable.js";
@@ -9,6 +10,41 @@ import { retryableRunnerUnreachableDescription, runnerUnreachableFailureReason,
9
10
  * request kind can be added later without a rename.
10
11
  */
11
12
  const maxElementTextLength = 500;
13
+ /** Duplicated from the private `domain-runner-types` package, which this published one can't import. */
14
+ const selectorStrategySchema = z.enum(["ios-predicate", "shadow", "xpath"]);
15
+ /** Wire-level discriminant only: a `discriminatedUnion` can't nest a plain union, so this stays even though no CLI flag names it. */
16
+ const elementsRequestSchema = z
17
+ .discriminatedUnion("by", [
18
+ z.object({
19
+ by: z.literal("point"),
20
+ context: z.string().min(1).optional(),
21
+ what: z.literal("elements"),
22
+ x: z.int().min(0).describe("Whole pixels on the device's own screen."),
23
+ y: z.int().min(0).describe("Whole pixels on the device's own screen."),
24
+ }),
25
+ z.object({
26
+ by: z.literal("text"),
27
+ context: z.string().min(1).optional(),
28
+ partial: z
29
+ .boolean()
30
+ .optional()
31
+ .describe("Match text containing this, rather than exactly this."),
32
+ text: z.string().min(1).max(maxElementTextLength),
33
+ what: z.literal("elements"),
34
+ }),
35
+ z.object({
36
+ by: z.literal("selector"),
37
+ context: z.string().min(1).optional(),
38
+ selector: z
39
+ .string()
40
+ .min(1)
41
+ .max(maxSelectorLength)
42
+ .describe("Resolved the same way a screen object's own selector is."),
43
+ strategy: selectorStrategySchema.default("xpath"),
44
+ what: z.literal("elements"),
45
+ }),
46
+ ])
47
+ .describe("Elements at a screen point, elements carrying some text, or the elements a selector resolves to.");
12
48
  export const inspectMobileRequestSchema = z.discriminatedUnion("what", [
13
49
  z.object({
14
50
  what: z
@@ -30,27 +66,7 @@ export const inspectMobileRequestSchema = z.discriminatedUnion("what", [
30
66
  .literal("page")
31
67
  .describe("The page source of the device's current context, as a tree."),
32
68
  }),
33
- z
34
- .discriminatedUnion("by", [
35
- z.object({
36
- by: z.literal("point"),
37
- context: z.string().min(1).optional(),
38
- what: z.literal("elements"),
39
- x: z.int().min(0).describe("Whole pixels on the device's own screen."),
40
- y: z.int().min(0).describe("Whole pixels on the device's own screen."),
41
- }),
42
- z.object({
43
- by: z.literal("text"),
44
- context: z.string().min(1).optional(),
45
- partial: z
46
- .boolean()
47
- .optional()
48
- .describe("Match text containing this, rather than exactly this."),
49
- text: z.string().min(1).max(maxElementTextLength),
50
- what: z.literal("elements"),
51
- }),
52
- ])
53
- .describe("Elements at a screen point, or elements carrying some text — never both at once."),
69
+ elementsRequestSchema,
54
70
  ]);
55
71
  const inspectMobileAnswerSchema = z.discriminatedUnion("what", [
56
72
  z.object({
@@ -104,6 +120,7 @@ export const makeInspectMobileOnRunnerContract = (ids) => {
104
120
  const output = z.discriminatedUnion("outcome", [
105
121
  inspectMobileAnswerSchema,
106
122
  makeRunnerFailureSchema([
123
+ "invalid-selector",
107
124
  "runner-is-not-mobile",
108
125
  "screen-needs-a-run",
109
126
  "screen-not-ready",
@@ -111,7 +128,12 @@ export const makeInspectMobileOnRunnerContract = (ids) => {
111
128
  ]),
112
129
  ]);
113
130
  return {
114
- description: `Inspect one thing on a mobile interactive runner: the Appium session's status, the WebView contexts available, the current context's page source, or the elements at a point or carrying some text. Mobile only — a browser runner answers \`runner-is-not-mobile\`; call \`runner.inspect\` for a browser's equivalent surface instead. \`what: "session"\` always answers with the session's own status rather than \`screen-needs-a-run\`, since that is the question it exists to answer; the other three request kinds need a live session first and answer the same \`screen-needs-a-run\` or \`screen-not-ready\` outcomes \`runner.performAction\` and \`runner.takeScreenshot\` use, instead of reading anything when there is none. \`screen-needs-a-run\` means no Appium session has started on this runner yet — call \`runner.runFlow\` with a flow that opens one, then inspect again. \`screen-not-ready\` means the runner's Appium session exists but did not answer this instant, or more than one is somehow live — retry once; if it persists, relaunch the runner. \`runner-is-not-mobile\` means there is nothing here to inspect, and retrying will never help — launch an \`android\` or \`ios\` runner instead. ${retryableRunnerUnreachableDescription}`,
131
+ annotations: {
132
+ destructiveHint: false,
133
+ openWorldHint: false,
134
+ readOnlyHint: true,
135
+ },
136
+ description: `Inspect one thing on a mobile interactive runner: the Appium session's status, the WebView contexts available, the current context's page source, or the elements at a point, carrying some text, or matching a selector. This does not refresh the runner's inactivity timer. Mobile only — a browser runner answers \`runner-is-not-mobile\`; call \`runner.inspect\` for a browser's equivalent surface instead. \`what: "session"\` always answers with the session's own status rather than \`screen-needs-a-run\`, since that is the question it exists to answer; the other three request kinds need a live session first and answer the same \`screen-needs-a-run\` or \`screen-not-ready\` outcomes \`runner.performAction\` and \`runner.takeScreenshot\` use, instead of reading anything when there is none. \`screen-needs-a-run\` means no Appium session has started on this runner yet — call \`runner.runFlow\` with a flow that opens one, then inspect again. \`screen-not-ready\` means the runner's Appium session exists but did not answer this instant, or more than one is somehow live — retry once; if it persists, relaunch the runner. \`runner-is-not-mobile\` means there is nothing here to inspect, and retrying will never help — launch an \`android\` or \`ios\` runner instead. \`invalid-selector\` (elements by selector only) means the selector itself could not be parsed under the given \`strategy\` — distinct from a selector that parsed fine but matched nothing, which answers \`matches: []\` instead. ${retryableRunnerUnreachableDescription}`,
115
137
  input,
116
138
  kind: "read",
117
139
  name: "runner.inspectMobile",