ok-script 3.0.0b1__tar.gz → 3.0.0b2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/PKG-INFO +1 -1
  2. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/qss.py +5 -0
  3. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/tasks_page.py +21 -8
  4. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok_script.egg-info/PKG-INFO +1 -1
  5. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/develop/SKILL.md +0 -0
  6. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/develop/agents/openai.yaml +0 -0
  7. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/develop/references/windows-input.md +0 -0
  8. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/generate-templates/SKILL.md +0 -0
  9. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/reload-tasks/SKILL.md +0 -0
  10. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/reload-tasks/agents/openai.yaml +0 -0
  11. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/setup-env/SKILL.md +0 -0
  12. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/setup-env/agents/openai.yaml +0 -0
  13. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/setup-env/assets/ok-script-develop/SKILL.md +0 -0
  14. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/setup-project/SKILL.md +0 -0
  15. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/setup-project/agents/openai.yaml +0 -0
  16. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/use_venv/SKILL.md +0 -0
  17. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/write-test/SKILL.md +0 -0
  18. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/.agents/skills/write-test/agents/openai.yaml +0 -0
  19. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/LICENSE.txt +0 -0
  20. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/MANIFEST.in +0 -0
  21. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/README.md +0 -0
  22. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/diagnostics/qq_trace.py +0 -0
  23. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/docs/agent-setup.md +0 -0
  24. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/docs/feature-crops.md +0 -0
  25. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/docs/mcp.md +0 -0
  26. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/examples/mcp_observe.py +0 -0
  27. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/__init__.py +0 -0
  28. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/__main__.py +0 -0
  29. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/alas/__init__.py +0 -0
  30. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/alas/emulator_base.py +0 -0
  31. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/alas/emulator_windows.py +0 -0
  32. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/alas/platform_windows.py +0 -0
  33. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/alas/utils.py +0 -0
  34. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/assets/default-icon.png +0 -0
  35. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/__init__.py +0 -0
  36. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/adb/__init__.py +0 -0
  37. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/adb/deep.py +0 -0
  38. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/adb/minitouch.py +0 -0
  39. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/adb/nemu_ipc.py +0 -0
  40. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/adb/nemu_utils.py +0 -0
  41. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/adb/pool.py +0 -0
  42. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/adb/timer.py +0 -0
  43. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/adb/util.py +0 -0
  44. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/windows/__init__.py +0 -0
  45. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/windows/d3d11.py +0 -0
  46. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/capture/windows/dump.py +0 -0
  47. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/cli.py +0 -0
  48. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/__init__.py +0 -0
  49. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/capture_labels.py +0 -0
  50. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/code_runner.py +0 -0
  51. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/config_schema.py +0 -0
  52. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/downloads.py +0 -0
  53. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/events.py +0 -0
  54. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/icons.py +0 -0
  55. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/mcp_runner.py +0 -0
  56. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/mcp_server.py +0 -0
  57. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/notifications.py +0 -0
  58. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/plugin_staging.py +0 -0
  59. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/plugins.py +0 -0
  60. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/screenshot.py +0 -0
  61. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/script_editing.py +0 -0
  62. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/script_packager.py +0 -0
  63. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/script_templates.py +0 -0
  64. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/skills.py +0 -0
  65. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/start_controller.py +0 -0
  66. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/task_manager.py +0 -0
  67. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/template_store.py +0 -0
  68. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/translation.py +0 -0
  69. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/core/ui_config.py +0 -0
  70. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/DeviceManager.py +0 -0
  71. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/__init__.py +0 -0
  72. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture.py +0 -0
  73. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/__init__.py +0 -0
  74. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/adb.py +0 -0
  75. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/base.py +0 -0
  76. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/bitblt.py +0 -0
  77. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/bitblt_utils.py +0 -0
  78. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/browser.py +0 -0
  79. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/desktop_duplication.py +0 -0
  80. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/hwnd_window.py +0 -0
  81. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/image.py +0 -0
  82. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/nemu_ipc.py +0 -0
  83. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/types.py +0 -0
  84. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/update.py +0 -0
  85. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/windows_graphics.py +0 -0
  86. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/capture_methods/windows_graphics_hdr.py +0 -0
  87. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction.py +0 -0
  88. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/__init__.py +0 -0
  89. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/adb.py +0 -0
  90. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/base.py +0 -0
  91. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/browser.py +0 -0
  92. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/do_nothing.py +0 -0
  93. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/foreground_post_message.py +0 -0
  94. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/genshin.py +0 -0
  95. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/keys.py +0 -0
  96. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/post_message.py +0 -0
  97. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/pydirect.py +0 -0
  98. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/pynput.py +0 -0
  99. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/interaction_methods/swipe.py +0 -0
  100. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/device/intercation.py +0 -0
  101. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/feature/Box.py +0 -0
  102. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/feature/Feature.py +0 -0
  103. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/feature/FeatureSet.py +0 -0
  104. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/feature/__init__.py +0 -0
  105. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/gui/__init__.py +0 -0
  106. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/gui/util/pyappify_startup.py +0 -0
  107. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/notification/__init__.py +0 -0
  108. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/notification/manager.py +0 -0
  109. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/notification/messenger_images.py +0 -0
  110. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/notification/pipeline.py +0 -0
  111. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/notification/ppocr.py +0 -0
  112. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/notification/providers.py +0 -0
  113. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/notification/system.py +0 -0
  114. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/notification/windows_messenger.py +0 -0
  115. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ocr/__init__.py +0 -0
  116. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ocr/download_paddle_model.py +0 -0
  117. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Foundation/Collections.py +0 -0
  118. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Foundation/__init__.py +0 -0
  119. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Globalization/__init__.py +0 -0
  120. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Graphics/Capture/__init__.py +0 -0
  121. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Graphics/DirectX/Direct3D11/__init__.py +0 -0
  122. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Graphics/DirectX/__init__.py +0 -0
  123. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Graphics/Imaging/__init__.py +0 -0
  124. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Graphics/__init__.py +0 -0
  125. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Media/Ocr/__init__.py +0 -0
  126. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Media/__init__.py +0 -0
  127. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Security/Cryptography/__init__.py +0 -0
  128. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Security/__init__.py +0 -0
  129. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Storage/Streams/__init__.py +0 -0
  130. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/Storage/__init__.py +0 -0
  131. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/UI/ViewManagement/__init__.py +0 -0
  132. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/UI/__init__.py +0 -0
  133. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/Windows/__init__.py +0 -0
  134. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/__init__.py +0 -0
  135. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/delegate.py +0 -0
  136. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/export.py +0 -0
  137. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/idldsl.py +0 -0
  138. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/inspectable.py +0 -0
  139. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/roapi.py +0 -0
  140. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/types.py +0 -0
  141. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/rotypes/winstring.py +0 -0
  142. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/task/DiagnosisTask.py +0 -0
  143. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/task/TaskExecutor.py +0 -0
  144. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/task/__init__.py +0 -0
  145. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/task/exceptions.py +0 -0
  146. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/task/task.py +0 -0
  147. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/test/OKTestRunner.py +0 -0
  148. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/test/RunTests.py +0 -0
  149. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/test/TaskTestCase.py +0 -0
  150. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/test/__init__.py +0 -0
  151. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/third_party/__init__.py +0 -0
  152. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/third_party/paperclip.py +0 -0
  153. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/__init__.py +0 -0
  154. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/overlay/__init__.py +0 -0
  155. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/overlay/win32_gdi.py +0 -0
  156. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/Communicate.py +0 -0
  157. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/MainWindow.py +0 -0
  158. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/MessageWindow.py +0 -0
  159. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/StartController.py +0 -0
  160. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/__init__.py +0 -0
  161. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/about/AboutTab.py +0 -0
  162. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/about/UpdateCard.py +0 -0
  163. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/about/__init__.py +0 -0
  164. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/common/__init__.py +0 -0
  165. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/common/config.py +0 -0
  166. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/debug/OverlayWidget.py +0 -0
  167. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/debug/Screenshot.py +0 -0
  168. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/debug/__init__.py +0 -0
  169. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/debug/diagnosis_page.py +0 -0
  170. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/events.py +0 -0
  171. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/GettextTranslator.py +0 -0
  172. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/__init__.py +0 -0
  173. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/en_US.qm +0 -0
  174. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/en_US.ts +0 -0
  175. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/es_ES.qm +0 -0
  176. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/es_ES.ts +0 -0
  177. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/ja_JP.qm +0 -0
  178. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/ja_JP.ts +0 -0
  179. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/ko_KR.qm +0 -0
  180. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/ko_KR.ts +0 -0
  181. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/path.py +0 -0
  182. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/update.py +0 -0
  183. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/zh_CN.qm +0 -0
  184. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/zh_CN.ts +0 -0
  185. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/zh_TW.qm +0 -0
  186. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/i18n/zh_TW.ts +0 -0
  187. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/__init__.py +0 -0
  188. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/buttons.py +0 -0
  189. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/cards.py +0 -0
  190. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/dialogs.py +0 -0
  191. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/feedback.py +0 -0
  192. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/gallery.py +0 -0
  193. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/icons.py +0 -0
  194. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/inputs.py +0 -0
  195. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/labels.py +0 -0
  196. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/layout.py +0 -0
  197. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/navigation.py +0 -0
  198. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/options.py +0 -0
  199. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/popover.py +0 -0
  200. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/switch.py +0 -0
  201. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/tabs.py +0 -0
  202. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/theme.py +0 -0
  203. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/kit/window.py +0 -0
  204. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/overlay/OverlayWindow.py +0 -0
  205. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/overlay/__init__.py +0 -0
  206. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/plugins/PluginTab.py +0 -0
  207. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/plugins/__init__.py +0 -0
  208. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/plugins/imported_tabs.py +0 -0
  209. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/qt.qrc +0 -0
  210. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/resources.py +0 -0
  211. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/settings/GlobalConfigTab.py +0 -0
  212. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/settings/__init__.py +0 -0
  213. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/settings/config_section.py +0 -0
  214. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/settings/settings_page.py +0 -0
  215. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/shell/__init__.py +0 -0
  216. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/shell/connection.py +0 -0
  217. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/shell/diagnostics.py +0 -0
  218. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/shell/lazy_page.py +0 -0
  219. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/shell/log_page.py +0 -0
  220. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/shell/nav_icons.py +0 -0
  221. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/shell/run_bar.py +0 -0
  222. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/start/__init__.py +0 -0
  223. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/EditTaskTab.py +0 -0
  224. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/MarkUpWindow.py +0 -0
  225. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/ModifyListDialog.py +0 -0
  226. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/PythonHighlighter.py +0 -0
  227. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/RecordScript.py +0 -0
  228. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/ScheduleTaskTab.py +0 -0
  229. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/ScriptPackager.py +0 -0
  230. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/TaskManger.py +0 -0
  231. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/TaskOpButton.py +0 -0
  232. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/TemplateFactory.py +0 -0
  233. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/TemplateTab.py +0 -0
  234. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/__init__.py +0 -0
  235. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/config_editors.py +0 -0
  236. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/config_form.py +0 -0
  237. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/mouse_buttons.py +0 -0
  238. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/tasks/schedule_index_sync.py +0 -0
  239. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/util/Alert.py +0 -0
  240. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/util/InitWorker.py +0 -0
  241. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/util/__init__.py +0 -0
  242. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/util/app.py +0 -0
  243. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/util/download.py +0 -0
  244. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/util/pip_util.py +0 -0
  245. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/util/pyappify_startup.py +0 -0
  246. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/util/touch_scroll.py +0 -0
  247. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/util/windows_thumbnail.py +0 -0
  248. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/Card.py +0 -0
  249. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/CustomTab.py +0 -0
  250. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/FlowLayout.py +0 -0
  251. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/ImageWidget.py +0 -0
  252. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/ImportWarningDialog.py +0 -0
  253. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/ListTableWidgetItem.py +0 -0
  254. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/NumericTableWidgetItem.py +0 -0
  255. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/SortingTableWidgetItem.py +0 -0
  256. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/StartLoadingDialog.py +0 -0
  257. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/Tab.py +0 -0
  258. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/TabWidget.py +0 -0
  259. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/UpdateConfigWidgetItem.py +0 -0
  260. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/YesNonWidgetItem.py +0 -0
  261. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/ui/qt/widget/__init__.py +0 -0
  262. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/update/__init__.py +0 -0
  263. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/update/copy_ok_folder.py +0 -0
  264. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/update/inline_ok_requirements.py +0 -0
  265. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/Analytics.py +0 -0
  266. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/GlobalConfig.py +0 -0
  267. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/__init__.py +0 -0
  268. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/blur.py +0 -0
  269. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/clazz.py +0 -0
  270. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/collection.py +0 -0
  271. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/color.py +0 -0
  272. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/config.py +0 -0
  273. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/explorer.py +0 -0
  274. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/file.py +0 -0
  275. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/gpu_driver_settings.py +0 -0
  276. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/handler.py +0 -0
  277. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/i18n.py +0 -0
  278. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/logger.py +0 -0
  279. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/partial_sync_repo.py +0 -0
  280. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/print_hwnd.py +0 -0
  281. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/process.py +0 -0
  282. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/version.py +0 -0
  283. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/window.py +0 -0
  284. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok/util/windows_schedule.py +0 -0
  285. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok_script.egg-info/SOURCES.txt +0 -0
  286. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok_script.egg-info/dependency_links.txt +0 -0
  287. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok_script.egg-info/entry_points.txt +0 -0
  288. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok_script.egg-info/not-zip-safe +0 -0
  289. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok_script.egg-info/requires.txt +0 -0
  290. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/ok_script.egg-info/top_level.txt +0 -0
  291. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/pyproject.toml +0 -0
  292. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/setup.cfg +0 -0
  293. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/setup.py +0 -0
  294. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_app.py +0 -0
  295. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_base_interaction.py +0 -0
  296. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_blur.py +0 -0
  297. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_box.py +0 -0
  298. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_capture_update.py +0 -0
  299. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_cli.py +0 -0
  300. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_core_events.py +0 -0
  301. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_core_ui_services.py +0 -0
  302. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_device_manager.py +0 -0
  303. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_diagnosis_page.py +0 -0
  304. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_executor_jobs.py +0 -0
  305. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_explorer.py +0 -0
  306. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_global_config.py +0 -0
  307. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_gpu_driver_settings.py +0 -0
  308. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_handler.py +0 -0
  309. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_headless_imports.py +0 -0
  310. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_inline_ok_requirements.py +0 -0
  311. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_kit.py +0 -0
  312. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_lazy_page.py +0 -0
  313. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_log_page.py +0 -0
  314. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_logger.py +0 -0
  315. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_main_window_notifications.py +0 -0
  316. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_main_window_startup_tab.py +0 -0
  317. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_main_window_system_theme.py +0 -0
  318. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_markup_window.py +0 -0
  319. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_mcp_cleanup.py +0 -0
  320. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_mcp_runner.py +0 -0
  321. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_mcp_server.py +0 -0
  322. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_mcp_setting.py +0 -0
  323. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_missing_frame.py +0 -0
  324. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_mouse_buttons.py +0 -0
  325. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_navigation_state.py +0 -0
  326. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_nemu_ipc_capture.py +0 -0
  327. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_notifications.py +0 -0
  328. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_ok_mutex.py +0 -0
  329. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_overlay_custom_draw.py +0 -0
  330. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_overlay_lifecycle.py +0 -0
  331. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_package_metadata.py +0 -0
  332. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_plugin_staging.py +0 -0
  333. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_plugin_tabs.py +0 -0
  334. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_plugins.py +0 -0
  335. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_process.py +0 -0
  336. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_process_mutex.py +0 -0
  337. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_pyappify_startup_update.py +0 -0
  338. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_qt_events.py +0 -0
  339. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_qt_page_layout.py +0 -0
  340. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_runtime_startup.py +0 -0
  341. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_schedule_startup.py +0 -0
  342. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_schedule_task_index_sync.py +0 -0
  343. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_screenshot_naming.py +0 -0
  344. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_screenshot_rendering.py +0 -0
  345. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_settings_page.py +0 -0
  346. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_shell.py +0 -0
  347. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_skills.py +0 -0
  348. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_start_controller.py +0 -0
  349. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_task_executor_next_frame.py +0 -0
  350. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_task_executor_queue.py +0 -0
  351. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_task_reloading.py +0 -0
  352. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_tasks_page.py +0 -0
  353. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_template_compression.py +0 -0
  354. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_template_generation.py +0 -0
  355. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_template_tab.py +0 -0
  356. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_touch_scroll.py +0 -0
  357. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_translation_fallback.py +0 -0
  358. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_ui_config.py +0 -0
  359. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_version.py +0 -0
  360. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_windows_graphics_capture.py +0 -0
  361. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_windows_graphics_hdr.py +0 -0
  362. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_windows_schedule_target_parse.py +0 -0
  363. {ok_script-3.0.0b1 → ok_script-3.0.0b2}/tests/test_windows_schedule_xml.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ok-script
