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