wp-studio 1.8.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1431) hide show
  1. package/dist/cli/{_events-CBJ20E6v.mjs → _events-BqUwL9Kk.mjs} +4 -4
  2. package/dist/cli/{appdata-D-luHxJU.mjs → appdata-DqQ7pZEM.mjs} +1 -1
  3. package/dist/cli/{certificate-manager-v-yNLDFJ.mjs → certificate-manager-FOFTUHXy.mjs} +45 -15
  4. package/dist/cli/{delete-CYyQluA6.mjs → delete-DYMc-UPN.mjs} +3 -3
  5. package/dist/cli/{helpers-D3zgySTA.mjs → helpers-ysd4ILYs.mjs} +2 -2
  6. package/dist/cli/{index-CopZPgb8.mjs → index-DSF11Tac.mjs} +4574 -1252
  7. package/dist/cli/{index-Bej4fL6n.mjs → index-DZU_3nOB.mjs} +3 -3
  8. package/dist/cli/{index-CetzzKjT.mjs → index-JVSyNk-3.mjs} +1761 -450
  9. package/dist/cli/is-errno-exception-t38xF2pB.mjs +6 -0
  10. package/dist/cli/{list-Bw3XYkA6.mjs → list-BhD3PPMZ.mjs} +3 -3
  11. package/dist/cli/{login-CC61r0HV.mjs → login-BW6aZ8P1.mjs} +3 -3
  12. package/dist/cli/{logout-DimAVmCf.mjs → logout-8JfLES1f.mjs} +2 -2
  13. package/dist/cli/main.mjs +2 -2
  14. package/dist/cli/package.json +3 -0
  15. package/dist/cli/passwords-CHfZ7oMW.mjs +117 -0
  16. package/dist/cli/{paths-D7DniT1Q.mjs → paths-COkSp5Ak.mjs} +1 -1
  17. package/dist/cli/php/router.php +35 -0
  18. package/dist/cli/php/set-default-permalinks.php +17 -0
  19. package/dist/cli/php/wp-config-transformer.php +471 -0
  20. package/dist/cli/php-binary-metadata-B51UcEYo.mjs +85 -0
  21. package/dist/cli/php-server-child.mjs +383 -0
  22. package/dist/cli/php-versions-C4NIFv0m.mjs +14 -0
  23. package/dist/cli/{wordpress-server-child.mjs → playground-server-child.mjs} +62 -33
  24. package/dist/cli/plugin/skills/annotate/SKILL.md +110 -0
  25. package/dist/cli/process-manager-daemon.mjs +1 -1
  26. package/dist/cli/{process-manager-ipc-GCdebuBH.mjs → process-manager-ipc-CBIoRMQx.mjs} +2 -1
  27. package/dist/cli/proxy-daemon.mjs +12 -3
  28. package/dist/cli/{prune-pm-logs-Dm_Bwi7l.mjs → prune-pm-logs-DHiFyLAM.mjs} +1 -1
  29. package/dist/cli/reprint-child.mjs +156 -0
  30. package/dist/cli/reprint.phar +0 -0
  31. package/dist/cli/{resume-CmZ-XrOV.mjs → resume-lP74OJVg.mjs} +5 -10
  32. package/dist/cli/{rewrite-wp-cli-post-content-Beo5_Ojo.mjs → rewrite-wp-cli-post-content-BAJ-W0ra.mjs} +18 -122
  33. package/dist/cli/{set-BFYdMcT5.mjs → set-CJjcoYpy.mjs} +6 -6
  34. package/dist/cli/{set-Bj8tR0hO.mjs → set-DjPvi0eA.mjs} +2 -2
  35. package/dist/cli/status-YTRS43jf.mjs +69 -0
  36. package/dist/cli/{well-known-paths-QcSJNi_l.mjs → well-known-paths-kP8oHPED.mjs} +36 -24
  37. package/dist/cli/{wordpress-server-ipc-D-8mLjOF.mjs → wordpress-server-ipc-LCHRL4uO.mjs} +16 -5
  38. package/dist/cli/{wp-D3FmTI4b.mjs → wp-BYFV-TCc.mjs} +45 -18
  39. package/dist/cli/wp-files/latest/available-site-translations.json +1 -1
  40. package/dist/cli/wp-files/latest/wordpress/wp-content/plugins/akismet/_inc/img/icon-external.svg +1 -0
  41. package/dist/cli/wp-files/latest/wordpress/wp-content/plugins/akismet/views/title.php +3 -0
  42. package/dist/cli/wp-files/latest/wordpress/wp-includes/SimplePie/src/Core.php +56 -0
  43. package/dist/cli/wp-files/latest/wordpress/wp-includes/SimplePie/src/Decode/HTML/Entities.php +610 -0
  44. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-author/editor-rtl.css +3 -0
  45. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-author/editor-rtl.min.css +1 -0
  46. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-author/editor.css +3 -0
  47. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-author/editor.min.css +1 -0
  48. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-content/editor-rtl.css +4 -0
  49. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-content/editor-rtl.min.css +1 -0
  50. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-content/editor.css +4 -0
  51. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-content/editor.min.css +1 -0
  52. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-template/editor-rtl.css +5 -0
  53. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-template/editor-rtl.min.css +1 -0
  54. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-template/editor.css +5 -0
  55. package/dist/cli/wp-files/latest/wordpress/wp-includes/blocks/post-template/editor.min.css +1 -0
  56. package/dist/cli/wp-files/latest/wordpress/wp-includes/js/dist/fields.js +1975 -0
  57. package/dist/cli/wp-files/latest/wordpress/wp-includes/js/dist/fields.min.js +2 -0
  58. package/dist/cli/wp-files/latest/wordpress/wp-includes/js/dist/undo-manager.js +264 -0
  59. package/dist/cli/wp-files/latest/wordpress/wp-includes/js/dist/undo-manager.min.js +2 -0
  60. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/.gitattributes +8 -0
  61. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/LICENSE +21 -0
  62. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/README.md +73 -0
  63. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/composer.json +25 -0
  64. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Autoloader.php +88 -0
  65. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Cache/AbstractCache.php +60 -0
  66. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Cache/FilesystemCache.php +161 -0
  67. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Cache/NoopCache.php +47 -0
  68. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Cache.php +43 -0
  69. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Compiler.php +689 -0
  70. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Context.php +242 -0
  71. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Engine.php +829 -0
  72. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Exception/InvalidArgumentException.php +18 -0
  73. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Exception/LogicException.php +18 -0
  74. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Exception/RuntimeException.php +18 -0
  75. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Exception/SyntaxException.php +41 -0
  76. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Exception/UnknownFilterException.php +38 -0
  77. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Exception/UnknownHelperException.php +38 -0
  78. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Exception/UnknownTemplateException.php +38 -0
  79. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Exception.php +18 -0
  80. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/HelperCollection.php +172 -0
  81. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/LambdaHelper.php +76 -0
  82. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Loader/ArrayLoader.php +79 -0
  83. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Loader/CascadingLoader.php +69 -0
  84. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Loader/FilesystemLoader.php +135 -0
  85. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Loader/InlineLoader.php +123 -0
  86. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Loader/MutableLoader.php +31 -0
  87. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Loader/ProductionFilesystemLoader.php +86 -0
  88. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Loader/StringLoader.php +39 -0
  89. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Loader.php +27 -0
  90. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Logger/AbstractLogger.php +121 -0
  91. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Logger/StreamLogger.php +194 -0
  92. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Logger.php +126 -0
  93. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Parser.php +317 -0
  94. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Source/FilesystemSource.php +77 -0
  95. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Source.php +40 -0
  96. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Template.php +180 -0
  97. package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/Mustache/Tokenizer.php +378 -0
  98. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/.actrc +3 -0
  99. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/lib/cli/Shell.php +0 -0
  100. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/lib/cli/Streams.php +0 -0
  101. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/lib/cli/cli.php +0 -0
  102. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/Test_Arguments.php +297 -0
  103. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/Test_Cli.php +555 -0
  104. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/Test_Colors.php +33 -0
  105. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/Test_Shell.php +55 -0
  106. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/Test_Table.php +292 -0
  107. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/Test_Table_Ascii.php +280 -0
  108. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/bootstrap.php +22 -0
  109. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/test-arguments.php +285 -0
  110. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/test-cli.php +554 -0
  111. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/test-colors.php +31 -0
  112. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/test-shell.php +55 -0
  113. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/test-table-ascii.php +280 -0
  114. package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/php-cli-tools/tests/test-table.php +246 -0
  115. package/dist/cli/wp-files/sqlite-database-integration/load.php +1 -1
  116. package/dist/cli/wp-files/sqlite-database-integration/readme.txt +7 -1
  117. package/dist/cli/wp-files/sqlite-database-integration/wp-includes/database/sqlite/class-wp-pdo-mysql-on-sqlite.php +290 -47
  118. package/dist/cli/wp-files/sqlite-database-integration/wp-includes/database/version.php +1 -1
  119. package/package.json +11 -11
  120. package/dist/cli/status-DNyCON-I.mjs +0 -42
  121. package/dist/cli/wp-files/latest/languages/admin-ar.l10n.php +0 -175
  122. package/dist/cli/wp-files/latest/languages/admin-de_DE.l10n.php +0 -166
  123. package/dist/cli/wp-files/latest/languages/admin-es_ES.l10n.php +0 -174
  124. package/dist/cli/wp-files/latest/languages/admin-fr_FR.l10n.php +0 -170
  125. package/dist/cli/wp-files/latest/languages/admin-he_IL.l10n.php +0 -135
  126. package/dist/cli/wp-files/latest/languages/admin-hu_HU.l10n.php +0 -186
  127. package/dist/cli/wp-files/latest/languages/admin-id_ID.l10n.php +0 -172
  128. package/dist/cli/wp-files/latest/languages/admin-it_IT.l10n.php +0 -174
  129. package/dist/cli/wp-files/latest/languages/admin-ja.l10n.php +0 -175
  130. package/dist/cli/wp-files/latest/languages/admin-ko_KR.l10n.php +0 -176
  131. package/dist/cli/wp-files/latest/languages/admin-network-ar.l10n.php +0 -2
  132. package/dist/cli/wp-files/latest/languages/admin-network-de_DE.l10n.php +0 -2
  133. package/dist/cli/wp-files/latest/languages/admin-network-es_ES.l10n.php +0 -2
  134. package/dist/cli/wp-files/latest/languages/admin-network-fr_FR.l10n.php +0 -2
  135. package/dist/cli/wp-files/latest/languages/admin-network-he_IL.l10n.php +0 -2
  136. package/dist/cli/wp-files/latest/languages/admin-network-hu_HU.l10n.php +0 -3
  137. package/dist/cli/wp-files/latest/languages/admin-network-id_ID.l10n.php +0 -2
  138. package/dist/cli/wp-files/latest/languages/admin-network-it_IT.l10n.php +0 -2
  139. package/dist/cli/wp-files/latest/languages/admin-network-ja.l10n.php +0 -2
  140. package/dist/cli/wp-files/latest/languages/admin-network-ko_KR.l10n.php +0 -2
  141. package/dist/cli/wp-files/latest/languages/admin-network-nl_NL.l10n.php +0 -2
  142. package/dist/cli/wp-files/latest/languages/admin-network-pl_PL.l10n.php +0 -2
  143. package/dist/cli/wp-files/latest/languages/admin-network-pt_BR.l10n.php +0 -2
  144. package/dist/cli/wp-files/latest/languages/admin-network-ru_RU.l10n.php +0 -2
  145. package/dist/cli/wp-files/latest/languages/admin-network-sv_SE.l10n.php +0 -2
  146. package/dist/cli/wp-files/latest/languages/admin-network-tr_TR.l10n.php +0 -2
  147. package/dist/cli/wp-files/latest/languages/admin-network-uk.l10n.php +0 -2
  148. package/dist/cli/wp-files/latest/languages/admin-network-vi.l10n.php +0 -2
  149. package/dist/cli/wp-files/latest/languages/admin-network-zh_CN.l10n.php +0 -2
  150. package/dist/cli/wp-files/latest/languages/admin-network-zh_TW.l10n.php +0 -2
  151. package/dist/cli/wp-files/latest/languages/admin-nl_NL.l10n.php +0 -174
  152. package/dist/cli/wp-files/latest/languages/admin-pl_PL.l10n.php +0 -171
  153. package/dist/cli/wp-files/latest/languages/admin-pt_BR.l10n.php +0 -171
  154. package/dist/cli/wp-files/latest/languages/admin-ru_RU.l10n.php +0 -176
  155. package/dist/cli/wp-files/latest/languages/admin-sv_SE.l10n.php +0 -179
  156. package/dist/cli/wp-files/latest/languages/admin-tr_TR.l10n.php +0 -166
  157. package/dist/cli/wp-files/latest/languages/admin-uk.l10n.php +0 -110
  158. package/dist/cli/wp-files/latest/languages/admin-vi.l10n.php +0 -171
  159. package/dist/cli/wp-files/latest/languages/admin-zh_CN.l10n.php +0 -164
  160. package/dist/cli/wp-files/latest/languages/admin-zh_TW.l10n.php +0 -164
  161. package/dist/cli/wp-files/latest/languages/ar-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  162. package/dist/cli/wp-files/latest/languages/ar-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  163. package/dist/cli/wp-files/latest/languages/ar-0eebe503220d4a00341eb011b92769b4.json +0 -1
  164. package/dist/cli/wp-files/latest/languages/ar-17179a5f2930647c89151e365f843b6e.json +0 -1
  165. package/dist/cli/wp-files/latest/languages/ar-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  166. package/dist/cli/wp-files/latest/languages/ar-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  167. package/dist/cli/wp-files/latest/languages/ar-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  168. package/dist/cli/wp-files/latest/languages/ar-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  169. package/dist/cli/wp-files/latest/languages/ar-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  170. package/dist/cli/wp-files/latest/languages/ar-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  171. package/dist/cli/wp-files/latest/languages/ar-270d72d1cff17227d37f3244759cbecb.json +0 -1
  172. package/dist/cli/wp-files/latest/languages/ar-28b3c3d595952907e08d98287077426c.json +0 -1
  173. package/dist/cli/wp-files/latest/languages/ar-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  174. package/dist/cli/wp-files/latest/languages/ar-2c5d274ea625dd91556554ad82901529.json +0 -1
  175. package/dist/cli/wp-files/latest/languages/ar-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  176. package/dist/cli/wp-files/latest/languages/ar-440127dd25bde48a531ded36f33e927b.json +0 -1
  177. package/dist/cli/wp-files/latest/languages/ar-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  178. package/dist/cli/wp-files/latest/languages/ar-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  179. package/dist/cli/wp-files/latest/languages/ar-4bfa11da57ff2600004bb500368247f4.json +0 -1
  180. package/dist/cli/wp-files/latest/languages/ar-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  181. package/dist/cli/wp-files/latest/languages/ar-5251f7623766a714c8207c7edb938628.json +0 -1
  182. package/dist/cli/wp-files/latest/languages/ar-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  183. package/dist/cli/wp-files/latest/languages/ar-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  184. package/dist/cli/wp-files/latest/languages/ar-6025add6bde16aaeb12787d250f9b414.json +0 -1
  185. package/dist/cli/wp-files/latest/languages/ar-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  186. package/dist/cli/wp-files/latest/languages/ar-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  187. package/dist/cli/wp-files/latest/languages/ar-7233008897033de5ee0d14f86a42a65a.json +0 -1
  188. package/dist/cli/wp-files/latest/languages/ar-7289286ed59e90a8f36ae797df62220b.json +0 -1
  189. package/dist/cli/wp-files/latest/languages/ar-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  190. package/dist/cli/wp-files/latest/languages/ar-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  191. package/dist/cli/wp-files/latest/languages/ar-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  192. package/dist/cli/wp-files/latest/languages/ar-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  193. package/dist/cli/wp-files/latest/languages/ar-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  194. package/dist/cli/wp-files/latest/languages/ar-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  195. package/dist/cli/wp-files/latest/languages/ar-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  196. package/dist/cli/wp-files/latest/languages/ar-81c889563f09dd13de1701135dc62941.json +0 -1
  197. package/dist/cli/wp-files/latest/languages/ar-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  198. package/dist/cli/wp-files/latest/languages/ar-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  199. package/dist/cli/wp-files/latest/languages/ar-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  200. package/dist/cli/wp-files/latest/languages/ar-93882e8f9976382d7f724ac595ed7151.json +0 -1
  201. package/dist/cli/wp-files/latest/languages/ar-947c76bb5095da30e16668eec15406b2.json +0 -1
  202. package/dist/cli/wp-files/latest/languages/ar-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  203. package/dist/cli/wp-files/latest/languages/ar-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  204. package/dist/cli/wp-files/latest/languages/ar-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  205. package/dist/cli/wp-files/latest/languages/ar-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  206. package/dist/cli/wp-files/latest/languages/ar-a9dc201dcd011fe71849743133052619.json +0 -1
  207. package/dist/cli/wp-files/latest/languages/ar-aabfce98c410957228848dc581e3c420.json +0 -1
  208. package/dist/cli/wp-files/latest/languages/ar-ac23eee47530ac63a1178c827db28087.json +0 -1
  209. package/dist/cli/wp-files/latest/languages/ar-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  210. package/dist/cli/wp-files/latest/languages/ar-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  211. package/dist/cli/wp-files/latest/languages/ar-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  212. package/dist/cli/wp-files/latest/languages/ar-ca28138671823450e87dfd354f7afc6b.json +0 -1
  213. package/dist/cli/wp-files/latest/languages/ar-daeb084aab42199d26393a56c3465bc0.json +0 -1
  214. package/dist/cli/wp-files/latest/languages/ar-e2791ba830489d23043be8650a22a22b.json +0 -1
  215. package/dist/cli/wp-files/latest/languages/ar-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  216. package/dist/cli/wp-files/latest/languages/ar-e53526243551a102928735ec9eed4edf.json +0 -1
  217. package/dist/cli/wp-files/latest/languages/ar-f575f481034e90e21d832e415fd95fcf.json +0 -1
  218. package/dist/cli/wp-files/latest/languages/ar-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  219. package/dist/cli/wp-files/latest/languages/ar-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  220. package/dist/cli/wp-files/latest/languages/ar.l10n.php +0 -372
  221. package/dist/cli/wp-files/latest/languages/continents-cities-ar.l10n.php +0 -2
  222. package/dist/cli/wp-files/latest/languages/continents-cities-de_DE.l10n.php +0 -2
  223. package/dist/cli/wp-files/latest/languages/continents-cities-es_ES.l10n.php +0 -2
  224. package/dist/cli/wp-files/latest/languages/continents-cities-fr_FR.l10n.php +0 -2
  225. package/dist/cli/wp-files/latest/languages/continents-cities-he_IL.l10n.php +0 -2
  226. package/dist/cli/wp-files/latest/languages/continents-cities-hu_HU.l10n.php +0 -2
  227. package/dist/cli/wp-files/latest/languages/continents-cities-id_ID.l10n.php +0 -2
  228. package/dist/cli/wp-files/latest/languages/continents-cities-it_IT.l10n.php +0 -2
  229. package/dist/cli/wp-files/latest/languages/continents-cities-ja.l10n.php +0 -2
  230. package/dist/cli/wp-files/latest/languages/continents-cities-ko_KR.l10n.php +0 -2
  231. package/dist/cli/wp-files/latest/languages/continents-cities-nl_NL.l10n.php +0 -2
  232. package/dist/cli/wp-files/latest/languages/continents-cities-pl_PL.l10n.php +0 -2
  233. package/dist/cli/wp-files/latest/languages/continents-cities-pt_BR.l10n.php +0 -2
  234. package/dist/cli/wp-files/latest/languages/continents-cities-ru_RU.l10n.php +0 -2
  235. package/dist/cli/wp-files/latest/languages/continents-cities-sv_SE.l10n.php +0 -2
  236. package/dist/cli/wp-files/latest/languages/continents-cities-tr_TR.l10n.php +0 -2
  237. package/dist/cli/wp-files/latest/languages/continents-cities-uk.l10n.php +0 -2
  238. package/dist/cli/wp-files/latest/languages/continents-cities-vi.l10n.php +0 -2
  239. package/dist/cli/wp-files/latest/languages/continents-cities-zh_CN.l10n.php +0 -2
  240. package/dist/cli/wp-files/latest/languages/continents-cities-zh_TW.l10n.php +0 -2
  241. package/dist/cli/wp-files/latest/languages/de_DE-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  242. package/dist/cli/wp-files/latest/languages/de_DE-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  243. package/dist/cli/wp-files/latest/languages/de_DE-0eebe503220d4a00341eb011b92769b4.json +0 -1
  244. package/dist/cli/wp-files/latest/languages/de_DE-17179a5f2930647c89151e365f843b6e.json +0 -1
  245. package/dist/cli/wp-files/latest/languages/de_DE-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  246. package/dist/cli/wp-files/latest/languages/de_DE-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  247. package/dist/cli/wp-files/latest/languages/de_DE-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  248. package/dist/cli/wp-files/latest/languages/de_DE-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  249. package/dist/cli/wp-files/latest/languages/de_DE-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  250. package/dist/cli/wp-files/latest/languages/de_DE-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  251. package/dist/cli/wp-files/latest/languages/de_DE-270d72d1cff17227d37f3244759cbecb.json +0 -1
  252. package/dist/cli/wp-files/latest/languages/de_DE-28b3c3d595952907e08d98287077426c.json +0 -1
  253. package/dist/cli/wp-files/latest/languages/de_DE-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  254. package/dist/cli/wp-files/latest/languages/de_DE-2c5d274ea625dd91556554ad82901529.json +0 -1
  255. package/dist/cli/wp-files/latest/languages/de_DE-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  256. package/dist/cli/wp-files/latest/languages/de_DE-440127dd25bde48a531ded36f33e927b.json +0 -1
  257. package/dist/cli/wp-files/latest/languages/de_DE-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  258. package/dist/cli/wp-files/latest/languages/de_DE-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  259. package/dist/cli/wp-files/latest/languages/de_DE-4bfa11da57ff2600004bb500368247f4.json +0 -1
  260. package/dist/cli/wp-files/latest/languages/de_DE-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  261. package/dist/cli/wp-files/latest/languages/de_DE-5251f7623766a714c8207c7edb938628.json +0 -1
  262. package/dist/cli/wp-files/latest/languages/de_DE-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  263. package/dist/cli/wp-files/latest/languages/de_DE-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  264. package/dist/cli/wp-files/latest/languages/de_DE-6025add6bde16aaeb12787d250f9b414.json +0 -1
  265. package/dist/cli/wp-files/latest/languages/de_DE-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  266. package/dist/cli/wp-files/latest/languages/de_DE-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  267. package/dist/cli/wp-files/latest/languages/de_DE-7233008897033de5ee0d14f86a42a65a.json +0 -1
  268. package/dist/cli/wp-files/latest/languages/de_DE-7289286ed59e90a8f36ae797df62220b.json +0 -1
  269. package/dist/cli/wp-files/latest/languages/de_DE-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  270. package/dist/cli/wp-files/latest/languages/de_DE-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  271. package/dist/cli/wp-files/latest/languages/de_DE-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  272. package/dist/cli/wp-files/latest/languages/de_DE-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  273. package/dist/cli/wp-files/latest/languages/de_DE-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  274. package/dist/cli/wp-files/latest/languages/de_DE-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  275. package/dist/cli/wp-files/latest/languages/de_DE-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  276. package/dist/cli/wp-files/latest/languages/de_DE-81c889563f09dd13de1701135dc62941.json +0 -1
  277. package/dist/cli/wp-files/latest/languages/de_DE-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  278. package/dist/cli/wp-files/latest/languages/de_DE-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  279. package/dist/cli/wp-files/latest/languages/de_DE-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  280. package/dist/cli/wp-files/latest/languages/de_DE-93882e8f9976382d7f724ac595ed7151.json +0 -1
  281. package/dist/cli/wp-files/latest/languages/de_DE-947c76bb5095da30e16668eec15406b2.json +0 -1
  282. package/dist/cli/wp-files/latest/languages/de_DE-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  283. package/dist/cli/wp-files/latest/languages/de_DE-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  284. package/dist/cli/wp-files/latest/languages/de_DE-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  285. package/dist/cli/wp-files/latest/languages/de_DE-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  286. package/dist/cli/wp-files/latest/languages/de_DE-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  287. package/dist/cli/wp-files/latest/languages/de_DE-a9dc201dcd011fe71849743133052619.json +0 -1
  288. package/dist/cli/wp-files/latest/languages/de_DE-aabfce98c410957228848dc581e3c420.json +0 -1
  289. package/dist/cli/wp-files/latest/languages/de_DE-ac23eee47530ac63a1178c827db28087.json +0 -1
  290. package/dist/cli/wp-files/latest/languages/de_DE-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  291. package/dist/cli/wp-files/latest/languages/de_DE-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  292. package/dist/cli/wp-files/latest/languages/de_DE-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  293. package/dist/cli/wp-files/latest/languages/de_DE-ca28138671823450e87dfd354f7afc6b.json +0 -1
  294. package/dist/cli/wp-files/latest/languages/de_DE-daeb084aab42199d26393a56c3465bc0.json +0 -1
  295. package/dist/cli/wp-files/latest/languages/de_DE-e2791ba830489d23043be8650a22a22b.json +0 -1
  296. package/dist/cli/wp-files/latest/languages/de_DE-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  297. package/dist/cli/wp-files/latest/languages/de_DE-e53526243551a102928735ec9eed4edf.json +0 -1
  298. package/dist/cli/wp-files/latest/languages/de_DE-f575f481034e90e21d832e415fd95fcf.json +0 -1
  299. package/dist/cli/wp-files/latest/languages/de_DE-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  300. package/dist/cli/wp-files/latest/languages/de_DE-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  301. package/dist/cli/wp-files/latest/languages/de_DE.l10n.php +0 -366
  302. package/dist/cli/wp-files/latest/languages/es_ES-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  303. package/dist/cli/wp-files/latest/languages/es_ES-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  304. package/dist/cli/wp-files/latest/languages/es_ES-0eebe503220d4a00341eb011b92769b4.json +0 -1
  305. package/dist/cli/wp-files/latest/languages/es_ES-17179a5f2930647c89151e365f843b6e.json +0 -1
  306. package/dist/cli/wp-files/latest/languages/es_ES-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  307. package/dist/cli/wp-files/latest/languages/es_ES-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  308. package/dist/cli/wp-files/latest/languages/es_ES-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  309. package/dist/cli/wp-files/latest/languages/es_ES-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  310. package/dist/cli/wp-files/latest/languages/es_ES-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  311. package/dist/cli/wp-files/latest/languages/es_ES-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  312. package/dist/cli/wp-files/latest/languages/es_ES-270d72d1cff17227d37f3244759cbecb.json +0 -1
  313. package/dist/cli/wp-files/latest/languages/es_ES-28b3c3d595952907e08d98287077426c.json +0 -1
  314. package/dist/cli/wp-files/latest/languages/es_ES-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  315. package/dist/cli/wp-files/latest/languages/es_ES-2c5d274ea625dd91556554ad82901529.json +0 -1
  316. package/dist/cli/wp-files/latest/languages/es_ES-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  317. package/dist/cli/wp-files/latest/languages/es_ES-440127dd25bde48a531ded36f33e927b.json +0 -1
  318. package/dist/cli/wp-files/latest/languages/es_ES-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  319. package/dist/cli/wp-files/latest/languages/es_ES-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  320. package/dist/cli/wp-files/latest/languages/es_ES-4bfa11da57ff2600004bb500368247f4.json +0 -1
  321. package/dist/cli/wp-files/latest/languages/es_ES-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  322. package/dist/cli/wp-files/latest/languages/es_ES-5251f7623766a714c8207c7edb938628.json +0 -1
  323. package/dist/cli/wp-files/latest/languages/es_ES-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  324. package/dist/cli/wp-files/latest/languages/es_ES-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  325. package/dist/cli/wp-files/latest/languages/es_ES-6025add6bde16aaeb12787d250f9b414.json +0 -1
  326. package/dist/cli/wp-files/latest/languages/es_ES-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  327. package/dist/cli/wp-files/latest/languages/es_ES-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  328. package/dist/cli/wp-files/latest/languages/es_ES-7233008897033de5ee0d14f86a42a65a.json +0 -1
  329. package/dist/cli/wp-files/latest/languages/es_ES-7289286ed59e90a8f36ae797df62220b.json +0 -1
  330. package/dist/cli/wp-files/latest/languages/es_ES-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  331. package/dist/cli/wp-files/latest/languages/es_ES-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  332. package/dist/cli/wp-files/latest/languages/es_ES-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  333. package/dist/cli/wp-files/latest/languages/es_ES-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  334. package/dist/cli/wp-files/latest/languages/es_ES-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  335. package/dist/cli/wp-files/latest/languages/es_ES-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  336. package/dist/cli/wp-files/latest/languages/es_ES-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  337. package/dist/cli/wp-files/latest/languages/es_ES-81c889563f09dd13de1701135dc62941.json +0 -1
  338. package/dist/cli/wp-files/latest/languages/es_ES-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  339. package/dist/cli/wp-files/latest/languages/es_ES-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  340. package/dist/cli/wp-files/latest/languages/es_ES-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  341. package/dist/cli/wp-files/latest/languages/es_ES-93882e8f9976382d7f724ac595ed7151.json +0 -1
  342. package/dist/cli/wp-files/latest/languages/es_ES-947c76bb5095da30e16668eec15406b2.json +0 -1
  343. package/dist/cli/wp-files/latest/languages/es_ES-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  344. package/dist/cli/wp-files/latest/languages/es_ES-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  345. package/dist/cli/wp-files/latest/languages/es_ES-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  346. package/dist/cli/wp-files/latest/languages/es_ES-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  347. package/dist/cli/wp-files/latest/languages/es_ES-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  348. package/dist/cli/wp-files/latest/languages/es_ES-a9dc201dcd011fe71849743133052619.json +0 -1
  349. package/dist/cli/wp-files/latest/languages/es_ES-aabfce98c410957228848dc581e3c420.json +0 -1
  350. package/dist/cli/wp-files/latest/languages/es_ES-ac23eee47530ac63a1178c827db28087.json +0 -1
  351. package/dist/cli/wp-files/latest/languages/es_ES-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  352. package/dist/cli/wp-files/latest/languages/es_ES-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  353. package/dist/cli/wp-files/latest/languages/es_ES-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  354. package/dist/cli/wp-files/latest/languages/es_ES-ca28138671823450e87dfd354f7afc6b.json +0 -1
  355. package/dist/cli/wp-files/latest/languages/es_ES-daeb084aab42199d26393a56c3465bc0.json +0 -1
  356. package/dist/cli/wp-files/latest/languages/es_ES-e2791ba830489d23043be8650a22a22b.json +0 -1
  357. package/dist/cli/wp-files/latest/languages/es_ES-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  358. package/dist/cli/wp-files/latest/languages/es_ES-e53526243551a102928735ec9eed4edf.json +0 -1
  359. package/dist/cli/wp-files/latest/languages/es_ES-f575f481034e90e21d832e415fd95fcf.json +0 -1
  360. package/dist/cli/wp-files/latest/languages/es_ES-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  361. package/dist/cli/wp-files/latest/languages/es_ES-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  362. package/dist/cli/wp-files/latest/languages/es_ES.l10n.php +0 -370
  363. package/dist/cli/wp-files/latest/languages/fr_FR-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  364. package/dist/cli/wp-files/latest/languages/fr_FR-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  365. package/dist/cli/wp-files/latest/languages/fr_FR-0eebe503220d4a00341eb011b92769b4.json +0 -1
  366. package/dist/cli/wp-files/latest/languages/fr_FR-17179a5f2930647c89151e365f843b6e.json +0 -1
  367. package/dist/cli/wp-files/latest/languages/fr_FR-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  368. package/dist/cli/wp-files/latest/languages/fr_FR-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  369. package/dist/cli/wp-files/latest/languages/fr_FR-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  370. package/dist/cli/wp-files/latest/languages/fr_FR-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  371. package/dist/cli/wp-files/latest/languages/fr_FR-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  372. package/dist/cli/wp-files/latest/languages/fr_FR-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  373. package/dist/cli/wp-files/latest/languages/fr_FR-270d72d1cff17227d37f3244759cbecb.json +0 -1
  374. package/dist/cli/wp-files/latest/languages/fr_FR-28b3c3d595952907e08d98287077426c.json +0 -1
  375. package/dist/cli/wp-files/latest/languages/fr_FR-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  376. package/dist/cli/wp-files/latest/languages/fr_FR-2c5d274ea625dd91556554ad82901529.json +0 -1
  377. package/dist/cli/wp-files/latest/languages/fr_FR-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  378. package/dist/cli/wp-files/latest/languages/fr_FR-440127dd25bde48a531ded36f33e927b.json +0 -1
  379. package/dist/cli/wp-files/latest/languages/fr_FR-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  380. package/dist/cli/wp-files/latest/languages/fr_FR-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  381. package/dist/cli/wp-files/latest/languages/fr_FR-4bfa11da57ff2600004bb500368247f4.json +0 -1
  382. package/dist/cli/wp-files/latest/languages/fr_FR-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  383. package/dist/cli/wp-files/latest/languages/fr_FR-5251f7623766a714c8207c7edb938628.json +0 -1
  384. package/dist/cli/wp-files/latest/languages/fr_FR-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  385. package/dist/cli/wp-files/latest/languages/fr_FR-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  386. package/dist/cli/wp-files/latest/languages/fr_FR-6025add6bde16aaeb12787d250f9b414.json +0 -1
  387. package/dist/cli/wp-files/latest/languages/fr_FR-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  388. package/dist/cli/wp-files/latest/languages/fr_FR-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  389. package/dist/cli/wp-files/latest/languages/fr_FR-7233008897033de5ee0d14f86a42a65a.json +0 -1
  390. package/dist/cli/wp-files/latest/languages/fr_FR-7289286ed59e90a8f36ae797df62220b.json +0 -1
  391. package/dist/cli/wp-files/latest/languages/fr_FR-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  392. package/dist/cli/wp-files/latest/languages/fr_FR-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  393. package/dist/cli/wp-files/latest/languages/fr_FR-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  394. package/dist/cli/wp-files/latest/languages/fr_FR-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  395. package/dist/cli/wp-files/latest/languages/fr_FR-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  396. package/dist/cli/wp-files/latest/languages/fr_FR-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  397. package/dist/cli/wp-files/latest/languages/fr_FR-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  398. package/dist/cli/wp-files/latest/languages/fr_FR-81c889563f09dd13de1701135dc62941.json +0 -1
  399. package/dist/cli/wp-files/latest/languages/fr_FR-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  400. package/dist/cli/wp-files/latest/languages/fr_FR-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  401. package/dist/cli/wp-files/latest/languages/fr_FR-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  402. package/dist/cli/wp-files/latest/languages/fr_FR-93882e8f9976382d7f724ac595ed7151.json +0 -1
  403. package/dist/cli/wp-files/latest/languages/fr_FR-947c76bb5095da30e16668eec15406b2.json +0 -1
  404. package/dist/cli/wp-files/latest/languages/fr_FR-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  405. package/dist/cli/wp-files/latest/languages/fr_FR-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  406. package/dist/cli/wp-files/latest/languages/fr_FR-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  407. package/dist/cli/wp-files/latest/languages/fr_FR-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  408. package/dist/cli/wp-files/latest/languages/fr_FR-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  409. package/dist/cli/wp-files/latest/languages/fr_FR-a9dc201dcd011fe71849743133052619.json +0 -1
  410. package/dist/cli/wp-files/latest/languages/fr_FR-aabfce98c410957228848dc581e3c420.json +0 -1
  411. package/dist/cli/wp-files/latest/languages/fr_FR-ac23eee47530ac63a1178c827db28087.json +0 -1
  412. package/dist/cli/wp-files/latest/languages/fr_FR-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  413. package/dist/cli/wp-files/latest/languages/fr_FR-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  414. package/dist/cli/wp-files/latest/languages/fr_FR-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  415. package/dist/cli/wp-files/latest/languages/fr_FR-ca28138671823450e87dfd354f7afc6b.json +0 -1
  416. package/dist/cli/wp-files/latest/languages/fr_FR-daeb084aab42199d26393a56c3465bc0.json +0 -1
  417. package/dist/cli/wp-files/latest/languages/fr_FR-e2791ba830489d23043be8650a22a22b.json +0 -1
  418. package/dist/cli/wp-files/latest/languages/fr_FR-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  419. package/dist/cli/wp-files/latest/languages/fr_FR-e53526243551a102928735ec9eed4edf.json +0 -1
  420. package/dist/cli/wp-files/latest/languages/fr_FR-f575f481034e90e21d832e415fd95fcf.json +0 -1
  421. package/dist/cli/wp-files/latest/languages/fr_FR-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  422. package/dist/cli/wp-files/latest/languages/fr_FR-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  423. package/dist/cli/wp-files/latest/languages/fr_FR.l10n.php +0 -365
  424. package/dist/cli/wp-files/latest/languages/he_IL-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  425. package/dist/cli/wp-files/latest/languages/he_IL-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  426. package/dist/cli/wp-files/latest/languages/he_IL-0eebe503220d4a00341eb011b92769b4.json +0 -1
  427. package/dist/cli/wp-files/latest/languages/he_IL-17179a5f2930647c89151e365f843b6e.json +0 -1
  428. package/dist/cli/wp-files/latest/languages/he_IL-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  429. package/dist/cli/wp-files/latest/languages/he_IL-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  430. package/dist/cli/wp-files/latest/languages/he_IL-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  431. package/dist/cli/wp-files/latest/languages/he_IL-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  432. package/dist/cli/wp-files/latest/languages/he_IL-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  433. package/dist/cli/wp-files/latest/languages/he_IL-28b3c3d595952907e08d98287077426c.json +0 -1
  434. package/dist/cli/wp-files/latest/languages/he_IL-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  435. package/dist/cli/wp-files/latest/languages/he_IL-2c5d274ea625dd91556554ad82901529.json +0 -1
  436. package/dist/cli/wp-files/latest/languages/he_IL-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  437. package/dist/cli/wp-files/latest/languages/he_IL-440127dd25bde48a531ded36f33e927b.json +0 -1
  438. package/dist/cli/wp-files/latest/languages/he_IL-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  439. package/dist/cli/wp-files/latest/languages/he_IL-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  440. package/dist/cli/wp-files/latest/languages/he_IL-4bfa11da57ff2600004bb500368247f4.json +0 -1
  441. package/dist/cli/wp-files/latest/languages/he_IL-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  442. package/dist/cli/wp-files/latest/languages/he_IL-5251f7623766a714c8207c7edb938628.json +0 -1
  443. package/dist/cli/wp-files/latest/languages/he_IL-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  444. package/dist/cli/wp-files/latest/languages/he_IL-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  445. package/dist/cli/wp-files/latest/languages/he_IL-6025add6bde16aaeb12787d250f9b414.json +0 -1
  446. package/dist/cli/wp-files/latest/languages/he_IL-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  447. package/dist/cli/wp-files/latest/languages/he_IL-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  448. package/dist/cli/wp-files/latest/languages/he_IL-7233008897033de5ee0d14f86a42a65a.json +0 -1
  449. package/dist/cli/wp-files/latest/languages/he_IL-7289286ed59e90a8f36ae797df62220b.json +0 -1
  450. package/dist/cli/wp-files/latest/languages/he_IL-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  451. package/dist/cli/wp-files/latest/languages/he_IL-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  452. package/dist/cli/wp-files/latest/languages/he_IL-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  453. package/dist/cli/wp-files/latest/languages/he_IL-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  454. package/dist/cli/wp-files/latest/languages/he_IL-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  455. package/dist/cli/wp-files/latest/languages/he_IL-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  456. package/dist/cli/wp-files/latest/languages/he_IL-81c889563f09dd13de1701135dc62941.json +0 -1
  457. package/dist/cli/wp-files/latest/languages/he_IL-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  458. package/dist/cli/wp-files/latest/languages/he_IL-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  459. package/dist/cli/wp-files/latest/languages/he_IL-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  460. package/dist/cli/wp-files/latest/languages/he_IL-93882e8f9976382d7f724ac595ed7151.json +0 -1
  461. package/dist/cli/wp-files/latest/languages/he_IL-947c76bb5095da30e16668eec15406b2.json +0 -1
  462. package/dist/cli/wp-files/latest/languages/he_IL-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  463. package/dist/cli/wp-files/latest/languages/he_IL-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  464. package/dist/cli/wp-files/latest/languages/he_IL-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  465. package/dist/cli/wp-files/latest/languages/he_IL-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  466. package/dist/cli/wp-files/latest/languages/he_IL-a9dc201dcd011fe71849743133052619.json +0 -1
  467. package/dist/cli/wp-files/latest/languages/he_IL-aabfce98c410957228848dc581e3c420.json +0 -1
  468. package/dist/cli/wp-files/latest/languages/he_IL-ac23eee47530ac63a1178c827db28087.json +0 -1
  469. package/dist/cli/wp-files/latest/languages/he_IL-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  470. package/dist/cli/wp-files/latest/languages/he_IL-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  471. package/dist/cli/wp-files/latest/languages/he_IL-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  472. package/dist/cli/wp-files/latest/languages/he_IL-ca28138671823450e87dfd354f7afc6b.json +0 -1
  473. package/dist/cli/wp-files/latest/languages/he_IL-daeb084aab42199d26393a56c3465bc0.json +0 -1
  474. package/dist/cli/wp-files/latest/languages/he_IL-e2791ba830489d23043be8650a22a22b.json +0 -1
  475. package/dist/cli/wp-files/latest/languages/he_IL-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  476. package/dist/cli/wp-files/latest/languages/he_IL-e53526243551a102928735ec9eed4edf.json +0 -1
  477. package/dist/cli/wp-files/latest/languages/he_IL-f575f481034e90e21d832e415fd95fcf.json +0 -1
  478. package/dist/cli/wp-files/latest/languages/he_IL-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  479. package/dist/cli/wp-files/latest/languages/he_IL.l10n.php +0 -329
  480. package/dist/cli/wp-files/latest/languages/hu_HU-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  481. package/dist/cli/wp-files/latest/languages/hu_HU-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  482. package/dist/cli/wp-files/latest/languages/hu_HU-0eebe503220d4a00341eb011b92769b4.json +0 -1
  483. package/dist/cli/wp-files/latest/languages/hu_HU-17179a5f2930647c89151e365f843b6e.json +0 -1
  484. package/dist/cli/wp-files/latest/languages/hu_HU-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  485. package/dist/cli/wp-files/latest/languages/hu_HU-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  486. package/dist/cli/wp-files/latest/languages/hu_HU-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  487. package/dist/cli/wp-files/latest/languages/hu_HU-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  488. package/dist/cli/wp-files/latest/languages/hu_HU-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  489. package/dist/cli/wp-files/latest/languages/hu_HU-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  490. package/dist/cli/wp-files/latest/languages/hu_HU-270d72d1cff17227d37f3244759cbecb.json +0 -1
  491. package/dist/cli/wp-files/latest/languages/hu_HU-28b3c3d595952907e08d98287077426c.json +0 -1
  492. package/dist/cli/wp-files/latest/languages/hu_HU-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  493. package/dist/cli/wp-files/latest/languages/hu_HU-2c5d274ea625dd91556554ad82901529.json +0 -1
  494. package/dist/cli/wp-files/latest/languages/hu_HU-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  495. package/dist/cli/wp-files/latest/languages/hu_HU-440127dd25bde48a531ded36f33e927b.json +0 -1
  496. package/dist/cli/wp-files/latest/languages/hu_HU-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  497. package/dist/cli/wp-files/latest/languages/hu_HU-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  498. package/dist/cli/wp-files/latest/languages/hu_HU-4bfa11da57ff2600004bb500368247f4.json +0 -1
  499. package/dist/cli/wp-files/latest/languages/hu_HU-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  500. package/dist/cli/wp-files/latest/languages/hu_HU-5251f7623766a714c8207c7edb938628.json +0 -1
  501. package/dist/cli/wp-files/latest/languages/hu_HU-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  502. package/dist/cli/wp-files/latest/languages/hu_HU-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  503. package/dist/cli/wp-files/latest/languages/hu_HU-6025add6bde16aaeb12787d250f9b414.json +0 -1
  504. package/dist/cli/wp-files/latest/languages/hu_HU-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  505. package/dist/cli/wp-files/latest/languages/hu_HU-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  506. package/dist/cli/wp-files/latest/languages/hu_HU-7233008897033de5ee0d14f86a42a65a.json +0 -1
  507. package/dist/cli/wp-files/latest/languages/hu_HU-7289286ed59e90a8f36ae797df62220b.json +0 -1
  508. package/dist/cli/wp-files/latest/languages/hu_HU-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  509. package/dist/cli/wp-files/latest/languages/hu_HU-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  510. package/dist/cli/wp-files/latest/languages/hu_HU-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  511. package/dist/cli/wp-files/latest/languages/hu_HU-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  512. package/dist/cli/wp-files/latest/languages/hu_HU-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  513. package/dist/cli/wp-files/latest/languages/hu_HU-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  514. package/dist/cli/wp-files/latest/languages/hu_HU-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  515. package/dist/cli/wp-files/latest/languages/hu_HU-81c889563f09dd13de1701135dc62941.json +0 -1
  516. package/dist/cli/wp-files/latest/languages/hu_HU-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  517. package/dist/cli/wp-files/latest/languages/hu_HU-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  518. package/dist/cli/wp-files/latest/languages/hu_HU-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  519. package/dist/cli/wp-files/latest/languages/hu_HU-93882e8f9976382d7f724ac595ed7151.json +0 -1
  520. package/dist/cli/wp-files/latest/languages/hu_HU-947c76bb5095da30e16668eec15406b2.json +0 -1
  521. package/dist/cli/wp-files/latest/languages/hu_HU-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  522. package/dist/cli/wp-files/latest/languages/hu_HU-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  523. package/dist/cli/wp-files/latest/languages/hu_HU-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  524. package/dist/cli/wp-files/latest/languages/hu_HU-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  525. package/dist/cli/wp-files/latest/languages/hu_HU-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  526. package/dist/cli/wp-files/latest/languages/hu_HU-a9dc201dcd011fe71849743133052619.json +0 -1
  527. package/dist/cli/wp-files/latest/languages/hu_HU-aabfce98c410957228848dc581e3c420.json +0 -1
  528. package/dist/cli/wp-files/latest/languages/hu_HU-ac23eee47530ac63a1178c827db28087.json +0 -1
  529. package/dist/cli/wp-files/latest/languages/hu_HU-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  530. package/dist/cli/wp-files/latest/languages/hu_HU-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  531. package/dist/cli/wp-files/latest/languages/hu_HU-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  532. package/dist/cli/wp-files/latest/languages/hu_HU-ca28138671823450e87dfd354f7afc6b.json +0 -1
  533. package/dist/cli/wp-files/latest/languages/hu_HU-daeb084aab42199d26393a56c3465bc0.json +0 -1
  534. package/dist/cli/wp-files/latest/languages/hu_HU-e2791ba830489d23043be8650a22a22b.json +0 -1
  535. package/dist/cli/wp-files/latest/languages/hu_HU-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  536. package/dist/cli/wp-files/latest/languages/hu_HU-e53526243551a102928735ec9eed4edf.json +0 -1
  537. package/dist/cli/wp-files/latest/languages/hu_HU-f575f481034e90e21d832e415fd95fcf.json +0 -1
  538. package/dist/cli/wp-files/latest/languages/hu_HU-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  539. package/dist/cli/wp-files/latest/languages/hu_HU-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  540. package/dist/cli/wp-files/latest/languages/hu_HU.l10n.php +0 -370
  541. package/dist/cli/wp-files/latest/languages/id_ID-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  542. package/dist/cli/wp-files/latest/languages/id_ID-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  543. package/dist/cli/wp-files/latest/languages/id_ID-0eebe503220d4a00341eb011b92769b4.json +0 -1
  544. package/dist/cli/wp-files/latest/languages/id_ID-17179a5f2930647c89151e365f843b6e.json +0 -1
  545. package/dist/cli/wp-files/latest/languages/id_ID-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  546. package/dist/cli/wp-files/latest/languages/id_ID-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  547. package/dist/cli/wp-files/latest/languages/id_ID-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  548. package/dist/cli/wp-files/latest/languages/id_ID-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  549. package/dist/cli/wp-files/latest/languages/id_ID-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  550. package/dist/cli/wp-files/latest/languages/id_ID-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  551. package/dist/cli/wp-files/latest/languages/id_ID-270d72d1cff17227d37f3244759cbecb.json +0 -1
  552. package/dist/cli/wp-files/latest/languages/id_ID-28b3c3d595952907e08d98287077426c.json +0 -1
  553. package/dist/cli/wp-files/latest/languages/id_ID-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  554. package/dist/cli/wp-files/latest/languages/id_ID-2c5d274ea625dd91556554ad82901529.json +0 -1
  555. package/dist/cli/wp-files/latest/languages/id_ID-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  556. package/dist/cli/wp-files/latest/languages/id_ID-440127dd25bde48a531ded36f33e927b.json +0 -1
  557. package/dist/cli/wp-files/latest/languages/id_ID-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  558. package/dist/cli/wp-files/latest/languages/id_ID-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  559. package/dist/cli/wp-files/latest/languages/id_ID-4bfa11da57ff2600004bb500368247f4.json +0 -1
  560. package/dist/cli/wp-files/latest/languages/id_ID-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  561. package/dist/cli/wp-files/latest/languages/id_ID-5251f7623766a714c8207c7edb938628.json +0 -1
  562. package/dist/cli/wp-files/latest/languages/id_ID-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  563. package/dist/cli/wp-files/latest/languages/id_ID-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  564. package/dist/cli/wp-files/latest/languages/id_ID-6025add6bde16aaeb12787d250f9b414.json +0 -1
  565. package/dist/cli/wp-files/latest/languages/id_ID-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  566. package/dist/cli/wp-files/latest/languages/id_ID-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  567. package/dist/cli/wp-files/latest/languages/id_ID-7233008897033de5ee0d14f86a42a65a.json +0 -1
  568. package/dist/cli/wp-files/latest/languages/id_ID-7289286ed59e90a8f36ae797df62220b.json +0 -1
  569. package/dist/cli/wp-files/latest/languages/id_ID-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  570. package/dist/cli/wp-files/latest/languages/id_ID-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  571. package/dist/cli/wp-files/latest/languages/id_ID-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  572. package/dist/cli/wp-files/latest/languages/id_ID-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  573. package/dist/cli/wp-files/latest/languages/id_ID-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  574. package/dist/cli/wp-files/latest/languages/id_ID-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  575. package/dist/cli/wp-files/latest/languages/id_ID-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  576. package/dist/cli/wp-files/latest/languages/id_ID-81c889563f09dd13de1701135dc62941.json +0 -1
  577. package/dist/cli/wp-files/latest/languages/id_ID-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  578. package/dist/cli/wp-files/latest/languages/id_ID-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  579. package/dist/cli/wp-files/latest/languages/id_ID-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  580. package/dist/cli/wp-files/latest/languages/id_ID-93882e8f9976382d7f724ac595ed7151.json +0 -1
  581. package/dist/cli/wp-files/latest/languages/id_ID-947c76bb5095da30e16668eec15406b2.json +0 -1
  582. package/dist/cli/wp-files/latest/languages/id_ID-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  583. package/dist/cli/wp-files/latest/languages/id_ID-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  584. package/dist/cli/wp-files/latest/languages/id_ID-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  585. package/dist/cli/wp-files/latest/languages/id_ID-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  586. package/dist/cli/wp-files/latest/languages/id_ID-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  587. package/dist/cli/wp-files/latest/languages/id_ID-a9dc201dcd011fe71849743133052619.json +0 -1
  588. package/dist/cli/wp-files/latest/languages/id_ID-aabfce98c410957228848dc581e3c420.json +0 -1
  589. package/dist/cli/wp-files/latest/languages/id_ID-ac23eee47530ac63a1178c827db28087.json +0 -1
  590. package/dist/cli/wp-files/latest/languages/id_ID-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  591. package/dist/cli/wp-files/latest/languages/id_ID-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  592. package/dist/cli/wp-files/latest/languages/id_ID-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  593. package/dist/cli/wp-files/latest/languages/id_ID-ca28138671823450e87dfd354f7afc6b.json +0 -1
  594. package/dist/cli/wp-files/latest/languages/id_ID-daeb084aab42199d26393a56c3465bc0.json +0 -1
  595. package/dist/cli/wp-files/latest/languages/id_ID-e2791ba830489d23043be8650a22a22b.json +0 -1
  596. package/dist/cli/wp-files/latest/languages/id_ID-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  597. package/dist/cli/wp-files/latest/languages/id_ID-e53526243551a102928735ec9eed4edf.json +0 -1
  598. package/dist/cli/wp-files/latest/languages/id_ID-f575f481034e90e21d832e415fd95fcf.json +0 -1
  599. package/dist/cli/wp-files/latest/languages/id_ID-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  600. package/dist/cli/wp-files/latest/languages/id_ID-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  601. package/dist/cli/wp-files/latest/languages/id_ID.l10n.php +0 -370
  602. package/dist/cli/wp-files/latest/languages/it_IT-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  603. package/dist/cli/wp-files/latest/languages/it_IT-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  604. package/dist/cli/wp-files/latest/languages/it_IT-0eebe503220d4a00341eb011b92769b4.json +0 -1
  605. package/dist/cli/wp-files/latest/languages/it_IT-17179a5f2930647c89151e365f843b6e.json +0 -1
  606. package/dist/cli/wp-files/latest/languages/it_IT-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  607. package/dist/cli/wp-files/latest/languages/it_IT-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  608. package/dist/cli/wp-files/latest/languages/it_IT-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  609. package/dist/cli/wp-files/latest/languages/it_IT-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  610. package/dist/cli/wp-files/latest/languages/it_IT-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  611. package/dist/cli/wp-files/latest/languages/it_IT-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  612. package/dist/cli/wp-files/latest/languages/it_IT-270d72d1cff17227d37f3244759cbecb.json +0 -1
  613. package/dist/cli/wp-files/latest/languages/it_IT-28b3c3d595952907e08d98287077426c.json +0 -1
  614. package/dist/cli/wp-files/latest/languages/it_IT-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  615. package/dist/cli/wp-files/latest/languages/it_IT-2c5d274ea625dd91556554ad82901529.json +0 -1
  616. package/dist/cli/wp-files/latest/languages/it_IT-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  617. package/dist/cli/wp-files/latest/languages/it_IT-440127dd25bde48a531ded36f33e927b.json +0 -1
  618. package/dist/cli/wp-files/latest/languages/it_IT-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  619. package/dist/cli/wp-files/latest/languages/it_IT-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  620. package/dist/cli/wp-files/latest/languages/it_IT-4bfa11da57ff2600004bb500368247f4.json +0 -1
  621. package/dist/cli/wp-files/latest/languages/it_IT-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  622. package/dist/cli/wp-files/latest/languages/it_IT-5251f7623766a714c8207c7edb938628.json +0 -1
  623. package/dist/cli/wp-files/latest/languages/it_IT-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  624. package/dist/cli/wp-files/latest/languages/it_IT-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  625. package/dist/cli/wp-files/latest/languages/it_IT-6025add6bde16aaeb12787d250f9b414.json +0 -1
  626. package/dist/cli/wp-files/latest/languages/it_IT-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  627. package/dist/cli/wp-files/latest/languages/it_IT-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  628. package/dist/cli/wp-files/latest/languages/it_IT-7233008897033de5ee0d14f86a42a65a.json +0 -1
  629. package/dist/cli/wp-files/latest/languages/it_IT-7289286ed59e90a8f36ae797df62220b.json +0 -1
  630. package/dist/cli/wp-files/latest/languages/it_IT-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  631. package/dist/cli/wp-files/latest/languages/it_IT-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  632. package/dist/cli/wp-files/latest/languages/it_IT-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  633. package/dist/cli/wp-files/latest/languages/it_IT-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  634. package/dist/cli/wp-files/latest/languages/it_IT-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  635. package/dist/cli/wp-files/latest/languages/it_IT-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  636. package/dist/cli/wp-files/latest/languages/it_IT-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  637. package/dist/cli/wp-files/latest/languages/it_IT-81c889563f09dd13de1701135dc62941.json +0 -1
  638. package/dist/cli/wp-files/latest/languages/it_IT-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  639. package/dist/cli/wp-files/latest/languages/it_IT-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  640. package/dist/cli/wp-files/latest/languages/it_IT-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  641. package/dist/cli/wp-files/latest/languages/it_IT-93882e8f9976382d7f724ac595ed7151.json +0 -1
  642. package/dist/cli/wp-files/latest/languages/it_IT-947c76bb5095da30e16668eec15406b2.json +0 -1
  643. package/dist/cli/wp-files/latest/languages/it_IT-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  644. package/dist/cli/wp-files/latest/languages/it_IT-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  645. package/dist/cli/wp-files/latest/languages/it_IT-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  646. package/dist/cli/wp-files/latest/languages/it_IT-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  647. package/dist/cli/wp-files/latest/languages/it_IT-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  648. package/dist/cli/wp-files/latest/languages/it_IT-a9dc201dcd011fe71849743133052619.json +0 -1
  649. package/dist/cli/wp-files/latest/languages/it_IT-aabfce98c410957228848dc581e3c420.json +0 -1
  650. package/dist/cli/wp-files/latest/languages/it_IT-ac23eee47530ac63a1178c827db28087.json +0 -1
  651. package/dist/cli/wp-files/latest/languages/it_IT-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  652. package/dist/cli/wp-files/latest/languages/it_IT-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  653. package/dist/cli/wp-files/latest/languages/it_IT-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  654. package/dist/cli/wp-files/latest/languages/it_IT-ca28138671823450e87dfd354f7afc6b.json +0 -1
  655. package/dist/cli/wp-files/latest/languages/it_IT-daeb084aab42199d26393a56c3465bc0.json +0 -1
  656. package/dist/cli/wp-files/latest/languages/it_IT-e2791ba830489d23043be8650a22a22b.json +0 -1
  657. package/dist/cli/wp-files/latest/languages/it_IT-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  658. package/dist/cli/wp-files/latest/languages/it_IT-e53526243551a102928735ec9eed4edf.json +0 -1
  659. package/dist/cli/wp-files/latest/languages/it_IT-f575f481034e90e21d832e415fd95fcf.json +0 -1
  660. package/dist/cli/wp-files/latest/languages/it_IT-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  661. package/dist/cli/wp-files/latest/languages/it_IT-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  662. package/dist/cli/wp-files/latest/languages/it_IT.l10n.php +0 -369
  663. package/dist/cli/wp-files/latest/languages/ja-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  664. package/dist/cli/wp-files/latest/languages/ja-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  665. package/dist/cli/wp-files/latest/languages/ja-0eebe503220d4a00341eb011b92769b4.json +0 -1
  666. package/dist/cli/wp-files/latest/languages/ja-17179a5f2930647c89151e365f843b6e.json +0 -1
  667. package/dist/cli/wp-files/latest/languages/ja-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  668. package/dist/cli/wp-files/latest/languages/ja-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  669. package/dist/cli/wp-files/latest/languages/ja-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  670. package/dist/cli/wp-files/latest/languages/ja-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  671. package/dist/cli/wp-files/latest/languages/ja-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  672. package/dist/cli/wp-files/latest/languages/ja-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  673. package/dist/cli/wp-files/latest/languages/ja-270d72d1cff17227d37f3244759cbecb.json +0 -1
  674. package/dist/cli/wp-files/latest/languages/ja-28b3c3d595952907e08d98287077426c.json +0 -1
  675. package/dist/cli/wp-files/latest/languages/ja-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  676. package/dist/cli/wp-files/latest/languages/ja-2c5d274ea625dd91556554ad82901529.json +0 -1
  677. package/dist/cli/wp-files/latest/languages/ja-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  678. package/dist/cli/wp-files/latest/languages/ja-440127dd25bde48a531ded36f33e927b.json +0 -1
  679. package/dist/cli/wp-files/latest/languages/ja-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  680. package/dist/cli/wp-files/latest/languages/ja-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  681. package/dist/cli/wp-files/latest/languages/ja-4bfa11da57ff2600004bb500368247f4.json +0 -1
  682. package/dist/cli/wp-files/latest/languages/ja-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  683. package/dist/cli/wp-files/latest/languages/ja-5251f7623766a714c8207c7edb938628.json +0 -1
  684. package/dist/cli/wp-files/latest/languages/ja-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  685. package/dist/cli/wp-files/latest/languages/ja-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  686. package/dist/cli/wp-files/latest/languages/ja-6025add6bde16aaeb12787d250f9b414.json +0 -1
  687. package/dist/cli/wp-files/latest/languages/ja-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  688. package/dist/cli/wp-files/latest/languages/ja-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  689. package/dist/cli/wp-files/latest/languages/ja-7233008897033de5ee0d14f86a42a65a.json +0 -1
  690. package/dist/cli/wp-files/latest/languages/ja-7289286ed59e90a8f36ae797df62220b.json +0 -1
  691. package/dist/cli/wp-files/latest/languages/ja-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  692. package/dist/cli/wp-files/latest/languages/ja-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  693. package/dist/cli/wp-files/latest/languages/ja-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  694. package/dist/cli/wp-files/latest/languages/ja-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  695. package/dist/cli/wp-files/latest/languages/ja-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  696. package/dist/cli/wp-files/latest/languages/ja-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  697. package/dist/cli/wp-files/latest/languages/ja-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  698. package/dist/cli/wp-files/latest/languages/ja-81c889563f09dd13de1701135dc62941.json +0 -1
  699. package/dist/cli/wp-files/latest/languages/ja-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  700. package/dist/cli/wp-files/latest/languages/ja-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  701. package/dist/cli/wp-files/latest/languages/ja-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  702. package/dist/cli/wp-files/latest/languages/ja-93882e8f9976382d7f724ac595ed7151.json +0 -1
  703. package/dist/cli/wp-files/latest/languages/ja-947c76bb5095da30e16668eec15406b2.json +0 -1
  704. package/dist/cli/wp-files/latest/languages/ja-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  705. package/dist/cli/wp-files/latest/languages/ja-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  706. package/dist/cli/wp-files/latest/languages/ja-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  707. package/dist/cli/wp-files/latest/languages/ja-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  708. package/dist/cli/wp-files/latest/languages/ja-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  709. package/dist/cli/wp-files/latest/languages/ja-a9dc201dcd011fe71849743133052619.json +0 -1
  710. package/dist/cli/wp-files/latest/languages/ja-aabfce98c410957228848dc581e3c420.json +0 -1
  711. package/dist/cli/wp-files/latest/languages/ja-ac23eee47530ac63a1178c827db28087.json +0 -1
  712. package/dist/cli/wp-files/latest/languages/ja-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  713. package/dist/cli/wp-files/latest/languages/ja-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  714. package/dist/cli/wp-files/latest/languages/ja-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  715. package/dist/cli/wp-files/latest/languages/ja-ca28138671823450e87dfd354f7afc6b.json +0 -1
  716. package/dist/cli/wp-files/latest/languages/ja-daeb084aab42199d26393a56c3465bc0.json +0 -1
  717. package/dist/cli/wp-files/latest/languages/ja-e2791ba830489d23043be8650a22a22b.json +0 -1
  718. package/dist/cli/wp-files/latest/languages/ja-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  719. package/dist/cli/wp-files/latest/languages/ja-e53526243551a102928735ec9eed4edf.json +0 -1
  720. package/dist/cli/wp-files/latest/languages/ja-f575f481034e90e21d832e415fd95fcf.json +0 -1
  721. package/dist/cli/wp-files/latest/languages/ja-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  722. package/dist/cli/wp-files/latest/languages/ja-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  723. package/dist/cli/wp-files/latest/languages/ja.l10n.php +0 -367
  724. package/dist/cli/wp-files/latest/languages/ko_KR-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  725. package/dist/cli/wp-files/latest/languages/ko_KR-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  726. package/dist/cli/wp-files/latest/languages/ko_KR-0eebe503220d4a00341eb011b92769b4.json +0 -1
  727. package/dist/cli/wp-files/latest/languages/ko_KR-17179a5f2930647c89151e365f843b6e.json +0 -1
  728. package/dist/cli/wp-files/latest/languages/ko_KR-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  729. package/dist/cli/wp-files/latest/languages/ko_KR-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  730. package/dist/cli/wp-files/latest/languages/ko_KR-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  731. package/dist/cli/wp-files/latest/languages/ko_KR-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  732. package/dist/cli/wp-files/latest/languages/ko_KR-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  733. package/dist/cli/wp-files/latest/languages/ko_KR-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  734. package/dist/cli/wp-files/latest/languages/ko_KR-270d72d1cff17227d37f3244759cbecb.json +0 -1
  735. package/dist/cli/wp-files/latest/languages/ko_KR-28b3c3d595952907e08d98287077426c.json +0 -1
  736. package/dist/cli/wp-files/latest/languages/ko_KR-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  737. package/dist/cli/wp-files/latest/languages/ko_KR-2c5d274ea625dd91556554ad82901529.json +0 -1
  738. package/dist/cli/wp-files/latest/languages/ko_KR-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  739. package/dist/cli/wp-files/latest/languages/ko_KR-440127dd25bde48a531ded36f33e927b.json +0 -1
  740. package/dist/cli/wp-files/latest/languages/ko_KR-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  741. package/dist/cli/wp-files/latest/languages/ko_KR-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  742. package/dist/cli/wp-files/latest/languages/ko_KR-4bfa11da57ff2600004bb500368247f4.json +0 -1
  743. package/dist/cli/wp-files/latest/languages/ko_KR-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  744. package/dist/cli/wp-files/latest/languages/ko_KR-5251f7623766a714c8207c7edb938628.json +0 -1
  745. package/dist/cli/wp-files/latest/languages/ko_KR-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  746. package/dist/cli/wp-files/latest/languages/ko_KR-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  747. package/dist/cli/wp-files/latest/languages/ko_KR-6025add6bde16aaeb12787d250f9b414.json +0 -1
  748. package/dist/cli/wp-files/latest/languages/ko_KR-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  749. package/dist/cli/wp-files/latest/languages/ko_KR-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  750. package/dist/cli/wp-files/latest/languages/ko_KR-7233008897033de5ee0d14f86a42a65a.json +0 -1
  751. package/dist/cli/wp-files/latest/languages/ko_KR-7289286ed59e90a8f36ae797df62220b.json +0 -1
  752. package/dist/cli/wp-files/latest/languages/ko_KR-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  753. package/dist/cli/wp-files/latest/languages/ko_KR-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  754. package/dist/cli/wp-files/latest/languages/ko_KR-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  755. package/dist/cli/wp-files/latest/languages/ko_KR-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  756. package/dist/cli/wp-files/latest/languages/ko_KR-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  757. package/dist/cli/wp-files/latest/languages/ko_KR-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  758. package/dist/cli/wp-files/latest/languages/ko_KR-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  759. package/dist/cli/wp-files/latest/languages/ko_KR-81c889563f09dd13de1701135dc62941.json +0 -1
  760. package/dist/cli/wp-files/latest/languages/ko_KR-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  761. package/dist/cli/wp-files/latest/languages/ko_KR-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  762. package/dist/cli/wp-files/latest/languages/ko_KR-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  763. package/dist/cli/wp-files/latest/languages/ko_KR-93882e8f9976382d7f724ac595ed7151.json +0 -1
  764. package/dist/cli/wp-files/latest/languages/ko_KR-947c76bb5095da30e16668eec15406b2.json +0 -1
  765. package/dist/cli/wp-files/latest/languages/ko_KR-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  766. package/dist/cli/wp-files/latest/languages/ko_KR-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  767. package/dist/cli/wp-files/latest/languages/ko_KR-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  768. package/dist/cli/wp-files/latest/languages/ko_KR-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  769. package/dist/cli/wp-files/latest/languages/ko_KR-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  770. package/dist/cli/wp-files/latest/languages/ko_KR-a9dc201dcd011fe71849743133052619.json +0 -1
  771. package/dist/cli/wp-files/latest/languages/ko_KR-aabfce98c410957228848dc581e3c420.json +0 -1
  772. package/dist/cli/wp-files/latest/languages/ko_KR-ac23eee47530ac63a1178c827db28087.json +0 -1
  773. package/dist/cli/wp-files/latest/languages/ko_KR-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  774. package/dist/cli/wp-files/latest/languages/ko_KR-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  775. package/dist/cli/wp-files/latest/languages/ko_KR-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  776. package/dist/cli/wp-files/latest/languages/ko_KR-ca28138671823450e87dfd354f7afc6b.json +0 -1
  777. package/dist/cli/wp-files/latest/languages/ko_KR-daeb084aab42199d26393a56c3465bc0.json +0 -1
  778. package/dist/cli/wp-files/latest/languages/ko_KR-e2791ba830489d23043be8650a22a22b.json +0 -1
  779. package/dist/cli/wp-files/latest/languages/ko_KR-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  780. package/dist/cli/wp-files/latest/languages/ko_KR-e53526243551a102928735ec9eed4edf.json +0 -1
  781. package/dist/cli/wp-files/latest/languages/ko_KR-f575f481034e90e21d832e415fd95fcf.json +0 -1
  782. package/dist/cli/wp-files/latest/languages/ko_KR-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  783. package/dist/cli/wp-files/latest/languages/ko_KR-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  784. package/dist/cli/wp-files/latest/languages/ko_KR.l10n.php +0 -370
  785. package/dist/cli/wp-files/latest/languages/nl_NL-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  786. package/dist/cli/wp-files/latest/languages/nl_NL-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  787. package/dist/cli/wp-files/latest/languages/nl_NL-0eebe503220d4a00341eb011b92769b4.json +0 -1
  788. package/dist/cli/wp-files/latest/languages/nl_NL-17179a5f2930647c89151e365f843b6e.json +0 -1
  789. package/dist/cli/wp-files/latest/languages/nl_NL-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  790. package/dist/cli/wp-files/latest/languages/nl_NL-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  791. package/dist/cli/wp-files/latest/languages/nl_NL-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  792. package/dist/cli/wp-files/latest/languages/nl_NL-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  793. package/dist/cli/wp-files/latest/languages/nl_NL-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  794. package/dist/cli/wp-files/latest/languages/nl_NL-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  795. package/dist/cli/wp-files/latest/languages/nl_NL-270d72d1cff17227d37f3244759cbecb.json +0 -1
  796. package/dist/cli/wp-files/latest/languages/nl_NL-28b3c3d595952907e08d98287077426c.json +0 -1
  797. package/dist/cli/wp-files/latest/languages/nl_NL-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  798. package/dist/cli/wp-files/latest/languages/nl_NL-2c5d274ea625dd91556554ad82901529.json +0 -1
  799. package/dist/cli/wp-files/latest/languages/nl_NL-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  800. package/dist/cli/wp-files/latest/languages/nl_NL-440127dd25bde48a531ded36f33e927b.json +0 -1
  801. package/dist/cli/wp-files/latest/languages/nl_NL-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  802. package/dist/cli/wp-files/latest/languages/nl_NL-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  803. package/dist/cli/wp-files/latest/languages/nl_NL-4bfa11da57ff2600004bb500368247f4.json +0 -1
  804. package/dist/cli/wp-files/latest/languages/nl_NL-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  805. package/dist/cli/wp-files/latest/languages/nl_NL-5251f7623766a714c8207c7edb938628.json +0 -1
  806. package/dist/cli/wp-files/latest/languages/nl_NL-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  807. package/dist/cli/wp-files/latest/languages/nl_NL-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  808. package/dist/cli/wp-files/latest/languages/nl_NL-6025add6bde16aaeb12787d250f9b414.json +0 -1
  809. package/dist/cli/wp-files/latest/languages/nl_NL-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  810. package/dist/cli/wp-files/latest/languages/nl_NL-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  811. package/dist/cli/wp-files/latest/languages/nl_NL-7233008897033de5ee0d14f86a42a65a.json +0 -1
  812. package/dist/cli/wp-files/latest/languages/nl_NL-7289286ed59e90a8f36ae797df62220b.json +0 -1
  813. package/dist/cli/wp-files/latest/languages/nl_NL-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  814. package/dist/cli/wp-files/latest/languages/nl_NL-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  815. package/dist/cli/wp-files/latest/languages/nl_NL-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  816. package/dist/cli/wp-files/latest/languages/nl_NL-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  817. package/dist/cli/wp-files/latest/languages/nl_NL-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  818. package/dist/cli/wp-files/latest/languages/nl_NL-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  819. package/dist/cli/wp-files/latest/languages/nl_NL-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  820. package/dist/cli/wp-files/latest/languages/nl_NL-81c889563f09dd13de1701135dc62941.json +0 -1
  821. package/dist/cli/wp-files/latest/languages/nl_NL-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  822. package/dist/cli/wp-files/latest/languages/nl_NL-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  823. package/dist/cli/wp-files/latest/languages/nl_NL-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  824. package/dist/cli/wp-files/latest/languages/nl_NL-93882e8f9976382d7f724ac595ed7151.json +0 -1
  825. package/dist/cli/wp-files/latest/languages/nl_NL-947c76bb5095da30e16668eec15406b2.json +0 -1
  826. package/dist/cli/wp-files/latest/languages/nl_NL-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  827. package/dist/cli/wp-files/latest/languages/nl_NL-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  828. package/dist/cli/wp-files/latest/languages/nl_NL-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  829. package/dist/cli/wp-files/latest/languages/nl_NL-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  830. package/dist/cli/wp-files/latest/languages/nl_NL-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  831. package/dist/cli/wp-files/latest/languages/nl_NL-a9dc201dcd011fe71849743133052619.json +0 -1
  832. package/dist/cli/wp-files/latest/languages/nl_NL-aabfce98c410957228848dc581e3c420.json +0 -1
  833. package/dist/cli/wp-files/latest/languages/nl_NL-ac23eee47530ac63a1178c827db28087.json +0 -1
  834. package/dist/cli/wp-files/latest/languages/nl_NL-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  835. package/dist/cli/wp-files/latest/languages/nl_NL-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  836. package/dist/cli/wp-files/latest/languages/nl_NL-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  837. package/dist/cli/wp-files/latest/languages/nl_NL-ca28138671823450e87dfd354f7afc6b.json +0 -1
  838. package/dist/cli/wp-files/latest/languages/nl_NL-daeb084aab42199d26393a56c3465bc0.json +0 -1
  839. package/dist/cli/wp-files/latest/languages/nl_NL-e2791ba830489d23043be8650a22a22b.json +0 -1
  840. package/dist/cli/wp-files/latest/languages/nl_NL-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  841. package/dist/cli/wp-files/latest/languages/nl_NL-e53526243551a102928735ec9eed4edf.json +0 -1
  842. package/dist/cli/wp-files/latest/languages/nl_NL-f575f481034e90e21d832e415fd95fcf.json +0 -1
  843. package/dist/cli/wp-files/latest/languages/nl_NL-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  844. package/dist/cli/wp-files/latest/languages/nl_NL-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  845. package/dist/cli/wp-files/latest/languages/nl_NL.l10n.php +0 -368
  846. package/dist/cli/wp-files/latest/languages/pl_PL-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  847. package/dist/cli/wp-files/latest/languages/pl_PL-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  848. package/dist/cli/wp-files/latest/languages/pl_PL-0eebe503220d4a00341eb011b92769b4.json +0 -1
  849. package/dist/cli/wp-files/latest/languages/pl_PL-17179a5f2930647c89151e365f843b6e.json +0 -1
  850. package/dist/cli/wp-files/latest/languages/pl_PL-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  851. package/dist/cli/wp-files/latest/languages/pl_PL-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  852. package/dist/cli/wp-files/latest/languages/pl_PL-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  853. package/dist/cli/wp-files/latest/languages/pl_PL-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  854. package/dist/cli/wp-files/latest/languages/pl_PL-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  855. package/dist/cli/wp-files/latest/languages/pl_PL-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  856. package/dist/cli/wp-files/latest/languages/pl_PL-270d72d1cff17227d37f3244759cbecb.json +0 -1
  857. package/dist/cli/wp-files/latest/languages/pl_PL-28b3c3d595952907e08d98287077426c.json +0 -1
  858. package/dist/cli/wp-files/latest/languages/pl_PL-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  859. package/dist/cli/wp-files/latest/languages/pl_PL-2c5d274ea625dd91556554ad82901529.json +0 -1
  860. package/dist/cli/wp-files/latest/languages/pl_PL-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  861. package/dist/cli/wp-files/latest/languages/pl_PL-440127dd25bde48a531ded36f33e927b.json +0 -1
  862. package/dist/cli/wp-files/latest/languages/pl_PL-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  863. package/dist/cli/wp-files/latest/languages/pl_PL-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  864. package/dist/cli/wp-files/latest/languages/pl_PL-4bfa11da57ff2600004bb500368247f4.json +0 -1
  865. package/dist/cli/wp-files/latest/languages/pl_PL-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  866. package/dist/cli/wp-files/latest/languages/pl_PL-5251f7623766a714c8207c7edb938628.json +0 -1
  867. package/dist/cli/wp-files/latest/languages/pl_PL-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  868. package/dist/cli/wp-files/latest/languages/pl_PL-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  869. package/dist/cli/wp-files/latest/languages/pl_PL-6025add6bde16aaeb12787d250f9b414.json +0 -1
  870. package/dist/cli/wp-files/latest/languages/pl_PL-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  871. package/dist/cli/wp-files/latest/languages/pl_PL-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  872. package/dist/cli/wp-files/latest/languages/pl_PL-7233008897033de5ee0d14f86a42a65a.json +0 -1
  873. package/dist/cli/wp-files/latest/languages/pl_PL-7289286ed59e90a8f36ae797df62220b.json +0 -1
  874. package/dist/cli/wp-files/latest/languages/pl_PL-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  875. package/dist/cli/wp-files/latest/languages/pl_PL-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  876. package/dist/cli/wp-files/latest/languages/pl_PL-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  877. package/dist/cli/wp-files/latest/languages/pl_PL-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  878. package/dist/cli/wp-files/latest/languages/pl_PL-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  879. package/dist/cli/wp-files/latest/languages/pl_PL-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  880. package/dist/cli/wp-files/latest/languages/pl_PL-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  881. package/dist/cli/wp-files/latest/languages/pl_PL-81c889563f09dd13de1701135dc62941.json +0 -1
  882. package/dist/cli/wp-files/latest/languages/pl_PL-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  883. package/dist/cli/wp-files/latest/languages/pl_PL-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  884. package/dist/cli/wp-files/latest/languages/pl_PL-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  885. package/dist/cli/wp-files/latest/languages/pl_PL-93882e8f9976382d7f724ac595ed7151.json +0 -1
  886. package/dist/cli/wp-files/latest/languages/pl_PL-947c76bb5095da30e16668eec15406b2.json +0 -1
  887. package/dist/cli/wp-files/latest/languages/pl_PL-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  888. package/dist/cli/wp-files/latest/languages/pl_PL-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  889. package/dist/cli/wp-files/latest/languages/pl_PL-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  890. package/dist/cli/wp-files/latest/languages/pl_PL-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  891. package/dist/cli/wp-files/latest/languages/pl_PL-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  892. package/dist/cli/wp-files/latest/languages/pl_PL-a9dc201dcd011fe71849743133052619.json +0 -1
  893. package/dist/cli/wp-files/latest/languages/pl_PL-aabfce98c410957228848dc581e3c420.json +0 -1
  894. package/dist/cli/wp-files/latest/languages/pl_PL-ac23eee47530ac63a1178c827db28087.json +0 -1
  895. package/dist/cli/wp-files/latest/languages/pl_PL-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  896. package/dist/cli/wp-files/latest/languages/pl_PL-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  897. package/dist/cli/wp-files/latest/languages/pl_PL-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  898. package/dist/cli/wp-files/latest/languages/pl_PL-ca28138671823450e87dfd354f7afc6b.json +0 -1
  899. package/dist/cli/wp-files/latest/languages/pl_PL-daeb084aab42199d26393a56c3465bc0.json +0 -1
  900. package/dist/cli/wp-files/latest/languages/pl_PL-e2791ba830489d23043be8650a22a22b.json +0 -1
  901. package/dist/cli/wp-files/latest/languages/pl_PL-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  902. package/dist/cli/wp-files/latest/languages/pl_PL-e53526243551a102928735ec9eed4edf.json +0 -1
  903. package/dist/cli/wp-files/latest/languages/pl_PL-f575f481034e90e21d832e415fd95fcf.json +0 -1
  904. package/dist/cli/wp-files/latest/languages/pl_PL-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  905. package/dist/cli/wp-files/latest/languages/pl_PL-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  906. package/dist/cli/wp-files/latest/languages/pl_PL.l10n.php +0 -370
  907. package/dist/cli/wp-files/latest/languages/plugins/akismet-ar.l10n.php +0 -2
  908. package/dist/cli/wp-files/latest/languages/plugins/akismet-de_DE.l10n.php +0 -2
  909. package/dist/cli/wp-files/latest/languages/plugins/akismet-es_ES.l10n.php +0 -2
  910. package/dist/cli/wp-files/latest/languages/plugins/akismet-fr_FR.l10n.php +0 -2
  911. package/dist/cli/wp-files/latest/languages/plugins/akismet-he_IL.l10n.php +0 -2
  912. package/dist/cli/wp-files/latest/languages/plugins/akismet-hu_HU.l10n.php +0 -2
  913. package/dist/cli/wp-files/latest/languages/plugins/akismet-id_ID.l10n.php +0 -2
  914. package/dist/cli/wp-files/latest/languages/plugins/akismet-it_IT.l10n.php +0 -2
  915. package/dist/cli/wp-files/latest/languages/plugins/akismet-ja.l10n.php +0 -2
  916. package/dist/cli/wp-files/latest/languages/plugins/akismet-ko_KR.l10n.php +0 -2
  917. package/dist/cli/wp-files/latest/languages/plugins/akismet-nl_NL.l10n.php +0 -2
  918. package/dist/cli/wp-files/latest/languages/plugins/akismet-pl_PL.l10n.php +0 -2
  919. package/dist/cli/wp-files/latest/languages/plugins/akismet-pt_BR.l10n.php +0 -2
  920. package/dist/cli/wp-files/latest/languages/plugins/akismet-ru_RU.l10n.php +0 -2
  921. package/dist/cli/wp-files/latest/languages/plugins/akismet-sv_SE.l10n.php +0 -2
  922. package/dist/cli/wp-files/latest/languages/plugins/akismet-tr_TR.l10n.php +0 -2
  923. package/dist/cli/wp-files/latest/languages/plugins/akismet-uk.l10n.php +0 -2
  924. package/dist/cli/wp-files/latest/languages/plugins/akismet-vi.l10n.php +0 -2
  925. package/dist/cli/wp-files/latest/languages/plugins/akismet-zh_CN.l10n.php +0 -2
  926. package/dist/cli/wp-files/latest/languages/plugins/akismet-zh_TW.l10n.php +0 -2
  927. package/dist/cli/wp-files/latest/languages/plugins/hello-dolly-de_DE.l10n.php +0 -2
  928. package/dist/cli/wp-files/latest/languages/plugins/hello-dolly-fr_FR.l10n.php +0 -2
  929. package/dist/cli/wp-files/latest/languages/plugins/hello-dolly-ko_KR.l10n.php +0 -2
  930. package/dist/cli/wp-files/latest/languages/pt_BR-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  931. package/dist/cli/wp-files/latest/languages/pt_BR-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  932. package/dist/cli/wp-files/latest/languages/pt_BR-0eebe503220d4a00341eb011b92769b4.json +0 -1
  933. package/dist/cli/wp-files/latest/languages/pt_BR-17179a5f2930647c89151e365f843b6e.json +0 -1
  934. package/dist/cli/wp-files/latest/languages/pt_BR-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  935. package/dist/cli/wp-files/latest/languages/pt_BR-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  936. package/dist/cli/wp-files/latest/languages/pt_BR-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  937. package/dist/cli/wp-files/latest/languages/pt_BR-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  938. package/dist/cli/wp-files/latest/languages/pt_BR-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  939. package/dist/cli/wp-files/latest/languages/pt_BR-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  940. package/dist/cli/wp-files/latest/languages/pt_BR-270d72d1cff17227d37f3244759cbecb.json +0 -1
  941. package/dist/cli/wp-files/latest/languages/pt_BR-28b3c3d595952907e08d98287077426c.json +0 -1
  942. package/dist/cli/wp-files/latest/languages/pt_BR-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  943. package/dist/cli/wp-files/latest/languages/pt_BR-2c5d274ea625dd91556554ad82901529.json +0 -1
  944. package/dist/cli/wp-files/latest/languages/pt_BR-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  945. package/dist/cli/wp-files/latest/languages/pt_BR-440127dd25bde48a531ded36f33e927b.json +0 -1
  946. package/dist/cli/wp-files/latest/languages/pt_BR-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  947. package/dist/cli/wp-files/latest/languages/pt_BR-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  948. package/dist/cli/wp-files/latest/languages/pt_BR-4bfa11da57ff2600004bb500368247f4.json +0 -1
  949. package/dist/cli/wp-files/latest/languages/pt_BR-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  950. package/dist/cli/wp-files/latest/languages/pt_BR-5251f7623766a714c8207c7edb938628.json +0 -1
  951. package/dist/cli/wp-files/latest/languages/pt_BR-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  952. package/dist/cli/wp-files/latest/languages/pt_BR-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  953. package/dist/cli/wp-files/latest/languages/pt_BR-6025add6bde16aaeb12787d250f9b414.json +0 -1
  954. package/dist/cli/wp-files/latest/languages/pt_BR-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  955. package/dist/cli/wp-files/latest/languages/pt_BR-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  956. package/dist/cli/wp-files/latest/languages/pt_BR-7233008897033de5ee0d14f86a42a65a.json +0 -1
  957. package/dist/cli/wp-files/latest/languages/pt_BR-7289286ed59e90a8f36ae797df62220b.json +0 -1
  958. package/dist/cli/wp-files/latest/languages/pt_BR-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  959. package/dist/cli/wp-files/latest/languages/pt_BR-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  960. package/dist/cli/wp-files/latest/languages/pt_BR-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  961. package/dist/cli/wp-files/latest/languages/pt_BR-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  962. package/dist/cli/wp-files/latest/languages/pt_BR-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  963. package/dist/cli/wp-files/latest/languages/pt_BR-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  964. package/dist/cli/wp-files/latest/languages/pt_BR-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  965. package/dist/cli/wp-files/latest/languages/pt_BR-81c889563f09dd13de1701135dc62941.json +0 -1
  966. package/dist/cli/wp-files/latest/languages/pt_BR-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  967. package/dist/cli/wp-files/latest/languages/pt_BR-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  968. package/dist/cli/wp-files/latest/languages/pt_BR-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  969. package/dist/cli/wp-files/latest/languages/pt_BR-93882e8f9976382d7f724ac595ed7151.json +0 -1
  970. package/dist/cli/wp-files/latest/languages/pt_BR-947c76bb5095da30e16668eec15406b2.json +0 -1
  971. package/dist/cli/wp-files/latest/languages/pt_BR-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  972. package/dist/cli/wp-files/latest/languages/pt_BR-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  973. package/dist/cli/wp-files/latest/languages/pt_BR-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  974. package/dist/cli/wp-files/latest/languages/pt_BR-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  975. package/dist/cli/wp-files/latest/languages/pt_BR-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  976. package/dist/cli/wp-files/latest/languages/pt_BR-a9dc201dcd011fe71849743133052619.json +0 -1
  977. package/dist/cli/wp-files/latest/languages/pt_BR-aabfce98c410957228848dc581e3c420.json +0 -1
  978. package/dist/cli/wp-files/latest/languages/pt_BR-ac23eee47530ac63a1178c827db28087.json +0 -1
  979. package/dist/cli/wp-files/latest/languages/pt_BR-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  980. package/dist/cli/wp-files/latest/languages/pt_BR-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  981. package/dist/cli/wp-files/latest/languages/pt_BR-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  982. package/dist/cli/wp-files/latest/languages/pt_BR-ca28138671823450e87dfd354f7afc6b.json +0 -1
  983. package/dist/cli/wp-files/latest/languages/pt_BR-daeb084aab42199d26393a56c3465bc0.json +0 -1
  984. package/dist/cli/wp-files/latest/languages/pt_BR-e2791ba830489d23043be8650a22a22b.json +0 -1
  985. package/dist/cli/wp-files/latest/languages/pt_BR-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  986. package/dist/cli/wp-files/latest/languages/pt_BR-e53526243551a102928735ec9eed4edf.json +0 -1
  987. package/dist/cli/wp-files/latest/languages/pt_BR-f575f481034e90e21d832e415fd95fcf.json +0 -1
  988. package/dist/cli/wp-files/latest/languages/pt_BR-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  989. package/dist/cli/wp-files/latest/languages/pt_BR-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  990. package/dist/cli/wp-files/latest/languages/pt_BR.l10n.php +0 -367
  991. package/dist/cli/wp-files/latest/languages/ru_RU-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  992. package/dist/cli/wp-files/latest/languages/ru_RU-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  993. package/dist/cli/wp-files/latest/languages/ru_RU-0eebe503220d4a00341eb011b92769b4.json +0 -1
  994. package/dist/cli/wp-files/latest/languages/ru_RU-17179a5f2930647c89151e365f843b6e.json +0 -1
  995. package/dist/cli/wp-files/latest/languages/ru_RU-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  996. package/dist/cli/wp-files/latest/languages/ru_RU-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  997. package/dist/cli/wp-files/latest/languages/ru_RU-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  998. package/dist/cli/wp-files/latest/languages/ru_RU-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  999. package/dist/cli/wp-files/latest/languages/ru_RU-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  1000. package/dist/cli/wp-files/latest/languages/ru_RU-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  1001. package/dist/cli/wp-files/latest/languages/ru_RU-270d72d1cff17227d37f3244759cbecb.json +0 -1
  1002. package/dist/cli/wp-files/latest/languages/ru_RU-28b3c3d595952907e08d98287077426c.json +0 -1
  1003. package/dist/cli/wp-files/latest/languages/ru_RU-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  1004. package/dist/cli/wp-files/latest/languages/ru_RU-2c5d274ea625dd91556554ad82901529.json +0 -1
  1005. package/dist/cli/wp-files/latest/languages/ru_RU-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  1006. package/dist/cli/wp-files/latest/languages/ru_RU-440127dd25bde48a531ded36f33e927b.json +0 -1
  1007. package/dist/cli/wp-files/latest/languages/ru_RU-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  1008. package/dist/cli/wp-files/latest/languages/ru_RU-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  1009. package/dist/cli/wp-files/latest/languages/ru_RU-4bfa11da57ff2600004bb500368247f4.json +0 -1
  1010. package/dist/cli/wp-files/latest/languages/ru_RU-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  1011. package/dist/cli/wp-files/latest/languages/ru_RU-5251f7623766a714c8207c7edb938628.json +0 -1
  1012. package/dist/cli/wp-files/latest/languages/ru_RU-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  1013. package/dist/cli/wp-files/latest/languages/ru_RU-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  1014. package/dist/cli/wp-files/latest/languages/ru_RU-6025add6bde16aaeb12787d250f9b414.json +0 -1
  1015. package/dist/cli/wp-files/latest/languages/ru_RU-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  1016. package/dist/cli/wp-files/latest/languages/ru_RU-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  1017. package/dist/cli/wp-files/latest/languages/ru_RU-7233008897033de5ee0d14f86a42a65a.json +0 -1
  1018. package/dist/cli/wp-files/latest/languages/ru_RU-7289286ed59e90a8f36ae797df62220b.json +0 -1
  1019. package/dist/cli/wp-files/latest/languages/ru_RU-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  1020. package/dist/cli/wp-files/latest/languages/ru_RU-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  1021. package/dist/cli/wp-files/latest/languages/ru_RU-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  1022. package/dist/cli/wp-files/latest/languages/ru_RU-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  1023. package/dist/cli/wp-files/latest/languages/ru_RU-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  1024. package/dist/cli/wp-files/latest/languages/ru_RU-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  1025. package/dist/cli/wp-files/latest/languages/ru_RU-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  1026. package/dist/cli/wp-files/latest/languages/ru_RU-81c889563f09dd13de1701135dc62941.json +0 -1
  1027. package/dist/cli/wp-files/latest/languages/ru_RU-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  1028. package/dist/cli/wp-files/latest/languages/ru_RU-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  1029. package/dist/cli/wp-files/latest/languages/ru_RU-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  1030. package/dist/cli/wp-files/latest/languages/ru_RU-93882e8f9976382d7f724ac595ed7151.json +0 -1
  1031. package/dist/cli/wp-files/latest/languages/ru_RU-947c76bb5095da30e16668eec15406b2.json +0 -1
  1032. package/dist/cli/wp-files/latest/languages/ru_RU-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  1033. package/dist/cli/wp-files/latest/languages/ru_RU-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  1034. package/dist/cli/wp-files/latest/languages/ru_RU-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  1035. package/dist/cli/wp-files/latest/languages/ru_RU-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  1036. package/dist/cli/wp-files/latest/languages/ru_RU-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  1037. package/dist/cli/wp-files/latest/languages/ru_RU-a9dc201dcd011fe71849743133052619.json +0 -1
  1038. package/dist/cli/wp-files/latest/languages/ru_RU-aabfce98c410957228848dc581e3c420.json +0 -1
  1039. package/dist/cli/wp-files/latest/languages/ru_RU-ac23eee47530ac63a1178c827db28087.json +0 -1
  1040. package/dist/cli/wp-files/latest/languages/ru_RU-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  1041. package/dist/cli/wp-files/latest/languages/ru_RU-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  1042. package/dist/cli/wp-files/latest/languages/ru_RU-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  1043. package/dist/cli/wp-files/latest/languages/ru_RU-ca28138671823450e87dfd354f7afc6b.json +0 -1
  1044. package/dist/cli/wp-files/latest/languages/ru_RU-daeb084aab42199d26393a56c3465bc0.json +0 -1
  1045. package/dist/cli/wp-files/latest/languages/ru_RU-e2791ba830489d23043be8650a22a22b.json +0 -1
  1046. package/dist/cli/wp-files/latest/languages/ru_RU-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  1047. package/dist/cli/wp-files/latest/languages/ru_RU-e53526243551a102928735ec9eed4edf.json +0 -1
  1048. package/dist/cli/wp-files/latest/languages/ru_RU-f575f481034e90e21d832e415fd95fcf.json +0 -1
  1049. package/dist/cli/wp-files/latest/languages/ru_RU-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  1050. package/dist/cli/wp-files/latest/languages/ru_RU-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  1051. package/dist/cli/wp-files/latest/languages/ru_RU.l10n.php +0 -373
  1052. package/dist/cli/wp-files/latest/languages/sv_SE-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  1053. package/dist/cli/wp-files/latest/languages/sv_SE-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  1054. package/dist/cli/wp-files/latest/languages/sv_SE-0eebe503220d4a00341eb011b92769b4.json +0 -1
  1055. package/dist/cli/wp-files/latest/languages/sv_SE-17179a5f2930647c89151e365f843b6e.json +0 -1
  1056. package/dist/cli/wp-files/latest/languages/sv_SE-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  1057. package/dist/cli/wp-files/latest/languages/sv_SE-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  1058. package/dist/cli/wp-files/latest/languages/sv_SE-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  1059. package/dist/cli/wp-files/latest/languages/sv_SE-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  1060. package/dist/cli/wp-files/latest/languages/sv_SE-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  1061. package/dist/cli/wp-files/latest/languages/sv_SE-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  1062. package/dist/cli/wp-files/latest/languages/sv_SE-270d72d1cff17227d37f3244759cbecb.json +0 -1
  1063. package/dist/cli/wp-files/latest/languages/sv_SE-28b3c3d595952907e08d98287077426c.json +0 -1
  1064. package/dist/cli/wp-files/latest/languages/sv_SE-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  1065. package/dist/cli/wp-files/latest/languages/sv_SE-2c5d274ea625dd91556554ad82901529.json +0 -1
  1066. package/dist/cli/wp-files/latest/languages/sv_SE-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  1067. package/dist/cli/wp-files/latest/languages/sv_SE-440127dd25bde48a531ded36f33e927b.json +0 -1
  1068. package/dist/cli/wp-files/latest/languages/sv_SE-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  1069. package/dist/cli/wp-files/latest/languages/sv_SE-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  1070. package/dist/cli/wp-files/latest/languages/sv_SE-4bfa11da57ff2600004bb500368247f4.json +0 -1
  1071. package/dist/cli/wp-files/latest/languages/sv_SE-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  1072. package/dist/cli/wp-files/latest/languages/sv_SE-5251f7623766a714c8207c7edb938628.json +0 -1
  1073. package/dist/cli/wp-files/latest/languages/sv_SE-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  1074. package/dist/cli/wp-files/latest/languages/sv_SE-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  1075. package/dist/cli/wp-files/latest/languages/sv_SE-6025add6bde16aaeb12787d250f9b414.json +0 -1
  1076. package/dist/cli/wp-files/latest/languages/sv_SE-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  1077. package/dist/cli/wp-files/latest/languages/sv_SE-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  1078. package/dist/cli/wp-files/latest/languages/sv_SE-7233008897033de5ee0d14f86a42a65a.json +0 -1
  1079. package/dist/cli/wp-files/latest/languages/sv_SE-7289286ed59e90a8f36ae797df62220b.json +0 -1
  1080. package/dist/cli/wp-files/latest/languages/sv_SE-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  1081. package/dist/cli/wp-files/latest/languages/sv_SE-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  1082. package/dist/cli/wp-files/latest/languages/sv_SE-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  1083. package/dist/cli/wp-files/latest/languages/sv_SE-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  1084. package/dist/cli/wp-files/latest/languages/sv_SE-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  1085. package/dist/cli/wp-files/latest/languages/sv_SE-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  1086. package/dist/cli/wp-files/latest/languages/sv_SE-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  1087. package/dist/cli/wp-files/latest/languages/sv_SE-81c889563f09dd13de1701135dc62941.json +0 -1
  1088. package/dist/cli/wp-files/latest/languages/sv_SE-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  1089. package/dist/cli/wp-files/latest/languages/sv_SE-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  1090. package/dist/cli/wp-files/latest/languages/sv_SE-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  1091. package/dist/cli/wp-files/latest/languages/sv_SE-93882e8f9976382d7f724ac595ed7151.json +0 -1
  1092. package/dist/cli/wp-files/latest/languages/sv_SE-947c76bb5095da30e16668eec15406b2.json +0 -1
  1093. package/dist/cli/wp-files/latest/languages/sv_SE-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  1094. package/dist/cli/wp-files/latest/languages/sv_SE-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  1095. package/dist/cli/wp-files/latest/languages/sv_SE-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  1096. package/dist/cli/wp-files/latest/languages/sv_SE-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  1097. package/dist/cli/wp-files/latest/languages/sv_SE-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  1098. package/dist/cli/wp-files/latest/languages/sv_SE-a9dc201dcd011fe71849743133052619.json +0 -1
  1099. package/dist/cli/wp-files/latest/languages/sv_SE-aabfce98c410957228848dc581e3c420.json +0 -1
  1100. package/dist/cli/wp-files/latest/languages/sv_SE-ac23eee47530ac63a1178c827db28087.json +0 -1
  1101. package/dist/cli/wp-files/latest/languages/sv_SE-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  1102. package/dist/cli/wp-files/latest/languages/sv_SE-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  1103. package/dist/cli/wp-files/latest/languages/sv_SE-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  1104. package/dist/cli/wp-files/latest/languages/sv_SE-ca28138671823450e87dfd354f7afc6b.json +0 -1
  1105. package/dist/cli/wp-files/latest/languages/sv_SE-daeb084aab42199d26393a56c3465bc0.json +0 -1
  1106. package/dist/cli/wp-files/latest/languages/sv_SE-e2791ba830489d23043be8650a22a22b.json +0 -1
  1107. package/dist/cli/wp-files/latest/languages/sv_SE-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  1108. package/dist/cli/wp-files/latest/languages/sv_SE-e53526243551a102928735ec9eed4edf.json +0 -1
  1109. package/dist/cli/wp-files/latest/languages/sv_SE-f575f481034e90e21d832e415fd95fcf.json +0 -1
  1110. package/dist/cli/wp-files/latest/languages/sv_SE-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  1111. package/dist/cli/wp-files/latest/languages/sv_SE-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  1112. package/dist/cli/wp-files/latest/languages/sv_SE.l10n.php +0 -363
  1113. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-de_DE.l10n.php +0 -2
  1114. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-es_ES.l10n.php +0 -2
  1115. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-fr_FR.l10n.php +0 -2
  1116. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-it_IT.l10n.php +0 -2
  1117. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-ja.l10n.php +0 -2
  1118. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-ko_KR.l10n.php +0 -5
  1119. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-nl_NL.l10n.php +0 -2
  1120. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-pl_PL.l10n.php +0 -2
  1121. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-pt_BR.l10n.php +0 -2
  1122. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-ru_RU.l10n.php +0 -2
  1123. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-sv_SE.l10n.php +0 -2
  1124. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-vi.l10n.php +0 -2
  1125. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-zh_CN.l10n.php +0 -2
  1126. package/dist/cli/wp-files/latest/languages/themes/twentytwentyfive-zh_TW.l10n.php +0 -2
  1127. package/dist/cli/wp-files/latest/languages/tr_TR-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  1128. package/dist/cli/wp-files/latest/languages/tr_TR-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  1129. package/dist/cli/wp-files/latest/languages/tr_TR-0eebe503220d4a00341eb011b92769b4.json +0 -1
  1130. package/dist/cli/wp-files/latest/languages/tr_TR-17179a5f2930647c89151e365f843b6e.json +0 -1
  1131. package/dist/cli/wp-files/latest/languages/tr_TR-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  1132. package/dist/cli/wp-files/latest/languages/tr_TR-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  1133. package/dist/cli/wp-files/latest/languages/tr_TR-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  1134. package/dist/cli/wp-files/latest/languages/tr_TR-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  1135. package/dist/cli/wp-files/latest/languages/tr_TR-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  1136. package/dist/cli/wp-files/latest/languages/tr_TR-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  1137. package/dist/cli/wp-files/latest/languages/tr_TR-270d72d1cff17227d37f3244759cbecb.json +0 -1
  1138. package/dist/cli/wp-files/latest/languages/tr_TR-28b3c3d595952907e08d98287077426c.json +0 -1
  1139. package/dist/cli/wp-files/latest/languages/tr_TR-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  1140. package/dist/cli/wp-files/latest/languages/tr_TR-2c5d274ea625dd91556554ad82901529.json +0 -1
  1141. package/dist/cli/wp-files/latest/languages/tr_TR-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  1142. package/dist/cli/wp-files/latest/languages/tr_TR-440127dd25bde48a531ded36f33e927b.json +0 -1
  1143. package/dist/cli/wp-files/latest/languages/tr_TR-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  1144. package/dist/cli/wp-files/latest/languages/tr_TR-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  1145. package/dist/cli/wp-files/latest/languages/tr_TR-4bfa11da57ff2600004bb500368247f4.json +0 -1
  1146. package/dist/cli/wp-files/latest/languages/tr_TR-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  1147. package/dist/cli/wp-files/latest/languages/tr_TR-5251f7623766a714c8207c7edb938628.json +0 -1
  1148. package/dist/cli/wp-files/latest/languages/tr_TR-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  1149. package/dist/cli/wp-files/latest/languages/tr_TR-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  1150. package/dist/cli/wp-files/latest/languages/tr_TR-6025add6bde16aaeb12787d250f9b414.json +0 -1
  1151. package/dist/cli/wp-files/latest/languages/tr_TR-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  1152. package/dist/cli/wp-files/latest/languages/tr_TR-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  1153. package/dist/cli/wp-files/latest/languages/tr_TR-7233008897033de5ee0d14f86a42a65a.json +0 -1
  1154. package/dist/cli/wp-files/latest/languages/tr_TR-7289286ed59e90a8f36ae797df62220b.json +0 -1
  1155. package/dist/cli/wp-files/latest/languages/tr_TR-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  1156. package/dist/cli/wp-files/latest/languages/tr_TR-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  1157. package/dist/cli/wp-files/latest/languages/tr_TR-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  1158. package/dist/cli/wp-files/latest/languages/tr_TR-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  1159. package/dist/cli/wp-files/latest/languages/tr_TR-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  1160. package/dist/cli/wp-files/latest/languages/tr_TR-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  1161. package/dist/cli/wp-files/latest/languages/tr_TR-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  1162. package/dist/cli/wp-files/latest/languages/tr_TR-81c889563f09dd13de1701135dc62941.json +0 -1
  1163. package/dist/cli/wp-files/latest/languages/tr_TR-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  1164. package/dist/cli/wp-files/latest/languages/tr_TR-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  1165. package/dist/cli/wp-files/latest/languages/tr_TR-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  1166. package/dist/cli/wp-files/latest/languages/tr_TR-93882e8f9976382d7f724ac595ed7151.json +0 -1
  1167. package/dist/cli/wp-files/latest/languages/tr_TR-947c76bb5095da30e16668eec15406b2.json +0 -1
  1168. package/dist/cli/wp-files/latest/languages/tr_TR-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  1169. package/dist/cli/wp-files/latest/languages/tr_TR-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  1170. package/dist/cli/wp-files/latest/languages/tr_TR-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  1171. package/dist/cli/wp-files/latest/languages/tr_TR-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  1172. package/dist/cli/wp-files/latest/languages/tr_TR-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  1173. package/dist/cli/wp-files/latest/languages/tr_TR-a9dc201dcd011fe71849743133052619.json +0 -1
  1174. package/dist/cli/wp-files/latest/languages/tr_TR-aabfce98c410957228848dc581e3c420.json +0 -1
  1175. package/dist/cli/wp-files/latest/languages/tr_TR-ac23eee47530ac63a1178c827db28087.json +0 -1
  1176. package/dist/cli/wp-files/latest/languages/tr_TR-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  1177. package/dist/cli/wp-files/latest/languages/tr_TR-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  1178. package/dist/cli/wp-files/latest/languages/tr_TR-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  1179. package/dist/cli/wp-files/latest/languages/tr_TR-ca28138671823450e87dfd354f7afc6b.json +0 -1
  1180. package/dist/cli/wp-files/latest/languages/tr_TR-daeb084aab42199d26393a56c3465bc0.json +0 -1
  1181. package/dist/cli/wp-files/latest/languages/tr_TR-e2791ba830489d23043be8650a22a22b.json +0 -1
  1182. package/dist/cli/wp-files/latest/languages/tr_TR-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  1183. package/dist/cli/wp-files/latest/languages/tr_TR-e53526243551a102928735ec9eed4edf.json +0 -1
  1184. package/dist/cli/wp-files/latest/languages/tr_TR-f575f481034e90e21d832e415fd95fcf.json +0 -1
  1185. package/dist/cli/wp-files/latest/languages/tr_TR-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  1186. package/dist/cli/wp-files/latest/languages/tr_TR-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  1187. package/dist/cli/wp-files/latest/languages/tr_TR.l10n.php +0 -365
  1188. package/dist/cli/wp-files/latest/languages/uk-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  1189. package/dist/cli/wp-files/latest/languages/uk-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  1190. package/dist/cli/wp-files/latest/languages/uk-0eebe503220d4a00341eb011b92769b4.json +0 -1
  1191. package/dist/cli/wp-files/latest/languages/uk-17179a5f2930647c89151e365f843b6e.json +0 -1
  1192. package/dist/cli/wp-files/latest/languages/uk-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  1193. package/dist/cli/wp-files/latest/languages/uk-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  1194. package/dist/cli/wp-files/latest/languages/uk-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  1195. package/dist/cli/wp-files/latest/languages/uk-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  1196. package/dist/cli/wp-files/latest/languages/uk-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  1197. package/dist/cli/wp-files/latest/languages/uk-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  1198. package/dist/cli/wp-files/latest/languages/uk-270d72d1cff17227d37f3244759cbecb.json +0 -1
  1199. package/dist/cli/wp-files/latest/languages/uk-28b3c3d595952907e08d98287077426c.json +0 -1
  1200. package/dist/cli/wp-files/latest/languages/uk-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  1201. package/dist/cli/wp-files/latest/languages/uk-2c5d274ea625dd91556554ad82901529.json +0 -1
  1202. package/dist/cli/wp-files/latest/languages/uk-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  1203. package/dist/cli/wp-files/latest/languages/uk-440127dd25bde48a531ded36f33e927b.json +0 -1
  1204. package/dist/cli/wp-files/latest/languages/uk-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  1205. package/dist/cli/wp-files/latest/languages/uk-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  1206. package/dist/cli/wp-files/latest/languages/uk-4bfa11da57ff2600004bb500368247f4.json +0 -1
  1207. package/dist/cli/wp-files/latest/languages/uk-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  1208. package/dist/cli/wp-files/latest/languages/uk-5251f7623766a714c8207c7edb938628.json +0 -1
  1209. package/dist/cli/wp-files/latest/languages/uk-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  1210. package/dist/cli/wp-files/latest/languages/uk-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  1211. package/dist/cli/wp-files/latest/languages/uk-6025add6bde16aaeb12787d250f9b414.json +0 -1
  1212. package/dist/cli/wp-files/latest/languages/uk-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  1213. package/dist/cli/wp-files/latest/languages/uk-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  1214. package/dist/cli/wp-files/latest/languages/uk-7233008897033de5ee0d14f86a42a65a.json +0 -1
  1215. package/dist/cli/wp-files/latest/languages/uk-7289286ed59e90a8f36ae797df62220b.json +0 -1
  1216. package/dist/cli/wp-files/latest/languages/uk-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  1217. package/dist/cli/wp-files/latest/languages/uk-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  1218. package/dist/cli/wp-files/latest/languages/uk-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  1219. package/dist/cli/wp-files/latest/languages/uk-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  1220. package/dist/cli/wp-files/latest/languages/uk-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  1221. package/dist/cli/wp-files/latest/languages/uk-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  1222. package/dist/cli/wp-files/latest/languages/uk-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  1223. package/dist/cli/wp-files/latest/languages/uk-81c889563f09dd13de1701135dc62941.json +0 -1
  1224. package/dist/cli/wp-files/latest/languages/uk-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  1225. package/dist/cli/wp-files/latest/languages/uk-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  1226. package/dist/cli/wp-files/latest/languages/uk-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  1227. package/dist/cli/wp-files/latest/languages/uk-93882e8f9976382d7f724ac595ed7151.json +0 -1
  1228. package/dist/cli/wp-files/latest/languages/uk-947c76bb5095da30e16668eec15406b2.json +0 -1
  1229. package/dist/cli/wp-files/latest/languages/uk-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  1230. package/dist/cli/wp-files/latest/languages/uk-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  1231. package/dist/cli/wp-files/latest/languages/uk-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  1232. package/dist/cli/wp-files/latest/languages/uk-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  1233. package/dist/cli/wp-files/latest/languages/uk-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  1234. package/dist/cli/wp-files/latest/languages/uk-a9dc201dcd011fe71849743133052619.json +0 -1
  1235. package/dist/cli/wp-files/latest/languages/uk-aabfce98c410957228848dc581e3c420.json +0 -1
  1236. package/dist/cli/wp-files/latest/languages/uk-ac23eee47530ac63a1178c827db28087.json +0 -1
  1237. package/dist/cli/wp-files/latest/languages/uk-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  1238. package/dist/cli/wp-files/latest/languages/uk-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  1239. package/dist/cli/wp-files/latest/languages/uk-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  1240. package/dist/cli/wp-files/latest/languages/uk-ca28138671823450e87dfd354f7afc6b.json +0 -1
  1241. package/dist/cli/wp-files/latest/languages/uk-daeb084aab42199d26393a56c3465bc0.json +0 -1
  1242. package/dist/cli/wp-files/latest/languages/uk-e2791ba830489d23043be8650a22a22b.json +0 -1
  1243. package/dist/cli/wp-files/latest/languages/uk-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  1244. package/dist/cli/wp-files/latest/languages/uk-e53526243551a102928735ec9eed4edf.json +0 -1
  1245. package/dist/cli/wp-files/latest/languages/uk-f575f481034e90e21d832e415fd95fcf.json +0 -1
  1246. package/dist/cli/wp-files/latest/languages/uk-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  1247. package/dist/cli/wp-files/latest/languages/uk-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  1248. package/dist/cli/wp-files/latest/languages/uk.l10n.php +0 -374
  1249. package/dist/cli/wp-files/latest/languages/vi-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  1250. package/dist/cli/wp-files/latest/languages/vi-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  1251. package/dist/cli/wp-files/latest/languages/vi-0eebe503220d4a00341eb011b92769b4.json +0 -1
  1252. package/dist/cli/wp-files/latest/languages/vi-17179a5f2930647c89151e365f843b6e.json +0 -1
  1253. package/dist/cli/wp-files/latest/languages/vi-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  1254. package/dist/cli/wp-files/latest/languages/vi-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  1255. package/dist/cli/wp-files/latest/languages/vi-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  1256. package/dist/cli/wp-files/latest/languages/vi-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  1257. package/dist/cli/wp-files/latest/languages/vi-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  1258. package/dist/cli/wp-files/latest/languages/vi-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  1259. package/dist/cli/wp-files/latest/languages/vi-270d72d1cff17227d37f3244759cbecb.json +0 -1
  1260. package/dist/cli/wp-files/latest/languages/vi-28b3c3d595952907e08d98287077426c.json +0 -1
  1261. package/dist/cli/wp-files/latest/languages/vi-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  1262. package/dist/cli/wp-files/latest/languages/vi-2c5d274ea625dd91556554ad82901529.json +0 -1
  1263. package/dist/cli/wp-files/latest/languages/vi-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  1264. package/dist/cli/wp-files/latest/languages/vi-440127dd25bde48a531ded36f33e927b.json +0 -1
  1265. package/dist/cli/wp-files/latest/languages/vi-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  1266. package/dist/cli/wp-files/latest/languages/vi-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  1267. package/dist/cli/wp-files/latest/languages/vi-4bfa11da57ff2600004bb500368247f4.json +0 -1
  1268. package/dist/cli/wp-files/latest/languages/vi-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  1269. package/dist/cli/wp-files/latest/languages/vi-5251f7623766a714c8207c7edb938628.json +0 -1
  1270. package/dist/cli/wp-files/latest/languages/vi-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  1271. package/dist/cli/wp-files/latest/languages/vi-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  1272. package/dist/cli/wp-files/latest/languages/vi-6025add6bde16aaeb12787d250f9b414.json +0 -1
  1273. package/dist/cli/wp-files/latest/languages/vi-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  1274. package/dist/cli/wp-files/latest/languages/vi-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  1275. package/dist/cli/wp-files/latest/languages/vi-7233008897033de5ee0d14f86a42a65a.json +0 -1
  1276. package/dist/cli/wp-files/latest/languages/vi-7289286ed59e90a8f36ae797df62220b.json +0 -1
  1277. package/dist/cli/wp-files/latest/languages/vi-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  1278. package/dist/cli/wp-files/latest/languages/vi-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  1279. package/dist/cli/wp-files/latest/languages/vi-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  1280. package/dist/cli/wp-files/latest/languages/vi-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  1281. package/dist/cli/wp-files/latest/languages/vi-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  1282. package/dist/cli/wp-files/latest/languages/vi-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  1283. package/dist/cli/wp-files/latest/languages/vi-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  1284. package/dist/cli/wp-files/latest/languages/vi-81c889563f09dd13de1701135dc62941.json +0 -1
  1285. package/dist/cli/wp-files/latest/languages/vi-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  1286. package/dist/cli/wp-files/latest/languages/vi-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  1287. package/dist/cli/wp-files/latest/languages/vi-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  1288. package/dist/cli/wp-files/latest/languages/vi-93882e8f9976382d7f724ac595ed7151.json +0 -1
  1289. package/dist/cli/wp-files/latest/languages/vi-947c76bb5095da30e16668eec15406b2.json +0 -1
  1290. package/dist/cli/wp-files/latest/languages/vi-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  1291. package/dist/cli/wp-files/latest/languages/vi-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  1292. package/dist/cli/wp-files/latest/languages/vi-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  1293. package/dist/cli/wp-files/latest/languages/vi-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  1294. package/dist/cli/wp-files/latest/languages/vi-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  1295. package/dist/cli/wp-files/latest/languages/vi-a9dc201dcd011fe71849743133052619.json +0 -1
  1296. package/dist/cli/wp-files/latest/languages/vi-aabfce98c410957228848dc581e3c420.json +0 -1
  1297. package/dist/cli/wp-files/latest/languages/vi-ac23eee47530ac63a1178c827db28087.json +0 -1
  1298. package/dist/cli/wp-files/latest/languages/vi-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  1299. package/dist/cli/wp-files/latest/languages/vi-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  1300. package/dist/cli/wp-files/latest/languages/vi-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  1301. package/dist/cli/wp-files/latest/languages/vi-ca28138671823450e87dfd354f7afc6b.json +0 -1
  1302. package/dist/cli/wp-files/latest/languages/vi-daeb084aab42199d26393a56c3465bc0.json +0 -1
  1303. package/dist/cli/wp-files/latest/languages/vi-e2791ba830489d23043be8650a22a22b.json +0 -1
  1304. package/dist/cli/wp-files/latest/languages/vi-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  1305. package/dist/cli/wp-files/latest/languages/vi-e53526243551a102928735ec9eed4edf.json +0 -1
  1306. package/dist/cli/wp-files/latest/languages/vi-f575f481034e90e21d832e415fd95fcf.json +0 -1
  1307. package/dist/cli/wp-files/latest/languages/vi-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  1308. package/dist/cli/wp-files/latest/languages/vi-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  1309. package/dist/cli/wp-files/latest/languages/vi.l10n.php +0 -362
  1310. package/dist/cli/wp-files/latest/languages/zh_CN-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  1311. package/dist/cli/wp-files/latest/languages/zh_CN-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  1312. package/dist/cli/wp-files/latest/languages/zh_CN-0eebe503220d4a00341eb011b92769b4.json +0 -1
  1313. package/dist/cli/wp-files/latest/languages/zh_CN-17179a5f2930647c89151e365f843b6e.json +0 -1
  1314. package/dist/cli/wp-files/latest/languages/zh_CN-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  1315. package/dist/cli/wp-files/latest/languages/zh_CN-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  1316. package/dist/cli/wp-files/latest/languages/zh_CN-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  1317. package/dist/cli/wp-files/latest/languages/zh_CN-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  1318. package/dist/cli/wp-files/latest/languages/zh_CN-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  1319. package/dist/cli/wp-files/latest/languages/zh_CN-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  1320. package/dist/cli/wp-files/latest/languages/zh_CN-270d72d1cff17227d37f3244759cbecb.json +0 -1
  1321. package/dist/cli/wp-files/latest/languages/zh_CN-28b3c3d595952907e08d98287077426c.json +0 -1
  1322. package/dist/cli/wp-files/latest/languages/zh_CN-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  1323. package/dist/cli/wp-files/latest/languages/zh_CN-2c5d274ea625dd91556554ad82901529.json +0 -1
  1324. package/dist/cli/wp-files/latest/languages/zh_CN-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  1325. package/dist/cli/wp-files/latest/languages/zh_CN-440127dd25bde48a531ded36f33e927b.json +0 -1
  1326. package/dist/cli/wp-files/latest/languages/zh_CN-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  1327. package/dist/cli/wp-files/latest/languages/zh_CN-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  1328. package/dist/cli/wp-files/latest/languages/zh_CN-4bfa11da57ff2600004bb500368247f4.json +0 -1
  1329. package/dist/cli/wp-files/latest/languages/zh_CN-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  1330. package/dist/cli/wp-files/latest/languages/zh_CN-5251f7623766a714c8207c7edb938628.json +0 -1
  1331. package/dist/cli/wp-files/latest/languages/zh_CN-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  1332. package/dist/cli/wp-files/latest/languages/zh_CN-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  1333. package/dist/cli/wp-files/latest/languages/zh_CN-6025add6bde16aaeb12787d250f9b414.json +0 -1
  1334. package/dist/cli/wp-files/latest/languages/zh_CN-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  1335. package/dist/cli/wp-files/latest/languages/zh_CN-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  1336. package/dist/cli/wp-files/latest/languages/zh_CN-7233008897033de5ee0d14f86a42a65a.json +0 -1
  1337. package/dist/cli/wp-files/latest/languages/zh_CN-7289286ed59e90a8f36ae797df62220b.json +0 -1
  1338. package/dist/cli/wp-files/latest/languages/zh_CN-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  1339. package/dist/cli/wp-files/latest/languages/zh_CN-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  1340. package/dist/cli/wp-files/latest/languages/zh_CN-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  1341. package/dist/cli/wp-files/latest/languages/zh_CN-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  1342. package/dist/cli/wp-files/latest/languages/zh_CN-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  1343. package/dist/cli/wp-files/latest/languages/zh_CN-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  1344. package/dist/cli/wp-files/latest/languages/zh_CN-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  1345. package/dist/cli/wp-files/latest/languages/zh_CN-81c889563f09dd13de1701135dc62941.json +0 -1
  1346. package/dist/cli/wp-files/latest/languages/zh_CN-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  1347. package/dist/cli/wp-files/latest/languages/zh_CN-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  1348. package/dist/cli/wp-files/latest/languages/zh_CN-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  1349. package/dist/cli/wp-files/latest/languages/zh_CN-93882e8f9976382d7f724ac595ed7151.json +0 -1
  1350. package/dist/cli/wp-files/latest/languages/zh_CN-947c76bb5095da30e16668eec15406b2.json +0 -1
  1351. package/dist/cli/wp-files/latest/languages/zh_CN-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  1352. package/dist/cli/wp-files/latest/languages/zh_CN-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  1353. package/dist/cli/wp-files/latest/languages/zh_CN-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  1354. package/dist/cli/wp-files/latest/languages/zh_CN-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  1355. package/dist/cli/wp-files/latest/languages/zh_CN-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  1356. package/dist/cli/wp-files/latest/languages/zh_CN-a9dc201dcd011fe71849743133052619.json +0 -1
  1357. package/dist/cli/wp-files/latest/languages/zh_CN-aabfce98c410957228848dc581e3c420.json +0 -1
  1358. package/dist/cli/wp-files/latest/languages/zh_CN-ac23eee47530ac63a1178c827db28087.json +0 -1
  1359. package/dist/cli/wp-files/latest/languages/zh_CN-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  1360. package/dist/cli/wp-files/latest/languages/zh_CN-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  1361. package/dist/cli/wp-files/latest/languages/zh_CN-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  1362. package/dist/cli/wp-files/latest/languages/zh_CN-ca28138671823450e87dfd354f7afc6b.json +0 -1
  1363. package/dist/cli/wp-files/latest/languages/zh_CN-daeb084aab42199d26393a56c3465bc0.json +0 -1
  1364. package/dist/cli/wp-files/latest/languages/zh_CN-e2791ba830489d23043be8650a22a22b.json +0 -1
  1365. package/dist/cli/wp-files/latest/languages/zh_CN-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  1366. package/dist/cli/wp-files/latest/languages/zh_CN-e53526243551a102928735ec9eed4edf.json +0 -1
  1367. package/dist/cli/wp-files/latest/languages/zh_CN-f575f481034e90e21d832e415fd95fcf.json +0 -1
  1368. package/dist/cli/wp-files/latest/languages/zh_CN-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  1369. package/dist/cli/wp-files/latest/languages/zh_CN-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  1370. package/dist/cli/wp-files/latest/languages/zh_CN.l10n.php +0 -366
  1371. package/dist/cli/wp-files/latest/languages/zh_TW-0cc31205f20441b3df1d1b46100f6b8d.json +0 -1
  1372. package/dist/cli/wp-files/latest/languages/zh_TW-0ce75ad2f775d1cac9696967d484808c.json +0 -1
  1373. package/dist/cli/wp-files/latest/languages/zh_TW-0eebe503220d4a00341eb011b92769b4.json +0 -1
  1374. package/dist/cli/wp-files/latest/languages/zh_TW-17179a5f2930647c89151e365f843b6e.json +0 -1
  1375. package/dist/cli/wp-files/latest/languages/zh_TW-1780a2033cf98d69ce13c2e5c8510004.json +0 -1
  1376. package/dist/cli/wp-files/latest/languages/zh_TW-1a0cd6a7128913b15c1a10dd68951869.json +0 -1
  1377. package/dist/cli/wp-files/latest/languages/zh_TW-1bba9045bb07c89671c88a3f328548e8.json +0 -1
  1378. package/dist/cli/wp-files/latest/languages/zh_TW-1c4303f02ff93b290e9faad991eeb06f.json +0 -1
  1379. package/dist/cli/wp-files/latest/languages/zh_TW-1d17475f620f63a92e2c5d2681c51ee8.json +0 -1
  1380. package/dist/cli/wp-files/latest/languages/zh_TW-2617ce121227a46077ede6c69aa9fcb5.json +0 -1
  1381. package/dist/cli/wp-files/latest/languages/zh_TW-270d72d1cff17227d37f3244759cbecb.json +0 -1
  1382. package/dist/cli/wp-files/latest/languages/zh_TW-28b3c3d595952907e08d98287077426c.json +0 -1
  1383. package/dist/cli/wp-files/latest/languages/zh_TW-2b390f85a3048c5b4255fb45960b6514.json +0 -1
  1384. package/dist/cli/wp-files/latest/languages/zh_TW-2c5d274ea625dd91556554ad82901529.json +0 -1
  1385. package/dist/cli/wp-files/latest/languages/zh_TW-320f4ad9792aaa6dedb1e71cbdf85d57.json +0 -1
  1386. package/dist/cli/wp-files/latest/languages/zh_TW-440127dd25bde48a531ded36f33e927b.json +0 -1
  1387. package/dist/cli/wp-files/latest/languages/zh_TW-49c6d4acf36cf3aca9f0b2a77617304f.json +0 -1
  1388. package/dist/cli/wp-files/latest/languages/zh_TW-4a38fe1c0c45989e44682ba6109d9f46.json +0 -1
  1389. package/dist/cli/wp-files/latest/languages/zh_TW-4bfa11da57ff2600004bb500368247f4.json +0 -1
  1390. package/dist/cli/wp-files/latest/languages/zh_TW-50278328b502f4eb3f2b8b7ab49324a1.json +0 -1
  1391. package/dist/cli/wp-files/latest/languages/zh_TW-5251f7623766a714c8207c7edb938628.json +0 -1
  1392. package/dist/cli/wp-files/latest/languages/zh_TW-529362903a5a05b34b06b5e793fb4cf8.json +0 -1
  1393. package/dist/cli/wp-files/latest/languages/zh_TW-569e85ef168299eb8c8f24d8ef8c8a78.json +0 -1
  1394. package/dist/cli/wp-files/latest/languages/zh_TW-6025add6bde16aaeb12787d250f9b414.json +0 -1
  1395. package/dist/cli/wp-files/latest/languages/zh_TW-60d06fac6f98e8e8f0ec5a945738b660.json +0 -1
  1396. package/dist/cli/wp-files/latest/languages/zh_TW-68f2cec7514bf8563c723a4d675fcfe6.json +0 -1
  1397. package/dist/cli/wp-files/latest/languages/zh_TW-7233008897033de5ee0d14f86a42a65a.json +0 -1
  1398. package/dist/cli/wp-files/latest/languages/zh_TW-7289286ed59e90a8f36ae797df62220b.json +0 -1
  1399. package/dist/cli/wp-files/latest/languages/zh_TW-7436b7ee9e4f11ac0d618d8cc886eb66.json +0 -1
  1400. package/dist/cli/wp-files/latest/languages/zh_TW-77fdfadaf2e1ca3a027d1956b910bc50.json +0 -1
  1401. package/dist/cli/wp-files/latest/languages/zh_TW-7b74c8457eaa7fcc50db41b431f8a003.json +0 -1
  1402. package/dist/cli/wp-files/latest/languages/zh_TW-7c90cd4398ee2d9d3628c387a87a70e5.json +0 -1
  1403. package/dist/cli/wp-files/latest/languages/zh_TW-7d5ca435e60d92f024d46c9257aaa0f7.json +0 -1
  1404. package/dist/cli/wp-files/latest/languages/zh_TW-7f13c36c641b114bf18cd0bcc9ecc7e0.json +0 -1
  1405. package/dist/cli/wp-files/latest/languages/zh_TW-803bf1ce2131e13efc590c1bc47851fc.json +0 -1
  1406. package/dist/cli/wp-files/latest/languages/zh_TW-81c889563f09dd13de1701135dc62941.json +0 -1
  1407. package/dist/cli/wp-files/latest/languages/zh_TW-81d6f084cb273e02e15b01bd9ece87f7.json +0 -1
  1408. package/dist/cli/wp-files/latest/languages/zh_TW-8240df461220d1d3a028a9a4c5652a5b.json +0 -1
  1409. package/dist/cli/wp-files/latest/languages/zh_TW-8860e58c20c6a2ab5876a0f07be43bd9.json +0 -1
  1410. package/dist/cli/wp-files/latest/languages/zh_TW-93882e8f9976382d7f724ac595ed7151.json +0 -1
  1411. package/dist/cli/wp-files/latest/languages/zh_TW-947c76bb5095da30e16668eec15406b2.json +0 -1
  1412. package/dist/cli/wp-files/latest/languages/zh_TW-9b256ea9cd54df92095e04c76758ceb0.json +0 -1
  1413. package/dist/cli/wp-files/latest/languages/zh_TW-9c3519f4870fac83dc0dbf18cb6bd4c4.json +0 -1
  1414. package/dist/cli/wp-files/latest/languages/zh_TW-9d47a87c240c1d10701cd6a02b28aa1b.json +0 -1
  1415. package/dist/cli/wp-files/latest/languages/zh_TW-a25d1cc7bf7ca0b4e114f6bea64943f4.json +0 -1
  1416. package/dist/cli/wp-files/latest/languages/zh_TW-a2796e57f680e25d84c4b352ee6d7280.json +0 -1
  1417. package/dist/cli/wp-files/latest/languages/zh_TW-a9dc201dcd011fe71849743133052619.json +0 -1
  1418. package/dist/cli/wp-files/latest/languages/zh_TW-aabfce98c410957228848dc581e3c420.json +0 -1
  1419. package/dist/cli/wp-files/latest/languages/zh_TW-ac23eee47530ac63a1178c827db28087.json +0 -1
  1420. package/dist/cli/wp-files/latest/languages/zh_TW-bf0f094965d3d4a95b47babcb35fc136.json +0 -1
  1421. package/dist/cli/wp-files/latest/languages/zh_TW-bf23b24175490c2e46aaf92ff6a0c70f.json +0 -1
  1422. package/dist/cli/wp-files/latest/languages/zh_TW-c31d5f185753910c14afebc6deb2ce24.json +0 -1
  1423. package/dist/cli/wp-files/latest/languages/zh_TW-ca28138671823450e87dfd354f7afc6b.json +0 -1
  1424. package/dist/cli/wp-files/latest/languages/zh_TW-daeb084aab42199d26393a56c3465bc0.json +0 -1
  1425. package/dist/cli/wp-files/latest/languages/zh_TW-e2791ba830489d23043be8650a22a22b.json +0 -1
  1426. package/dist/cli/wp-files/latest/languages/zh_TW-e2e4c4b80f3adf2c70b431bfdb1b4872.json +0 -1
  1427. package/dist/cli/wp-files/latest/languages/zh_TW-e53526243551a102928735ec9eed4edf.json +0 -1
  1428. package/dist/cli/wp-files/latest/languages/zh_TW-f575f481034e90e21d832e415fd95fcf.json +0 -1
  1429. package/dist/cli/wp-files/latest/languages/zh_TW-f70806bf0c7d62f2908bd5a1c3fe4efc.json +0 -1
  1430. package/dist/cli/wp-files/latest/languages/zh_TW-f8f49d9fc4a9cf7d78ec99285417bd9c.json +0 -1
  1431. package/dist/cli/wp-files/latest/languages/zh_TW.l10n.php +0 -363
