@intentcomputing/koko-agent-sdk 1.0.1

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 (622) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/CODE_OF_CONDUCT.md +3 -0
  3. package/CONTRIBUTING.md +9 -0
  4. package/LICENSE +21 -0
  5. package/README.md +65 -0
  6. package/README.zh-CN.md +50 -0
  7. package/SECURITY.md +5 -0
  8. package/android/build.gradle +40 -0
  9. package/android/src/main/AndroidManifest.xml +2 -0
  10. package/android/src/main/java/cn/intentcomputing/kokoagentsdk/KokoAgentSdkModule.java +1356 -0
  11. package/android/src/main/java/cn/intentcomputing/kokoagentsdk/KokoAgentSdkPackage.java +23 -0
  12. package/docs/INTEGRATION.md +168 -0
  13. package/docs/INTEGRATION.zh-CN.md +140 -0
  14. package/docs/PRIVACY.md +11 -0
  15. package/docs/PRIVACY.zh-CN.md +11 -0
  16. package/docs/PUBLISH.md +11 -0
  17. package/docs/PUBLISH.zh-CN.md +11 -0
  18. package/ios/KokoAgentSdk/KokoAgentSdk.h +5 -0
  19. package/ios/KokoAgentSdk/KokoAgentSdk.m +2464 -0
  20. package/ios/KokoAgentSdk/KokoOcrBounds.h +20 -0
  21. package/ios/KokoAgentSdk/KokoScrollBounds.h +21 -0
  22. package/koko-agent-sdk.podspec +23 -0
  23. package/lib/commonjs/KokoAgent.js +1427 -0
  24. package/lib/commonjs/KokoAgent.js.map +1 -0
  25. package/lib/commonjs/assist/OnDeviceAssist.js +94 -0
  26. package/lib/commonjs/assist/OnDeviceAssist.js.map +1 -0
  27. package/lib/commonjs/assist/intentClassify.js +100 -0
  28. package/lib/commonjs/assist/intentClassify.js.map +1 -0
  29. package/lib/commonjs/assist/nodeRank.js +120 -0
  30. package/lib/commonjs/assist/nodeRank.js.map +1 -0
  31. package/lib/commonjs/assist/ocrTarget.js +135 -0
  32. package/lib/commonjs/assist/ocrTarget.js.map +1 -0
  33. package/lib/commonjs/assist/webVisualChange.js +29 -0
  34. package/lib/commonjs/assist/webVisualChange.js.map +1 -0
  35. package/lib/commonjs/client/ActionOutcomeUnknownError.js +28 -0
  36. package/lib/commonjs/client/ActionOutcomeUnknownError.js.map +1 -0
  37. package/lib/commonjs/client/AgentSession.js +858 -0
  38. package/lib/commonjs/client/AgentSession.js.map +1 -0
  39. package/lib/commonjs/client/GatewayClient.js +302 -0
  40. package/lib/commonjs/client/GatewayClient.js.map +1 -0
  41. package/lib/commonjs/client/OperationReplayGuard.js +62 -0
  42. package/lib/commonjs/client/OperationReplayGuard.js.map +1 -0
  43. package/lib/commonjs/client/RunCheckpoint.js +139 -0
  44. package/lib/commonjs/client/RunCheckpoint.js.map +1 -0
  45. package/lib/commonjs/client/loopDetect.js +184 -0
  46. package/lib/commonjs/client/loopDetect.js.map +1 -0
  47. package/lib/commonjs/client/recentSearch.js +50 -0
  48. package/lib/commonjs/client/recentSearch.js.map +1 -0
  49. package/lib/commonjs/client/walletChoiceGuard.js +18 -0
  50. package/lib/commonjs/client/walletChoiceGuard.js.map +1 -0
  51. package/lib/commonjs/client/webResultCategory.js +38 -0
  52. package/lib/commonjs/client/webResultCategory.js.map +1 -0
  53. package/lib/commonjs/commercial/AccountStore.js +78 -0
  54. package/lib/commonjs/commercial/AccountStore.js.map +1 -0
  55. package/lib/commonjs/commercial/AgentDebug.js +104 -0
  56. package/lib/commonjs/commercial/AgentDebug.js.map +1 -0
  57. package/lib/commonjs/commercial/ExecutionGuard.js +53 -0
  58. package/lib/commonjs/commercial/ExecutionGuard.js.map +1 -0
  59. package/lib/commonjs/commercial/UsageBus.js +42 -0
  60. package/lib/commonjs/commercial/UsageBus.js.map +1 -0
  61. package/lib/commonjs/commercial/branding.js +69 -0
  62. package/lib/commonjs/commercial/branding.js.map +1 -0
  63. package/lib/commonjs/commercial/devMode.js +52 -0
  64. package/lib/commonjs/commercial/devMode.js.map +1 -0
  65. package/lib/commonjs/commercial/trust.js +69 -0
  66. package/lib/commonjs/commercial/trust.js.map +1 -0
  67. package/lib/commonjs/confirmation/gate.js +62 -0
  68. package/lib/commonjs/confirmation/gate.js.map +1 -0
  69. package/lib/commonjs/cursor/CursorOverlay.js +141 -0
  70. package/lib/commonjs/cursor/CursorOverlay.js.map +1 -0
  71. package/lib/commonjs/cursor/PointerHand.js +51 -0
  72. package/lib/commonjs/cursor/PointerHand.js.map +1 -0
  73. package/lib/commonjs/cursor/controller.js +91 -0
  74. package/lib/commonjs/cursor/controller.js.map +1 -0
  75. package/lib/commonjs/cursor/pointer.js +49 -0
  76. package/lib/commonjs/cursor/pointer.js.map +1 -0
  77. package/lib/commonjs/debug/KokoRemoteSmoke.js +611 -0
  78. package/lib/commonjs/debug/KokoRemoteSmoke.js.map +1 -0
  79. package/lib/commonjs/explore/ExplorationGraph.js +418 -0
  80. package/lib/commonjs/explore/ExplorationGraph.js.map +1 -0
  81. package/lib/commonjs/explore/bootstrapExplore.js +59 -0
  82. package/lib/commonjs/explore/bootstrapExplore.js.map +1 -0
  83. package/lib/commonjs/host/HostActions.js +266 -0
  84. package/lib/commonjs/host/HostActions.js.map +1 -0
  85. package/lib/commonjs/i18n/index.js +169 -0
  86. package/lib/commonjs/i18n/index.js.map +1 -0
  87. package/lib/commonjs/i18n/runtimeMessages.js +184 -0
  88. package/lib/commonjs/i18n/runtimeMessages.js.map +1 -0
  89. package/lib/commonjs/index.js +640 -0
  90. package/lib/commonjs/index.js.map +1 -0
  91. package/lib/commonjs/native/NativeBridge.js +132 -0
  92. package/lib/commonjs/native/NativeBridge.js.map +1 -0
  93. package/lib/commonjs/native/navigationLabel.js +16 -0
  94. package/lib/commonjs/native/navigationLabel.js.map +1 -0
  95. package/lib/commonjs/native/normalizeViewTree.js +28 -0
  96. package/lib/commonjs/native/normalizeViewTree.js.map +1 -0
  97. package/lib/commonjs/native/pruneOffscreen.js +76 -0
  98. package/lib/commonjs/native/pruneOffscreen.js.map +1 -0
  99. package/lib/commonjs/native/scrollViewport.js +69 -0
  100. package/lib/commonjs/native/scrollViewport.js.map +1 -0
  101. package/lib/commonjs/package.json +1 -0
  102. package/lib/commonjs/privacy/redact.js +108 -0
  103. package/lib/commonjs/privacy/redact.js.map +1 -0
  104. package/lib/commonjs/privacy/screenEvidence.js +59 -0
  105. package/lib/commonjs/privacy/screenEvidence.js.map +1 -0
  106. package/lib/commonjs/privacy/screenModel.js +404 -0
  107. package/lib/commonjs/privacy/screenModel.js.map +1 -0
  108. package/lib/commonjs/privacy/sensitiveScreen.js +58 -0
  109. package/lib/commonjs/privacy/sensitiveScreen.js.map +1 -0
  110. package/lib/commonjs/privacy/userGate.js +213 -0
  111. package/lib/commonjs/privacy/userGate.js.map +1 -0
  112. package/lib/commonjs/protocol/actions.js +112 -0
  113. package/lib/commonjs/protocol/actions.js.map +1 -0
  114. package/lib/commonjs/provider/HostAppearanceStore.js +111 -0
  115. package/lib/commonjs/provider/HostAppearanceStore.js.map +1 -0
  116. package/lib/commonjs/provider/KokoProvider.js +81 -0
  117. package/lib/commonjs/provider/KokoProvider.js.map +1 -0
  118. package/lib/commonjs/provider/KokoUiContext.js +102 -0
  119. package/lib/commonjs/provider/KokoUiContext.js.map +1 -0
  120. package/lib/commonjs/selector/match.js +378 -0
  121. package/lib/commonjs/selector/match.js.map +1 -0
  122. package/lib/commonjs/task/TaskStore.js +361 -0
  123. package/lib/commonjs/task/TaskStore.js.map +1 -0
  124. package/lib/commonjs/task/types.js +2 -0
  125. package/lib/commonjs/task/types.js.map +1 -0
  126. package/lib/commonjs/task/useTaskStore.js +14 -0
  127. package/lib/commonjs/task/useTaskStore.js.map +1 -0
  128. package/lib/commonjs/types.js +2 -0
  129. package/lib/commonjs/types.js.map +1 -0
  130. package/lib/commonjs/ui/KokoChatSheet.js +885 -0
  131. package/lib/commonjs/ui/KokoChatSheet.js.map +1 -0
  132. package/lib/commonjs/ui/KokoComposer.js +161 -0
  133. package/lib/commonjs/ui/KokoComposer.js.map +1 -0
  134. package/lib/commonjs/ui/KokoDialogHost.js +254 -0
  135. package/lib/commonjs/ui/KokoDialogHost.js.map +1 -0
  136. package/lib/commonjs/ui/KokoEntryButton.js +81 -0
  137. package/lib/commonjs/ui/KokoEntryButton.js.map +1 -0
  138. package/lib/commonjs/ui/KokoObserver.js +522 -0
  139. package/lib/commonjs/ui/KokoObserver.js.map +1 -0
  140. package/lib/commonjs/ui/KokoOverlayLayer.js +45 -0
  141. package/lib/commonjs/ui/KokoOverlayLayer.js.map +1 -0
  142. package/lib/commonjs/ui/KokoSubtitle.js +95 -0
  143. package/lib/commonjs/ui/KokoSubtitle.js.map +1 -0
  144. package/lib/commonjs/ui/KokoTaskPanel.js +322 -0
  145. package/lib/commonjs/ui/KokoTaskPanel.js.map +1 -0
  146. package/lib/commonjs/ui/hostOverlay.js +126 -0
  147. package/lib/commonjs/ui/hostOverlay.js.map +1 -0
  148. package/lib/commonjs/ui/icons.js +132 -0
  149. package/lib/commonjs/ui/icons.js.map +1 -0
  150. package/lib/commonjs/ui/progressChrome.js +66 -0
  151. package/lib/commonjs/ui/progressChrome.js.map +1 -0
  152. package/lib/commonjs/ui/safeArea.js +96 -0
  153. package/lib/commonjs/ui/safeArea.js.map +1 -0
  154. package/lib/commonjs/ui/useOverlayOrigin.js +40 -0
  155. package/lib/commonjs/ui/useOverlayOrigin.js.map +1 -0
  156. package/lib/module/KokoAgent.js +1418 -0
  157. package/lib/module/KokoAgent.js.map +1 -0
  158. package/lib/module/assist/OnDeviceAssist.js +89 -0
  159. package/lib/module/assist/OnDeviceAssist.js.map +1 -0
  160. package/lib/module/assist/intentClassify.js +95 -0
  161. package/lib/module/assist/intentClassify.js.map +1 -0
  162. package/lib/module/assist/nodeRank.js +115 -0
  163. package/lib/module/assist/nodeRank.js.map +1 -0
  164. package/lib/module/assist/ocrTarget.js +123 -0
  165. package/lib/module/assist/ocrTarget.js.map +1 -0
  166. package/lib/module/assist/webVisualChange.js +24 -0
  167. package/lib/module/assist/webVisualChange.js.map +1 -0
  168. package/lib/module/client/ActionOutcomeUnknownError.js +23 -0
  169. package/lib/module/client/ActionOutcomeUnknownError.js.map +1 -0
  170. package/lib/module/client/AgentSession.js +854 -0
  171. package/lib/module/client/AgentSession.js.map +1 -0
  172. package/lib/module/client/GatewayClient.js +293 -0
  173. package/lib/module/client/GatewayClient.js.map +1 -0
  174. package/lib/module/client/OperationReplayGuard.js +58 -0
  175. package/lib/module/client/OperationReplayGuard.js.map +1 -0
  176. package/lib/module/client/RunCheckpoint.js +135 -0
  177. package/lib/module/client/RunCheckpoint.js.map +1 -0
  178. package/lib/module/client/loopDetect.js +177 -0
  179. package/lib/module/client/loopDetect.js.map +1 -0
  180. package/lib/module/client/recentSearch.js +46 -0
  181. package/lib/module/client/recentSearch.js.map +1 -0
  182. package/lib/module/client/walletChoiceGuard.js +14 -0
  183. package/lib/module/client/walletChoiceGuard.js.map +1 -0
  184. package/lib/module/client/webResultCategory.js +34 -0
  185. package/lib/module/client/webResultCategory.js.map +1 -0
  186. package/lib/module/commercial/AccountStore.js +75 -0
  187. package/lib/module/commercial/AccountStore.js.map +1 -0
  188. package/lib/module/commercial/AgentDebug.js +99 -0
  189. package/lib/module/commercial/AgentDebug.js.map +1 -0
  190. package/lib/module/commercial/ExecutionGuard.js +49 -0
  191. package/lib/module/commercial/ExecutionGuard.js.map +1 -0
  192. package/lib/module/commercial/UsageBus.js +38 -0
  193. package/lib/module/commercial/UsageBus.js.map +1 -0
  194. package/lib/module/commercial/branding.js +63 -0
  195. package/lib/module/commercial/branding.js.map +1 -0
  196. package/lib/module/commercial/devMode.js +45 -0
  197. package/lib/module/commercial/devMode.js.map +1 -0
  198. package/lib/module/commercial/trust.js +62 -0
  199. package/lib/module/commercial/trust.js.map +1 -0
  200. package/lib/module/confirmation/gate.js +54 -0
  201. package/lib/module/confirmation/gate.js.map +1 -0
  202. package/lib/module/cursor/CursorOverlay.js +136 -0
  203. package/lib/module/cursor/CursorOverlay.js.map +1 -0
  204. package/lib/module/cursor/PointerHand.js +47 -0
  205. package/lib/module/cursor/PointerHand.js.map +1 -0
  206. package/lib/module/cursor/controller.js +87 -0
  207. package/lib/module/cursor/controller.js.map +1 -0
  208. package/lib/module/cursor/pointer.js +45 -0
  209. package/lib/module/cursor/pointer.js.map +1 -0
  210. package/lib/module/debug/KokoRemoteSmoke.js +608 -0
  211. package/lib/module/debug/KokoRemoteSmoke.js.map +1 -0
  212. package/lib/module/explore/ExplorationGraph.js +406 -0
  213. package/lib/module/explore/ExplorationGraph.js.map +1 -0
  214. package/lib/module/explore/bootstrapExplore.js +55 -0
  215. package/lib/module/explore/bootstrapExplore.js.map +1 -0
  216. package/lib/module/host/HostActions.js +255 -0
  217. package/lib/module/host/HostActions.js.map +1 -0
  218. package/lib/module/i18n/index.js +159 -0
  219. package/lib/module/i18n/index.js.map +1 -0
  220. package/lib/module/i18n/runtimeMessages.js +180 -0
  221. package/lib/module/i18n/runtimeMessages.js.map +1 -0
  222. package/lib/module/index.js +44 -0
  223. package/lib/module/index.js.map +1 -0
  224. package/lib/module/native/NativeBridge.js +128 -0
  225. package/lib/module/native/NativeBridge.js.map +1 -0
  226. package/lib/module/native/navigationLabel.js +12 -0
  227. package/lib/module/native/navigationLabel.js.map +1 -0
  228. package/lib/module/native/normalizeViewTree.js +25 -0
  229. package/lib/module/native/normalizeViewTree.js.map +1 -0
  230. package/lib/module/native/pruneOffscreen.js +72 -0
  231. package/lib/module/native/pruneOffscreen.js.map +1 -0
  232. package/lib/module/native/scrollViewport.js +63 -0
  233. package/lib/module/native/scrollViewport.js.map +1 -0
  234. package/lib/module/package.json +1 -0
  235. package/lib/module/privacy/redact.js +103 -0
  236. package/lib/module/privacy/redact.js.map +1 -0
  237. package/lib/module/privacy/screenEvidence.js +50 -0
  238. package/lib/module/privacy/screenEvidence.js.map +1 -0
  239. package/lib/module/privacy/screenModel.js +397 -0
  240. package/lib/module/privacy/screenModel.js.map +1 -0
  241. package/lib/module/privacy/sensitiveScreen.js +52 -0
  242. package/lib/module/privacy/sensitiveScreen.js.map +1 -0
  243. package/lib/module/privacy/userGate.js +202 -0
  244. package/lib/module/privacy/userGate.js.map +1 -0
  245. package/lib/module/protocol/actions.js +108 -0
  246. package/lib/module/protocol/actions.js.map +1 -0
  247. package/lib/module/provider/HostAppearanceStore.js +101 -0
  248. package/lib/module/provider/HostAppearanceStore.js.map +1 -0
  249. package/lib/module/provider/KokoProvider.js +74 -0
  250. package/lib/module/provider/KokoProvider.js.map +1 -0
  251. package/lib/module/provider/KokoUiContext.js +96 -0
  252. package/lib/module/provider/KokoUiContext.js.map +1 -0
  253. package/lib/module/selector/match.js +366 -0
  254. package/lib/module/selector/match.js.map +1 -0
  255. package/lib/module/task/TaskStore.js +356 -0
  256. package/lib/module/task/TaskStore.js.map +1 -0
  257. package/lib/module/task/types.js +2 -0
  258. package/lib/module/task/types.js.map +1 -0
  259. package/lib/module/task/useTaskStore.js +10 -0
  260. package/lib/module/task/useTaskStore.js.map +1 -0
  261. package/lib/module/types.js +2 -0
  262. package/lib/module/types.js.map +1 -0
  263. package/lib/module/ui/KokoChatSheet.js +879 -0
  264. package/lib/module/ui/KokoChatSheet.js.map +1 -0
  265. package/lib/module/ui/KokoComposer.js +155 -0
  266. package/lib/module/ui/KokoComposer.js.map +1 -0
  267. package/lib/module/ui/KokoDialogHost.js +247 -0
  268. package/lib/module/ui/KokoDialogHost.js.map +1 -0
  269. package/lib/module/ui/KokoEntryButton.js +74 -0
  270. package/lib/module/ui/KokoEntryButton.js.map +1 -0
  271. package/lib/module/ui/KokoObserver.js +516 -0
  272. package/lib/module/ui/KokoObserver.js.map +1 -0
  273. package/lib/module/ui/KokoOverlayLayer.js +39 -0
  274. package/lib/module/ui/KokoOverlayLayer.js.map +1 -0
  275. package/lib/module/ui/KokoSubtitle.js +90 -0
  276. package/lib/module/ui/KokoSubtitle.js.map +1 -0
  277. package/lib/module/ui/KokoTaskPanel.js +316 -0
  278. package/lib/module/ui/KokoTaskPanel.js.map +1 -0
  279. package/lib/module/ui/hostOverlay.js +120 -0
  280. package/lib/module/ui/hostOverlay.js.map +1 -0
  281. package/lib/module/ui/icons.js +124 -0
  282. package/lib/module/ui/icons.js.map +1 -0
  283. package/lib/module/ui/progressChrome.js +58 -0
  284. package/lib/module/ui/progressChrome.js.map +1 -0
  285. package/lib/module/ui/safeArea.js +92 -0
  286. package/lib/module/ui/safeArea.js.map +1 -0
  287. package/lib/module/ui/useOverlayOrigin.js +36 -0
  288. package/lib/module/ui/useOverlayOrigin.js.map +1 -0
  289. package/lib/typescript/commonjs/KokoAgent.d.ts +167 -0
  290. package/lib/typescript/commonjs/KokoAgent.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/assist/OnDeviceAssist.d.ts +31 -0
  292. package/lib/typescript/commonjs/assist/OnDeviceAssist.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/assist/intentClassify.d.ts +18 -0
  294. package/lib/typescript/commonjs/assist/intentClassify.d.ts.map +1 -0
  295. package/lib/typescript/commonjs/assist/nodeRank.d.ts +32 -0
  296. package/lib/typescript/commonjs/assist/nodeRank.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/assist/ocrTarget.d.ts +25 -0
  298. package/lib/typescript/commonjs/assist/ocrTarget.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/assist/webVisualChange.d.ts +6 -0
  300. package/lib/typescript/commonjs/assist/webVisualChange.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/client/ActionOutcomeUnknownError.d.ts +13 -0
  302. package/lib/typescript/commonjs/client/ActionOutcomeUnknownError.d.ts.map +1 -0
  303. package/lib/typescript/commonjs/client/AgentSession.d.ts +56 -0
  304. package/lib/typescript/commonjs/client/AgentSession.d.ts.map +1 -0
  305. package/lib/typescript/commonjs/client/GatewayClient.d.ts +149 -0
  306. package/lib/typescript/commonjs/client/GatewayClient.d.ts.map +1 -0
  307. package/lib/typescript/commonjs/client/OperationReplayGuard.d.ts +13 -0
  308. package/lib/typescript/commonjs/client/OperationReplayGuard.d.ts.map +1 -0
  309. package/lib/typescript/commonjs/client/RunCheckpoint.d.ts +57 -0
  310. package/lib/typescript/commonjs/client/RunCheckpoint.d.ts.map +1 -0
  311. package/lib/typescript/commonjs/client/loopDetect.d.ts +15 -0
  312. package/lib/typescript/commonjs/client/loopDetect.d.ts.map +1 -0
  313. package/lib/typescript/commonjs/client/recentSearch.d.ts +5 -0
  314. package/lib/typescript/commonjs/client/recentSearch.d.ts.map +1 -0
  315. package/lib/typescript/commonjs/client/walletChoiceGuard.d.ts +4 -0
  316. package/lib/typescript/commonjs/client/walletChoiceGuard.d.ts.map +1 -0
  317. package/lib/typescript/commonjs/client/webResultCategory.d.ts +5 -0
  318. package/lib/typescript/commonjs/client/webResultCategory.d.ts.map +1 -0
  319. package/lib/typescript/commonjs/commercial/AccountStore.d.ts +17 -0
  320. package/lib/typescript/commonjs/commercial/AccountStore.d.ts.map +1 -0
  321. package/lib/typescript/commonjs/commercial/AgentDebug.d.ts +25 -0
  322. package/lib/typescript/commonjs/commercial/AgentDebug.d.ts.map +1 -0
  323. package/lib/typescript/commonjs/commercial/ExecutionGuard.d.ts +18 -0
  324. package/lib/typescript/commonjs/commercial/ExecutionGuard.d.ts.map +1 -0
  325. package/lib/typescript/commonjs/commercial/UsageBus.d.ts +18 -0
  326. package/lib/typescript/commonjs/commercial/UsageBus.d.ts.map +1 -0
  327. package/lib/typescript/commonjs/commercial/branding.d.ts +25 -0
  328. package/lib/typescript/commonjs/commercial/branding.d.ts.map +1 -0
  329. package/lib/typescript/commonjs/commercial/devMode.d.ts +26 -0
  330. package/lib/typescript/commonjs/commercial/devMode.d.ts.map +1 -0
  331. package/lib/typescript/commonjs/commercial/trust.d.ts +21 -0
  332. package/lib/typescript/commonjs/commercial/trust.d.ts.map +1 -0
  333. package/lib/typescript/commonjs/confirmation/gate.d.ts +18 -0
  334. package/lib/typescript/commonjs/confirmation/gate.d.ts.map +1 -0
  335. package/lib/typescript/commonjs/cursor/CursorOverlay.d.ts +13 -0
  336. package/lib/typescript/commonjs/cursor/CursorOverlay.d.ts.map +1 -0
  337. package/lib/typescript/commonjs/cursor/PointerHand.d.ts +16 -0
  338. package/lib/typescript/commonjs/cursor/PointerHand.d.ts.map +1 -0
  339. package/lib/typescript/commonjs/cursor/controller.d.ts +30 -0
  340. package/lib/typescript/commonjs/cursor/controller.d.ts.map +1 -0
  341. package/lib/typescript/commonjs/cursor/pointer.d.ts +23 -0
  342. package/lib/typescript/commonjs/cursor/pointer.d.ts.map +1 -0
  343. package/lib/typescript/commonjs/debug/KokoRemoteSmoke.d.ts +96 -0
  344. package/lib/typescript/commonjs/debug/KokoRemoteSmoke.d.ts.map +1 -0
  345. package/lib/typescript/commonjs/explore/ExplorationGraph.d.ts +96 -0
  346. package/lib/typescript/commonjs/explore/ExplorationGraph.d.ts.map +1 -0
  347. package/lib/typescript/commonjs/explore/bootstrapExplore.d.ts +40 -0
  348. package/lib/typescript/commonjs/explore/bootstrapExplore.d.ts.map +1 -0
  349. package/lib/typescript/commonjs/host/HostActions.d.ts +101 -0
  350. package/lib/typescript/commonjs/host/HostActions.d.ts.map +1 -0
  351. package/lib/typescript/commonjs/i18n/index.d.ts +20 -0
  352. package/lib/typescript/commonjs/i18n/index.d.ts.map +1 -0
  353. package/lib/typescript/commonjs/i18n/runtimeMessages.d.ts +178 -0
  354. package/lib/typescript/commonjs/i18n/runtimeMessages.d.ts.map +1 -0
  355. package/lib/typescript/commonjs/index.d.ts +66 -0
  356. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  357. package/lib/typescript/commonjs/native/NativeBridge.d.ts +70 -0
  358. package/lib/typescript/commonjs/native/NativeBridge.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/native/navigationLabel.d.ts +4 -0
  360. package/lib/typescript/commonjs/native/navigationLabel.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/native/normalizeViewTree.d.ts +4 -0
  362. package/lib/typescript/commonjs/native/normalizeViewTree.d.ts.map +1 -0
  363. package/lib/typescript/commonjs/native/pruneOffscreen.d.ts +3 -0
  364. package/lib/typescript/commonjs/native/pruneOffscreen.d.ts.map +1 -0
  365. package/lib/typescript/commonjs/native/scrollViewport.d.ts +13 -0
  366. package/lib/typescript/commonjs/native/scrollViewport.d.ts.map +1 -0
  367. package/lib/typescript/commonjs/package.json +1 -0
  368. package/lib/typescript/commonjs/privacy/redact.d.ts +9 -0
  369. package/lib/typescript/commonjs/privacy/redact.d.ts.map +1 -0
  370. package/lib/typescript/commonjs/privacy/screenEvidence.d.ts +14 -0
  371. package/lib/typescript/commonjs/privacy/screenEvidence.d.ts.map +1 -0
  372. package/lib/typescript/commonjs/privacy/screenModel.d.ts +26 -0
  373. package/lib/typescript/commonjs/privacy/screenModel.d.ts.map +1 -0
  374. package/lib/typescript/commonjs/privacy/sensitiveScreen.d.ts +8 -0
  375. package/lib/typescript/commonjs/privacy/sensitiveScreen.d.ts.map +1 -0
  376. package/lib/typescript/commonjs/privacy/userGate.d.ts +58 -0
  377. package/lib/typescript/commonjs/privacy/userGate.d.ts.map +1 -0
  378. package/lib/typescript/commonjs/protocol/actions.d.ts +7 -0
  379. package/lib/typescript/commonjs/protocol/actions.d.ts.map +1 -0
  380. package/lib/typescript/commonjs/provider/HostAppearanceStore.d.ts +64 -0
  381. package/lib/typescript/commonjs/provider/HostAppearanceStore.d.ts.map +1 -0
  382. package/lib/typescript/commonjs/provider/KokoProvider.d.ts +39 -0
  383. package/lib/typescript/commonjs/provider/KokoProvider.d.ts.map +1 -0
  384. package/lib/typescript/commonjs/provider/KokoUiContext.d.ts +22 -0
  385. package/lib/typescript/commonjs/provider/KokoUiContext.d.ts.map +1 -0
  386. package/lib/typescript/commonjs/selector/match.d.ts +27 -0
  387. package/lib/typescript/commonjs/selector/match.d.ts.map +1 -0
  388. package/lib/typescript/commonjs/task/TaskStore.d.ts +65 -0
  389. package/lib/typescript/commonjs/task/TaskStore.d.ts.map +1 -0
  390. package/lib/typescript/commonjs/task/types.d.ts +66 -0
  391. package/lib/typescript/commonjs/task/types.d.ts.map +1 -0
  392. package/lib/typescript/commonjs/task/useTaskStore.d.ts +3 -0
  393. package/lib/typescript/commonjs/task/useTaskStore.d.ts.map +1 -0
  394. package/lib/typescript/commonjs/types.d.ts +372 -0
  395. package/lib/typescript/commonjs/types.d.ts.map +1 -0
  396. package/lib/typescript/commonjs/ui/KokoChatSheet.d.ts +8 -0
  397. package/lib/typescript/commonjs/ui/KokoChatSheet.d.ts.map +1 -0
  398. package/lib/typescript/commonjs/ui/KokoComposer.d.ts +13 -0
  399. package/lib/typescript/commonjs/ui/KokoComposer.d.ts.map +1 -0
  400. package/lib/typescript/commonjs/ui/KokoDialogHost.d.ts +32 -0
  401. package/lib/typescript/commonjs/ui/KokoDialogHost.d.ts.map +1 -0
  402. package/lib/typescript/commonjs/ui/KokoEntryButton.d.ts +18 -0
  403. package/lib/typescript/commonjs/ui/KokoEntryButton.d.ts.map +1 -0
  404. package/lib/typescript/commonjs/ui/KokoObserver.d.ts +13 -0
  405. package/lib/typescript/commonjs/ui/KokoObserver.d.ts.map +1 -0
  406. package/lib/typescript/commonjs/ui/KokoOverlayLayer.d.ts +35 -0
  407. package/lib/typescript/commonjs/ui/KokoOverlayLayer.d.ts.map +1 -0
  408. package/lib/typescript/commonjs/ui/KokoSubtitle.d.ts +7 -0
  409. package/lib/typescript/commonjs/ui/KokoSubtitle.d.ts.map +1 -0
  410. package/lib/typescript/commonjs/ui/KokoTaskPanel.d.ts +7 -0
  411. package/lib/typescript/commonjs/ui/KokoTaskPanel.d.ts.map +1 -0
  412. package/lib/typescript/commonjs/ui/hostOverlay.d.ts +28 -0
  413. package/lib/typescript/commonjs/ui/hostOverlay.d.ts.map +1 -0
  414. package/lib/typescript/commonjs/ui/icons.d.ts +26 -0
  415. package/lib/typescript/commonjs/ui/icons.d.ts.map +1 -0
  416. package/lib/typescript/commonjs/ui/progressChrome.d.ts +21 -0
  417. package/lib/typescript/commonjs/ui/progressChrome.d.ts.map +1 -0
  418. package/lib/typescript/commonjs/ui/safeArea.d.ts +12 -0
  419. package/lib/typescript/commonjs/ui/safeArea.d.ts.map +1 -0
  420. package/lib/typescript/commonjs/ui/useOverlayOrigin.d.ts +22 -0
  421. package/lib/typescript/commonjs/ui/useOverlayOrigin.d.ts.map +1 -0
  422. package/lib/typescript/module/KokoAgent.d.ts +167 -0
  423. package/lib/typescript/module/KokoAgent.d.ts.map +1 -0
  424. package/lib/typescript/module/assist/OnDeviceAssist.d.ts +31 -0
  425. package/lib/typescript/module/assist/OnDeviceAssist.d.ts.map +1 -0
  426. package/lib/typescript/module/assist/intentClassify.d.ts +18 -0
  427. package/lib/typescript/module/assist/intentClassify.d.ts.map +1 -0
  428. package/lib/typescript/module/assist/nodeRank.d.ts +32 -0
  429. package/lib/typescript/module/assist/nodeRank.d.ts.map +1 -0
  430. package/lib/typescript/module/assist/ocrTarget.d.ts +25 -0
  431. package/lib/typescript/module/assist/ocrTarget.d.ts.map +1 -0
  432. package/lib/typescript/module/assist/webVisualChange.d.ts +6 -0
  433. package/lib/typescript/module/assist/webVisualChange.d.ts.map +1 -0
  434. package/lib/typescript/module/client/ActionOutcomeUnknownError.d.ts +13 -0
  435. package/lib/typescript/module/client/ActionOutcomeUnknownError.d.ts.map +1 -0
  436. package/lib/typescript/module/client/AgentSession.d.ts +56 -0
  437. package/lib/typescript/module/client/AgentSession.d.ts.map +1 -0
  438. package/lib/typescript/module/client/GatewayClient.d.ts +149 -0
  439. package/lib/typescript/module/client/GatewayClient.d.ts.map +1 -0
  440. package/lib/typescript/module/client/OperationReplayGuard.d.ts +13 -0
  441. package/lib/typescript/module/client/OperationReplayGuard.d.ts.map +1 -0
  442. package/lib/typescript/module/client/RunCheckpoint.d.ts +57 -0
  443. package/lib/typescript/module/client/RunCheckpoint.d.ts.map +1 -0
  444. package/lib/typescript/module/client/loopDetect.d.ts +15 -0
  445. package/lib/typescript/module/client/loopDetect.d.ts.map +1 -0
  446. package/lib/typescript/module/client/recentSearch.d.ts +5 -0
  447. package/lib/typescript/module/client/recentSearch.d.ts.map +1 -0
  448. package/lib/typescript/module/client/walletChoiceGuard.d.ts +4 -0
  449. package/lib/typescript/module/client/walletChoiceGuard.d.ts.map +1 -0
  450. package/lib/typescript/module/client/webResultCategory.d.ts +5 -0
  451. package/lib/typescript/module/client/webResultCategory.d.ts.map +1 -0
  452. package/lib/typescript/module/commercial/AccountStore.d.ts +17 -0
  453. package/lib/typescript/module/commercial/AccountStore.d.ts.map +1 -0
  454. package/lib/typescript/module/commercial/AgentDebug.d.ts +25 -0
  455. package/lib/typescript/module/commercial/AgentDebug.d.ts.map +1 -0
  456. package/lib/typescript/module/commercial/ExecutionGuard.d.ts +18 -0
  457. package/lib/typescript/module/commercial/ExecutionGuard.d.ts.map +1 -0
  458. package/lib/typescript/module/commercial/UsageBus.d.ts +18 -0
  459. package/lib/typescript/module/commercial/UsageBus.d.ts.map +1 -0
  460. package/lib/typescript/module/commercial/branding.d.ts +25 -0
  461. package/lib/typescript/module/commercial/branding.d.ts.map +1 -0
  462. package/lib/typescript/module/commercial/devMode.d.ts +26 -0
  463. package/lib/typescript/module/commercial/devMode.d.ts.map +1 -0
  464. package/lib/typescript/module/commercial/trust.d.ts +21 -0
  465. package/lib/typescript/module/commercial/trust.d.ts.map +1 -0
  466. package/lib/typescript/module/confirmation/gate.d.ts +18 -0
  467. package/lib/typescript/module/confirmation/gate.d.ts.map +1 -0
  468. package/lib/typescript/module/cursor/CursorOverlay.d.ts +13 -0
  469. package/lib/typescript/module/cursor/CursorOverlay.d.ts.map +1 -0
  470. package/lib/typescript/module/cursor/PointerHand.d.ts +16 -0
  471. package/lib/typescript/module/cursor/PointerHand.d.ts.map +1 -0
  472. package/lib/typescript/module/cursor/controller.d.ts +30 -0
  473. package/lib/typescript/module/cursor/controller.d.ts.map +1 -0
  474. package/lib/typescript/module/cursor/pointer.d.ts +23 -0
  475. package/lib/typescript/module/cursor/pointer.d.ts.map +1 -0
  476. package/lib/typescript/module/debug/KokoRemoteSmoke.d.ts +96 -0
  477. package/lib/typescript/module/debug/KokoRemoteSmoke.d.ts.map +1 -0
  478. package/lib/typescript/module/explore/ExplorationGraph.d.ts +96 -0
  479. package/lib/typescript/module/explore/ExplorationGraph.d.ts.map +1 -0
  480. package/lib/typescript/module/explore/bootstrapExplore.d.ts +40 -0
  481. package/lib/typescript/module/explore/bootstrapExplore.d.ts.map +1 -0
  482. package/lib/typescript/module/host/HostActions.d.ts +101 -0
  483. package/lib/typescript/module/host/HostActions.d.ts.map +1 -0
  484. package/lib/typescript/module/i18n/index.d.ts +20 -0
  485. package/lib/typescript/module/i18n/index.d.ts.map +1 -0
  486. package/lib/typescript/module/i18n/runtimeMessages.d.ts +178 -0
  487. package/lib/typescript/module/i18n/runtimeMessages.d.ts.map +1 -0
  488. package/lib/typescript/module/index.d.ts +66 -0
  489. package/lib/typescript/module/index.d.ts.map +1 -0
  490. package/lib/typescript/module/native/NativeBridge.d.ts +70 -0
  491. package/lib/typescript/module/native/NativeBridge.d.ts.map +1 -0
  492. package/lib/typescript/module/native/navigationLabel.d.ts +4 -0
  493. package/lib/typescript/module/native/navigationLabel.d.ts.map +1 -0
  494. package/lib/typescript/module/native/normalizeViewTree.d.ts +4 -0
  495. package/lib/typescript/module/native/normalizeViewTree.d.ts.map +1 -0
  496. package/lib/typescript/module/native/pruneOffscreen.d.ts +3 -0
  497. package/lib/typescript/module/native/pruneOffscreen.d.ts.map +1 -0
  498. package/lib/typescript/module/native/scrollViewport.d.ts +13 -0
  499. package/lib/typescript/module/native/scrollViewport.d.ts.map +1 -0
  500. package/lib/typescript/module/package.json +1 -0
  501. package/lib/typescript/module/privacy/redact.d.ts +9 -0
  502. package/lib/typescript/module/privacy/redact.d.ts.map +1 -0
  503. package/lib/typescript/module/privacy/screenEvidence.d.ts +14 -0
  504. package/lib/typescript/module/privacy/screenEvidence.d.ts.map +1 -0
  505. package/lib/typescript/module/privacy/screenModel.d.ts +26 -0
  506. package/lib/typescript/module/privacy/screenModel.d.ts.map +1 -0
  507. package/lib/typescript/module/privacy/sensitiveScreen.d.ts +8 -0
  508. package/lib/typescript/module/privacy/sensitiveScreen.d.ts.map +1 -0
  509. package/lib/typescript/module/privacy/userGate.d.ts +58 -0
  510. package/lib/typescript/module/privacy/userGate.d.ts.map +1 -0
  511. package/lib/typescript/module/protocol/actions.d.ts +7 -0
  512. package/lib/typescript/module/protocol/actions.d.ts.map +1 -0
  513. package/lib/typescript/module/provider/HostAppearanceStore.d.ts +64 -0
  514. package/lib/typescript/module/provider/HostAppearanceStore.d.ts.map +1 -0
  515. package/lib/typescript/module/provider/KokoProvider.d.ts +39 -0
  516. package/lib/typescript/module/provider/KokoProvider.d.ts.map +1 -0
  517. package/lib/typescript/module/provider/KokoUiContext.d.ts +22 -0
  518. package/lib/typescript/module/provider/KokoUiContext.d.ts.map +1 -0
  519. package/lib/typescript/module/selector/match.d.ts +27 -0
  520. package/lib/typescript/module/selector/match.d.ts.map +1 -0
  521. package/lib/typescript/module/task/TaskStore.d.ts +65 -0
  522. package/lib/typescript/module/task/TaskStore.d.ts.map +1 -0
  523. package/lib/typescript/module/task/types.d.ts +66 -0
  524. package/lib/typescript/module/task/types.d.ts.map +1 -0
  525. package/lib/typescript/module/task/useTaskStore.d.ts +3 -0
  526. package/lib/typescript/module/task/useTaskStore.d.ts.map +1 -0
  527. package/lib/typescript/module/types.d.ts +372 -0
  528. package/lib/typescript/module/types.d.ts.map +1 -0
  529. package/lib/typescript/module/ui/KokoChatSheet.d.ts +8 -0
  530. package/lib/typescript/module/ui/KokoChatSheet.d.ts.map +1 -0
  531. package/lib/typescript/module/ui/KokoComposer.d.ts +13 -0
  532. package/lib/typescript/module/ui/KokoComposer.d.ts.map +1 -0
  533. package/lib/typescript/module/ui/KokoDialogHost.d.ts +32 -0
  534. package/lib/typescript/module/ui/KokoDialogHost.d.ts.map +1 -0
  535. package/lib/typescript/module/ui/KokoEntryButton.d.ts +18 -0
  536. package/lib/typescript/module/ui/KokoEntryButton.d.ts.map +1 -0
  537. package/lib/typescript/module/ui/KokoObserver.d.ts +13 -0
  538. package/lib/typescript/module/ui/KokoObserver.d.ts.map +1 -0
  539. package/lib/typescript/module/ui/KokoOverlayLayer.d.ts +35 -0
  540. package/lib/typescript/module/ui/KokoOverlayLayer.d.ts.map +1 -0
  541. package/lib/typescript/module/ui/KokoSubtitle.d.ts +7 -0
  542. package/lib/typescript/module/ui/KokoSubtitle.d.ts.map +1 -0
  543. package/lib/typescript/module/ui/KokoTaskPanel.d.ts +7 -0
  544. package/lib/typescript/module/ui/KokoTaskPanel.d.ts.map +1 -0
  545. package/lib/typescript/module/ui/hostOverlay.d.ts +28 -0
  546. package/lib/typescript/module/ui/hostOverlay.d.ts.map +1 -0
  547. package/lib/typescript/module/ui/icons.d.ts +26 -0
  548. package/lib/typescript/module/ui/icons.d.ts.map +1 -0
  549. package/lib/typescript/module/ui/progressChrome.d.ts +21 -0
  550. package/lib/typescript/module/ui/progressChrome.d.ts.map +1 -0
  551. package/lib/typescript/module/ui/safeArea.d.ts +12 -0
  552. package/lib/typescript/module/ui/safeArea.d.ts.map +1 -0
  553. package/lib/typescript/module/ui/useOverlayOrigin.d.ts +22 -0
  554. package/lib/typescript/module/ui/useOverlayOrigin.d.ts.map +1 -0
  555. package/package.json +153 -0
  556. package/react-native.config.js +12 -0
  557. package/src/KokoAgent.ts +1415 -0
  558. package/src/assist/OnDeviceAssist.ts +133 -0
  559. package/src/assist/intentClassify.ts +122 -0
  560. package/src/assist/nodeRank.ts +167 -0
  561. package/src/assist/ocrTarget.ts +146 -0
  562. package/src/assist/webVisualChange.ts +24 -0
  563. package/src/client/ActionOutcomeUnknownError.ts +18 -0
  564. package/src/client/AgentSession.ts +952 -0
  565. package/src/client/GatewayClient.ts +439 -0
  566. package/src/client/OperationReplayGuard.ts +61 -0
  567. package/src/client/RunCheckpoint.ts +154 -0
  568. package/src/client/loopDetect.ts +213 -0
  569. package/src/client/recentSearch.ts +47 -0
  570. package/src/client/walletChoiceGuard.ts +15 -0
  571. package/src/client/webResultCategory.ts +28 -0
  572. package/src/commercial/AccountStore.ts +85 -0
  573. package/src/commercial/AgentDebug.ts +142 -0
  574. package/src/commercial/ExecutionGuard.ts +67 -0
  575. package/src/commercial/UsageBus.ts +44 -0
  576. package/src/commercial/branding.ts +97 -0
  577. package/src/commercial/devMode.ts +48 -0
  578. package/src/commercial/trust.ts +67 -0
  579. package/src/confirmation/gate.ts +82 -0
  580. package/src/cursor/CursorOverlay.tsx +138 -0
  581. package/src/cursor/PointerHand.tsx +49 -0
  582. package/src/cursor/controller.ts +98 -0
  583. package/src/cursor/pointer.ts +40 -0
  584. package/src/debug/KokoRemoteSmoke.tsx +561 -0
  585. package/src/explore/ExplorationGraph.ts +518 -0
  586. package/src/explore/bootstrapExplore.ts +89 -0
  587. package/src/host/HostActions.ts +349 -0
  588. package/src/i18n/index.ts +229 -0
  589. package/src/i18n/runtimeMessages.ts +180 -0
  590. package/src/index.ts +203 -0
  591. package/src/native/NativeBridge.ts +207 -0
  592. package/src/native/navigationLabel.ts +11 -0
  593. package/src/native/normalizeViewTree.ts +16 -0
  594. package/src/native/pruneOffscreen.ts +72 -0
  595. package/src/native/scrollViewport.ts +51 -0
  596. package/src/privacy/redact.ts +115 -0
  597. package/src/privacy/screenEvidence.ts +55 -0
  598. package/src/privacy/screenModel.ts +504 -0
  599. package/src/privacy/sensitiveScreen.ts +55 -0
  600. package/src/privacy/userGate.ts +233 -0
  601. package/src/protocol/actions.ts +66 -0
  602. package/src/provider/HostAppearanceStore.ts +148 -0
  603. package/src/provider/KokoProvider.tsx +118 -0
  604. package/src/provider/KokoUiContext.tsx +162 -0
  605. package/src/selector/match.ts +417 -0
  606. package/src/task/TaskStore.ts +387 -0
  607. package/src/task/types.ts +82 -0
  608. package/src/task/useTaskStore.ts +9 -0
  609. package/src/types.ts +318 -0
  610. package/src/ui/KokoChatSheet.tsx +930 -0
  611. package/src/ui/KokoComposer.tsx +174 -0
  612. package/src/ui/KokoDialogHost.tsx +249 -0
  613. package/src/ui/KokoEntryButton.tsx +74 -0
  614. package/src/ui/KokoObserver.tsx +587 -0
  615. package/src/ui/KokoOverlayLayer.tsx +53 -0
  616. package/src/ui/KokoSubtitle.tsx +80 -0
  617. package/src/ui/KokoTaskPanel.tsx +299 -0
  618. package/src/ui/hostOverlay.tsx +148 -0
  619. package/src/ui/icons.tsx +145 -0
  620. package/src/ui/progressChrome.ts +73 -0
  621. package/src/ui/safeArea.ts +95 -0
  622. package/src/ui/useOverlayOrigin.ts +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","runPreflightConfirm","viewTreeOutline","sensitiveScreenKind","SensitiveScreenError","screenModelText","screenSnapshotLine","extractAffordances","HostActionsStore","filterVisibleHostActions","hostActionsModelText","AppUserGateStore","detectAppUserGate","gateMessageValue","userGateModelText","GatewayClient","GatewayError","UsageBus","AccountStore","ExecutionGuard","AgentDebug","scrollPosition","TaskStore","isLooping","ExplorationGraph","exploreHintsModelText","goalExploreQuery","RunCheckpoint","ActionOutcomeUnknownError","ActionValidationError","OperationReplayGuard","recentSearchAction","webResultCategory","wrongHostWalletChoice","currentLocale","gatewayLocale","runtimeText","message","resolveText","buildOnDeviceAssist","NativeBridge","webVisualChanged","webVisualLabels","ocrHitInFrames","visibleWebViewFrames","SOFT_MAX_STEPS","HARD_MAX_STEPS","affordanceLabels","tree","map","a","label","AgentSession","history","stopped","running","operationReplayGuard","constructor","agent","opts","gateway","token","baseUrl","stop","cancelPendingActions","uiLocale","locale","getConfig","text","key","vars","assertRunning","Error","run","goal","acquired","acquireSession","runInternal","releaseSession","reset","sessionId","undefined","startTask","cfg","runStart","resumedFromReload","log","plannerGoal","finishTask","success","summary","steps","preflightOk","confirmation","onConfirmSensitive","stepBudget","userReply","awaitingObservationVerdict","activeGoal","began","beginSession","session_id","setPermit","execution_permit","initialGate","waitForAppUserGateIfNeeded","ensureLoaded","exploreQuery","step","touch","catch","length","Math","min","gateWait","safeDump","setPlanningTree","outline","gate","visibleHosts","getActions","exploreHints","hintLabelsTowardGoal","targetTokens","assist","hostWalletAliases","webWalletAliases","walletChoices","frame","flags","inspectWebWalletProvider","x","width","y","height","present","hasRequest","isMetaMask","filter","alias","hostModel","modelText","Boolean","join","model","enabled","console","intent","backend","ranked","ocrTokens","texts","walk","n","t","accessibilityLabel","trim","push","testID","c","children","uniq","Set","slice","screenCapabilities","planningLocale","next","nextWithRetry","hasHandoff","ui_tree","ui_outline","ui_screen_model","local_ocr_goal_labels","goalOcrLabels","local_ocr_wallet_choices","local_web_wallet_aliases","user_reply","platform","OS","error","markHandoff","pushHistory","tool","args","emit","type","action","at","Date","now","appAction","actionDetail","recentAction","hostWalletChoice","aliases","includes","attempted","some","item","String","toLocaleLowerCase","target","find","match","exact","confidence","nodeId","id","narration","onNarration","observedOcrLabel","runEnd","request","question","w","forceMessage","minWaitMs","beforeSnap","webTap","startsWith","beforeWeb","beforeLabels","blocks","exec","executeWithRetry","ok","record","sleep","after","snap","liftChrome","tapLabel","lastTapViaHost","recordTransition","beforePosition","from","afterPosition","result","resultWithObs","changedWeb","viaHost","lastThree","every","h","e","diagnostic","copy","localizedMessage","failureMessage","code","quota","refresh","runIssue","clear","body","maxAttempts","last","i","msg","status","retryable","test","attempt","total","dump","silent","items","isAvailable","ocr","recognizeScreenText","maxTokens","hideOverlays","setUserGateWaiting","waitNode","appendNode","kind","title","timeout","userGateTimeoutMs","pollMs","started","minWait","checkedResumeAt","fingerprint","wasManuallyResumedSince","current","getHostGate","updateNode","feedback","g2","fp2","nextMsg","readOnly","configured","localRetries","retries","Number","isFinite","max","floor","executeOnce","selector","index","currentTree","node","JSON","stringify","clickable","selected","visible","secure","tap","point","options","revealIfNeeded","swipe","to","pinch","center","scale","root","first","ms","Promise","r","setTimeout"],"sourceRoot":"../../../src","sources":["client/AgentSession.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,293 @@
1
+ "use strict";
2
+
3
+ import { AppUserGateStore } from "../privacy/userGate.js";
4
+ import { isAllowedGatewayUrl } from "../commercial/trust.js";
5
+ import { allowLocalGatewayForDebugClient } from "../commercial/devMode.js";
6
+ import { NativeBridge } from "../native/NativeBridge.js";
7
+ import { sensitiveScreenKind, SensitiveScreenError } from "../privacy/sensitiveScreen.js";
8
+ import { redactOutbound, redactViewTreeClient, viewTreeOutline } from "../privacy/redact.js";
9
+ import { extractAffordances, screenModelText } from "../privacy/screenModel.js";
10
+ import { buildOnDeviceAssistSync } from "../assist/OnDeviceAssist.js";
11
+ import { HostActionsStore, filterVisibleHostActions, hostActionsModelText } from "../host/HostActions.js";
12
+ import { ExplorationGraph, exploreHintsModelText, goalExploreQuery } from "../explore/ExplorationGraph.js";
13
+ import { findNodeById } from "../selector/match.js";
14
+ import { goalOcrCandidates, visibleWebViewFrames, PUBLIC_WALLET_CHOICES, walletConnectionAllowed } from "../assist/ocrTarget.js";
15
+ const DEFAULT_GATEWAY = 'https://sdk.intentcomputing.net';
16
+ export function resolveGatewayBaseUrl(cfg) {
17
+ const raw = (cfg.baseUrl?.trim() || DEFAULT_GATEWAY).replace(/\/$/, '');
18
+ const check = isAllowedGatewayUrl(raw, allowLocalGatewayForDebugClient());
19
+ if (!check.ok) {
20
+ throw new Error(`KokoAgent: ${check.reason}`);
21
+ }
22
+ return raw;
23
+ }
24
+ /** Build hints from the same redacted tree that crosses the upload boundary. */
25
+ export function safePlannerModel(tree, goal, localOcrGoalLabels = [], localWalletChoices = [], hostWalletAliases = []) {
26
+ const affordances = extractAffordances(tree, 80);
27
+ const labels = affordances.map(a => a.label);
28
+ const hosts = filterVisibleHostActions(HostActionsStore.getActions(), tree).flatMap(action => {
29
+ const visible = affordances.find(a => {
30
+ if (action.testID) return findNodeById(tree, a.nodeId)?.testID === action.testID;
31
+ return [action.label, action.text, ...(action.aliases || [])].some(label => label === a.label);
32
+ });
33
+ if (!visible) return [];
34
+ const kind = ['button', 'tab', 'nav', 'field', 'sheet', 'other'].includes(action.kind || '') ? action.kind : 'button';
35
+ return [{
36
+ ...action,
37
+ kind,
38
+ label: visible.label,
39
+ text: visible.label,
40
+ testID: findNodeById(tree, visible.nodeId)?.testID,
41
+ aliases: []
42
+ }];
43
+ });
44
+ const possibleHints = ExplorationGraph.hintLabelsTowardGoal(labels, goalExploreQuery(goal).targetTokens, 6);
45
+ // Historical pages may contain data no longer visible. Only the current
46
+ // screen's exact public labels may be carried into the request.
47
+ const hints = possibleHints.filter(hint => labels.includes(hint));
48
+ const assist = buildOnDeviceAssistSync(goal, tree);
49
+ const allowedLabels = new Set(goalOcrCandidates(goal));
50
+ const verified = visibleWebViewFrames(tree).length && Array.isArray(localOcrGoalLabels) ? [...new Set(localOcrGoalLabels)].filter(label => typeof label === 'string' && allowedLabels.has(label)).slice(0, 6) : [];
51
+ const ocrHints = verified.map(label => `- [local-ocr] A visible web text matched the goal-derived label 「${label}」 on this device. ` + 'Use find with one text rule to confirm it. When the user requested an action, its returned nodeId can be used to tap. No raw OCR text is included.').join('\n');
52
+ const allowedChoices = new Set(PUBLIC_WALLET_CHOICES);
53
+ const choices = visibleWebViewFrames(tree).length && walletConnectionAllowed(goal) && Array.isArray(localWalletChoices) ? [...new Set(localWalletChoices)].filter(label => allowedChoices.has(label)).slice(0, 8) : [];
54
+ const choiceHint = choices.length >= 2 ? `- [local-wallet-choices] Visible public wallet options verified on-device: ${choices.join(', ')}. Use find with the exact option label; actual authorization stays with the user.` : '';
55
+ const aliases = Array.isArray(hostWalletAliases) ? hostWalletAliases.filter(label => choices.includes(label)) : [];
56
+ const aliasHint = aliases.length ? `- [host-wallet-alias] Host confirms its injected wallet appears as: ${aliases.join(', ')}. Select that visible option for the host wallet.` : '';
57
+ const unavailableHint = choices.length >= 2 && hostWalletAliases.length && !aliases.length ? '- [host-wallet-unavailable] None of the visible options matches the host wallet. Do not select a different wallet. If the host browser offers a desktop-site mode, try it and recheck the wallet chooser; otherwise report the unavailable option.' : '';
58
+ const extras = [hostActionsModelText(hosts), exploreHintsModelText(hints), assist.modelText, ocrHints, choiceHint, aliasHint, unavailableHint].filter(Boolean).join('\n');
59
+ return screenModelText(tree, 40, extras || undefined);
60
+ }
61
+ export class GatewayError extends Error {
62
+ constructor(message, opts) {
63
+ super(message);
64
+ this.name = 'GatewayError';
65
+ this.code = opts.code;
66
+ this.status = opts.status;
67
+ this.quota = opts.quota;
68
+ this.plan = opts.plan;
69
+ }
70
+ }
71
+ export class GatewayClient {
72
+ constructor(cfg) {
73
+ this.baseUrl = resolveGatewayBaseUrl(cfg);
74
+ this.token = cfg.token;
75
+ this.appId = (cfg.appId?.trim() || NativeBridge.hostAppId() || '').trim();
76
+ }
77
+ getBaseUrl() {
78
+ return this.baseUrl;
79
+ }
80
+ getAppId() {
81
+ return this.appId;
82
+ }
83
+ authHeaders() {
84
+ const headers = {
85
+ Authorization: `Bearer ${this.token}`,
86
+ 'Content-Type': 'application/json'
87
+ };
88
+ if (this.appId) headers['X-Koko-App-Id'] = this.appId;
89
+ return headers;
90
+ }
91
+ async parseError(res, fallback) {
92
+ let json = {};
93
+ try {
94
+ json = await res.json();
95
+ } catch {
96
+ // ignore
97
+ }
98
+ throw new GatewayError(json.message || json.error || fallback, {
99
+ code: json.error || 'error',
100
+ status: res.status,
101
+ quota: json.quota,
102
+ plan: json.plan
103
+ });
104
+ }
105
+ async health() {
106
+ const res = await fetch(`${this.baseUrl}/v1/health`);
107
+ if (!res.ok) throw new Error(`health ${res.status}`);
108
+ return await res.json();
109
+ }
110
+
111
+ /** Open session + initial execution permit (before first dump). */
112
+ async beginSession(sessionId) {
113
+ const res = await fetch(`${this.baseUrl}/v1/agent/session`, {
114
+ method: 'POST',
115
+ headers: this.authHeaders(),
116
+ body: JSON.stringify(sessionId ? {
117
+ session_id: sessionId
118
+ } : {})
119
+ });
120
+ if (!res.ok) await this.parseError(res, `session ${res.status}`);
121
+ const json = await res.json();
122
+ if (!json.session_id || !json.execution_permit) {
123
+ throw new GatewayError('invalid session response', {
124
+ code: 'invalid_response',
125
+ status: res.status
126
+ });
127
+ }
128
+ return {
129
+ ok: true,
130
+ session_id: json.session_id,
131
+ execution_permit: json.execution_permit
132
+ };
133
+ }
134
+ async me() {
135
+ const res = await fetch(`${this.baseUrl}/v1/me`, {
136
+ headers: this.authHeaders()
137
+ });
138
+ const json = await res.json();
139
+ if (!res.ok) {
140
+ throw new GatewayError(json.message || json.error || `me ${res.status}`, {
141
+ code: json.error || 'unauthorized',
142
+ status: res.status
143
+ });
144
+ }
145
+ const plan = json.plan || 'free';
146
+ const entitlements = {
147
+ custom_branding: json.entitlements?.custom_branding === true,
148
+ locale: json.entitlements?.locale !== false
149
+ };
150
+ const daily = json.quota?.daily ?? 0;
151
+ const used = json.quota?.used_today ?? 0;
152
+ return {
153
+ plan,
154
+ region: json.region,
155
+ provider: json.provider,
156
+ entitlements,
157
+ quota: {
158
+ daily,
159
+ used_today: used,
160
+ remaining: json.quota?.remaining ?? Math.max(0, daily - used)
161
+ }
162
+ };
163
+ }
164
+ async usage(limit = 50) {
165
+ const res = await fetch(`${this.baseUrl}/v1/usage?limit=${limit}`, {
166
+ headers: this.authHeaders()
167
+ });
168
+ const json = await res.json();
169
+ if (!res.ok) {
170
+ throw new GatewayError(json.message || json.error || `usage ${res.status}`, {
171
+ code: json.error || 'error',
172
+ status: res.status
173
+ });
174
+ }
175
+ return {
176
+ plan: json.plan || 'free',
177
+ quota: json.quota || {
178
+ daily: 0,
179
+ used_today: 0,
180
+ remaining: 0
181
+ },
182
+ events: json.events || []
183
+ };
184
+ }
185
+ async next(body) {
186
+ const supplied = body.ui_tree;
187
+ let live;
188
+ if (NativeBridge.isAvailable()) {
189
+ // Fail closed if the current screen cannot be checked. Never send a
190
+ // cached safe screen while a newly presented secret page is visible.
191
+ live = await NativeBridge.dump({
192
+ maxDepth: 100
193
+ });
194
+ }
195
+ const gate = AppUserGateStore.getHostGate();
196
+ if (gate && ['recovery_phrase', 'private_key', 'password', 'pin', 'otp', 'secure_input'].includes(gate.kind) || sensitiveScreenKind(live) || sensitiveScreenKind(supplied)) throw new SensitiveScreenError();
197
+ const safeTree = supplied ? redactViewTreeClient(supplied) : undefined;
198
+ const safeBody = redactOutbound({
199
+ session_id: body.session_id,
200
+ goal: body.goal,
201
+ history: body.history,
202
+ locale: body.locale,
203
+ user_reply: body.user_reply,
204
+ platform: body.platform,
205
+ ui_tree: safeTree,
206
+ // Build every visual hint from the redacted tree, never caller-provided
207
+ // model strings, unverified OCR text or historical off-screen labels.
208
+ ui_outline: safeTree ? viewTreeOutline(safeTree) : undefined,
209
+ ui_screen_model: safeTree ? safePlannerModel(safeTree, body.goal, body.local_ocr_goal_labels, body.local_ocr_wallet_choices, body.local_web_wallet_aliases) : undefined
210
+ }, [live, supplied]);
211
+ const res = await fetch(`${this.baseUrl}/v1/agent/next`, {
212
+ method: 'POST',
213
+ headers: this.authHeaders(),
214
+ body: JSON.stringify(safeBody)
215
+ });
216
+ const json = await res.json();
217
+ if (!res.ok || !('ok' in json) || json.ok !== true) {
218
+ const err = json;
219
+ throw new GatewayError(err.message || err.error || `gateway ${res.status}`, {
220
+ code: err.error || 'error',
221
+ status: res.status,
222
+ quota: err.quota,
223
+ plan: err.plan
224
+ });
225
+ }
226
+ if (!json.execution_permit) {
227
+ throw new GatewayError('invalid agent response', {
228
+ code: 'invalid_response',
229
+ status: res.status
230
+ });
231
+ }
232
+ return json;
233
+ }
234
+ }
235
+ export function toLocalAgentAction(action) {
236
+ switch (action.tool) {
237
+ case 'dump':
238
+ return {
239
+ tool: 'dump'
240
+ };
241
+ case 'find':
242
+ return {
243
+ tool: 'find',
244
+ args: {
245
+ selector: {
246
+ match: action.args.match,
247
+ index: action.args.index
248
+ }
249
+ }
250
+ };
251
+ case 'tap':
252
+ return {
253
+ tool: 'tap',
254
+ args: {
255
+ selector: action.args.selector,
256
+ nodeId: action.args.nodeId,
257
+ point: action.args.point,
258
+ options: undefined
259
+ }
260
+ };
261
+ case 'swipe':
262
+ return {
263
+ tool: 'swipe',
264
+ args: {
265
+ from: action.args.from,
266
+ to: action.args.to
267
+ }
268
+ };
269
+ case 'pinch':
270
+ return {
271
+ tool: 'pinch',
272
+ args: {
273
+ center: action.args.center,
274
+ scale: action.args.scale
275
+ }
276
+ };
277
+ case 'type':
278
+ return {
279
+ tool: 'type',
280
+ args: {
281
+ text: action.args.text,
282
+ selector: action.args.selector,
283
+ nodeId: action.args.nodeId,
284
+ options: {
285
+ clear: action.args.clear
286
+ }
287
+ }
288
+ };
289
+ default:
290
+ return null;
291
+ }
292
+ }
293
+ //# sourceMappingURL=GatewayClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AppUserGateStore","isAllowedGatewayUrl","allowLocalGatewayForDebugClient","NativeBridge","sensitiveScreenKind","SensitiveScreenError","redactOutbound","redactViewTreeClient","viewTreeOutline","extractAffordances","screenModelText","buildOnDeviceAssistSync","HostActionsStore","filterVisibleHostActions","hostActionsModelText","ExplorationGraph","exploreHintsModelText","goalExploreQuery","findNodeById","goalOcrCandidates","visibleWebViewFrames","PUBLIC_WALLET_CHOICES","walletConnectionAllowed","DEFAULT_GATEWAY","resolveGatewayBaseUrl","cfg","raw","baseUrl","trim","replace","check","ok","Error","reason","safePlannerModel","tree","goal","localOcrGoalLabels","localWalletChoices","hostWalletAliases","affordances","labels","map","a","label","hosts","getActions","flatMap","action","visible","find","testID","nodeId","text","aliases","some","kind","includes","possibleHints","hintLabelsTowardGoal","targetTokens","hints","filter","hint","assist","allowedLabels","Set","verified","length","Array","isArray","has","slice","ocrHints","join","allowedChoices","choices","choiceHint","aliasHint","unavailableHint","extras","modelText","Boolean","undefined","GatewayError","constructor","message","opts","name","code","status","quota","plan","GatewayClient","token","appId","hostAppId","getBaseUrl","getAppId","authHeaders","headers","Authorization","parseError","res","fallback","json","error","health","fetch","beginSession","sessionId","method","body","JSON","stringify","session_id","execution_permit","me","entitlements","custom_branding","locale","daily","used","used_today","region","provider","remaining","Math","max","usage","limit","events","next","supplied","ui_tree","live","isAvailable","dump","maxDepth","gate","getHostGate","safeTree","safeBody","history","user_reply","platform","ui_outline","ui_screen_model","local_ocr_goal_labels","local_ocr_wallet_choices","local_web_wallet_aliases","err","toLocalAgentAction","tool","args","selector","match","index","point","options","from","to","center","scale","clear"],"sourceRoot":"../../../src","sources":["client/GatewayClient.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ import { find, findNodeById } from "../selector/match.js";
4
+ import { sensitiveScreenKind } from "../privacy/sensitiveScreen.js";
5
+
6
+ // Operation entries, not ordinary Next/Continue controls reused by wizards.
7
+ const OPERATION = /创建|新建|添加|导入|备份|导出|提交|支付|转账|购买|删除|注销|\b(create|add|import|backup|back\s+up|export|submit|pay|transfer|buy|delete)\b/i;
8
+ function hash(text) {
9
+ let h = 2166136261;
10
+ for (const c of text) h = Math.imul(h ^ c.charCodeAt(0), 16777619);
11
+ return (h >>> 0).toString(16);
12
+ }
13
+
14
+ /** Keep only hashes of prior public operation entries across privacy purges. */
15
+ export class OperationReplayGuard {
16
+ attempts = new Set();
17
+ hasHandoff = false;
18
+ reset() {
19
+ this.attempts.clear();
20
+ this.hasHandoff = false;
21
+ }
22
+ markHandoff() {
23
+ this.hasHandoff = true;
24
+ }
25
+ key(action, tree) {
26
+ if (action.tool !== 'tap' || !tree || sensitiveScreenKind(tree)) return null;
27
+ const node = action.args.nodeId ? findNodeById(tree, action.args.nodeId) : action.args.selector ? find(tree, action.args.selector) : null;
28
+ const selectorText = action.args.selector?.match.map(rule => 'text' in rule ? rule.text : 'accessibilityLabel' in rule ? rule.accessibilityLabel : '').filter(Boolean).join(' ');
29
+ const label = (node?.text || node?.accessibilityLabel || selectorText || action.args.label?.match(/[「“"]([^」”"]+)[」”"]/)?.[1] || action.args.label || '').trim();
30
+ if (!OPERATION.test(label)) return null;
31
+ // Public banners, prices and loading copy can change while the operation
32
+ // remains the same. Only an explicit host identity separates operations;
33
+ // native path IDs are snapshot-local and must not reset replay protection.
34
+ let identity = node?.testID || '';
35
+ if (node && !identity) {
36
+ const locate = parent => {
37
+ for (const child of parent.children) {
38
+ if (child.id === node.id || locate(child)) {
39
+ if (!identity && parent.testID) identity = parent.testID;
40
+ return true;
41
+ }
42
+ }
43
+ return false;
44
+ };
45
+ locate(tree);
46
+ }
47
+ return hash(`${label.replace(/\s+/g, ' ').toLocaleLowerCase()}\n${identity}`);
48
+ }
49
+ record(action, tree) {
50
+ const key = this.key(action, tree);
51
+ if (key) this.attempts.add(key);
52
+ }
53
+ blocks(action, tree) {
54
+ const key = this.key(action, tree);
55
+ return this.hasHandoff && !!key && this.attempts.has(key);
56
+ }
57
+ }
58
+ //# sourceMappingURL=OperationReplayGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["find","findNodeById","sensitiveScreenKind","OPERATION","hash","text","h","c","Math","imul","charCodeAt","toString","OperationReplayGuard","attempts","Set","hasHandoff","reset","clear","markHandoff","key","action","tree","tool","node","args","nodeId","selector","selectorText","match","map","rule","accessibilityLabel","filter","Boolean","join","label","trim","test","identity","testID","locate","parent","child","children","id","replace","toLocaleLowerCase","record","add","blocks","has"],"sourceRoot":"../../../src","sources":["client/OperationReplayGuard.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Survive a JS-context restart mid-run.
5
+ *
6
+ * Some actions destroy the runtime that is performing them: changing locale or
7
+ * theme, toggling RTL, flipping a feature flag, anything the host answers with
8
+ * a root remount or `reloadAsync`. The tap succeeds, the App comes back — but
9
+ * the `runGoal` promise, its session and the whole TaskStore died with the old
10
+ * context, so the caller can never learn the outcome.
11
+ *
12
+ * So checkpoint the goal to disk while it runs. On the next SDK init a fresh
13
+ * checkpoint means "we were interrupted", and the run can be picked up again
14
+ * from whatever screen the App came back on.
15
+ *
16
+ * Storage is best-effort: without AsyncStorage this degrades to memory, which
17
+ * cannot survive a reload. That is the same tradeoff ExplorationGraph makes —
18
+ * a missing optional peer must not break a run, only reduce it.
19
+ */
20
+
21
+ function tryAsyncStorage() {
22
+ try {
23
+ // Optional peer — many RN hosts already ship it.
24
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
25
+ const mod = require('@react-native-async-storage/async-storage');
26
+ const store = mod?.default ?? mod;
27
+ if (store && typeof store.getItem === 'function') return store;
28
+ } catch {
29
+ // optional
30
+ }
31
+ return null;
32
+ }
33
+ const KEY = 'koko.run.checkpoint.v1';
34
+
35
+ /**
36
+ * A reload takes a second or two. Anything older than this was not an
37
+ * interruption — it is a run that died for some other reason (force quit,
38
+ * crash, the user walking away), and silently driving the UI on next launch
39
+ * would be surprising rather than helpful.
40
+ */
41
+ export const RESUME_MAX_AGE_MS = 90_000;
42
+
43
+ /**
44
+ * One resume per goal. If the goal itself is what reloads the App, resuming it
45
+ * reloads again; without a cap that is an infinite loop across launches.
46
+ */
47
+ export const RESUME_MAX_ATTEMPTS = 1;
48
+ let memory = null;
49
+ // Storage implementations need not complete writes in invocation order. Keep
50
+ // read/claim/write in one queue so an older clear cannot erase a newer run.
51
+ let storageQueue = Promise.resolve();
52
+ function serialized(operation) {
53
+ const result = storageQueue.then(operation);
54
+ storageQueue = result.catch(() => {});
55
+ return result;
56
+ }
57
+ async function write(data) {
58
+ memory = data;
59
+ const storage = tryAsyncStorage();
60
+ if (!storage) return;
61
+ try {
62
+ if (data) await storage.setItem(KEY, JSON.stringify(data));else await storage.removeItem(KEY);
63
+ } catch {
64
+ // best-effort
65
+ }
66
+ }
67
+ async function read() {
68
+ const storage = tryAsyncStorage();
69
+ if (!storage) return memory;
70
+ try {
71
+ const raw = await storage.getItem(KEY);
72
+ if (!raw) return null;
73
+ const parsed = JSON.parse(raw);
74
+ if (!parsed || typeof parsed.goal !== 'string' || !parsed.goal) return null;
75
+ return {
76
+ goal: parsed.goal,
77
+ startedAt: Number(parsed.startedAt) || 0,
78
+ updatedAt: Number(parsed.updatedAt) || Number(parsed.startedAt) || 0,
79
+ resumes: Number(parsed.resumes) || 0
80
+ };
81
+ } catch {
82
+ return null;
83
+ }
84
+ }
85
+ export const RunCheckpoint = {
86
+ /** Mark a goal as in flight. `resumes` carries over when resuming. */
87
+ begin(goal, resumes = 0) {
88
+ return serialized(async () => {
89
+ const now = Date.now();
90
+ await write({
91
+ goal,
92
+ startedAt: now,
93
+ updatedAt: now,
94
+ resumes
95
+ });
96
+ });
97
+ },
98
+ /** Keep the checkpoint fresh while the loop makes progress. */
99
+ touch() {
100
+ return serialized(async () => {
101
+ if (!memory) return;
102
+ await write({
103
+ ...memory,
104
+ updatedAt: Date.now()
105
+ });
106
+ });
107
+ },
108
+ /** The run reached a verdict — nothing left to resume. */
109
+ clear() {
110
+ return serialized(async () => {
111
+ if (!memory && !tryAsyncStorage()) return;
112
+ await write(null);
113
+ });
114
+ },
115
+ /**
116
+ * Claim an interrupted run, if there is one worth resuming.
117
+ *
118
+ * Clears before returning: a resume that dies the same way must not be
119
+ * claimed again on the next launch.
120
+ */
121
+ async claimResumable(opts) {
122
+ return serialized(async () => {
123
+ const maxAgeMs = opts?.maxAgeMs ?? RESUME_MAX_AGE_MS;
124
+ const maxAttempts = opts?.maxAttempts ?? RESUME_MAX_ATTEMPTS;
125
+ const now = opts?.now ?? Date.now();
126
+ const found = await read();
127
+ await write(null);
128
+ if (!found) return null;
129
+ if (found.resumes >= maxAttempts) return null;
130
+ if (!Number.isFinite(found.updatedAt) || !found.updatedAt || now < found.updatedAt || now - found.updatedAt > maxAgeMs || !Number.isFinite(found.resumes) || found.resumes < 0) return null;
131
+ return found;
132
+ });
133
+ }
134
+ };
135
+ //# sourceMappingURL=RunCheckpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tryAsyncStorage","mod","require","store","default","getItem","KEY","RESUME_MAX_AGE_MS","RESUME_MAX_ATTEMPTS","memory","storageQueue","Promise","resolve","serialized","operation","result","then","catch","write","data","storage","setItem","JSON","stringify","removeItem","read","raw","parsed","parse","goal","startedAt","Number","updatedAt","resumes","RunCheckpoint","begin","now","Date","touch","clear","claimResumable","opts","maxAgeMs","maxAttempts","found","isFinite"],"sourceRoot":"../../../src","sources":["client/RunCheckpoint.ts"],"mappings":"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","ignoreList":[]}