viveworker 0.8.4 → 0.8.6
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/README.md +11 -1
- package/package.json +18 -10
- package/scripts/mcp-server.mjs +111 -5
- package/scripts/share-cli.mjs +326 -45
- package/scripts/viveworker-bridge.mjs +458 -39
- package/scripts/viveworker.mjs +9 -0
- package/templates/CLAUDE.viveworker.md +3 -1
- package/web/app.css +195 -0
- package/web/app.js +1017 -237
- package/web/build-id.js +1 -1
- package/web/i18n.js +114 -18
- package/web/sw.js +4 -0
package/web/build-id.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const APP_BUILD_ID = "
|
|
1
|
+
export const APP_BUILD_ID = "20260525-wallet-network-count";
|
package/web/i18n.js
CHANGED
|
@@ -619,25 +619,54 @@ const translations = {
|
|
|
619
619
|
"settings.a2aShare.days": ({ count }) => `${count} ${count === 1 ? "day" : "days"}`,
|
|
620
620
|
"settings.a2aShare.ratePerHour": ({ count }) => `${count} / hour`,
|
|
621
621
|
"settings.a2aShare.passwordProtected": "Password protected",
|
|
622
|
-
"settings.a2aShare.paidShare": ({ price, network }) => `Paid — ${price} USDC on ${network}`,
|
|
622
|
+
"settings.a2aShare.paidShare": ({ price, asset, network }) => `Paid — ${price} ${asset || "USDC"} on ${network}`,
|
|
623
623
|
"settings.a2aShare.showMore": "{count} more…",
|
|
624
624
|
"settings.a2aShare.showLess": "Show less",
|
|
625
625
|
"settings.a2aShare.expired": "Expired",
|
|
626
626
|
"settings.a2aShare.status.unreachable": "Unreachable",
|
|
627
627
|
"settings.a2aShare.error": "Upstream fetch failed: {reason}",
|
|
628
628
|
"settings.wallet.title": "Wallet",
|
|
629
|
-
"settings.wallet.subtitle": "
|
|
630
|
-
"settings.wallet.copy": "
|
|
629
|
+
"settings.wallet.subtitle": "Paid-share receiving wallets",
|
|
630
|
+
"settings.wallet.copy": "Choose which issued wallets and payout addresses agents can use by default.",
|
|
631
631
|
"settings.wallet.unavailable": "Wallet is not configured for this viveworker instance.",
|
|
632
632
|
"settings.wallet.summary.title": "Current status",
|
|
633
633
|
"settings.wallet.flow.title": "Recommended order",
|
|
634
|
+
"settings.wallet.agent.title": "Agent payment receiving wallets",
|
|
635
|
+
"settings.wallet.agent.copy": "Choose the wallets that receive payments for paid file shares. Mainnet is excluded until the formal release.",
|
|
636
|
+
"settings.wallet.agent.empty": "No wallet or payout address has been issued yet. Open Wallet Inventory to add receiving wallets.",
|
|
637
|
+
"settings.wallet.agent.emptyAvailable": "No testnet receiving wallet is available yet. Mainnet unlocks at the formal release.",
|
|
638
|
+
"settings.wallet.agent.save": "Save settings",
|
|
639
|
+
"settings.wallet.agent.useAllConfigured": "Enable all receiving wallets",
|
|
640
|
+
"settings.wallet.agent.currentDefaults": "Receiving wallets",
|
|
641
|
+
"settings.wallet.agent.unsaved": "You have unsaved changes. Receiving wallets will update after you save.",
|
|
642
|
+
"settings.wallet.agent.modalTitle": "Active receiving wallets",
|
|
643
|
+
"settings.wallet.agent.modalCopy": "These saved receiving wallets are available to paid file shares.",
|
|
644
|
+
"settings.wallet.inventory.title": "Wallet Inventory",
|
|
645
|
+
"settings.wallet.inventory.copy": "Issue or register optional wallets by environment. Testnet is available now; mainnet unlocks at the formal release.",
|
|
646
|
+
"settings.wallet.inventory.navGroup": "Wallet inventory",
|
|
647
|
+
"settings.wallet.inventory.navTitle": "Issue or register wallets",
|
|
648
|
+
"settings.wallet.inventory.navCopy": "Manage Base, Polygon, and Liquid payment capabilities.",
|
|
649
|
+
"settings.wallet.inventory.navValue": ({ count }) => `${count} configured`,
|
|
650
|
+
"settings.wallet.inventory.accountTitle": "Account access",
|
|
651
|
+
"settings.wallet.inventory.issueTitle": "Wallet issuance and registration",
|
|
652
|
+
"settings.wallet.inventory.testnetTitle": "Testnet",
|
|
653
|
+
"settings.wallet.inventory.mainnetTitle": "Mainnet",
|
|
654
|
+
"settings.wallet.inventory.environment.testnet": "Testnet",
|
|
655
|
+
"settings.wallet.inventory.environment.mainnet": "Mainnet",
|
|
656
|
+
"settings.wallet.chain.base.title": "Base",
|
|
657
|
+
"settings.wallet.chain.base.copy": "Issue Base smart wallets. Mainnet issuance is coming at the formal release.",
|
|
658
|
+
"settings.wallet.chain.liquid.title": "Liquid",
|
|
659
|
+
"settings.wallet.chain.liquid.copy": "Register Liquid payout addresses. Mainnet registration is coming at the formal release.",
|
|
660
|
+
"settings.wallet.chain.polygon.title": "Polygon",
|
|
661
|
+
"settings.wallet.chain.polygon.copy": "Issue Polygon smart wallets. Mainnet issuance is coming at the formal release.",
|
|
662
|
+
"settings.wallet.chain.configuredValue": ({ count, total }) => `${count}/${total} configured`,
|
|
634
663
|
"settings.wallet.flow.banner.title": "Let's set up your wallet",
|
|
635
664
|
"settings.wallet.flow.copy": "You need to activate your wallet to exchange task rewards over A2A.",
|
|
636
|
-
"settings.wallet.betaNotice": "Wallet is in beta.
|
|
665
|
+
"settings.wallet.betaNotice": "Wallet is in beta. Testnets are the safe default; mainnet will be available at the formal release.",
|
|
637
666
|
"settings.wallet.sessionExpired.title": "Refresh your wallet session",
|
|
638
667
|
"settings.wallet.sessionExpired.copy": "Your wallet session expired. Sign in again with a one-time password; your passkey and Base Sepolia address stay linked.",
|
|
639
668
|
"settings.wallet.ready.title": "Ready to use",
|
|
640
|
-
"settings.wallet.ready.copy": "Your email sign-in, passkey, and
|
|
669
|
+
"settings.wallet.ready.copy": "Your email sign-in, passkey, and testnet wallet setup are ready.",
|
|
641
670
|
"settings.wallet.ready.payoutIntro": "Agents will use this address for payouts:",
|
|
642
671
|
"settings.wallet.ready.copyAddress": "Tap to copy address",
|
|
643
672
|
"settings.wallet.advanced.title": "Account actions",
|
|
@@ -657,8 +686,17 @@ const translations = {
|
|
|
657
686
|
"settings.wallet.step.baseSepolia.title": "Issue a Base Sepolia wallet",
|
|
658
687
|
"settings.wallet.step.baseSepolia.copy": "Create a testing wallet for the current beta flow. This is the main wallet we recommend issuing first.",
|
|
659
688
|
"settings.wallet.step.base.title": "Issue a Base wallet",
|
|
660
|
-
"settings.wallet.step.base.copy": "Base mainnet wallet issuance is
|
|
689
|
+
"settings.wallet.step.base.copy": "Base mainnet wallet issuance is disabled during beta and will unlock at the formal release.",
|
|
661
690
|
"settings.wallet.step.base.comingSoonDetail": "Coming soon",
|
|
691
|
+
"settings.wallet.step.polygonAmoy.title": "Issue a Polygon Amoy wallet",
|
|
692
|
+
"settings.wallet.step.polygonAmoy.copy": "Create a Polygon Amoy testing wallet so paid shares can accept USDC and JPYC over Polygon x402.",
|
|
693
|
+
"settings.wallet.step.polygon.title": "Issue a Polygon wallet",
|
|
694
|
+
"settings.wallet.step.polygon.copy": "Polygon mainnet wallet issuance is disabled during beta and will unlock at the formal release.",
|
|
695
|
+
"settings.wallet.step.liquidTestnet.title": "Register a Liquid Testnet payout",
|
|
696
|
+
"settings.wallet.step.liquidTestnet.copy": "Add a Liquid Testnet address so paid shares can accept USDt over Liquid x402.",
|
|
697
|
+
"settings.wallet.step.liquid.title": "Register a Liquid payout",
|
|
698
|
+
"settings.wallet.step.liquid.copy": "Liquid mainnet payout registration is disabled during beta and will unlock at the formal release.",
|
|
699
|
+
"settings.wallet.mainnet.comingSoonDetail": "Mainnet will be available at the formal release.",
|
|
662
700
|
"settings.wallet.mainnet.optIn": "Also set up Base mainnet",
|
|
663
701
|
"settings.wallet.mainnet.optInHint": "Optional — required only for production payouts.",
|
|
664
702
|
"settings.hazbase.title": "Wallet",
|
|
@@ -674,6 +712,7 @@ const translations = {
|
|
|
674
712
|
"settings.hazbase.field.emailPlaceholder": "you@example.com",
|
|
675
713
|
"settings.hazbase.field.otpLabel": "One-time password",
|
|
676
714
|
"settings.hazbase.field.otpPlaceholder": "e.g. 123456",
|
|
715
|
+
"settings.hazbase.field.liquidAddressLabel": "Liquid payout address",
|
|
677
716
|
"settings.hazbase.action.requestOtp": "Send one-time password",
|
|
678
717
|
"settings.hazbase.action.refreshSession": "Refresh session",
|
|
679
718
|
"settings.hazbase.action.resendOtp": "Resend",
|
|
@@ -682,6 +721,9 @@ const translations = {
|
|
|
682
721
|
"settings.hazbase.action.registerPasskey": "Register passkey",
|
|
683
722
|
"settings.hazbase.action.bootstrapBaseSepolia": "Issue Base Sepolia",
|
|
684
723
|
"settings.hazbase.action.bootstrapBase": "Issue Base",
|
|
724
|
+
"settings.hazbase.action.bootstrapPolygonAmoy": "Issue Polygon Amoy",
|
|
725
|
+
"settings.hazbase.action.bootstrapPolygon": "Issue Polygon",
|
|
726
|
+
"settings.hazbase.action.saveLiquidCapability": "Save payout address",
|
|
685
727
|
"settings.hazbase.action.signOut": "Sign out of wallet",
|
|
686
728
|
"settings.hazbase.logout.confirm.title": "Sign out of wallet?",
|
|
687
729
|
"settings.hazbase.logout.confirm.copy": "You'll need to sign back in with a one-time password to access this wallet again. Your wallet address and passkey stay linked to this account.",
|
|
@@ -690,6 +732,8 @@ const translations = {
|
|
|
690
732
|
"settings.hazbase.notice.otpVerified": "Signed in to wallet.",
|
|
691
733
|
"settings.hazbase.notice.passkeyRegistered": "Passkey registered.",
|
|
692
734
|
"settings.hazbase.notice.walletBootstrapped": "Wallet issued on chain {chainId}.",
|
|
735
|
+
"settings.hazbase.notice.paymentCapabilitySaved": "Payment capability saved for {network}.",
|
|
736
|
+
"settings.hazbase.notice.agentDefaultsSaved": "Receiving wallet settings saved.",
|
|
693
737
|
"settings.hazbase.notice.signedOut": "Signed out of wallet.",
|
|
694
738
|
"settings.hazbase.notice.sessionRefreshStarted": "Session refresh started. Send a one-time password to sign in again.",
|
|
695
739
|
"settings.hazbase.prompt.email": "Wallet email address",
|
|
@@ -758,7 +802,7 @@ const translations = {
|
|
|
758
802
|
"error.completionReplyImageLimit": "Attach up to {count} images at a time.",
|
|
759
803
|
"error.completionReplyImageInvalidUpload": "That image could not be uploaded.",
|
|
760
804
|
"error.codexIpcNotConnected": "Codex desktop is not connected right now.",
|
|
761
|
-
"error.codexClientNotFound": "Codex
|
|
805
|
+
"error.codexClientNotFound": "Codex couldn't find the target thread. Reopen that thread on your PC and try again.",
|
|
762
806
|
"error.approvalNotFound": "This approval is no longer available.",
|
|
763
807
|
"error.approvalAlreadyHandled": "This approval was already handled.",
|
|
764
808
|
"error.planRequestNotFound": "This plan request is no longer available.",
|
|
@@ -773,7 +817,10 @@ const translations = {
|
|
|
773
817
|
"error.hazbaseOtpRequired": "Enter the one-time password.",
|
|
774
818
|
"error.hazbasePasskeyLocalHostRequired": "Open viveworker on its .local hostname to use hazBase passkeys.",
|
|
775
819
|
"error.hazbaseWalletAccountMissing": "Issue a wallet on this chain first.",
|
|
776
|
-
"error.
|
|
820
|
+
"error.hazbaseLiquidAddressRequired": "Enter a Liquid payout address first.",
|
|
821
|
+
"error.hazbaseLiquidAddressInvalid": "Enter a valid Liquid payout address for this network.",
|
|
822
|
+
"error.paymentNetworkComingSoon": "Mainnet payments will be available at the formal release.",
|
|
823
|
+
"error.unsupportedChain": "This network is not supported for wallet issuance yet. Choose a supported network and try again.",
|
|
777
824
|
"server.fallback.codexTask": "{provider} task",
|
|
778
825
|
"server.title.approval": "Approval",
|
|
779
826
|
"server.title.complete": "Completed",
|
|
@@ -885,13 +932,14 @@ const translations = {
|
|
|
885
932
|
"server.page.choiceMissing": "Choice input token not found",
|
|
886
933
|
"server.page.approvalHandled": "Approval already handled",
|
|
887
934
|
"server.page.detailMissing": "Completion detail not found",
|
|
888
|
-
"cli.help.usage": "Usage: viveworker <setup|pair|enable|start|stop|status|doctor|update> [options]",
|
|
935
|
+
"cli.help.usage": "Usage: viveworker <setup|pair|enable|start|stop|restart|status|doctor|update> [options]",
|
|
889
936
|
"cli.help.commands": "Commands:",
|
|
890
937
|
"cli.help.setup": "setup Create config, register launchd, and start the base viveworker bridge",
|
|
891
938
|
"cli.help.pair": "pair Refresh pairing info for another trusted device",
|
|
892
939
|
"cli.help.enable": "enable Enable an optional integration or feature",
|
|
893
940
|
"cli.help.start": "start Start the bridge using the saved config",
|
|
894
941
|
"cli.help.stop": "stop Stop the bridge",
|
|
942
|
+
"cli.help.restart": "restart Restart the bridge using the saved config",
|
|
895
943
|
"cli.help.status": "status Print launchd/background status and health",
|
|
896
944
|
"cli.help.doctor": "doctor Diagnose the local setup",
|
|
897
945
|
"cli.help.update": "update Update to the latest version and restart all services",
|
|
@@ -1697,25 +1745,54 @@ const translations = {
|
|
|
1697
1745
|
"settings.a2aShare.days": ({ count }) => `${count} 日`,
|
|
1698
1746
|
"settings.a2aShare.ratePerHour": ({ count }) => `${count} 件 / 1 時間`,
|
|
1699
1747
|
"settings.a2aShare.passwordProtected": "パスワード保護",
|
|
1700
|
-
"settings.a2aShare.paidShare": ({ price, network }) => `有料 — ${price} USDC (${network})`,
|
|
1748
|
+
"settings.a2aShare.paidShare": ({ price, asset, network }) => `有料 — ${price} ${asset || "USDC"} (${network})`,
|
|
1701
1749
|
"settings.a2aShare.showMore": "さらに {count} 件…",
|
|
1702
1750
|
"settings.a2aShare.showLess": "閉じる",
|
|
1703
1751
|
"settings.a2aShare.expired": "期限切れ",
|
|
1704
1752
|
"settings.a2aShare.status.unreachable": "到達不可",
|
|
1705
1753
|
"settings.a2aShare.error": "上流への問い合わせに失敗しました: {reason}",
|
|
1706
1754
|
"settings.wallet.title": "ウォレット",
|
|
1707
|
-
"settings.wallet.subtitle": "
|
|
1708
|
-
"settings.wallet.copy": "
|
|
1755
|
+
"settings.wallet.subtitle": "エージェント支払いの受け取り先",
|
|
1756
|
+
"settings.wallet.copy": "発行済みウォレットや payout アドレスのうち、エージェントが既定で使えるものを選びます。",
|
|
1709
1757
|
"settings.wallet.unavailable": "この viveworker では Wallet が設定されていません。",
|
|
1710
1758
|
"settings.wallet.summary.title": "現在の状態",
|
|
1711
1759
|
"settings.wallet.flow.title": "おすすめの順番",
|
|
1760
|
+
"settings.wallet.agent.title": "エージェント支払いの受け取り先",
|
|
1761
|
+
"settings.wallet.agent.copy": "有料ファイル共有で支払いを受け取るウォレットを選びます。mainnet は正式リリースまで除外されます。",
|
|
1762
|
+
"settings.wallet.agent.empty": "まだウォレットまたは payout アドレスがありません。ウォレット管理で、受け取り先を追加してください。",
|
|
1763
|
+
"settings.wallet.agent.emptyAvailable": "Testnet の受け取り先がまだありません。mainnet は正式リリース時に利用できます。",
|
|
1764
|
+
"settings.wallet.agent.save": "設定を保存",
|
|
1765
|
+
"settings.wallet.agent.useAllConfigured": "すべての受け取り先を有効にする",
|
|
1766
|
+
"settings.wallet.agent.currentDefaults": "受け取り先",
|
|
1767
|
+
"settings.wallet.agent.unsaved": "未保存の変更があります。保存すると受け取り先に反映されます。",
|
|
1768
|
+
"settings.wallet.agent.modalTitle": "有効な受け取り先",
|
|
1769
|
+
"settings.wallet.agent.modalCopy": "保存済みの受け取り先が、有料ファイル共有で利用されます。",
|
|
1770
|
+
"settings.wallet.inventory.title": "ウォレット管理",
|
|
1771
|
+
"settings.wallet.inventory.copy": "環境ごとに必要なウォレットを任意で発行・登録します。現在は Testnet が利用可能で、mainnet は正式リリース時に利用できます。",
|
|
1772
|
+
"settings.wallet.inventory.navGroup": "ウォレット管理",
|
|
1773
|
+
"settings.wallet.inventory.navTitle": "ウォレットを発行・登録",
|
|
1774
|
+
"settings.wallet.inventory.navCopy": "Base、Polygon、Liquid の payment capability を管理します。",
|
|
1775
|
+
"settings.wallet.inventory.navValue": ({ count }) => `${count} 件設定済み`,
|
|
1776
|
+
"settings.wallet.inventory.accountTitle": "アカウント認証",
|
|
1777
|
+
"settings.wallet.inventory.issueTitle": "ウォレット発行・登録",
|
|
1778
|
+
"settings.wallet.inventory.testnetTitle": "Testnet",
|
|
1779
|
+
"settings.wallet.inventory.mainnetTitle": "Mainnet",
|
|
1780
|
+
"settings.wallet.inventory.environment.testnet": "Testnet",
|
|
1781
|
+
"settings.wallet.inventory.environment.mainnet": "Mainnet",
|
|
1782
|
+
"settings.wallet.chain.base.title": "Base",
|
|
1783
|
+
"settings.wallet.chain.base.copy": "Base の smart wallet を発行します。Mainnet 発行は正式リリース時に利用できます。",
|
|
1784
|
+
"settings.wallet.chain.liquid.title": "Liquid",
|
|
1785
|
+
"settings.wallet.chain.liquid.copy": "Liquid の payout アドレスを登録します。Mainnet 登録は正式リリース時に利用できます。",
|
|
1786
|
+
"settings.wallet.chain.polygon.title": "Polygon",
|
|
1787
|
+
"settings.wallet.chain.polygon.copy": "Polygon の smart wallet を発行します。Mainnet 発行は正式リリース時に利用できます。",
|
|
1788
|
+
"settings.wallet.chain.configuredValue": ({ count, total }) => `${count}/${total} 設定済み`,
|
|
1712
1789
|
"settings.wallet.flow.banner.title": "まずは、セットアップしましょう",
|
|
1713
1790
|
"settings.wallet.flow.copy": "A2A でタスクの報酬をやりとりするには、ウォレットを有効化する必要があります。",
|
|
1714
|
-
"settings.wallet.betaNotice": "
|
|
1791
|
+
"settings.wallet.betaNotice": "ウォレット機能はベータテスト中です。Testnet を安全な既定値にし、mainnet は正式リリース時にご利用いただけます。",
|
|
1715
1792
|
"settings.wallet.sessionExpired.title": "ウォレットセッションを更新しましょう",
|
|
1716
1793
|
"settings.wallet.sessionExpired.copy": "ウォレットのセッションが切れています。ワンタイムパスワードで再サインインすれば、パスキーと Base Sepolia アドレスはそのまま使えます。",
|
|
1717
1794
|
"settings.wallet.ready.title": "利用準備ができました",
|
|
1718
|
-
"settings.wallet.ready.copy": "メールサインイン、パスキー、
|
|
1795
|
+
"settings.wallet.ready.copy": "メールサインイン、パスキー、Testnet ウォレット設定の準備ができています。",
|
|
1719
1796
|
"settings.wallet.ready.payoutIntro": "エージェントは下記アドレスを利用します:",
|
|
1720
1797
|
"settings.wallet.ready.copyAddress": "タップでアドレスをコピー",
|
|
1721
1798
|
"settings.wallet.advanced.title": "アカウント操作",
|
|
@@ -1735,8 +1812,17 @@ const translations = {
|
|
|
1735
1812
|
"settings.wallet.step.baseSepolia.title": "Base Sepolia ウォレットを発行",
|
|
1736
1813
|
"settings.wallet.step.baseSepolia.copy": "現在の beta フローで使うテスト用ウォレットを発行します。まずはこれを用意するのがおすすめです。",
|
|
1737
1814
|
"settings.wallet.step.base.title": "Base ウォレットを発行",
|
|
1738
|
-
"settings.wallet.step.base.copy": "
|
|
1815
|
+
"settings.wallet.step.base.copy": "Base mainnet ウォレット発行は beta 中は無効です。正式リリース時に利用できます。",
|
|
1739
1816
|
"settings.wallet.step.base.comingSoonDetail": "Coming soon",
|
|
1817
|
+
"settings.wallet.step.polygonAmoy.title": "Polygon Amoy ウォレットを発行",
|
|
1818
|
+
"settings.wallet.step.polygonAmoy.copy": "Polygon x402 で USDC / JPYC を受け取れるよう、Polygon Amoy のテスト用ウォレットを発行します。",
|
|
1819
|
+
"settings.wallet.step.polygon.title": "Polygon ウォレットを発行",
|
|
1820
|
+
"settings.wallet.step.polygon.copy": "Polygon mainnet ウォレット発行は beta 中は無効です。正式リリース時に利用できます。",
|
|
1821
|
+
"settings.wallet.step.liquidTestnet.title": "Liquid Testnet payout を登録",
|
|
1822
|
+
"settings.wallet.step.liquidTestnet.copy": "Liquid x402 で USDt を受け取れるよう、Liquid Testnet アドレスを追加します。",
|
|
1823
|
+
"settings.wallet.step.liquid.title": "Liquid payout を登録",
|
|
1824
|
+
"settings.wallet.step.liquid.copy": "Liquid mainnet payout 登録は beta 中は無効です。正式リリース時に利用できます。",
|
|
1825
|
+
"settings.wallet.mainnet.comingSoonDetail": "mainnet は正式リリース時に利用できます。",
|
|
1740
1826
|
"settings.wallet.mainnet.optIn": "Base mainnet も設定する",
|
|
1741
1827
|
"settings.wallet.mainnet.optInHint": "任意 — 本番 payout が必要な場合だけ。",
|
|
1742
1828
|
"settings.hazbase.title": "ウォレット",
|
|
@@ -1752,6 +1838,7 @@ const translations = {
|
|
|
1752
1838
|
"settings.hazbase.field.emailPlaceholder": "you@example.com",
|
|
1753
1839
|
"settings.hazbase.field.otpLabel": "ワンタイムパスワード",
|
|
1754
1840
|
"settings.hazbase.field.otpPlaceholder": "例: 123456",
|
|
1841
|
+
"settings.hazbase.field.liquidAddressLabel": "Liquid payout アドレス",
|
|
1755
1842
|
"settings.hazbase.action.requestOtp": "ワンタイムパスワードを送信",
|
|
1756
1843
|
"settings.hazbase.action.refreshSession": "セッションを更新",
|
|
1757
1844
|
"settings.hazbase.action.resendOtp": "再送信",
|
|
@@ -1760,6 +1847,9 @@ const translations = {
|
|
|
1760
1847
|
"settings.hazbase.action.registerPasskey": "パスキーを登録",
|
|
1761
1848
|
"settings.hazbase.action.bootstrapBaseSepolia": "Base Sepolia発行",
|
|
1762
1849
|
"settings.hazbase.action.bootstrapBase": "Base発行",
|
|
1850
|
+
"settings.hazbase.action.bootstrapPolygonAmoy": "Polygon Amoy発行",
|
|
1851
|
+
"settings.hazbase.action.bootstrapPolygon": "Polygon発行",
|
|
1852
|
+
"settings.hazbase.action.saveLiquidCapability": "payout アドレスを保存",
|
|
1763
1853
|
"settings.hazbase.action.signOut": "ウォレットからログアウト",
|
|
1764
1854
|
"settings.hazbase.logout.confirm.title": "ウォレットからログアウトしますか?",
|
|
1765
1855
|
"settings.hazbase.logout.confirm.copy": "再度アクセスするには、ワンタイムパスワードでのサインインが必要になります。ウォレットアドレスとパスキーは同じアカウントに紐付いたまま残ります。",
|
|
@@ -1768,6 +1858,8 @@ const translations = {
|
|
|
1768
1858
|
"settings.hazbase.notice.otpVerified": "ウォレットにサインインしました。",
|
|
1769
1859
|
"settings.hazbase.notice.passkeyRegistered": "パスキーを登録しました。",
|
|
1770
1860
|
"settings.hazbase.notice.walletBootstrapped": "chain {chainId} にウォレットを発行しました。",
|
|
1861
|
+
"settings.hazbase.notice.paymentCapabilitySaved": "{network} の payment capability を保存しました。",
|
|
1862
|
+
"settings.hazbase.notice.agentDefaultsSaved": "受け取り先の設定を保存しました。",
|
|
1771
1863
|
"settings.hazbase.notice.signedOut": "ウォレットからログアウトしました。",
|
|
1772
1864
|
"settings.hazbase.notice.sessionRefreshStarted": "セッション更新を開始しました。ワンタイムパスワードを送信して再サインインしてください。",
|
|
1773
1865
|
"settings.hazbase.prompt.email": "ウォレットのメールアドレス",
|
|
@@ -1836,7 +1928,7 @@ const translations = {
|
|
|
1836
1928
|
"error.completionReplyImageLimit": "画像は最大 {count} 枚まで添付できます。",
|
|
1837
1929
|
"error.completionReplyImageInvalidUpload": "この画像はアップロードできませんでした。",
|
|
1838
1930
|
"error.codexIpcNotConnected": "いまは Codex desktop に接続できていません。",
|
|
1839
|
-
"error.codexClientNotFound": "Codex
|
|
1931
|
+
"error.codexClientNotFound": "Codex 側で対象スレッドが見つかりませんでした。PC でそのスレッドを開き直して、もう一度送信してください。",
|
|
1840
1932
|
"error.approvalNotFound": "この承認はもう利用できません。",
|
|
1841
1933
|
"error.approvalAlreadyHandled": "この承認はすでに処理済みです。",
|
|
1842
1934
|
"error.planRequestNotFound": "このプラン確認はもう利用できません。",
|
|
@@ -1851,7 +1943,10 @@ const translations = {
|
|
|
1851
1943
|
"error.hazbaseOtpRequired": "ワンタイムパスワードを入力してください。",
|
|
1852
1944
|
"error.hazbasePasskeyLocalHostRequired": ".local ホスト名で viveworker を開くと hazBase パスキーを使えます。",
|
|
1853
1945
|
"error.hazbaseWalletAccountMissing": "先にこのチェーンのウォレットを発行してください。",
|
|
1854
|
-
"error.
|
|
1946
|
+
"error.hazbaseLiquidAddressRequired": "先に Liquid payout アドレスを入力してください。",
|
|
1947
|
+
"error.hazbaseLiquidAddressInvalid": "このネットワーク用の有効な Liquid payout アドレスを入力してください。",
|
|
1948
|
+
"error.paymentNetworkComingSoon": "mainnet の支払いは正式リリース時に利用できます。",
|
|
1949
|
+
"error.unsupportedChain": "このネットワークのウォレット発行はまだサポートされていません。対応済みのネットワークを選んでください。",
|
|
1855
1950
|
"server.fallback.codexTask": "{provider} task",
|
|
1856
1951
|
"server.title.approval": "要承認",
|
|
1857
1952
|
"server.title.complete": "完了",
|
|
@@ -1963,13 +2058,14 @@ const translations = {
|
|
|
1963
2058
|
"server.page.choiceMissing": "選択入力トークンが見つかりません",
|
|
1964
2059
|
"server.page.approvalHandled": "この承認はすでに処理済みです",
|
|
1965
2060
|
"server.page.detailMissing": "完了詳細が見つかりません",
|
|
1966
|
-
"cli.help.usage": "Usage: viveworker <setup|pair|enable|start|stop|status|doctor|update> [options]",
|
|
2061
|
+
"cli.help.usage": "Usage: viveworker <setup|pair|enable|start|stop|restart|status|doctor|update> [options]",
|
|
1967
2062
|
"cli.help.commands": "Commands:",
|
|
1968
2063
|
"cli.help.setup": "setup base の設定を作成し、launchd に登録して viveworker bridge を起動します",
|
|
1969
2064
|
"cli.help.pair": "pair 追加する信頼済み端末向けに pairing 情報を更新します",
|
|
1970
2065
|
"cli.help.enable": "enable オプション機能や連携を有効化します",
|
|
1971
2066
|
"cli.help.start": "start 保存済み設定で bridge を起動します",
|
|
1972
2067
|
"cli.help.stop": "stop bridge を停止します",
|
|
2068
|
+
"cli.help.restart": "restart 保存済み設定で bridge を再起動します",
|
|
1973
2069
|
"cli.help.status": "status launchd / バックグラウンド状態と health を表示します",
|
|
1974
2070
|
"cli.help.doctor": "doctor ローカル設定を診断します",
|
|
1975
2071
|
"cli.help.update": "update 最新バージョンに更新し、全サービスを再起動します",
|
package/web/sw.js
CHANGED
|
@@ -2,6 +2,7 @@ const APP_BUILD_ID = "__VIVEWORKER_APP_BUILD_ID__";
|
|
|
2
2
|
const CACHE_NAME = `viveworker-${APP_BUILD_ID}`;
|
|
3
3
|
const APP_SCRIPT_URL = `/app.js?v=${APP_BUILD_ID}`;
|
|
4
4
|
const APP_STYLE_URL = `/app.css?v=${APP_BUILD_ID}`;
|
|
5
|
+
const I18N_SCRIPT_URL = `/i18n.js?v=${APP_BUILD_ID}`;
|
|
5
6
|
const API_ROUTER_URL = `/remote-pairing/api-router.js?v=${APP_BUILD_ID}`;
|
|
6
7
|
const NOTIFICATION_INTENT_CACHE = "viveworker-notification-intent-v1";
|
|
7
8
|
const NOTIFICATION_INTENT_PATH = "/__viveworker_notification_intent__";
|
|
@@ -16,6 +17,7 @@ const APP_ASSETS = [
|
|
|
16
17
|
"/app",
|
|
17
18
|
APP_SCRIPT_URL,
|
|
18
19
|
APP_STYLE_URL,
|
|
20
|
+
I18N_SCRIPT_URL,
|
|
19
21
|
"/app.js",
|
|
20
22
|
"/i18n.js",
|
|
21
23
|
"/icons/viveworker-v-pulse.svg",
|
|
@@ -33,11 +35,13 @@ const CACHED_PATHS = new Set(APP_ASSETS.map((asset) => new URL(asset, self.locat
|
|
|
33
35
|
const VERSIONED_CACHE_PATHS = new Set([
|
|
34
36
|
"/app.js",
|
|
35
37
|
"/app.css",
|
|
38
|
+
"/i18n.js",
|
|
36
39
|
"/remote-pairing/api-router.js",
|
|
37
40
|
]);
|
|
38
41
|
const NETWORK_FIRST_PATHS = new Set([
|
|
39
42
|
"/app.js",
|
|
40
43
|
"/app.css",
|
|
44
|
+
"/i18n.js",
|
|
41
45
|
"/remote-pairing/api-router.js",
|
|
42
46
|
]);
|
|
43
47
|
const APP_NAVIGATION_NETWORK_TIMEOUT_MS = 1800;
|