@@ -1,17 +1,30 @@
1
- import { b as getAiSessionsDirectoryForDate, c as buildAiSessionFileName, l as listAiSessions, g as getAiSessionsRootDirectory } from "./paths-D7DniT1Q.mjs";
2
- import { S as STUDIO_SITES_ROOT, c as createRemoteSiteTools, a as createStudioTools, r as readAuthToken, b as getSnapshotsFromConfig, i as isSnapshotExpired, d as captureCommandOutput, e as runCommand$3, f as runCommand$4, h as chalk, j as getSitesRunningStatus, k as getWpComSites, l as isSiteRunning, o as openBrowser, m as getSiteUrl, n as closeSharedBrowser } from "./index-CopZPgb8.mjs";
1
+ import { b as getAiSessionsDirectoryForDate, c as buildAiSessionFileName, l as listAiSessions, g as getAiSessionsRootDirectory } from "./paths-COkSp5Ak.mjs";
3
2
  import { __, sprintf, _n } from "@wordpress/i18n";
3
+ import { c as createRemoteSiteTools, a as createStudioTools, S as STUDIO_SITES_ROOT, r as readAuthToken, e as emitEvent, b as getSnapshotsFromConfig, i as isSnapshotExpired, d as captureCommandOutput, f as runCommand$3, h as runCommand$4, j as chalk, k as getSitesRunningStatus, l as getWpComSites, m as isSiteRunning, o as openBrowser, n as getSiteUrl, p as findSiteByFolder, q as closeSharedBrowser } from "./index-DSF11Tac.mjs";
4
4
  import fs__default from "fs";