3
- Version: 3.0.0b1
3
+ Version: 3.0.0b2
4
4
  Summary: Vibe Coding Automation Framework
5
5
  Author-email: ok-oldking <firedcto@gmail.com>
6
6
  License: ok-script License
@@ -388,6 +388,11 @@ QLabel#taskTile {{
388
388
  font-size: 12px;
389
389
  font-weight: 600;
390
390
  }}
391
+ TaskIconTile#taskTile {{
392
+ background: transparent;
393
+ border: 0;
394
+ border-radius: 0;
395
+ }}
391
396
  QPushButton#sectionHeader {{
392
397
  background: transparent;
393
398
  border: 0;
@@ -111,6 +111,14 @@ def task_icon(task):
111
111
  return None if resolved == FALLBACK else resolved
112
112
 
113
113
 
114
+ def task_category_icon(key, fallback=None):
115
+ """Resolve app-provided category artwork, keeping the default kit icons."""
116
+
117
+ config = getattr(og, 'config', None) or {}
118
+ source = config.get('task_category_icons', {}).get(key, fallback)
119
+ return nav_icon(source) if source is not None else None
120
+
121
+
114
122
  def split_leading_symbol(name: str):
115
123
  """Split a leading emoji or symbol off a task name: ``("📅", "Daily Task")``.
116
124
 
@@ -176,7 +184,7 @@ def matches_filter(task, key: str, is_trigger: bool) -> bool:
176
184
  # --- list -------------------------------------------------------------------------
177
185
 
178
186
  class TaskIconTile(QLabel):
179
- """The task's own icon on a rounded tile, or its monogram."""
187
+ """The task's own icon or monogram, without a background tile."""
180
188
 
