@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":["_reactNative","require","_gate","_redact","_sensitiveScreen","_screenModel","_HostActions","_userGate","_GatewayClient","_UsageBus","_AccountStore","_ExecutionGuard","_AgentDebug","_scrollViewport","_TaskStore","_loopDetect","_ExplorationGraph","_RunCheckpoint","_ActionOutcomeUnknownError","_OperationReplayGuard","_recentSearch","_webResultCategory","_walletChoiceGuard","_index","_OnDeviceAssist","_NativeBridge","_webVisualChange","_ocrTarget","SOFT_MAX_STEPS","HARD_MAX_STEPS","affordanceLabels","tree","extractAffordances","map","a","label","AgentSession","history","stopped","running","operationReplayGuard","OperationReplayGuard","constructor","agent","opts","gateway","GatewayClient","token","baseUrl","stop","cancelPendingActions","uiLocale","currentLocale","locale","getConfig","text","key","vars","runtimeText","message","assertRunning","Error","run","goal","acquired","acquireSession","runInternal","releaseSession","reset","sessionId","undefined","startTask","cfg","AgentDebug","runStart","resumedFromReload","log","plannerGoal","finishTask","success","summary","steps","preflightOk","runPreflightConfirm","confirmation","onConfirmSensitive","stepBudget","userReply","awaitingObservationVerdict","activeGoal","began","beginSession","session_id","ExecutionGuard","setPermit","execution_permit","initialGate","waitForAppUserGateIfNeeded","ExplorationGraph","ensureLoaded","exploreQuery","goalExploreQuery","step","RunCheckpoint","touch","catch","length","isLooping","Math","min","gateWait","safeDump","detectAppUserGate","setPlanningTree","outline","viewTreeOutline","gate","visibleHosts","filterVisibleHostActions","HostActionsStore","getActions","exploreHints","hintLabelsTowardGoal","targetTokens","assist","buildOnDeviceAssist","hostWalletAliases","webWalletAliases","walletChoices","frame","visibleWebViewFrames","flags","NativeBridge","inspectWebWalletProvider","x","width","y","height","present","hasRequest","isMetaMask","filter","alias","hostModel","hostActionsModelText","exploreHintsModelText","userGateModelText","modelText","Boolean","join","model","screenModelText","enabled","console","intent","backend","ranked","ocrTokens","texts","walk","n","t","accessibilityLabel","trim","push","testID","c","children","uniq","Set","slice","screenCapabilities","planningLocale","gatewayLocale","next","nextWithRetry","hasHandoff","ui_tree","ui_outline","ui_screen_model","local_ocr_goal_labels","goalOcrLabels","local_ocr_wallet_choices","local_web_wallet_aliases","user_reply","platform","Platform","OS","error","SensitiveScreenError","markHandoff","pushHistory","tool","args","UsageBus","emit","type","action","at","Date","now","appAction","actionDetail","recentAction","recentSearchAction","webResultCategory","hostWalletChoice","aliases","includes","attempted","some","item","String","toLocaleLowerCase","target","find","match","exact","ocrHitInFrames","confidence","nodeId","id","narration","onNarration","wrongHostWalletChoice","observedOcrLabel","runEnd","request","question","w","forceMessage","minWaitMs","beforeSnap","screenSnapshotLine","webTap","startsWith","beforeWeb","webVisualLabels","beforeLabels","blocks","exec","executeWithRetry","ok","record","sleep","after","snap","TaskStore","liftChrome","sensitiveScreenKind","tapLabel","lastTapViaHost","recordTransition","beforePosition","scrollPosition","from","afterPosition","result","resultWithObs","changedWeb","webVisualChanged","viaHost","lastThree","every","h","e","diagnostic","copy","ActionOutcomeUnknownError","ActionValidationError","localizedMessage","failureMessage","resolveText","GatewayError","code","quota","AccountStore","refresh","runIssue","clear","body","maxAttempts","last","i","msg","status","retryable","test","attempt","total","dump","silent","items","isAvailable","ocr","recognizeScreenText","maxTokens","hideOverlays","gateMessageValue","setUserGateWaiting","waitNode","appendNode","kind","title","timeout","userGateTimeoutMs","pollMs","started","minWait","checkedResumeAt","fingerprint","AppUserGateStore","wasManuallyResumedSince","current","getHostGate","updateNode","feedback","g2","fp2","nextMsg","readOnly","configured","localRetries","retries","Number","isFinite","max","floor","executeOnce","selector","index","currentTree","node","JSON","stringify","clickable","selected","visible","secure","tap","point","options","revealIfNeeded","swipe","to","pinch","center","scale","root","exports","first","ms","Promise","r","setTimeout"],"sourceRoot":"../../../src","sources":["client/AgentSession.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GatewayError = exports.GatewayClient = void 0;
|
|
7
|
+
exports.resolveGatewayBaseUrl = resolveGatewayBaseUrl;
|
|
8
|
+
exports.safePlannerModel = safePlannerModel;
|
|
9
|
+
exports.toLocalAgentAction = toLocalAgentAction;
|
|
10
|
+
var _userGate = require("../privacy/userGate.js");
|
|
11
|
+
var _trust = require("../commercial/trust.js");
|
|
12
|
+
var _devMode = require("../commercial/devMode.js");
|
|
13
|
+
var _NativeBridge = require("../native/NativeBridge.js");
|
|
14
|
+
var _sensitiveScreen = require("../privacy/sensitiveScreen.js");
|
|
15
|
+
var _redact = require("../privacy/redact.js");
|
|
16
|
+
var _screenModel = require("../privacy/screenModel.js");
|
|
17
|
+
var _OnDeviceAssist = require("../assist/OnDeviceAssist.js");
|
|
18
|
+
var _HostActions = require("../host/HostActions.js");
|
|
19
|
+
var _ExplorationGraph = require("../explore/ExplorationGraph.js");
|
|
20
|
+
var _match = require("../selector/match.js");
|
|
21
|
+
var _ocrTarget = require("../assist/ocrTarget.js");
|
|
22
|
+
const DEFAULT_GATEWAY = 'https://sdk.intentcomputing.net';
|
|
23
|
+
function resolveGatewayBaseUrl(cfg) {
|
|
24
|
+
const raw = (cfg.baseUrl?.trim() || DEFAULT_GATEWAY).replace(/\/$/, '');
|
|
25
|
+
const check = (0, _trust.isAllowedGatewayUrl)(raw, (0, _devMode.allowLocalGatewayForDebugClient)());
|
|
26
|
+
if (!check.ok) {
|
|
27
|
+
throw new Error(`KokoAgent: ${check.reason}`);
|
|
28
|
+
}
|
|
29
|
+
return raw;
|
|
30
|
+
}
|
|
31
|
+
/** Build hints from the same redacted tree that crosses the upload boundary. */
|
|
32
|
+
function safePlannerModel(tree, goal, localOcrGoalLabels = [], localWalletChoices = [], hostWalletAliases = []) {
|
|
33
|
+
const affordances = (0, _screenModel.extractAffordances)(tree, 80);
|
|
34
|
+
const labels = affordances.map(a => a.label);
|
|
35
|
+
const hosts = (0, _HostActions.filterVisibleHostActions)(_HostActions.HostActionsStore.getActions(), tree).flatMap(action => {
|
|
36
|
+
const visible = affordances.find(a => {
|
|
37
|
+
if (action.testID) return (0, _match.findNodeById)(tree, a.nodeId)?.testID === action.testID;
|
|
38
|
+
return [action.label, action.text, ...(action.aliases || [])].some(label => label === a.label);
|
|
39
|
+
});
|
|
40
|
+
if (!visible) return [];
|
|
41
|
+
const kind = ['button', 'tab', 'nav', 'field', 'sheet', 'other'].includes(action.kind || '') ? action.kind : 'button';
|
|
42
|
+
return [{
|
|
43
|
+
...action,
|
|
44
|
+
kind,
|
|
45
|
+
label: visible.label,
|
|
46
|
+
text: visible.label,
|
|
47
|
+
testID: (0, _match.findNodeById)(tree, visible.nodeId)?.testID,
|
|
48
|
+
aliases: []
|
|
49
|
+
}];
|
|
50
|
+
});
|
|
51
|
+
const possibleHints = _ExplorationGraph.ExplorationGraph.hintLabelsTowardGoal(labels, (0, _ExplorationGraph.goalExploreQuery)(goal).targetTokens, 6);
|
|
52
|
+
// Historical pages may contain data no longer visible. Only the current
|
|
53
|
+
// screen's exact public labels may be carried into the request.
|
|
54
|
+
const hints = possibleHints.filter(hint => labels.includes(hint));
|
|
55
|
+
const assist = (0, _OnDeviceAssist.buildOnDeviceAssistSync)(goal, tree);
|
|
56
|
+
const allowedLabels = new Set((0, _ocrTarget.goalOcrCandidates)(goal));
|
|
57
|
+
const verified = (0, _ocrTarget.visibleWebViewFrames)(tree).length && Array.isArray(localOcrGoalLabels) ? [...new Set(localOcrGoalLabels)].filter(label => typeof label === 'string' && allowedLabels.has(label)).slice(0, 6) : [];
|
|
58
|
+
const ocrHints = verified.map(label => `- [local-ocr] A visible web text matched the goal-derived label 「${label}」 on this device. ` + 'Use find with one text rule to confirm it. When the user requested an action, its returned nodeId can be used to tap. No raw OCR text is included.').join('\n');
|
|
59
|
+
const allowedChoices = new Set(_ocrTarget.PUBLIC_WALLET_CHOICES);
|
|
60
|
+
const choices = (0, _ocrTarget.visibleWebViewFrames)(tree).length && (0, _ocrTarget.walletConnectionAllowed)(goal) && Array.isArray(localWalletChoices) ? [...new Set(localWalletChoices)].filter(label => allowedChoices.has(label)).slice(0, 8) : [];
|
|
61
|
+
const choiceHint = choices.length >= 2 ? `- [local-wallet-choices] Visible public wallet options verified on-device: ${choices.join(', ')}. Use find with the exact option label; actual authorization stays with the user.` : '';
|
|
62
|
+
const aliases = Array.isArray(hostWalletAliases) ? hostWalletAliases.filter(label => choices.includes(label)) : [];
|
|
63
|
+
const aliasHint = aliases.length ? `- [host-wallet-alias] Host confirms its injected wallet appears as: ${aliases.join(', ')}. Select that visible option for the host wallet.` : '';
|
|
64
|
+
const unavailableHint = choices.length >= 2 && hostWalletAliases.length && !aliases.length ? '- [host-wallet-unavailable] None of the visible options matches the host wallet. Do not select a different wallet. If the host browser offers a desktop-site mode, try it and recheck the wallet chooser; otherwise report the unavailable option.' : '';
|
|
65
|
+
const extras = [(0, _HostActions.hostActionsModelText)(hosts), (0, _ExplorationGraph.exploreHintsModelText)(hints), assist.modelText, ocrHints, choiceHint, aliasHint, unavailableHint].filter(Boolean).join('\n');
|
|
66
|
+
return (0, _screenModel.screenModelText)(tree, 40, extras || undefined);
|
|
67
|
+
}
|
|
68
|
+
class GatewayError extends Error {
|
|
69
|
+
constructor(message, opts) {
|
|
70
|
+
super(message);
|
|
71
|
+
this.name = 'GatewayError';
|
|
72
|
+
this.code = opts.code;
|
|
73
|
+
this.status = opts.status;
|
|
74
|
+
this.quota = opts.quota;
|
|
75
|
+
this.plan = opts.plan;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.GatewayError = GatewayError;
|
|
79
|
+
class GatewayClient {
|
|
80
|
+
constructor(cfg) {
|
|
81
|
+
this.baseUrl = resolveGatewayBaseUrl(cfg);
|
|
82
|
+
this.token = cfg.token;
|
|
83
|
+
this.appId = (cfg.appId?.trim() || _NativeBridge.NativeBridge.hostAppId() || '').trim();
|
|
84
|
+
}
|
|
85
|
+
getBaseUrl() {
|
|
86
|
+
return this.baseUrl;
|
|
87
|
+
}
|
|
88
|
+
getAppId() {
|
|
89
|
+
return this.appId;
|
|
90
|
+
}
|
|
91
|
+
authHeaders() {
|
|
92
|
+
const headers = {
|
|
93
|
+
Authorization: `Bearer ${this.token}`,
|
|
94
|
+
'Content-Type': 'application/json'
|
|
95
|
+
};
|
|
96
|
+
if (this.appId) headers['X-Koko-App-Id'] = this.appId;
|
|
97
|
+
return headers;
|
|
98
|
+
}
|
|
99
|
+
async parseError(res, fallback) {
|
|
100
|
+
let json = {};
|
|
101
|
+
try {
|
|
102
|
+
json = await res.json();
|
|
103
|
+
} catch {
|
|
104
|
+
// ignore
|
|
105
|
+
}
|
|
106
|
+
throw new GatewayError(json.message || json.error || fallback, {
|
|
107
|
+
code: json.error || 'error',
|
|
108
|
+
status: res.status,
|
|
109
|
+
quota: json.quota,
|
|
110
|
+
plan: json.plan
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
async health() {
|
|
114
|
+
const res = await fetch(`${this.baseUrl}/v1/health`);
|
|
115
|
+
if (!res.ok) throw new Error(`health ${res.status}`);
|
|
116
|
+
return await res.json();
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/** Open session + initial execution permit (before first dump). */
|
|
120
|
+
async beginSession(sessionId) {
|
|
121
|
+
const res = await fetch(`${this.baseUrl}/v1/agent/session`, {
|
|
122
|
+
method: 'POST',
|
|
123
|
+
headers: this.authHeaders(),
|
|
124
|
+
body: JSON.stringify(sessionId ? {
|
|
125
|
+
session_id: sessionId
|
|
126
|
+
} : {})
|
|
127
|
+
});
|
|
128
|
+
if (!res.ok) await this.parseError(res, `session ${res.status}`);
|
|
129
|
+
const json = await res.json();
|
|
130
|
+
if (!json.session_id || !json.execution_permit) {
|
|
131
|
+
throw new GatewayError('invalid session response', {
|
|
132
|
+
code: 'invalid_response',
|
|
133
|
+
status: res.status
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
ok: true,
|
|
138
|
+
session_id: json.session_id,
|
|
139
|
+
execution_permit: json.execution_permit
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
async me() {
|
|
143
|
+
const res = await fetch(`${this.baseUrl}/v1/me`, {
|
|
144
|
+
headers: this.authHeaders()
|
|
145
|
+
});
|
|
146
|
+
const json = await res.json();
|
|
147
|
+
if (!res.ok) {
|
|
148
|
+
throw new GatewayError(json.message || json.error || `me ${res.status}`, {
|
|
149
|
+
code: json.error || 'unauthorized',
|
|
150
|
+
status: res.status
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
const plan = json.plan || 'free';
|
|
154
|
+
const entitlements = {
|
|
155
|
+
custom_branding: json.entitlements?.custom_branding === true,
|
|
156
|
+
locale: json.entitlements?.locale !== false
|
|
157
|
+
};
|
|
158
|
+
const daily = json.quota?.daily ?? 0;
|
|
159
|
+
const used = json.quota?.used_today ?? 0;
|
|
160
|
+
return {
|
|
161
|
+
plan,
|
|
162
|
+
region: json.region,
|
|
163
|
+
provider: json.provider,
|
|
164
|
+
entitlements,
|
|
165
|
+
quota: {
|
|
166
|
+
daily,
|
|
167
|
+
used_today: used,
|
|
168
|
+
remaining: json.quota?.remaining ?? Math.max(0, daily - used)
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
async usage(limit = 50) {
|
|
173
|
+
const res = await fetch(`${this.baseUrl}/v1/usage?limit=${limit}`, {
|
|
174
|
+
headers: this.authHeaders()
|
|
175
|
+
});
|
|
176
|
+
const json = await res.json();
|
|
177
|
+
if (!res.ok) {
|
|
178
|
+
throw new GatewayError(json.message || json.error || `usage ${res.status}`, {
|
|
179
|
+
code: json.error || 'error',
|
|
180
|
+
status: res.status
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
return {
|
|
184
|
+
plan: json.plan || 'free',
|
|
185
|
+
quota: json.quota || {
|
|
186
|
+
daily: 0,
|
|
187
|
+
used_today: 0,
|
|
188
|
+
remaining: 0
|
|
189
|
+
},
|
|
190
|
+
events: json.events || []
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
async next(body) {
|
|
194
|
+
const supplied = body.ui_tree;
|
|
195
|
+
let live;
|
|
196
|
+
if (_NativeBridge.NativeBridge.isAvailable()) {
|
|
197
|
+
// Fail closed if the current screen cannot be checked. Never send a
|
|
198
|
+
// cached safe screen while a newly presented secret page is visible.
|
|
199
|
+
live = await _NativeBridge.NativeBridge.dump({
|
|
200
|
+
maxDepth: 100
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
const gate = _userGate.AppUserGateStore.getHostGate();
|
|
204
|
+
if (gate && ['recovery_phrase', 'private_key', 'password', 'pin', 'otp', 'secure_input'].includes(gate.kind) || (0, _sensitiveScreen.sensitiveScreenKind)(live) || (0, _sensitiveScreen.sensitiveScreenKind)(supplied)) throw new _sensitiveScreen.SensitiveScreenError();
|
|
205
|
+
const safeTree = supplied ? (0, _redact.redactViewTreeClient)(supplied) : undefined;
|
|
206
|
+
const safeBody = (0, _redact.redactOutbound)({
|
|
207
|
+
session_id: body.session_id,
|
|
208
|
+
goal: body.goal,
|
|
209
|
+
history: body.history,
|
|
210
|
+
locale: body.locale,
|
|
211
|
+
user_reply: body.user_reply,
|
|
212
|
+
platform: body.platform,
|
|
213
|
+
ui_tree: safeTree,
|
|
214
|
+
// Build every visual hint from the redacted tree, never caller-provided
|
|
215
|
+
// model strings, unverified OCR text or historical off-screen labels.
|
|
216
|
+
ui_outline: safeTree ? (0, _redact.viewTreeOutline)(safeTree) : undefined,
|
|
217
|
+
ui_screen_model: safeTree ? safePlannerModel(safeTree, body.goal, body.local_ocr_goal_labels, body.local_ocr_wallet_choices, body.local_web_wallet_aliases) : undefined
|
|
218
|
+
}, [live, supplied]);
|
|
219
|
+
const res = await fetch(`${this.baseUrl}/v1/agent/next`, {
|
|
220
|
+
method: 'POST',
|
|
221
|
+
headers: this.authHeaders(),
|
|
222
|
+
body: JSON.stringify(safeBody)
|
|
223
|
+
});
|
|
224
|
+
const json = await res.json();
|
|
225
|
+
if (!res.ok || !('ok' in json) || json.ok !== true) {
|
|
226
|
+
const err = json;
|
|
227
|
+
throw new GatewayError(err.message || err.error || `gateway ${res.status}`, {
|
|
228
|
+
code: err.error || 'error',
|
|
229
|
+
status: res.status,
|
|
230
|
+
quota: err.quota,
|
|
231
|
+
plan: err.plan
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
if (!json.execution_permit) {
|
|
235
|
+
throw new GatewayError('invalid agent response', {
|
|
236
|
+
code: 'invalid_response',
|
|
237
|
+
status: res.status
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
return json;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
exports.GatewayClient = GatewayClient;
|
|
244
|
+
function toLocalAgentAction(action) {
|
|
245
|
+
switch (action.tool) {
|
|
246
|
+
case 'dump':
|
|
247
|
+
return {
|
|
248
|
+
tool: 'dump'
|
|
249
|
+
};
|
|
250
|
+
case 'find':
|
|
251
|
+
return {
|
|
252
|
+
tool: 'find',
|
|
253
|
+
args: {
|
|
254
|
+
selector: {
|
|
255
|
+
match: action.args.match,
|
|
256
|
+
index: action.args.index
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
case 'tap':
|
|
261
|
+
return {
|
|
262
|
+
tool: 'tap',
|
|
263
|
+
args: {
|
|
264
|
+
selector: action.args.selector,
|
|
265
|
+
nodeId: action.args.nodeId,
|
|
266
|
+
point: action.args.point,
|
|
267
|
+
options: undefined
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
case 'swipe':
|
|
271
|
+
return {
|
|
272
|
+
tool: 'swipe',
|
|
273
|
+
args: {
|
|
274
|
+
from: action.args.from,
|
|
275
|
+
to: action.args.to
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
case 'pinch':
|
|
279
|
+
return {
|
|
280
|
+
tool: 'pinch',
|
|
281
|
+
args: {
|
|
282
|
+
center: action.args.center,
|
|
283
|
+
scale: action.args.scale
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
case 'type':
|
|
287
|
+
return {
|
|
288
|
+
tool: 'type',
|
|
289
|
+
args: {
|
|
290
|
+
text: action.args.text,
|
|
291
|
+
selector: action.args.selector,
|
|
292
|
+
nodeId: action.args.nodeId,
|
|
293
|
+
options: {
|
|
294
|
+
clear: action.args.clear
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
default:
|
|
299
|
+
return null;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=GatewayClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_userGate","require","_trust","_devMode","_NativeBridge","_sensitiveScreen","_redact","_screenModel","_OnDeviceAssist","_HostActions","_ExplorationGraph","_match","_ocrTarget","DEFAULT_GATEWAY","resolveGatewayBaseUrl","cfg","raw","baseUrl","trim","replace","check","isAllowedGatewayUrl","allowLocalGatewayForDebugClient","ok","Error","reason","safePlannerModel","tree","goal","localOcrGoalLabels","localWalletChoices","hostWalletAliases","affordances","extractAffordances","labels","map","a","label","hosts","filterVisibleHostActions","HostActionsStore","getActions","flatMap","action","visible","find","testID","findNodeById","nodeId","text","aliases","some","kind","includes","possibleHints","ExplorationGraph","hintLabelsTowardGoal","goalExploreQuery","targetTokens","hints","filter","hint","assist","buildOnDeviceAssistSync","allowedLabels","Set","goalOcrCandidates","verified","visibleWebViewFrames","length","Array","isArray","has","slice","ocrHints","join","allowedChoices","PUBLIC_WALLET_CHOICES","choices","walletConnectionAllowed","choiceHint","aliasHint","unavailableHint","extras","hostActionsModelText","exploreHintsModelText","modelText","Boolean","screenModelText","undefined","GatewayError","constructor","message","opts","name","code","status","quota","plan","exports","GatewayClient","token","appId","NativeBridge","hostAppId","getBaseUrl","getAppId","authHeaders","headers","Authorization","parseError","res","fallback","json","error","health","fetch","beginSession","sessionId","method","body","JSON","stringify","session_id","execution_permit","me","entitlements","custom_branding","locale","daily","used","used_today","region","provider","remaining","Math","max","usage","limit","events","next","supplied","ui_tree","live","isAvailable","dump","maxDepth","gate","AppUserGateStore","getHostGate","sensitiveScreenKind","SensitiveScreenError","safeTree","redactViewTreeClient","safeBody","redactOutbound","history","user_reply","platform","ui_outline","viewTreeOutline","ui_screen_model","local_ocr_goal_labels","local_ocr_wallet_choices","local_web_wallet_aliases","err","toLocalAgentAction","tool","args","selector","match","index","point","options","from","to","center","scale","clear"],"sourceRoot":"../../../src","sources":["client/GatewayClient.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.OperationReplayGuard = void 0;
|
|
7
|
+
var _match = require("../selector/match.js");
|
|
8
|
+
var _sensitiveScreen = require("../privacy/sensitiveScreen.js");
|
|
9
|
+
// Operation entries, not ordinary Next/Continue controls reused by wizards.
|
|
10
|
+
const OPERATION = /创建|新建|添加|导入|备份|导出|提交|支付|转账|购买|删除|注销|\b(create|add|import|backup|back\s+up|export|submit|pay|transfer|buy|delete)\b/i;
|
|
11
|
+
function hash(text) {
|
|
12
|
+
let h = 2166136261;
|
|
13
|
+
for (const c of text) h = Math.imul(h ^ c.charCodeAt(0), 16777619);
|
|
14
|
+
return (h >>> 0).toString(16);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** Keep only hashes of prior public operation entries across privacy purges. */
|
|
18
|
+
class OperationReplayGuard {
|
|
19
|
+
attempts = new Set();
|
|
20
|
+
hasHandoff = false;
|
|
21
|
+
reset() {
|
|
22
|
+
this.attempts.clear();
|
|
23
|
+
this.hasHandoff = false;
|
|
24
|
+
}
|
|
25
|
+
markHandoff() {
|
|
26
|
+
this.hasHandoff = true;
|
|
27
|
+
}
|
|
28
|
+
key(action, tree) {
|
|
29
|
+
if (action.tool !== 'tap' || !tree || (0, _sensitiveScreen.sensitiveScreenKind)(tree)) return null;
|
|
30
|
+
const node = action.args.nodeId ? (0, _match.findNodeById)(tree, action.args.nodeId) : action.args.selector ? (0, _match.find)(tree, action.args.selector) : null;
|
|
31
|
+
const selectorText = action.args.selector?.match.map(rule => 'text' in rule ? rule.text : 'accessibilityLabel' in rule ? rule.accessibilityLabel : '').filter(Boolean).join(' ');
|
|
32
|
+
const label = (node?.text || node?.accessibilityLabel || selectorText || action.args.label?.match(/[「“"]([^」”"]+)[」”"]/)?.[1] || action.args.label || '').trim();
|
|
33
|
+
if (!OPERATION.test(label)) return null;
|
|
34
|
+
// Public banners, prices and loading copy can change while the operation
|
|
35
|
+
// remains the same. Only an explicit host identity separates operations;
|
|
36
|
+
// native path IDs are snapshot-local and must not reset replay protection.
|
|
37
|
+
let identity = node?.testID || '';
|
|
38
|
+
if (node && !identity) {
|
|
39
|
+
const locate = parent => {
|
|
40
|
+
for (const child of parent.children) {
|
|
41
|
+
if (child.id === node.id || locate(child)) {
|
|
42
|
+
if (!identity && parent.testID) identity = parent.testID;
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
};
|
|
48
|
+
locate(tree);
|
|
49
|
+
}
|
|
50
|
+
return hash(`${label.replace(/\s+/g, ' ').toLocaleLowerCase()}\n${identity}`);
|
|
51
|
+
}
|
|
52
|
+
record(action, tree) {
|
|
53
|
+
const key = this.key(action, tree);
|
|
54
|
+
if (key) this.attempts.add(key);
|
|
55
|
+
}
|
|
56
|
+
blocks(action, tree) {
|
|
57
|
+
const key = this.key(action, tree);
|
|
58
|
+
return this.hasHandoff && !!key && this.attempts.has(key);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.OperationReplayGuard = OperationReplayGuard;
|
|
62
|
+
//# sourceMappingURL=OperationReplayGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_match","require","_sensitiveScreen","OPERATION","hash","text","h","c","Math","imul","charCodeAt","toString","OperationReplayGuard","attempts","Set","hasHandoff","reset","clear","markHandoff","key","action","tree","tool","sensitiveScreenKind","node","args","nodeId","findNodeById","selector","find","selectorText","match","map","rule","accessibilityLabel","filter","Boolean","join","label","trim","test","identity","testID","locate","parent","child","children","id","replace","toLocaleLowerCase","record","add","blocks","has","exports"],"sourceRoot":"../../../src","sources":["client/OperationReplayGuard.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RunCheckpoint = exports.RESUME_MAX_ATTEMPTS = exports.RESUME_MAX_AGE_MS = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Survive a JS-context restart mid-run.
|
|
9
|
+
*
|
|
10
|
+
* Some actions destroy the runtime that is performing them: changing locale or
|
|
11
|
+
* theme, toggling RTL, flipping a feature flag, anything the host answers with
|
|
12
|
+
* a root remount or `reloadAsync`. The tap succeeds, the App comes back — but
|
|
13
|
+
* the `runGoal` promise, its session and the whole TaskStore died with the old
|
|
14
|
+
* context, so the caller can never learn the outcome.
|
|
15
|
+
*
|
|
16
|
+
* So checkpoint the goal to disk while it runs. On the next SDK init a fresh
|
|
17
|
+
* checkpoint means "we were interrupted", and the run can be picked up again
|
|
18
|
+
* from whatever screen the App came back on.
|
|
19
|
+
*
|
|
20
|
+
* Storage is best-effort: without AsyncStorage this degrades to memory, which
|
|
21
|
+
* cannot survive a reload. That is the same tradeoff ExplorationGraph makes —
|
|
22
|
+
* a missing optional peer must not break a run, only reduce it.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
function tryAsyncStorage() {
|
|
26
|
+
try {
|
|
27
|
+
// Optional peer — many RN hosts already ship it.
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
29
|
+
const mod = require('@react-native-async-storage/async-storage');
|
|
30
|
+
const store = mod?.default ?? mod;
|
|
31
|
+
if (store && typeof store.getItem === 'function') return store;
|
|
32
|
+
} catch {
|
|
33
|
+
// optional
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const KEY = 'koko.run.checkpoint.v1';
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* A reload takes a second or two. Anything older than this was not an
|
|
41
|
+
* interruption — it is a run that died for some other reason (force quit,
|
|
42
|
+
* crash, the user walking away), and silently driving the UI on next launch
|
|
43
|
+
* would be surprising rather than helpful.
|
|
44
|
+
*/
|
|
45
|
+
const RESUME_MAX_AGE_MS = exports.RESUME_MAX_AGE_MS = 90_000;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* One resume per goal. If the goal itself is what reloads the App, resuming it
|
|
49
|
+
* reloads again; without a cap that is an infinite loop across launches.
|
|
50
|
+
*/
|
|
51
|
+
const RESUME_MAX_ATTEMPTS = exports.RESUME_MAX_ATTEMPTS = 1;
|
|
52
|
+
let memory = null;
|
|
53
|
+
// Storage implementations need not complete writes in invocation order. Keep
|
|
54
|
+
// read/claim/write in one queue so an older clear cannot erase a newer run.
|
|
55
|
+
let storageQueue = Promise.resolve();
|
|
56
|
+
function serialized(operation) {
|
|
57
|
+
const result = storageQueue.then(operation);
|
|
58
|
+
storageQueue = result.catch(() => {});
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
async function write(data) {
|
|
62
|
+
memory = data;
|
|
63
|
+
const storage = tryAsyncStorage();
|
|
64
|
+
if (!storage) return;
|
|
65
|
+
try {
|
|
66
|
+
if (data) await storage.setItem(KEY, JSON.stringify(data));else await storage.removeItem(KEY);
|
|
67
|
+
} catch {
|
|
68
|
+
// best-effort
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function read() {
|
|
72
|
+
const storage = tryAsyncStorage();
|
|
73
|
+
if (!storage) return memory;
|
|
74
|
+
try {
|
|
75
|
+
const raw = await storage.getItem(KEY);
|
|
76
|
+
if (!raw) return null;
|
|
77
|
+
const parsed = JSON.parse(raw);
|
|
78
|
+
if (!parsed || typeof parsed.goal !== 'string' || !parsed.goal) return null;
|
|
79
|
+
return {
|
|
80
|
+
goal: parsed.goal,
|
|
81
|
+
startedAt: Number(parsed.startedAt) || 0,
|
|
82
|
+
updatedAt: Number(parsed.updatedAt) || Number(parsed.startedAt) || 0,
|
|
83
|
+
resumes: Number(parsed.resumes) || 0
|
|
84
|
+
};
|
|
85
|
+
} catch {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const RunCheckpoint = exports.RunCheckpoint = {
|
|
90
|
+
/** Mark a goal as in flight. `resumes` carries over when resuming. */
|
|
91
|
+
begin(goal, resumes = 0) {
|
|
92
|
+
return serialized(async () => {
|
|
93
|
+
const now = Date.now();
|
|
94
|
+
await write({
|
|
95
|
+
goal,
|
|
96
|
+
startedAt: now,
|
|
97
|
+
updatedAt: now,
|
|
98
|
+
resumes
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
/** Keep the checkpoint fresh while the loop makes progress. */
|
|
103
|
+
touch() {
|
|
104
|
+
return serialized(async () => {
|
|
105
|
+
if (!memory) return;
|
|
106
|
+
await write({
|
|
107
|
+
...memory,
|
|
108
|
+
updatedAt: Date.now()
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
},
|
|
112
|
+
/** The run reached a verdict — nothing left to resume. */
|
|
113
|
+
clear() {
|
|
114
|
+
return serialized(async () => {
|
|
115
|
+
if (!memory && !tryAsyncStorage()) return;
|
|
116
|
+
await write(null);
|
|
117
|
+
});
|
|
118
|
+
},
|
|
119
|
+
/**
|
|
120
|
+
* Claim an interrupted run, if there is one worth resuming.
|
|
121
|
+
*
|
|
122
|
+
* Clears before returning: a resume that dies the same way must not be
|
|
123
|
+
* claimed again on the next launch.
|
|
124
|
+
*/
|
|
125
|
+
async claimResumable(opts) {
|
|
126
|
+
return serialized(async () => {
|
|
127
|
+
const maxAgeMs = opts?.maxAgeMs ?? RESUME_MAX_AGE_MS;
|
|
128
|
+
const maxAttempts = opts?.maxAttempts ?? RESUME_MAX_ATTEMPTS;
|
|
129
|
+
const now = opts?.now ?? Date.now();
|
|
130
|
+
const found = await read();
|
|
131
|
+
await write(null);
|
|
132
|
+
if (!found) return null;
|
|
133
|
+
if (found.resumes >= maxAttempts) return null;
|
|
134
|
+
if (!Number.isFinite(found.updatedAt) || !found.updatedAt || now < found.updatedAt || now - found.updatedAt > maxAgeMs || !Number.isFinite(found.resumes) || found.resumes < 0) return null;
|
|
135
|
+
return found;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=RunCheckpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tryAsyncStorage","mod","require","store","default","getItem","KEY","RESUME_MAX_AGE_MS","exports","RESUME_MAX_ATTEMPTS","memory","storageQueue","Promise","resolve","serialized","operation","result","then","catch","write","data","storage","setItem","JSON","stringify","removeItem","read","raw","parsed","parse","goal","startedAt","Number","updatedAt","resumes","RunCheckpoint","begin","now","Date","touch","clear","claimResumable","opts","maxAgeMs","maxAttempts","found","isFinite"],"sourceRoot":"../../../src","sources":["client/RunCheckpoint.ts"],"mappings":"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","ignoreList":[]}
|