@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.
- package/CHANGELOG.md +10 -0
- package/CODE_OF_CONDUCT.md +3 -0
- package/CONTRIBUTING.md +9 -0
- package/LICENSE +21 -0
- package/README.md +65 -0
- package/README.zh-CN.md +50 -0
- package/SECURITY.md +5 -0
- package/android/build.gradle +40 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/cn/intentcomputing/kokoagentsdk/KokoAgentSdkModule.java +1356 -0
- package/android/src/main/java/cn/intentcomputing/kokoagentsdk/KokoAgentSdkPackage.java +23 -0
- package/docs/INTEGRATION.md +168 -0
- package/docs/INTEGRATION.zh-CN.md +140 -0
- package/docs/PRIVACY.md +11 -0
- package/docs/PRIVACY.zh-CN.md +11 -0
- package/docs/PUBLISH.md +11 -0
- package/docs/PUBLISH.zh-CN.md +11 -0
- package/ios/KokoAgentSdk/KokoAgentSdk.h +5 -0
- package/ios/KokoAgentSdk/KokoAgentSdk.m +2464 -0
- package/ios/KokoAgentSdk/KokoOcrBounds.h +20 -0
- package/ios/KokoAgentSdk/KokoScrollBounds.h +21 -0
- package/koko-agent-sdk.podspec +23 -0
- package/lib/commonjs/KokoAgent.js +1427 -0
- package/lib/commonjs/KokoAgent.js.map +1 -0
- package/lib/commonjs/assist/OnDeviceAssist.js +94 -0
- package/lib/commonjs/assist/OnDeviceAssist.js.map +1 -0
- package/lib/commonjs/assist/intentClassify.js +100 -0
- package/lib/commonjs/assist/intentClassify.js.map +1 -0
- package/lib/commonjs/assist/nodeRank.js +120 -0
- package/lib/commonjs/assist/nodeRank.js.map +1 -0
- package/lib/commonjs/assist/ocrTarget.js +135 -0
- package/lib/commonjs/assist/ocrTarget.js.map +1 -0
- package/lib/commonjs/assist/webVisualChange.js +29 -0
- package/lib/commonjs/assist/webVisualChange.js.map +1 -0
- package/lib/commonjs/client/ActionOutcomeUnknownError.js +28 -0
- package/lib/commonjs/client/ActionOutcomeUnknownError.js.map +1 -0
- package/lib/commonjs/client/AgentSession.js +858 -0
- package/lib/commonjs/client/AgentSession.js.map +1 -0
- package/lib/commonjs/client/GatewayClient.js +302 -0
- package/lib/commonjs/client/GatewayClient.js.map +1 -0
- package/lib/commonjs/client/OperationReplayGuard.js +62 -0
- package/lib/commonjs/client/OperationReplayGuard.js.map +1 -0
- package/lib/commonjs/client/RunCheckpoint.js +139 -0
- package/lib/commonjs/client/RunCheckpoint.js.map +1 -0
- package/lib/commonjs/client/loopDetect.js +184 -0
- package/lib/commonjs/client/loopDetect.js.map +1 -0
- package/lib/commonjs/client/recentSearch.js +50 -0
- package/lib/commonjs/client/recentSearch.js.map +1 -0
- package/lib/commonjs/client/walletChoiceGuard.js +18 -0
- package/lib/commonjs/client/walletChoiceGuard.js.map +1 -0
- package/lib/commonjs/client/webResultCategory.js +38 -0
- package/lib/commonjs/client/webResultCategory.js.map +1 -0
- package/lib/commonjs/commercial/AccountStore.js +78 -0
- package/lib/commonjs/commercial/AccountStore.js.map +1 -0
- package/lib/commonjs/commercial/AgentDebug.js +104 -0
- package/lib/commonjs/commercial/AgentDebug.js.map +1 -0
- package/lib/commonjs/commercial/ExecutionGuard.js +53 -0
- package/lib/commonjs/commercial/ExecutionGuard.js.map +1 -0
- package/lib/commonjs/commercial/UsageBus.js +42 -0
- package/lib/commonjs/commercial/UsageBus.js.map +1 -0
- package/lib/commonjs/commercial/branding.js +69 -0
- package/lib/commonjs/commercial/branding.js.map +1 -0
- package/lib/commonjs/commercial/devMode.js +52 -0
- package/lib/commonjs/commercial/devMode.js.map +1 -0
- package/lib/commonjs/commercial/trust.js +69 -0
- package/lib/commonjs/commercial/trust.js.map +1 -0
- package/lib/commonjs/confirmation/gate.js +62 -0
- package/lib/commonjs/confirmation/gate.js.map +1 -0
- package/lib/commonjs/cursor/CursorOverlay.js +141 -0
- package/lib/commonjs/cursor/CursorOverlay.js.map +1 -0
- package/lib/commonjs/cursor/PointerHand.js +51 -0
- package/lib/commonjs/cursor/PointerHand.js.map +1 -0
- package/lib/commonjs/cursor/controller.js +91 -0
- package/lib/commonjs/cursor/controller.js.map +1 -0
- package/lib/commonjs/cursor/pointer.js +49 -0
- package/lib/commonjs/cursor/pointer.js.map +1 -0
- package/lib/commonjs/debug/KokoRemoteSmoke.js +611 -0
- package/lib/commonjs/debug/KokoRemoteSmoke.js.map +1 -0
- package/lib/commonjs/explore/ExplorationGraph.js +418 -0
- package/lib/commonjs/explore/ExplorationGraph.js.map +1 -0
- package/lib/commonjs/explore/bootstrapExplore.js +59 -0
- package/lib/commonjs/explore/bootstrapExplore.js.map +1 -0
- package/lib/commonjs/host/HostActions.js +266 -0
- package/lib/commonjs/host/HostActions.js.map +1 -0
- package/lib/commonjs/i18n/index.js +169 -0
- package/lib/commonjs/i18n/index.js.map +1 -0
- package/lib/commonjs/i18n/runtimeMessages.js +184 -0
- package/lib/commonjs/i18n/runtimeMessages.js.map +1 -0
- package/lib/commonjs/index.js +640 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/native/NativeBridge.js +132 -0
- package/lib/commonjs/native/NativeBridge.js.map +1 -0
- package/lib/commonjs/native/navigationLabel.js +16 -0
- package/lib/commonjs/native/navigationLabel.js.map +1 -0
- package/lib/commonjs/native/normalizeViewTree.js +28 -0
- package/lib/commonjs/native/normalizeViewTree.js.map +1 -0
- package/lib/commonjs/native/pruneOffscreen.js +76 -0
- package/lib/commonjs/native/pruneOffscreen.js.map +1 -0
- package/lib/commonjs/native/scrollViewport.js +69 -0
- package/lib/commonjs/native/scrollViewport.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/privacy/redact.js +108 -0
- package/lib/commonjs/privacy/redact.js.map +1 -0
- package/lib/commonjs/privacy/screenEvidence.js +59 -0
- package/lib/commonjs/privacy/screenEvidence.js.map +1 -0
- package/lib/commonjs/privacy/screenModel.js +404 -0
- package/lib/commonjs/privacy/screenModel.js.map +1 -0
- package/lib/commonjs/privacy/sensitiveScreen.js +58 -0
- package/lib/commonjs/privacy/sensitiveScreen.js.map +1 -0
- package/lib/commonjs/privacy/userGate.js +213 -0
- package/lib/commonjs/privacy/userGate.js.map +1 -0
- package/lib/commonjs/protocol/actions.js +112 -0
- package/lib/commonjs/protocol/actions.js.map +1 -0
- package/lib/commonjs/provider/HostAppearanceStore.js +111 -0
- package/lib/commonjs/provider/HostAppearanceStore.js.map +1 -0
- package/lib/commonjs/provider/KokoProvider.js +81 -0
- package/lib/commonjs/provider/KokoProvider.js.map +1 -0
- package/lib/commonjs/provider/KokoUiContext.js +102 -0
- package/lib/commonjs/provider/KokoUiContext.js.map +1 -0
- package/lib/commonjs/selector/match.js +378 -0
- package/lib/commonjs/selector/match.js.map +1 -0
- package/lib/commonjs/task/TaskStore.js +361 -0
- package/lib/commonjs/task/TaskStore.js.map +1 -0
- package/lib/commonjs/task/types.js +2 -0
- package/lib/commonjs/task/types.js.map +1 -0
- package/lib/commonjs/task/useTaskStore.js +14 -0
- package/lib/commonjs/task/useTaskStore.js.map +1 -0
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/ui/KokoChatSheet.js +885 -0
- package/lib/commonjs/ui/KokoChatSheet.js.map +1 -0
- package/lib/commonjs/ui/KokoComposer.js +161 -0
- package/lib/commonjs/ui/KokoComposer.js.map +1 -0
- package/lib/commonjs/ui/KokoDialogHost.js +254 -0
- package/lib/commonjs/ui/KokoDialogHost.js.map +1 -0
- package/lib/commonjs/ui/KokoEntryButton.js +81 -0
- package/lib/commonjs/ui/KokoEntryButton.js.map +1 -0
- package/lib/commonjs/ui/KokoObserver.js +522 -0
- package/lib/commonjs/ui/KokoObserver.js.map +1 -0
- package/lib/commonjs/ui/KokoOverlayLayer.js +45 -0
- package/lib/commonjs/ui/KokoOverlayLayer.js.map +1 -0
- package/lib/commonjs/ui/KokoSubtitle.js +95 -0
- package/lib/commonjs/ui/KokoSubtitle.js.map +1 -0
- package/lib/commonjs/ui/KokoTaskPanel.js +322 -0
- package/lib/commonjs/ui/KokoTaskPanel.js.map +1 -0
- package/lib/commonjs/ui/hostOverlay.js +126 -0
- package/lib/commonjs/ui/hostOverlay.js.map +1 -0
- package/lib/commonjs/ui/icons.js +132 -0
- package/lib/commonjs/ui/icons.js.map +1 -0
- package/lib/commonjs/ui/progressChrome.js +66 -0
- package/lib/commonjs/ui/progressChrome.js.map +1 -0
- package/lib/commonjs/ui/safeArea.js +96 -0
- package/lib/commonjs/ui/safeArea.js.map +1 -0
- package/lib/commonjs/ui/useOverlayOrigin.js +40 -0
- package/lib/commonjs/ui/useOverlayOrigin.js.map +1 -0
- package/lib/module/KokoAgent.js +1418 -0
- package/lib/module/KokoAgent.js.map +1 -0
- package/lib/module/assist/OnDeviceAssist.js +89 -0
- package/lib/module/assist/OnDeviceAssist.js.map +1 -0
- package/lib/module/assist/intentClassify.js +95 -0
- package/lib/module/assist/intentClassify.js.map +1 -0
- package/lib/module/assist/nodeRank.js +115 -0
- package/lib/module/assist/nodeRank.js.map +1 -0
- package/lib/module/assist/ocrTarget.js +123 -0
- package/lib/module/assist/ocrTarget.js.map +1 -0
- package/lib/module/assist/webVisualChange.js +24 -0
- package/lib/module/assist/webVisualChange.js.map +1 -0
- package/lib/module/client/ActionOutcomeUnknownError.js +23 -0
- package/lib/module/client/ActionOutcomeUnknownError.js.map +1 -0
- package/lib/module/client/AgentSession.js +854 -0
- package/lib/module/client/AgentSession.js.map +1 -0
- package/lib/module/client/GatewayClient.js +293 -0
- package/lib/module/client/GatewayClient.js.map +1 -0
- package/lib/module/client/OperationReplayGuard.js +58 -0
- package/lib/module/client/OperationReplayGuard.js.map +1 -0
- package/lib/module/client/RunCheckpoint.js +135 -0
- package/lib/module/client/RunCheckpoint.js.map +1 -0
- package/lib/module/client/loopDetect.js +177 -0
- package/lib/module/client/loopDetect.js.map +1 -0
- package/lib/module/client/recentSearch.js +46 -0
- package/lib/module/client/recentSearch.js.map +1 -0
- package/lib/module/client/walletChoiceGuard.js +14 -0
- package/lib/module/client/walletChoiceGuard.js.map +1 -0
- package/lib/module/client/webResultCategory.js +34 -0
- package/lib/module/client/webResultCategory.js.map +1 -0
- package/lib/module/commercial/AccountStore.js +75 -0
- package/lib/module/commercial/AccountStore.js.map +1 -0
- package/lib/module/commercial/AgentDebug.js +99 -0
- package/lib/module/commercial/AgentDebug.js.map +1 -0
- package/lib/module/commercial/ExecutionGuard.js +49 -0
- package/lib/module/commercial/ExecutionGuard.js.map +1 -0
- package/lib/module/commercial/UsageBus.js +38 -0
- package/lib/module/commercial/UsageBus.js.map +1 -0
- package/lib/module/commercial/branding.js +63 -0
- package/lib/module/commercial/branding.js.map +1 -0
- package/lib/module/commercial/devMode.js +45 -0
- package/lib/module/commercial/devMode.js.map +1 -0
- package/lib/module/commercial/trust.js +62 -0
- package/lib/module/commercial/trust.js.map +1 -0
- package/lib/module/confirmation/gate.js +54 -0
- package/lib/module/confirmation/gate.js.map +1 -0
- package/lib/module/cursor/CursorOverlay.js +136 -0
- package/lib/module/cursor/CursorOverlay.js.map +1 -0
- package/lib/module/cursor/PointerHand.js +47 -0
- package/lib/module/cursor/PointerHand.js.map +1 -0
- package/lib/module/cursor/controller.js +87 -0
- package/lib/module/cursor/controller.js.map +1 -0
- package/lib/module/cursor/pointer.js +45 -0
- package/lib/module/cursor/pointer.js.map +1 -0
- package/lib/module/debug/KokoRemoteSmoke.js +608 -0
- package/lib/module/debug/KokoRemoteSmoke.js.map +1 -0
- package/lib/module/explore/ExplorationGraph.js +406 -0
- package/lib/module/explore/ExplorationGraph.js.map +1 -0
- package/lib/module/explore/bootstrapExplore.js +55 -0
- package/lib/module/explore/bootstrapExplore.js.map +1 -0
- package/lib/module/host/HostActions.js +255 -0
- package/lib/module/host/HostActions.js.map +1 -0
- package/lib/module/i18n/index.js +159 -0
- package/lib/module/i18n/index.js.map +1 -0
- package/lib/module/i18n/runtimeMessages.js +180 -0
- package/lib/module/i18n/runtimeMessages.js.map +1 -0
- package/lib/module/index.js +44 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/native/NativeBridge.js +128 -0
- package/lib/module/native/NativeBridge.js.map +1 -0
- package/lib/module/native/navigationLabel.js +12 -0
- package/lib/module/native/navigationLabel.js.map +1 -0
- package/lib/module/native/normalizeViewTree.js +25 -0
- package/lib/module/native/normalizeViewTree.js.map +1 -0
- package/lib/module/native/pruneOffscreen.js +72 -0
- package/lib/module/native/pruneOffscreen.js.map +1 -0
- package/lib/module/native/scrollViewport.js +63 -0
- package/lib/module/native/scrollViewport.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/privacy/redact.js +103 -0
- package/lib/module/privacy/redact.js.map +1 -0
- package/lib/module/privacy/screenEvidence.js +50 -0
- package/lib/module/privacy/screenEvidence.js.map +1 -0
- package/lib/module/privacy/screenModel.js +397 -0
- package/lib/module/privacy/screenModel.js.map +1 -0
- package/lib/module/privacy/sensitiveScreen.js +52 -0
- package/lib/module/privacy/sensitiveScreen.js.map +1 -0
- package/lib/module/privacy/userGate.js +202 -0
- package/lib/module/privacy/userGate.js.map +1 -0
- package/lib/module/protocol/actions.js +108 -0
- package/lib/module/protocol/actions.js.map +1 -0
- package/lib/module/provider/HostAppearanceStore.js +101 -0
- package/lib/module/provider/HostAppearanceStore.js.map +1 -0
- package/lib/module/provider/KokoProvider.js +74 -0
- package/lib/module/provider/KokoProvider.js.map +1 -0
- package/lib/module/provider/KokoUiContext.js +96 -0
- package/lib/module/provider/KokoUiContext.js.map +1 -0
- package/lib/module/selector/match.js +366 -0
- package/lib/module/selector/match.js.map +1 -0
- package/lib/module/task/TaskStore.js +356 -0
- package/lib/module/task/TaskStore.js.map +1 -0
- package/lib/module/task/types.js +2 -0
- package/lib/module/task/types.js.map +1 -0
- package/lib/module/task/useTaskStore.js +10 -0
- package/lib/module/task/useTaskStore.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/ui/KokoChatSheet.js +879 -0
- package/lib/module/ui/KokoChatSheet.js.map +1 -0
- package/lib/module/ui/KokoComposer.js +155 -0
- package/lib/module/ui/KokoComposer.js.map +1 -0
- package/lib/module/ui/KokoDialogHost.js +247 -0
- package/lib/module/ui/KokoDialogHost.js.map +1 -0
- package/lib/module/ui/KokoEntryButton.js +74 -0
- package/lib/module/ui/KokoEntryButton.js.map +1 -0
- package/lib/module/ui/KokoObserver.js +516 -0
- package/lib/module/ui/KokoObserver.js.map +1 -0
- package/lib/module/ui/KokoOverlayLayer.js +39 -0
- package/lib/module/ui/KokoOverlayLayer.js.map +1 -0
- package/lib/module/ui/KokoSubtitle.js +90 -0
- package/lib/module/ui/KokoSubtitle.js.map +1 -0
- package/lib/module/ui/KokoTaskPanel.js +316 -0
- package/lib/module/ui/KokoTaskPanel.js.map +1 -0
- package/lib/module/ui/hostOverlay.js +120 -0
- package/lib/module/ui/hostOverlay.js.map +1 -0
- package/lib/module/ui/icons.js +124 -0
- package/lib/module/ui/icons.js.map +1 -0
- package/lib/module/ui/progressChrome.js +58 -0
- package/lib/module/ui/progressChrome.js.map +1 -0
- package/lib/module/ui/safeArea.js +92 -0
- package/lib/module/ui/safeArea.js.map +1 -0
- package/lib/module/ui/useOverlayOrigin.js +36 -0
- package/lib/module/ui/useOverlayOrigin.js.map +1 -0
- package/lib/typescript/commonjs/KokoAgent.d.ts +167 -0
- package/lib/typescript/commonjs/KokoAgent.d.ts.map +1 -0
- package/lib/typescript/commonjs/assist/OnDeviceAssist.d.ts +31 -0
- package/lib/typescript/commonjs/assist/OnDeviceAssist.d.ts.map +1 -0
- package/lib/typescript/commonjs/assist/intentClassify.d.ts +18 -0
- package/lib/typescript/commonjs/assist/intentClassify.d.ts.map +1 -0
- package/lib/typescript/commonjs/assist/nodeRank.d.ts +32 -0
- package/lib/typescript/commonjs/assist/nodeRank.d.ts.map +1 -0
- package/lib/typescript/commonjs/assist/ocrTarget.d.ts +25 -0
- package/lib/typescript/commonjs/assist/ocrTarget.d.ts.map +1 -0
- package/lib/typescript/commonjs/assist/webVisualChange.d.ts +6 -0
- package/lib/typescript/commonjs/assist/webVisualChange.d.ts.map +1 -0
- package/lib/typescript/commonjs/client/ActionOutcomeUnknownError.d.ts +13 -0
- package/lib/typescript/commonjs/client/ActionOutcomeUnknownError.d.ts.map +1 -0
- package/lib/typescript/commonjs/client/AgentSession.d.ts +56 -0
- package/lib/typescript/commonjs/client/AgentSession.d.ts.map +1 -0
- package/lib/typescript/commonjs/client/GatewayClient.d.ts +149 -0
- package/lib/typescript/commonjs/client/GatewayClient.d.ts.map +1 -0
- package/lib/typescript/commonjs/client/OperationReplayGuard.d.ts +13 -0
- package/lib/typescript/commonjs/client/OperationReplayGuard.d.ts.map +1 -0
- package/lib/typescript/commonjs/client/RunCheckpoint.d.ts +57 -0
- package/lib/typescript/commonjs/client/RunCheckpoint.d.ts.map +1 -0
- package/lib/typescript/commonjs/client/loopDetect.d.ts +15 -0
- package/lib/typescript/commonjs/client/loopDetect.d.ts.map +1 -0
- package/lib/typescript/commonjs/client/recentSearch.d.ts +5 -0
- package/lib/typescript/commonjs/client/recentSearch.d.ts.map +1 -0
- package/lib/typescript/commonjs/client/walletChoiceGuard.d.ts +4 -0
- package/lib/typescript/commonjs/client/walletChoiceGuard.d.ts.map +1 -0
- package/lib/typescript/commonjs/client/webResultCategory.d.ts +5 -0
- package/lib/typescript/commonjs/client/webResultCategory.d.ts.map +1 -0
- package/lib/typescript/commonjs/commercial/AccountStore.d.ts +17 -0
- package/lib/typescript/commonjs/commercial/AccountStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/commercial/AgentDebug.d.ts +25 -0
- package/lib/typescript/commonjs/commercial/AgentDebug.d.ts.map +1 -0
- package/lib/typescript/commonjs/commercial/ExecutionGuard.d.ts +18 -0
- package/lib/typescript/commonjs/commercial/ExecutionGuard.d.ts.map +1 -0
- package/lib/typescript/commonjs/commercial/UsageBus.d.ts +18 -0
- package/lib/typescript/commonjs/commercial/UsageBus.d.ts.map +1 -0
- package/lib/typescript/commonjs/commercial/branding.d.ts +25 -0
- package/lib/typescript/commonjs/commercial/branding.d.ts.map +1 -0
- package/lib/typescript/commonjs/commercial/devMode.d.ts +26 -0
- package/lib/typescript/commonjs/commercial/devMode.d.ts.map +1 -0
- package/lib/typescript/commonjs/commercial/trust.d.ts +21 -0
- package/lib/typescript/commonjs/commercial/trust.d.ts.map +1 -0
- package/lib/typescript/commonjs/confirmation/gate.d.ts +18 -0
- package/lib/typescript/commonjs/confirmation/gate.d.ts.map +1 -0
- package/lib/typescript/commonjs/cursor/CursorOverlay.d.ts +13 -0
- package/lib/typescript/commonjs/cursor/CursorOverlay.d.ts.map +1 -0
- package/lib/typescript/commonjs/cursor/PointerHand.d.ts +16 -0
- package/lib/typescript/commonjs/cursor/PointerHand.d.ts.map +1 -0
- package/lib/typescript/commonjs/cursor/controller.d.ts +30 -0
- package/lib/typescript/commonjs/cursor/controller.d.ts.map +1 -0
- package/lib/typescript/commonjs/cursor/pointer.d.ts +23 -0
- package/lib/typescript/commonjs/cursor/pointer.d.ts.map +1 -0
- package/lib/typescript/commonjs/debug/KokoRemoteSmoke.d.ts +96 -0
- package/lib/typescript/commonjs/debug/KokoRemoteSmoke.d.ts.map +1 -0
- package/lib/typescript/commonjs/explore/ExplorationGraph.d.ts +96 -0
- package/lib/typescript/commonjs/explore/ExplorationGraph.d.ts.map +1 -0
- package/lib/typescript/commonjs/explore/bootstrapExplore.d.ts +40 -0
- package/lib/typescript/commonjs/explore/bootstrapExplore.d.ts.map +1 -0
- package/lib/typescript/commonjs/host/HostActions.d.ts +101 -0
- package/lib/typescript/commonjs/host/HostActions.d.ts.map +1 -0
- package/lib/typescript/commonjs/i18n/index.d.ts +20 -0
- package/lib/typescript/commonjs/i18n/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/i18n/runtimeMessages.d.ts +178 -0
- package/lib/typescript/commonjs/i18n/runtimeMessages.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +66 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/native/NativeBridge.d.ts +70 -0
- package/lib/typescript/commonjs/native/NativeBridge.d.ts.map +1 -0
- package/lib/typescript/commonjs/native/navigationLabel.d.ts +4 -0
- package/lib/typescript/commonjs/native/navigationLabel.d.ts.map +1 -0
- package/lib/typescript/commonjs/native/normalizeViewTree.d.ts +4 -0
- package/lib/typescript/commonjs/native/normalizeViewTree.d.ts.map +1 -0
- package/lib/typescript/commonjs/native/pruneOffscreen.d.ts +3 -0
- package/lib/typescript/commonjs/native/pruneOffscreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/native/scrollViewport.d.ts +13 -0
- package/lib/typescript/commonjs/native/scrollViewport.d.ts.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/privacy/redact.d.ts +9 -0
- package/lib/typescript/commonjs/privacy/redact.d.ts.map +1 -0
- package/lib/typescript/commonjs/privacy/screenEvidence.d.ts +14 -0
- package/lib/typescript/commonjs/privacy/screenEvidence.d.ts.map +1 -0
- package/lib/typescript/commonjs/privacy/screenModel.d.ts +26 -0
- package/lib/typescript/commonjs/privacy/screenModel.d.ts.map +1 -0
- package/lib/typescript/commonjs/privacy/sensitiveScreen.d.ts +8 -0
- package/lib/typescript/commonjs/privacy/sensitiveScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/privacy/userGate.d.ts +58 -0
- package/lib/typescript/commonjs/privacy/userGate.d.ts.map +1 -0
- package/lib/typescript/commonjs/protocol/actions.d.ts +7 -0
- package/lib/typescript/commonjs/protocol/actions.d.ts.map +1 -0
- package/lib/typescript/commonjs/provider/HostAppearanceStore.d.ts +64 -0
- package/lib/typescript/commonjs/provider/HostAppearanceStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/provider/KokoProvider.d.ts +39 -0
- package/lib/typescript/commonjs/provider/KokoProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/provider/KokoUiContext.d.ts +22 -0
- package/lib/typescript/commonjs/provider/KokoUiContext.d.ts.map +1 -0
- package/lib/typescript/commonjs/selector/match.d.ts +27 -0
- package/lib/typescript/commonjs/selector/match.d.ts.map +1 -0
- package/lib/typescript/commonjs/task/TaskStore.d.ts +65 -0
- package/lib/typescript/commonjs/task/TaskStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/task/types.d.ts +66 -0
- package/lib/typescript/commonjs/task/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/task/useTaskStore.d.ts +3 -0
- package/lib/typescript/commonjs/task/useTaskStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/types.d.ts +372 -0
- package/lib/typescript/commonjs/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/KokoChatSheet.d.ts +8 -0
- package/lib/typescript/commonjs/ui/KokoChatSheet.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/KokoComposer.d.ts +13 -0
- package/lib/typescript/commonjs/ui/KokoComposer.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/KokoDialogHost.d.ts +32 -0
- package/lib/typescript/commonjs/ui/KokoDialogHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/KokoEntryButton.d.ts +18 -0
- package/lib/typescript/commonjs/ui/KokoEntryButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/KokoObserver.d.ts +13 -0
- package/lib/typescript/commonjs/ui/KokoObserver.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/KokoOverlayLayer.d.ts +35 -0
- package/lib/typescript/commonjs/ui/KokoOverlayLayer.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/KokoSubtitle.d.ts +7 -0
- package/lib/typescript/commonjs/ui/KokoSubtitle.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/KokoTaskPanel.d.ts +7 -0
- package/lib/typescript/commonjs/ui/KokoTaskPanel.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hostOverlay.d.ts +28 -0
- package/lib/typescript/commonjs/ui/hostOverlay.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/icons.d.ts +26 -0
- package/lib/typescript/commonjs/ui/icons.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/progressChrome.d.ts +21 -0
- package/lib/typescript/commonjs/ui/progressChrome.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/safeArea.d.ts +12 -0
- package/lib/typescript/commonjs/ui/safeArea.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/useOverlayOrigin.d.ts +22 -0
- package/lib/typescript/commonjs/ui/useOverlayOrigin.d.ts.map +1 -0
- package/lib/typescript/module/KokoAgent.d.ts +167 -0
- package/lib/typescript/module/KokoAgent.d.ts.map +1 -0
- package/lib/typescript/module/assist/OnDeviceAssist.d.ts +31 -0
- package/lib/typescript/module/assist/OnDeviceAssist.d.ts.map +1 -0
- package/lib/typescript/module/assist/intentClassify.d.ts +18 -0
- package/lib/typescript/module/assist/intentClassify.d.ts.map +1 -0
- package/lib/typescript/module/assist/nodeRank.d.ts +32 -0
- package/lib/typescript/module/assist/nodeRank.d.ts.map +1 -0
- package/lib/typescript/module/assist/ocrTarget.d.ts +25 -0
- package/lib/typescript/module/assist/ocrTarget.d.ts.map +1 -0
- package/lib/typescript/module/assist/webVisualChange.d.ts +6 -0
- package/lib/typescript/module/assist/webVisualChange.d.ts.map +1 -0
- package/lib/typescript/module/client/ActionOutcomeUnknownError.d.ts +13 -0
- package/lib/typescript/module/client/ActionOutcomeUnknownError.d.ts.map +1 -0
- package/lib/typescript/module/client/AgentSession.d.ts +56 -0
- package/lib/typescript/module/client/AgentSession.d.ts.map +1 -0
- package/lib/typescript/module/client/GatewayClient.d.ts +149 -0
- package/lib/typescript/module/client/GatewayClient.d.ts.map +1 -0
- package/lib/typescript/module/client/OperationReplayGuard.d.ts +13 -0
- package/lib/typescript/module/client/OperationReplayGuard.d.ts.map +1 -0
- package/lib/typescript/module/client/RunCheckpoint.d.ts +57 -0
- package/lib/typescript/module/client/RunCheckpoint.d.ts.map +1 -0
- package/lib/typescript/module/client/loopDetect.d.ts +15 -0
- package/lib/typescript/module/client/loopDetect.d.ts.map +1 -0
- package/lib/typescript/module/client/recentSearch.d.ts +5 -0
- package/lib/typescript/module/client/recentSearch.d.ts.map +1 -0
- package/lib/typescript/module/client/walletChoiceGuard.d.ts +4 -0
- package/lib/typescript/module/client/walletChoiceGuard.d.ts.map +1 -0
- package/lib/typescript/module/client/webResultCategory.d.ts +5 -0
- package/lib/typescript/module/client/webResultCategory.d.ts.map +1 -0
- package/lib/typescript/module/commercial/AccountStore.d.ts +17 -0
- package/lib/typescript/module/commercial/AccountStore.d.ts.map +1 -0
- package/lib/typescript/module/commercial/AgentDebug.d.ts +25 -0
- package/lib/typescript/module/commercial/AgentDebug.d.ts.map +1 -0
- package/lib/typescript/module/commercial/ExecutionGuard.d.ts +18 -0
- package/lib/typescript/module/commercial/ExecutionGuard.d.ts.map +1 -0
- package/lib/typescript/module/commercial/UsageBus.d.ts +18 -0
- package/lib/typescript/module/commercial/UsageBus.d.ts.map +1 -0
- package/lib/typescript/module/commercial/branding.d.ts +25 -0
- package/lib/typescript/module/commercial/branding.d.ts.map +1 -0
- package/lib/typescript/module/commercial/devMode.d.ts +26 -0
- package/lib/typescript/module/commercial/devMode.d.ts.map +1 -0
- package/lib/typescript/module/commercial/trust.d.ts +21 -0
- package/lib/typescript/module/commercial/trust.d.ts.map +1 -0
- package/lib/typescript/module/confirmation/gate.d.ts +18 -0
- package/lib/typescript/module/confirmation/gate.d.ts.map +1 -0
- package/lib/typescript/module/cursor/CursorOverlay.d.ts +13 -0
- package/lib/typescript/module/cursor/CursorOverlay.d.ts.map +1 -0
- package/lib/typescript/module/cursor/PointerHand.d.ts +16 -0
- package/lib/typescript/module/cursor/PointerHand.d.ts.map +1 -0
- package/lib/typescript/module/cursor/controller.d.ts +30 -0
- package/lib/typescript/module/cursor/controller.d.ts.map +1 -0
- package/lib/typescript/module/cursor/pointer.d.ts +23 -0
- package/lib/typescript/module/cursor/pointer.d.ts.map +1 -0
- package/lib/typescript/module/debug/KokoRemoteSmoke.d.ts +96 -0
- package/lib/typescript/module/debug/KokoRemoteSmoke.d.ts.map +1 -0
- package/lib/typescript/module/explore/ExplorationGraph.d.ts +96 -0
- package/lib/typescript/module/explore/ExplorationGraph.d.ts.map +1 -0
- package/lib/typescript/module/explore/bootstrapExplore.d.ts +40 -0
- package/lib/typescript/module/explore/bootstrapExplore.d.ts.map +1 -0
- package/lib/typescript/module/host/HostActions.d.ts +101 -0
- package/lib/typescript/module/host/HostActions.d.ts.map +1 -0
- package/lib/typescript/module/i18n/index.d.ts +20 -0
- package/lib/typescript/module/i18n/index.d.ts.map +1 -0
- package/lib/typescript/module/i18n/runtimeMessages.d.ts +178 -0
- package/lib/typescript/module/i18n/runtimeMessages.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +66 -0
- package/lib/typescript/module/index.d.ts.map +1 -0
- package/lib/typescript/module/native/NativeBridge.d.ts +70 -0
- package/lib/typescript/module/native/NativeBridge.d.ts.map +1 -0
- package/lib/typescript/module/native/navigationLabel.d.ts +4 -0
- package/lib/typescript/module/native/navigationLabel.d.ts.map +1 -0
- package/lib/typescript/module/native/normalizeViewTree.d.ts +4 -0
- package/lib/typescript/module/native/normalizeViewTree.d.ts.map +1 -0
- package/lib/typescript/module/native/pruneOffscreen.d.ts +3 -0
- package/lib/typescript/module/native/pruneOffscreen.d.ts.map +1 -0
- package/lib/typescript/module/native/scrollViewport.d.ts +13 -0
- package/lib/typescript/module/native/scrollViewport.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/privacy/redact.d.ts +9 -0
- package/lib/typescript/module/privacy/redact.d.ts.map +1 -0
- package/lib/typescript/module/privacy/screenEvidence.d.ts +14 -0
- package/lib/typescript/module/privacy/screenEvidence.d.ts.map +1 -0
- package/lib/typescript/module/privacy/screenModel.d.ts +26 -0
- package/lib/typescript/module/privacy/screenModel.d.ts.map +1 -0
- package/lib/typescript/module/privacy/sensitiveScreen.d.ts +8 -0
- package/lib/typescript/module/privacy/sensitiveScreen.d.ts.map +1 -0
- package/lib/typescript/module/privacy/userGate.d.ts +58 -0
- package/lib/typescript/module/privacy/userGate.d.ts.map +1 -0
- package/lib/typescript/module/protocol/actions.d.ts +7 -0
- package/lib/typescript/module/protocol/actions.d.ts.map +1 -0
- package/lib/typescript/module/provider/HostAppearanceStore.d.ts +64 -0
- package/lib/typescript/module/provider/HostAppearanceStore.d.ts.map +1 -0
- package/lib/typescript/module/provider/KokoProvider.d.ts +39 -0
- package/lib/typescript/module/provider/KokoProvider.d.ts.map +1 -0
- package/lib/typescript/module/provider/KokoUiContext.d.ts +22 -0
- package/lib/typescript/module/provider/KokoUiContext.d.ts.map +1 -0
- package/lib/typescript/module/selector/match.d.ts +27 -0
- package/lib/typescript/module/selector/match.d.ts.map +1 -0
- package/lib/typescript/module/task/TaskStore.d.ts +65 -0
- package/lib/typescript/module/task/TaskStore.d.ts.map +1 -0
- package/lib/typescript/module/task/types.d.ts +66 -0
- package/lib/typescript/module/task/types.d.ts.map +1 -0
- package/lib/typescript/module/task/useTaskStore.d.ts +3 -0
- package/lib/typescript/module/task/useTaskStore.d.ts.map +1 -0
- package/lib/typescript/module/types.d.ts +372 -0
- package/lib/typescript/module/types.d.ts.map +1 -0
- package/lib/typescript/module/ui/KokoChatSheet.d.ts +8 -0
- package/lib/typescript/module/ui/KokoChatSheet.d.ts.map +1 -0
- package/lib/typescript/module/ui/KokoComposer.d.ts +13 -0
- package/lib/typescript/module/ui/KokoComposer.d.ts.map +1 -0
- package/lib/typescript/module/ui/KokoDialogHost.d.ts +32 -0
- package/lib/typescript/module/ui/KokoDialogHost.d.ts.map +1 -0
- package/lib/typescript/module/ui/KokoEntryButton.d.ts +18 -0
- package/lib/typescript/module/ui/KokoEntryButton.d.ts.map +1 -0
- package/lib/typescript/module/ui/KokoObserver.d.ts +13 -0
- package/lib/typescript/module/ui/KokoObserver.d.ts.map +1 -0
- package/lib/typescript/module/ui/KokoOverlayLayer.d.ts +35 -0
- package/lib/typescript/module/ui/KokoOverlayLayer.d.ts.map +1 -0
- package/lib/typescript/module/ui/KokoSubtitle.d.ts +7 -0
- package/lib/typescript/module/ui/KokoSubtitle.d.ts.map +1 -0
- package/lib/typescript/module/ui/KokoTaskPanel.d.ts +7 -0
- package/lib/typescript/module/ui/KokoTaskPanel.d.ts.map +1 -0
- package/lib/typescript/module/ui/hostOverlay.d.ts +28 -0
- package/lib/typescript/module/ui/hostOverlay.d.ts.map +1 -0
- package/lib/typescript/module/ui/icons.d.ts +26 -0
- package/lib/typescript/module/ui/icons.d.ts.map +1 -0
- package/lib/typescript/module/ui/progressChrome.d.ts +21 -0
- package/lib/typescript/module/ui/progressChrome.d.ts.map +1 -0
- package/lib/typescript/module/ui/safeArea.d.ts +12 -0
- package/lib/typescript/module/ui/safeArea.d.ts.map +1 -0
- package/lib/typescript/module/ui/useOverlayOrigin.d.ts +22 -0
- package/lib/typescript/module/ui/useOverlayOrigin.d.ts.map +1 -0
- package/package.json +153 -0
- package/react-native.config.js +12 -0
- package/src/KokoAgent.ts +1415 -0
- package/src/assist/OnDeviceAssist.ts +133 -0
- package/src/assist/intentClassify.ts +122 -0
- package/src/assist/nodeRank.ts +167 -0
- package/src/assist/ocrTarget.ts +146 -0
- package/src/assist/webVisualChange.ts +24 -0
- package/src/client/ActionOutcomeUnknownError.ts +18 -0
- package/src/client/AgentSession.ts +952 -0
- package/src/client/GatewayClient.ts +439 -0
- package/src/client/OperationReplayGuard.ts +61 -0
- package/src/client/RunCheckpoint.ts +154 -0
- package/src/client/loopDetect.ts +213 -0
- package/src/client/recentSearch.ts +47 -0
- package/src/client/walletChoiceGuard.ts +15 -0
- package/src/client/webResultCategory.ts +28 -0
- package/src/commercial/AccountStore.ts +85 -0
- package/src/commercial/AgentDebug.ts +142 -0
- package/src/commercial/ExecutionGuard.ts +67 -0
- package/src/commercial/UsageBus.ts +44 -0
- package/src/commercial/branding.ts +97 -0
- package/src/commercial/devMode.ts +48 -0
- package/src/commercial/trust.ts +67 -0
- package/src/confirmation/gate.ts +82 -0
- package/src/cursor/CursorOverlay.tsx +138 -0
- package/src/cursor/PointerHand.tsx +49 -0
- package/src/cursor/controller.ts +98 -0
- package/src/cursor/pointer.ts +40 -0
- package/src/debug/KokoRemoteSmoke.tsx +561 -0
- package/src/explore/ExplorationGraph.ts +518 -0
- package/src/explore/bootstrapExplore.ts +89 -0
- package/src/host/HostActions.ts +349 -0
- package/src/i18n/index.ts +229 -0
- package/src/i18n/runtimeMessages.ts +180 -0
- package/src/index.ts +203 -0
- package/src/native/NativeBridge.ts +207 -0
- package/src/native/navigationLabel.ts +11 -0
- package/src/native/normalizeViewTree.ts +16 -0
- package/src/native/pruneOffscreen.ts +72 -0
- package/src/native/scrollViewport.ts +51 -0
- package/src/privacy/redact.ts +115 -0
- package/src/privacy/screenEvidence.ts +55 -0
- package/src/privacy/screenModel.ts +504 -0
- package/src/privacy/sensitiveScreen.ts +55 -0
- package/src/privacy/userGate.ts +233 -0
- package/src/protocol/actions.ts +66 -0
- package/src/provider/HostAppearanceStore.ts +148 -0
- package/src/provider/KokoProvider.tsx +118 -0
- package/src/provider/KokoUiContext.tsx +162 -0
- package/src/selector/match.ts +417 -0
- package/src/task/TaskStore.ts +387 -0
- package/src/task/types.ts +82 -0
- package/src/task/useTaskStore.ts +9 -0
- package/src/types.ts +318 -0
- package/src/ui/KokoChatSheet.tsx +930 -0
- package/src/ui/KokoComposer.tsx +174 -0
- package/src/ui/KokoDialogHost.tsx +249 -0
- package/src/ui/KokoEntryButton.tsx +74 -0
- package/src/ui/KokoObserver.tsx +587 -0
- package/src/ui/KokoOverlayLayer.tsx +53 -0
- package/src/ui/KokoSubtitle.tsx +80 -0
- package/src/ui/KokoTaskPanel.tsx +299 -0
- package/src/ui/hostOverlay.tsx +148 -0
- package/src/ui/icons.tsx +145 -0
- package/src/ui/progressChrome.ts +73 -0
- package/src/ui/safeArea.ts +95 -0
- package/src/ui/useOverlayOrigin.ts +29 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","CursorController","isSensitiveLabel","runConfirmationGate","NativeBridge","executeAgentAction","centerOf","centerOfLabel","find","findAll","findBySoftLabel","findNodeById","flattenTree","sensitiveScreenKind","boundedScrollGesture","scrollViewports","canRunHostActionForNode","HostActionsStore","runHostAction","screenSnapshotLine","TaskStore","AgentSession","RunCheckpoint","ActionOutcomeUnknownError","ActionValidationError","ExplorationGraph","DialogBus","pointsOverlapProgressChrome","UsageBus","AccountStore","ExecutionGuard","AgentDebug","gatewayLocale","currentLocale","t","runtimeText","message","findOcrTextHit","ocrHitInFrames","visibleWebViewFrames","KokoAgent","lastTree","planningTree","ocrTargets","Map","nextOcrTargetId","confirmedSensitive","Set","lastTapViaHost","constructor","config","dumpMaxDepth","dumpSkipInvisible","cursorDurationMs","observer","confirmation","requireUserConfirm","mode","onConfirmSensitive","ctx","locale","label","action","requestConfirm","configure","patch","getConfig","key","vars","text","isNativeReady","isAvailable","startTask","title","clear","task","emit","type","taskId","id","goal","at","Date","now","finishTask","status","summary","hide","snap","snapshot","active","tasks","activeTaskId","undefined","steps","nodes","length","log","kind","detail","appendNode","createSession","opts","onAskUser","q","requestAsk","activeSession","executionEpoch","claimingCheckpoint","acquireSession","session","Error","acquired","releaseSession","cancelPendingActions","assertExecutionCurrent","epoch","runGoal","token","gateway","baseUrl","refresh","resumedFromReload","resumes","localRetries","userGateTimeoutMs","onNarration","begin","catch","run","resumeInterruptedRun","pending","claimResumable","bootstrapExplore","getExplorationGraph","clearExplorationGraph","refreshAccount","getAccount","get","stop","openChat","openSheet","closeChat","closeSheet","getTaskStore","dump","options","assert","ui","sheetOpen","sleep","silent","node","track","tree","maxDepth","skipInvisible","warnIfDepthCapped","done","e","fail","screenshot","hideOverlays","getLastTree","observedOcrLabel","nodeId","setPlanningTree","selector","wantedLabel","selectorLabel","root","hit","ocrEligible","match","index","ocr","recognizeScreenText","maxTokens","directHit","texts","textHit","translatedWebRegions","frame","f","set","webview","size","delete","keys","next","value","clickable","enabled","visible","children","activeGoal","revealVisibleTarget","tap","target","assertCurrent","hostHit","point","findForTap","testID","selectorTestID","preresolved","resolveNode","nodeLabel","accessibilityLabel","trim","byNode","revealIfNeeded","tapFindOptions","preferNonInput","confirmKey","has","allowed","updateNode","add","beforeSnap","snapshotLine","duration","spot","hostActionPoint","moveTo","x","y","setPressing","assertTapTargetCurrent","oneshot","unregisterAction","liftChrome","controlNode","resolvePoint","ensureSafeTapPoint","isToggle","Boolean","toggle","adjustableKind","classifyAdjustable","targetPoint","withChromeClearance","showAt","gesture","adjustableGesture","from","to","swipe","durationMs","isAlertActionNode","invoked","invokeAlertAction","didAlert","sheet","expected","currentPoint","Math","hypot","startsWith","current","seen","direction","page","allowsSoftLabelFallback","viewport","filter","height","width","sort","a","b","fingerprint","JSON","stringify","map","n","round","upper","lower","pinch","center","scale","zoomIn","preview","slice","focusPoint","inputTarget","field","findFirstTextField","focusAt","focusNode","typeText","ok","hideCursor","runAction","copy","localizedMessage","pointWithinWindow","replace","soft","allowSoft","currentOcrPoint","observed","host","getById","validatedNativeNode","identity","item","webviewRoot","every","Number","isFinite","cap","deepest","walk","d","c","dumpTruncated","reuseLastTree","w","h","adjustable","nested","findControlDescendant","inputIntent","test","rule","nearText","toLowerCase","midX","midY","insetX","max","insetY","min","span","cur","thumbRatio","trackLeft","trackRight","trackW","fromX","toX","abs","goPlus","goUp","best","secure","points","OS","suppressChrome","restoreChrome","ms","Promise","resolve","setTimeout","shared","getKokoAgent","initKokoAgent"],"sourceRoot":"../../src","sources":["KokoAgent.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NativeBridge } from "../native/NativeBridge.js";
|
|
4
|
+
import { sensitiveScreenKind } from "../privacy/sensitiveScreen.js";
|
|
5
|
+
import { classifyGoalIntent } from "./intentClassify.js";
|
|
6
|
+
import { verifiedGoalOcrLabels, verifiedWalletChoices } from "./ocrTarget.js";
|
|
7
|
+
import { assistHintsModelText, rankNodesForGoal } from "./nodeRank.js";
|
|
8
|
+
/**
|
|
9
|
+
* On-device assist: JS intent + node rank, optional native OCR.
|
|
10
|
+
* Enriches the cloud planner `ui_screen_model` — does not replace the LLM.
|
|
11
|
+
*/
|
|
12
|
+
export async function buildOnDeviceAssist(goal, tree, opts = {}) {
|
|
13
|
+
const classified = classifyGoalIntent(goal);
|
|
14
|
+
if (sensitiveScreenKind(tree)) {
|
|
15
|
+
return {
|
|
16
|
+
intent: classified.intent,
|
|
17
|
+
confidence: classified.confidence,
|
|
18
|
+
tokens: [],
|
|
19
|
+
ocrTokens: [],
|
|
20
|
+
ranked: [],
|
|
21
|
+
modelText: '',
|
|
22
|
+
backend: 'local-private-screen'
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
let ocrTokens = [];
|
|
26
|
+
let ocrTexts = [];
|
|
27
|
+
let backend = 'js';
|
|
28
|
+
if (!opts.skipOcr && NativeBridge.isAvailable()) {
|
|
29
|
+
try {
|
|
30
|
+
const ocr = await NativeBridge.recognizeScreenText({
|
|
31
|
+
maxTokens: opts.maxOcrTokens ?? 24,
|
|
32
|
+
hideOverlays: true
|
|
33
|
+
});
|
|
34
|
+
ocrTokens = (ocr.tokens || []).filter(Boolean).slice(0, opts.maxOcrTokens ?? 24);
|
|
35
|
+
ocrTexts = (ocr.texts || []).slice(0, 64);
|
|
36
|
+
if (ocr.backend) backend = `js+${ocr.backend}`;
|
|
37
|
+
} catch {
|
|
38
|
+
// Soft-fail: dump-only assist still helps the planner.
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const ranked = tree ? rankNodesForGoal(tree, {
|
|
42
|
+
intent: classified.intent,
|
|
43
|
+
tokens: classified.tokens,
|
|
44
|
+
ocrTokens,
|
|
45
|
+
limit: 8
|
|
46
|
+
}) : [];
|
|
47
|
+
const modelText = assistHintsModelText(classified.intent, classified.confidence, ranked, ocrTokens, backend, ocrTexts);
|
|
48
|
+
return {
|
|
49
|
+
intent: classified.intent,
|
|
50
|
+
confidence: classified.confidence,
|
|
51
|
+
tokens: classified.tokens,
|
|
52
|
+
ocrTokens,
|
|
53
|
+
goalOcrLabels: verifiedGoalOcrLabels(goal, tree, ocrTexts),
|
|
54
|
+
walletChoices: verifiedWalletChoices(goal, tree, ocrTexts),
|
|
55
|
+
ranked,
|
|
56
|
+
modelText,
|
|
57
|
+
backend
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** Sync path for unit tests / hosts that already have OCR tokens. */
|
|
62
|
+
export function buildOnDeviceAssistSync(goal, tree, ocrTokens = [], backend = 'js') {
|
|
63
|
+
const classified = classifyGoalIntent(goal);
|
|
64
|
+
if (sensitiveScreenKind(tree)) return {
|
|
65
|
+
intent: classified.intent,
|
|
66
|
+
confidence: classified.confidence,
|
|
67
|
+
tokens: [],
|
|
68
|
+
ocrTokens: [],
|
|
69
|
+
ranked: [],
|
|
70
|
+
modelText: '',
|
|
71
|
+
backend: 'local-private-screen'
|
|
72
|
+
};
|
|
73
|
+
const ranked = tree ? rankNodesForGoal(tree, {
|
|
74
|
+
intent: classified.intent,
|
|
75
|
+
tokens: classified.tokens,
|
|
76
|
+
ocrTokens,
|
|
77
|
+
limit: 8
|
|
78
|
+
}) : [];
|
|
79
|
+
return {
|
|
80
|
+
intent: classified.intent,
|
|
81
|
+
confidence: classified.confidence,
|
|
82
|
+
tokens: classified.tokens,
|
|
83
|
+
ocrTokens,
|
|
84
|
+
ranked,
|
|
85
|
+
modelText: assistHintsModelText(classified.intent, classified.confidence, ranked, ocrTokens, backend),
|
|
86
|
+
backend
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=OnDeviceAssist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeBridge","sensitiveScreenKind","classifyGoalIntent","verifiedGoalOcrLabels","verifiedWalletChoices","assistHintsModelText","rankNodesForGoal","buildOnDeviceAssist","goal","tree","opts","classified","intent","confidence","tokens","ocrTokens","ranked","modelText","backend","ocrTexts","skipOcr","isAvailable","ocr","recognizeScreenText","maxTokens","maxOcrTokens","hideOverlays","filter","Boolean","slice","texts","limit","goalOcrLabels","walletChoices","buildOnDeviceAssistSync"],"sourceRoot":"../../../src","sources":["assist/OnDeviceAssist.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* On-device goal intent classification (structural, host-agnostic).
|
|
5
|
+
* Complements Core ML / Vision OCR — no package IDs or product copy.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const STOP = new Set(['打开', '进入', '点击', '点选', '按下', '点', '一下', '这个', '那个', '按钮', '去', '到', '把', '将', '请', '帮我', '我想', 'the', 'a', 'an', 'to', 'open', 'tap', 'click', 'press', 'go'].map(s => s.toLowerCase()));
|
|
9
|
+
|
|
10
|
+
/** Extract short goal tokens for ranking (CJK chunks + latin words). */
|
|
11
|
+
export function goalTokens(goal) {
|
|
12
|
+
const raw = String(goal || '').trim();
|
|
13
|
+
if (!raw) return [];
|
|
14
|
+
const out = [];
|
|
15
|
+
const latin = raw.match(/[A-Za-z0-9_]{2,}/g) || [];
|
|
16
|
+
for (const w of latin) {
|
|
17
|
+
const n = w.toLowerCase();
|
|
18
|
+
if (!STOP.has(n)) out.push(n);
|
|
19
|
+
}
|
|
20
|
+
// CJK runs of 2–8 chars
|
|
21
|
+
const cjk = raw.match(/[\u4e00-\u9fff]{2,8}/g) || [];
|
|
22
|
+
for (const w of cjk) {
|
|
23
|
+
if (!STOP.has(w)) out.push(w);
|
|
24
|
+
}
|
|
25
|
+
return [...new Set(out)].slice(0, 12);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Cheap on-device intent — runs everywhere (JS). iOS Vision OCR enriches tokens separately.
|
|
30
|
+
*/
|
|
31
|
+
export function classifyGoalIntent(goal) {
|
|
32
|
+
const g = String(goal || '').trim();
|
|
33
|
+
const tokens = goalTokens(g);
|
|
34
|
+
if (!g) return {
|
|
35
|
+
intent: 'unknown',
|
|
36
|
+
confidence: 0,
|
|
37
|
+
tokens
|
|
38
|
+
};
|
|
39
|
+
if (/返回|后退|回去|关闭弹窗|关掉|dismiss|go\s*back|close\s*(this|dialog|sheet)?/i.test(g)) {
|
|
40
|
+
return {
|
|
41
|
+
intent: 'back',
|
|
42
|
+
confidence: 0.85,
|
|
43
|
+
tokens
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (/搜索|查找|搜一下|search|find\s+(for|the)|query/i.test(g) && !/打开搜索|进入搜索设置/i.test(g)) {
|
|
47
|
+
return {
|
|
48
|
+
intent: 'search',
|
|
49
|
+
confidence: 0.8,
|
|
50
|
+
tokens
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (/输入|填写|键入|打字|type|enter\s+text|fill\s+in|写入/i.test(g) || /输入[「"'].+[」"']/.test(g)) {
|
|
54
|
+
return {
|
|
55
|
+
intent: 'type',
|
|
56
|
+
confidence: 0.82,
|
|
57
|
+
tokens
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (/设置|設定|偏好|语言|語言|主题|外观|locale|language|theme|settings|preferences/i.test(g)) {
|
|
61
|
+
return {
|
|
62
|
+
intent: 'settings',
|
|
63
|
+
confidence: 0.78,
|
|
64
|
+
tokens
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (/滚动|下滑|上滑|滑到底|翻页|scroll|swipe\s*(up|down)|下一屏/i.test(g)) {
|
|
68
|
+
return {
|
|
69
|
+
intent: 'scroll',
|
|
70
|
+
confidence: 0.8,
|
|
71
|
+
tokens
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (/点击|点选|按下|点一下|打开|进入|切换|选择|确认|提交|tap|click|press|open|select|confirm/i.test(g)) {
|
|
75
|
+
return {
|
|
76
|
+
intent: 'tap',
|
|
77
|
+
confidence: 0.75,
|
|
78
|
+
tokens
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
// Bare label goals → tap
|
|
82
|
+
if (tokens.length >= 1 && g.length <= 24) {
|
|
83
|
+
return {
|
|
84
|
+
intent: 'tap',
|
|
85
|
+
confidence: 0.55,
|
|
86
|
+
tokens
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
intent: 'unknown',
|
|
91
|
+
confidence: 0.3,
|
|
92
|
+
tokens
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=intentClassify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["STOP","Set","map","s","toLowerCase","goalTokens","goal","raw","String","trim","out","latin","match","w","n","has","push","cjk","slice","classifyGoalIntent","g","tokens","intent","confidence","test","length"],"sourceRoot":"../../../src","sources":["assist/intentClassify.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { flattenTree } from "../selector/match.js";
|
|
4
|
+
function nodeLabel(n) {
|
|
5
|
+
return (n.text || n.accessibilityLabel || n.testID || '').trim();
|
|
6
|
+
}
|
|
7
|
+
function kindHint(n, intent) {
|
|
8
|
+
const t = `${n.type || ''} ${nodeLabel(n)}`.toLowerCase();
|
|
9
|
+
if (/textinput|textfield|edittext|searchbar|uitextfield|rcttextfield/i.test(t) || intent === 'type' || intent === 'search') {
|
|
10
|
+
if (/textinput|textfield|edittext|search/i.test(t)) return 'field';
|
|
11
|
+
}
|
|
12
|
+
if (/scroll|list|flatlist|collection|table/i.test(t)) return 'scroll';
|
|
13
|
+
if (n.clickable || /button|touchable|pressable/i.test(t)) return 'button';
|
|
14
|
+
return 'other';
|
|
15
|
+
}
|
|
16
|
+
function tokenHit(label, tokens) {
|
|
17
|
+
if (!label || !tokens.length) return 0;
|
|
18
|
+
const soft = label.toLowerCase().replace(/\s+/g, '');
|
|
19
|
+
let best = 0;
|
|
20
|
+
for (const tok of tokens) {
|
|
21
|
+
const t = tok.toLowerCase().replace(/\s+/g, '');
|
|
22
|
+
if (!t) continue;
|
|
23
|
+
if (soft === t) best = Math.max(best, 1);else if (soft.includes(t) && t.length >= 2) {
|
|
24
|
+
best = Math.max(best, 0.55 + 0.35 * (t.length / Math.max(soft.length, 1)));
|
|
25
|
+
} else if (t.includes(soft) && soft.length >= 2) {
|
|
26
|
+
best = Math.max(best, 0.4 + 0.3 * (soft.length / t.length));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return Math.min(1, best);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Rank dump nodes for an on-device assist pass (goal tokens + OCR tokens + intent).
|
|
34
|
+
*/
|
|
35
|
+
export function rankNodesForGoal(tree, opts) {
|
|
36
|
+
const limit = opts.limit ?? 8;
|
|
37
|
+
const goalTok = [...new Set((opts.tokens || []).filter(Boolean))];
|
|
38
|
+
// OCR is supportive only — do not let whole-screen OCR drown the goal.
|
|
39
|
+
const ocrTok = [...new Set((opts.ocrTokens || []).filter(Boolean))].filter(t => !goalTok.some(g => g.toLowerCase() === t.toLowerCase()));
|
|
40
|
+
const flat = flattenTree(tree);
|
|
41
|
+
const scored = [];
|
|
42
|
+
for (const n of flat) {
|
|
43
|
+
if (!n.visible) continue;
|
|
44
|
+
const label = nodeLabel(n);
|
|
45
|
+
if (!label && !n.clickable) continue;
|
|
46
|
+
const goalHit = tokenHit(label || n.testID || '', goalTok);
|
|
47
|
+
const ocrHit = tokenHit(label || n.testID || '', ocrTok);
|
|
48
|
+
// Goal match dominates; OCR contributes at most ~0.35.
|
|
49
|
+
const hit = Math.max(goalHit, ocrHit * 0.35);
|
|
50
|
+
if (hit <= 0 && !(opts.intent === 'scroll' && /scroll|list/i.test(n.type))) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
let score = hit;
|
|
54
|
+
const kind = kindHint(n, opts.intent);
|
|
55
|
+
if (goalHit > 0) score += 0.08; // explicit goal evidence
|
|
56
|
+
if (n.clickable) score += 0.18;else score -= 0.12; // non-clickable text nodes rarely the action target
|
|
57
|
+
if (n.enabled === false) score -= 0.25;
|
|
58
|
+
if (opts.intent === 'tap' || opts.intent === 'search' || opts.intent === 'settings') {
|
|
59
|
+
if (kind === 'button') score += 0.08;
|
|
60
|
+
}
|
|
61
|
+
if (opts.intent === 'type' || opts.intent === 'search') {
|
|
62
|
+
if (kind === 'field') score += 0.15;
|
|
63
|
+
}
|
|
64
|
+
if (opts.intent === 'scroll' && kind === 'scroll') score += 0.2;
|
|
65
|
+
// Prefer mid-screen affordances slightly (not status-bar chrome).
|
|
66
|
+
const cy = n.frame.y + n.frame.height / 2;
|
|
67
|
+
if (cy > 40 && cy < 900) score += 0.03;
|
|
68
|
+
scored.push({
|
|
69
|
+
id: n.id,
|
|
70
|
+
label: label || n.testID || n.type,
|
|
71
|
+
score: Math.min(1, score),
|
|
72
|
+
clickable: !!n.clickable,
|
|
73
|
+
kindHint: kind
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
scored.sort((a, b) => b.score - a.score);
|
|
77
|
+
// Dedupe by label keeping best score
|
|
78
|
+
const seen = new Set();
|
|
79
|
+
const out = [];
|
|
80
|
+
for (const r of scored) {
|
|
81
|
+
const key = r.label.toLowerCase();
|
|
82
|
+
if (seen.has(key)) continue;
|
|
83
|
+
seen.add(key);
|
|
84
|
+
out.push(r);
|
|
85
|
+
if (out.length >= limit) break;
|
|
86
|
+
}
|
|
87
|
+
return out;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/** Compact block for the cloud planner screen model. */
|
|
91
|
+
export function assistHintsModelText(intent, confidence, ranked, ocrTokens, backend, ocrTexts = []) {
|
|
92
|
+
if (!ranked.length && !ocrTokens.length && intent === 'unknown') return '';
|
|
93
|
+
const lines = [`On-device assist (${backend}): intent=${intent} conf=${confidence.toFixed(2)}`];
|
|
94
|
+
if (ranked.length) {
|
|
95
|
+
lines.push('top_candidates:');
|
|
96
|
+
for (const r of ranked.slice(0, 6)) {
|
|
97
|
+
lines.push(`- score=${r.score.toFixed(2)} id=${r.id} label="${r.label.replace(/"/g, '')}" clickable=${r.clickable} kind=${r.kindHint}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (ocrTokens.length) {
|
|
101
|
+
lines.push(`ocr_tokens: ${ocrTokens.slice(0, 16).join(', ')}`);
|
|
102
|
+
}
|
|
103
|
+
const positioned = ocrTexts.filter(hit => hit.text.trim() && hit.frame && hit.frame.width > 0 && hit.frame.height > 0);
|
|
104
|
+
if (positioned.length) {
|
|
105
|
+
lines.push('ocr_targets (visible text; point is window-absolute evidence for tap(point)):');
|
|
106
|
+
for (const hit of positioned.slice(0, 16)) {
|
|
107
|
+
const f = hit.frame;
|
|
108
|
+
const x = Math.round(f.x + f.width / 2);
|
|
109
|
+
const y = Math.round(f.y + f.height / 2);
|
|
110
|
+
lines.push(`- text="${hit.text.replace(/"/g, '')}" point=(${x},${y}) confidence=${hit.confidence.toFixed(2)}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return lines.join('\n');
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=nodeRank.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["flattenTree","nodeLabel","n","text","accessibilityLabel","testID","trim","kindHint","intent","t","type","toLowerCase","test","clickable","tokenHit","label","tokens","length","soft","replace","best","tok","Math","max","includes","min","rankNodesForGoal","tree","opts","limit","goalTok","Set","filter","Boolean","ocrTok","ocrTokens","some","g","flat","scored","visible","goalHit","ocrHit","hit","score","kind","enabled","cy","frame","y","height","push","id","sort","a","b","seen","out","r","key","has","add","assistHintsModelText","confidence","ranked","backend","ocrTexts","lines","toFixed","slice","join","positioned","width","f","x","round"],"sourceRoot":"../../../src","sources":["assist/nodeRank.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function normalized(value) {
|
|
4
|
+
return value.toLocaleLowerCase().replace(/[^\p{L}\p{N}]+/gu, '');
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/** Visible web regions let a short translated action stay scoped to the page. */
|
|
8
|
+
export function visibleWebViewFrames(root) {
|
|
9
|
+
const frames = [];
|
|
10
|
+
const walk = node => {
|
|
11
|
+
if (node.visible === false) return;
|
|
12
|
+
if (/webview/i.test(node.type) && node.frame.width > 0 && node.frame.height > 0) {
|
|
13
|
+
const left = Math.max(root.frame.x, node.frame.x);
|
|
14
|
+
const top = Math.max(root.frame.y, node.frame.y);
|
|
15
|
+
const right = Math.min(root.frame.x + root.frame.width, node.frame.x + node.frame.width);
|
|
16
|
+
const bottom = Math.min(root.frame.y + root.frame.height, node.frame.y + node.frame.height);
|
|
17
|
+
if (right > left && bottom > top) frames.push({
|
|
18
|
+
x: left,
|
|
19
|
+
y: top,
|
|
20
|
+
width: right - left,
|
|
21
|
+
height: bottom - top
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
for (const child of node.children) walk(child);
|
|
25
|
+
};
|
|
26
|
+
walk(root);
|
|
27
|
+
return frames;
|
|
28
|
+
}
|
|
29
|
+
export function ocrHitInFrames(hit, frames) {
|
|
30
|
+
if (!hit.frame) return false;
|
|
31
|
+
const x = hit.frame.x + hit.frame.width / 2,
|
|
32
|
+
y = hit.frame.y + hit.frame.height / 2;
|
|
33
|
+
return frames.some(f => x >= f.x && x <= f.x + f.width && y >= f.y && y <= f.y + f.height);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** Candidate labels are derived only from the user's goal, never screen text. */
|
|
37
|
+
export function goalOcrCandidates(goal) {
|
|
38
|
+
if (/password|passcode|private\s*key|mnemonic|recovery\s*phrase|seed\s*phrase|密码|助记词|私钥|验证码/i.test(goal)) return [];
|
|
39
|
+
const stop = new Set(['please', 'for', 'me', 'my', 'the', 'a', 'an', 'to', 'and', 'then', 'of', 'in', 'on', 'from', 'with']);
|
|
40
|
+
const words = (goal.match(/[A-Za-z][A-Za-z0-9'-]*|[\u3400-\u9fff]{2,16}/g) || []).filter(word => !stop.has(word.toLowerCase())).slice(0, 20);
|
|
41
|
+
const out = [];
|
|
42
|
+
for (const size of [3, 2, 1]) {
|
|
43
|
+
for (let i = 0; i + size <= words.length; i++) {
|
|
44
|
+
const label = words.slice(i, i + size).join(' ');
|
|
45
|
+
if (label.length >= 3 && label.length <= 60 && !out.includes(label)) out.push(label);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Chinese goals often have no spaces between verbs and objects.
|
|
49
|
+
for (const word of words.filter(w => /[\u3400-\u9fff]/.test(w))) {
|
|
50
|
+
for (let length = Math.min(6, word.length); length >= 2; length--) {
|
|
51
|
+
for (let i = 0; i + length <= word.length; i++) {
|
|
52
|
+
const label = word.slice(i, i + length);
|
|
53
|
+
if (!out.includes(label)) out.push(label);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return out.slice(0, 100);
|
|
58
|
+
}
|
|
59
|
+
export function verifiedGoalOcrLabels(goal, root, texts) {
|
|
60
|
+
if (!root) return [];
|
|
61
|
+
const regions = visibleWebViewFrames(root);
|
|
62
|
+
if (!regions.length) return [];
|
|
63
|
+
const onPage = texts.filter(hit => ocrHitInFrames(hit, regions));
|
|
64
|
+
return goalOcrCandidates(goal).filter(label => !!findOcrTextHit(onPage, label, {
|
|
65
|
+
translatedWebRegions: regions
|
|
66
|
+
})).slice(0, 6);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// These are public product names, never account names, addresses or page text.
|
|
70
|
+
export const PUBLIC_WALLET_CHOICES = ['WalletConnect', 'MetaMask', 'Coinbase Wallet', 'Uniswap Mobile', 'Uniswap Wallet', 'Binance Wallet', 'Trust Wallet', 'Phantom', 'OKX Wallet', 'Rabby Wallet', 'OneKey', 'UKey', 'UKey Wallet', 'Solflare'];
|
|
71
|
+
export function walletConnectionAllowed(goal) {
|
|
72
|
+
return /(connect|连接|連接)/i.test(goal) && /(wallet|钱包|錢包)/i.test(goal) && !/\b(?:do not|don't|never|without)\s+(?:connect|link|select|choose)\b|(?:不要|禁止|不|无需|無需)(?:连接|連接|选择|選擇)/i.test(goal) && !/password|passcode|private\s*key|mnemonic|recovery\s*phrase|seed\s*phrase|密码|助记词|私钥|验证码/i.test(goal);
|
|
73
|
+
}
|
|
74
|
+
export function verifiedWalletChoices(goal, root, texts) {
|
|
75
|
+
if (!root || !walletConnectionAllowed(goal)) return [];
|
|
76
|
+
const regions = visibleWebViewFrames(root);
|
|
77
|
+
if (!regions.length) return [];
|
|
78
|
+
const page = texts.filter(hit => ocrHitInFrames(hit, regions));
|
|
79
|
+
// Require a visible chooser heading as well as multiple known product names.
|
|
80
|
+
if (!['connect wallet', '连接钱包', '連接錢包'].some(label => !!findOcrTextHit(page, label))) return [];
|
|
81
|
+
const choices = PUBLIC_WALLET_CHOICES.filter(label => !!findOcrTextHit(page, label));
|
|
82
|
+
return choices.length >= 2 ? choices.slice(0, 8) : [];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Resolve text that is visible in a WebView/Canvas but absent from the native
|
|
87
|
+
* accessibility tree. The frame comes from native OCR and is already in the
|
|
88
|
+
* same window-absolute logical coordinate space used by dispatchTap.
|
|
89
|
+
*/
|
|
90
|
+
export function findOcrTextPoint(texts, wanted) {
|
|
91
|
+
const hit = findOcrTextHit(texts, wanted);
|
|
92
|
+
const frame = hit?.frame;
|
|
93
|
+
return frame ? {
|
|
94
|
+
x: frame.x + frame.width / 2,
|
|
95
|
+
y: frame.y + frame.height / 2
|
|
96
|
+
} : null;
|
|
97
|
+
}
|
|
98
|
+
export function findOcrTextHit(texts, wanted, options = {}) {
|
|
99
|
+
const target = normalized(wanted);
|
|
100
|
+
if (target.length < 2) return null;
|
|
101
|
+
const matches = [];
|
|
102
|
+
for (const hit of texts) {
|
|
103
|
+
const frame = hit.frame;
|
|
104
|
+
if (!frame || ![frame.x, frame.y, frame.width, frame.height, hit.confidence].every(Number.isFinite) || frame.x < 0 || frame.y < 0 || frame.width <= 0 || frame.height <= 0 || hit.confidence < 0.6) continue;
|
|
105
|
+
const text = normalized(hit.text);
|
|
106
|
+
if (text === target) matches.push(hit);
|
|
107
|
+
}
|
|
108
|
+
// A fragment in prose or two equal labels gives no reliable target.
|
|
109
|
+
if (matches.length === 1) return matches[0];
|
|
110
|
+
if (matches.length > 1) return null;
|
|
111
|
+
|
|
112
|
+
// Common translated connect controls. A shortened action word is considered
|
|
113
|
+
// only inside a visible web view, with strong OCR and a single match.
|
|
114
|
+
const connectLabels = new Set(['connect', 'connectwallet', '连接', '连接钱包', '連接', '連接錢包']);
|
|
115
|
+
const regions = options.translatedWebRegions || [];
|
|
116
|
+
if (!connectLabels.has(target) || !regions.length) return null;
|
|
117
|
+
const translated = texts.filter(hit => {
|
|
118
|
+
const f = hit.frame;
|
|
119
|
+
return connectLabels.has(normalized(hit.text)) && f && [f.x, f.y, f.width, f.height, hit.confidence].every(Number.isFinite) && f.x >= 0 && f.y >= 0 && f.width > 0 && f.height > 0 && hit.confidence >= 0.8 && ocrHitInFrames(hit, regions);
|
|
120
|
+
});
|
|
121
|
+
return translated.length === 1 ? translated[0] : null;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=ocrTarget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["normalized","value","toLocaleLowerCase","replace","visibleWebViewFrames","root","frames","walk","node","visible","test","type","frame","width","height","left","Math","max","x","top","y","right","min","bottom","push","child","children","ocrHitInFrames","hit","some","f","goalOcrCandidates","goal","stop","Set","words","match","filter","word","has","toLowerCase","slice","out","size","i","length","label","join","includes","w","verifiedGoalOcrLabels","texts","regions","onPage","findOcrTextHit","translatedWebRegions","PUBLIC_WALLET_CHOICES","walletConnectionAllowed","verifiedWalletChoices","page","choices","findOcrTextPoint","wanted","options","target","matches","confidence","every","Number","isFinite","text","connectLabels","translated"],"sourceRoot":"../../../src","sources":["assist/ocrTarget.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { ocrHitInFrames, visibleWebViewFrames } from "./ocrTarget.js";
|
|
4
|
+
/** Local-only text sets: callers may report only whether content changed. */
|
|
5
|
+
export function webVisualLabels(root, hits) {
|
|
6
|
+
if (!root) return null;
|
|
7
|
+
const frames = visibleWebViewFrames(root);
|
|
8
|
+
if (!frames.length) return null;
|
|
9
|
+
const labels = new Set();
|
|
10
|
+
for (const hit of hits) {
|
|
11
|
+
if (hit.confidence < 0.7 || !ocrHitInFrames(hit, frames)) continue;
|
|
12
|
+
const text = hit.text.trim().toLocaleLowerCase().replace(/\s+/g, ' ');
|
|
13
|
+
// Ignore prices, counts and other rapidly changing numeric-only strings.
|
|
14
|
+
if (text.length >= 2 && /[\p{L}]/u.test(text)) labels.add(text);
|
|
15
|
+
}
|
|
16
|
+
return labels.size ? labels : null;
|
|
17
|
+
}
|
|
18
|
+
export function webVisualChanged(before, after) {
|
|
19
|
+
if (!before || !after) return false;
|
|
20
|
+
let additions = 0;
|
|
21
|
+
for (const text of after) if (!before.has(text)) additions++;
|
|
22
|
+
return additions >= 2;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=webVisualChange.js.map
|