181
189
  def __init__(self, task, size: int = 36, parent=None):
182
190
  super().__init__(parent)
@@ -313,7 +321,7 @@ class TaskSection(Card):
313
321
 
314
322
  toggled = Signal(bool)
315
323
 
316
- def __init__(self, title: str, icon_name: str, parent=None):
324
+ def __init__(self, title: str, icon_name, parent=None):
317
325
  super().__init__(parent)
318
326
  self.rows = []
319
327
  self._expanded = True
@@ -388,7 +396,9 @@ class TaskSection(Card):
388
396
 
389
397
  def _refresh_icons(self) -> None:
390
398
  dpr = self.devicePixelRatioF()
391
- self.icon_label.setPixmap(kit_icon(self._icon_name, "text", 1.8).pixmap(QSize(16, 16), dpr))
399
+ source = nav_icon(self._icon_name)
400
+ icon = kit_icon(source, "text", 1.8) if isinstance(source, str) else source
401
+ self.icon_label.setPixmap(icon.pixmap(QSize(16, 16), dpr))
392
402
  chevron = "chevron-up" if self._expanded else "chevron-down"
393
403
  self.chevron.setPixmap(kit_icon(chevron, "text_tertiary", 2).pixmap(QSize(14, 14), dpr))
394
404
 