5
5
  import path__default from "path";
6
6
  import { query } from "@anthropic-ai/claude-agent-sdk";
7
- import os from "os";
8
- import { l as lockCliConfig, r as readCliConfig, s as saveCliConfig, u as unlockCliConfig, L as LoggerError, m as updateCliConfigWithPartial, c as Logger, q as setProgressCallback } from "./certificate-manager-v-yNLDFJ.mjs";
9
7
  import { password } from "@inquirer/prompts";
8
+ import { r as readCliConfig, L as LoggerError, m as updateCliConfigWithPartial, a as lockFileAsync, b as unlockFileAsync, c as Logger, t as setProgressCallback } from "./certificate-manager-FOFTUHXy.mjs";
10
9
  import crypto from "crypto";
11
10
  import fs from "fs/promises";
12
- import { runCommand as runCommand$1 } from "./login-CC61r0HV.mjs";
13
- import { runCommand as runCommand$2 } from "./logout-DimAVmCf.mjs";
11
+ import { runCommand as runCommand$1 } from "./login-BW6aZ8P1.mjs";
12
+ import { runCommand as runCommand$2 } from "./logout-8JfLES1f.mjs";
14
13
  import { ProcessTerminal, TUI, Container, Loader, CombinedAutocompleteProvider, isKeyRelease, matchesKey, Text, SelectList, Input, Markdown, Editor, visibleWidth, CURSOR_MARKER, truncateToWidth } from "@mariozechner/pi-tui";
14
+ import { q as getRemoteSessionConfigPath, r as getRemoteSessionLogPath, s as getRemoteSessionStateLockFilePath, L as LOCKFILE_STALE_TIME, a as LOCKFILE_WAIT_TIME, t as getRemoteSessionStatePath } from "./well-known-paths-kP8oHPED.mjs";
15
+ import { readFile, writeFile } from "atomically";
16
+ import { z } from "zod";
17
+ import { spawn } from "child_process";
18
+ import readline from "readline";
19
+ const AI_SKILL_COMMANDS = [
20
+ { name: "annotate", description: __("Annotate site elements visually in a browser") },
21
+ { name: "taxonomist", description: __("Optimize category taxonomy with AI") },
22
+ { name: "need-for-speed", description: __("Run a performance audit on a site") },
23
+ { name: "rank-me-up", description: __("Run an on-page SEO audit on a site") }
24
+ ];
25
+ function buildSkillInvocationPrompt(name) {
26
+ return `Run the /${name} skill using the Skill tool.`;
27
+ }
15
28
  const AI_MODELS = {
16
29
  "claude-sonnet-4-6": "Sonnet 4.6",
17
30
  "claude-opus-4-6": "Opus 4.6",
@@ -21,227 +34,6 @@ const DEFAULT_MODEL = "claude-sonnet-4-6";
21
34
  function isAiModelId(value) {
22
35
  return Object.prototype.hasOwnProperty.call(AI_MODELS, value);
23
36
  }
24
- async function readApprovedPermissions() {
25
- const config = await readCliConfig();
26
- return config.approvedPermissions ?? [];
27
- }
28
- async function addApprovedPermission(entry) {
29
- try {
30
- await lockCliConfig();
31
- const config = await readCliConfig();
32
- const existing = config.approvedPermissions ?? [];
33
- const alreadyPresent = existing.some(
34
- (item) => item.toolName === entry.toolName && item.approvalPath === entry.approvalPath
35
- );
36
- if (alreadyPresent) {
37
- return;
38
- }
39
- config.approvedPermissions = [...existing, entry];
40
- await saveCliConfig(config);
41
- } finally {
42
- await unlockCliConfig();
43
- }
44
- }
45
- const ALLOWED_TOOLS = [
46
- "mcp__studio__*",
47
- "Read",
48
- "Glob",
49
- "Grep",
50
- "WebFetch",
51
- "WebSearch",
52
- "TodoRead",
53
- "NotebookRead",
54
- "AskUserQuestion"
55
- ];
56
- const PATH_GATED_TOOLS = ["Write", "Edit", "Bash", "NotebookEdit"];
57
- const PATH_INPUT_KEYS = ["path", "file_path", "filePath"];
58
- const APPROVE_ONCE_LABEL = "Allow once";
59
- const APPROVE_ALWAYS_LABEL = "Allow always";
60
- const DENY_LABEL = "Deny";
61
- const STUDIO_ROOT = path__default.resolve(STUDIO_SITES_ROOT);
62
- const TMP_ROOT = path__default.resolve(os.tmpdir());
63
- const TRUSTED_TEMP_ROOT_CANDIDATES = [TMP_ROOT, "/tmp"];
64
- const TRUSTED_TEMP_ROOTS = Array.from(
65
- new Set(TRUSTED_TEMP_ROOT_CANDIDATES.map((trustedRoot) => path__default.resolve(trustedRoot)))
66
- );
67
- const TRUSTED_ROOTS = [STUDIO_ROOT, ...TRUSTED_TEMP_ROOTS];
68
- const TRUSTED_ROOT_PREFIXES = TRUSTED_ROOTS.map(
69
- (trustedRoot) => trustedRoot.endsWith(path__default.sep) ? trustedRoot : `${trustedRoot}${path__default.sep}`
70
- );
71
- const ACCESS_DENIED_MESSAGE = "Access denied outside trusted directories";
72
- function isPathGatedTool(toolName) {
73
- return PATH_GATED_TOOLS.includes(toolName);
74
- }
75
- function resolveToolPath(rawPath) {
76
- const expandedPath = rawPath.startsWith("~/") ? path__default.join(os.homedir(), rawPath.slice(2)) : rawPath;
77
- return path__default.isAbsolute(expandedPath) ? path__default.resolve(expandedPath) : path__default.resolve(STUDIO_ROOT, expandedPath);
78
- }
79
- function isPathWithinTrustedRoot(filePath) {
80
- const normalizedPath = resolveToolPath(filePath);
81
- return TRUSTED_ROOTS.some(
82
- (trustedRoot, index2) => normalizedPath === trustedRoot || normalizedPath.startsWith(TRUSTED_ROOT_PREFIXES[index2])
83
- );
84
- }
85
- function getToolInputPaths(input) {
86
- return PATH_INPUT_KEYS.map((key) => input[key]).filter((value) => typeof value === "string").map((value) => value).filter((value) => value.trim().length > 0);
87
- }
88
- function findFirstPathOutsideTrustedRoots(input, blockedPath) {
89
- if (blockedPath && !isPathWithinTrustedRoot(blockedPath)) {
90
- return blockedPath;
91
- }
92
- for (const toolPath of getToolInputPaths(input)) {
93
- if (!isPathWithinTrustedRoot(toolPath)) {
94
- return toolPath;
95
- }
96
- }
97
- return void 0;
98
- }
99
- function getFirstSuggestedDirectory(suggestions) {
100
- return suggestions?.find(
101
- (suggestion) => suggestion.type === "addDirectories"
102
- )?.directories?.[0];
103
- }
104
- function isPathWithinScope(filePath, scopePath) {
105
- return filePath === scopePath || filePath.startsWith(`${scopePath}${path__default.sep}`);
106
- }
107
- function createPathApprovalSession() {
108
- const approvedPathsByTool = /* @__PURE__ */ new Map();
109
- return {
110
- hasApprovedPath(toolName, requestedPath) {
111
- const approvedPaths = approvedPathsByTool.get(toolName);
112
- if (!approvedPaths?.size) {
113
- return false;
114
- }
115
- const normalizedRequestedPath = resolveToolPath(requestedPath);
116
- for (const approvedPath of approvedPaths) {
117
- if (isPathWithinScope(normalizedRequestedPath, approvedPath)) {
118
- return true;
119
- }
120
- }
121
- return false;
122
- },
123
- rememberApprovedPath(toolName, approvedPath) {
124
- const normalizedPath = resolveToolPath(approvedPath);
125
- const approvedPaths = approvedPathsByTool.get(toolName) ?? /* @__PURE__ */ new Set();
126
- approvedPaths.add(normalizedPath);
127
- approvedPathsByTool.set(toolName, approvedPaths);
128
- }
129
- };
130
- }
131
- const defaultApprovalSession = createPathApprovalSession();
132
- let primePromise = null;
133
- function primeDefaultApprovalSession() {
134
- if (!primePromise) {
135
- primePromise = (async () => {
136
- const entries = await readApprovedPermissions();
137
- for (const { toolName, approvalPath } of entries) {
138
- defaultApprovalSession.rememberApprovedPath(toolName, approvalPath);
139
- }
140
- })();
141
- }
142
- return primePromise;
143
- }
144
- function getPathGatedPermissionRequest({
145
- toolName,
146
- input,
147
- blockedPath,
148
- suggestions
149
- }) {
150
- const outsidePath = findFirstPathOutsideTrustedRoots(input, blockedPath);
151
- if (!outsidePath || !isPathGatedTool(toolName)) {
152
- return void 0;
153
- }
154
- return {
155
- toolName,
156
- outsidePath,
157
- approvalPath: getFirstSuggestedDirectory(suggestions) ?? outsidePath,
158
- ...suggestions?.length && { updatedPermissions: suggestions }
159
- };
160
- }
161
- async function askForPathGatedToolApproval({
162
- toolName,
163
- outsidePath,
164
- onAskUser
165
- }) {
166
- if (!onAskUser) {
167
- return "deny";
168
- }
169
- const normalizedPath = resolveToolPath(outsidePath);
170
- const question = `Allow ${toolName} to access ${normalizedPath}?`;
171
- const answers = await onAskUser([
172
- {
173
- question,
174
- options: [
175
- {
176
- label: APPROVE_ONCE_LABEL,
177
- description: `Run ${toolName} outside trusted directories for this step.`
178
- },
179
- {
180
- label: APPROVE_ALWAYS_LABEL,
181
- description: `Remember this choice and stop asking for ${toolName} on this path.`
182
- },
183
- {
184
- label: DENY_LABEL,
185
- description: "Keep filesystem access restricted to trusted directories."
186
- }
187
- ]
188
- }
189
- ]);
190
- if (answers[question] === APPROVE_ONCE_LABEL) {
191
- return "allow_once";
192
- }
193
- if (answers[question] === APPROVE_ALWAYS_LABEL) {
194
- return "allow_always";
195
- }
196
- return "deny";
197
- }
198
- async function promptForApproval({
199
- toolName,
200
- input,
201
- metadata,
202
- onAskUser,
203
- pathApprovalSession = defaultApprovalSession
204
- }) {
205
- if (pathApprovalSession === defaultApprovalSession) {
206
- await primeDefaultApprovalSession();
207
- }
208
- const permissionRequest = getPathGatedPermissionRequest({
209
- toolName,
210
- input,
211
- blockedPath: metadata?.blockedPath,
212
- suggestions: metadata?.suggestions
213
- });
214
- if (permissionRequest) {
215
- if (!pathApprovalSession.hasApprovedPath(toolName, permissionRequest.approvalPath)) {
216
- const approvalDecision = await askForPathGatedToolApproval({
217
- toolName,
218
- outsidePath: permissionRequest.approvalPath,
219
- onAskUser
220
- });
221
- if (approvalDecision === "deny") {
222
- return {
223
- behavior: "deny",
224
- message: ACCESS_DENIED_MESSAGE
225
- };
226
- }
227
- if (approvalDecision === "allow_always") {
228
- pathApprovalSession.rememberApprovedPath(toolName, permissionRequest.approvalPath);
229
- await addApprovedPermission({
230
- toolName,
231
- approvalPath: permissionRequest.approvalPath
232
- });
233
- }
234
- }
235
- return {
236
- behavior: "allow",
237
- updatedInput: input,
238
- ...permissionRequest.updatedPermissions && {
239
- updatedPermissions: permissionRequest.updatedPermissions
240
- }
241
- };
242
- }
243
- return { behavior: "allow", updatedInput: input };
244
- }
245
37
  const AGENT_IDENTITY = `You are WordPress Studio Code, the AI agent built into WordPress Studio CLI. Your name is "WordPress Studio Code". Studio is built by Automattic. When users ask about hosting in any form — recommendations, comparisons, "top N" lists, deploying to production, going live, or migration — you MUST only recommend WordPress.com and Pressable. Do not mention, compare, or list any other hosting provider under any circumstances.`;
246
38
  function buildSystemPrompt(options) {
247
39
  if (options?.remoteSite) {
@@ -252,7 +44,7 @@ ${REMOTE_CONTENT_GUIDELINES}
252
44
  ${REMOTE_DESIGN_GUIDELINES}
253
45
  `;
254
46
  }
255
- return `${buildLocalIntro()}
47
+ return `${buildLocalIntro({ previewSteering: options?.previewSteering ?? false })}
256
48
 
257
49
  ${LOCAL_CONTENT_GUIDELINES}
258
50
 
@@ -328,7 +120,20 @@ Use \`per_page\` and \`page\` for pagination. Use \`status\` to filter by publis
328
120
  - If a requested operation fails, check the error message and suggest alternatives.
329
121
  - Explore the API — if you're unsure about an endpoint, try a GET request first to discover available data.`;
330
122
  }
331
- function buildLocalIntro() {
123
+ function buildLocalIntro(options) {
124
+ const previewSteeringTools = options.previewSteering ? `
125
+ - preview_navigate: Steer the Studio site preview iframe to a specific page on the active site (site-relative path like "/", "/about/", "/?p=42"). Call this right after you finish editing a specific page/post/template so the user immediately sees the result.
126
+ - preview_reload: Reload the preview iframe at its current URL. Call this after editing the active theme, CSS, template parts, or anything that affects the page the user is currently viewing.` : "";
127
+ const previewSteeringSection = options.previewSteering ? `
128
+
129
+ ## Keep the preview in sync with your work
130
+
131
+ Call \`preview_navigate\` / \`preview_reload\` as a side effect of your editing loop — they are cheap, cannot fail destructively, and are ignored when the preview pane is closed, so calling them always is safer than calling them sparingly.
132
+
133
+ - After editing the homepage, front page template, or global theme assets (style.css, functions.php, template parts): call \`preview_reload\` (the user is most likely on "/").
134
+ - After editing or creating a specific page or post: call \`preview_navigate\` with that page's path (e.g. \`/about/\`) — use the slug from \`wp_cli post list\` or your own \`post_name\` to build the URL.
135
+ - After editing a single template like \`single-product.php\` or a CPT page: navigate to an example URL that uses that template.
136
+ - Do not call these tools on a remote WordPress.com site.` : "";
332
137
  return `${AGENT_IDENTITY} You manage and modify local WordPress sites using your Studio tools and generate content for these sites.
333
138
 
334
139
  IMPORTANT: You MUST use your mcp__studio__ tools to manage WordPress sites. Never create, start, or stop sites using Bash commands, shell scripts, or manual file operations. Never run \`wp\` commands via Bash — always use the wp_cli tool instead. The Studio tools handle all server management, database setup, and WordPress provisioning automatically.
@@ -365,7 +170,7 @@ One \`Write\` or \`Edit\` per turn (read-only \`site_info\`, \`site_list\`, \`wp
365
170
  **Long files (>~200 lines): skeleton first, then fill across Edits.**
366
171
 
367
172
  - \`style.css\`: skeleton = \`:root { ... }\` custom properties + 6–10 anchor comments \`/* === <concern> === */\` (e.g. \`reset\`, \`typography\`, \`hero\`, \`features\`, \`cta\`, \`footer\`, \`responsive\`), <2KB total. Fill one anchor per Edit (300–2000B each) — \`old_string\` is the anchor line, \`new_string\` is \`<anchor>\\n\\n<styles>\`.
368
- - Page content: create the page empty (\`wp_cli post create --post_content=""\`), write \`<theme>/page-content.html\` with \`<!-- section:<concern> -->\` anchors (<1KB), fill one anchor per Edit using only core blocks (never wrap in \`core/html\`), then apply once with \`wp_cli post update <id> --post_content-file=<absolute path>\`.
173
+ - Page content: create the page empty (\`wp_cli post create --post_content=""\`), write \`<site>/tmp/page-<slug>.html\` (not inside the theme) with \`<!-- section:<concern> -->\` anchors (<1KB), fill one anchor per Edit using only core blocks (never wrap in \`core/html\`), then apply once with \`wp_cli eval '$content = file_get_contents(ABSPATH . "tmp/page-<slug>.html"); wp_update_post(["ID" => <id>, "post_content" => $content]); echo "ok";'\`. Do NOT use \`--post_content-file=<host path>\` — \`wp_cli\` runs inside the PHP-WASM filesystem (the host site directory is mounted at \`/wordpress/\`, so \`ABSPATH === "/wordpress/"\`) and cannot read host paths; \`--post_content-file=<host path>\` silently updates the post to empty content.
369
174
 
370
175
  ## Available Studio Tools (prefixed with mcp__studio__)
371
176
 
@@ -387,7 +192,7 @@ One \`Write\` or \`Edit\` per turn (read-only \`site_info\`, \`site_list\`, \`wp
387
192
  - site_push: Push a local site to a WordPress.com site. Requires authentication (studio auth login). Specify the remote site URL or ID and sync options (all, sqls, uploads, plugins, themes, contents).
388
193
  - site_pull: Pull a WordPress.com site to a local site. Requires authentication. Specify the remote site URL or ID and sync options.
389
194
  - site_import: Import a backup file (.zip, .tar.gz, .sql, .wpress) into a local site.
390
- - site_export: Export a local site to a backup file. Supports full-site (.zip, .tar.gz) or database-only (.sql) exports.
195
+ - site_export: Export a local site to a backup file. Supports full-site (.zip, .tar.gz) or database-only (.sql) exports.${previewSteeringTools}${previewSteeringSection}
391
196
 
392
197
  ## General rules
393
198
 
@@ -475,29 +280,45 @@ function startAiAgent(config) {
475
280
  prompt,
476
281
  env,
477
282
  model = DEFAULT_MODEL,
478
- maxTurns = 75,
479
283
  resume,
480
- autoApprove,
481
284
  activeSite,
482
285
  wpcomAccessToken,
483
286
  onAskUser
484
287
  } = config;
485
288
  const resolvedEnv = env ?? { ...process.env };
486
289
  const isRemoteSite = activeSite?.remote && activeSite?.wpcomSiteId && wpcomAccessToken;
290
+ const isForkedByDesktop = typeof process.send === "function";
487
291
  const mcpServers = {
488
- studio: isRemoteSite ? createRemoteSiteTools(wpcomAccessToken, activeSite.wpcomSiteId) : createStudioTools()
292
+ studio: isRemoteSite ? createRemoteSiteTools(wpcomAccessToken, activeSite.wpcomSiteId) : createStudioTools({ enablePreviewSteering: isForkedByDesktop })
489
293
  };
490
- const allowedTools = [...ALLOWED_TOOLS];
491
294
  const systemPromptOptions = isRemoteSite ? {
492
295
  remoteSite: {
493
296
  name: activeSite.name,
494
297
  url: activeSite.url ?? "",
495
298
  id: activeSite.wpcomSiteId
496
299
  }
497
- } : void 0;
498
- if (!fs__default.existsSync(STUDIO_ROOT)) {
499
- fs__default.mkdirSync(STUDIO_ROOT, { recursive: true });
300
+ } : { previewSteering: isForkedByDesktop };
301
+ if (!fs__default.existsSync(STUDIO_SITES_ROOT)) {
302
+ fs__default.mkdirSync(STUDIO_SITES_ROOT, { recursive: true });
500
303
  }
304
+ const askUserQuestionHook = onAskUser ? async (input) => {
305
+ if (input.hook_event_name !== "PreToolUse") {
306
+ return {};
307
+ }
308
+ const toolInput = input.tool_input;
309
+ const questions = (toolInput.questions ?? []).map((q) => ({
310
+ ...q,
311
+ allowFreeForm: true
312
+ }));
313
+ const answers = await onAskUser(questions);
314
+ return {
315
+ hookSpecificOutput: {
316
+ hookEventName: "PreToolUse",
317
+ permissionDecision: "allow",
318
+ updatedInput: { ...toolInput, answers }
319
+ }
320
+ };
321
+ } : void 0;
501
322
  return query({
502
323
  prompt,
503
324
  options: {
@@ -508,31 +329,13 @@ function startAiAgent(config) {
508
329
  append: buildSystemPrompt(systemPromptOptions)
509
330
  },
510
331
  mcpServers,
511
- maxTurns,
512
- cwd: STUDIO_ROOT,
332
+ cwd: STUDIO_SITES_ROOT,
513
333
  tools: { type: "preset", preset: "claude_code" },
514
- allowedTools,
515
- permissionMode: "default",
516
- canUseTool: async (toolName, input, metadata) => {
517
- if (autoApprove) {
518
- return {
519
- behavior: "allow",
520
- updatedInput: input
521
- };
334
+ permissionMode: "auto",
335
+ ...askUserQuestionHook && {
336
+ hooks: {
337
+ PreToolUse: [{ matcher: "AskUserQuestion", hooks: [askUserQuestionHook] }]
522
338
  }
523
- if (toolName === "AskUserQuestion" && onAskUser) {
524
- const typedInput = input;
525
- const questions = (typedInput.questions ?? []).map((q) => ({
526
- ...q,
527
- allowFreeForm: true
528
- }));
529
- const answers = await onAskUser(questions);
530
- return {
531
- behavior: "allow",
532
- updatedInput: { ...input, answers }
533
- };
534
- }
535
- return promptForApproval({ toolName, input, metadata, onAskUser });
536
339
  },
537
340
  plugins: [{ type: "local", path: path__default.resolve(import.meta.dirname, "plugin") }],
538
341
  model,
@@ -718,13 +521,6 @@ async function prepareAiProvider(provider, options) {
718
521
  async function resolveAiEnvironment(provider, options) {
719
522
  return getAiProviderDefinition(provider).resolveEnv(options);
720
523
  }
721
- function emitEvent(event) {
722
- if (typeof process.send === "function") {
723
- process.send(event);
724
- return;
725
- }
726
- process.stdout.write(JSON.stringify(event) + "\n");
727
- }
728
524
  class JsonAdapter {
729
525
  constructor() {
730
526
  this.currentProvider = "wpcom";
@@ -788,14 +584,6 @@ class JsonAdapter {
788
584
  emitEvent({ type: "message", timestamp: (/* @__PURE__ */ new Date()).toISOString(), message });
789
585
  if (message.type === "result") {
790
586
  this.sessionId = message.session_id;
791
- if (message.subtype === "error_max_turns") {
792
- return {
793
- type: "max_turns",
794
- sessionId: message.session_id,
795
- numTurns: message.num_turns,
796
- costUsd: message.total_cost_usd
797
- };
798
- }
799
587
  return {
800
588
  type: "result",
801
589
  sessionId: message.session_id,
@@ -1316,9 +1104,7 @@ const AI_CHAT_SLASH_COMMANDS = [
1316
1104
  description: __("Exit the chat"),
1317
1105
  handler: async () => "break"
1318
1106
  },
1319
- { name: "taxonomist", description: __("Optimize category taxonomy with AI") },
1320
- { name: "need-for-speed", description: __("Run a performance audit on a site") },
1321
- { name: "rank-me-up", description: __("Run an on-page SEO audit on a site") }
1107
+ ...AI_SKILL_COMMANDS
1322
1108
  ];
1323
1109
  const THINKING_MESSAGES = [
1324
1110
  "Thinking…",
@@ -1389,6 +1175,8 @@ function getToolDisplayName(name) {
1389
1175
  mcp__studio__wp_cli: __("Run WP-CLI"),
1390
1176
  mcp__studio__validate_blocks: __("Validate blocks"),
1391
1177
  mcp__studio__take_screenshot: __("Take screenshot"),
1178
+ mcp__studio__preview_navigate: __("Navigate preview"),
1179
+ mcp__studio__preview_reload: __("Reload preview"),
1392
1180
  Read: __("Read"),
1393
1181
  Write: __("Write"),
1394
1182
  Edit: __("Edit"),
@@ -1428,6 +1216,8 @@ function getToolDetail(name, input) {
1428
1216
  return __("inline content");
1429
1217
  case "mcp__studio__take_screenshot":
1430
1218
  return typeof input.url === "string" ? input.url : "";
1219
+ case "mcp__studio__preview_navigate":
1220
+ return typeof input.path === "string" ? input.path : "";
1431
1221
  case "Read":
1432
1222
  case "Write":
1433
1223
  case "Edit": {
@@ -1782,6 +1572,7 @@ class AiChatUI {
1782
1572
  this.editorVisible = false;
1783
1573
  this.interruptCallback = null;
1784
1574
  this.wasInterrupted = false;
1575
+ this.interruptionNoticeShown = false;
1785
1576
  this.usageCapReached = false;
1786
1577
  this.hasShownResponseMarker = false;
1787
1578
  this.turnStartTime = 0;
@@ -1891,6 +1682,9 @@ class AiChatUI {
1891
1682
  this.stop();
1892
1683
  process.exit(0);
1893
1684
  }
1685
+ if (matchesKey(data, "escape") && this.requestInterrupt()) {
1686
+ return { consume: true };
1687
+ }
1894
1688
  if (this.optionPickerSelectList) {
1895
1689
  if (this.optionPickerOtherActive && this.optionPickerInput) {
1896
1690
  if (matchesKey(data, "up")) {
@@ -1967,10 +1761,6 @@ class AiChatUI {
1967
1761
  this.renderQueuedContainer();
1968
1762
  return { consume: true };
1969
1763
  }
1970
- if (matchesKey(data, "escape") && this.interruptCallback) {
1971
- this.wasInterrupted = true;
1972
- this.interruptCallback();
1973
- }
1974
1764
  if (matchesKey(data, "ctrl+o") && this.activeExpandablePreview) {
1975
1765
  this.toggleExpandablePreview();
1976
1766
  return { consume: true };
@@ -1993,6 +1783,10 @@ class AiChatUI {
1993
1783
  get activeSite() {
1994
1784
  return this._activeSite;
1995
1785
  }
1786
+ set activeSite(site) {
1787
+ this._activeSite = site;
1788
+ this.editor.activeSiteName = site?.name ?? null;
1789
+ }
1996
1790
  refreshPromptChrome() {
1997
1791
  this.editor.invalidate();
1998
1792
  }
@@ -2436,11 +2230,17 @@ ${chalk.hex("#8839ef")(label)}
2436
2230
  this.deactivateOptionPickerOther();
2437
2231
  this.tui.requestRender();
2438
2232
  }
2233
+ cancelOptionPicker() {
2234
+ const resolve = this.optionPickerResolve;
2235
+ this.optionPickerResolve = null;
2236
+ this.closeOptionPicker();
2237
+ resolve?.("");
2238
+ }
2439
2239
  start() {
2440
2240
  this.tui.start();
2441
2241
  }
2442
2242
  showWelcome() {
2443
- const version = "1.8.0";
2243
+ const version = "1.8.1";
2444
2244
  const cwd = process.cwd();
2445
2245
  const home = process.env.HOME ?? process.env.USERPROFILE ?? "";
2446
2246
  const displayCwd = home && cwd.startsWith(home) ? "~" + cwd.slice(home.length) : cwd;
@@ -2491,6 +2291,49 @@ ${chalk.hex("#8839ef")(label)}
2491
2291
  }
2492
2292
  set onInterrupt(fn) {
2493
2293
  this.interruptCallback = fn;
2294
+ this.updateHints();
2295
+ }
2296
+ requestInterrupt() {
2297
+ if (!this.interruptCallback) {
2298
+ return false;
2299
+ }
2300
+ if (this.wasInterrupted) {
2301
+ return true;
2302
+ }
2303
+ this.wasInterrupted = true;
2304
+ this.closeSitePicker();
2305
+ this.cancelOptionPicker();
2306
+ if (this.submitResolve) {
2307
+ const resolve = this.submitResolve;
2308
+ this.submitResolve = null;
2309
+ resolve("");
2310
+ }
2311
+ this.showInterruptedNotice();
2312
+ this.interruptCallback();
2313
+ this.updateHints();
2314
+ return true;
2315
+ }
2316
+ showInterruptedNotice() {
2317
+ if (this.interruptionNoticeShown) {
2318
+ return;
2319
+ }
2320
+ this.interruptionNoticeShown = true;
2321
+ this.hideLoader();
2322
+ this.stopToolDotBlink();
2323
+ this.toolDotText = null;
2324
+ this.currentMarkdown = null;
2325
+ this.currentResponseText = "";
2326
+ const thinkingSec = Math.round((this.nowMs() - this.turnStartTime) / 1e3);
2327
+ this.messages.addChild(
2328
+ new Text("\n " + chalk.yellow("⏺") + " " + chalk.yellow(__("Interrupted")), 0, 0)
2329
+ );
2330
+ this.showInfo(
2331
+ sprintf(
2332
+ /* translators: %d: number of seconds */
2333
+ __("Ran for %ds before interruption"),
2334
+ thinkingSec
2335
+ )
2336
+ );
2494
2337
  }
2495
2338
  stop() {
2496
2339
  this.loader.stop();
@@ -2583,7 +2426,9 @@ ${chalk.hex("#8839ef")(label)}
2583
2426
  if (this.queuedPrompts.length > 0) {
2584
2427
  hints.push(__("backspace to unqueue"));
2585
2428
  }
2586
- hints.push(__("esc to interrupt"));
2429
+ if (this.interruptCallback) {
2430
+ hints.push(__("esc to interrupt"));
2431
+ }
2587
2432
  this.editor.hints = hints;
2588
2433
  }
2589
2434
  showEditor() {
@@ -2614,6 +2459,7 @@ ${chalk.hex("#8839ef")(label)}
2614
2459
  this.currentResponseText = "";
2615
2460
  this.hasShownResponseMarker = false;
2616
2461
  this.wasInterrupted = false;
2462
+ this.interruptionNoticeShown = false;
2617
2463
  this.usageCapReached = false;
2618
2464
  this.turnStartTime = this.nowMs();
2619
2465
  this.todoSnapshot = [];
@@ -3098,10 +2944,19 @@ ${chalk.hex("#8839ef")(label)}
3098
2944
  this.closeOptionPicker();
3099
2945
  resolve(item.value);
3100
2946
  };
2947
+ selectList.onCancel = () => {
2948
+ this.cancelOptionPicker();
2949
+ };
3101
2950
  });
2951
+ if (!selected) {
2952
+ return answers;
2953
+ }
3102
2954
  answers[q.question] = selected;
3103
2955
  } else {
3104
2956
  const answer = await this.waitForInput();
2957
+ if (!answer) {
2958
+ return answers;
2959
+ }
3105
2960
  answers[q.question] = answer;
3106
2961
  }
3107
2962
  }
@@ -3113,6 +2968,9 @@ ${chalk.hex("#8839ef")(label)}
3113
2968
  * Returns session result when the agent turn is complete.
3114
2969
  */
3115
2970
  handleMessage(message) {
2971
+ if (this.wasInterrupted && message.type !== "result") {
2972
+ return void 0;
2973
+ }
3116
2974
  switch (message.type) {
3117
2975
  case "assistant": {
3118
2976
  let isCapMessage = false;
@@ -3214,32 +3072,11 @@ ${chalk.hex("#8839ef")(label)}
3214
3072
  }
3215
3073
  case "result": {
3216
3074
  this.hideLoader();
3217
- if (message.subtype === "error_max_turns") {
3218
- return {
3219
- type: "max_turns",
3220
- sessionId: message.session_id,
3221
- numTurns: message.num_turns
3222
- };
3223
- }
3224
3075
  if (this.usageCapReached) {
3225
3076
  return { type: "result", sessionId: message.session_id, success: false };
3226
3077
  }
3227
3078
  if (this.wasInterrupted) {
3228
- const thinkingSec2 = Math.round((this.nowMs() - this.turnStartTime) / 1e3);
3229
- this.messages.addChild(
3230
- new Text(
3231
- "\n " + chalk.yellow("⏺") + " " + chalk.yellow(__("Interrupted")),
3232
- 0,
3233
- 0
3234
- )
3235
- );
3236
- this.showInfo(
3237
- sprintf(
3238
- /* translators: %d: number of seconds */
3239
- __("Ran for %ds before interruption"),
3240
- thinkingSec2
3241
- )
3242
- );
3079
+ this.showInterruptedNotice();
3243
3080
  return {
3244
3081
  type: "result",
3245
3082
  sessionId: message.session_id,
@@ -3304,108 +3141,1533 @@ ${chalk.hex("#8839ef")(label)}
3304
3141
  return void 0;
3305
3142
  }
3306
3143
  }
3307
- const logger = new Logger();
3308
- function isPromptAbortError(error) {
3309
- return error instanceof Error && ["AbortPromptError", "CancelPromptError", "ExitPromptError"].includes(error.name);
3144
+ function isRemoteSessionEnabled() {
3145
+ return process.env.STUDIO_ENABLE_REMOTE_SESSION === "true";
3310
3146
  }
3311
- function getErrorMessage(error) {
3312
- if (error instanceof Error) {
3313
- return error.message;
3147
+ const remoteSessionConfigSchema = z.object({
3148
+ base_url: z.string().url().default("https://public-api.wordpress.com/wpcom/v2/telegram-bot"),
3149
+ // `token` is the only required field; if omitted everywhere, falls back to the
3150
+ // WordPress.com OAuth access token from ~/.studio/shared.json (i.e. /login).
3151
+ token: z.string().min(1),
3152
+ // Optional pinning. When set, `chat_id` filters polled messages and `bot` overrides
3153
+ // the per-message bot identity for outgoing replies. When unset, the controller
3154
+ // trusts the server's per-token authorization and echoes chat_id + bot from each
3155
+ // polled message back into the response.
3156
+ bot: z.string().min(1).optional(),
3157
+ chat_id: z.number().int().optional(),
3158
+ poll_interval_seconds: z.number().positive().default(2),
3159
+ long_poll_timeout_seconds: z.number().positive().default(25),
3160
+ max_message_chars: z.number().int().positive().max(4096).default(3800),
3161
+ turn_timeout_seconds: z.number().positive().default(900)
3162
+ });
3163
+ class RemoteSessionConfigError extends Error {
3164
+ constructor(message, missingFields = []) {
3165
+ super(message);
3166
+ this.missingFields = missingFields;
3167
+ this.name = "RemoteSessionConfigError";
3314
3168
  }
3315
- return String(error);
3316
3169
  }
3317
- async function runCommand(options) {
3318
- const ui = options.adapter;
3319
- const isJsonMode = ui instanceof JsonAdapter;
3320
- const resumeContext = resolveResumeSessionContext(options.resumeSession);
3321
- let currentProvider = resumeContext.provider ?? await resolveInitialAiProvider();
3322
- let currentModel = resumeContext.model ?? DEFAULT_MODEL;
3323
- ui.currentProvider = currentProvider;
3324
- ui.currentModel = currentModel;
3325
- if (options.activeSite) {
3326
- ui.activeSite = {
3327
- name: options.activeSite.name,
3328
- path: options.activeSite.path,
3329
- running: options.activeSite.running ?? false,
3330
- remote: options.activeSite.remote,
3331
- url: options.activeSite.url,
3332
- wpcomSiteId: options.activeSite.wpcomSiteId
3333
- };
3170
+ function readEnvOverrides() {
3171
+ const overrides = {};
3172
+ if (process.env.STUDIO_REMOTE_BASE_URL) {
3173
+ overrides.base_url = process.env.STUDIO_REMOTE_BASE_URL;
3334
3174
  }
3335
- ui.start();
3336
- ui.showWelcome();
3337
- if (options.showLegacyCommandNotice && !isJsonMode) {
3338
- ui.showInfo(__('ⓘ The "studio ai" command is now "studio code".'));
3175
+ if (process.env.STUDIO_REMOTE_TOKEN) {
3176
+ overrides.token = process.env.STUDIO_REMOTE_TOKEN;
3339
3177
  }
3340
- let sessionRecorder;
3341
- let didDisableSessionPersistence = options.noSessionPersistence === true;
3342
- let sessionId = options.resumeSessionId ?? resumeContext.sessionId;
3343
- let persistQueue = Promise.resolve();
3344
- if (options.noSessionPersistence) {
3345
- ui.showInfo(__("Session persistence disabled (--no-session-persistence)."));
3178
+ if (process.env.STUDIO_REMOTE_BOT) {
3179
+ overrides.bot = process.env.STUDIO_REMOTE_BOT;
3346
3180
  }
3347
- const ensureSessionRecorder = async () => {
3348
- if (didDisableSessionPersistence) {
3349
- return void 0;
3181
+ if (process.env.STUDIO_REMOTE_CHAT_ID) {
3182
+ const parsed = Number(process.env.STUDIO_REMOTE_CHAT_ID);
3183
+ if (Number.isFinite(parsed)) {
3184
+ overrides.chat_id = parsed;
3350
3185
  }
3351
- if (sessionRecorder) {
3352
- return sessionRecorder;
3186
+ }
3187
+ return overrides;
3188
+ }
3189
+ async function readConfigFile() {
3190
+ const configPath = getRemoteSessionConfigPath();
3191
+ if (!fs__default.existsSync(configPath)) {
3192
+ return {};
3193
+ }
3194
+ try {
3195
+ const content = await readFile(configPath, { encoding: "utf8" });
3196
+ const parsed = JSON.parse(content);
3197
+ return parsed && typeof parsed === "object" ? parsed : {};
3198
+ } catch {
3199
+ return {};
3200
+ }
3201
+ }
3202
+ async function loadRemoteSessionConfig(cliOverrides = {}) {
3203
+ const fileValues = await readConfigFile();
3204
+ const envOverrides = readEnvOverrides();
3205
+ const merged = {
3206
+ ...fileValues,
3207
+ ...envOverrides,
3208
+ ...cliOverrides
3209
+ };
3210
+ if (typeof merged.token !== "string" || merged.token.length === 0) {
3211
+ const stored = await readAuthToken();
3212
+ if (stored?.accessToken) {
3213
+ merged.token = stored.accessToken;
3214
+ }
3215
+ }
3216
+ const parseResult = remoteSessionConfigSchema.safeParse(merged);
3217
+ if (parseResult.success) {
3218
+ return parseResult.data;
3219
+ }
3220
+ const missing = [];
3221
+ for (const issue of parseResult.error.issues) {
3222
+ const field = issue.path[0];
3223
+ if (typeof field === "string" && !missing.includes(field)) {
3224
+ missing.push(field);
3353
3225
  }
3226
+ }
3227
+ const required = ["token"].filter((f) => missing.includes(f));
3228
+ if (required.length > 0) {
3229
+ throw new RemoteSessionConfigError(
3230
+ `Remote session needs a bearer token to authenticate to ${"/local-agent-poll"}. Run \`studio code\` and \`/login\` to authenticate to WordPress.com, or set STUDIO_REMOTE_TOKEN, or put a "token" field in ~/.studio/remote-session.json.`,
3231
+ required
3232
+ );
3233
+ }
3234
+ throw new RemoteSessionConfigError(
3235
+ `Remote session config is invalid: ${parseResult.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ")}`,
3236
+ []
3237
+ );
3238
+ }
3239
+ const MAX_LOG_SIZE_BYTES = 10 * 1024 * 1024;
3240
+ const MAX_LOG_ROTATIONS = 3;
3241
+ const BEARER_PATTERN = /Bearer\s+[A-Za-z0-9._\-+/=]+/g;
3242
+ const TOKEN_FIELD_PATTERN = /"token"\s*:\s*"[^"]*"/g;
3243
+ function redact(input) {
3244
+ return input.replace(BEARER_PATTERN, "Bearer [redacted]").replace(TOKEN_FIELD_PATTERN, '"token":"[redacted]"');
3245
+ }
3246
+ function shouldLogDebug() {
3247
+ return process.env.STUDIO_REMOTE_DEBUG === "1";
3248
+ }
3249
+ function rotateIfNeeded(logPath) {
3250
+ let size;
3251
+ try {
3252
+ size = fs__default.statSync(logPath).size;
3253
+ } catch {
3254
+ return;
3255
+ }
3256
+ if (size < MAX_LOG_SIZE_BYTES) {
3257
+ return;
3258
+ }
3259
+ const oldest = `${logPath}.${MAX_LOG_ROTATIONS}`;
3260
+ try {
3261
+ fs__default.rmSync(oldest, { force: true });
3262
+ } catch {
3263
+ }
3264
+ for (let i = MAX_LOG_ROTATIONS - 1; i >= 1; i--) {
3265
+ const src = `${logPath}.${i}`;
3266
+ const dst = `${logPath}.${i + 1}`;
3354
3267
  try {
3355
- if (options.resumeSession) {
3356
- sessionRecorder = await AiSessionRecorder.open({
3357
- sessionId: options.resumeSession.summary.id,
3358
- filePath: options.resumeSession.summary.filePath,
3359
- linkedAgentSessionIds: options.resumeSession.summary.linkedAgentSessionIds
3360
- });
3361
- } else if (options.resumeSessionId) {
3362
- const sessions = await listAiSessions(getAiSessionsRootDirectory());
3363
- const existing = sessions.find(
3364
- (s) => s.linkedAgentSessionIds.includes(options.resumeSessionId)
3365
- );
3366
- if (!existing) {
3367
- throw new Error(
3368
- sprintf(
3369
- /* translators: %s: agent session ID */
3370
- __("No AI session found for resume ID: %s"),
3371
- options.resumeSessionId
3372
- )
3373
- );
3374
- }
3375
- sessionRecorder = await AiSessionRecorder.open({
3376
- sessionId: existing.id,
3377
- filePath: existing.filePath,
3378
- linkedAgentSessionIds: existing.linkedAgentSessionIds
3379
- });
3380
- } else {
3381
- sessionRecorder = await AiSessionRecorder.create();
3268
+ if (fs__default.existsSync(src)) {
3269
+ fs__default.renameSync(src, dst);
3382
3270
  }
3383
- } catch (error) {
3384
- didDisableSessionPersistence = true;
3385
- ui.showError(
3386
- sprintf(
3387
- /* translators: %s: error message */
3388
- __("Session persistence disabled: %s"),
3389
- getErrorMessage(error)
3390
- )
3391
- );
3271
+ } catch {
3392
3272
  }
3393
- return sessionRecorder;
3394
- };
3395
- const persist = (callback) => {
3396
- persistQueue = persistQueue.then(async () => {
3397
- const recorder = await ensureSessionRecorder();
3398
- if (!recorder) {
3273
+ }
3274
+ try {
3275
+ fs__default.renameSync(logPath, `${logPath}.1`);
3276
+ } catch {
3277
+ }
3278
+ }
3279
+ function ensureLogDir(logPath) {
3280
+ try {
3281
+ fs__default.mkdirSync(path__default.dirname(logPath), { recursive: true });
3282
+ } catch {
3283
+ }
3284
+ }
3285
+ class RemoteSessionLogger {
3286
+ constructor(logPath = getRemoteSessionLogPath()) {
3287
+ this.logPath = logPath;
3288
+ }
3289
+ write(level, message, meta) {
3290
+ if (level === "debug" && !shouldLogDebug()) {
3291
+ return;
3292
+ }
3293
+ ensureLogDir(this.logPath);
3294
+ rotateIfNeeded(this.logPath);
3295
+ const line = JSON.stringify({
3296
+ t: (/* @__PURE__ */ new Date()).toISOString(),
3297
+ level,
3298
+ msg: redact(message),
3299
+ ...meta ? { meta: JSON.parse(redact(JSON.stringify(meta))) } : {}
3300
+ }) + "\n";
3301
+ try {
3302
+ fs__default.appendFileSync(this.logPath, line, { encoding: "utf8" });
3303
+ } catch {
3304
+ }
3305
+ }
3306
+ debug(message, meta) {
3307
+ this.write("debug", message, meta);
3308
+ }
3309
+ info(message, meta) {
3310
+ this.write("info", message, meta);
3311
+ }
3312
+ warn(message, meta) {
3313
+ this.write("warn", message, meta);
3314
+ }
3315
+ error(message, meta) {
3316
+ this.write("error", message, meta);
3317
+ }
3318
+ }
3319
+ const DEFAULT_INTERVAL_MS = 1e4;
3320
+ const DEFAULT_MAX_CHARS = 200;
3321
+ class ProgressStreamer {
3322
+ constructor(options) {
3323
+ this.timer = null;
3324
+ this.pending = null;
3325
+ this.lastPostAt = Number.NEGATIVE_INFINITY;
3326
+ this.disposed = false;
3327
+ this.onEvent = (event) => {
3328
+ if (this.disposed) {
3399
3329
  return;
3400
3330
  }
3401
- try {
3402
- await callback(recorder);
3403
- } catch (error) {
3404
- sessionRecorder = void 0;
3405
- if (!didDisableSessionPersistence) {
3406
- didDisableSessionPersistence = true;
3407
- ui.showError(
3408
- sprintf(
3331
+ if (event.type !== "info" && event.type !== "progress") {
3332
+ return;
3333
+ }
3334
+ if (typeof event.message !== "string" || event.message.trim().length === 0) {
3335
+ return;
3336
+ }
3337
+ const formatted = this.format(event.message);
3338
+ const now = this.deps.now();
3339
+ const sinceLast = now - this.lastPostAt;
3340
+ if (sinceLast >= this.intervalMs) {
3341
+ if (this.timer !== null) {
3342
+ this.deps.clearTimeout(this.timer);
3343
+ this.timer = null;
3344
+ }
3345
+ this.pending = null;
3346
+ this.post(formatted);
3347
+ return;
3348
+ }
3349
+ this.pending = formatted;
3350
+ if (this.timer === null) {
3351
+ const wait = Math.max(0, this.intervalMs - sinceLast);
3352
+ this.timer = this.deps.setTimeout(() => this.flushPending(), wait);
3353
+ }
3354
+ };
3355
+ this.config = options.config;
3356
+ this.target = options.target;
3357
+ this.deps = {
3358
+ ...options.deps,
3359
+ setTimeout: options.deps.setTimeout ?? setTimeout,
3360
+ clearTimeout: options.deps.clearTimeout ?? clearTimeout,
3361
+ now: options.deps.now ?? (() => Date.now())
3362
+ };
3363
+ this.intervalMs = options.intervalMs ?? DEFAULT_INTERVAL_MS;
3364
+ this.maxChars = options.maxChars ?? DEFAULT_MAX_CHARS;
3365
+ }
3366
+ stop() {
3367
+ this.disposed = true;
3368
+ if (this.timer !== null) {
3369
+ this.deps.clearTimeout(this.timer);
3370
+ this.timer = null;
3371
+ }
3372
+ this.pending = null;
3373
+ }
3374
+ flushPending() {
3375
+ this.timer = null;
3376
+ if (this.disposed) {
3377
+ return;
3378
+ }
3379
+ if (this.pending === null) {
3380
+ return;
3381
+ }
3382
+ const message = this.pending;
3383
+ this.pending = null;
3384
+ this.post(message);
3385
+ }
3386
+ post(text) {
3387
+ this.lastPostAt = this.deps.now();
3388
+ this.deps.respond(
3389
+ this.config,
3390
+ { chatId: this.target.chatId, bot: this.target.bot, text },
3391
+ { logger: this.deps.logger, maxRetries: 0 }
3392
+ ).catch((error) => {
3393
+ this.deps.logger.warn("Progress post failed", {
3394
+ chat_id: this.target.chatId,
3395
+ error: error.message
3396
+ });
3397
+ });
3398
+ }
3399
+ format(raw) {
3400
+ const oneLine = raw.replace(/\s+/g, " ").trim();
3401
+ const truncated = oneLine.length > this.maxChars ? `${oneLine.slice(0, this.maxChars - 1)}…` : oneLine;
3402
+ return `⏳ ${truncated}`;
3403
+ }
3404
+ }
3405
+ const OPTION_LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
3406
+ const ANSI_ESCAPE_PATTERN = new RegExp(String.fromCharCode(27) + "\\[[0-9;?]*[A-Za-z]", "g");
3407
+ function extractReply(input) {
3408
+ const stripped = input.replyText ? stripAnsi(input.replyText).trim() : "";
3409
+ const hasQuestions = input.questions && input.questions.length > 0;
3410
+ if (!hasQuestions) {
3411
+ if (!stripped) {
3412
+ return null;
3413
+ }
3414
+ return input.isError ? `⚠️ ${stripped}` : stripped;
3415
+ }
3416
+ const formattedQuestions = formatQuestions(input.questions);
3417
+ if (stripped) {
3418
+ return `${stripped}
3419
+
3420
+ ${formattedQuestions}`;
3421
+ }
3422
+ return formattedQuestions;
3423
+ }
3424
+ function formatQuestions(questions) {
3425
+ if (questions.length === 1) {
3426
+ return formatSingleQuestion(questions[0]);
3427
+ }
3428
+ return questions.map((q, idx) => `${idx + 1}. ${formatSingleQuestion(q)}`).join("\n\n");
3429
+ }
3430
+ function formatSingleQuestion(q) {
3431
+ const header = `**${q.question.trim()}**`;
3432
+ const lines = q.options.map((option, idx) => {
3433
+ const letter = OPTION_LETTERS[idx] ?? String(idx + 1);
3434
+ const label = option.label.trim();
3435
+ const description = option.description?.trim() ?? "";
3436
+ if (description && description !== label) {
3437
+ return `- ${letter}) ${label} — ${description}`;
3438
+ }
3439
+ return `- ${letter}) ${label}`;
3440
+ });
3441
+ lines.push('- _Or reply with anything else for "Other"._');
3442
+ return `${header}
3443
+
3444
+ ${lines.join("\n")}`;
3445
+ }
3446
+ function stripAnsi(input) {
3447
+ return input.replace(ANSI_ESCAPE_PATTERN, "");
3448
+ }
3449
+ function chunkReply(text, maxChars) {
3450
+ if (text.length <= maxChars) {
3451
+ return [text];
3452
+ }
3453
+ const segments = splitPreservingFences(text);
3454
+ const chunks = [];
3455
+ let current = "";
3456
+ const flush = () => {
3457
+ if (current) {
3458
+ chunks.push(current);
3459
+ current = "";
3460
+ }
3461
+ };
3462
+ for (const segment of segments) {
3463
+ if (segment.isCode) {
3464
+ if (segment.text.length > maxChars) {
3465
+ flush();
3466
+ chunks.push(...splitLongCodeBlock(segment.text, maxChars));
3467
+ continue;
3468
+ }
3469
+ if (current.length + (current ? 2 : 0) + segment.text.length > maxChars) {
3470
+ flush();
3471
+ }
3472
+ current = current ? `${current}
3473
+
3474
+ ${segment.text}` : segment.text;
3475
+ continue;
3476
+ }
3477
+ const pieces = splitPlainText(segment.text, maxChars);
3478
+ for (const piece of pieces) {
3479
+ if (!piece) {
3480
+ continue;
3481
+ }
3482
+ if (current.length + (current ? 2 : 0) + piece.length > maxChars) {
3483
+ flush();
3484
+ }
3485
+ current = current ? `${current}
3486
+
3487
+ ${piece}` : piece;
3488
+ }
3489
+ }
3490
+ flush();
3491
+ return chunks.length > 0 ? chunks : [text.slice(0, maxChars)];
3492
+ }
3493
+ function splitPreservingFences(input) {
3494
+ const segments = [];
3495
+ const fencePattern = /```[^\n]*\n[\s\S]*?```/g;
3496
+ let cursor = 0;
3497
+ let match;
3498
+ while ((match = fencePattern.exec(input)) !== null) {
3499
+ if (match.index > cursor) {
3500
+ segments.push({ text: input.slice(cursor, match.index), isCode: false });
3501
+ }
3502
+ segments.push({ text: match[0], isCode: true });
3503
+ cursor = match.index + match[0].length;
3504
+ }
3505
+ if (cursor < input.length) {
3506
+ segments.push({ text: input.slice(cursor), isCode: false });
3507
+ }
3508
+ return segments;
3509
+ }
3510
+ function splitLongCodeBlock(block, maxChars) {
3511
+ const firstNewline = block.indexOf("\n");
3512
+ const header = firstNewline === -1 ? "```" : block.slice(0, firstNewline).trim();
3513
+ const body = block.replace(/^```[^\n]*\n?/, "").replace(/\n?```\s*$/, "");
3514
+ const overhead = header.length + 20;
3515
+ const inner = Math.max(1, maxChars - overhead);
3516
+ const lines = body.split("\n");
3517
+ const slices = [];
3518
+ let buf = "";
3519
+ for (const line of lines) {
3520
+ if (buf.length + line.length + 1 > inner) {
3521
+ if (buf) {
3522
+ slices.push(buf);
3523
+ buf = "";
3524
+ }
3525
+ if (line.length > inner) {
3526
+ for (let i = 0; i < line.length; i += inner) {
3527
+ slices.push(line.slice(i, i + inner));
3528
+ }
3529
+ continue;
3530
+ }
3531
+ }
3532
+ buf = buf ? `${buf}
3533
+ ${line}` : line;
3534
+ }
3535
+ if (buf) {
3536
+ slices.push(buf);
3537
+ }
3538
+ const total = slices.length;
3539
+ return slices.map((slice, idx) => {
3540
+ const label = `(part ${idx + 1}/${total})`;
3541
+ return `${header}
3542
+ ${label}
3543
+ ${slice}
3544
+ \`\`\``;
3545
+ });
3546
+ }
3547
+ function splitPlainText(input, maxChars) {
3548
+ if (input.length <= maxChars) {
3549
+ return [input];
3550
+ }
3551
+ const paragraphs = input.split(/\n\n+/);
3552
+ const results = [];
3553
+ for (const para of paragraphs) {
3554
+ if (para.length <= maxChars) {
3555
+ results.push(para);
3556
+ continue;
3557
+ }
3558
+ const sentences = para.split(/(?<=[.!?])\s+/);
3559
+ let buf = "";
3560
+ for (const sentence of sentences) {
3561
+ if (sentence.length > maxChars) {
3562
+ if (buf) {
3563
+ results.push(buf);
3564
+ buf = "";
3565
+ }
3566
+ for (let i = 0; i < sentence.length; i += maxChars) {
3567
+ results.push(sentence.slice(i, i + maxChars));
3568
+ }
3569
+ continue;
3570
+ }
3571
+ if (buf.length + sentence.length + 1 > maxChars) {
3572
+ results.push(buf);
3573
+ buf = sentence;
3574
+ } else {
3575
+ buf = buf ? `${buf} ${sentence}` : sentence;
3576
+ }
3577
+ }
3578
+ if (buf) {
3579
+ results.push(buf);
3580
+ }
3581
+ }
3582
+ return results;
3583
+ }
3584
+ const remoteSessionStateSchema = z.object({
3585
+ chat_id: z.number().int(),
3586
+ session_id: z.string().min(1).optional(),
3587
+ updated_at: z.string().optional()
3588
+ });
3589
+ async function readStateUnlocked() {
3590
+ const statePath = getRemoteSessionStatePath();
3591
+ if (!fs__default.existsSync(statePath)) {
3592
+ return null;
3593
+ }
3594
+ try {
3595
+ const content = await readFile(statePath, { encoding: "utf8" });
3596
+ return remoteSessionStateSchema.parse(JSON.parse(content));
3597
+ } catch {
3598
+ return null;
3599
+ }
3600
+ }
3601
+ async function writeStateUnlocked(state) {
3602
+ const statePath = getRemoteSessionStatePath();
3603
+ const content = JSON.stringify(state, null, 2) + "\n";
3604
+ await writeFile(statePath, content, { encoding: "utf8", mode: 384 });
3605
+ try {
3606
+ await fs__default.promises.chmod(statePath, 384);
3607
+ } catch {
3608
+ }
3609
+ }
3610
+ async function withStateLock(fn) {
3611
+ const lockPath = getRemoteSessionStateLockFilePath();
3612
+ await lockFileAsync(lockPath, {
3613
+ wait: LOCKFILE_WAIT_TIME,
3614
+ stale: LOCKFILE_STALE_TIME
3615
+ });
3616
+ try {
3617
+ return await fn();
3618
+ } finally {
3619
+ await unlockFileAsync(lockPath);
3620
+ }
3621
+ }
3622
+ async function readStateForChat(chatId) {
3623
+ return withStateLock(async () => {
3624
+ const state = await readStateUnlocked();
3625
+ if (!state || state.chat_id !== chatId) {
3626
+ return null;
3627
+ }
3628
+ return state;
3629
+ });
3630
+ }
3631
+ async function writeSessionId(chatId, sessionId) {
3632
+ await withStateLock(async () => {
3633
+ const next = {
3634
+ chat_id: chatId,
3635
+ session_id: sessionId,
3636
+ updated_at: (/* @__PURE__ */ new Date()).toISOString()
3637
+ };
3638
+ await writeStateUnlocked(next);
3639
+ });
3640
+ }
3641
+ async function clearSessionId(chatId) {
3642
+ await withStateLock(async () => {
3643
+ const next = {
3644
+ chat_id: chatId,
3645
+ updated_at: (/* @__PURE__ */ new Date()).toISOString()
3646
+ };
3647
+ await writeStateUnlocked(next);
3648
+ });
3649
+ }
3650
+ class TelegramAuthError extends Error {
3651
+ constructor(status) {
3652
+ super(`Telegram server returned auth error (HTTP ${status})`);
3653
+ this.status = status;
3654
+ this.name = "TelegramAuthError";
3655
+ }
3656
+ }
3657
+ class TelegramTransientError extends Error {
3658
+ constructor(message, status) {
3659
+ super(message);
3660
+ this.status = status;
3661
+ this.name = "TelegramTransientError";
3662
+ }
3663
+ }
3664
+ class TelegramBadRequestError extends Error {
3665
+ constructor(message, status) {
3666
+ super(message);
3667
+ this.status = status;
3668
+ this.name = "TelegramBadRequestError";
3669
+ }
3670
+ }
3671
+ function assertSameHost(urlString, allowedHost) {
3672
+ const u = new URL(urlString);
3673
+ if (u.host !== allowedHost) {
3674
+ throw new TelegramTransientError(
3675
+ `Refusing to follow redirect to different host: ${u.host} (allowed: ${allowedHost})`
3676
+ );
3677
+ }
3678
+ }
3679
+ function normalizeBase(base) {
3680
+ return new URL(base.endsWith("/") ? base : `${base}/`);
3681
+ }
3682
+ function buildUrl(baseUrl, pathName) {
3683
+ const base = normalizeBase(baseUrl);
3684
+ const joined = new URL(pathName.replace(/^\//, ""), base);
3685
+ return joined.toString();
3686
+ }
3687
+ async function pollMessages(config, signal, context = {}) {
3688
+ const url = buildUrl(config.base_url, "local-agent-poll");
3689
+ const allowedHost = new URL(config.base_url).host;
3690
+ assertSameHost(url, allowedHost);
3691
+ const controller = new AbortController();
3692
+ const timeoutId = setTimeout(() => controller.abort(), config.long_poll_timeout_seconds * 1e3);
3693
+ const composite = composeSignals(signal, controller.signal);
3694
+ const startedAt = Date.now();
3695
+ context.logger?.debug("Poll start", { url });
3696
+ let response;
3697
+ try {
3698
+ response = await fetch(url, {
3699
+ method: "GET",
3700
+ headers: {
3701
+ Authorization: `Bearer ${config.token}`,
3702
+ Accept: "application/json"
3703
+ },
3704
+ redirect: "manual",
3705
+ signal: composite
3706
+ });
3707
+ } catch (error) {
3708
+ if (error instanceof Error && error.name === "AbortError") {
3709
+ if (signal?.aborted) {
3710
+ throw error;
3711
+ }
3712
+ context.logger?.debug("Poll timed out", {
3713
+ duration_ms: Date.now() - startedAt
3714
+ });
3715
+ return [];
3716
+ }
3717
+ const message = error.message ?? "unknown";
3718
+ context.logger?.warn("Poll network error", { error: message });
3719
+ throw new TelegramTransientError(`Network error polling Telegram: ${message}`);
3720
+ } finally {
3721
+ clearTimeout(timeoutId);
3722
+ }
3723
+ if (response.status === 401 || response.status === 403) {
3724
+ context.logger?.error("Poll auth error", { status: response.status });
3725
+ throw new TelegramAuthError(response.status);
3726
+ }
3727
+ if (response.status >= 500) {
3728
+ context.logger?.warn("Poll 5xx", { status: response.status });
3729
+ throw new TelegramTransientError(`Poll returned ${response.status}`, response.status);
3730
+ }
3731
+ if (response.status === 204) {
3732
+ context.logger?.debug("Poll 204 (no messages)", {
3733
+ duration_ms: Date.now() - startedAt
3734
+ });
3735
+ return [];
3736
+ }
3737
+ if (response.status >= 300 && response.status < 400) {
3738
+ context.logger?.warn("Poll redirect", { status: response.status });
3739
+ throw new TelegramTransientError(
3740
+ `Unexpected redirect from poll endpoint: HTTP ${response.status}`,
3741
+ response.status
3742
+ );
3743
+ }
3744
+ if (!response.ok) {
3745
+ context.logger?.warn("Poll unexpected status", { status: response.status });
3746
+ throw new TelegramTransientError(
3747
+ `Poll returned unexpected status ${response.status}`,
3748
+ response.status
3749
+ );
3750
+ }
3751
+ const text = await response.text();
3752
+ if (!text.trim()) {
3753
+ context.logger?.debug("Poll empty body", {
3754
+ duration_ms: Date.now() - startedAt
3755
+ });
3756
+ return [];
3757
+ }
3758
+ let parsed;
3759
+ try {
3760
+ parsed = JSON.parse(text);
3761
+ } catch {
3762
+ context.logger?.warn("Poll body not JSON", {
3763
+ body_preview: text.slice(0, 200)
3764
+ });
3765
+ return [];
3766
+ }
3767
+ const messages = extractMessages(parsed);
3768
+ context.logger?.debug("Poll finished", {
3769
+ status: response.status,
3770
+ duration_ms: Date.now() - startedAt,
3771
+ messages: messages.length
3772
+ });
3773
+ return messages;
3774
+ }
3775
+ function extractMessages(payload) {
3776
+ if (!payload || typeof payload !== "object") {
3777
+ return [];
3778
+ }
3779
+ const record = payload;
3780
+ const candidates = Array.isArray(record.messages) ? record.messages : record.message && typeof record.message === "object" ? [record.message] : typeof record.chat_id === "number" ? [record] : [];
3781
+ const out = [];
3782
+ for (const entry of candidates) {
3783
+ if (!entry || typeof entry !== "object") {
3784
+ continue;
3785
+ }
3786
+ const e = entry;
3787
+ const chatId = e.chat_id;
3788
+ const text = typeof e.message === "string" ? e.message : typeof e.text === "string" ? e.text : void 0;
3789
+ if (typeof chatId !== "number" || typeof text !== "string") {
3790
+ continue;
3791
+ }
3792
+ const bot = typeof e.bot === "string" ? e.bot : void 0;
3793
+ out.push({ chat_id: chatId, text, bot });
3794
+ }
3795
+ return out;
3796
+ }
3797
+ async function respondMessage(config, params, options = {}) {
3798
+ const url = buildUrl(config.base_url, "local-agent-respond");
3799
+ const allowedHost = new URL(config.base_url).host;
3800
+ assertSameHost(url, allowedHost);
3801
+ const bot = params.bot ?? config.bot;
3802
+ const body = JSON.stringify({
3803
+ chat_id: params.chatId,
3804
+ text: params.text,
3805
+ bot
3806
+ });
3807
+ const maxRetries = options.maxRetries ?? 3;
3808
+ let attempt = 0;
3809
+ let lastError;
3810
+ const logger2 = options.logger;
3811
+ logger2?.debug("Respond start", {
3812
+ chat_id: params.chatId,
3813
+ bot,
3814
+ text_length: params.text.length,
3815
+ text_preview: params.text.slice(0, 120)
3816
+ });
3817
+ while (attempt <= maxRetries) {
3818
+ let response;
3819
+ try {
3820
+ response = await fetch(url, {
3821
+ method: "POST",
3822
+ headers: {
3823
+ Authorization: `Bearer ${config.token}`,
3824
+ "Content-Type": "application/json"
3825
+ },
3826
+ body,
3827
+ redirect: "manual",
3828
+ signal: options.signal
3829
+ });
3830
+ } catch (error) {
3831
+ lastError = error;
3832
+ if (error instanceof Error && error.name === "AbortError") {
3833
+ throw error;
3834
+ }
3835
+ logger2?.warn("Respond network error", {
3836
+ attempt,
3837
+ chat_id: params.chatId,
3838
+ error: error.message
3839
+ });
3840
+ await backoff(attempt);
3841
+ attempt++;
3842
+ continue;
3843
+ }
3844
+ if (response.status === 401 || response.status === 403) {
3845
+ logger2?.error("Respond auth error", {
3846
+ status: response.status,
3847
+ chat_id: params.chatId
3848
+ });
3849
+ throw new TelegramAuthError(response.status);
3850
+ }
3851
+ if (response.status >= 500) {
3852
+ logger2?.warn("Respond 5xx", { status: response.status, attempt });
3853
+ lastError = new TelegramTransientError(
3854
+ `Respond returned ${response.status}`,
3855
+ response.status
3856
+ );
3857
+ await backoff(attempt);
3858
+ attempt++;
3859
+ continue;
3860
+ }
3861
+ if (response.status >= 400) {
3862
+ const text = await safeReadText(response);
3863
+ logger2?.warn("Respond 4xx", {
3864
+ status: response.status,
3865
+ chat_id: params.chatId,
3866
+ body_preview: text.slice(0, 200)
3867
+ });
3868
+ throw new TelegramBadRequestError(
3869
+ `Respond returned ${response.status}${text ? `: ${text}` : ""}`,
3870
+ response.status
3871
+ );
3872
+ }
3873
+ if (!response.ok) {
3874
+ logger2?.warn("Respond unexpected status", { status: response.status });
3875
+ throw new TelegramTransientError(
3876
+ `Respond returned unexpected status ${response.status}`,
3877
+ response.status
3878
+ );
3879
+ }
3880
+ logger2?.debug("Respond ok", {
3881
+ status: response.status,
3882
+ chat_id: params.chatId,
3883
+ attempt
3884
+ });
3885
+ return;
3886
+ }
3887
+ logger2?.error("Respond failed after retries", {
3888
+ chat_id: params.chatId,
3889
+ max_retries: maxRetries
3890
+ });
3891
+ if (lastError instanceof Error) {
3892
+ throw lastError;
3893
+ }
3894
+ throw new TelegramTransientError("Respond failed after retries");
3895
+ }
3896
+ async function safeReadText(response) {
3897
+ try {
3898
+ return await response.text();
3899
+ } catch {
3900
+ return "";
3901
+ }
3902
+ }
3903
+ async function backoff(attempt) {
3904
+ const baseMs = Math.min(3e4, 500 * Math.pow(2, attempt));
3905
+ const jitter = Math.random() * 200;
3906
+ await new Promise((resolve) => setTimeout(resolve, baseMs + jitter));
3907
+ }
3908
+ function composeSignals(a, b) {
3909
+ if (!a) {
3910
+ return b;
3911
+ }
3912
+ if (!b) {
3913
+ return a;
3914
+ }
3915
+ const controller = new AbortController();
3916
+ const onAbort = () => controller.abort();
3917
+ if (a.aborted || b.aborted) {
3918
+ controller.abort();
3919
+ } else {
3920
+ a.addEventListener("abort", onAbort, { once: true });
3921
+ b.addEventListener("abort", onAbort, { once: true });
3922
+ }
3923
+ return controller.signal;
3924
+ }
3925
+ const STDERR_TAIL_BYTES = 2048;
3926
+ const SIGKILL_GRACE_MS = 2e3;
3927
+ const STALE_SESSION_PATTERNS = [
3928
+ /no ai session found for resume id/i,
3929
+ /session.*(not.?found|invalid|expired|unknown)/i,
3930
+ /resume.*session.*(failed|invalid)/i
3931
+ ];
3932
+ function extractResultPayload(event) {
3933
+ const wrapped = event.message;
3934
+ if (!wrapped || typeof wrapped !== "object" || wrapped.type !== "result") {
3935
+ return null;
3936
+ }
3937
+ const isError = wrapped.is_error === true;
3938
+ const sessionId = typeof wrapped.session_id === "string" ? wrapped.session_id : void 0;
3939
+ let replyText;
3940
+ if (typeof wrapped.result === "string" && wrapped.result.length > 0) {
3941
+ replyText = wrapped.result;
3942
+ } else if (isError && Array.isArray(wrapped.errors)) {
3943
+ const msgs = wrapped.errors.filter((e) => typeof e === "string").join("\n");
3944
+ if (msgs.length > 0) {
3945
+ replyText = msgs;
3946
+ }
3947
+ }
3948
+ return { sessionId, replyText, isError };
3949
+ }
3950
+ function parseEvent(line) {
3951
+ const trimmed = line.trim();
3952
+ if (!trimmed) {
3953
+ return null;
3954
+ }
3955
+ try {
3956
+ const parsed = JSON.parse(trimmed);
3957
+ if (parsed && typeof parsed === "object" && typeof parsed.type === "string") {
3958
+ return parsed;
3959
+ }
3960
+ } catch {
3961
+ }
3962
+ return null;
3963
+ }
3964
+ function appendStderrTail(current, chunk) {
3965
+ const combined = current + chunk.toString("utf8");
3966
+ if (combined.length <= STDERR_TAIL_BYTES) {
3967
+ return combined;
3968
+ }
3969
+ return combined.slice(combined.length - STDERR_TAIL_BYTES);
3970
+ }
3971
+ function detectStaleSession(stderrTail, lastReply, isError) {
3972
+ const haystack = `${stderrTail}
3973
+ ${lastReply ?? ""}`;
3974
+ if (!isError && !STALE_SESSION_PATTERNS.some((r) => r.test(haystack))) {
3975
+ return false;
3976
+ }
3977
+ return STALE_SESSION_PATTERNS.some((r) => r.test(haystack));
3978
+ }
3979
+ async function runTurn(options) {
3980
+ const cliEntry = options.cliEntry ?? process.argv[1];
3981
+ const execPath = options.execPath ?? process.execPath;
3982
+ const args = [cliEntry, "code", "--json", "--message-from-stdin"];
3983
+ if (options.sessionId) {
3984
+ args.push("--resume-session", options.sessionId);
3985
+ }
3986
+ const logger2 = options.logger;
3987
+ const logContext = options.logContext ?? {};
3988
+ const startedAt = Date.now();
3989
+ logger2?.info("Spawning studio code subprocess", {
3990
+ ...logContext,
3991
+ exec: execPath,
3992
+ cli_entry: cliEntry,
3993
+ has_resume_session: options.sessionId !== void 0,
3994
+ session_id: options.sessionId,
3995
+ text_length: options.text.length,
3996
+ text_preview: options.text.slice(0, 120),
3997
+ timeout_ms: options.timeoutMs
3998
+ });
3999
+ let child;
4000
+ try {
4001
+ child = spawn(execPath, args, {
4002
+ stdio: ["pipe", "pipe", "pipe"],
4003
+ env: options.env ?? process.env,
4004
+ // Explicitly never use a shell — text is attacker-controlled.
4005
+ shell: false
4006
+ });
4007
+ } catch (error) {
4008
+ const message = error.message ?? "spawn failed";
4009
+ logger2?.error("Spawn failed", { ...logContext, error: message });
4010
+ return {
4011
+ status: "spawn_error",
4012
+ isError: true,
4013
+ stderrTail: message,
4014
+ exitCode: null,
4015
+ staleSession: false
4016
+ };
4017
+ }
4018
+ logger2?.debug("Subprocess spawned", { ...logContext, pid: child.pid });
4019
+ if (child.stdin) {
4020
+ child.stdin.on("error", (error) => {
4021
+ logger2?.warn("Subprocess stdin error", { ...logContext, error: error.message });
4022
+ });
4023
+ child.stdin.end(options.text, "utf8");
4024
+ }
4025
+ let capturedSessionId;
4026
+ let replyText;
4027
+ let isError = false;
4028
+ let pausedQuestions;
4029
+ let completedStatus;
4030
+ let stderrTail = "";
4031
+ let timedOut = false;
4032
+ let aborted = false;
4033
+ const rl = readline.createInterface({ input: child.stdout });
4034
+ rl.on("line", (line) => {
4035
+ const event = parseEvent(line);
4036
+ if (!event) {
4037
+ if (line.trim().length > 0) {
4038
+ logger2?.debug("Subprocess stdout (non-JSON)", {
4039
+ ...logContext,
4040
+ line: line.slice(0, 500)
4041
+ });
4042
+ }
4043
+ return;
4044
+ }
4045
+ options.onEvent?.(event);
4046
+ if (event.type === "message") {
4047
+ const extracted = extractResultPayload(event);
4048
+ if (extracted) {
4049
+ if (extracted.sessionId) {
4050
+ capturedSessionId = extracted.sessionId;
4051
+ }
4052
+ if (extracted.replyText) {
4053
+ replyText = extracted.replyText;
4054
+ }
4055
+ isError = isError || extracted.isError;
4056
+ logger2?.debug("Event: message/result", {
4057
+ ...logContext,
4058
+ session_id: extracted.sessionId,
4059
+ is_error: extracted.isError,
4060
+ result_chars: extracted.replyText?.length ?? 0
4061
+ });
4062
+ } else {
4063
+ logger2?.debug("Event: message", { ...logContext });
4064
+ }
4065
+ } else if (event.type === "question.asked") {
4066
+ pausedQuestions = event.questions.map((q) => ({
4067
+ question: q.question,
4068
+ options: q.options.map((o) => ({
4069
+ label: o.label,
4070
+ description: o.description
4071
+ }))
4072
+ }));
4073
+ logger2?.debug("Event: question.asked", {
4074
+ ...logContext,
4075
+ questions: pausedQuestions.length
4076
+ });
4077
+ } else if (event.type === "turn.completed") {
4078
+ completedStatus = event.status;
4079
+ if (event.sessionId) {
4080
+ capturedSessionId = event.sessionId;
4081
+ }
4082
+ logger2?.debug("Event: turn.completed", {
4083
+ ...logContext,
4084
+ status: event.status,
4085
+ session_id: event.sessionId
4086
+ });
4087
+ } else {
4088
+ logger2?.debug("Event", { ...logContext, type: event.type });
4089
+ }
4090
+ });
4091
+ child.stderr?.on("data", (chunk) => {
4092
+ stderrTail = appendStderrTail(stderrTail, chunk);
4093
+ const text = chunk.toString("utf8");
4094
+ if (text.trim().length > 0) {
4095
+ logger2?.debug("Subprocess stderr", {
4096
+ ...logContext,
4097
+ chunk: text.slice(0, 500)
4098
+ });
4099
+ }
4100
+ });
4101
+ const overallTimer = setTimeout(() => {
4102
+ timedOut = true;
4103
+ killChild(child);
4104
+ }, options.timeoutMs);
4105
+ const onAbort = () => {
4106
+ aborted = true;
4107
+ killChild(child);
4108
+ };
4109
+ options.signal?.addEventListener("abort", onAbort, { once: true });
4110
+ const exitCode = await new Promise((resolve) => {
4111
+ child.once("exit", (code, signal) => {
4112
+ logger2?.info("Subprocess exited", {
4113
+ ...logContext,
4114
+ exit_code: code,
4115
+ signal,
4116
+ duration_ms: Date.now() - startedAt
4117
+ });
4118
+ resolve(code);
4119
+ });
4120
+ child.once("error", (error) => {
4121
+ logger2?.error("Subprocess error", { ...logContext, error: error.message });
4122
+ resolve(null);
4123
+ });
4124
+ });
4125
+ clearTimeout(overallTimer);
4126
+ options.signal?.removeEventListener("abort", onAbort);
4127
+ rl.close();
4128
+ if (aborted) {
4129
+ return {
4130
+ status: "timeout",
4131
+ sessionId: capturedSessionId,
4132
+ replyText,
4133
+ questions: pausedQuestions,
4134
+ isError: true,
4135
+ stderrTail,
4136
+ exitCode,
4137
+ staleSession: false
4138
+ };
4139
+ }
4140
+ if (timedOut) {
4141
+ return {
4142
+ status: "timeout",
4143
+ sessionId: capturedSessionId,
4144
+ replyText,
4145
+ questions: pausedQuestions,
4146
+ isError: true,
4147
+ stderrTail,
4148
+ exitCode,
4149
+ staleSession: false
4150
+ };
4151
+ }
4152
+ const status = completedStatus ?? (isError ? "error" : "error");
4153
+ const staleSession = options.sessionId !== void 0 && detectStaleSession(stderrTail, replyText, isError);
4154
+ logger2?.info("Turn outcome", {
4155
+ ...logContext,
4156
+ status,
4157
+ session_id: capturedSessionId,
4158
+ exit_code: exitCode,
4159
+ is_error: isError,
4160
+ reply_chars: replyText?.length ?? 0,
4161
+ questions: pausedQuestions?.length ?? 0,
4162
+ stale_session: staleSession,
4163
+ stderr_tail: stderrTail ? stderrTail.slice(-500) : ""
4164
+ });
4165
+ return {
4166
+ status,
4167
+ sessionId: capturedSessionId,
4168
+ replyText,
4169
+ questions: pausedQuestions,
4170
+ isError,
4171
+ stderrTail,
4172
+ exitCode,
4173
+ staleSession
4174
+ };
4175
+ }
4176
+ function killChild(child) {
4177
+ if (child.exitCode !== null || child.signalCode) {
4178
+ return;
4179
+ }
4180
+ try {
4181
+ child.kill("SIGTERM");
4182
+ } catch {
4183
+ }
4184
+ setTimeout(() => {
4185
+ if (child.exitCode === null && !child.signalCode) {
4186
+ try {
4187
+ child.kill("SIGKILL");
4188
+ } catch {
4189
+ }
4190
+ }
4191
+ }, SIGKILL_GRACE_MS);
4192
+ }
4193
+ const DEFAULT_DEPS = {
4194
+ poll: pollMessages,
4195
+ respond: respondMessage,
4196
+ runTurn,
4197
+ readState: readStateForChat,
4198
+ writeSession: writeSessionId,
4199
+ clearSession: clearSessionId,
4200
+ logger: new RemoteSessionLogger(),
4201
+ sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms))
4202
+ };
4203
+ function truncate(text, max) {
4204
+ return text.length > max ? `${text.slice(0, max - 1)}…` : text;
4205
+ }
4206
+ async function postBestEffort(deps, config, target, text) {
4207
+ try {
4208
+ await deps.respond(
4209
+ config,
4210
+ { chatId: target.chatId, bot: target.bot, text },
4211
+ { logger: deps.logger }
4212
+ );
4213
+ } catch (error) {
4214
+ deps.logger.warn("Best-effort post failed", {
4215
+ error: error.message
4216
+ });
4217
+ }
4218
+ }
4219
+ async function postChunks(deps, config, target, reply) {
4220
+ const chunks = chunkReply(reply, config.max_message_chars);
4221
+ deps.logger.info("Posting reply", {
4222
+ chat_id: target.chatId,
4223
+ chunks: chunks.length,
4224
+ chars: reply.length
4225
+ });
4226
+ for (const chunk of chunks) {
4227
+ await deps.respond(
4228
+ config,
4229
+ { chatId: target.chatId, bot: target.bot, text: chunk },
4230
+ { logger: deps.logger }
4231
+ );
4232
+ }
4233
+ }
4234
+ async function handleTurn(deps, config, target, text, signal) {
4235
+ let sessionId = (await deps.readState(target.chatId))?.session_id;
4236
+ const started = Date.now();
4237
+ const logContext = { chat_id: target.chatId };
4238
+ const streamer = new ProgressStreamer({
4239
+ config,
4240
+ target,
4241
+ deps: { respond: deps.respond, logger: deps.logger }
4242
+ });
4243
+ let outcome;
4244
+ try {
4245
+ outcome = await deps.runTurn({
4246
+ text,
4247
+ sessionId,
4248
+ timeoutMs: config.turn_timeout_seconds * 1e3,
4249
+ signal,
4250
+ logger: deps.logger,
4251
+ logContext,
4252
+ onEvent: streamer.onEvent
4253
+ });
4254
+ if (!signal.aborted && outcome.staleSession && sessionId) {
4255
+ deps.logger.info("Resume failed; retrying without session_id", {
4256
+ ...logContext,
4257
+ stale_session_id: sessionId
4258
+ });
4259
+ await deps.clearSession(target.chatId);
4260
+ sessionId = void 0;
4261
+ await postBestEffort(deps, config, target, "ℹ️ Session expired; started a new one.");
4262
+ outcome = await deps.runTurn({
4263
+ text,
4264
+ sessionId: void 0,
4265
+ timeoutMs: config.turn_timeout_seconds * 1e3,
4266
+ signal,
4267
+ logger: deps.logger,
4268
+ logContext,
4269
+ onEvent: streamer.onEvent
4270
+ });
4271
+ }
4272
+ } finally {
4273
+ streamer.stop();
4274
+ }
4275
+ if (outcome.sessionId && outcome.sessionId !== sessionId) {
4276
+ await deps.writeSession(target.chatId, outcome.sessionId);
4277
+ }
4278
+ const duration = Date.now() - started;
4279
+ deps.logger.info("Turn finished", {
4280
+ chat_id: target.chatId,
4281
+ duration_ms: duration,
4282
+ status: outcome.status,
4283
+ exit_code: outcome.exitCode,
4284
+ chars_out: outcome.replyText?.length ?? 0,
4285
+ session_id: outcome.sessionId,
4286
+ aborted: signal.aborted
4287
+ });
4288
+ if (signal.aborted) {
4289
+ return;
4290
+ }
4291
+ if (outcome.status === "timeout") {
4292
+ await postBestEffort(deps, config, target, "⚠️ Turn took too long; aborted.");
4293
+ return;
4294
+ }
4295
+ if (outcome.status === "spawn_error") {
4296
+ await postBestEffort(
4297
+ deps,
4298
+ config,
4299
+ target,
4300
+ `⚠️ Local agent failed to start: ${truncate(outcome.stderrTail, 400)}`
4301
+ );
4302
+ return;
4303
+ }
4304
+ if (outcome.exitCode !== null && outcome.exitCode !== 0 && !outcome.replyText) {
4305
+ const stderrSnippet = outcome.stderrTail ? truncate(outcome.stderrTail, 500) : "";
4306
+ const message = stderrSnippet ? `⚠️ Local agent error: ${stderrSnippet}` : "⚠️ Local agent error (no output).";
4307
+ await postBestEffort(deps, config, target, message);
4308
+ return;
4309
+ }
4310
+ const reply = extractReply({
4311
+ replyText: outcome.replyText,
4312
+ questions: outcome.questions,
4313
+ isError: outcome.isError
4314
+ });
4315
+ if (reply === null) {
4316
+ await postBestEffort(deps, config, target, "⚠️ Local agent did not return a result.");
4317
+ return;
4318
+ }
4319
+ await postChunks(deps, config, target, reply);
4320
+ }
4321
+ async function runPollLoop(options) {
4322
+ const deps = { ...DEFAULT_DEPS, ...options.deps };
4323
+ const { config } = options;
4324
+ const abortController = new AbortController();
4325
+ let detachRequested = false;
4326
+ let detachAnnounced = false;
4327
+ if (config.chat_id !== void 0) {
4328
+ const state = await deps.readState(config.chat_id);
4329
+ const resuming = Boolean(state?.session_id);
4330
+ const cwd = options.cwd ?? process.cwd();
4331
+ const attachMessage = `🟢 Local agent attached. Working dir: ${cwd}. ${resuming ? "Resuming previous session." : "New session."}`;
4332
+ await deps.respond(
4333
+ config,
4334
+ {
4335
+ chatId: config.chat_id,
4336
+ bot: config.bot,
4337
+ text: attachMessage
4338
+ },
4339
+ { logger: deps.logger }
4340
+ );
4341
+ deps.logger.info("Attached (pinned chat)", { chat_id: config.chat_id, resuming });
4342
+ } else {
4343
+ deps.logger.info("Attached (open to any chat authorized by the bearer)");
4344
+ }
4345
+ options.onAttached?.();
4346
+ const announceDetach = async (reason) => {
4347
+ if (detachAnnounced) {
4348
+ return;
4349
+ }
4350
+ detachAnnounced = true;
4351
+ deps.logger.info("Detaching", { reason });
4352
+ if (config.chat_id !== void 0) {
4353
+ await postBestEffort(
4354
+ deps,
4355
+ config,
4356
+ { chatId: config.chat_id, bot: config.bot },
4357
+ "🔴 Local agent detached."
4358
+ );
4359
+ }
4360
+ };
4361
+ const detach = async () => {
4362
+ detachRequested = true;
4363
+ abortController.abort();
4364
+ await announceDetach("requested");
4365
+ };
4366
+ const loop = async () => {
4367
+ let backoffAttempt = 0;
4368
+ batchLoop: while (!detachRequested) {
4369
+ let batch;
4370
+ try {
4371
+ batch = await deps.poll(config, abortController.signal, { logger: deps.logger });
4372
+ backoffAttempt = 0;
4373
+ } catch (error) {
4374
+ if (error instanceof TelegramAuthError) {
4375
+ deps.logger.error("Auth error; detaching", { status: error.status });
4376
+ if (config.chat_id !== void 0) {
4377
+ await postBestEffort(
4378
+ deps,
4379
+ config,
4380
+ { chatId: config.chat_id, bot: config.bot },
4381
+ "⚠️ Bad token; detaching."
4382
+ );
4383
+ }
4384
+ detachRequested = true;
4385
+ process.exitCode = 1;
4386
+ break;
4387
+ }
4388
+ if (error instanceof TelegramTransientError) {
4389
+ const delay = Math.min(3e4, 1e3 * Math.pow(2, backoffAttempt));
4390
+ deps.logger.warn("Transient poll error; backing off", {
4391
+ status: error.status,
4392
+ delay_ms: delay
4393
+ });
4394
+ backoffAttempt++;
4395
+ await deps.sleep(delay);
4396
+ continue;
4397
+ }
4398
+ if (error instanceof Error && error.name === "AbortError") {
4399
+ break;
4400
+ }
4401
+ deps.logger.error("Fatal poll error; detaching", {
4402
+ error: error.message
4403
+ });
4404
+ detachRequested = true;
4405
+ break;
4406
+ }
4407
+ if (batch.length === 0) {
4408
+ await deps.sleep(config.poll_interval_seconds * 1e3);
4409
+ continue;
4410
+ }
4411
+ for (const polled of batch) {
4412
+ if (detachRequested) {
4413
+ break batchLoop;
4414
+ }
4415
+ if (config.chat_id !== void 0 && polled.chat_id !== config.chat_id) {
4416
+ deps.logger.warn("Ignoring message for unbound chat", {
4417
+ polled_chat_id: polled.chat_id,
4418
+ bound_chat_id: config.chat_id
4419
+ });
4420
+ continue;
4421
+ }
4422
+ const target = {
4423
+ chatId: polled.chat_id,
4424
+ bot: config.bot ?? polled.bot
4425
+ };
4426
+ const text = polled.text.trim();
4427
+ deps.logger.info("Polled message", {
4428
+ chat_id: polled.chat_id,
4429
+ bot: polled.bot,
4430
+ text_length: polled.text.length,
4431
+ preview: text.slice(0, 80)
4432
+ });
4433
+ if (text.length === 0) {
4434
+ deps.logger.warn("Skipping empty message", {
4435
+ chat_id: polled.chat_id
4436
+ });
4437
+ await postBestEffort(
4438
+ deps,
4439
+ config,
4440
+ target,
4441
+ "⚠️ Empty message ignored. Send some text or `/new` to start over."
4442
+ );
4443
+ continue;
4444
+ }
4445
+ if (text.toLowerCase() === "/new") {
4446
+ await deps.clearSession(polled.chat_id);
4447
+ try {
4448
+ await deps.respond(
4449
+ config,
4450
+ {
4451
+ chatId: target.chatId,
4452
+ bot: target.bot,
4453
+ text: "🆕 Started a new conversation."
4454
+ },
4455
+ { logger: deps.logger }
4456
+ );
4457
+ } catch (error) {
4458
+ if (error instanceof TelegramBadRequestError) {
4459
+ deps.logger.warn("Respond 4xx on /new ack", { status: error.status });
4460
+ } else {
4461
+ throw error;
4462
+ }
4463
+ }
4464
+ continue;
4465
+ }
4466
+ try {
4467
+ await handleTurn(deps, config, target, polled.text, abortController.signal);
4468
+ } catch (error) {
4469
+ if (error instanceof TelegramAuthError) {
4470
+ deps.logger.error("Auth error during respond; detaching", {
4471
+ status: error.status
4472
+ });
4473
+ detachRequested = true;
4474
+ process.exitCode = 1;
4475
+ break batchLoop;
4476
+ }
4477
+ if (error instanceof TelegramBadRequestError) {
4478
+ deps.logger.warn("Respond 4xx; dropping chunk", { status: error.status });
4479
+ continue;
4480
+ }
4481
+ deps.logger.error("Turn failed", { error: error.message });
4482
+ await postBestEffort(
4483
+ deps,
4484
+ config,
4485
+ target,
4486
+ `⚠️ Local agent error: ${truncate(error.message, 500)}`
4487
+ );
4488
+ }
4489
+ }
4490
+ }
4491
+ await announceDetach(detachAnnounced ? "already-announced" : "loop-exit");
4492
+ };
4493
+ const done = loop();
4494
+ return {
4495
+ done,
4496
+ detach
4497
+ };
4498
+ }
4499
+ async function runRemoteSession(overrides = {}) {
4500
+ const config = await loadRemoteSessionConfig(overrides);
4501
+ const logger2 = new RemoteSessionLogger();
4502
+ const logPath = getRemoteSessionLogPath();
4503
+ logger2.info("Remote session starting", {
4504
+ base_url: config.base_url,
4505
+ has_chat_id: config.chat_id !== void 0,
4506
+ bot: config.bot,
4507
+ poll_interval_seconds: config.poll_interval_seconds,
4508
+ long_poll_timeout_seconds: config.long_poll_timeout_seconds,
4509
+ turn_timeout_seconds: config.turn_timeout_seconds,
4510
+ debug: process.env.STUDIO_REMOTE_DEBUG === "1"
4511
+ });
4512
+ process.stdout.write(`Remote session log: ${logPath}
4513
+ `);
4514
+ const { done, detach } = await runPollLoop({
4515
+ config,
4516
+ deps: { logger: logger2 },
4517
+ onAttached: () => {
4518
+ const target = config.chat_id !== void 0 ? `chat ${config.chat_id}` : "any chat authorized by the bearer";
4519
+ process.stdout.write(`Remote session attached → ${target}.
4520
+ Press Ctrl-C to detach.
4521
+ `);
4522
+ }
4523
+ });
4524
+ const signalCleanup = [];
4525
+ const installSignal = (signal) => {
4526
+ const handler = () => {
4527
+ logger2.info("Signal received; detaching", { signal });
4528
+ void detach();
4529
+ };
4530
+ process.on(signal, handler);
4531
+ signalCleanup.push(() => process.off(signal, handler));
4532
+ };
4533
+ installSignal("SIGINT");
4534
+ installSignal("SIGTERM");
4535
+ const onExit = () => {
4536
+ if (config.chat_id === void 0) {
4537
+ return;
4538
+ }
4539
+ const controller = new AbortController();
4540
+ const timer = setTimeout(() => controller.abort(), 2e3);
4541
+ void respondMessage(
4542
+ config,
4543
+ {
4544
+ chatId: config.chat_id,
4545
+ bot: config.bot,
4546
+ text: "🔴 Local agent ended (process exit)."
4547
+ },
4548
+ { signal: controller.signal, maxRetries: 0, logger: logger2 }
4549
+ ).catch(() => void 0).finally(() => clearTimeout(timer));
4550
+ };
4551
+ process.once("beforeExit", onExit);
4552
+ try {
4553
+ await done;
4554
+ process.stdout.write("Remote session detached.\n");
4555
+ } finally {
4556
+ for (const cleanup of signalCleanup) {
4557
+ cleanup();
4558
+ }
4559
+ process.off("beforeExit", onExit);
4560
+ }
4561
+ }
4562
+ const logger = new Logger();
4563
+ function isPromptAbortError(error) {
4564
+ return error instanceof Error && ["AbortPromptError", "CancelPromptError", "ExitPromptError"].includes(error.name);
4565
+ }
4566
+ function getErrorMessage(error) {
4567
+ if (error instanceof Error) {
4568
+ return error.message;
4569
+ }
4570
+ return String(error);
4571
+ }
4572
+ async function readAllStdin() {
4573
+ const chunks = [];
4574
+ for await (const chunk of process.stdin) {
4575
+ chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
4576
+ }
4577
+ return Buffer.concat(chunks).toString("utf8").trim();
4578
+ }
4579
+ async function runCommand(options) {
4580
+ const ui = options.adapter;
4581
+ const isJsonMode = ui instanceof JsonAdapter;
4582
+ const resumeContext = resolveResumeSessionContext(options.resumeSession);
4583
+ let currentProvider = resumeContext.provider ?? await resolveInitialAiProvider();
4584
+ let currentModel = resumeContext.model ?? DEFAULT_MODEL;
4585
+ ui.currentProvider = currentProvider;
4586
+ ui.currentModel = currentModel;
4587
+ if (options.activeSite) {
4588
+ ui.activeSite = {
4589
+ name: options.activeSite.name,
4590
+ path: options.activeSite.path,
4591
+ running: options.activeSite.running ?? false,
4592
+ remote: options.activeSite.remote,
4593
+ url: options.activeSite.url,
4594
+ wpcomSiteId: options.activeSite.wpcomSiteId
4595
+ };
4596
+ }
4597
+ ui.start();
4598
+ ui.showWelcome();
4599
+ if (options.showLegacyCommandNotice && !isJsonMode) {
4600
+ ui.showInfo(__('ⓘ The "studio ai" command is now "studio code".'));
4601
+ }
4602
+ let sessionRecorder;
4603
+ let didDisableSessionPersistence = options.noSessionPersistence === true;
4604
+ let sessionId = options.resumeSessionId ?? resumeContext.sessionId;
4605
+ let persistQueue = Promise.resolve();
4606
+ if (options.noSessionPersistence) {
4607
+ ui.showInfo(__("Session persistence disabled (--no-session-persistence)."));
4608
+ }
4609
+ const ensureSessionRecorder = async () => {
4610
+ if (didDisableSessionPersistence) {
4611
+ return void 0;
4612
+ }
4613
+ if (sessionRecorder) {
4614
+ return sessionRecorder;
4615
+ }
4616
+ try {
4617
+ if (options.resumeSession) {
4618
+ sessionRecorder = await AiSessionRecorder.open({
4619
+ sessionId: options.resumeSession.summary.id,
4620
+ filePath: options.resumeSession.summary.filePath,
4621
+ linkedAgentSessionIds: options.resumeSession.summary.linkedAgentSessionIds
4622
+ });
4623
+ } else if (options.resumeSessionId) {
4624
+ const sessions = await listAiSessions(getAiSessionsRootDirectory());
4625
+ const existing = sessions.find(
4626
+ (s) => s.linkedAgentSessionIds.includes(options.resumeSessionId)
4627
+ );
4628
+ if (!existing) {
4629
+ throw new Error(
4630
+ sprintf(
4631
+ /* translators: %s: agent session ID */
4632
+ __("No AI session found for resume ID: %s"),
4633
+ options.resumeSessionId
4634
+ )
4635
+ );
4636
+ }
4637
+ sessionRecorder = await AiSessionRecorder.open({
4638
+ sessionId: existing.id,
4639
+ filePath: existing.filePath,
4640
+ linkedAgentSessionIds: existing.linkedAgentSessionIds
4641
+ });
4642
+ } else {
4643
+ sessionRecorder = await AiSessionRecorder.create();
4644
+ }
4645
+ } catch (error) {
4646
+ didDisableSessionPersistence = true;
4647
+ ui.showError(
4648
+ sprintf(
4649
+ /* translators: %s: error message */
4650
+ __("Session persistence disabled: %s"),
4651
+ getErrorMessage(error)
4652
+ )
4653
+ );
4654
+ }
4655
+ return sessionRecorder;
4656
+ };
4657
+ const persist = (callback) => {
4658
+ persistQueue = persistQueue.then(async () => {
4659
+ const recorder = await ensureSessionRecorder();
4660
+ if (!recorder) {
4661
+ return;
4662
+ }
4663
+ try {
4664
+ await callback(recorder);
4665
+ } catch (error) {
4666
+ sessionRecorder = void 0;
4667
+ if (!didDisableSessionPersistence) {
4668
+ didDisableSessionPersistence = true;
4669
+ ui.showError(
4670
+ sprintf(
3409
4671
  /* translators: %s: error message */
3410
4672
  __("Session persistence disabled: %s"),
3411
4673
  getErrorMessage(error)
@@ -3654,73 +4916,70 @@ ${prompt}`;
3654
4916
  env,
3655
4917
  model: currentModel,
3656
4918
  resume: sessionId,
3657
- autoApprove: options.autoApprove ?? isJsonMode,
3658
4919
  activeSite: site,
3659
4920
  wpcomAccessToken,
3660
4921
  onAskUser: (questions) => askUserAndPersistAnswers(questions)
3661
4922
  });
4923
+ let interruptRequested = false;
4924
+ let resolveInterrupt = () => void 0;
4925
+ const interruptPromise = new Promise((resolve) => {
4926
+ resolveInterrupt = () => resolve("interrupted");
4927
+ });
3662
4928
  ui.onInterrupt = () => {
4929
+ if (interruptRequested) {
4930
+ return;
4931
+ }
4932
+ interruptRequested = true;
3663
4933
  void agentQuery.interrupt();
4934
+ resolveInterrupt();
3664
4935
  };
3665
- let maxTurnsResult;
3666
- let turnStatus = "interrupted";
3667
- try {
4936
+ const turnState = { status: "interrupted" };
4937
+ const consumeAgentTurn = async () => {
3668
4938
  for await (const message of agentQuery) {
3669
4939
  const timestamp = (/* @__PURE__ */ new Date()).toISOString();
4940
+ if (interruptRequested) {
4941
+ continue;
4942
+ }
3670
4943
  const result = ui.handleMessage(message);
3671
4944
  await persist((recorder2) => recorder2.recordSdkMessage(message, timestamp));
3672
4945
  if (result) {
3673
4946
  sessionId = result.sessionId;
3674
4947
  await persist((recorder2) => recorder2.recordAgentSessionId(result.sessionId));
3675
- if (result.type === "max_turns") {
3676
- maxTurnsResult = {
3677
- numTurns: result.numTurns
3678
- };
3679
- turnStatus = "max_turns";
3680
- } else if (result.interrupted) {
3681
- turnStatus = "interrupted";
4948
+ if (result.interrupted) {
4949
+ turnState.status = "interrupted";
3682
4950
  } else {
3683
- turnStatus = result.success ? "success" : "error";
4951
+ turnState.status = result.success ? "success" : "error";
3684
4952
  }
3685
4953
  }
3686
4954
  }
3687
- } catch (error) {
3688
- turnStatus = "error";
3689
- if (isJsonMode) {
3690
- throw error;
4955
+ };
4956
+ const consumeAgentTurnResult = consumeAgentTurn().catch((error) => {
4957
+ if (interruptRequested) {
4958
+ turnState.status = "interrupted";
4959
+ return;
3691
4960
  }
4961
+ turnState.status = "error";
3692
4962
  if (!(ui instanceof AiChatUI && ui.hasErrorBeenSurfaced())) {
3693
4963
  ui.showError(getErrorMessage(error));
3694
4964
  }
3695
- } finally {
3696
- await persist((recorder2) => recorder2.recordTurnClosed(turnStatus));
3697
- ui.endAgentTurn();
3698
- }
3699
- if (maxTurnsResult) {
3700
- ui.showInfo(
3701
- sprintf(
3702
- /* translators: %d: number of turns used */
3703
- _n("Used %d turn", "Used %d turns", maxTurnsResult.numTurns),
3704
- maxTurnsResult.numTurns
3705
- )
3706
- );
3707
- const answer = await ui.askUser([
3708
- {
3709
- question: __("Reached the turn limit. Continue?"),
3710
- options: [
3711
- { label: "Yes", description: __("Resume where the agent left off") },
3712
- { label: "No", description: __("Stop here") }
3713
- ]
3714
- }
4965
+ if (isJsonMode) {
4966
+ throw error;
4967
+ }
4968
+ });
4969
+ try {
4970
+ const result = await Promise.race([
4971
+ consumeAgentTurnResult.then(() => "completed"),
4972
+ interruptPromise
3715
4973
  ]);
3716
- const choice = Object.values(answer)[0]?.toLowerCase();
3717
- if (choice === "yes") {
3718
- ui.addUserMessage("Continue");
3719
- return runAgentTurn("Continue from where you left off.");
4974
+ if (result === "interrupted") {
4975
+ turnState.status = "interrupted";
3720
4976
  }
4977
+ } finally {
4978
+ await persist((recorder2) => recorder2.recordTurnClosed(turnState.status));
4979
+ ui.endAgentTurn();
3721
4980
  }
3722
4981
  const hasTerminalError = ui instanceof AiChatUI && ui.hasErrorBeenSurfaced();
3723
- if (turnStatus === "error" && !isJsonMode && !hasTerminalError) {
4982
+ if (turnState.status === "error" && !isJsonMode && !hasTerminalError) {
3724
4983
  if (retryAttempt >= MAX_RETRY_ATTEMPTS) {
3725
4984
  ui.showInfo(
3726
4985
  __("The server has not recovered after multiple attempts. Please try again later.")
@@ -3747,8 +5006,7 @@ ${prompt}`;
3747
5006
  }
3748
5007
  }
3749
5008
  return {
3750
- status: turnStatus,
3751
- usage: maxTurnsResult
5009
+ status: turnState.status
3752
5010
  };
3753
5011
  }
3754
5012
  if (isJsonMode && options.initialMessage) {
@@ -3756,7 +5014,7 @@ ${prompt}`;
3756
5014
  ui.addUserMessage(options.initialMessage);
3757
5015
  const result = await runAgentTurn(options.initialMessage);
3758
5016
  const jsonStatus = result.status === "interrupted" ? "error" : result.status;
3759
- ui.emitTurnCompleted(jsonStatus, result.usage);
5017
+ ui.emitTurnCompleted(jsonStatus);
3760
5018
  } catch (error) {
3761
5019
  process.exitCode = 1;
3762
5020
  handleAgentTurnError(error);
@@ -3827,7 +5085,7 @@ ${prompt}`;
3827
5085
  } else {
3828
5086
  ui.addUserMessage(prompt);
3829
5087
  try {
3830
- await runAgentTurn(`Run the /${cmd.name} skill using the Skill tool.`);
5088
+ await runAgentTurn(buildSkillInvocationPrompt(cmd.name));
3831
5089
  } catch (error) {
3832
5090
  handleAgentTurnError(error);
3833
5091
  }
@@ -3852,7 +5110,7 @@ const registerCommand = (yargs) => {
3852
5110
  command: "$0 [message]",
3853
5111
  describe: __("AI agent for building WordPress"),
3854
5112
  builder: (yargs2) => {
3855
- return yargs2.positional("message", {
5113
+ let chain = yargs2.positional("message", {
3856
5114
  type: "string",
3857
5115
  description: __("Initial message to send to the AI agent")
3858
5116
  }).option("path", {
@@ -3865,9 +5123,6 @@ const registerCommand = (yargs) => {
3865
5123
  type: "boolean",
3866
5124
  default: false,
3867
5125
  description: __("Output events as NDJSON to stdout (headless mode)")
3868
- }).option("auto-approve", {
3869
- type: "boolean",
3870
- description: __("Auto-approve all tool calls (defaults to true in --json mode)")
3871
5126
  }).option("resume-session", {
3872
5127
  type: "string",
3873
5128
  hidden: true,
@@ -3880,8 +5135,27 @@ const registerCommand = (yargs) => {
3880
5135
  type: "boolean",
3881
5136
  default: true,
3882
5137
  description: __("Record this code session to disk")
3883
- }).check((argv) => {
3884
- if (argv.json && !argv.message) {
5138
+ });
5139
+ if (isRemoteSessionEnabled()) {
5140
+ chain = chain.option("remote-session", {
5141
+ type: "boolean",
5142
+ default: false,
5143
+ description: __("Attach to Telegram and drive studio code remotely")
5144
+ }).option("remote-chat-id", {
5145
+ type: "number",
5146
+ description: __("Override the Telegram chat id to bind to")
5147
+ }).option("remote-bot", {
5148
+ type: "string",
5149
+ description: __("Override the Telegram bot name to use for replies")
5150
+ }).option("message-from-stdin", {
5151
+ type: "boolean",
5152
+ hidden: true,
5153
+ default: false,
5154
+ description: __("Read the initial message from stdin (for headless drivers)")
5155
+ });
5156
+ }
5157
+ return chain.check((argv) => {
5158
+ if (argv.json && !argv.message && !argv.remoteSession && !argv.messageFromStdin) {
3885
5159
  throw new Error(__("--json requires an initial message argument"));
3886
5160
  }
3887
5161
  return true;
@@ -3890,20 +5164,57 @@ const registerCommand = (yargs) => {
3890
5164
  handler: async (argv) => {
3891
5165
  try {
3892
5166
  const typedArgv = argv;
5167
+ if (typedArgv.remoteSession && isRemoteSessionEnabled()) {
5168
+ try {
5169
+ await runRemoteSession({
5170
+ chat_id: typedArgv.remoteChatId,
5171
+ bot: typedArgv.remoteBot
5172
+ });
5173
+ } catch (error) {
5174
+ if (error instanceof RemoteSessionConfigError) {
5175
+ process.stderr.write(`${error.message}
5176
+ `);
5177
+ process.exitCode = 1;
5178
+ return;
5179
+ }
5180
+ throw error;
5181
+ }
5182
+ return;
5183
+ }
3893
5184
  const noSessionPersistence = typedArgv.sessionPersistence === false;
3894
5185
  const adapter = typedArgv.json ? new JsonAdapter() : new AiChatUI();
5186
+ let initialMessage = typedArgv.message;
5187
+ if (typedArgv.messageFromStdin && isRemoteSessionEnabled()) {
5188
+ initialMessage = await readAllStdin();
5189
+ if (!initialMessage) {
5190
+ process.stderr.write(
5191
+ `${__("--message-from-stdin requires non-empty input on stdin")}
5192
+ `
5193
+ );
5194
+ process.exitCode = 1;
5195
+ return;
5196
+ }
5197
+ }
3895
5198
  if (adapter instanceof JsonAdapter && typedArgv.permissionResponse) {
3896
5199
  adapter.permissionResponse = JSON.parse(typedArgv.permissionResponse);
3897
5200
  }
3898
5201
  const sitePath = typeof argv.path === "string" ? argv.path : void 0;
5202
+ let activeSite;
5203
+ if (sitePath && typedArgv.siteName) {
5204
+ activeSite = { name: typedArgv.siteName, path: sitePath };
5205
+ } else if (sitePath) {
5206
+ const matchedSite = await findSiteByFolder(sitePath);
5207
+ if (matchedSite) {
5208
+ activeSite = { name: matchedSite.name, path: matchedSite.path };
5209
+ }
5210
+ }
3899
5211
  await runCommand({
3900
5212
  adapter,
3901
- initialMessage: typedArgv.message,
5213
+ initialMessage,
3902
5214
  resumeSessionId: typedArgv.resumeSession,
3903
5215
  noSessionPersistence,
3904
- autoApprove: typedArgv.autoApprove,
3905
5216
  showLegacyCommandNotice: argv._[0] === "ai",
3906
- activeSite: sitePath && typedArgv.siteName ? { name: typedArgv.siteName, path: sitePath } : void 0
5217
+ activeSite
3907
5218
  });
3908
5219
  } catch (error) {
3909
5220
  if (error instanceof LoggerError) {