Changeset 3333221
- Timestamp:
- 07/24/2025 02:31:29 AM (9 months ago)
- Location:
- miso-ai
- Files:
-
- 28 added
- 126 edited
- 1 copied
-
tags/0.9.6 (copied) (copied from miso-ai/trunk)
-
tags/0.9.6/composer.lock (modified) (26 diffs)
-
tags/0.9.6/customization.md (modified) (1 diff)
-
tags/0.9.6/miso-ai.php (modified) (1 diff)
-
tags/0.9.6/readme.txt (modified) (2 diffs)
-
tags/0.9.6/src/actions.php (modified) (1 diff)
-
tags/0.9.6/src/admin/index.php (modified) (5 diffs)
-
tags/0.9.6/src/operations.php (modified) (1 diff)
-
tags/0.9.6/src/utils.php (modified) (2 diffs)
-
tags/0.9.6/vendor/autoload.php (modified) (1 diff)
-
tags/0.9.6/vendor/composer/InstalledVersions.php (modified) (5 diffs)
-
tags/0.9.6/vendor/composer/autoload_psr4.php (modified) (1 diff)
-
tags/0.9.6/vendor/composer/autoload_static.php (modified) (1 diff)
-
tags/0.9.6/vendor/composer/installed.json (modified) (26 diffs)
-
tags/0.9.6/vendor/composer/installed.php (modified) (9 diffs)
-
tags/0.9.6/vendor/composer/platform_check.php (modified) (1 diff)
-
tags/0.9.6/vendor/guzzlehttp/guzzle/CHANGELOG.md (modified) (1 diff)
-
tags/0.9.6/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php (modified) (1 diff)
-
tags/0.9.6/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php (modified) (2 diffs)
-
tags/0.9.6/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php (modified) (1 diff)
-
tags/0.9.6/vendor/guzzlehttp/guzzle/src/Pool.php (modified) (1 diff)
-
tags/0.9.6/vendor/guzzlehttp/guzzle/src/Utils.php (modified) (1 diff)
-
tags/0.9.6/vendor/guzzlehttp/guzzle/src/functions.php (modified) (1 diff)
-
tags/0.9.6/vendor/guzzlehttp/promises/CHANGELOG.md (modified) (1 diff)
-
tags/0.9.6/vendor/guzzlehttp/psr7/CHANGELOG.md (modified) (1 diff)
-
tags/0.9.6/vendor/guzzlehttp/psr7/src/UploadedFile.php (modified) (3 diffs)
-
tags/0.9.6/vendor/guzzlehttp/psr7/src/Uri.php (modified) (1 diff)
-
tags/0.9.6/vendor/symfony/deprecation-contracts/composer.json (modified) (1 diff)
-
tags/0.9.6/vendor/symfony/polyfill-mbstring/Mbstring.php (modified) (1 diff)
-
tags/0.9.6/vendor/symfony/polyfill-mbstring/bootstrap80.php (modified) (1 diff)
-
tags/0.9.6/vendor/symfony/polyfill-mbstring/composer.json (modified) (1 diff)
-
tags/0.9.6/vendor/symfony/polyfill-php80/PhpToken.php (modified) (3 diffs)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Dotenv.php (modified) (3 diffs)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Loader/Loader.php (modified) (1 diff)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php (modified) (1 diff)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Loader/Resolver.php (modified) (1 diff)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php (modified) (11 diffs)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Parser/Lines.php (modified) (1 diff)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Parser/Parser.php (modified) (1 diff)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php (modified) (1 diff)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php (modified) (1 diff)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php (modified) (1 diff)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Store/File/Reader.php (modified) (1 diff)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Util/Regex.php (modified) (5 diffs)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Util/Str.php (modified) (2 diffs)
-
tags/0.9.6/vendor/vlucas/phpdotenv/src/Validator.php (modified) (1 diff)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/action-scheduler.php (modified) (6 diffs)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/changelog.txt (modified) (1 diff)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_ActionFactory.php (modified) (1 diff)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_AdminView.php (modified) (2 diffs)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_DataController.php (modified) (1 diff)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_RecurringActionScheduler.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_SystemInformation.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_Versions.php (modified) (4 diffs)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_WPCommentCleaner.php (modified) (4 diffs)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_wcSystemStatus.php (modified) (1 diff)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Cancel_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Create_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Delete_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Generate_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Get_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/List_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Next_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Run_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/WP_CLI/System_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php (modified) (6 diffs)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php (modified) (1 diff)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_WPCLI_Command.php (added)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php (modified) (7 diffs)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php (modified) (1 diff)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php (modified) (3 diffs)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php (modified) (2 diffs)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/deprecated/ActionScheduler_Schedule_Deprecated.php (modified) (1 diff)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/functions.php (modified) (4 diffs)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/lib/cron-expression/CronExpression.php (modified) (1 diff)
-
tags/0.9.6/vendor/woocommerce/action-scheduler/readme.txt (modified) (3 diffs)
-
trunk/composer.lock (modified) (26 diffs)
-
trunk/customization.md (modified) (1 diff)
-
trunk/miso-ai.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/src/actions.php (modified) (1 diff)
-
trunk/src/admin/index.php (modified) (5 diffs)
-
trunk/src/operations.php (modified) (1 diff)
-
trunk/src/utils.php (modified) (2 diffs)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/InstalledVersions.php (modified) (5 diffs)
-
trunk/vendor/composer/autoload_psr4.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_static.php (modified) (1 diff)
-
trunk/vendor/composer/installed.json (modified) (26 diffs)
-
trunk/vendor/composer/installed.php (modified) (9 diffs)
-
trunk/vendor/composer/platform_check.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/CHANGELOG.md (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php (modified) (2 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Pool.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Utils.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/functions.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/promises/CHANGELOG.md (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/CHANGELOG.md (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/src/UploadedFile.php (modified) (3 diffs)
-
trunk/vendor/guzzlehttp/psr7/src/Uri.php (modified) (1 diff)
-
trunk/vendor/symfony/deprecation-contracts/composer.json (modified) (1 diff)
-
trunk/vendor/symfony/polyfill-mbstring/Mbstring.php (modified) (1 diff)
-
trunk/vendor/symfony/polyfill-mbstring/bootstrap80.php (modified) (1 diff)
-
trunk/vendor/symfony/polyfill-mbstring/composer.json (modified) (1 diff)
-
trunk/vendor/symfony/polyfill-php80/PhpToken.php (modified) (3 diffs)
-
trunk/vendor/vlucas/phpdotenv/src/Dotenv.php (modified) (3 diffs)
-
trunk/vendor/vlucas/phpdotenv/src/Loader/Loader.php (modified) (1 diff)
-
trunk/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php (modified) (1 diff)
-
trunk/vendor/vlucas/phpdotenv/src/Loader/Resolver.php (modified) (1 diff)
-
trunk/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php (modified) (11 diffs)
-
trunk/vendor/vlucas/phpdotenv/src/Parser/Lines.php (modified) (1 diff)
-
trunk/vendor/vlucas/phpdotenv/src/Parser/Parser.php (modified) (1 diff)
-
trunk/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php (modified) (1 diff)
-
trunk/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php (modified) (1 diff)
-
trunk/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php (modified) (1 diff)
-
trunk/vendor/vlucas/phpdotenv/src/Store/File/Reader.php (modified) (1 diff)
-
trunk/vendor/vlucas/phpdotenv/src/Util/Regex.php (modified) (5 diffs)
-
trunk/vendor/vlucas/phpdotenv/src/Util/Str.php (modified) (2 diffs)
-
trunk/vendor/vlucas/phpdotenv/src/Validator.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/action-scheduler.php (modified) (6 diffs)
-
trunk/vendor/woocommerce/action-scheduler/changelog.txt (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_ActionFactory.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_AdminView.php (modified) (2 diffs)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_DataController.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_RecurringActionScheduler.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_SystemInformation.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_Versions.php (modified) (4 diffs)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_WPCommentCleaner.php (modified) (4 diffs)
-
trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_wcSystemStatus.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Cancel_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Create_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Delete_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Generate_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Get_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/List_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Next_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action/Run_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/Action_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/WP_CLI/System_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php (modified) (6 diffs)
-
trunk/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_WPCLI_Command.php (added)
-
trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php (modified) (7 diffs)
-
trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php (modified) (3 diffs)
-
trunk/vendor/woocommerce/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php (modified) (2 diffs)
-
trunk/vendor/woocommerce/action-scheduler/deprecated/ActionScheduler_Schedule_Deprecated.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/functions.php (modified) (4 diffs)
-
trunk/vendor/woocommerce/action-scheduler/lib/cron-expression/CronExpression.php (modified) (1 diff)
-
trunk/vendor/woocommerce/action-scheduler/readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
miso-ai/tags/0.9.6/composer.lock
r3204556 r3333221 71 71 { 72 72 "name": "guzzlehttp/guzzle", 73 "version": "7.9. 2",73 "version": "7.9.3", 74 74 "source": { 75 75 "type": "git", 76 76 "url": "https://github.com/guzzle/guzzle.git", 77 "reference": " d281ed313b989f213357e3be1a179f02196ac99b"78 }, 79 "dist": { 80 "type": "zip", 81 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ d281ed313b989f213357e3be1a179f02196ac99b",82 "reference": " d281ed313b989f213357e3be1a179f02196ac99b",77 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77" 78 }, 79 "dist": { 80 "type": "zip", 81 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", 82 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", 83 83 "shasum": "" 84 84 }, … … 177 177 "support": { 178 178 "issues": "https://github.com/guzzle/guzzle/issues", 179 "source": "https://github.com/guzzle/guzzle/tree/7.9. 2"179 "source": "https://github.com/guzzle/guzzle/tree/7.9.3" 180 180 }, 181 181 "funding": [ … … 193 193 } 194 194 ], 195 "time": "202 4-07-24T11:22:20+00:00"195 "time": "2025-03-27T13:37:11+00:00" 196 196 }, 197 197 { 198 198 "name": "guzzlehttp/promises", 199 "version": "2. 0.4",199 "version": "2.2.0", 200 200 "source": { 201 201 "type": "git", 202 202 "url": "https://github.com/guzzle/promises.git", 203 "reference": " f9c436286ab2892c7db7be8c8da4ef61ccf7b455"204 }, 205 "dist": { 206 "type": "zip", 207 "url": "https://api.github.com/repos/guzzle/promises/zipball/ f9c436286ab2892c7db7be8c8da4ef61ccf7b455",208 "reference": " f9c436286ab2892c7db7be8c8da4ef61ccf7b455",203 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c" 204 }, 205 "dist": { 206 "type": "zip", 207 "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c", 208 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c", 209 209 "shasum": "" 210 210 }, … … 260 260 "support": { 261 261 "issues": "https://github.com/guzzle/promises/issues", 262 "source": "https://github.com/guzzle/promises/tree/2. 0.4"262 "source": "https://github.com/guzzle/promises/tree/2.2.0" 263 263 }, 264 264 "funding": [ … … 276 276 } 277 277 ], 278 "time": "202 4-10-17T10:06:22+00:00"278 "time": "2025-03-27T13:27:01+00:00" 279 279 }, 280 280 { 281 281 "name": "guzzlehttp/psr7", 282 "version": "2.7. 0",282 "version": "2.7.1", 283 283 "source": { 284 284 "type": "git", 285 285 "url": "https://github.com/guzzle/psr7.git", 286 "reference": " a70f5c95fb43bc83f07c9c948baa0dc1829bf201"287 }, 288 "dist": { 289 "type": "zip", 290 "url": "https://api.github.com/repos/guzzle/psr7/zipball/ a70f5c95fb43bc83f07c9c948baa0dc1829bf201",291 "reference": " a70f5c95fb43bc83f07c9c948baa0dc1829bf201",286 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16" 287 }, 288 "dist": { 289 "type": "zip", 290 "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16", 291 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16", 292 292 "shasum": "" 293 293 }, … … 376 376 "support": { 377 377 "issues": "https://github.com/guzzle/psr7/issues", 378 "source": "https://github.com/guzzle/psr7/tree/2.7. 0"378 "source": "https://github.com/guzzle/psr7/tree/2.7.1" 379 379 }, 380 380 "funding": [ … … 392 392 } 393 393 ], 394 "time": "202 4-07-18T11:15:46+00:00"394 "time": "2025-03-27T12:30:47+00:00" 395 395 }, 396 396 { … … 724 724 { 725 725 "name": "symfony/deprecation-contracts", 726 "version": "v3. 5.1",726 "version": "v3.6.0", 727 727 "source": { 728 728 "type": "git", 729 729 "url": "https://github.com/symfony/deprecation-contracts.git", 730 "reference": " 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"731 }, 732 "dist": { 733 "type": "zip", 734 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/ 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",735 "reference": " 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",730 "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" 731 }, 732 "dist": { 733 "type": "zip", 734 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", 735 "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", 736 736 "shasum": "" 737 737 }, … … 741 741 "type": "library", 742 742 "extra": { 743 "thanks": { 744 "url": "https://github.com/symfony/contracts", 745 "name": "symfony/contracts" 746 }, 743 747 "branch-alias": { 744 "dev-main": "3.5-dev" 745 }, 746 "thanks": { 747 "name": "symfony/contracts", 748 "url": "https://github.com/symfony/contracts" 748 "dev-main": "3.6-dev" 749 749 } 750 750 }, … … 771 771 "homepage": "https://symfony.com", 772 772 "support": { 773 "source": "https://github.com/symfony/deprecation-contracts/tree/v3. 5.1"773 "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" 774 774 }, 775 775 "funding": [ … … 787 787 } 788 788 ], 789 "time": "2024-09-25T14:2 0:29+00:00"789 "time": "2024-09-25T14:21:43+00:00" 790 790 }, 791 791 { 792 792 "name": "symfony/polyfill-ctype", 793 "version": "v1.3 1.0",793 "version": "v1.32.0", 794 794 "source": { 795 795 "type": "git", … … 815 815 "extra": { 816 816 "thanks": { 817 " name": "symfony/polyfill",818 " url": "https://github.com/symfony/polyfill"817 "url": "https://github.com/symfony/polyfill", 818 "name": "symfony/polyfill" 819 819 } 820 820 }, … … 850 850 ], 851 851 "support": { 852 "source": "https://github.com/symfony/polyfill-ctype/tree/v1.3 1.0"852 "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" 853 853 }, 854 854 "funding": [ … … 870 870 { 871 871 "name": "symfony/polyfill-mbstring", 872 "version": "v1.3 1.0",872 "version": "v1.32.0", 873 873 "source": { 874 874 "type": "git", 875 875 "url": "https://github.com/symfony/polyfill-mbstring.git", 876 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" 877 }, 878 "dist": { 879 "type": "zip", 880 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", 881 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", 882 "shasum": "" 883 }, 884 "require": { 876 "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" 877 }, 878 "dist": { 879 "type": "zip", 880 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", 881 "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", 882 "shasum": "" 883 }, 884 "require": { 885 "ext-iconv": "*", 885 886 "php": ">=7.2" 886 887 }, … … 894 895 "extra": { 895 896 "thanks": { 896 " name": "symfony/polyfill",897 " url": "https://github.com/symfony/polyfill"897 "url": "https://github.com/symfony/polyfill", 898 "name": "symfony/polyfill" 898 899 } 899 900 }, … … 930 931 ], 931 932 "support": { 932 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.3 1.0"933 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" 933 934 }, 934 935 "funding": [ … … 946 947 } 947 948 ], 948 "time": "2024- 09-09T11:45:10+00:00"949 "time": "2024-12-23T08:48:59+00:00" 949 950 }, 950 951 { 951 952 "name": "symfony/polyfill-php80", 952 "version": "v1.3 1.0",953 "version": "v1.32.0", 953 954 "source": { 954 955 "type": "git", 955 956 "url": "https://github.com/symfony/polyfill-php80.git", 956 "reference": " 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"957 }, 958 "dist": { 959 "type": "zip", 960 "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/ 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",961 "reference": " 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",957 "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" 958 }, 959 "dist": { 960 "type": "zip", 961 "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", 962 "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", 962 963 "shasum": "" 963 964 }, … … 968 969 "extra": { 969 970 "thanks": { 970 " name": "symfony/polyfill",971 " url": "https://github.com/symfony/polyfill"971 "url": "https://github.com/symfony/polyfill", 972 "name": "symfony/polyfill" 972 973 } 973 974 }, … … 1010 1011 ], 1011 1012 "support": { 1012 "source": "https://github.com/symfony/polyfill-php80/tree/v1.3 1.0"1013 "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" 1013 1014 }, 1014 1015 "funding": [ … … 1026 1027 } 1027 1028 ], 1028 "time": "202 4-09-09T11:45:10+00:00"1029 "time": "2025-01-02T08:10:11+00:00" 1029 1030 }, 1030 1031 { 1031 1032 "name": "vlucas/phpdotenv", 1032 "version": "v5.6. 1",1033 "version": "v5.6.2", 1033 1034 "source": { 1034 1035 "type": "git", 1035 1036 "url": "https://github.com/vlucas/phpdotenv.git", 1036 "reference": " a59a13791077fe3d44f90e7133eb68e7d22eaff2"1037 }, 1038 "dist": { 1039 "type": "zip", 1040 "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/ a59a13791077fe3d44f90e7133eb68e7d22eaff2",1041 "reference": " a59a13791077fe3d44f90e7133eb68e7d22eaff2",1037 "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" 1038 }, 1039 "dist": { 1040 "type": "zip", 1041 "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", 1042 "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", 1042 1043 "shasum": "" 1043 1044 }, … … 1098 1099 "support": { 1099 1100 "issues": "https://github.com/vlucas/phpdotenv/issues", 1100 "source": "https://github.com/vlucas/phpdotenv/tree/v5.6. 1"1101 "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" 1101 1102 }, 1102 1103 "funding": [ … … 1110 1111 } 1111 1112 ], 1112 "time": "202 4-07-20T21:52:34+00:00"1113 "time": "2025-04-30T23:37:27+00:00" 1113 1114 }, 1114 1115 { 1115 1116 "name": "woocommerce/action-scheduler", 1116 "version": "3.9. 0",1117 "version": "3.9.3", 1117 1118 "source": { 1118 1119 "type": "git", 1119 1120 "url": "https://github.com/woocommerce/action-scheduler.git", 1120 "reference": " 90b98e6fe97d455679b1d288f050cad8f6f79771"1121 }, 1122 "dist": { 1123 "type": "zip", 1124 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/ 90b98e6fe97d455679b1d288f050cad8f6f79771",1125 "reference": " 90b98e6fe97d455679b1d288f050cad8f6f79771",1126 "shasum": "" 1127 }, 1128 "require": { 1129 "php": ">=7. 1"1121 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c" 1122 }, 1123 "dist": { 1124 "type": "zip", 1125 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/c58cdbab17651303d406cd3b22cf9d75c71c986c", 1126 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c", 1127 "shasum": "" 1128 }, 1129 "require": { 1130 "php": ">=7.2" 1130 1131 }, 1131 1132 "require-dev": { 1132 "phpunit/phpunit": "^ 7.5",1133 "phpunit/phpunit": "^8.5", 1133 1134 "woocommerce/woocommerce-sniffs": "0.1.0", 1134 1135 "wp-cli/wp-cli": "~2.5.0", … … 1151 1152 "support": { 1152 1153 "issues": "https://github.com/woocommerce/action-scheduler/issues", 1153 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9. 0"1154 }, 1155 "time": "202 4-11-15T00:11:39+00:00"1154 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9.3" 1155 }, 1156 "time": "2025-07-15T09:32:30+00:00" 1156 1157 } 1157 1158 ], … … 1159 1160 { 1160 1161 "name": "php-stubs/wordpress-stubs", 1161 "version": "v6. 7.1",1162 "version": "v6.8.2", 1162 1163 "source": { 1163 1164 "type": "git", 1164 1165 "url": "https://github.com/php-stubs/wordpress-stubs.git", 1165 "reference": "83448e918bf06d1ed3d67ceb6a985fc266a02fd1" 1166 }, 1167 "dist": { 1168 "type": "zip", 1169 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/83448e918bf06d1ed3d67ceb6a985fc266a02fd1", 1170 "reference": "83448e918bf06d1ed3d67ceb6a985fc266a02fd1", 1171 "shasum": "" 1166 "reference": "9c8e22e437463197c1ec0d5eaa9ddd4a0eb6d7f8" 1167 }, 1168 "dist": { 1169 "type": "zip", 1170 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/9c8e22e437463197c1ec0d5eaa9ddd4a0eb6d7f8", 1171 "reference": "9c8e22e437463197c1ec0d5eaa9ddd4a0eb6d7f8", 1172 "shasum": "" 1173 }, 1174 "conflict": { 1175 "phpdocumentor/reflection-docblock": "5.6.1" 1172 1176 }, 1173 1177 "require-dev": { 1174 1178 "dealerdirect/phpcodesniffer-composer-installer": "^1.0", 1175 "nikic/php-parser": "^ 4.13",1179 "nikic/php-parser": "^5.5", 1176 1180 "php": "^7.4 || ^8.0", 1177 1181 "php-stubs/generator": "^0.8.3", 1178 1182 "phpdocumentor/reflection-docblock": "^5.4.1", 1179 "phpstan/phpstan": "^ 1.11",1183 "phpstan/phpstan": "^2.1", 1180 1184 "phpunit/phpunit": "^9.5", 1181 1185 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.1.1", … … 1201 1205 "support": { 1202 1206 "issues": "https://github.com/php-stubs/wordpress-stubs/issues", 1203 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6. 7.1"1204 }, 1205 "time": "202 4-11-24T03:57:09+00:00"1207 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.8.2" 1208 }, 1209 "time": "2025-07-16T06:41:00+00:00" 1206 1210 }, 1207 1211 { 1208 1212 "name": "php-stubs/wp-cli-stubs", 1209 "version": "v2.1 1.0",1213 "version": "v2.12.0", 1210 1214 "source": { 1211 1215 "type": "git", 1212 1216 "url": "https://github.com/php-stubs/wp-cli-stubs.git", 1213 "reference": " f27ff9e8e29d7962cb070e58de70dfaf63183007"1214 }, 1215 "dist": { 1216 "type": "zip", 1217 "url": "https://api.github.com/repos/php-stubs/wp-cli-stubs/zipball/ f27ff9e8e29d7962cb070e58de70dfaf63183007",1218 "reference": " f27ff9e8e29d7962cb070e58de70dfaf63183007",1217 "reference": "af16401e299a3fd2229bd0fa9a037638a4174a9d" 1218 }, 1219 "dist": { 1220 "type": "zip", 1221 "url": "https://api.github.com/repos/php-stubs/wp-cli-stubs/zipball/af16401e299a3fd2229bd0fa9a037638a4174a9d", 1222 "reference": "af16401e299a3fd2229bd0fa9a037638a4174a9d", 1219 1223 "shasum": "" 1220 1224 }, … … 1245 1249 "support": { 1246 1250 "issues": "https://github.com/php-stubs/wp-cli-stubs/issues", 1247 "source": "https://github.com/php-stubs/wp-cli-stubs/tree/v2.1 1.0"1248 }, 1249 "time": "202 4-11-25T10:09:13+00:00"1251 "source": "https://github.com/php-stubs/wp-cli-stubs/tree/v2.12.0" 1252 }, 1253 "time": "2025-06-10T09:58:05+00:00" 1250 1254 } 1251 1255 ], -
miso-ai/tags/0.9.6/customization.md
r3204556 r3333221 44 44 ### Modify the filter function 45 45 46 Here is an example to add a prefix to `product_id`: 47 48 ```php 49 function my_miso_post_to_record_0(array $record, WP_Post $post) { 50 $record['product_id'] = 'my_prefix_' . $record['product_id']; 51 return $record; 52 } 53 54 add_filter('miso_post_to_record', 'my_miso_post_to_record_0', 10, 2); 55 ``` 56 57 Another example to add extra data to `custom_attributes`: 46 Here is an example to add extra data to `custom_attributes`: 58 47 59 48 ```php -
miso-ai/tags/0.9.6/miso-ai.php
r3204556 r3333221 4 4 * Plugin URI: https://miso.ai/ 5 5 * Description: The official WordPress plugin for Miso AI data integration. 6 * Version: 0.9. 56 * Version: 0.9.6 7 7 * Author: Simon Pai 8 8 * License: GPL v2 or later -
miso-ai/tags/0.9.6/readme.txt
r3204556 r3333221 2 2 Contributors: misosimonpai 3 3 Tags: Miso, AI, LLM 4 Tested up to: 6. 45 Stable tag: 0.9. 54 Tested up to: 6.8 5 Stable tag: 0.9.6 6 6 License: GPLv2 or later 7 7 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 36 36 == Changelog == 37 37 38 = 0.9.6 = 39 * Feature: [#11](https://github.com/MisoAI/miso-wordpress-plugin/issues/11) Allow user to sync entities of post type other than post. 40 38 41 = 0.9.5 = 39 42 * Fix: product_id prefix in action hooks -
miso-ai/tags/0.9.6/src/actions.php
r3204556 r3333221 11 11 } 12 12 if (!has_api_key()) { 13 return $post; 14 } 15 if (!in_array($post->post_type, Utils\get_miso_post_types())) { 13 16 return $post; 14 17 } -
miso-ai/tags/0.9.6/src/admin/index.php
r3204556 r3333221 4 4 5 5 use Miso\Operations; 6 use Miso\Utils; 6 7 7 8 function admin_menu() { … … 18 19 'description' => 'Miso Settings', 19 20 'sanitize_callback' => function ($value) { 21 $available_post_types = get_post_types(); 22 $value['miso_post_types'] = array_intersect($value['miso_post_types'], $available_post_types); 20 23 return $value; 21 24 }, … … 31 34 add_settings_field( 32 35 'miso_api_key', 33 'Secret API Key',36 'Secret API key', 34 37 function () { 35 38 $options = get_option('miso_settings', []); … … 44 47 add_settings_field( 45 48 'miso_product_id_prefix', 46 'Product ID Prefix<br>(optional)',49 'Product ID prefix<br>(optional)', 47 50 function () { 48 51 $options = get_option('miso_settings', []); … … 53 56 'By setting different prefixes, you can manage data from multiple sites into one Miso catalog.<br>' . 54 57 'When performing a full-sync, only Miso records with the prefix will be deleted.</p>'; 58 }, 59 'miso', 60 'miso_settings', 61 ); 62 add_settings_field( 63 'miso_post_types', 64 'Post types to upload', 65 function () { 66 $options = get_option('miso_settings', []); 67 $post_types = array_key_exists('miso_post_types', $options) ? $options['miso_post_types'] : Utils\get_miso_post_types_default_value(); 68 $choices = Utils\get_post_type_choices(); 69 foreach ($choices as $choice) { 70 echo '<label><input type="checkbox" name="miso_settings[miso_post_types][]" value="' . esc_attr($choice) . '" ' . checked(in_array($choice, $post_types), true, false) . '> ' . esc_html($choice) . '</label><br>'; 71 } 72 echo '<p>Post types to be uploaded to Miso catalog.<br>' . 73 'Posts with checked post type will be uploaded to Miso when they are updated or when a "sync data" action is performed.<br>' . 74 'Changing this setting will not affect existing records in Miso catalog.</p>'; 55 75 }, 56 76 'miso', -
miso-ai/tags/0.9.6/src/operations.php
r3204556 r3333221 33 33 $args = $task['args'] ?? []; 34 34 $query = $args['query'] ?? [ 35 'post_type' => 'post',35 'post_type' => Utils\get_miso_post_types(), 36 36 'post_status' => 'publish', 37 37 ]; -
miso-ai/tags/0.9.6/src/utils.php
r3204556 r3333221 41 41 'published_at' => format_date($post->post_date_gmt), 42 42 'updated_at' => format_date($post->post_modified_gmt), 43 'type' => 'post',43 'type' => $post->post_type, 44 44 'title' => $post->post_title, 45 45 'html' => $post->post_content, … … 56 56 } 57 57 58 function get_post_type_choices() { 59 // post, page, and custom post types 60 return array_merge(['post', 'page'], get_post_types([ 61 'public' => true, 62 '_builtin' => false, 63 ])); 64 } 65 66 function get_miso_post_types() { 67 return get_option('miso_settings')['miso_post_types'] ?? get_miso_post_types_default_value(); 68 } 69 70 function get_miso_post_types_default_value() { 71 // default value is post only 72 return ['post']; 73 } 74 58 75 function log($value) { 59 76 error_log(print_r($value, true)); -
miso-ai/tags/0.9.6/vendor/autoload.php
r3062001 r3333221 15 15 } 16 16 } 17 trigger_error( 18 $err, 19 E_USER_ERROR 20 ); 17 throw new RuntimeException($err); 21 18 } 22 19 -
miso-ai/tags/0.9.6/vendor/composer/InstalledVersions.php
r3062001 r3333221 28 28 { 29 29 /** 30 * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to 31 * @internal 32 */ 33 private static $selfDir = null; 34 35 /** 30 36 * @var mixed[]|null 31 37 * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null 32 38 */ 33 39 private static $installed; 40 41 /** 42 * @var bool 43 */ 44 private static $installedIsLocalDir; 34 45 35 46 /** … … 310 321 self::$installed = $data; 311 322 self::$installedByVendor = array(); 323 324 // when using reload, we disable the duplicate protection to ensure that self::$installed data is 325 // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, 326 // so we have to assume it does not, and that may result in duplicate data being returned when listing 327 // all installed packages for example 328 self::$installedIsLocalDir = false; 329 } 330 331 /** 332 * @return string 333 */ 334 private static function getSelfDir() 335 { 336 if (self::$selfDir === null) { 337 self::$selfDir = strtr(__DIR__, '\\', '/'); 338 } 339 340 return self::$selfDir; 312 341 } 313 342 … … 323 352 324 353 $installed = array(); 354 $copiedLocalDir = false; 325 355 326 356 if (self::$canGetVendors) { 357 $selfDir = self::getSelfDir(); 327 358 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { 359 $vendorDir = strtr($vendorDir, '\\', '/'); 328 360 if (isset(self::$installedByVendor[$vendorDir])) { 329 361 $installed[] = self::$installedByVendor[$vendorDir]; … … 331 363 /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ 332 364 $required = require $vendorDir.'/composer/installed.php'; 333 $installed[] = self::$installedByVendor[$vendorDir] = $required; 334 if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { 335 self::$installed = $installed[count($installed) - 1]; 365 self::$installedByVendor[$vendorDir] = $required; 366 $installed[] = $required; 367 if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { 368 self::$installed = $required; 369 self::$installedIsLocalDir = true; 336 370 } 371 } 372 if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { 373 $copiedLocalDir = true; 337 374 } 338 375 } … … 351 388 } 352 389 353 if (self::$installed !== array() ) {390 if (self::$installed !== array() && !$copiedLocalDir) { 354 391 $installed[] = self::$installed; 355 392 } -
miso-ai/tags/0.9.6/vendor/composer/autoload_psr4.php
r3062001 r3333221 10 10 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), 11 11 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), 12 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http- message/src', $vendorDir . '/psr/http-factory/src'),12 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'), 13 13 'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'), 14 14 'PhpOption\\' => array($vendorDir . '/phpoption/phpoption/src/PhpOption'), -
miso-ai/tags/0.9.6/vendor/composer/autoload_static.php
r3062001 r3333221 61 61 'Psr\\Http\\Message\\' => 62 62 array ( 63 0 => __DIR__ . '/..' . '/psr/http- message/src',64 1 => __DIR__ . '/..' . '/psr/http- factory/src',63 0 => __DIR__ . '/..' . '/psr/http-factory/src', 64 1 => __DIR__ . '/..' . '/psr/http-message/src', 65 65 ), 66 66 'Psr\\Http\\Client\\' => -
miso-ai/tags/0.9.6/vendor/composer/installed.json
r3204556 r3333221 68 68 { 69 69 "name": "guzzlehttp/guzzle", 70 "version": "7.9. 2",71 "version_normalized": "7.9. 2.0",70 "version": "7.9.3", 71 "version_normalized": "7.9.3.0", 72 72 "source": { 73 73 "type": "git", 74 74 "url": "https://github.com/guzzle/guzzle.git", 75 "reference": " d281ed313b989f213357e3be1a179f02196ac99b"76 }, 77 "dist": { 78 "type": "zip", 79 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ d281ed313b989f213357e3be1a179f02196ac99b",80 "reference": " d281ed313b989f213357e3be1a179f02196ac99b",75 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77" 76 }, 77 "dist": { 78 "type": "zip", 79 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", 80 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", 81 81 "shasum": "" 82 82 }, … … 105 105 "psr/log": "Required for using the Log middleware" 106 106 }, 107 "time": "202 4-07-24T11:22:20+00:00",107 "time": "2025-03-27T13:37:11+00:00", 108 108 "type": "library", 109 109 "extra": { … … 177 177 "support": { 178 178 "issues": "https://github.com/guzzle/guzzle/issues", 179 "source": "https://github.com/guzzle/guzzle/tree/7.9. 2"179 "source": "https://github.com/guzzle/guzzle/tree/7.9.3" 180 180 }, 181 181 "funding": [ … … 197 197 { 198 198 "name": "guzzlehttp/promises", 199 "version": "2. 0.4",200 "version_normalized": "2. 0.4.0",199 "version": "2.2.0", 200 "version_normalized": "2.2.0.0", 201 201 "source": { 202 202 "type": "git", 203 203 "url": "https://github.com/guzzle/promises.git", 204 "reference": " f9c436286ab2892c7db7be8c8da4ef61ccf7b455"205 }, 206 "dist": { 207 "type": "zip", 208 "url": "https://api.github.com/repos/guzzle/promises/zipball/ f9c436286ab2892c7db7be8c8da4ef61ccf7b455",209 "reference": " f9c436286ab2892c7db7be8c8da4ef61ccf7b455",204 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c" 205 }, 206 "dist": { 207 "type": "zip", 208 "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c", 209 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c", 210 210 "shasum": "" 211 211 }, … … 217 217 "phpunit/phpunit": "^8.5.39 || ^9.6.20" 218 218 }, 219 "time": "202 4-10-17T10:06:22+00:00",219 "time": "2025-03-27T13:27:01+00:00", 220 220 "type": "library", 221 221 "extra": { … … 263 263 "support": { 264 264 "issues": "https://github.com/guzzle/promises/issues", 265 "source": "https://github.com/guzzle/promises/tree/2. 0.4"265 "source": "https://github.com/guzzle/promises/tree/2.2.0" 266 266 }, 267 267 "funding": [ … … 283 283 { 284 284 "name": "guzzlehttp/psr7", 285 "version": "2.7. 0",286 "version_normalized": "2.7. 0.0",285 "version": "2.7.1", 286 "version_normalized": "2.7.1.0", 287 287 "source": { 288 288 "type": "git", 289 289 "url": "https://github.com/guzzle/psr7.git", 290 "reference": " a70f5c95fb43bc83f07c9c948baa0dc1829bf201"291 }, 292 "dist": { 293 "type": "zip", 294 "url": "https://api.github.com/repos/guzzle/psr7/zipball/ a70f5c95fb43bc83f07c9c948baa0dc1829bf201",295 "reference": " a70f5c95fb43bc83f07c9c948baa0dc1829bf201",290 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16" 291 }, 292 "dist": { 293 "type": "zip", 294 "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16", 295 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16", 296 296 "shasum": "" 297 297 }, … … 314 314 "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" 315 315 }, 316 "time": "202 4-07-18T11:15:46+00:00",316 "time": "2025-03-27T12:30:47+00:00", 317 317 "type": "library", 318 318 "extra": { … … 382 382 "support": { 383 383 "issues": "https://github.com/guzzle/psr7/issues", 384 "source": "https://github.com/guzzle/psr7/tree/2.7. 0"384 "source": "https://github.com/guzzle/psr7/tree/2.7.1" 385 385 }, 386 386 "funding": [ … … 748 748 { 749 749 "name": "symfony/deprecation-contracts", 750 "version": "v3. 5.1",751 "version_normalized": "3. 5.1.0",750 "version": "v3.6.0", 751 "version_normalized": "3.6.0.0", 752 752 "source": { 753 753 "type": "git", 754 754 "url": "https://github.com/symfony/deprecation-contracts.git", 755 "reference": " 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"756 }, 757 "dist": { 758 "type": "zip", 759 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/ 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",760 "reference": " 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",755 "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" 756 }, 757 "dist": { 758 "type": "zip", 759 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", 760 "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", 761 761 "shasum": "" 762 762 }, … … 764 764 "php": ">=8.1" 765 765 }, 766 "time": "2024-09-25T14:2 0:29+00:00",766 "time": "2024-09-25T14:21:43+00:00", 767 767 "type": "library", 768 768 "extra": { 769 "thanks": { 770 "url": "https://github.com/symfony/contracts", 771 "name": "symfony/contracts" 772 }, 769 773 "branch-alias": { 770 "dev-main": "3.5-dev" 771 }, 772 "thanks": { 773 "name": "symfony/contracts", 774 "url": "https://github.com/symfony/contracts" 774 "dev-main": "3.6-dev" 775 775 } 776 776 }, … … 798 798 "homepage": "https://symfony.com", 799 799 "support": { 800 "source": "https://github.com/symfony/deprecation-contracts/tree/v3. 5.1"800 "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" 801 801 }, 802 802 "funding": [ … … 818 818 { 819 819 "name": "symfony/polyfill-ctype", 820 "version": "v1.3 1.0",821 "version_normalized": "1.3 1.0.0",820 "version": "v1.32.0", 821 "version_normalized": "1.32.0.0", 822 822 "source": { 823 823 "type": "git", … … 844 844 "extra": { 845 845 "thanks": { 846 " name": "symfony/polyfill",847 " url": "https://github.com/symfony/polyfill"846 "url": "https://github.com/symfony/polyfill", 847 "name": "symfony/polyfill" 848 848 } 849 849 }, … … 880 880 ], 881 881 "support": { 882 "source": "https://github.com/symfony/polyfill-ctype/tree/v1.3 1.0"882 "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" 883 883 }, 884 884 "funding": [ … … 900 900 { 901 901 "name": "symfony/polyfill-mbstring", 902 "version": "v1.3 1.0",903 "version_normalized": "1.3 1.0.0",902 "version": "v1.32.0", 903 "version_normalized": "1.32.0.0", 904 904 "source": { 905 905 "type": "git", 906 906 "url": "https://github.com/symfony/polyfill-mbstring.git", 907 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" 908 }, 909 "dist": { 910 "type": "zip", 911 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", 912 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", 913 "shasum": "" 914 }, 915 "require": { 907 "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" 908 }, 909 "dist": { 910 "type": "zip", 911 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", 912 "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", 913 "shasum": "" 914 }, 915 "require": { 916 "ext-iconv": "*", 916 917 "php": ">=7.2" 917 918 }, … … 922 923 "ext-mbstring": "For best performance" 923 924 }, 924 "time": "2024- 09-09T11:45:10+00:00",925 "time": "2024-12-23T08:48:59+00:00", 925 926 "type": "library", 926 927 "extra": { 927 928 "thanks": { 928 " name": "symfony/polyfill",929 " url": "https://github.com/symfony/polyfill"929 "url": "https://github.com/symfony/polyfill", 930 "name": "symfony/polyfill" 930 931 } 931 932 }, … … 963 964 ], 964 965 "support": { 965 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.3 1.0"966 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" 966 967 }, 967 968 "funding": [ … … 983 984 { 984 985 "name": "symfony/polyfill-php80", 985 "version": "v1.3 1.0",986 "version_normalized": "1.3 1.0.0",986 "version": "v1.32.0", 987 "version_normalized": "1.32.0.0", 987 988 "source": { 988 989 "type": "git", 989 990 "url": "https://github.com/symfony/polyfill-php80.git", 990 "reference": " 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"991 }, 992 "dist": { 993 "type": "zip", 994 "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/ 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",995 "reference": " 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",991 "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" 992 }, 993 "dist": { 994 "type": "zip", 995 "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", 996 "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", 996 997 "shasum": "" 997 998 }, … … 999 1000 "php": ">=7.2" 1000 1001 }, 1001 "time": "202 4-09-09T11:45:10+00:00",1002 "time": "2025-01-02T08:10:11+00:00", 1002 1003 "type": "library", 1003 1004 "extra": { 1004 1005 "thanks": { 1005 " name": "symfony/polyfill",1006 " url": "https://github.com/symfony/polyfill"1006 "url": "https://github.com/symfony/polyfill", 1007 "name": "symfony/polyfill" 1007 1008 } 1008 1009 }, … … 1046 1047 ], 1047 1048 "support": { 1048 "source": "https://github.com/symfony/polyfill-php80/tree/v1.3 1.0"1049 "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" 1049 1050 }, 1050 1051 "funding": [ … … 1066 1067 { 1067 1068 "name": "vlucas/phpdotenv", 1068 "version": "v5.6. 1",1069 "version_normalized": "5.6. 1.0",1069 "version": "v5.6.2", 1070 "version_normalized": "5.6.2.0", 1070 1071 "source": { 1071 1072 "type": "git", 1072 1073 "url": "https://github.com/vlucas/phpdotenv.git", 1073 "reference": " a59a13791077fe3d44f90e7133eb68e7d22eaff2"1074 }, 1075 "dist": { 1076 "type": "zip", 1077 "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/ a59a13791077fe3d44f90e7133eb68e7d22eaff2",1078 "reference": " a59a13791077fe3d44f90e7133eb68e7d22eaff2",1074 "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" 1075 }, 1076 "dist": { 1077 "type": "zip", 1078 "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", 1079 "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", 1079 1080 "shasum": "" 1080 1081 }, … … 1096 1097 "ext-filter": "Required to use the boolean validator." 1097 1098 }, 1098 "time": "202 4-07-20T21:52:34+00:00",1099 "time": "2025-04-30T23:37:27+00:00", 1099 1100 "type": "library", 1100 1101 "extra": { … … 1137 1138 "support": { 1138 1139 "issues": "https://github.com/vlucas/phpdotenv/issues", 1139 "source": "https://github.com/vlucas/phpdotenv/tree/v5.6. 1"1140 "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" 1140 1141 }, 1141 1142 "funding": [ … … 1153 1154 { 1154 1155 "name": "woocommerce/action-scheduler", 1155 "version": "3.9. 0",1156 "version_normalized": "3.9. 0.0",1156 "version": "3.9.3", 1157 "version_normalized": "3.9.3.0", 1157 1158 "source": { 1158 1159 "type": "git", 1159 1160 "url": "https://github.com/woocommerce/action-scheduler.git", 1160 "reference": " 90b98e6fe97d455679b1d288f050cad8f6f79771"1161 }, 1162 "dist": { 1163 "type": "zip", 1164 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/ 90b98e6fe97d455679b1d288f050cad8f6f79771",1165 "reference": " 90b98e6fe97d455679b1d288f050cad8f6f79771",1166 "shasum": "" 1167 }, 1168 "require": { 1169 "php": ">=7. 1"1161 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c" 1162 }, 1163 "dist": { 1164 "type": "zip", 1165 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/c58cdbab17651303d406cd3b22cf9d75c71c986c", 1166 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c", 1167 "shasum": "" 1168 }, 1169 "require": { 1170 "php": ">=7.2" 1170 1171 }, 1171 1172 "require-dev": { 1172 "phpunit/phpunit": "^ 7.5",1173 "phpunit/phpunit": "^8.5", 1173 1174 "woocommerce/woocommerce-sniffs": "0.1.0", 1174 1175 "wp-cli/wp-cli": "~2.5.0", 1175 1176 "yoast/phpunit-polyfills": "^2.0" 1176 1177 }, 1177 "time": "202 4-11-15T00:11:39+00:00",1178 "time": "2025-07-15T09:32:30+00:00", 1178 1179 "type": "wordpress-plugin", 1179 1180 "extra": { … … 1193 1194 "support": { 1194 1195 "issues": "https://github.com/woocommerce/action-scheduler/issues", 1195 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9. 0"1196 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9.3" 1196 1197 }, 1197 1198 "install-path": "../woocommerce/action-scheduler" -
miso-ai/tags/0.9.6/vendor/composer/installed.php
r3204556 r3333221 30 30 ), 31 31 'guzzlehttp/guzzle' => array( 32 'pretty_version' => '7.9. 2',33 'version' => '7.9. 2.0',34 'reference' => ' d281ed313b989f213357e3be1a179f02196ac99b',32 'pretty_version' => '7.9.3', 33 'version' => '7.9.3.0', 34 'reference' => '7b2f29fe81dc4da0ca0ea7d42107a0845946ea77', 35 35 'type' => 'library', 36 36 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', … … 39 39 ), 40 40 'guzzlehttp/promises' => array( 41 'pretty_version' => '2. 0.4',42 'version' => '2. 0.4.0',43 'reference' => ' f9c436286ab2892c7db7be8c8da4ef61ccf7b455',41 'pretty_version' => '2.2.0', 42 'version' => '2.2.0.0', 43 'reference' => '7c69f28996b0a6920945dd20b3857e499d9ca96c', 44 44 'type' => 'library', 45 45 'install_path' => __DIR__ . '/../guzzlehttp/promises', … … 48 48 ), 49 49 'guzzlehttp/psr7' => array( 50 'pretty_version' => '2.7. 0',51 'version' => '2.7. 0.0',52 'reference' => ' a70f5c95fb43bc83f07c9c948baa0dc1829bf201',50 'pretty_version' => '2.7.1', 51 'version' => '2.7.1.0', 52 'reference' => 'c2270caaabe631b3b44c85f99e5a04bbb8060d16', 53 53 'type' => 'library', 54 54 'install_path' => __DIR__ . '/../guzzlehttp/psr7', … … 129 129 ), 130 130 'symfony/deprecation-contracts' => array( 131 'pretty_version' => 'v3. 5.1',132 'version' => '3. 5.1.0',133 'reference' => ' 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6',131 'pretty_version' => 'v3.6.0', 132 'version' => '3.6.0.0', 133 'reference' => '63afe740e99a13ba87ec199bb07bbdee937a5b62', 134 134 'type' => 'library', 135 135 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', … … 138 138 ), 139 139 'symfony/polyfill-ctype' => array( 140 'pretty_version' => 'v1.3 1.0',141 'version' => '1.3 1.0.0',140 'pretty_version' => 'v1.32.0', 141 'version' => '1.32.0.0', 142 142 'reference' => 'a3cc8b044a6ea513310cbd48ef7333b384945638', 143 143 'type' => 'library', … … 147 147 ), 148 148 'symfony/polyfill-mbstring' => array( 149 'pretty_version' => 'v1.3 1.0',150 'version' => '1.3 1.0.0',151 'reference' => ' 85181ba99b2345b0ef10ce42ecac37612d9fd341',149 'pretty_version' => 'v1.32.0', 150 'version' => '1.32.0.0', 151 'reference' => '6d857f4d76bd4b343eac26d6b539585d2bc56493', 152 152 'type' => 'library', 153 153 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', … … 156 156 ), 157 157 'symfony/polyfill-php80' => array( 158 'pretty_version' => 'v1.3 1.0',159 'version' => '1.3 1.0.0',160 'reference' => ' 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8',158 'pretty_version' => 'v1.32.0', 159 'version' => '1.32.0.0', 160 'reference' => '0cc9dd0f17f61d8131e7df6b84bd344899fe2608', 161 161 'type' => 'library', 162 162 'install_path' => __DIR__ . '/../symfony/polyfill-php80', … … 165 165 ), 166 166 'vlucas/phpdotenv' => array( 167 'pretty_version' => 'v5.6. 1',168 'version' => '5.6. 1.0',169 'reference' => ' a59a13791077fe3d44f90e7133eb68e7d22eaff2',167 'pretty_version' => 'v5.6.2', 168 'version' => '5.6.2.0', 169 'reference' => '24ac4c74f91ee2c193fa1aaa5c249cb0822809af', 170 170 'type' => 'library', 171 171 'install_path' => __DIR__ . '/../vlucas/phpdotenv', … … 174 174 ), 175 175 'woocommerce/action-scheduler' => array( 176 'pretty_version' => '3.9. 0',177 'version' => '3.9. 0.0',178 'reference' => ' 90b98e6fe97d455679b1d288f050cad8f6f79771',176 'pretty_version' => '3.9.3', 177 'version' => '3.9.3.0', 178 'reference' => 'c58cdbab17651303d406cd3b22cf9d75c71c986c', 179 179 'type' => 'wordpress-plugin', 180 180 'install_path' => __DIR__ . '/../woocommerce/action-scheduler', -
miso-ai/tags/0.9.6/vendor/composer/platform_check.php
r3062001 r3333221 20 20 } 21 21 } 22 trigger_error( 23 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 E_USER_ERROR 22 throw new \RuntimeException( 23 'Composer detected issues in your platform: ' . implode(' ', $issues) 25 24 ); 26 25 } -
miso-ai/tags/0.9.6/vendor/guzzlehttp/guzzle/CHANGELOG.md
r3174859 r3333221 2 2 3 3 Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version. 4 5 6 ## 7.9.3 - 2025-03-27 7 8 ### Changed 9 10 - Remove explicit content-length header for GET requests 11 - Improve compatibility with bad servers for boolean cookie values 4 12 5 13 -
miso-ai/tags/0.9.6/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php
r3062001 r3333221 63 63 $data[$search] = (int) $value; 64 64 } 65 } elseif ($search === 'Secure' || $search === 'Discard' || $search === 'HttpOnly') { 66 if ($value) { 67 $data[$search] = true; 68 } 65 69 } else { 66 70 $data[$search] = $value; -
miso-ai/tags/0.9.6/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php
r3062001 r3333221 18 18 * requests to another handler. 19 19 * 20 * @param callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for normal responses21 * @param callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $sync Handler used for synchronous responses.20 * @param callable(RequestInterface, array): PromiseInterface $default Handler used for normal responses 21 * @param callable(RequestInterface, array): PromiseInterface $sync Handler used for synchronous responses. 22 22 * 23 * @return callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler.23 * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler. 24 24 */ 25 25 public static function wrapSync(callable $default, callable $sync): callable … … 38 38 * through the StreamHandler. 39 39 * 40 * @param callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for non-streaming responses41 * @param callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $streaming Handler used for streaming responses40 * @param callable(RequestInterface, array): PromiseInterface $default Handler used for non-streaming responses 41 * @param callable(RequestInterface, array): PromiseInterface $streaming Handler used for streaming responses 42 42 * 43 * @return callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler.43 * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler. 44 44 */ 45 45 public static function wrapStreaming(callable $default, callable $streaming): callable -
miso-ai/tags/0.9.6/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
r3174859 r3333221 54 54 55 55 // Append a content-length header if body size is zero to match 56 // cURL's behavior. 57 if (0 === $request->getBody()->getSize()) { 56 // the behavior of `CurlHandler` 57 if ( 58 ( 59 0 === \strcasecmp('PUT', $request->getMethod()) 60 || 0 === \strcasecmp('POST', $request->getMethod()) 61 ) 62 && 0 === $request->getBody()->getSize() 63 ) { 58 64 $request = $request->withHeader('Content-Length', '0'); 59 65 } -
miso-ai/tags/0.9.6/vendor/guzzlehttp/guzzle/src/Pool.php
r3062001 r3333221 87 87 * @param array|\Iterator $requests Requests to send concurrently. 88 88 * @param array $options Passes through the options available in 89 * {@see \GuzzleHttp\Pool::__construct}89 * {@see Pool::__construct} 90 90 * 91 91 * @return array Returns an array containing the response or an exception -
miso-ai/tags/0.9.6/vendor/guzzlehttp/guzzle/src/Utils.php
r3174859 r3333221 80 80 * The returned handler is not wrapped by any default middlewares. 81 81 * 82 * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.82 * @return callable(\Psr\Http\Message\RequestInterface, array): Promise\PromiseInterface Returns the best handler for the given system. 83 83 * 84 84 * @throws \RuntimeException if no viable Handler is available. -
miso-ai/tags/0.9.6/vendor/guzzlehttp/guzzle/src/functions.php
r3062001 r3333221 51 51 * The returned handler is not wrapped by any default middlewares. 52 52 * 53 * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.53 * @return callable(\Psr\Http\Message\RequestInterface, array): Promise\PromiseInterface Returns the best handler for the given system. 54 54 * 55 55 * @throws \RuntimeException if no viable Handler is available. -
miso-ai/tags/0.9.6/vendor/guzzlehttp/promises/CHANGELOG.md
r3174859 r3333221 1 1 # CHANGELOG 2 3 4 ## 2.2.0 - 2025-03-27 5 6 ### Fixed 7 8 - Revert "Allow an empty EachPromise to be resolved by running the queue" 9 10 11 ## 2.1.0 - 2025-03-27 12 13 ### Added 14 15 - Allow an empty EachPromise to be resolved by running the queue 2 16 3 17 -
miso-ai/tags/0.9.6/vendor/guzzlehttp/psr7/CHANGELOG.md
r3174859 r3333221 5 5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) 6 6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 8 ## 2.7.1 - 2025-03-27 9 10 ### Fixed 11 12 - Fixed uppercase IPv6 addresses in URI 13 14 ### Changed 15 16 - Improve uploaded file error message 7 17 8 18 ## 2.7.0 - 2024-07-18 -
miso-ai/tags/0.9.6/vendor/guzzlehttp/psr7/src/UploadedFile.php
r3174859 r3333221 12 12 class UploadedFile implements UploadedFileInterface 13 13 { 14 private const ERROR S= [15 UPLOAD_ERR_OK ,16 UPLOAD_ERR_INI_SIZE ,17 UPLOAD_ERR_FORM_SIZE ,18 UPLOAD_ERR_PARTIAL ,19 UPLOAD_ERR_NO_FILE ,20 UPLOAD_ERR_NO_TMP_DIR ,21 UPLOAD_ERR_CANT_WRITE ,22 UPLOAD_ERR_EXTENSION ,14 private const ERROR_MAP = [ 15 UPLOAD_ERR_OK => 'UPLOAD_ERR_OK', 16 UPLOAD_ERR_INI_SIZE => 'UPLOAD_ERR_INI_SIZE', 17 UPLOAD_ERR_FORM_SIZE => 'UPLOAD_ERR_FORM_SIZE', 18 UPLOAD_ERR_PARTIAL => 'UPLOAD_ERR_PARTIAL', 19 UPLOAD_ERR_NO_FILE => 'UPLOAD_ERR_NO_FILE', 20 UPLOAD_ERR_NO_TMP_DIR => 'UPLOAD_ERR_NO_TMP_DIR', 21 UPLOAD_ERR_CANT_WRITE => 'UPLOAD_ERR_CANT_WRITE', 22 UPLOAD_ERR_EXTENSION => 'UPLOAD_ERR_EXTENSION', 23 23 ]; 24 24 … … 105 105 private function setError(int $error): void 106 106 { 107 if ( false === in_array($error, UploadedFile::ERRORS, true)) {107 if (!isset(UploadedFile::ERROR_MAP[$error])) { 108 108 throw new InvalidArgumentException( 109 109 'Invalid error status for UploadedFile' … … 138 138 { 139 139 if (false === $this->isOk()) { 140 throw new RuntimeException( 'Cannot retrieve stream due to upload error');140 throw new RuntimeException(\sprintf('Cannot retrieve stream due to upload error (%s)', self::ERROR_MAP[$this->error])); 141 141 } 142 142 -
miso-ai/tags/0.9.6/vendor/guzzlehttp/psr7/src/Uri.php
r3174859 r3333221 108 108 // If IPv6 109 109 $prefix = ''; 110 if (preg_match('%^(.*://\[[0-9:a-f ]+\])(.*?)$%', $url, $matches)) {110 if (preg_match('%^(.*://\[[0-9:a-fA-F]+\])(.*?)$%', $url, $matches)) { 111 111 /** @var array{0:string, 1:string, 2:string} $matches */ 112 112 $prefix = $matches[1]; -
miso-ai/tags/0.9.6/vendor/symfony/deprecation-contracts/composer.json
r3174859 r3333221 26 26 "extra": { 27 27 "branch-alias": { 28 "dev-main": "3. 5-dev"28 "dev-main": "3.6-dev" 29 29 }, 30 30 "thanks": { -
miso-ai/tags/0.9.6/vendor/symfony/polyfill-mbstring/Mbstring.php
r3174859 r3333221 984 984 public static function mb_rtrim(string $string, ?string $characters = null, ?string $encoding = null): string 985 985 { 986 return self::mb_internal_trim('{[%s]+$}D ', $string, $characters, $encoding, __FUNCTION__);986 return self::mb_internal_trim('{[%s]+$}Du', $string, $characters, $encoding, __FUNCTION__); 987 987 } 988 988 -
miso-ai/tags/0.9.6/vendor/symfony/polyfill-mbstring/bootstrap80.php
r3174859 r3333221 134 134 135 135 if (!function_exists('mb_ucfirst')) { 136 function mb_ucfirst( $string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); }136 function mb_ucfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); } 137 137 } 138 138 139 139 if (!function_exists('mb_lcfirst')) { 140 function mb_lcfirst( $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); }140 function mb_lcfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); } 141 141 } 142 142 -
miso-ai/tags/0.9.6/vendor/symfony/polyfill-mbstring/composer.json
r3174859 r3333221 17 17 ], 18 18 "require": { 19 "php": ">=7.2" 19 "php": ">=7.2", 20 "ext-iconv": "*" 20 21 }, 21 22 "provide": { -
miso-ai/tags/0.9.6/vendor/symfony/polyfill-php80/PhpToken.php
r3062001 r3333221 30 30 31 31 /** 32 * @var int32 * @var -1|positive-int 33 33 */ 34 34 public $line; … … 39 39 public $pos; 40 40 41 /** 42 * @param -1|positive-int $line 43 */ 41 44 public function __construct(int $id, string $text, int $line = -1, int $position = -1) 42 45 { … … 81 84 82 85 /** 83 * @return static[]86 * @return list<static> 84 87 */ 85 88 public static function tokenize(string $code, int $flags = 0): array -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Dotenv.php
r3174859 r3333221 200 200 * @throws \Dotenv\Exception\InvalidFileException 201 201 * 202 * @return array<string, string|null>202 * @return array<string, string|null> 203 203 */ 204 204 public static function parse(string $content) … … 216 216 * @throws \Dotenv\Exception\InvalidPathException|\Dotenv\Exception\InvalidEncodingException|\Dotenv\Exception\InvalidFileException 217 217 * 218 * @return array<string, string|null>218 * @return array<string, string|null> 219 219 */ 220 220 public function load() … … 230 230 * @throws \Dotenv\Exception\InvalidEncodingException|\Dotenv\Exception\InvalidFileException 231 231 * 232 * @return array<string, string|null>232 * @return array<string, string|null> 233 233 */ 234 234 public function safeLoad() -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Loader/Loader.php
r3062001 r3333221 20 20 * @param \Dotenv\Parser\Entry[] $entries 21 21 * 22 * @return array<string, string|null>22 * @return array<string, string|null> 23 23 */ 24 24 public function load(RepositoryInterface $repository, array $entries) 25 25 { 26 /** @var array<string, string|null> */ 26 27 return \array_reduce($entries, static function (array $vars, Entry $entry) use ($repository) { 27 28 $name = $entry->getName(); -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php
r3062001 r3333221 15 15 * @param \Dotenv\Parser\Entry[] $entries 16 16 * 17 * @return array<string, string|null>17 * @return array<string, string|null> 18 18 */ 19 19 public function load(RepositoryInterface $repository, array $entries); -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Loader/Resolver.php
r3062001 r3333221 56 56 '/\A\${([a-zA-Z0-9_.]+)}/', 57 57 static function (array $matches) use ($repository) { 58 return Option::fromValue($repository->get($matches[1]))59 ->getOrElse($matches[0]);58 /** @var string */ 59 return Option::fromValue($repository->get($matches[1]))->getOrElse($matches[0]); 60 60 }, 61 61 $str, -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php
r3062001 r3333221 42 42 * @param string $entry 43 43 * 44 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry, string>44 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry, string> 45 45 */ 46 46 public static function parse(string $entry) … … 50 50 51 51 return self::parseName($name)->flatMap(static function (string $name) use ($value) { 52 /** @var Result<Value|null, string> */52 /** @var Result<Value|null, string> */ 53 53 $parsedValue = $value === null ? Success::create(null) : self::parseValue($value); 54 54 … … 65 65 * @param string $line 66 66 * 67 * @return \GrahamCampbell\ResultType\Result<array{string, string|null},string>67 * @return \GrahamCampbell\ResultType\Result<array{string, string|null},string> 68 68 */ 69 69 private static function splitStringIntoParts(string $line) 70 70 { 71 /** @var array{string, string|null} */71 /** @var array{string, string|null} */ 72 72 $result = Str::pos($line, '=')->map(static function () use ($line) { 73 73 return \array_map('trim', \explode('=', $line, 2)); … … 75 75 76 76 if ($result[0] === '') { 77 /** @var \GrahamCampbell\ResultType\Result<array{string, string|null},string> */77 /** @var \GrahamCampbell\ResultType\Result<array{string, string|null},string> */ 78 78 return Error::create(self::getErrorMessage('an unexpected equals', $line)); 79 79 } 80 80 81 /** @var \GrahamCampbell\ResultType\Result<array{string, string|null},string> */81 /** @var \GrahamCampbell\ResultType\Result<array{string, string|null},string> */ 82 82 return Success::create($result); 83 83 } … … 91 91 * @param string $name 92 92 * 93 * @return \GrahamCampbell\ResultType\Result<string, string>93 * @return \GrahamCampbell\ResultType\Result<string, string> 94 94 */ 95 95 private static function parseName(string $name) … … 104 104 105 105 if (!self::isValidName($name)) { 106 /** @var \GrahamCampbell\ResultType\Result<string, string> */106 /** @var \GrahamCampbell\ResultType\Result<string, string> */ 107 107 return Error::create(self::getErrorMessage('an invalid name', $name)); 108 108 } 109 109 110 /** @var \GrahamCampbell\ResultType\Result<string, string> */110 /** @var \GrahamCampbell\ResultType\Result<string, string> */ 111 111 return Success::create($name); 112 112 } … … 153 153 * @param string $value 154 154 * 155 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string>155 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> 156 156 */ 157 157 private static function parseValue(string $value) 158 158 { 159 159 if (\trim($value) === '') { 160 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */160 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */ 161 161 return Success::create(Value::blank()); 162 162 } … … 171 171 /** @psalm-suppress DocblockTypeContradiction */ 172 172 if (in_array($result[1], self::REJECT_STATES, true)) { 173 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */173 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */ 174 174 return Error::create('a missing closing quote'); 175 175 } 176 176 177 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */177 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */ 178 178 return Success::create($result[0]); 179 179 })->mapError(static function (string $err) use ($value) { … … 188 188 * @param string $token 189 189 * 190 * @return \GrahamCampbell\ResultType\Result<array{string, bool,int},string>190 * @return \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> 191 191 */ 192 192 private static function processToken(int $state, string $token) … … 195 195 case self::INITIAL_STATE: 196 196 if ($token === '\'') { 197 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */197 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 198 198 return Success::create(['', false, self::SINGLE_QUOTED_STATE]); 199 199 } elseif ($token === '"') { 200 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */200 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 201 201 return Success::create(['', false, self::DOUBLE_QUOTED_STATE]); 202 202 } elseif ($token === '#') { 203 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */203 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 204 204 return Success::create(['', false, self::COMMENT_STATE]); 205 205 } elseif ($token === '$') { 206 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */206 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 207 207 return Success::create([$token, true, self::UNQUOTED_STATE]); 208 208 } else { 209 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */209 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 210 210 return Success::create([$token, false, self::UNQUOTED_STATE]); 211 211 } 212 212 case self::UNQUOTED_STATE: 213 213 if ($token === '#') { 214 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */214 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 215 215 return Success::create(['', false, self::COMMENT_STATE]); 216 216 } elseif (\ctype_space($token)) { 217 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */217 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 218 218 return Success::create(['', false, self::WHITESPACE_STATE]); 219 219 } elseif ($token === '$') { 220 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */220 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 221 221 return Success::create([$token, true, self::UNQUOTED_STATE]); 222 222 } else { 223 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */223 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 224 224 return Success::create([$token, false, self::UNQUOTED_STATE]); 225 225 } 226 226 case self::SINGLE_QUOTED_STATE: 227 227 if ($token === '\'') { 228 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */228 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 229 229 return Success::create(['', false, self::WHITESPACE_STATE]); 230 230 } else { 231 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */231 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 232 232 return Success::create([$token, false, self::SINGLE_QUOTED_STATE]); 233 233 } 234 234 case self::DOUBLE_QUOTED_STATE: 235 235 if ($token === '"') { 236 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */236 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 237 237 return Success::create(['', false, self::WHITESPACE_STATE]); 238 238 } elseif ($token === '\\') { 239 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */239 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 240 240 return Success::create(['', false, self::ESCAPE_SEQUENCE_STATE]); 241 241 } elseif ($token === '$') { 242 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */242 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 243 243 return Success::create([$token, true, self::DOUBLE_QUOTED_STATE]); 244 244 } else { 245 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */245 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 246 246 return Success::create([$token, false, self::DOUBLE_QUOTED_STATE]); 247 247 } 248 248 case self::ESCAPE_SEQUENCE_STATE: 249 249 if ($token === '"' || $token === '\\') { 250 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */250 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 251 251 return Success::create([$token, false, self::DOUBLE_QUOTED_STATE]); 252 252 } elseif ($token === '$') { 253 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */253 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 254 254 return Success::create([$token, false, self::DOUBLE_QUOTED_STATE]); 255 255 } else { 256 256 $first = Str::substr($token, 0, 1); 257 257 if (\in_array($first, ['f', 'n', 'r', 't', 'v'], true)) { 258 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */258 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 259 259 return Success::create([\stripcslashes('\\'.$first).Str::substr($token, 1), false, self::DOUBLE_QUOTED_STATE]); 260 260 } else { 261 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */261 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 262 262 return Error::create('an unexpected escape sequence'); 263 263 } … … 265 265 case self::WHITESPACE_STATE: 266 266 if ($token === '#') { 267 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */267 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 268 268 return Success::create(['', false, self::COMMENT_STATE]); 269 269 } elseif (!\ctype_space($token)) { 270 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */270 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 271 271 return Error::create('unexpected whitespace'); 272 272 } else { 273 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */273 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 274 274 return Success::create(['', false, self::WHITESPACE_STATE]); 275 275 } 276 276 case self::COMMENT_STATE: 277 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */277 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 278 278 return Success::create(['', false, self::COMMENT_STATE]); 279 279 default: -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Parser/Lines.php
r3062001 r3333221 55 55 * @param string[] $buffer 56 56 * 57 * @return array{bool,string, string[]}57 * @return array{bool,string, string[]} 58 58 */ 59 59 private static function multilineProcess(bool $multiline, string $line, array $buffer) -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Parser/Parser.php
r3062001 r3333221 37 37 * @param string[] $entries 38 38 * 39 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[], string>39 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[], string> 40 40 */ 41 41 private static function process(array $entries) 42 42 { 43 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[], string> */43 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[], string> */ 44 44 return \array_reduce($entries, static function (Result $result, string $raw) { 45 45 return $result->flatMap(static function (array $entries) use ($raw) { -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php
r3062001 r3333221 13 13 * The variables and their values. 14 14 * 15 * @var array<string, string>15 * @var array<string, string> 16 16 */ 17 17 private $variables; -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php
r3062001 r3333221 24 24 * The record of loaded variables. 25 25 * 26 * @var array<string, string>26 * @var array<string, string> 27 27 */ 28 28 private $loaded; -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php
r3062001 r3333221 24 24 * The record of seen variables. 25 25 * 26 * @var array<string, string>26 * @var array<string, string> 27 27 */ 28 28 private $seen; -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Store/File/Reader.php
r3174859 r3333221 39 39 * @throws \Dotenv\Exception\InvalidEncodingException 40 40 * 41 * @return array<string, string>41 * @return array<string, string> 42 42 */ 43 43 public static function read(array $filePaths, bool $shortCircuit = true, ?string $fileEncoding = null) -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Util/Regex.php
r3174859 r3333221 31 31 * @param string $subject 32 32 * 33 * @return \GrahamCampbell\ResultType\Result<bool, string>33 * @return \GrahamCampbell\ResultType\Result<bool, string> 34 34 */ 35 35 public static function matches(string $pattern, string $subject) … … 46 46 * @param string $subject 47 47 * 48 * @return \GrahamCampbell\ResultType\Result<int, string>48 * @return \GrahamCampbell\ResultType\Result<int, string> 49 49 */ 50 50 public static function occurrences(string $pattern, string $subject) … … 58 58 * Perform a preg replace callback, wrapping up the result. 59 59 * 60 * @param string $pattern61 * @param callable $callback62 * @param string $subject63 * @param int|null $limit60 * @param string $pattern 61 * @param callable(string[]): string $callback 62 * @param string $subject 63 * @param int|null $limit 64 64 * 65 * @return \GrahamCampbell\ResultType\Result<string, string>65 * @return \GrahamCampbell\ResultType\Result<string, string> 66 66 */ 67 67 public static function replaceCallback(string $pattern, callable $callback, string $subject, ?int $limit = null) … … 78 78 * @param string $subject 79 79 * 80 * @return \GrahamCampbell\ResultType\Result<string[], string>80 * @return \GrahamCampbell\ResultType\Result<string[], string> 81 81 */ 82 82 public static function split(string $pattern, string $subject) … … 93 93 * @template V 94 94 * 95 * @param callable(string): V $operation96 * @param string $subject95 * @param callable(string): V $operation 96 * @param string $subject 97 97 * 98 * @return \GrahamCampbell\ResultType\Result<V, string>98 * @return \GrahamCampbell\ResultType\Result<V, string> 99 99 */ 100 100 private static function pregAndWrap(callable $operation, string $subject) -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Util/Str.php
r3174859 r3333221 32 32 * @param string|null $encoding 33 33 * 34 * @return \GrahamCampbell\ResultType\Result<string, string>34 * @return \GrahamCampbell\ResultType\Result<string, string> 35 35 */ 36 36 public static function utf8(string $input, ?string $encoding = null) 37 37 { 38 38 if ($encoding !== null && !\in_array($encoding, \mb_list_encodings(), true)) { 39 /** @var \GrahamCampbell\ResultType\Result<string, string> */39 /** @var \GrahamCampbell\ResultType\Result<string, string> */ 40 40 return Error::create( 41 41 \sprintf('Illegal character encoding [%s] specified.', $encoding) 42 42 ); 43 43 } 44 44 45 $converted = $encoding === null ? 45 46 @\mb_convert_encoding($input, 'UTF-8') : 46 47 @\mb_convert_encoding($input, 'UTF-8', $encoding); 48 49 if (!is_string($converted)) { 50 /** @var \GrahamCampbell\ResultType\Result<string, string> */ 51 return Error::create( 52 \sprintf('Conversion from encoding [%s] failed.', $encoding ?? 'NULL') 53 ); 54 } 55 47 56 /** 48 57 * this is for support UTF-8 with BOM encoding … … 53 62 $converted = \substr($converted, 3); 54 63 } 55 /** @var \GrahamCampbell\ResultType\Result<string,string> */ 64 65 /** @var \GrahamCampbell\ResultType\Result<string, string> */ 56 66 return Success::create($converted); 57 67 } -
miso-ai/tags/0.9.6/vendor/vlucas/phpdotenv/src/Validator.php
r3062001 r3333221 31 31 * @param \Dotenv\Repository\RepositoryInterface $repository 32 32 * @param string[] $variables 33 *34 * @throws \Dotenv\Exception\ValidationException35 33 * 36 34 * @return void -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/action-scheduler.php
r3204556 r3333221 6 6 * Author: Automattic 7 7 * Author URI: https://automattic.com/ 8 * Version: 3.9. 08 * Version: 3.9.3 9 9 * License: GPLv3 10 10 * Requires at least: 6.5 11 * Tested up to: 6. 712 * Requires PHP: 7. 111 * Tested up to: 6.8 12 * Requires PHP: 7.2 13 13 * 14 14 * Copyright 2019 Automattic, Inc. (https://automattic.com/contact/) … … 30 30 */ 31 31 32 if ( ! function_exists( 'action_scheduler_register_3_dot_9_dot_ 0' ) && function_exists( 'add_action' ) ) { // WRCS: DEFINED_VERSION.32 if ( ! function_exists( 'action_scheduler_register_3_dot_9_dot_3' ) && function_exists( 'add_action' ) ) { // WRCS: DEFINED_VERSION. 33 33 34 34 if ( ! class_exists( 'ActionScheduler_Versions', false ) ) { … … 37 37 } 38 38 39 add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_9_dot_ 0', 0, 0 ); // WRCS: DEFINED_VERSION.39 add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_9_dot_3', 0, 0 ); // WRCS: DEFINED_VERSION. 40 40 41 41 // phpcs:disable Generic.Functions.OpeningFunctionBraceKernighanRitchie.ContentAfterBrace … … 43 43 * Registers this version of Action Scheduler. 44 44 */ 45 function action_scheduler_register_3_dot_9_dot_ 0() { // WRCS: DEFINED_VERSION.45 function action_scheduler_register_3_dot_9_dot_3() { // WRCS: DEFINED_VERSION. 46 46 $versions = ActionScheduler_Versions::instance(); 47 $versions->register( '3.9. 0', 'action_scheduler_initialize_3_dot_9_dot_0' ); // WRCS: DEFINED_VERSION.47 $versions->register( '3.9.3', 'action_scheduler_initialize_3_dot_9_dot_3' ); // WRCS: DEFINED_VERSION. 48 48 } 49 49 … … 52 52 * Initializes this version of Action Scheduler. 53 53 */ 54 function action_scheduler_initialize_3_dot_9_dot_ 0() { // WRCS: DEFINED_VERSION.54 function action_scheduler_initialize_3_dot_9_dot_3() { // WRCS: DEFINED_VERSION. 55 55 // A final safety check is required even here, because historic versions of Action Scheduler 56 56 // followed a different pattern (in some unusual cases, we could reach this point and the … … 64 64 // Support usage in themes - load this version if no plugin has loaded a version yet. 65 65 if ( did_action( 'plugins_loaded' ) && ! doing_action( 'plugins_loaded' ) && ! class_exists( 'ActionScheduler', false ) ) { 66 action_scheduler_initialize_3_dot_9_dot_ 0(); // WRCS: DEFINED_VERSION.66 action_scheduler_initialize_3_dot_9_dot_3(); // WRCS: DEFINED_VERSION. 67 67 do_action( 'action_scheduler_pre_theme_init' ); 68 68 ActionScheduler_Versions::initialize_latest_version(); -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/changelog.txt
r3204556 r3333221 1 1 *** Changelog *** 2 3 = 3.9.3 - 2025-07-15 = 4 * Add hook 'action_scheduler_ensure_recurring_actions' specifically for scheduling recurring actions. 5 * Assume an action is valid until proven otherwise. 6 * Implement SKIP LOCKED during action claiming. 7 * Import `get_flag_value()` from `WP_CLI\Utils` before using. 8 * Make `$unique` available to all pre-creation/short-circuit hooks. 9 * Make version/source information available via new class. 10 * Only release claims on pending actions. 11 * Tweak - WP 6.8 compatibility. 12 * Update minimum supported php and phpunit versions. 13 * Update readme.txt. 14 * WP CLI get action command: correct parentheses/nesting of conditional checks. 15 16 = 3.9.2 - 2025-02-03 = 17 * Fixed fatal errors by moving version info methods to a new class and deprecating conflicting ones in ActionScheduler_Versions 18 19 = 3.9.1 - 2025-01-21 = 20 * A number of new WP CLI commands have been added, making it easier to manage actions in the terminal and from scripts. 21 * New wp action-scheduler source command to help determine how Action Scheduler is being loaded. 22 * Additional information about the active instance of Action Scheduler is now available in the Help pull-down drawer. 23 * Make some other nullable parameters explicitly nullable. 24 * Set option value to `no` rather than deleting. 2 25 3 26 = 3.9.0 - 2024-11-14 = -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_ActionFactory.php
r3204556 r3333221 9 9 * Return stored actions for given params. 10 10 * 11 * @param string $status The action's status in the data store.12 * @param string $hook The hook to trigger when this action runs.13 * @param array $args Args to pass to callbacks when the hook is triggered.14 * @param ActionScheduler_Schedule $schedule The action's schedule.15 * @param string $group A group to put the action in.11 * @param string $status The action's status in the data store. 12 * @param string $hook The hook to trigger when this action runs. 13 * @param array $args Args to pass to callbacks when the hook is triggered. 14 * @param ActionScheduler_Schedule|null $schedule The action's schedule. 15 * @param string $group A group to put the action in. 16 16 * phpcs:ignore Squiz.Commenting.FunctionComment.ExtraParamComment 17 * @param int $priority The action priority.17 * @param int $priority The action priority. 18 18 * 19 19 * @return ActionScheduler_Action An instance of the stored action. 20 20 */ 21 public function get_stored_action( $status, $hook, array $args = array(), ActionScheduler_Schedule $schedule = null, $group = '' ) {21 public function get_stored_action( $status, $hook, array $args = array(), ?ActionScheduler_Schedule $schedule = null, $group = '' ) { 22 22 // The 6th parameter ($priority) is not formally declared in the method signature to maintain compatibility with 23 23 // third-party subclasses created before this param was added. -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_AdminView.php
r3204556 r3333221 251 251 } 252 252 253 $as_version = ActionScheduler_Versions::instance()->latest_version(); 253 $as_version = ActionScheduler_Versions::instance()->latest_version(); 254 $as_source = ActionScheduler_SystemInformation::active_source(); 255 $as_source_path = ActionScheduler_SystemInformation::active_source_path(); 256 $as_source_markup = sprintf( '<code>%s</code>', esc_html( $as_source_path ) ); 257 258 if ( ! empty( $as_source ) ) { 259 $as_source_markup = sprintf( 260 '%s: <abbr title="%s">%s</abbr>', 261 ucfirst( $as_source['type'] ), 262 esc_attr( $as_source_path ), 263 esc_html( $as_source['name'] ) 264 ); 265 } 266 254 267 $screen->add_help_tab( 255 268 array( … … 261 274 '<p>' . 262 275 __( 'Action Scheduler is a scalable, traceable job queue for background processing large sets of actions. Action Scheduler works by triggering an action hook to run at some time in the future. Scheduled actions can also be scheduled to run on a recurring schedule.', 'action-scheduler' ) . 276 '</p>' . 277 '<h3>' . esc_html__( 'Source', 'action-scheduler' ) . '</h3>' . 278 '<p>' . 279 esc_html__( 'Action Scheduler is currently being loaded from the following location. This can be useful when debugging, or if requested by the support team.', 'action-scheduler' ) . 280 '</p>' . 281 '<p>' . $as_source_markup . '</p>' . 282 '<h3>' . esc_html__( 'WP CLI', 'action-scheduler' ) . '</h3>' . 283 '<p>' . 284 sprintf( 285 /* translators: %1$s is WP CLI command (not translatable) */ 286 esc_html__( 'WP CLI commands are available: execute %1$s for a list of available commands.', 'action-scheduler' ), 287 '<code>wp help action-scheduler</code>' 288 ) . 263 289 '</p>', 264 290 ) -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_DataController.php
r3204556 r3333221 163 163 } 164 164 165 $wp_object_cache->group_ops = array(); 166 $wp_object_cache->stats = array(); 167 $wp_object_cache->memcache_debug = array(); 168 $wp_object_cache->cache = array(); 165 // Not all drop-ins support these props, however, there may be existing installations that rely on these being cleared. 166 if ( property_exists( $wp_object_cache, 'group_ops' ) ) { 167 $wp_object_cache->group_ops = array(); 168 } 169 if ( property_exists( $wp_object_cache, 'stats' ) ) { 170 $wp_object_cache->stats = array(); 171 } 172 if ( property_exists( $wp_object_cache, 'memcache_debug' ) ) { 173 $wp_object_cache->memcache_debug = array(); 174 } 175 if ( property_exists( $wp_object_cache, 'cache' ) ) { 176 $wp_object_cache->cache = array(); 177 } 169 178 170 179 if ( is_callable( array( $wp_object_cache, '__remoteset' ) ) ) { -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_Versions.php
r3204556 r3333221 20 20 21 21 /** 22 * Registered sources. 23 * 24 * @var array<string, string> 25 */ 26 private $sources = array(); 27 28 /** 22 29 * Register version's callback. 23 30 * … … 29 36 return false; 30 37 } 38 39 // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_debug_backtrace 40 $backtrace = debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS ); 41 $source = $backtrace[0]['file']; 42 31 43 $this->versions[ $version_string ] = $initialization_callback; 44 $this->sources[ $source ] = $version_string; 32 45 return true; 33 46 } … … 38 51 public function get_versions() { 39 52 return $this->versions; 53 } 54 55 /** 56 * Get registered sources. 57 * 58 * Use with caution: this method is only available as of Action Scheduler's 3.9.1 59 * release and, owing to the way Action Scheduler is loaded, it's possible that the 60 * class definition used at runtime will belong to an earlier version. 61 * 62 * @since 3.9.1 63 * 64 * @return array<string, string> 65 */ 66 public function get_sources() { 67 return $this->sources; 40 68 } 41 69 … … 87 115 call_user_func( $self->latest_version_callback() ); 88 116 } 117 118 /** 119 * Returns information about the plugin or theme which contains the current active version 120 * of Action Scheduler. 121 * 122 * If this cannot be determined, or if Action Scheduler is being loaded via some other 123 * method, then it will return an empty array. Otherwise, if populated, the array will 124 * look like the following: 125 * 126 * [ 127 * 'type' => 'plugin', # or 'theme' 128 * 'name' => 'Name', 129 * ] 130 * 131 * @deprecated 3.9.2 Use ActionScheduler_SystemInformation::active_source(). 132 * 133 * @return array 134 */ 135 public function active_source(): array { 136 _deprecated_function( __METHOD__, '3.9.2', 'ActionScheduler_SystemInformation::active_source()' ); 137 return ActionScheduler_SystemInformation::active_source(); 138 } 139 140 /** 141 * Returns the directory path for the currently active installation of Action Scheduler. 142 * 143 * @deprecated 3.9.2 Use ActionScheduler_SystemInformation::active_source_path(). 144 * 145 * @return string 146 */ 147 public function active_source_path(): string { 148 _deprecated_function( __METHOD__, '3.9.2', 'ActionScheduler_SystemInformation::active_source_path()' ); 149 return ActionScheduler_SystemInformation::active_source_path(); 150 } 89 151 } -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_WPCommentCleaner.php
r3204556 r3333221 67 67 */ 68 68 public static function maybe_schedule_cleanup() { 69 $has_logs = 'no'; 70 69 71 $args = array( 70 72 'type' => ActionScheduler_wpCommentLogger::TYPE, … … 74 76 75 77 if ( (bool) get_comments( $args ) ) { 76 update_option( self::$has_logs_option_key, 'yes' );78 $has_logs = 'yes'; 77 79 78 80 if ( ! as_next_scheduled_action( self::$cleanup_hook ) ) { … … 80 82 } 81 83 } 84 85 update_option( self::$has_logs_option_key, $has_logs, true ); 82 86 } 83 87 … … 96 100 ); 97 101 98 delete_option( self::$has_logs_option_key);102 update_option( self::$has_logs_option_key, 'no', true ); 99 103 } 100 104 -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/ActionScheduler_wcSystemStatus.php
r3062001 r3333221 77 77 $action = $this->store->query_actions( 78 78 array( 79 'claimed' => false,80 79 'status' => $status, 81 80 'per_page' => 1, -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php
r3204556 r3333221 185 185 ActionScheduler_DataController::init(); 186 186 187 $store = self::store(); 188 $logger = self::logger(); 189 $runner = self::runner(); 190 $admin_view = self::admin_view(); 187 $store = self::store(); 188 $logger = self::logger(); 189 $runner = self::runner(); 190 $admin_view = self::admin_view(); 191 $recurring_action_scheduler = new ActionScheduler_RecurringActionScheduler(); 191 192 192 193 // Ensure initialization on plugin activation. … … 197 198 add_action( 'init', array( $logger, 'init' ), 1, 0 ); 198 199 add_action( 'init', array( $runner, 'init' ), 1, 0 ); 200 add_action( 'init', array( $recurring_action_scheduler, 'init' ), 1, 0 ); 199 201 200 202 add_action( … … 224 226 $logger->init(); 225 227 $runner->init(); 228 $recurring_action_scheduler->init(); 226 229 self::$data_store_initialized = true; 227 230 … … 241 244 WP_CLI::add_command( 'action-scheduler', 'ActionScheduler_WPCLI_Scheduler_command' ); 242 245 WP_CLI::add_command( 'action-scheduler', 'ActionScheduler_WPCLI_Clean_Command' ); 246 WP_CLI::add_command( 'action-scheduler action', '\Action_Scheduler\WP_CLI\Action_Command' ); 247 WP_CLI::add_command( 'action-scheduler', '\Action_Scheduler\WP_CLI\System_Command' ); 243 248 if ( ! ActionScheduler_DataController::is_migration_complete() && Controller::instance()->allow_migration() ) { 244 249 $command = new Migration_Command(); … … 297 302 'ActionScheduler_Store' => true, 298 303 'ActionScheduler_TimezoneHelper' => true, 304 'ActionScheduler_WPCLI_Command' => true, 299 305 ); 300 306 … … 341 347 protected static function is_class_cli( $class ) { 342 348 static $cli_segments = array( 343 'QueueRunner' => true, 344 'Command' => true, 345 'ProgressBar' => true, 349 'QueueRunner' => true, 350 'Command' => true, 351 'ProgressBar' => true, 352 '\Action_Scheduler\WP_CLI\Action_Command' => true, 353 '\Action_Scheduler\WP_CLI\System_Command' => true, 346 354 ); 347 355 -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php
r3204556 r3333221 87 87 try { 88 88 try { 89 $valid_action = false; 89 $valid_action = true; 90 90 91 do_action( 'action_scheduler_before_execute', $action_id, $context ); 91 92 92 93 if ( ActionScheduler_Store::STATUS_PENDING !== $this->store->get_status( $action_id ) ) { 94 $valid_action = false; 93 95 do_action( 'action_scheduler_execution_ignored', $action_id, $context ); 94 96 return; 95 97 } 96 98 97 $valid_action = true;98 99 do_action( 'action_scheduler_begin_execute', $action_id, $context ); 99 100 -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php
r3204556 r3333221 932 932 */ 933 933 global $wpdb; 934 935 934 $now = as_get_datetime_object(); 936 935 $date = is_null( $before_date ) ? $now : clone $before_date; 937 // can't use $wpdb->update() because of the <= condition.938 $update = "UPDATE {$wpdb->actionscheduler_actions} SET claim_id=%d, last_attempt_gmt=%s, last_attempt_local=%s";939 $params = array(940 $claim_id,941 $now->format( 'Y-m-d H:i:s' ),942 current_time( 'mysql' ),943 );944 936 945 937 // Set claim filters. … … 955 947 } 956 948 957 $where = 'WHERE claim_id = 0 AND scheduled_date_gmt <= %s AND status=%s'; 958 $params[] = $date->format( 'Y-m-d H:i:s' ); 959 $params[] = self::STATUS_PENDING; 949 $where = 'WHERE claim_id = 0 AND scheduled_date_gmt <= %s AND status=%s'; 950 $where_params = array( 951 $date->format( 'Y-m-d H:i:s' ), 952 self::STATUS_PENDING, 953 ); 960 954 961 955 if ( ! empty( $hooks ) ) { 962 956 $placeholders = array_fill( 0, count( $hooks ), '%s' ); 963 $where .= ' AND hook IN (' . join( ', ', $placeholders ) . ')';964 $ params = array_merge( $params, array_values( $hooks ) );957 $where .= ' AND hook IN (' . join( ', ', $placeholders ) . ')'; 958 $where_params = array_merge( $where_params, array_values( $hooks ) ); 965 959 } 966 960 … … 997 991 * Sets the order-by clause used in the action claim query. 998 992 * 999 * @since 3.4.01000 * @since 3.8.3 Made $claim_id and $hooks available.1001 *1002 993 * @param string $order_by_sql 1003 994 * @param string $claim_id Claim Id. 1004 * @param array $hooks Hooks to filter for. 1005 */ 1006 $order = apply_filters( 'action_scheduler_claim_actions_order_by', 'ORDER BY priority ASC, attempts ASC, scheduled_date_gmt ASC, action_id ASC', $claim_id, $hooks ); 1007 $params[] = $limit; 1008 1009 $sql = $wpdb->prepare( "{$update} {$where} {$order} LIMIT %d", $params ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders 1010 $rows_affected = $wpdb->query( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 995 * @param array $hooks Hooks to filter for. 996 * 997 * @since 3.8.3 Made $claim_id and $hooks available. 998 * @since 3.4.0 999 */ 1000 $order = apply_filters( 'action_scheduler_claim_actions_order_by', 'ORDER BY priority ASC, attempts ASC, scheduled_date_gmt ASC, action_id ASC', $claim_id, $hooks ); 1001 $skip_locked = $this->db_supports_skip_locked() ? ' SKIP LOCKED' : ''; 1002 1003 // Selecting the action_ids that we plan to claim, while skipping any locked rows to avoid deadlocking. 1004 $select_sql = $wpdb->prepare( "SELECT action_id from {$wpdb->actionscheduler_actions} {$where} {$order} LIMIT %d FOR UPDATE{$skip_locked}", array_merge( $where_params, array( $limit ) ) ); 1005 1006 // Now place it into an UPDATE statement by joining the result sets, allowing for the SKIP LOCKED behavior to take effect. 1007 $update_sql = "UPDATE {$wpdb->actionscheduler_actions} t1 JOIN ( $select_sql ) t2 ON t1.action_id = t2.action_id SET claim_id=%d, last_attempt_gmt=%s, last_attempt_local=%s"; 1008 $update_params = array( 1009 $claim_id, 1010 $now->format( 'Y-m-d H:i:s' ), 1011 current_time( 'mysql' ), 1012 ); 1013 1014 $rows_affected = $wpdb->query( $wpdb->prepare( $update_sql, $update_params ) ); 1011 1015 if ( false === $rows_affected ) { 1012 1016 $error = empty( $wpdb->last_error ) 1013 1017 ? _x( 'unknown', 'database error', 'action-scheduler' ) 1014 1018 : $wpdb->last_error; 1015 1016 1019 throw new \RuntimeException( 1017 1020 sprintf( … … 1027 1030 1028 1031 /** 1032 * Determines whether the database supports using SKIP LOCKED. This logic mimicks the $wpdb::has_cap() logic. 1033 * 1034 * SKIP_LOCKED support was added to MariaDB in 10.6.0 and to MySQL in 8.0.1 1035 * 1036 * @return bool 1037 */ 1038 private function db_supports_skip_locked() { 1039 global $wpdb; 1040 $db_version = $wpdb->db_version(); 1041 $db_server_info = $wpdb->db_server_info(); 1042 $is_mariadb = ( false !== strpos( $db_server_info, 'MariaDB' ) ); 1043 1044 if ( $is_mariadb && 1045 '5.5.5' === $db_version && 1046 PHP_VERSION_ID < 80016 // PHP 8.0.15 or older. 1047 ) { 1048 /* 1049 * Account for MariaDB version being prefixed with '5.5.5-' on older PHP versions. 1050 */ 1051 $db_server_info = preg_replace( '/^5\.5\.5-(.*)/', '$1', $db_server_info ); 1052 $db_version = preg_replace( '/[^0-9.].*/', '', $db_server_info ); 1053 } 1054 1055 $is_supported = ( $is_mariadb && version_compare( $db_version, '10.6.0', '>=' ) ) || 1056 ( ! $is_mariadb && version_compare( $db_version, '8.0.1', '>=' ) ); 1057 1058 /** 1059 * Filter whether the database supports the SKIP LOCKED modifier for queries. 1060 * 1061 * @param bool $is_supported Whether SKIP LOCKED is supported. 1062 * 1063 * @since 3.9.3 1064 */ 1065 return apply_filters( 'action_scheduler_db_supports_skip_locked', $is_supported ); 1066 } 1067 1068 /** 1029 1069 * Get the number of active claims. 1030 1070 * … … 1095 1135 1096 1136 /** 1097 * Release actions from a claim and delete the claim.1137 * Release pending actions from a claim and delete the claim. 1098 1138 * 1099 1139 * @param ActionScheduler_ActionClaim $claim Claim object. … … 1107 1147 */ 1108 1148 global $wpdb; 1149 1150 if ( 0 === intval( $claim->get_id() ) ) { 1151 // Verify that the claim_id is valid before attempting to release it. 1152 return; 1153 } 1109 1154 1110 1155 /** … … 1114 1159 * 1115 1160 * We resolve this by getting all the actions_id that we want to release claim from in a separate query, and then releasing the claim on each of them. This way, our lock is acquired on the action_id index instead of the claim_id index. Note that the lock on claim_id will still be acquired, but it will only when we actually make the update, rather than when we select the actions. 1116 */ 1117 $action_ids = $wpdb->get_col( $wpdb->prepare( "SELECT action_id FROM {$wpdb->actionscheduler_actions} WHERE claim_id = %d", $claim->get_id() ) ); 1161 * 1162 * We only release pending actions in order for them to be claimed by another process. 1163 */ 1164 $action_ids = $wpdb->get_col( $wpdb->prepare( "SELECT action_id FROM {$wpdb->actionscheduler_actions} WHERE claim_id = %d AND status = %s", $claim->get_id(), self::STATUS_PENDING ) ); 1118 1165 1119 1166 $row_updates = 0; -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php
r3204556 r3333221 433 433 434 434 /** 435 * Release a claim in the table data store .435 * Release a claim in the table data store on any pending actions. 436 436 * 437 437 * @param ActionScheduler_ActionClaim $claim Claim object. -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php
r3204556 r3333221 792 792 793 793 /** 794 * Release claim.794 * Release pending actions from a claim. 795 795 * 796 796 * @param ActionScheduler_ActionClaim $claim Claim object to release. … … 799 799 */ 800 800 public function release_claim( ActionScheduler_ActionClaim $claim ) { 801 $action_ids = $this->find_actions_by_claim_id( $claim->get_id() );802 if ( empty( $action_ids ) ) {803 return; // nothing to do.804 }805 $action_id_string = implode( ',', array_map( 'intval', $action_ids ) );806 801 /** 807 802 * Global wpdb object. … … 810 805 */ 811 806 global $wpdb; 807 808 $claim_id = $claim->get_id(); 809 if ( trim( $claim_id ) === '' ) { 810 // Verify that the claim_id is valid before attempting to release it. 811 return; 812 } 813 814 // Only attempt to release pending actions to be claimed again. Running and complete actions are no longer relevant outside of admin/analytics. 815 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 816 $action_ids = $wpdb->get_col( 817 $wpdb->prepare( 818 "SELECT ID, post_date_gmt FROM {$wpdb->posts} WHERE post_type = %s AND post_password = %s AND post_status = %s", 819 self::POST_TYPE, 820 $claim_id, 821 self::STATUS_PENDING 822 ) 823 ); 824 825 if ( empty( $action_ids ) ) { 826 return; // nothing to do. 827 } 828 $action_id_string = implode( ',', array_map( 'intval', $action_ids ) ); 812 829 813 830 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php
r3204556 r3333221 21 21 * @var int 22 22 */ 23 protected $schema_version = 7;23 protected $schema_version = 8; 24 24 25 25 /** … … 81 81 KEY group_id (group_id), 82 82 KEY last_attempt_gmt (last_attempt_gmt), 83 KEY `claim_id_status_scheduled_date_gmt` (`claim_id`, `status`, `scheduled_date_gmt`) 83 KEY `claim_id_status_priority_scheduled_date_gmt` (`claim_id`,`status`,`priority`,`scheduled_date_gmt`), 84 KEY `status_last_attempt_gmt` (`status`,`last_attempt_gmt`), 85 KEY `status_claim_id` (`status`,`claim_id`) 84 86 ) $charset_collate"; 85 87 -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/deprecated/ActionScheduler_Schedule_Deprecated.php
r3062001 r3333221 14 14 * @return DateTime|null 15 15 */ 16 public function next( DateTime $after = null ) {16 public function next( ?DateTime $after = null ) { 17 17 if ( empty( $after ) ) { 18 18 $return_value = $this->get_date(); -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/functions.php
r3204556 r3333221 87 87 * @param string $group Action group. 88 88 * @param int $priorities Action priority. 89 * @param bool $unique Unique action. 89 90 */ 90 $pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group, $priority );91 $pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group, $priority, $unique ); 91 92 if ( null !== $pre ) { 92 93 return is_int( $pre ) ? $pre : 0; … … 160 161 * @param string $group Action group. 161 162 * @param int $priority Action priority. 163 * @param bool $unique Unique action. 162 164 */ 163 $pre = apply_filters( 'pre_as_schedule_recurring_action', null, $timestamp, $interval_in_seconds, $hook, $args, $group, $priority );165 $pre = apply_filters( 'pre_as_schedule_recurring_action', null, $timestamp, $interval_in_seconds, $hook, $args, $group, $priority, $unique ); 164 166 if ( null !== $pre ) { 165 167 return is_int( $pre ) ? $pre : 0; … … 226 228 * @param string $group Action group. 227 229 * @param int $priority Action priority. 230 * @param bool $unique Unique action. 228 231 */ 229 $pre = apply_filters( 'pre_as_schedule_cron_action', null, $timestamp, $schedule, $hook, $args, $group, $priority );232 $pre = apply_filters( 'pre_as_schedule_cron_action', null, $timestamp, $schedule, $hook, $args, $group, $priority, $unique ); 230 233 if ( null !== $pre ) { 231 234 return is_int( $pre ) ? $pre : 0; … … 494 497 return $date; 495 498 } 499 500 /** 501 * Check if a specific feature is supported by the current version of Action Scheduler. 502 * 503 * @since 3.9.3 504 * 505 * @param string $feature The feature to check support for. 506 * 507 * @return bool True if the feature is supported, false otherwise. 508 */ 509 function as_supports( string $feature ): bool { 510 $supported_features = array( 'ensure_recurring_actions_hook' ); 511 512 return in_array( $feature, $supported_features, true ); 513 } -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/lib/cron-expression/CronExpression.php
r3062001 r3333221 55 55 * @return CronExpression 56 56 */ 57 public static function factory($expression, CronExpression_FieldFactory $fieldFactory = null)57 public static function factory($expression, ?CronExpression_FieldFactory $fieldFactory = null) 58 58 { 59 59 $mappings = array( -
miso-ai/tags/0.9.6/vendor/woocommerce/action-scheduler/readme.txt
r3204556 r3333221 2 2 Contributors: Automattic, wpmuguru, claudiosanches, peterfabian1000, vedjain, jamosova, obliviousharmony, konamiman, sadowski, royho, barryhughes-1 3 3 Tags: scheduler, cron 4 Stable tag: 3.9. 04 Stable tag: 3.9.3 5 5 License: GPLv3 6 6 Requires at least: 6.5 7 Tested up to: 6. 78 Requires PHP: 7. 17 Tested up to: 6.8 8 Requires PHP: 7.2 9 9 10 10 Action Scheduler - Job Queue for WordPress … … 30 30 ## Learn More 31 31 32 To learn more about how toAction Scheduler works, and how to use it in your plugin, check out the docs on [ActionScheduler.org](https://actionscheduler.org).32 To learn more about how Action Scheduler works, and how to use it in your plugin, check out the docs on [ActionScheduler.org](https://actionscheduler.org). 33 33 34 34 There you will find: … … 47 47 48 48 == Changelog == 49 50 = 3.9.3 - 2025-07-15 = 51 * Add hook 'action_scheduler_ensure_recurring_actions' specifically for scheduling recurring actions. 52 * Assume an action is valid until proven otherwise. 53 * Implement SKIP LOCKED during action claiming. 54 * Import `get_flag_value()` from `WP_CLI\Utils` before using. 55 * Make `$unique` available to all pre-creation/short-circuit hooks. 56 * Make version/source information available via new class. 57 * Only release claims on pending actions. 58 * Tweak - WP 6.8 compatibility. 59 * Update minimum supported php and phpunit versions. 60 * Update readme.txt. 61 * WP CLI get action command: correct parentheses/nesting of conditional checks. 62 63 = 3.9.2 - 2025-02-03 = 64 * Fixed fatal errors by moving version info methods to a new class and deprecating conflicting ones in ActionScheduler_Versions 65 66 = 3.9.1 - 2025-01-21 = 67 * A number of new WP CLI commands have been added, making it easier to manage actions in the terminal and from scripts. 68 * New wp action-scheduler source command to help determine how Action Scheduler is being loaded. 69 * Additional information about the active instance of Action Scheduler is now available in the Help pull-down drawer. 70 * Make some other nullable parameters explicitly nullable. 71 * Set option value to `no` rather than deleting. 49 72 50 73 = 3.9.0 - 2024-11-14 = -
miso-ai/trunk/composer.lock
r3204556 r3333221 71 71 { 72 72 "name": "guzzlehttp/guzzle", 73 "version": "7.9. 2",73 "version": "7.9.3", 74 74 "source": { 75 75 "type": "git", 76 76 "url": "https://github.com/guzzle/guzzle.git", 77 "reference": " d281ed313b989f213357e3be1a179f02196ac99b"78 }, 79 "dist": { 80 "type": "zip", 81 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ d281ed313b989f213357e3be1a179f02196ac99b",82 "reference": " d281ed313b989f213357e3be1a179f02196ac99b",77 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77" 78 }, 79 "dist": { 80 "type": "zip", 81 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", 82 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", 83 83 "shasum": "" 84 84 }, … … 177 177 "support": { 178 178 "issues": "https://github.com/guzzle/guzzle/issues", 179 "source": "https://github.com/guzzle/guzzle/tree/7.9. 2"179 "source": "https://github.com/guzzle/guzzle/tree/7.9.3" 180 180 }, 181 181 "funding": [ … … 193 193 } 194 194 ], 195 "time": "202 4-07-24T11:22:20+00:00"195 "time": "2025-03-27T13:37:11+00:00" 196 196 }, 197 197 { 198 198 "name": "guzzlehttp/promises", 199 "version": "2. 0.4",199 "version": "2.2.0", 200 200 "source": { 201 201 "type": "git", 202 202 "url": "https://github.com/guzzle/promises.git", 203 "reference": " f9c436286ab2892c7db7be8c8da4ef61ccf7b455"204 }, 205 "dist": { 206 "type": "zip", 207 "url": "https://api.github.com/repos/guzzle/promises/zipball/ f9c436286ab2892c7db7be8c8da4ef61ccf7b455",208 "reference": " f9c436286ab2892c7db7be8c8da4ef61ccf7b455",203 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c" 204 }, 205 "dist": { 206 "type": "zip", 207 "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c", 208 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c", 209 209 "shasum": "" 210 210 }, … … 260 260 "support": { 261 261 "issues": "https://github.com/guzzle/promises/issues", 262 "source": "https://github.com/guzzle/promises/tree/2. 0.4"262 "source": "https://github.com/guzzle/promises/tree/2.2.0" 263 263 }, 264 264 "funding": [ … … 276 276 } 277 277 ], 278 "time": "202 4-10-17T10:06:22+00:00"278 "time": "2025-03-27T13:27:01+00:00" 279 279 }, 280 280 { 281 281 "name": "guzzlehttp/psr7", 282 "version": "2.7. 0",282 "version": "2.7.1", 283 283 "source": { 284 284 "type": "git", 285 285 "url": "https://github.com/guzzle/psr7.git", 286 "reference": " a70f5c95fb43bc83f07c9c948baa0dc1829bf201"287 }, 288 "dist": { 289 "type": "zip", 290 "url": "https://api.github.com/repos/guzzle/psr7/zipball/ a70f5c95fb43bc83f07c9c948baa0dc1829bf201",291 "reference": " a70f5c95fb43bc83f07c9c948baa0dc1829bf201",286 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16" 287 }, 288 "dist": { 289 "type": "zip", 290 "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16", 291 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16", 292 292 "shasum": "" 293 293 }, … … 376 376 "support": { 377 377 "issues": "https://github.com/guzzle/psr7/issues", 378 "source": "https://github.com/guzzle/psr7/tree/2.7. 0"378 "source": "https://github.com/guzzle/psr7/tree/2.7.1" 379 379 }, 380 380 "funding": [ … … 392 392 } 393 393 ], 394 "time": "202 4-07-18T11:15:46+00:00"394 "time": "2025-03-27T12:30:47+00:00" 395 395 }, 396 396 { … … 724 724 { 725 725 "name": "symfony/deprecation-contracts", 726 "version": "v3. 5.1",726 "version": "v3.6.0", 727 727 "source": { 728 728 "type": "git", 729 729 "url": "https://github.com/symfony/deprecation-contracts.git", 730 "reference": " 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"731 }, 732 "dist": { 733 "type": "zip", 734 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/ 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",735 "reference": " 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",730 "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" 731 }, 732 "dist": { 733 "type": "zip", 734 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", 735 "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", 736 736 "shasum": "" 737 737 }, … … 741 741 "type": "library", 742 742 "extra": { 743 "thanks": { 744 "url": "https://github.com/symfony/contracts", 745 "name": "symfony/contracts" 746 }, 743 747 "branch-alias": { 744 "dev-main": "3.5-dev" 745 }, 746 "thanks": { 747 "name": "symfony/contracts", 748 "url": "https://github.com/symfony/contracts" 748 "dev-main": "3.6-dev" 749 749 } 750 750 }, … … 771 771 "homepage": "https://symfony.com", 772 772 "support": { 773 "source": "https://github.com/symfony/deprecation-contracts/tree/v3. 5.1"773 "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" 774 774 }, 775 775 "funding": [ … … 787 787 } 788 788 ], 789 "time": "2024-09-25T14:2 0:29+00:00"789 "time": "2024-09-25T14:21:43+00:00" 790 790 }, 791 791 { 792 792 "name": "symfony/polyfill-ctype", 793 "version": "v1.3 1.0",793 "version": "v1.32.0", 794 794 "source": { 795 795 "type": "git", … … 815 815 "extra": { 816 816 "thanks": { 817 " name": "symfony/polyfill",818 " url": "https://github.com/symfony/polyfill"817 "url": "https://github.com/symfony/polyfill", 818 "name": "symfony/polyfill" 819 819 } 820 820 }, … … 850 850 ], 851 851 "support": { 852 "source": "https://github.com/symfony/polyfill-ctype/tree/v1.3 1.0"852 "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" 853 853 }, 854 854 "funding": [ … … 870 870 { 871 871 "name": "symfony/polyfill-mbstring", 872 "version": "v1.3 1.0",872 "version": "v1.32.0", 873 873 "source": { 874 874 "type": "git", 875 875 "url": "https://github.com/symfony/polyfill-mbstring.git", 876 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" 877 }, 878 "dist": { 879 "type": "zip", 880 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", 881 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", 882 "shasum": "" 883 }, 884 "require": { 876 "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" 877 }, 878 "dist": { 879 "type": "zip", 880 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", 881 "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", 882 "shasum": "" 883 }, 884 "require": { 885 "ext-iconv": "*", 885 886 "php": ">=7.2" 886 887 }, … … 894 895 "extra": { 895 896 "thanks": { 896 " name": "symfony/polyfill",897 " url": "https://github.com/symfony/polyfill"897 "url": "https://github.com/symfony/polyfill", 898 "name": "symfony/polyfill" 898 899 } 899 900 }, … … 930 931 ], 931 932 "support": { 932 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.3 1.0"933 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" 933 934 }, 934 935 "funding": [ … … 946 947 } 947 948 ], 948 "time": "2024- 09-09T11:45:10+00:00"949 "time": "2024-12-23T08:48:59+00:00" 949 950 }, 950 951 { 951 952 "name": "symfony/polyfill-php80", 952 "version": "v1.3 1.0",953 "version": "v1.32.0", 953 954 "source": { 954 955 "type": "git", 955 956 "url": "https://github.com/symfony/polyfill-php80.git", 956 "reference": " 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"957 }, 958 "dist": { 959 "type": "zip", 960 "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/ 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",961 "reference": " 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",957 "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" 958 }, 959 "dist": { 960 "type": "zip", 961 "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", 962 "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", 962 963 "shasum": "" 963 964 }, … … 968 969 "extra": { 969 970 "thanks": { 970 " name": "symfony/polyfill",971 " url": "https://github.com/symfony/polyfill"971 "url": "https://github.com/symfony/polyfill", 972 "name": "symfony/polyfill" 972 973 } 973 974 }, … … 1010 1011 ], 1011 1012 "support": { 1012 "source": "https://github.com/symfony/polyfill-php80/tree/v1.3 1.0"1013 "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" 1013 1014 }, 1014 1015 "funding": [ … … 1026 1027 } 1027 1028 ], 1028 "time": "202 4-09-09T11:45:10+00:00"1029 "time": "2025-01-02T08:10:11+00:00" 1029 1030 }, 1030 1031 { 1031 1032 "name": "vlucas/phpdotenv", 1032 "version": "v5.6. 1",1033 "version": "v5.6.2", 1033 1034 "source": { 1034 1035 "type": "git", 1035 1036 "url": "https://github.com/vlucas/phpdotenv.git", 1036 "reference": " a59a13791077fe3d44f90e7133eb68e7d22eaff2"1037 }, 1038 "dist": { 1039 "type": "zip", 1040 "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/ a59a13791077fe3d44f90e7133eb68e7d22eaff2",1041 "reference": " a59a13791077fe3d44f90e7133eb68e7d22eaff2",1037 "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" 1038 }, 1039 "dist": { 1040 "type": "zip", 1041 "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", 1042 "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", 1042 1043 "shasum": "" 1043 1044 }, … … 1098 1099 "support": { 1099 1100 "issues": "https://github.com/vlucas/phpdotenv/issues", 1100 "source": "https://github.com/vlucas/phpdotenv/tree/v5.6. 1"1101 "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" 1101 1102 }, 1102 1103 "funding": [ … … 1110 1111 } 1111 1112 ], 1112 "time": "202 4-07-20T21:52:34+00:00"1113 "time": "2025-04-30T23:37:27+00:00" 1113 1114 }, 1114 1115 { 1115 1116 "name": "woocommerce/action-scheduler", 1116 "version": "3.9. 0",1117 "version": "3.9.3", 1117 1118 "source": { 1118 1119 "type": "git", 1119 1120 "url": "https://github.com/woocommerce/action-scheduler.git", 1120 "reference": " 90b98e6fe97d455679b1d288f050cad8f6f79771"1121 }, 1122 "dist": { 1123 "type": "zip", 1124 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/ 90b98e6fe97d455679b1d288f050cad8f6f79771",1125 "reference": " 90b98e6fe97d455679b1d288f050cad8f6f79771",1126 "shasum": "" 1127 }, 1128 "require": { 1129 "php": ">=7. 1"1121 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c" 1122 }, 1123 "dist": { 1124 "type": "zip", 1125 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/c58cdbab17651303d406cd3b22cf9d75c71c986c", 1126 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c", 1127 "shasum": "" 1128 }, 1129 "require": { 1130 "php": ">=7.2" 1130 1131 }, 1131 1132 "require-dev": { 1132 "phpunit/phpunit": "^ 7.5",1133 "phpunit/phpunit": "^8.5", 1133 1134 "woocommerce/woocommerce-sniffs": "0.1.0", 1134 1135 "wp-cli/wp-cli": "~2.5.0", … … 1151 1152 "support": { 1152 1153 "issues": "https://github.com/woocommerce/action-scheduler/issues", 1153 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9. 0"1154 }, 1155 "time": "202 4-11-15T00:11:39+00:00"1154 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9.3" 1155 }, 1156 "time": "2025-07-15T09:32:30+00:00" 1156 1157 } 1157 1158 ], … … 1159 1160 { 1160 1161 "name": "php-stubs/wordpress-stubs", 1161 "version": "v6. 7.1",1162 "version": "v6.8.2", 1162 1163 "source": { 1163 1164 "type": "git", 1164 1165 "url": "https://github.com/php-stubs/wordpress-stubs.git", 1165 "reference": "83448e918bf06d1ed3d67ceb6a985fc266a02fd1" 1166 }, 1167 "dist": { 1168 "type": "zip", 1169 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/83448e918bf06d1ed3d67ceb6a985fc266a02fd1", 1170 "reference": "83448e918bf06d1ed3d67ceb6a985fc266a02fd1", 1171 "shasum": "" 1166 "reference": "9c8e22e437463197c1ec0d5eaa9ddd4a0eb6d7f8" 1167 }, 1168 "dist": { 1169 "type": "zip", 1170 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/9c8e22e437463197c1ec0d5eaa9ddd4a0eb6d7f8", 1171 "reference": "9c8e22e437463197c1ec0d5eaa9ddd4a0eb6d7f8", 1172 "shasum": "" 1173 }, 1174 "conflict": { 1175 "phpdocumentor/reflection-docblock": "5.6.1" 1172 1176 }, 1173 1177 "require-dev": { 1174 1178 "dealerdirect/phpcodesniffer-composer-installer": "^1.0", 1175 "nikic/php-parser": "^ 4.13",1179 "nikic/php-parser": "^5.5", 1176 1180 "php": "^7.4 || ^8.0", 1177 1181 "php-stubs/generator": "^0.8.3", 1178 1182 "phpdocumentor/reflection-docblock": "^5.4.1", 1179 "phpstan/phpstan": "^ 1.11",1183 "phpstan/phpstan": "^2.1", 1180 1184 "phpunit/phpunit": "^9.5", 1181 1185 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.1.1", … … 1201 1205 "support": { 1202 1206 "issues": "https://github.com/php-stubs/wordpress-stubs/issues", 1203 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6. 7.1"1204 }, 1205 "time": "202 4-11-24T03:57:09+00:00"1207 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.8.2" 1208 }, 1209 "time": "2025-07-16T06:41:00+00:00" 1206 1210 }, 1207 1211 { 1208 1212 "name": "php-stubs/wp-cli-stubs", 1209 "version": "v2.1 1.0",1213 "version": "v2.12.0", 1210 1214 "source": { 1211 1215 "type": "git", 1212 1216 "url": "https://github.com/php-stubs/wp-cli-stubs.git", 1213 "reference": " f27ff9e8e29d7962cb070e58de70dfaf63183007"1214 }, 1215 "dist": { 1216 "type": "zip", 1217 "url": "https://api.github.com/repos/php-stubs/wp-cli-stubs/zipball/ f27ff9e8e29d7962cb070e58de70dfaf63183007",1218 "reference": " f27ff9e8e29d7962cb070e58de70dfaf63183007",1217 "reference": "af16401e299a3fd2229bd0fa9a037638a4174a9d" 1218 }, 1219 "dist": { 1220 "type": "zip", 1221 "url": "https://api.github.com/repos/php-stubs/wp-cli-stubs/zipball/af16401e299a3fd2229bd0fa9a037638a4174a9d", 1222 "reference": "af16401e299a3fd2229bd0fa9a037638a4174a9d", 1219 1223 "shasum": "" 1220 1224 }, … … 1245 1249 "support": { 1246 1250 "issues": "https://github.com/php-stubs/wp-cli-stubs/issues", 1247 "source": "https://github.com/php-stubs/wp-cli-stubs/tree/v2.1 1.0"1248 }, 1249 "time": "202 4-11-25T10:09:13+00:00"1251 "source": "https://github.com/php-stubs/wp-cli-stubs/tree/v2.12.0" 1252 }, 1253 "time": "2025-06-10T09:58:05+00:00" 1250 1254 } 1251 1255 ], -
miso-ai/trunk/customization.md
r3204556 r3333221 44 44 ### Modify the filter function 45 45 46 Here is an example to add a prefix to `product_id`: 47 48 ```php 49 function my_miso_post_to_record_0(array $record, WP_Post $post) { 50 $record['product_id'] = 'my_prefix_' . $record['product_id']; 51 return $record; 52 } 53 54 add_filter('miso_post_to_record', 'my_miso_post_to_record_0', 10, 2); 55 ``` 56 57 Another example to add extra data to `custom_attributes`: 46 Here is an example to add extra data to `custom_attributes`: 58 47 59 48 ```php -
miso-ai/trunk/miso-ai.php
r3204556 r3333221 4 4 * Plugin URI: https://miso.ai/ 5 5 * Description: The official WordPress plugin for Miso AI data integration. 6 * Version: 0.9. 56 * Version: 0.9.6 7 7 * Author: Simon Pai 8 8 * License: GPL v2 or later -
miso-ai/trunk/readme.txt
r3204556 r3333221 2 2 Contributors: misosimonpai 3 3 Tags: Miso, AI, LLM 4 Tested up to: 6. 45 Stable tag: 0.9. 54 Tested up to: 6.8 5 Stable tag: 0.9.6 6 6 License: GPLv2 or later 7 7 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 36 36 == Changelog == 37 37 38 = 0.9.6 = 39 * Feature: [#11](https://github.com/MisoAI/miso-wordpress-plugin/issues/11) Allow user to sync entities of post type other than post. 40 38 41 = 0.9.5 = 39 42 * Fix: product_id prefix in action hooks -
miso-ai/trunk/src/actions.php
r3204556 r3333221 11 11 } 12 12 if (!has_api_key()) { 13 return $post; 14 } 15 if (!in_array($post->post_type, Utils\get_miso_post_types())) { 13 16 return $post; 14 17 } -
miso-ai/trunk/src/admin/index.php
r3204556 r3333221 4 4 5 5 use Miso\Operations; 6 use Miso\Utils; 6 7 7 8 function admin_menu() { … … 18 19 'description' => 'Miso Settings', 19 20 'sanitize_callback' => function ($value) { 21 $available_post_types = get_post_types(); 22 $value['miso_post_types'] = array_intersect($value['miso_post_types'], $available_post_types); 20 23 return $value; 21 24 }, … … 31 34 add_settings_field( 32 35 'miso_api_key', 33 'Secret API Key',36 'Secret API key', 34 37 function () { 35 38 $options = get_option('miso_settings', []); … … 44 47 add_settings_field( 45 48 'miso_product_id_prefix', 46 'Product ID Prefix<br>(optional)',49 'Product ID prefix<br>(optional)', 47 50 function () { 48 51 $options = get_option('miso_settings', []); … … 53 56 'By setting different prefixes, you can manage data from multiple sites into one Miso catalog.<br>' . 54 57 'When performing a full-sync, only Miso records with the prefix will be deleted.</p>'; 58 }, 59 'miso', 60 'miso_settings', 61 ); 62 add_settings_field( 63 'miso_post_types', 64 'Post types to upload', 65 function () { 66 $options = get_option('miso_settings', []); 67 $post_types = array_key_exists('miso_post_types', $options) ? $options['miso_post_types'] : Utils\get_miso_post_types_default_value(); 68 $choices = Utils\get_post_type_choices(); 69 foreach ($choices as $choice) { 70 echo '<label><input type="checkbox" name="miso_settings[miso_post_types][]" value="' . esc_attr($choice) . '" ' . checked(in_array($choice, $post_types), true, false) . '> ' . esc_html($choice) . '</label><br>'; 71 } 72 echo '<p>Post types to be uploaded to Miso catalog.<br>' . 73 'Posts with checked post type will be uploaded to Miso when they are updated or when a "sync data" action is performed.<br>' . 74 'Changing this setting will not affect existing records in Miso catalog.</p>'; 55 75 }, 56 76 'miso', -
miso-ai/trunk/src/operations.php
r3204556 r3333221 33 33 $args = $task['args'] ?? []; 34 34 $query = $args['query'] ?? [ 35 'post_type' => 'post',35 'post_type' => Utils\get_miso_post_types(), 36 36 'post_status' => 'publish', 37 37 ]; -
miso-ai/trunk/src/utils.php
r3204556 r3333221 41 41 'published_at' => format_date($post->post_date_gmt), 42 42 'updated_at' => format_date($post->post_modified_gmt), 43 'type' => 'post',43 'type' => $post->post_type, 44 44 'title' => $post->post_title, 45 45 'html' => $post->post_content, … … 56 56 } 57 57 58 function get_post_type_choices() { 59 // post, page, and custom post types 60 return array_merge(['post', 'page'], get_post_types([ 61 'public' => true, 62 '_builtin' => false, 63 ])); 64 } 65 66 function get_miso_post_types() { 67 return get_option('miso_settings')['miso_post_types'] ?? get_miso_post_types_default_value(); 68 } 69 70 function get_miso_post_types_default_value() { 71 // default value is post only 72 return ['post']; 73 } 74 58 75 function log($value) { 59 76 error_log(print_r($value, true)); -
miso-ai/trunk/vendor/autoload.php
r3062001 r3333221 15 15 } 16 16 } 17 trigger_error( 18 $err, 19 E_USER_ERROR 20 ); 17 throw new RuntimeException($err); 21 18 } 22 19 -
miso-ai/trunk/vendor/composer/InstalledVersions.php
r3062001 r3333221 28 28 { 29 29 /** 30 * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to 31 * @internal 32 */ 33 private static $selfDir = null; 34 35 /** 30 36 * @var mixed[]|null 31 37 * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null 32 38 */ 33 39 private static $installed; 40 41 /** 42 * @var bool 43 */ 44 private static $installedIsLocalDir; 34 45 35 46 /** … … 310 321 self::$installed = $data; 311 322 self::$installedByVendor = array(); 323 324 // when using reload, we disable the duplicate protection to ensure that self::$installed data is 325 // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, 326 // so we have to assume it does not, and that may result in duplicate data being returned when listing 327 // all installed packages for example 328 self::$installedIsLocalDir = false; 329 } 330 331 /** 332 * @return string 333 */ 334 private static function getSelfDir() 335 { 336 if (self::$selfDir === null) { 337 self::$selfDir = strtr(__DIR__, '\\', '/'); 338 } 339 340 return self::$selfDir; 312 341 } 313 342 … … 323 352 324 353 $installed = array(); 354 $copiedLocalDir = false; 325 355 326 356 if (self::$canGetVendors) { 357 $selfDir = self::getSelfDir(); 327 358 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { 359 $vendorDir = strtr($vendorDir, '\\', '/'); 328 360 if (isset(self::$installedByVendor[$vendorDir])) { 329 361 $installed[] = self::$installedByVendor[$vendorDir]; … … 331 363 /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ 332 364 $required = require $vendorDir.'/composer/installed.php'; 333 $installed[] = self::$installedByVendor[$vendorDir] = $required; 334 if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { 335 self::$installed = $installed[count($installed) - 1]; 365 self::$installedByVendor[$vendorDir] = $required; 366 $installed[] = $required; 367 if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { 368 self::$installed = $required; 369 self::$installedIsLocalDir = true; 336 370 } 371 } 372 if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { 373 $copiedLocalDir = true; 337 374 } 338 375 } … … 351 388 } 352 389 353 if (self::$installed !== array() ) {390 if (self::$installed !== array() && !$copiedLocalDir) { 354 391 $installed[] = self::$installed; 355 392 } -
miso-ai/trunk/vendor/composer/autoload_psr4.php
r3062001 r3333221 10 10 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), 11 11 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), 12 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http- message/src', $vendorDir . '/psr/http-factory/src'),12 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'), 13 13 'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'), 14 14 'PhpOption\\' => array($vendorDir . '/phpoption/phpoption/src/PhpOption'), -
miso-ai/trunk/vendor/composer/autoload_static.php
r3062001 r3333221 61 61 'Psr\\Http\\Message\\' => 62 62 array ( 63 0 => __DIR__ . '/..' . '/psr/http- message/src',64 1 => __DIR__ . '/..' . '/psr/http- factory/src',63 0 => __DIR__ . '/..' . '/psr/http-factory/src', 64 1 => __DIR__ . '/..' . '/psr/http-message/src', 65 65 ), 66 66 'Psr\\Http\\Client\\' => -
miso-ai/trunk/vendor/composer/installed.json
r3204556 r3333221 68 68 { 69 69 "name": "guzzlehttp/guzzle", 70 "version": "7.9. 2",71 "version_normalized": "7.9. 2.0",70 "version": "7.9.3", 71 "version_normalized": "7.9.3.0", 72 72 "source": { 73 73 "type": "git", 74 74 "url": "https://github.com/guzzle/guzzle.git", 75 "reference": " d281ed313b989f213357e3be1a179f02196ac99b"76 }, 77 "dist": { 78 "type": "zip", 79 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ d281ed313b989f213357e3be1a179f02196ac99b",80 "reference": " d281ed313b989f213357e3be1a179f02196ac99b",75 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77" 76 }, 77 "dist": { 78 "type": "zip", 79 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", 80 "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", 81 81 "shasum": "" 82 82 }, … … 105 105 "psr/log": "Required for using the Log middleware" 106 106 }, 107 "time": "202 4-07-24T11:22:20+00:00",107 "time": "2025-03-27T13:37:11+00:00", 108 108 "type": "library", 109 109 "extra": { … … 177 177 "support": { 178 178 "issues": "https://github.com/guzzle/guzzle/issues", 179 "source": "https://github.com/guzzle/guzzle/tree/7.9. 2"179 "source": "https://github.com/guzzle/guzzle/tree/7.9.3" 180 180 }, 181 181 "funding": [ … … 197 197 { 198 198 "name": "guzzlehttp/promises", 199 "version": "2. 0.4",200 "version_normalized": "2. 0.4.0",199 "version": "2.2.0", 200 "version_normalized": "2.2.0.0", 201 201 "source": { 202 202 "type": "git", 203 203 "url": "https://github.com/guzzle/promises.git", 204 "reference": " f9c436286ab2892c7db7be8c8da4ef61ccf7b455"205 }, 206 "dist": { 207 "type": "zip", 208 "url": "https://api.github.com/repos/guzzle/promises/zipball/ f9c436286ab2892c7db7be8c8da4ef61ccf7b455",209 "reference": " f9c436286ab2892c7db7be8c8da4ef61ccf7b455",204 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c" 205 }, 206 "dist": { 207 "type": "zip", 208 "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c", 209 "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c", 210 210 "shasum": "" 211 211 }, … … 217 217 "phpunit/phpunit": "^8.5.39 || ^9.6.20" 218 218 }, 219 "time": "202 4-10-17T10:06:22+00:00",219 "time": "2025-03-27T13:27:01+00:00", 220 220 "type": "library", 221 221 "extra": { … … 263 263 "support": { 264 264 "issues": "https://github.com/guzzle/promises/issues", 265 "source": "https://github.com/guzzle/promises/tree/2. 0.4"265 "source": "https://github.com/guzzle/promises/tree/2.2.0" 266 266 }, 267 267 "funding": [ … … 283 283 { 284 284 "name": "guzzlehttp/psr7", 285 "version": "2.7. 0",286 "version_normalized": "2.7. 0.0",285 "version": "2.7.1", 286 "version_normalized": "2.7.1.0", 287 287 "source": { 288 288 "type": "git", 289 289 "url": "https://github.com/guzzle/psr7.git", 290 "reference": " a70f5c95fb43bc83f07c9c948baa0dc1829bf201"291 }, 292 "dist": { 293 "type": "zip", 294 "url": "https://api.github.com/repos/guzzle/psr7/zipball/ a70f5c95fb43bc83f07c9c948baa0dc1829bf201",295 "reference": " a70f5c95fb43bc83f07c9c948baa0dc1829bf201",290 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16" 291 }, 292 "dist": { 293 "type": "zip", 294 "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16", 295 "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16", 296 296 "shasum": "" 297 297 }, … … 314 314 "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" 315 315 }, 316 "time": "202 4-07-18T11:15:46+00:00",316 "time": "2025-03-27T12:30:47+00:00", 317 317 "type": "library", 318 318 "extra": { … … 382 382 "support": { 383 383 "issues": "https://github.com/guzzle/psr7/issues", 384 "source": "https://github.com/guzzle/psr7/tree/2.7. 0"384 "source": "https://github.com/guzzle/psr7/tree/2.7.1" 385 385 }, 386 386 "funding": [ … … 748 748 { 749 749 "name": "symfony/deprecation-contracts", 750 "version": "v3. 5.1",751 "version_normalized": "3. 5.1.0",750 "version": "v3.6.0", 751 "version_normalized": "3.6.0.0", 752 752 "source": { 753 753 "type": "git", 754 754 "url": "https://github.com/symfony/deprecation-contracts.git", 755 "reference": " 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"756 }, 757 "dist": { 758 "type": "zip", 759 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/ 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",760 "reference": " 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",755 "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" 756 }, 757 "dist": { 758 "type": "zip", 759 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", 760 "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", 761 761 "shasum": "" 762 762 }, … … 764 764 "php": ">=8.1" 765 765 }, 766 "time": "2024-09-25T14:2 0:29+00:00",766 "time": "2024-09-25T14:21:43+00:00", 767 767 "type": "library", 768 768 "extra": { 769 "thanks": { 770 "url": "https://github.com/symfony/contracts", 771 "name": "symfony/contracts" 772 }, 769 773 "branch-alias": { 770 "dev-main": "3.5-dev" 771 }, 772 "thanks": { 773 "name": "symfony/contracts", 774 "url": "https://github.com/symfony/contracts" 774 "dev-main": "3.6-dev" 775 775 } 776 776 }, … … 798 798 "homepage": "https://symfony.com", 799 799 "support": { 800 "source": "https://github.com/symfony/deprecation-contracts/tree/v3. 5.1"800 "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" 801 801 }, 802 802 "funding": [ … … 818 818 { 819 819 "name": "symfony/polyfill-ctype", 820 "version": "v1.3 1.0",821 "version_normalized": "1.3 1.0.0",820 "version": "v1.32.0", 821 "version_normalized": "1.32.0.0", 822 822 "source": { 823 823 "type": "git", … … 844 844 "extra": { 845 845 "thanks": { 846 " name": "symfony/polyfill",847 " url": "https://github.com/symfony/polyfill"846 "url": "https://github.com/symfony/polyfill", 847 "name": "symfony/polyfill" 848 848 } 849 849 }, … … 880 880 ], 881 881 "support": { 882 "source": "https://github.com/symfony/polyfill-ctype/tree/v1.3 1.0"882 "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" 883 883 }, 884 884 "funding": [ … … 900 900 { 901 901 "name": "symfony/polyfill-mbstring", 902 "version": "v1.3 1.0",903 "version_normalized": "1.3 1.0.0",902 "version": "v1.32.0", 903 "version_normalized": "1.32.0.0", 904 904 "source": { 905 905 "type": "git", 906 906 "url": "https://github.com/symfony/polyfill-mbstring.git", 907 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" 908 }, 909 "dist": { 910 "type": "zip", 911 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", 912 "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", 913 "shasum": "" 914 }, 915 "require": { 907 "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" 908 }, 909 "dist": { 910 "type": "zip", 911 "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", 912 "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", 913 "shasum": "" 914 }, 915 "require": { 916 "ext-iconv": "*", 916 917 "php": ">=7.2" 917 918 }, … … 922 923 "ext-mbstring": "For best performance" 923 924 }, 924 "time": "2024- 09-09T11:45:10+00:00",925 "time": "2024-12-23T08:48:59+00:00", 925 926 "type": "library", 926 927 "extra": { 927 928 "thanks": { 928 " name": "symfony/polyfill",929 " url": "https://github.com/symfony/polyfill"929 "url": "https://github.com/symfony/polyfill", 930 "name": "symfony/polyfill" 930 931 } 931 932 }, … … 963 964 ], 964 965 "support": { 965 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.3 1.0"966 "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" 966 967 }, 967 968 "funding": [ … … 983 984 { 984 985 "name": "symfony/polyfill-php80", 985 "version": "v1.3 1.0",986 "version_normalized": "1.3 1.0.0",986 "version": "v1.32.0", 987 "version_normalized": "1.32.0.0", 987 988 "source": { 988 989 "type": "git", 989 990 "url": "https://github.com/symfony/polyfill-php80.git", 990 "reference": " 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"991 }, 992 "dist": { 993 "type": "zip", 994 "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/ 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",995 "reference": " 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",991 "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" 992 }, 993 "dist": { 994 "type": "zip", 995 "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", 996 "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", 996 997 "shasum": "" 997 998 }, … … 999 1000 "php": ">=7.2" 1000 1001 }, 1001 "time": "202 4-09-09T11:45:10+00:00",1002 "time": "2025-01-02T08:10:11+00:00", 1002 1003 "type": "library", 1003 1004 "extra": { 1004 1005 "thanks": { 1005 " name": "symfony/polyfill",1006 " url": "https://github.com/symfony/polyfill"1006 "url": "https://github.com/symfony/polyfill", 1007 "name": "symfony/polyfill" 1007 1008 } 1008 1009 }, … … 1046 1047 ], 1047 1048 "support": { 1048 "source": "https://github.com/symfony/polyfill-php80/tree/v1.3 1.0"1049 "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" 1049 1050 }, 1050 1051 "funding": [ … … 1066 1067 { 1067 1068 "name": "vlucas/phpdotenv", 1068 "version": "v5.6. 1",1069 "version_normalized": "5.6. 1.0",1069 "version": "v5.6.2", 1070 "version_normalized": "5.6.2.0", 1070 1071 "source": { 1071 1072 "type": "git", 1072 1073 "url": "https://github.com/vlucas/phpdotenv.git", 1073 "reference": " a59a13791077fe3d44f90e7133eb68e7d22eaff2"1074 }, 1075 "dist": { 1076 "type": "zip", 1077 "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/ a59a13791077fe3d44f90e7133eb68e7d22eaff2",1078 "reference": " a59a13791077fe3d44f90e7133eb68e7d22eaff2",1074 "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" 1075 }, 1076 "dist": { 1077 "type": "zip", 1078 "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", 1079 "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", 1079 1080 "shasum": "" 1080 1081 }, … … 1096 1097 "ext-filter": "Required to use the boolean validator." 1097 1098 }, 1098 "time": "202 4-07-20T21:52:34+00:00",1099 "time": "2025-04-30T23:37:27+00:00", 1099 1100 "type": "library", 1100 1101 "extra": { … … 1137 1138 "support": { 1138 1139 "issues": "https://github.com/vlucas/phpdotenv/issues", 1139 "source": "https://github.com/vlucas/phpdotenv/tree/v5.6. 1"1140 "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" 1140 1141 }, 1141 1142 "funding": [ … … 1153 1154 { 1154 1155 "name": "woocommerce/action-scheduler", 1155 "version": "3.9. 0",1156 "version_normalized": "3.9. 0.0",1156 "version": "3.9.3", 1157 "version_normalized": "3.9.3.0", 1157 1158 "source": { 1158 1159 "type": "git", 1159 1160 "url": "https://github.com/woocommerce/action-scheduler.git", 1160 "reference": " 90b98e6fe97d455679b1d288f050cad8f6f79771"1161 }, 1162 "dist": { 1163 "type": "zip", 1164 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/ 90b98e6fe97d455679b1d288f050cad8f6f79771",1165 "reference": " 90b98e6fe97d455679b1d288f050cad8f6f79771",1166 "shasum": "" 1167 }, 1168 "require": { 1169 "php": ">=7. 1"1161 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c" 1162 }, 1163 "dist": { 1164 "type": "zip", 1165 "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/c58cdbab17651303d406cd3b22cf9d75c71c986c", 1166 "reference": "c58cdbab17651303d406cd3b22cf9d75c71c986c", 1167 "shasum": "" 1168 }, 1169 "require": { 1170 "php": ">=7.2" 1170 1171 }, 1171 1172 "require-dev": { 1172 "phpunit/phpunit": "^ 7.5",1173 "phpunit/phpunit": "^8.5", 1173 1174 "woocommerce/woocommerce-sniffs": "0.1.0", 1174 1175 "wp-cli/wp-cli": "~2.5.0", 1175 1176 "yoast/phpunit-polyfills": "^2.0" 1176 1177 }, 1177 "time": "202 4-11-15T00:11:39+00:00",1178 "time": "2025-07-15T09:32:30+00:00", 1178 1179 "type": "wordpress-plugin", 1179 1180 "extra": { … … 1193 1194 "support": { 1194 1195 "issues": "https://github.com/woocommerce/action-scheduler/issues", 1195 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9. 0"1196 "source": "https://github.com/woocommerce/action-scheduler/tree/3.9.3" 1196 1197 }, 1197 1198 "install-path": "../woocommerce/action-scheduler" -
miso-ai/trunk/vendor/composer/installed.php
r3204556 r3333221 30 30 ), 31 31 'guzzlehttp/guzzle' => array( 32 'pretty_version' => '7.9. 2',33 'version' => '7.9. 2.0',34 'reference' => ' d281ed313b989f213357e3be1a179f02196ac99b',32 'pretty_version' => '7.9.3', 33 'version' => '7.9.3.0', 34 'reference' => '7b2f29fe81dc4da0ca0ea7d42107a0845946ea77', 35 35 'type' => 'library', 36 36 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', … … 39 39 ), 40 40 'guzzlehttp/promises' => array( 41 'pretty_version' => '2. 0.4',42 'version' => '2. 0.4.0',43 'reference' => ' f9c436286ab2892c7db7be8c8da4ef61ccf7b455',41 'pretty_version' => '2.2.0', 42 'version' => '2.2.0.0', 43 'reference' => '7c69f28996b0a6920945dd20b3857e499d9ca96c', 44 44 'type' => 'library', 45 45 'install_path' => __DIR__ . '/../guzzlehttp/promises', … … 48 48 ), 49 49 'guzzlehttp/psr7' => array( 50 'pretty_version' => '2.7. 0',51 'version' => '2.7. 0.0',52 'reference' => ' a70f5c95fb43bc83f07c9c948baa0dc1829bf201',50 'pretty_version' => '2.7.1', 51 'version' => '2.7.1.0', 52 'reference' => 'c2270caaabe631b3b44c85f99e5a04bbb8060d16', 53 53 'type' => 'library', 54 54 'install_path' => __DIR__ . '/../guzzlehttp/psr7', … … 129 129 ), 130 130 'symfony/deprecation-contracts' => array( 131 'pretty_version' => 'v3. 5.1',132 'version' => '3. 5.1.0',133 'reference' => ' 74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6',131 'pretty_version' => 'v3.6.0', 132 'version' => '3.6.0.0', 133 'reference' => '63afe740e99a13ba87ec199bb07bbdee937a5b62', 134 134 'type' => 'library', 135 135 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', … … 138 138 ), 139 139 'symfony/polyfill-ctype' => array( 140 'pretty_version' => 'v1.3 1.0',141 'version' => '1.3 1.0.0',140 'pretty_version' => 'v1.32.0', 141 'version' => '1.32.0.0', 142 142 'reference' => 'a3cc8b044a6ea513310cbd48ef7333b384945638', 143 143 'type' => 'library', … … 147 147 ), 148 148 'symfony/polyfill-mbstring' => array( 149 'pretty_version' => 'v1.3 1.0',150 'version' => '1.3 1.0.0',151 'reference' => ' 85181ba99b2345b0ef10ce42ecac37612d9fd341',149 'pretty_version' => 'v1.32.0', 150 'version' => '1.32.0.0', 151 'reference' => '6d857f4d76bd4b343eac26d6b539585d2bc56493', 152 152 'type' => 'library', 153 153 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', … … 156 156 ), 157 157 'symfony/polyfill-php80' => array( 158 'pretty_version' => 'v1.3 1.0',159 'version' => '1.3 1.0.0',160 'reference' => ' 60328e362d4c2c802a54fcbf04f9d3fb892b4cf8',158 'pretty_version' => 'v1.32.0', 159 'version' => '1.32.0.0', 160 'reference' => '0cc9dd0f17f61d8131e7df6b84bd344899fe2608', 161 161 'type' => 'library', 162 162 'install_path' => __DIR__ . '/../symfony/polyfill-php80', … … 165 165 ), 166 166 'vlucas/phpdotenv' => array( 167 'pretty_version' => 'v5.6. 1',168 'version' => '5.6. 1.0',169 'reference' => ' a59a13791077fe3d44f90e7133eb68e7d22eaff2',167 'pretty_version' => 'v5.6.2', 168 'version' => '5.6.2.0', 169 'reference' => '24ac4c74f91ee2c193fa1aaa5c249cb0822809af', 170 170 'type' => 'library', 171 171 'install_path' => __DIR__ . '/../vlucas/phpdotenv', … … 174 174 ), 175 175 'woocommerce/action-scheduler' => array( 176 'pretty_version' => '3.9. 0',177 'version' => '3.9. 0.0',178 'reference' => ' 90b98e6fe97d455679b1d288f050cad8f6f79771',176 'pretty_version' => '3.9.3', 177 'version' => '3.9.3.0', 178 'reference' => 'c58cdbab17651303d406cd3b22cf9d75c71c986c', 179 179 'type' => 'wordpress-plugin', 180 180 'install_path' => __DIR__ . '/../woocommerce/action-scheduler', -
miso-ai/trunk/vendor/composer/platform_check.php
r3062001 r3333221 20 20 } 21 21 } 22 trigger_error( 23 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 E_USER_ERROR 22 throw new \RuntimeException( 23 'Composer detected issues in your platform: ' . implode(' ', $issues) 25 24 ); 26 25 } -
miso-ai/trunk/vendor/guzzlehttp/guzzle/CHANGELOG.md
r3174859 r3333221 2 2 3 3 Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version. 4 5 6 ## 7.9.3 - 2025-03-27 7 8 ### Changed 9 10 - Remove explicit content-length header for GET requests 11 - Improve compatibility with bad servers for boolean cookie values 4 12 5 13 -
miso-ai/trunk/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php
r3062001 r3333221 63 63 $data[$search] = (int) $value; 64 64 } 65 } elseif ($search === 'Secure' || $search === 'Discard' || $search === 'HttpOnly') { 66 if ($value) { 67 $data[$search] = true; 68 } 65 69 } else { 66 70 $data[$search] = $value; -
miso-ai/trunk/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php
r3062001 r3333221 18 18 * requests to another handler. 19 19 * 20 * @param callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for normal responses21 * @param callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $sync Handler used for synchronous responses.20 * @param callable(RequestInterface, array): PromiseInterface $default Handler used for normal responses 21 * @param callable(RequestInterface, array): PromiseInterface $sync Handler used for synchronous responses. 22 22 * 23 * @return callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler.23 * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler. 24 24 */ 25 25 public static function wrapSync(callable $default, callable $sync): callable … … 38 38 * through the StreamHandler. 39 39 * 40 * @param callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for non-streaming responses41 * @param callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $streaming Handler used for streaming responses40 * @param callable(RequestInterface, array): PromiseInterface $default Handler used for non-streaming responses 41 * @param callable(RequestInterface, array): PromiseInterface $streaming Handler used for streaming responses 42 42 * 43 * @return callable( \Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler.43 * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler. 44 44 */ 45 45 public static function wrapStreaming(callable $default, callable $streaming): callable -
miso-ai/trunk/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
r3174859 r3333221 54 54 55 55 // Append a content-length header if body size is zero to match 56 // cURL's behavior. 57 if (0 === $request->getBody()->getSize()) { 56 // the behavior of `CurlHandler` 57 if ( 58 ( 59 0 === \strcasecmp('PUT', $request->getMethod()) 60 || 0 === \strcasecmp('POST', $request->getMethod()) 61 ) 62 && 0 === $request->getBody()->getSize() 63 ) { 58 64 $request = $request->withHeader('Content-Length', '0'); 59 65 } -
miso-ai/trunk/vendor/guzzlehttp/guzzle/src/Pool.php
r3062001 r3333221 87 87 * @param array|\Iterator $requests Requests to send concurrently. 88 88 * @param array $options Passes through the options available in 89 * {@see \GuzzleHttp\Pool::__construct}89 * {@see Pool::__construct} 90 90 * 91 91 * @return array Returns an array containing the response or an exception -
miso-ai/trunk/vendor/guzzlehttp/guzzle/src/Utils.php
r3174859 r3333221 80 80 * The returned handler is not wrapped by any default middlewares. 81 81 * 82 * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.82 * @return callable(\Psr\Http\Message\RequestInterface, array): Promise\PromiseInterface Returns the best handler for the given system. 83 83 * 84 84 * @throws \RuntimeException if no viable Handler is available. -
miso-ai/trunk/vendor/guzzlehttp/guzzle/src/functions.php
r3062001 r3333221 51 51 * The returned handler is not wrapped by any default middlewares. 52 52 * 53 * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.53 * @return callable(\Psr\Http\Message\RequestInterface, array): Promise\PromiseInterface Returns the best handler for the given system. 54 54 * 55 55 * @throws \RuntimeException if no viable Handler is available. -
miso-ai/trunk/vendor/guzzlehttp/promises/CHANGELOG.md
r3174859 r3333221 1 1 # CHANGELOG 2 3 4 ## 2.2.0 - 2025-03-27 5 6 ### Fixed 7 8 - Revert "Allow an empty EachPromise to be resolved by running the queue" 9 10 11 ## 2.1.0 - 2025-03-27 12 13 ### Added 14 15 - Allow an empty EachPromise to be resolved by running the queue 2 16 3 17 -
miso-ai/trunk/vendor/guzzlehttp/psr7/CHANGELOG.md
r3174859 r3333221 5 5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) 6 6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 8 ## 2.7.1 - 2025-03-27 9 10 ### Fixed 11 12 - Fixed uppercase IPv6 addresses in URI 13 14 ### Changed 15 16 - Improve uploaded file error message 7 17 8 18 ## 2.7.0 - 2024-07-18 -
miso-ai/trunk/vendor/guzzlehttp/psr7/src/UploadedFile.php
r3174859 r3333221 12 12 class UploadedFile implements UploadedFileInterface 13 13 { 14 private const ERROR S= [15 UPLOAD_ERR_OK ,16 UPLOAD_ERR_INI_SIZE ,17 UPLOAD_ERR_FORM_SIZE ,18 UPLOAD_ERR_PARTIAL ,19 UPLOAD_ERR_NO_FILE ,20 UPLOAD_ERR_NO_TMP_DIR ,21 UPLOAD_ERR_CANT_WRITE ,22 UPLOAD_ERR_EXTENSION ,14 private const ERROR_MAP = [ 15 UPLOAD_ERR_OK => 'UPLOAD_ERR_OK', 16 UPLOAD_ERR_INI_SIZE => 'UPLOAD_ERR_INI_SIZE', 17 UPLOAD_ERR_FORM_SIZE => 'UPLOAD_ERR_FORM_SIZE', 18 UPLOAD_ERR_PARTIAL => 'UPLOAD_ERR_PARTIAL', 19 UPLOAD_ERR_NO_FILE => 'UPLOAD_ERR_NO_FILE', 20 UPLOAD_ERR_NO_TMP_DIR => 'UPLOAD_ERR_NO_TMP_DIR', 21 UPLOAD_ERR_CANT_WRITE => 'UPLOAD_ERR_CANT_WRITE', 22 UPLOAD_ERR_EXTENSION => 'UPLOAD_ERR_EXTENSION', 23 23 ]; 24 24 … … 105 105 private function setError(int $error): void 106 106 { 107 if ( false === in_array($error, UploadedFile::ERRORS, true)) {107 if (!isset(UploadedFile::ERROR_MAP[$error])) { 108 108 throw new InvalidArgumentException( 109 109 'Invalid error status for UploadedFile' … … 138 138 { 139 139 if (false === $this->isOk()) { 140 throw new RuntimeException( 'Cannot retrieve stream due to upload error');140 throw new RuntimeException(\sprintf('Cannot retrieve stream due to upload error (%s)', self::ERROR_MAP[$this->error])); 141 141 } 142 142 -
miso-ai/trunk/vendor/guzzlehttp/psr7/src/Uri.php
r3174859 r3333221 108 108 // If IPv6 109 109 $prefix = ''; 110 if (preg_match('%^(.*://\[[0-9:a-f ]+\])(.*?)$%', $url, $matches)) {110 if (preg_match('%^(.*://\[[0-9:a-fA-F]+\])(.*?)$%', $url, $matches)) { 111 111 /** @var array{0:string, 1:string, 2:string} $matches */ 112 112 $prefix = $matches[1]; -
miso-ai/trunk/vendor/symfony/deprecation-contracts/composer.json
r3174859 r3333221 26 26 "extra": { 27 27 "branch-alias": { 28 "dev-main": "3. 5-dev"28 "dev-main": "3.6-dev" 29 29 }, 30 30 "thanks": { -
miso-ai/trunk/vendor/symfony/polyfill-mbstring/Mbstring.php
r3174859 r3333221 984 984 public static function mb_rtrim(string $string, ?string $characters = null, ?string $encoding = null): string 985 985 { 986 return self::mb_internal_trim('{[%s]+$}D ', $string, $characters, $encoding, __FUNCTION__);986 return self::mb_internal_trim('{[%s]+$}Du', $string, $characters, $encoding, __FUNCTION__); 987 987 } 988 988 -
miso-ai/trunk/vendor/symfony/polyfill-mbstring/bootstrap80.php
r3174859 r3333221 134 134 135 135 if (!function_exists('mb_ucfirst')) { 136 function mb_ucfirst( $string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); }136 function mb_ucfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); } 137 137 } 138 138 139 139 if (!function_exists('mb_lcfirst')) { 140 function mb_lcfirst( $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); }140 function mb_lcfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); } 141 141 } 142 142 -
miso-ai/trunk/vendor/symfony/polyfill-mbstring/composer.json
r3174859 r3333221 17 17 ], 18 18 "require": { 19 "php": ">=7.2" 19 "php": ">=7.2", 20 "ext-iconv": "*" 20 21 }, 21 22 "provide": { -
miso-ai/trunk/vendor/symfony/polyfill-php80/PhpToken.php
r3062001 r3333221 30 30 31 31 /** 32 * @var int32 * @var -1|positive-int 33 33 */ 34 34 public $line; … … 39 39 public $pos; 40 40 41 /** 42 * @param -1|positive-int $line 43 */ 41 44 public function __construct(int $id, string $text, int $line = -1, int $position = -1) 42 45 { … … 81 84 82 85 /** 83 * @return static[]86 * @return list<static> 84 87 */ 85 88 public static function tokenize(string $code, int $flags = 0): array -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Dotenv.php
r3174859 r3333221 200 200 * @throws \Dotenv\Exception\InvalidFileException 201 201 * 202 * @return array<string, string|null>202 * @return array<string, string|null> 203 203 */ 204 204 public static function parse(string $content) … … 216 216 * @throws \Dotenv\Exception\InvalidPathException|\Dotenv\Exception\InvalidEncodingException|\Dotenv\Exception\InvalidFileException 217 217 * 218 * @return array<string, string|null>218 * @return array<string, string|null> 219 219 */ 220 220 public function load() … … 230 230 * @throws \Dotenv\Exception\InvalidEncodingException|\Dotenv\Exception\InvalidFileException 231 231 * 232 * @return array<string, string|null>232 * @return array<string, string|null> 233 233 */ 234 234 public function safeLoad() -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Loader/Loader.php
r3062001 r3333221 20 20 * @param \Dotenv\Parser\Entry[] $entries 21 21 * 22 * @return array<string, string|null>22 * @return array<string, string|null> 23 23 */ 24 24 public function load(RepositoryInterface $repository, array $entries) 25 25 { 26 /** @var array<string, string|null> */ 26 27 return \array_reduce($entries, static function (array $vars, Entry $entry) use ($repository) { 27 28 $name = $entry->getName(); -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php
r3062001 r3333221 15 15 * @param \Dotenv\Parser\Entry[] $entries 16 16 * 17 * @return array<string, string|null>17 * @return array<string, string|null> 18 18 */ 19 19 public function load(RepositoryInterface $repository, array $entries); -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Loader/Resolver.php
r3062001 r3333221 56 56 '/\A\${([a-zA-Z0-9_.]+)}/', 57 57 static function (array $matches) use ($repository) { 58 return Option::fromValue($repository->get($matches[1]))59 ->getOrElse($matches[0]);58 /** @var string */ 59 return Option::fromValue($repository->get($matches[1]))->getOrElse($matches[0]); 60 60 }, 61 61 $str, -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php
r3062001 r3333221 42 42 * @param string $entry 43 43 * 44 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry, string>44 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry, string> 45 45 */ 46 46 public static function parse(string $entry) … … 50 50 51 51 return self::parseName($name)->flatMap(static function (string $name) use ($value) { 52 /** @var Result<Value|null, string> */52 /** @var Result<Value|null, string> */ 53 53 $parsedValue = $value === null ? Success::create(null) : self::parseValue($value); 54 54 … … 65 65 * @param string $line 66 66 * 67 * @return \GrahamCampbell\ResultType\Result<array{string, string|null},string>67 * @return \GrahamCampbell\ResultType\Result<array{string, string|null},string> 68 68 */ 69 69 private static function splitStringIntoParts(string $line) 70 70 { 71 /** @var array{string, string|null} */71 /** @var array{string, string|null} */ 72 72 $result = Str::pos($line, '=')->map(static function () use ($line) { 73 73 return \array_map('trim', \explode('=', $line, 2)); … … 75 75 76 76 if ($result[0] === '') { 77 /** @var \GrahamCampbell\ResultType\Result<array{string, string|null},string> */77 /** @var \GrahamCampbell\ResultType\Result<array{string, string|null},string> */ 78 78 return Error::create(self::getErrorMessage('an unexpected equals', $line)); 79 79 } 80 80 81 /** @var \GrahamCampbell\ResultType\Result<array{string, string|null},string> */81 /** @var \GrahamCampbell\ResultType\Result<array{string, string|null},string> */ 82 82 return Success::create($result); 83 83 } … … 91 91 * @param string $name 92 92 * 93 * @return \GrahamCampbell\ResultType\Result<string, string>93 * @return \GrahamCampbell\ResultType\Result<string, string> 94 94 */ 95 95 private static function parseName(string $name) … … 104 104 105 105 if (!self::isValidName($name)) { 106 /** @var \GrahamCampbell\ResultType\Result<string, string> */106 /** @var \GrahamCampbell\ResultType\Result<string, string> */ 107 107 return Error::create(self::getErrorMessage('an invalid name', $name)); 108 108 } 109 109 110 /** @var \GrahamCampbell\ResultType\Result<string, string> */110 /** @var \GrahamCampbell\ResultType\Result<string, string> */ 111 111 return Success::create($name); 112 112 } … … 153 153 * @param string $value 154 154 * 155 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string>155 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> 156 156 */ 157 157 private static function parseValue(string $value) 158 158 { 159 159 if (\trim($value) === '') { 160 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */160 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */ 161 161 return Success::create(Value::blank()); 162 162 } … … 171 171 /** @psalm-suppress DocblockTypeContradiction */ 172 172 if (in_array($result[1], self::REJECT_STATES, true)) { 173 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */173 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */ 174 174 return Error::create('a missing closing quote'); 175 175 } 176 176 177 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */177 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */ 178 178 return Success::create($result[0]); 179 179 })->mapError(static function (string $err) use ($value) { … … 188 188 * @param string $token 189 189 * 190 * @return \GrahamCampbell\ResultType\Result<array{string, bool,int},string>190 * @return \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> 191 191 */ 192 192 private static function processToken(int $state, string $token) … … 195 195 case self::INITIAL_STATE: 196 196 if ($token === '\'') { 197 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */197 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 198 198 return Success::create(['', false, self::SINGLE_QUOTED_STATE]); 199 199 } elseif ($token === '"') { 200 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */200 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 201 201 return Success::create(['', false, self::DOUBLE_QUOTED_STATE]); 202 202 } elseif ($token === '#') { 203 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */203 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 204 204 return Success::create(['', false, self::COMMENT_STATE]); 205 205 } elseif ($token === '$') { 206 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */206 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 207 207 return Success::create([$token, true, self::UNQUOTED_STATE]); 208 208 } else { 209 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */209 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 210 210 return Success::create([$token, false, self::UNQUOTED_STATE]); 211 211 } 212 212 case self::UNQUOTED_STATE: 213 213 if ($token === '#') { 214 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */214 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 215 215 return Success::create(['', false, self::COMMENT_STATE]); 216 216 } elseif (\ctype_space($token)) { 217 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */217 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 218 218 return Success::create(['', false, self::WHITESPACE_STATE]); 219 219 } elseif ($token === '$') { 220 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */220 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 221 221 return Success::create([$token, true, self::UNQUOTED_STATE]); 222 222 } else { 223 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */223 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 224 224 return Success::create([$token, false, self::UNQUOTED_STATE]); 225 225 } 226 226 case self::SINGLE_QUOTED_STATE: 227 227 if ($token === '\'') { 228 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */228 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 229 229 return Success::create(['', false, self::WHITESPACE_STATE]); 230 230 } else { 231 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */231 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 232 232 return Success::create([$token, false, self::SINGLE_QUOTED_STATE]); 233 233 } 234 234 case self::DOUBLE_QUOTED_STATE: 235 235 if ($token === '"') { 236 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */236 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 237 237 return Success::create(['', false, self::WHITESPACE_STATE]); 238 238 } elseif ($token === '\\') { 239 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */239 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 240 240 return Success::create(['', false, self::ESCAPE_SEQUENCE_STATE]); 241 241 } elseif ($token === '$') { 242 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */242 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 243 243 return Success::create([$token, true, self::DOUBLE_QUOTED_STATE]); 244 244 } else { 245 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */245 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 246 246 return Success::create([$token, false, self::DOUBLE_QUOTED_STATE]); 247 247 } 248 248 case self::ESCAPE_SEQUENCE_STATE: 249 249 if ($token === '"' || $token === '\\') { 250 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */250 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 251 251 return Success::create([$token, false, self::DOUBLE_QUOTED_STATE]); 252 252 } elseif ($token === '$') { 253 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */253 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 254 254 return Success::create([$token, false, self::DOUBLE_QUOTED_STATE]); 255 255 } else { 256 256 $first = Str::substr($token, 0, 1); 257 257 if (\in_array($first, ['f', 'n', 'r', 't', 'v'], true)) { 258 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */258 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 259 259 return Success::create([\stripcslashes('\\'.$first).Str::substr($token, 1), false, self::DOUBLE_QUOTED_STATE]); 260 260 } else { 261 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */261 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 262 262 return Error::create('an unexpected escape sequence'); 263 263 } … … 265 265 case self::WHITESPACE_STATE: 266 266 if ($token === '#') { 267 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */267 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 268 268 return Success::create(['', false, self::COMMENT_STATE]); 269 269 } elseif (!\ctype_space($token)) { 270 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */270 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 271 271 return Error::create('unexpected whitespace'); 272 272 } else { 273 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */273 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 274 274 return Success::create(['', false, self::WHITESPACE_STATE]); 275 275 } 276 276 case self::COMMENT_STATE: 277 /** @var \GrahamCampbell\ResultType\Result<array{string, bool,int},string> */277 /** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */ 278 278 return Success::create(['', false, self::COMMENT_STATE]); 279 279 default: -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Parser/Lines.php
r3062001 r3333221 55 55 * @param string[] $buffer 56 56 * 57 * @return array{bool,string, string[]}57 * @return array{bool,string, string[]} 58 58 */ 59 59 private static function multilineProcess(bool $multiline, string $line, array $buffer) -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Parser/Parser.php
r3062001 r3333221 37 37 * @param string[] $entries 38 38 * 39 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[], string>39 * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[], string> 40 40 */ 41 41 private static function process(array $entries) 42 42 { 43 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[], string> */43 /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[], string> */ 44 44 return \array_reduce($entries, static function (Result $result, string $raw) { 45 45 return $result->flatMap(static function (array $entries) use ($raw) { -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php
r3062001 r3333221 13 13 * The variables and their values. 14 14 * 15 * @var array<string, string>15 * @var array<string, string> 16 16 */ 17 17 private $variables; -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php
r3062001 r3333221 24 24 * The record of loaded variables. 25 25 * 26 * @var array<string, string>26 * @var array<string, string> 27 27 */ 28 28 private $loaded; -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php
r3062001 r3333221 24 24 * The record of seen variables. 25 25 * 26 * @var array<string, string>26 * @var array<string, string> 27 27 */ 28 28 private $seen; -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Store/File/Reader.php
r3174859 r3333221 39 39 * @throws \Dotenv\Exception\InvalidEncodingException 40 40 * 41 * @return array<string, string>41 * @return array<string, string> 42 42 */ 43 43 public static function read(array $filePaths, bool $shortCircuit = true, ?string $fileEncoding = null) -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Util/Regex.php
r3174859 r3333221 31 31 * @param string $subject 32 32 * 33 * @return \GrahamCampbell\ResultType\Result<bool, string>33 * @return \GrahamCampbell\ResultType\Result<bool, string> 34 34 */ 35 35 public static function matches(string $pattern, string $subject) … … 46 46 * @param string $subject 47 47 * 48 * @return \GrahamCampbell\ResultType\Result<int, string>48 * @return \GrahamCampbell\ResultType\Result<int, string> 49 49 */ 50 50 public static function occurrences(string $pattern, string $subject) … … 58 58 * Perform a preg replace callback, wrapping up the result. 59 59 * 60 * @param string $pattern61 * @param callable $callback62 * @param string $subject63 * @param int|null $limit60 * @param string $pattern 61 * @param callable(string[]): string $callback 62 * @param string $subject 63 * @param int|null $limit 64 64 * 65 * @return \GrahamCampbell\ResultType\Result<string, string>65 * @return \GrahamCampbell\ResultType\Result<string, string> 66 66 */ 67 67 public static function replaceCallback(string $pattern, callable $callback, string $subject, ?int $limit = null) … … 78 78 * @param string $subject 79 79 * 80 * @return \GrahamCampbell\ResultType\Result<string[], string>80 * @return \GrahamCampbell\ResultType\Result<string[], string> 81 81 */ 82 82 public static function split(string $pattern, string $subject) … … 93 93 * @template V 94 94 * 95 * @param callable(string): V $operation96 * @param string $subject95 * @param callable(string): V $operation 96 * @param string $subject 97 97 * 98 * @return \GrahamCampbell\ResultType\Result<V, string>98 * @return \GrahamCampbell\ResultType\Result<V, string> 99 99 */ 100 100 private static function pregAndWrap(callable $operation, string $subject) -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Util/Str.php
r3174859 r3333221 32 32 * @param string|null $encoding 33 33 * 34 * @return \GrahamCampbell\ResultType\Result<string, string>34 * @return \GrahamCampbell\ResultType\Result<string, string> 35 35 */ 36 36 public static function utf8(string $input, ?string $encoding = null) 37 37 { 38 38 if ($encoding !== null && !\in_array($encoding, \mb_list_encodings(), true)) { 39 /** @var \GrahamCampbell\ResultType\Result<string, string> */39 /** @var \GrahamCampbell\ResultType\Result<string, string> */ 40 40 return Error::create( 41 41 \sprintf('Illegal character encoding [%s] specified.', $encoding) 42 42 ); 43 43 } 44 44 45 $converted = $encoding === null ? 45 46 @\mb_convert_encoding($input, 'UTF-8') : 46 47 @\mb_convert_encoding($input, 'UTF-8', $encoding); 48 49 if (!is_string($converted)) { 50 /** @var \GrahamCampbell\ResultType\Result<string, string> */ 51 return Error::create( 52 \sprintf('Conversion from encoding [%s] failed.', $encoding ?? 'NULL') 53 ); 54 } 55 47 56 /** 48 57 * this is for support UTF-8 with BOM encoding … … 53 62 $converted = \substr($converted, 3); 54 63 } 55 /** @var \GrahamCampbell\ResultType\Result<string,string> */ 64 65 /** @var \GrahamCampbell\ResultType\Result<string, string> */ 56 66 return Success::create($converted); 57 67 } -
miso-ai/trunk/vendor/vlucas/phpdotenv/src/Validator.php
r3062001 r3333221 31 31 * @param \Dotenv\Repository\RepositoryInterface $repository 32 32 * @param string[] $variables 33 *34 * @throws \Dotenv\Exception\ValidationException35 33 * 36 34 * @return void -
miso-ai/trunk/vendor/woocommerce/action-scheduler/action-scheduler.php
r3204556 r3333221 6 6 * Author: Automattic 7 7 * Author URI: https://automattic.com/ 8 * Version: 3.9. 08 * Version: 3.9.3 9 9 * License: GPLv3 10 10 * Requires at least: 6.5 11 * Tested up to: 6. 712 * Requires PHP: 7. 111 * Tested up to: 6.8 12 * Requires PHP: 7.2 13 13 * 14 14 * Copyright 2019 Automattic, Inc. (https://automattic.com/contact/) … … 30 30 */ 31 31 32 if ( ! function_exists( 'action_scheduler_register_3_dot_9_dot_ 0' ) && function_exists( 'add_action' ) ) { // WRCS: DEFINED_VERSION.32 if ( ! function_exists( 'action_scheduler_register_3_dot_9_dot_3' ) && function_exists( 'add_action' ) ) { // WRCS: DEFINED_VERSION. 33 33 34 34 if ( ! class_exists( 'ActionScheduler_Versions', false ) ) { … … 37 37 } 38 38 39 add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_9_dot_ 0', 0, 0 ); // WRCS: DEFINED_VERSION.39 add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_9_dot_3', 0, 0 ); // WRCS: DEFINED_VERSION. 40 40 41 41 // phpcs:disable Generic.Functions.OpeningFunctionBraceKernighanRitchie.ContentAfterBrace … … 43 43 * Registers this version of Action Scheduler. 44 44 */ 45 function action_scheduler_register_3_dot_9_dot_ 0() { // WRCS: DEFINED_VERSION.45 function action_scheduler_register_3_dot_9_dot_3() { // WRCS: DEFINED_VERSION. 46 46 $versions = ActionScheduler_Versions::instance(); 47 $versions->register( '3.9. 0', 'action_scheduler_initialize_3_dot_9_dot_0' ); // WRCS: DEFINED_VERSION.47 $versions->register( '3.9.3', 'action_scheduler_initialize_3_dot_9_dot_3' ); // WRCS: DEFINED_VERSION. 48 48 } 49 49 … … 52 52 * Initializes this version of Action Scheduler. 53 53 */ 54 function action_scheduler_initialize_3_dot_9_dot_ 0() { // WRCS: DEFINED_VERSION.54 function action_scheduler_initialize_3_dot_9_dot_3() { // WRCS: DEFINED_VERSION. 55 55 // A final safety check is required even here, because historic versions of Action Scheduler 56 56 // followed a different pattern (in some unusual cases, we could reach this point and the … … 64 64 // Support usage in themes - load this version if no plugin has loaded a version yet. 65 65 if ( did_action( 'plugins_loaded' ) && ! doing_action( 'plugins_loaded' ) && ! class_exists( 'ActionScheduler', false ) ) { 66 action_scheduler_initialize_3_dot_9_dot_ 0(); // WRCS: DEFINED_VERSION.66 action_scheduler_initialize_3_dot_9_dot_3(); // WRCS: DEFINED_VERSION. 67 67 do_action( 'action_scheduler_pre_theme_init' ); 68 68 ActionScheduler_Versions::initialize_latest_version(); -
miso-ai/trunk/vendor/woocommerce/action-scheduler/changelog.txt
r3204556 r3333221 1 1 *** Changelog *** 2 3 = 3.9.3 - 2025-07-15 = 4 * Add hook 'action_scheduler_ensure_recurring_actions' specifically for scheduling recurring actions. 5 * Assume an action is valid until proven otherwise. 6 * Implement SKIP LOCKED during action claiming. 7 * Import `get_flag_value()` from `WP_CLI\Utils` before using. 8 * Make `$unique` available to all pre-creation/short-circuit hooks. 9 * Make version/source information available via new class. 10 * Only release claims on pending actions. 11 * Tweak - WP 6.8 compatibility. 12 * Update minimum supported php and phpunit versions. 13 * Update readme.txt. 14 * WP CLI get action command: correct parentheses/nesting of conditional checks. 15 16 = 3.9.2 - 2025-02-03 = 17 * Fixed fatal errors by moving version info methods to a new class and deprecating conflicting ones in ActionScheduler_Versions 18 19 = 3.9.1 - 2025-01-21 = 20 * A number of new WP CLI commands have been added, making it easier to manage actions in the terminal and from scripts. 21 * New wp action-scheduler source command to help determine how Action Scheduler is being loaded. 22 * Additional information about the active instance of Action Scheduler is now available in the Help pull-down drawer. 23 * Make some other nullable parameters explicitly nullable. 24 * Set option value to `no` rather than deleting. 2 25 3 26 = 3.9.0 - 2024-11-14 = -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_ActionFactory.php
r3204556 r3333221 9 9 * Return stored actions for given params. 10 10 * 11 * @param string $status The action's status in the data store.12 * @param string $hook The hook to trigger when this action runs.13 * @param array $args Args to pass to callbacks when the hook is triggered.14 * @param ActionScheduler_Schedule $schedule The action's schedule.15 * @param string $group A group to put the action in.11 * @param string $status The action's status in the data store. 12 * @param string $hook The hook to trigger when this action runs. 13 * @param array $args Args to pass to callbacks when the hook is triggered. 14 * @param ActionScheduler_Schedule|null $schedule The action's schedule. 15 * @param string $group A group to put the action in. 16 16 * phpcs:ignore Squiz.Commenting.FunctionComment.ExtraParamComment 17 * @param int $priority The action priority.17 * @param int $priority The action priority. 18 18 * 19 19 * @return ActionScheduler_Action An instance of the stored action. 20 20 */ 21 public function get_stored_action( $status, $hook, array $args = array(), ActionScheduler_Schedule $schedule = null, $group = '' ) {21 public function get_stored_action( $status, $hook, array $args = array(), ?ActionScheduler_Schedule $schedule = null, $group = '' ) { 22 22 // The 6th parameter ($priority) is not formally declared in the method signature to maintain compatibility with 23 23 // third-party subclasses created before this param was added. -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_AdminView.php
r3204556 r3333221 251 251 } 252 252 253 $as_version = ActionScheduler_Versions::instance()->latest_version(); 253 $as_version = ActionScheduler_Versions::instance()->latest_version(); 254 $as_source = ActionScheduler_SystemInformation::active_source(); 255 $as_source_path = ActionScheduler_SystemInformation::active_source_path(); 256 $as_source_markup = sprintf( '<code>%s</code>', esc_html( $as_source_path ) ); 257 258 if ( ! empty( $as_source ) ) { 259 $as_source_markup = sprintf( 260 '%s: <abbr title="%s">%s</abbr>', 261 ucfirst( $as_source['type'] ), 262 esc_attr( $as_source_path ), 263 esc_html( $as_source['name'] ) 264 ); 265 } 266 254 267 $screen->add_help_tab( 255 268 array( … … 261 274 '<p>' . 262 275 __( 'Action Scheduler is a scalable, traceable job queue for background processing large sets of actions. Action Scheduler works by triggering an action hook to run at some time in the future. Scheduled actions can also be scheduled to run on a recurring schedule.', 'action-scheduler' ) . 276 '</p>' . 277 '<h3>' . esc_html__( 'Source', 'action-scheduler' ) . '</h3>' . 278 '<p>' . 279 esc_html__( 'Action Scheduler is currently being loaded from the following location. This can be useful when debugging, or if requested by the support team.', 'action-scheduler' ) . 280 '</p>' . 281 '<p>' . $as_source_markup . '</p>' . 282 '<h3>' . esc_html__( 'WP CLI', 'action-scheduler' ) . '</h3>' . 283 '<p>' . 284 sprintf( 285 /* translators: %1$s is WP CLI command (not translatable) */ 286 esc_html__( 'WP CLI commands are available: execute %1$s for a list of available commands.', 'action-scheduler' ), 287 '<code>wp help action-scheduler</code>' 288 ) . 263 289 '</p>', 264 290 ) -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_DataController.php
r3204556 r3333221 163 163 } 164 164 165 $wp_object_cache->group_ops = array(); 166 $wp_object_cache->stats = array(); 167 $wp_object_cache->memcache_debug = array(); 168 $wp_object_cache->cache = array(); 165 // Not all drop-ins support these props, however, there may be existing installations that rely on these being cleared. 166 if ( property_exists( $wp_object_cache, 'group_ops' ) ) { 167 $wp_object_cache->group_ops = array(); 168 } 169 if ( property_exists( $wp_object_cache, 'stats' ) ) { 170 $wp_object_cache->stats = array(); 171 } 172 if ( property_exists( $wp_object_cache, 'memcache_debug' ) ) { 173 $wp_object_cache->memcache_debug = array(); 174 } 175 if ( property_exists( $wp_object_cache, 'cache' ) ) { 176 $wp_object_cache->cache = array(); 177 } 169 178 170 179 if ( is_callable( array( $wp_object_cache, '__remoteset' ) ) ) { -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_Versions.php
r3204556 r3333221 20 20 21 21 /** 22 * Registered sources. 23 * 24 * @var array<string, string> 25 */ 26 private $sources = array(); 27 28 /** 22 29 * Register version's callback. 23 30 * … … 29 36 return false; 30 37 } 38 39 // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_debug_backtrace 40 $backtrace = debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS ); 41 $source = $backtrace[0]['file']; 42 31 43 $this->versions[ $version_string ] = $initialization_callback; 44 $this->sources[ $source ] = $version_string; 32 45 return true; 33 46 } … … 38 51 public function get_versions() { 39 52 return $this->versions; 53 } 54 55 /** 56 * Get registered sources. 57 * 58 * Use with caution: this method is only available as of Action Scheduler's 3.9.1 59 * release and, owing to the way Action Scheduler is loaded, it's possible that the 60 * class definition used at runtime will belong to an earlier version. 61 * 62 * @since 3.9.1 63 * 64 * @return array<string, string> 65 */ 66 public function get_sources() { 67 return $this->sources; 40 68 } 41 69 … … 87 115 call_user_func( $self->latest_version_callback() ); 88 116 } 117 118 /** 119 * Returns information about the plugin or theme which contains the current active version 120 * of Action Scheduler. 121 * 122 * If this cannot be determined, or if Action Scheduler is being loaded via some other 123 * method, then it will return an empty array. Otherwise, if populated, the array will 124 * look like the following: 125 * 126 * [ 127 * 'type' => 'plugin', # or 'theme' 128 * 'name' => 'Name', 129 * ] 130 * 131 * @deprecated 3.9.2 Use ActionScheduler_SystemInformation::active_source(). 132 * 133 * @return array 134 */ 135 public function active_source(): array { 136 _deprecated_function( __METHOD__, '3.9.2', 'ActionScheduler_SystemInformation::active_source()' ); 137 return ActionScheduler_SystemInformation::active_source(); 138 } 139 140 /** 141 * Returns the directory path for the currently active installation of Action Scheduler. 142 * 143 * @deprecated 3.9.2 Use ActionScheduler_SystemInformation::active_source_path(). 144 * 145 * @return string 146 */ 147 public function active_source_path(): string { 148 _deprecated_function( __METHOD__, '3.9.2', 'ActionScheduler_SystemInformation::active_source_path()' ); 149 return ActionScheduler_SystemInformation::active_source_path(); 150 } 89 151 } -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_WPCommentCleaner.php
r3204556 r3333221 67 67 */ 68 68 public static function maybe_schedule_cleanup() { 69 $has_logs = 'no'; 70 69 71 $args = array( 70 72 'type' => ActionScheduler_wpCommentLogger::TYPE, … … 74 76 75 77 if ( (bool) get_comments( $args ) ) { 76 update_option( self::$has_logs_option_key, 'yes' );78 $has_logs = 'yes'; 77 79 78 80 if ( ! as_next_scheduled_action( self::$cleanup_hook ) ) { … … 80 82 } 81 83 } 84 85 update_option( self::$has_logs_option_key, $has_logs, true ); 82 86 } 83 87 … … 96 100 ); 97 101 98 delete_option( self::$has_logs_option_key);102 update_option( self::$has_logs_option_key, 'no', true ); 99 103 } 100 104 -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/ActionScheduler_wcSystemStatus.php
r3062001 r3333221 77 77 $action = $this->store->query_actions( 78 78 array( 79 'claimed' => false,80 79 'status' => $status, 81 80 'per_page' => 1, -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php
r3204556 r3333221 185 185 ActionScheduler_DataController::init(); 186 186 187 $store = self::store(); 188 $logger = self::logger(); 189 $runner = self::runner(); 190 $admin_view = self::admin_view(); 187 $store = self::store(); 188 $logger = self::logger(); 189 $runner = self::runner(); 190 $admin_view = self::admin_view(); 191 $recurring_action_scheduler = new ActionScheduler_RecurringActionScheduler(); 191 192 192 193 // Ensure initialization on plugin activation. … … 197 198 add_action( 'init', array( $logger, 'init' ), 1, 0 ); 198 199 add_action( 'init', array( $runner, 'init' ), 1, 0 ); 200 add_action( 'init', array( $recurring_action_scheduler, 'init' ), 1, 0 ); 199 201 200 202 add_action( … … 224 226 $logger->init(); 225 227 $runner->init(); 228 $recurring_action_scheduler->init(); 226 229 self::$data_store_initialized = true; 227 230 … … 241 244 WP_CLI::add_command( 'action-scheduler', 'ActionScheduler_WPCLI_Scheduler_command' ); 242 245 WP_CLI::add_command( 'action-scheduler', 'ActionScheduler_WPCLI_Clean_Command' ); 246 WP_CLI::add_command( 'action-scheduler action', '\Action_Scheduler\WP_CLI\Action_Command' ); 247 WP_CLI::add_command( 'action-scheduler', '\Action_Scheduler\WP_CLI\System_Command' ); 243 248 if ( ! ActionScheduler_DataController::is_migration_complete() && Controller::instance()->allow_migration() ) { 244 249 $command = new Migration_Command(); … … 297 302 'ActionScheduler_Store' => true, 298 303 'ActionScheduler_TimezoneHelper' => true, 304 'ActionScheduler_WPCLI_Command' => true, 299 305 ); 300 306 … … 341 347 protected static function is_class_cli( $class ) { 342 348 static $cli_segments = array( 343 'QueueRunner' => true, 344 'Command' => true, 345 'ProgressBar' => true, 349 'QueueRunner' => true, 350 'Command' => true, 351 'ProgressBar' => true, 352 '\Action_Scheduler\WP_CLI\Action_Command' => true, 353 '\Action_Scheduler\WP_CLI\System_Command' => true, 346 354 ); 347 355 -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php
r3204556 r3333221 87 87 try { 88 88 try { 89 $valid_action = false; 89 $valid_action = true; 90 90 91 do_action( 'action_scheduler_before_execute', $action_id, $context ); 91 92 92 93 if ( ActionScheduler_Store::STATUS_PENDING !== $this->store->get_status( $action_id ) ) { 94 $valid_action = false; 93 95 do_action( 'action_scheduler_execution_ignored', $action_id, $context ); 94 96 return; 95 97 } 96 98 97 $valid_action = true;98 99 do_action( 'action_scheduler_begin_execute', $action_id, $context ); 99 100 -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php
r3204556 r3333221 932 932 */ 933 933 global $wpdb; 934 935 934 $now = as_get_datetime_object(); 936 935 $date = is_null( $before_date ) ? $now : clone $before_date; 937 // can't use $wpdb->update() because of the <= condition.938 $update = "UPDATE {$wpdb->actionscheduler_actions} SET claim_id=%d, last_attempt_gmt=%s, last_attempt_local=%s";939 $params = array(940 $claim_id,941 $now->format( 'Y-m-d H:i:s' ),942 current_time( 'mysql' ),943 );944 936 945 937 // Set claim filters. … … 955 947 } 956 948 957 $where = 'WHERE claim_id = 0 AND scheduled_date_gmt <= %s AND status=%s'; 958 $params[] = $date->format( 'Y-m-d H:i:s' ); 959 $params[] = self::STATUS_PENDING; 949 $where = 'WHERE claim_id = 0 AND scheduled_date_gmt <= %s AND status=%s'; 950 $where_params = array( 951 $date->format( 'Y-m-d H:i:s' ), 952 self::STATUS_PENDING, 953 ); 960 954 961 955 if ( ! empty( $hooks ) ) { 962 956 $placeholders = array_fill( 0, count( $hooks ), '%s' ); 963 $where .= ' AND hook IN (' . join( ', ', $placeholders ) . ')';964 $ params = array_merge( $params, array_values( $hooks ) );957 $where .= ' AND hook IN (' . join( ', ', $placeholders ) . ')'; 958 $where_params = array_merge( $where_params, array_values( $hooks ) ); 965 959 } 966 960 … … 997 991 * Sets the order-by clause used in the action claim query. 998 992 * 999 * @since 3.4.01000 * @since 3.8.3 Made $claim_id and $hooks available.1001 *1002 993 * @param string $order_by_sql 1003 994 * @param string $claim_id Claim Id. 1004 * @param array $hooks Hooks to filter for. 1005 */ 1006 $order = apply_filters( 'action_scheduler_claim_actions_order_by', 'ORDER BY priority ASC, attempts ASC, scheduled_date_gmt ASC, action_id ASC', $claim_id, $hooks ); 1007 $params[] = $limit; 1008 1009 $sql = $wpdb->prepare( "{$update} {$where} {$order} LIMIT %d", $params ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders 1010 $rows_affected = $wpdb->query( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 995 * @param array $hooks Hooks to filter for. 996 * 997 * @since 3.8.3 Made $claim_id and $hooks available. 998 * @since 3.4.0 999 */ 1000 $order = apply_filters( 'action_scheduler_claim_actions_order_by', 'ORDER BY priority ASC, attempts ASC, scheduled_date_gmt ASC, action_id ASC', $claim_id, $hooks ); 1001 $skip_locked = $this->db_supports_skip_locked() ? ' SKIP LOCKED' : ''; 1002 1003 // Selecting the action_ids that we plan to claim, while skipping any locked rows to avoid deadlocking. 1004 $select_sql = $wpdb->prepare( "SELECT action_id from {$wpdb->actionscheduler_actions} {$where} {$order} LIMIT %d FOR UPDATE{$skip_locked}", array_merge( $where_params, array( $limit ) ) ); 1005 1006 // Now place it into an UPDATE statement by joining the result sets, allowing for the SKIP LOCKED behavior to take effect. 1007 $update_sql = "UPDATE {$wpdb->actionscheduler_actions} t1 JOIN ( $select_sql ) t2 ON t1.action_id = t2.action_id SET claim_id=%d, last_attempt_gmt=%s, last_attempt_local=%s"; 1008 $update_params = array( 1009 $claim_id, 1010 $now->format( 'Y-m-d H:i:s' ), 1011 current_time( 'mysql' ), 1012 ); 1013 1014 $rows_affected = $wpdb->query( $wpdb->prepare( $update_sql, $update_params ) ); 1011 1015 if ( false === $rows_affected ) { 1012 1016 $error = empty( $wpdb->last_error ) 1013 1017 ? _x( 'unknown', 'database error', 'action-scheduler' ) 1014 1018 : $wpdb->last_error; 1015 1016 1019 throw new \RuntimeException( 1017 1020 sprintf( … … 1027 1030 1028 1031 /** 1032 * Determines whether the database supports using SKIP LOCKED. This logic mimicks the $wpdb::has_cap() logic. 1033 * 1034 * SKIP_LOCKED support was added to MariaDB in 10.6.0 and to MySQL in 8.0.1 1035 * 1036 * @return bool 1037 */ 1038 private function db_supports_skip_locked() { 1039 global $wpdb; 1040 $db_version = $wpdb->db_version(); 1041 $db_server_info = $wpdb->db_server_info(); 1042 $is_mariadb = ( false !== strpos( $db_server_info, 'MariaDB' ) ); 1043 1044 if ( $is_mariadb && 1045 '5.5.5' === $db_version && 1046 PHP_VERSION_ID < 80016 // PHP 8.0.15 or older. 1047 ) { 1048 /* 1049 * Account for MariaDB version being prefixed with '5.5.5-' on older PHP versions. 1050 */ 1051 $db_server_info = preg_replace( '/^5\.5\.5-(.*)/', '$1', $db_server_info ); 1052 $db_version = preg_replace( '/[^0-9.].*/', '', $db_server_info ); 1053 } 1054 1055 $is_supported = ( $is_mariadb && version_compare( $db_version, '10.6.0', '>=' ) ) || 1056 ( ! $is_mariadb && version_compare( $db_version, '8.0.1', '>=' ) ); 1057 1058 /** 1059 * Filter whether the database supports the SKIP LOCKED modifier for queries. 1060 * 1061 * @param bool $is_supported Whether SKIP LOCKED is supported. 1062 * 1063 * @since 3.9.3 1064 */ 1065 return apply_filters( 'action_scheduler_db_supports_skip_locked', $is_supported ); 1066 } 1067 1068 /** 1029 1069 * Get the number of active claims. 1030 1070 * … … 1095 1135 1096 1136 /** 1097 * Release actions from a claim and delete the claim.1137 * Release pending actions from a claim and delete the claim. 1098 1138 * 1099 1139 * @param ActionScheduler_ActionClaim $claim Claim object. … … 1107 1147 */ 1108 1148 global $wpdb; 1149 1150 if ( 0 === intval( $claim->get_id() ) ) { 1151 // Verify that the claim_id is valid before attempting to release it. 1152 return; 1153 } 1109 1154 1110 1155 /** … … 1114 1159 * 1115 1160 * We resolve this by getting all the actions_id that we want to release claim from in a separate query, and then releasing the claim on each of them. This way, our lock is acquired on the action_id index instead of the claim_id index. Note that the lock on claim_id will still be acquired, but it will only when we actually make the update, rather than when we select the actions. 1116 */ 1117 $action_ids = $wpdb->get_col( $wpdb->prepare( "SELECT action_id FROM {$wpdb->actionscheduler_actions} WHERE claim_id = %d", $claim->get_id() ) ); 1161 * 1162 * We only release pending actions in order for them to be claimed by another process. 1163 */ 1164 $action_ids = $wpdb->get_col( $wpdb->prepare( "SELECT action_id FROM {$wpdb->actionscheduler_actions} WHERE claim_id = %d AND status = %s", $claim->get_id(), self::STATUS_PENDING ) ); 1118 1165 1119 1166 $row_updates = 0; -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php
r3204556 r3333221 433 433 434 434 /** 435 * Release a claim in the table data store .435 * Release a claim in the table data store on any pending actions. 436 436 * 437 437 * @param ActionScheduler_ActionClaim $claim Claim object. -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php
r3204556 r3333221 792 792 793 793 /** 794 * Release claim.794 * Release pending actions from a claim. 795 795 * 796 796 * @param ActionScheduler_ActionClaim $claim Claim object to release. … … 799 799 */ 800 800 public function release_claim( ActionScheduler_ActionClaim $claim ) { 801 $action_ids = $this->find_actions_by_claim_id( $claim->get_id() );802 if ( empty( $action_ids ) ) {803 return; // nothing to do.804 }805 $action_id_string = implode( ',', array_map( 'intval', $action_ids ) );806 801 /** 807 802 * Global wpdb object. … … 810 805 */ 811 806 global $wpdb; 807 808 $claim_id = $claim->get_id(); 809 if ( trim( $claim_id ) === '' ) { 810 // Verify that the claim_id is valid before attempting to release it. 811 return; 812 } 813 814 // Only attempt to release pending actions to be claimed again. Running and complete actions are no longer relevant outside of admin/analytics. 815 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 816 $action_ids = $wpdb->get_col( 817 $wpdb->prepare( 818 "SELECT ID, post_date_gmt FROM {$wpdb->posts} WHERE post_type = %s AND post_password = %s AND post_status = %s", 819 self::POST_TYPE, 820 $claim_id, 821 self::STATUS_PENDING 822 ) 823 ); 824 825 if ( empty( $action_ids ) ) { 826 return; // nothing to do. 827 } 828 $action_id_string = implode( ',', array_map( 'intval', $action_ids ) ); 812 829 813 830 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -
miso-ai/trunk/vendor/woocommerce/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php
r3204556 r3333221 21 21 * @var int 22 22 */ 23 protected $schema_version = 7;23 protected $schema_version = 8; 24 24 25 25 /** … … 81 81 KEY group_id (group_id), 82 82 KEY last_attempt_gmt (last_attempt_gmt), 83 KEY `claim_id_status_scheduled_date_gmt` (`claim_id`, `status`, `scheduled_date_gmt`) 83 KEY `claim_id_status_priority_scheduled_date_gmt` (`claim_id`,`status`,`priority`,`scheduled_date_gmt`), 84 KEY `status_last_attempt_gmt` (`status`,`last_attempt_gmt`), 85 KEY `status_claim_id` (`status`,`claim_id`) 84 86 ) $charset_collate"; 85 87 -
miso-ai/trunk/vendor/woocommerce/action-scheduler/deprecated/ActionScheduler_Schedule_Deprecated.php
r3062001 r3333221 14 14 * @return DateTime|null 15 15 */ 16 public function next( DateTime $after = null ) {16 public function next( ?DateTime $after = null ) { 17 17 if ( empty( $after ) ) { 18 18 $return_value = $this->get_date(); -
miso-ai/trunk/vendor/woocommerce/action-scheduler/functions.php
r3204556 r3333221 87 87 * @param string $group Action group. 88 88 * @param int $priorities Action priority. 89 * @param bool $unique Unique action. 89 90 */ 90 $pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group, $priority );91 $pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group, $priority, $unique ); 91 92 if ( null !== $pre ) { 92 93 return is_int( $pre ) ? $pre : 0; … … 160 161 * @param string $group Action group. 161 162 * @param int $priority Action priority. 163 * @param bool $unique Unique action. 162 164 */ 163 $pre = apply_filters( 'pre_as_schedule_recurring_action', null, $timestamp, $interval_in_seconds, $hook, $args, $group, $priority );165 $pre = apply_filters( 'pre_as_schedule_recurring_action', null, $timestamp, $interval_in_seconds, $hook, $args, $group, $priority, $unique ); 164 166 if ( null !== $pre ) { 165 167 return is_int( $pre ) ? $pre : 0; … … 226 228 * @param string $group Action group. 227 229 * @param int $priority Action priority. 230 * @param bool $unique Unique action. 228 231 */ 229 $pre = apply_filters( 'pre_as_schedule_cron_action', null, $timestamp, $schedule, $hook, $args, $group, $priority );232 $pre = apply_filters( 'pre_as_schedule_cron_action', null, $timestamp, $schedule, $hook, $args, $group, $priority, $unique ); 230 233 if ( null !== $pre ) { 231 234 return is_int( $pre ) ? $pre : 0; … … 494 497 return $date; 495 498 } 499 500 /** 501 * Check if a specific feature is supported by the current version of Action Scheduler. 502 * 503 * @since 3.9.3 504 * 505 * @param string $feature The feature to check support for. 506 * 507 * @return bool True if the feature is supported, false otherwise. 508 */ 509 function as_supports( string $feature ): bool { 510 $supported_features = array( 'ensure_recurring_actions_hook' ); 511 512 return in_array( $feature, $supported_features, true ); 513 } -
miso-ai/trunk/vendor/woocommerce/action-scheduler/lib/cron-expression/CronExpression.php
r3062001 r3333221 55 55 * @return CronExpression 56 56 */ 57 public static function factory($expression, CronExpression_FieldFactory $fieldFactory = null)57 public static function factory($expression, ?CronExpression_FieldFactory $fieldFactory = null) 58 58 { 59 59 $mappings = array( -
miso-ai/trunk/vendor/woocommerce/action-scheduler/readme.txt
r3204556 r3333221 2 2 Contributors: Automattic, wpmuguru, claudiosanches, peterfabian1000, vedjain, jamosova, obliviousharmony, konamiman, sadowski, royho, barryhughes-1 3 3 Tags: scheduler, cron 4 Stable tag: 3.9. 04 Stable tag: 3.9.3 5 5 License: GPLv3 6 6 Requires at least: 6.5 7 Tested up to: 6. 78 Requires PHP: 7. 17 Tested up to: 6.8 8 Requires PHP: 7.2 9 9 10 10 Action Scheduler - Job Queue for WordPress … … 30 30 ## Learn More 31 31 32 To learn more about how toAction Scheduler works, and how to use it in your plugin, check out the docs on [ActionScheduler.org](https://actionscheduler.org).32 To learn more about how Action Scheduler works, and how to use it in your plugin, check out the docs on [ActionScheduler.org](https://actionscheduler.org). 33 33 34 34 There you will find: … … 47 47 48 48 == Changelog == 49 50 = 3.9.3 - 2025-07-15 = 51 * Add hook 'action_scheduler_ensure_recurring_actions' specifically for scheduling recurring actions. 52 * Assume an action is valid until proven otherwise. 53 * Implement SKIP LOCKED during action claiming. 54 * Import `get_flag_value()` from `WP_CLI\Utils` before using. 55 * Make `$unique` available to all pre-creation/short-circuit hooks. 56 * Make version/source information available via new class. 57 * Only release claims on pending actions. 58 * Tweak - WP 6.8 compatibility. 59 * Update minimum supported php and phpunit versions. 60 * Update readme.txt. 61 * WP CLI get action command: correct parentheses/nesting of conditional checks. 62 63 = 3.9.2 - 2025-02-03 = 64 * Fixed fatal errors by moving version info methods to a new class and deprecating conflicting ones in ActionScheduler_Versions 65 66 = 3.9.1 - 2025-01-21 = 67 * A number of new WP CLI commands have been added, making it easier to manage actions in the terminal and from scripts. 68 * New wp action-scheduler source command to help determine how Action Scheduler is being loaded. 69 * Additional information about the active instance of Action Scheduler is now available in the Help pull-down drawer. 70 * Make some other nullable parameters explicitly nullable. 71 * Set option value to `no` rather than deleting. 49 72 50 73 = 3.9.0 - 2024-11-14 =
Note: See TracChangeset
for help on using the changeset viewer.