@@ -673,8 +683,8 @@ class TasksPage(QWidget):
673
683
  top.addWidget(self.filter_tabs)
674
684
  top.addStretch(1)
675
685
 
676
- self.onetime_section = TaskSection(_t("TasksPage", "On-demand"), "bolt")
677
- self.trigger_section = TaskSection(_t("TasksPage", "Triggers"), "timer")
686
+ self.onetime_section = TaskSection(_t("TasksPage", "On-demand"), task_category_icon(KIND_ONETIME, "bolt"))
687
+ self.trigger_section = TaskSection(_t("TasksPage", "Triggers"), task_category_icon(KIND_TRIGGER, "timer"))
678
688
  self.onetime_section.toggled.connect(lambda _on: self._layout_sections())
679
689
  self.trigger_section.toggled.connect(lambda _on: self._layout_sections())
680
690
  self.list_column = QVBoxLayout()
@@ -746,10 +756,13 @@ class TasksPage(QWidget):
746
756
 
747
757
  both_kinds = bool(self.onetime_tasks) and bool(self.trigger_tasks)
748
758
  groups = task_groups(self.onetime_tasks + self.trigger_tasks)
749
- self.filter_tabs.add_tab(KIND_ALL, _t("TasksPage", "All"), len(self.onetime_tasks) + len(self.trigger_tasks))
759
+ self.filter_tabs.add_tab(KIND_ALL, _t("TasksPage", "All"), len(self.onetime_tasks) + len(self.trigger_tasks),
760
+ task_category_icon(KIND_ALL))
750
761
  if both_kinds:
751
- self.filter_tabs.add_tab(KIND_ONETIME, _t("TasksPage", "On-demand"), len(self.onetime_tasks), "bolt")
752
- self.filter_tabs.add_tab(KIND_TRIGGER, _t("TasksPage", "Triggers"), len(self.trigger_tasks), "timer")
762
+ self.filter_tabs.add_tab(KIND_ONETIME, _t("TasksPage", "On-demand"), len(self.onetime_tasks),
763
+ task_category_icon(KIND_ONETIME, "bolt"))
764
+ self.filter_tabs.add_tab(KIND_TRIGGER, _t("TasksPage", "Triggers"), len(self.trigger_tasks),
765
+ task_category_icon(KIND_TRIGGER, "timer"))
753
766
  if groups:
754
767
  self.filter_tabs.add_separator()
755
768
  for name, group_icon in groups.items():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ok-script
3
- Version: 3.0.0b1
3
+ Version: 3.0.0b2
4
4
  Summary: Vibe Coding Automation Framework
5
5
  Author-email: ok-oldking <firedcto@gmail.com>
6
6
  License: ok-script License
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes