@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,92 @@
1
+ "use strict";
2
+
3
+ import { Dimensions, Platform, StatusBar } from 'react-native';
4
+ /**
5
+ * Best-effort top inset when SafeAreaProvider / context is missing
6
+ * (common inside RN Modal on a new window).
7
+ */
8
+ function fallbackTopInset() {
9
+ if (Platform.OS === 'android') {
10
+ return StatusBar.currentHeight ?? 24;
11
+ }
12
+ const {
13
+ height,
14
+ width
15
+ } = Dimensions.get('window');
16
+ const short = Math.min(width, height);
17
+ const long = Math.max(width, height);
18
+ // iPhone X+ notch / Dynamic Island
19
+ if (long >= 852 || short >= 393) return 59;
20
+ if (long >= 812) return 47;
21
+ return 20;
22
+ }
23
+ function readNativeInitialInsets() {
24
+ try {
25
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
26
+ const mod = require('react-native-safe-area-context');
27
+ const metrics = mod?.initialWindowMetrics;
28
+ if (metrics?.insets) {
29
+ return {
30
+ top: metrics.insets.top ?? 0,
31
+ right: metrics.insets.right ?? 0,
32
+ bottom: metrics.insets.bottom ?? 0,
33
+ left: metrics.insets.left ?? 0
34
+ };
35
+ }
36
+ } catch {
37
+ // optional peer
38
+ }
39
+ try {
40
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
41
+ const {
42
+ TurboModuleRegistry
43
+ } = require('react-native');
44
+ const native = TurboModuleRegistry?.get?.('RNCSafeAreaContext');
45
+ const insets = native?.getConstants?.()?.initialWindowMetrics?.insets;
46
+ if (insets) {
47
+ return {
48
+ top: insets.top ?? 0,
49
+ right: insets.right ?? 0,
50
+ bottom: insets.bottom ?? 0,
51
+ left: insets.left ?? 0
52
+ };
53
+ }
54
+ } catch {
55
+ // ignore
56
+ }
57
+ return null;
58
+ }
59
+
60
+ /**
61
+ * Optional safe-area without requiring react-native-safe-area-context as peer.
62
+ * Prefers live context → native initial metrics → platform heuristics (Modal-safe).
63
+ */
64
+ export function useSafeAreaInsetsOptional() {
65
+ let fromHook = null;
66
+ try {
67
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
68
+ const mod = require('react-native-safe-area-context');
69
+ if (typeof mod?.useSafeAreaInsets === 'function') {
70
+ // Same module presence for the lifetime of the app (optional peer).
71
+ // eslint-disable-next-line react-hooks/rules-of-hooks
72
+ fromHook = mod.useSafeAreaInsets();
73
+ }
74
+ } catch {
75
+ // peer not installed
76
+ }
77
+ const native = readNativeInitialInsets();
78
+ const pick = (key, heuristic = 0) => {
79
+ const a = fromHook?.[key] ?? 0;
80
+ const b = native?.[key] ?? 0;
81
+ if (a > 0) return a;
82
+ if (b > 0) return b;
83
+ return heuristic;
84
+ };
85
+ return {
86
+ top: pick('top', fallbackTopInset()),
87
+ right: pick('right'),
88
+ bottom: pick('bottom'),
89
+ left: pick('left')
90
+ };
91
+ }
92
+ //# sourceMappingURL=safeArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Dimensions","Platform","StatusBar","fallbackTopInset","OS","currentHeight","height","width","get","short","Math","min","long","max","readNativeInitialInsets","mod","require","metrics","initialWindowMetrics","insets","top","right","bottom","left","TurboModuleRegistry","native","getConstants","useSafeAreaInsetsOptional","fromHook","useSafeAreaInsets","pick","key","heuristic","a","b"],"sourceRoot":"../../../src","sources":["ui/safeArea.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useRef, useState } from 'react';
4
+ /**
5
+ * Where the overlay layer itself sits inside the window.
6
+ *
7
+ * Agent coordinates are window-absolute: that is what the native dump reports
8
+ * and where a synthetic touch is dispatched. The cursor, though, is laid out
9
+ * inside the host's React tree, and hosts routinely pad their root for the
10
+ * status bar — so a fingertip drawn at the tap coordinate lands a status bar
11
+ * lower than the touch it is meant to represent. Measuring the layer's own
12
+ * origin and subtracting it keeps the two in the same space, and costs nothing
13
+ * for hosts that do not pad (the origin is then zero).
14
+ */
15
+ export function useOverlayOrigin() {
16
+ const ref = useRef(null);
17
+ const [origin, setOrigin] = useState({
18
+ x: 0,
19
+ y: 0
20
+ });
21
+ const measure = useCallback(() => {
22
+ ref.current?.measureInWindow((x, y) => {
23
+ if (!Number.isFinite(x) || !Number.isFinite(y)) return;
24
+ setOrigin(prev => prev.x === x && prev.y === y ? prev : {
25
+ x,
26
+ y
27
+ });
28
+ });
29
+ }, []);
30
+ return {
31
+ ref,
32
+ origin,
33
+ measure
34
+ };
35
+ }
36
+ //# sourceMappingURL=useOverlayOrigin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRef","useState","useOverlayOrigin","ref","origin","setOrigin","x","y","measure","current","measureInWindow","Number","isFinite","prev"],"sourceRoot":"../../../src","sources":["ui/useOverlayOrigin.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAKrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAA,EAAG;EACjC,MAAMC,GAAG,GAAGH,MAAM,CAAO,IAAI,CAAC;EAC9B,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAGJ,QAAQ,CAAgB;IAAEK,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC,CAAC;EAEnE,MAAMC,OAAO,GAAGT,WAAW,CAAC,MAAM;IAChCI,GAAG,CAACM,OAAO,EAAEC,eAAe,CAAC,CAACJ,CAAC,EAAEC,CAAC,KAAK;MACrC,IAAI,CAACI,MAAM,CAACC,QAAQ,CAACN,CAAC,CAAC,IAAI,CAACK,MAAM,CAACC,QAAQ,CAACL,CAAC,CAAC,EAAE;MAChDF,SAAS,CAAEQ,IAAI,IAAMA,IAAI,CAACP,CAAC,KAAKA,CAAC,IAAIO,IAAI,CAACN,CAAC,KAAKA,CAAC,GAAGM,IAAI,GAAG;QAAEP,CAAC;QAAEC;MAAE,CAAE,CAAC;IACvE,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IAAEJ,GAAG;IAAEC,MAAM;IAAEI;EAAQ,CAAC;AACjC","ignoreList":[]}
@@ -0,0 +1,167 @@
1
+ import { TaskStore, type TaskStoreImpl } from './task/TaskStore';
2
+ import { AgentSession, type AgentSessionOptions } from './client/AgentSession';
3
+ import { type LocalizedText } from './i18n';
4
+ import type { AgentAction, AgentActionResult, DumpOptions, KokoAgentConfig, PinchOptions, Point, Selector, SensitiveConfirmContext, SwipeOptions, TapOptions, TypeOptions, ViewNode } from './types';
5
+ export type TapTarget = {
6
+ selector?: Selector;
7
+ nodeId?: string;
8
+ point?: Point;
9
+ options?: TapOptions;
10
+ /** Used by confirmation gate + subtitle. */
11
+ label?: string;
12
+ /** Internal: preserve input-field targeting while focusing a type action. */
13
+ inputTarget?: boolean;
14
+ };
15
+ export type TypeTarget = {
16
+ selector?: Selector;
17
+ nodeId?: string;
18
+ options?: TypeOptions;
19
+ label?: string;
20
+ };
21
+ /**
22
+ * Koko Agent SDK runtime — dump / find / tap / swipe / pinch / type + cursor + confirm gate + task log.
23
+ */
24
+ export declare class KokoAgent {
25
+ private config;
26
+ private lastTree;
27
+ private planningTree;
28
+ private readonly ocrTargets;
29
+ private nextOcrTargetId;
30
+ /** Labels already confirmed in the current runGoal — avoid repeat dialogs on retry. */
31
+ private confirmedSensitive;
32
+ /** Last tap used a host `run` callback (tab/CTA) — skip false tap_noop. */
33
+ lastTapViaHost: {
34
+ kind?: string;
35
+ label?: string;
36
+ } | null;
37
+ /** Current NL goal; direct SDK callers may opt into visible scroll search. */
38
+ activeGoal?: string;
39
+ constructor(config?: KokoAgentConfig);
40
+ configure(patch: Partial<KokoAgentConfig>): void;
41
+ getConfig(): KokoAgentConfig;
42
+ private message;
43
+ private text;
44
+ isNativeReady(): boolean;
45
+ /** Start a user-facing task (shows subtitle + appears in panel). */
46
+ startTask(title: string): import(".").Task;
47
+ finishTask(status?: 'success' | 'failed' | 'cancelled', summary?: LocalizedText): void;
48
+ /** Manually append an observer log node (for cloud agent narration). */
49
+ log(kind: Parameters<typeof TaskStore.appendNode>[0]['kind'], title: LocalizedText, detail?: string): import(".").TaskNode | null;
50
+ /** Open a cloud-backed agent session (official gateway; LLM vendor is server-side). */
51
+ createSession(opts: AgentSessionOptions): AgentSession;
52
+ /**
53
+ * One-shot: talk to official gateway → local dump/find/tap until done.
54
+ * Users never supply model API keys. Token comes from opts or KokoProvider config.gateway.
55
+ */
56
+ private activeSession;
57
+ private executionEpoch;
58
+ private claimingCheckpoint;
59
+ /** @internal Sessions created through createSession share runGoal's owner. */
60
+ acquireSession(session: AgentSession): boolean;
61
+ /** @internal Release only an owner acquired by a direct session.run(). */
62
+ releaseSession(session: AgentSession): void;
63
+ /** @internal Invalidates gestures already waiting on confirmation/animation. */
64
+ cancelPendingActions(): void;
65
+ private assertExecutionCurrent;
66
+ runGoal(goal: string, opts?: Partial<AgentSessionOptions> & {
67
+ resumes?: number;
68
+ }): Promise<import(".").AgentRunResult>;
69
+ /**
70
+ * Pick up a run that a JS-context restart interrupted, if any.
71
+ *
72
+ * Called once per init by KokoProvider. Resolves to the resumed goal, or null
73
+ * when there was nothing fresh to resume. The planner decides what is left to
74
+ * do from the screen the App came back on — if the goal already happened, it
75
+ * answers `done` without touching anything.
76
+ */
77
+ resumeInterruptedRun(): Promise<string | null>;
78
+ /**
79
+ * On-device exploration crawl — builds a local screen/transition graph
80
+ * without a host feature tree. Safe-ish (skips sensitive labels). Call
81
+ * after SDK init / on a debug build; then runGoal can reuse the graph.
82
+ */
83
+ bootstrapExplore(opts?: import('./explore/bootstrapExplore').BootstrapExploreOptions): Promise<import(".").BootstrapExploreResult>;
84
+ /** Snapshot of the on-device exploration graph (nodes/edges). */
85
+ getExplorationGraph(): import(".").ExplorationGraphSnapshot;
86
+ clearExplorationGraph(): void;
87
+ /** Refresh plan / quota / entitlements from gateway. */
88
+ refreshAccount(): Promise<import("./types").KokoAccountSnapshot | null>;
89
+ getAccount(): import("./types").KokoAccountSnapshot | null;
90
+ /** Stop the in-flight runGoal / session, if any. */
91
+ stop(): void;
92
+ /** Open chat sheet (history + NL input) from host UI. */
93
+ openChat(taskId?: string | null): void;
94
+ closeChat(): void;
95
+ getTaskStore(): TaskStoreImpl;
96
+ dump(options?: DumpOptions): Promise<ViewNode>;
97
+ /**
98
+ * Screenshot the host app. By default hides Koko overlay layers
99
+ * (progress / cursor / sheet) so the image matches what dump sees.
100
+ */
101
+ screenshot(options?: {
102
+ hideOverlays?: boolean;
103
+ }): Promise<import(".").ScreenshotResult>;
104
+ getLastTree(): ViewNode | null;
105
+ /** @internal Return a locally observed OCR label for validating a planned action. */
106
+ observedOcrLabel(nodeId: string | undefined): string | undefined;
107
+ /** @internal Pin the screen whose node ids the planner is about to see. */
108
+ setPlanningTree(tree: ViewNode | null): void;
109
+ find(selector: Selector, tree?: ViewNode): Promise<ViewNode | null>;
110
+ findAll(selector: Selector, tree?: ViewNode): Promise<ViewNode[]>;
111
+ tap(target: TapTarget): Promise<void>;
112
+ /** Animation and confirmations may outlive the layout that was planned. */
113
+ private assertTapTargetCurrent;
114
+ /** Refresh node metadata after scroll-based target resolution. */
115
+ private ensureSafeTapPoint;
116
+ /** Reveal by visible swipes, only inside a natively confirmed scrollable list. */
117
+ private revealVisibleTarget;
118
+ swipe(from: Point, to: Point, options?: SwipeOptions): Promise<void>;
119
+ /**
120
+ * Two-finger pinch at center. scale>1 zoom in, scale<1 zoom out.
121
+ */
122
+ pinch(center: Point, scale: number, options?: PinchOptions): Promise<void>;
123
+ type(text: string, target?: TypeTarget): Promise<void>;
124
+ requestConfirm(ctx: SensitiveConfirmContext): Promise<boolean>;
125
+ hideCursor(): void;
126
+ /** Run one agent protocol tool call. */
127
+ runAction(action: AgentAction): Promise<AgentActionResult>;
128
+ private track;
129
+ private done;
130
+ private fail;
131
+ private resolvePoint;
132
+ private validatedNativeNode;
133
+ private currentOcrPoint;
134
+ /**
135
+ * A coordinate tap has no node to sanity-check it against, so an invented
136
+ * point would dispatch into nowhere and only surface later as tap_noop.
137
+ * Fail loudly instead.
138
+ */
139
+ /**
140
+ * A tree that bottoms out exactly at the cap was almost certainly cut short,
141
+ * and the part that gets cut is the page body — the agent is then left with
142
+ * the shallow chrome and reports the control as missing. Surface it rather
143
+ * than letting it read as an empty screen.
144
+ */
145
+ private warnIfDepthCapped;
146
+ /**
147
+ * Cheap screen fingerprint used to tell real navigation from a dead action.
148
+ * The "before" side can reuse the tree the session just dumped for this step:
149
+ * an extra full walk per tap is work the JS thread does not have to spare
150
+ * while a task is running.
151
+ */
152
+ private snapshotLine;
153
+ private pointWithinWindow;
154
+ /** Resolve the view node for a tap target (for toggle/adjustable routing). */
155
+ /**
156
+ * Where to point while a host action runs.
157
+ *
158
+ * Best effort by design: the whole reason this path exists is that the dump
159
+ * sometimes cannot see the control, so a miss here is normal and must not
160
+ * turn a working host action into a failed step.
161
+ */
162
+ private hostActionPoint;
163
+ private resolveNode;
164
+ }
165
+ export declare function getKokoAgent(): KokoAgent;
166
+ export declare function initKokoAgent(config?: KokoAgentConfig): KokoAgent;
167
+ //# sourceMappingURL=KokoAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KokoAgent.d.ts","sourceRoot":"","sources":["../../../src/KokoAgent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { ViewNode } from '../types';
2
+ import { type AssistIntent } from './intentClassify';
3
+ import { type RankedNode } from './nodeRank';
4
+ export type OnDeviceAssistResult = {
5
+ intent: AssistIntent;
6
+ confidence: number;
7
+ tokens: string[];
8
+ ocrTokens: string[];
9
+ /** Goal-derived labels verified against local OCR, never raw page text. */
10
+ goalOcrLabels?: string[];
11
+ /** Only allowlisted public wallet product names, verified locally. */
12
+ walletChoices?: string[];
13
+ ranked: RankedNode[];
14
+ /** Compact planner block (empty when nothing useful). */
15
+ modelText: string;
16
+ backend: string;
17
+ };
18
+ export type BuildAssistOptions = {
19
+ /** Skip Vision OCR (tests / hosts without camera-style capture). Default false. */
20
+ skipOcr?: boolean;
21
+ /** Cap OCR tokens merged into ranking. */
22
+ maxOcrTokens?: number;
23
+ };
24
+ /**
25
+ * On-device assist: JS intent + node rank, optional native OCR.
26
+ * Enriches the cloud planner `ui_screen_model` — does not replace the LLM.
27
+ */
28
+ export declare function buildOnDeviceAssist(goal: string, tree: ViewNode | null | undefined, opts?: BuildAssistOptions): Promise<OnDeviceAssistResult>;
29
+ /** Sync path for unit tests / hosts that already have OCR tokens. */
30
+ export declare function buildOnDeviceAssistSync(goal: string, tree: ViewNode | null | undefined, ocrTokens?: string[], backend?: string): OnDeviceAssistResult;
31
+ //# sourceMappingURL=OnDeviceAssist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnDeviceAssist.d.ts","sourceRoot":"","sources":["../../../../src/assist/OnDeviceAssist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAsB,KAAK,YAAY,EAAqB,MAAM,kBAAkB,CAAC;AAE5F,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACjC,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAuD/B;AAED,qEAAqE;AACrE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACjC,SAAS,GAAE,MAAM,EAAO,EACxB,OAAO,SAAO,GACb,oBAAoB,CA4BtB"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * On-device goal intent classification (structural, host-agnostic).
3
+ * Complements Core ML / Vision OCR — no package IDs or product copy.
4
+ */
5
+ export type AssistIntent = 'tap' | 'type' | 'scroll' | 'back' | 'search' | 'settings' | 'unknown';
6
+ export type IntentResult = {
7
+ intent: AssistIntent;
8
+ confidence: number;
9
+ /** Tokens useful for node ranking (from the goal itself). */
10
+ tokens: string[];
11
+ };
12
+ /** Extract short goal tokens for ranking (CJK chunks + latin words). */
13
+ export declare function goalTokens(goal: string): string[];
14
+ /**
15
+ * Cheap on-device intent — runs everywhere (JS). iOS Vision OCR enriches tokens separately.
16
+ */
17
+ export declare function classifyGoalIntent(goal: string): IntentResult;
18
+ //# sourceMappingURL=intentClassify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intentClassify.d.ts","sourceRoot":"","sources":["../../../../src/assist/intentClassify.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,MAAM,GACN,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAiCF,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAejD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAgD7D"}
@@ -0,0 +1,32 @@
1
+ import type { ViewNode } from '../types';
2
+ import type { AssistIntent } from './intentClassify';
3
+ export type RankedNode = {
4
+ id: string;
5
+ label: string;
6
+ score: number;
7
+ clickable: boolean;
8
+ kindHint: 'button' | 'field' | 'scroll' | 'other';
9
+ };
10
+ export type OcrTextHit = {
11
+ text: string;
12
+ confidence: number;
13
+ frame?: {
14
+ x: number;
15
+ y: number;
16
+ width: number;
17
+ height: number;
18
+ };
19
+ };
20
+ /**
21
+ * Rank dump nodes for an on-device assist pass (goal tokens + OCR tokens + intent).
22
+ */
23
+ export declare function rankNodesForGoal(tree: ViewNode, opts: {
24
+ intent: AssistIntent;
25
+ tokens: string[];
26
+ /** Extra tokens from Vision OCR (iOS). */
27
+ ocrTokens?: string[];
28
+ limit?: number;
29
+ }): RankedNode[];
30
+ /** Compact block for the cloud planner screen model. */
31
+ export declare function assistHintsModelText(intent: AssistIntent, confidence: number, ranked: RankedNode[], ocrTokens: string[], backend: string, ocrTexts?: OcrTextHit[]): string;
32
+ //# sourceMappingURL=nodeRank.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeRank.d.ts","sourceRoot":"","sources":["../../../../src/assist/nodeRank.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE,CAAC;AAqCF;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE;IACJ,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,UAAU,EAAE,CA0Dd;AAED,wDAAwD;AACxD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,UAAU,EAAE,EACpB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,UAAU,EAAO,GAC1B,MAAM,CAiCR"}
@@ -0,0 +1,25 @@
1
+ import type { Point, Frame, ViewNode } from '../types';
2
+ export type PositionedOcrText = {
3
+ text: string;
4
+ confidence: number;
5
+ frame?: Frame;
6
+ };
7
+ /** Visible web regions let a short translated action stay scoped to the page. */
8
+ export declare function visibleWebViewFrames(root: ViewNode): Frame[];
9
+ export declare function ocrHitInFrames(hit: PositionedOcrText, frames: Frame[]): boolean;
10
+ /** Candidate labels are derived only from the user's goal, never screen text. */
11
+ export declare function goalOcrCandidates(goal: string): string[];
12
+ export declare function verifiedGoalOcrLabels(goal: string, root: ViewNode | null | undefined, texts: PositionedOcrText[]): string[];
13
+ export declare const PUBLIC_WALLET_CHOICES: readonly ["WalletConnect", "MetaMask", "Coinbase Wallet", "Uniswap Mobile", "Uniswap Wallet", "Binance Wallet", "Trust Wallet", "Phantom", "OKX Wallet", "Rabby Wallet", "OneKey", "UKey", "UKey Wallet", "Solflare"];
14
+ export declare function walletConnectionAllowed(goal: string): boolean;
15
+ export declare function verifiedWalletChoices(goal: string, root: ViewNode | null | undefined, texts: PositionedOcrText[]): string[];
16
+ /**
17
+ * Resolve text that is visible in a WebView/Canvas but absent from the native
18
+ * accessibility tree. The frame comes from native OCR and is already in the
19
+ * same window-absolute logical coordinate space used by dispatchTap.
20
+ */
21
+ export declare function findOcrTextPoint(texts: PositionedOcrText[], wanted: string): Point | null;
22
+ export declare function findOcrTextHit(texts: PositionedOcrText[], wanted: string, options?: {
23
+ translatedWebRegions?: Frame[];
24
+ }): PositionedOcrText | null;
25
+ //# sourceMappingURL=ocrTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ocrTarget.d.ts","sourceRoot":"","sources":["../../../../src/assist/ocrTarget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAQF,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,CAe5D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAI/E;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBxD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAQ3H;AAGD,eAAO,MAAM,qBAAqB,uNAGxB,CAAC;AAEX,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI7D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAS3H;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,EAAE,EAC1B,MAAM,EAAE,MAAM,GACb,KAAK,GAAG,IAAI,CAMd;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,iBAAiB,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,oBAAoB,CAAC,EAAE,KAAK,EAAE,CAAA;CAAO,GAC/C,iBAAiB,GAAG,IAAI,CA6B1B"}
@@ -0,0 +1,6 @@
1
+ import { type PositionedOcrText } from './ocrTarget';
2
+ import type { ViewNode } from '../types';
3
+ /** Local-only text sets: callers may report only whether content changed. */
4
+ export declare function webVisualLabels(root: ViewNode | null, hits: PositionedOcrText[]): Set<string> | null;
5
+ export declare function webVisualChanged(before: Set<string> | null, after: Set<string> | null): boolean;
6
+ //# sourceMappingURL=webVisualChange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webVisualChange.d.ts","sourceRoot":"","sources":["../../../../src/assist/webVisualChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAYpG;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,CAK/F"}
@@ -0,0 +1,13 @@
1
+ import { type LocalizedText } from '../i18n';
2
+ /** A dispatched action may have committed; replay would risk a duplicate. */
3
+ export declare class ActionOutcomeUnknownError extends Error {
4
+ readonly detail: string;
5
+ readonly localizedMessage: import("../i18n").LocalizedMessage;
6
+ constructor(detail: string);
7
+ }
8
+ /** Validation rejected a target before an action was dispatched. Replan safely. */
9
+ export declare class ActionValidationError extends Error {
10
+ readonly localizedMessage: LocalizedText;
11
+ constructor(localizedMessage: LocalizedText);
12
+ }
13
+ //# sourceMappingURL=ActionOutcomeUnknownError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionOutcomeUnknownError.d.ts","sourceRoot":"","sources":["../../../../src/client/ActionOutcomeUnknownError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAEnE,6EAA6E;AAC7E,qBAAa,yBAA0B,SAAQ,KAAK;IAEtC,QAAQ,CAAC,MAAM,EAAE,MAAM;IADnC,QAAQ,CAAC,gBAAgB,qCAAuC;gBAC3C,MAAM,EAAE,MAAM;CAIpC;AAED,mFAAmF;AACnF,qBAAa,qBAAsB,SAAQ,KAAK;IAClC,QAAQ,CAAC,gBAAgB,EAAE,aAAa;gBAA/B,gBAAgB,EAAE,aAAa;CAIrD"}
@@ -0,0 +1,56 @@
1
+ import type { KokoAgent } from '../KokoAgent';
2
+ import { type GatewayConfig } from './GatewayClient';
3
+ export type AskUserHandler = (question: string) => Promise<string | null>;
4
+ export type AgentSessionOptions = GatewayConfig & {
5
+ locale?: string;
6
+ localRetries?: number;
7
+ onAskUser?: AskUserHandler;
8
+ onNarration?: (text: string) => void;
9
+ userGateTimeoutMs?: number;
10
+ /** Picked up after a JS-context restart killed the original run. */
11
+ resumedFromReload?: boolean;
12
+ };
13
+ export type AgentRunResult = {
14
+ success: boolean;
15
+ summary: string;
16
+ steps: number;
17
+ sessionId: string;
18
+ };
19
+ /**
20
+ * Cursor-like session with:
21
+ * - Preflight risk confirm (before loop)
22
+ * - Unattended execution (stop only)
23
+ * - Pause when App shows password/PIN/OTP until user finishes
24
+ */
25
+ export declare class AgentSession {
26
+ private readonly agent;
27
+ private readonly gateway;
28
+ private readonly opts;
29
+ private sessionId;
30
+ private history;
31
+ private stopped;
32
+ private running;
33
+ private readonly operationReplayGuard;
34
+ constructor(agent: KokoAgent, opts: AgentSessionOptions);
35
+ stop(): void;
36
+ private uiLocale;
37
+ private text;
38
+ private message;
39
+ private assertRunning;
40
+ run(goal: string): Promise<AgentRunResult>;
41
+ private runInternal;
42
+ private pushHistory;
43
+ /** Retry transient upstream / network failures so a completed UI goal is not
44
+ * marked failed just because the next planning round could not reach the LLM. */
45
+ private nextWithRetry;
46
+ private safeDump;
47
+ private webVisualLabels;
48
+ /**
49
+ * When the App presents credentials or recovery material, wait locally.
50
+ * Koko does not collect secrets — user types in the App UI.
51
+ */
52
+ private waitForAppUserGateIfNeeded;
53
+ private executeWithRetry;
54
+ private executeOnce;
55
+ }
56
+ //# sourceMappingURL=AgentSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSession.d.ts","sourceRoot":"","sources":["../../../../src/client/AgentSession.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAiB9C,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAmCzB,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE1E,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;gBAEvD,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB;IASvD,IAAI;IAKJ,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,aAAa;IAIf,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YAYlC,WAAW;IA0gBzB,OAAO,CAAC,WAAW;IASnB;qFACiF;YACnE,aAAa;YAkCb,QAAQ;YAkBR,eAAe;IAU7B;;;OAGG;YACW,0BAA0B;YA2F1B,gBAAgB;YA+BhB,WAAW;CAmE1B"}