kmvpy 0.2.2__py3-none-any.whl

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 (268) hide show
  1. kmvpy/__init__.py +3 -0
  2. kmvpy/common/__init__.py +0 -0
  3. kmvpy/common/conf/__init__.py +719 -0
  4. kmvpy/common/constant/__init__.py +0 -0
  5. kmvpy/common/constant/redis_key.py +37 -0
  6. kmvpy/common/exception/__init__.py +0 -0
  7. kmvpy/common/exception/kmv_error.py +44 -0
  8. kmvpy/common/exception/kmv_exception.py +17 -0
  9. kmvpy/common/infra/__init__.py +584 -0
  10. kmvpy/common/infra/korm_base.py +191 -0
  11. kmvpy/common/infra/korm_storage.py +890 -0
  12. kmvpy/common/infra/ksnowflake.py +306 -0
  13. kmvpy/common/kmv/__init__.py +27 -0
  14. kmvpy/common/kmv/test_kosmos.py +30 -0
  15. kmvpy/common/response/__init__.py +116 -0
  16. kmvpy/common/schedule/__init__.py +27 -0
  17. kmvpy/common/schedule/base.py +90 -0
  18. kmvpy/common/schedule/config.py +61 -0
  19. kmvpy/common/schedule/decorator.py +67 -0
  20. kmvpy/common/schedule/manager.py +245 -0
  21. kmvpy/common/schedule/test_schedule_manager.py +148 -0
  22. kmvpy/common/source/__init__.py +54 -0
  23. kmvpy/common/st/__init__.py +5 -0
  24. kmvpy/common/st/st_base_py_test.py +184 -0
  25. kmvpy/common/st/st_expect.py +98 -0
  26. kmvpy/common/st/st_test_case.py +92 -0
  27. kmvpy/common/st/test_st_base_py_test.py +209 -0
  28. kmvpy/common/st/test_st_expect.py +74 -0
  29. kmvpy/common/tool/__init__.py +3 -0
  30. kmvpy/common/tool/logger.py +873 -0
  31. kmvpy/common/tool/object_to_dict.py +95 -0
  32. kmvpy/core/__init__.py +0 -0
  33. kmvpy/core/main/__init__.py +342 -0
  34. kmvpy/core/main/common/__init__.py +0 -0
  35. kmvpy/core/main/router/__init__.py +3 -0
  36. kmvpy/core/main/router/socketio.py +66 -0
  37. kmvpy/core/main/service/__init__.py +0 -0
  38. kmvpy/core/main/service/auth_session_service.py +643 -0
  39. kmvpy/core/main/service/jwt_service.py +407 -0
  40. kmvpy/core/main/test/__init__.py +0 -0
  41. kmvpy/core/main/test/auth_test_utils.py +226 -0
  42. kmvpy/core/main/test/test_auth_config.py +244 -0
  43. kmvpy/core/main/test/test_auth_session_service.py +323 -0
  44. kmvpy/core/main/test/test_gen_kid.py +52 -0
  45. kmvpy/core/main/test/test_jwt_service.py +236 -0
  46. kmvpy/core/main/test/test_lifecycle.py +178 -0
  47. kmvpy/core/main/test/test_redis_connection.py +99 -0
  48. kmvpy/core/main/test/test_socketio_storage.py +38 -0
  49. kmvpy/generator/__init__.py +1 -0
  50. kmvpy/generator/cli.py +223 -0
  51. kmvpy/generator/gitignore_matcher.py +259 -0
  52. kmvpy/generator/jwt_key_rotation.py +349 -0
  53. kmvpy/generator/nginx/__API_HOST__.conf.tpl +51 -0
  54. kmvpy/generator/nginx/__SPA_HOST__.conf.tpl +24 -0
  55. kmvpy/generator/project_generator.py +580 -0
  56. kmvpy/generator/template/.agents/README.md.tpl +32 -0
  57. kmvpy/generator/template/.agents/skills/py-dev/SKILL.md.tpl +100 -0
  58. kmvpy/generator/template/.agents/skills/py-dev/references/config-and-errors.md.tpl +30 -0
  59. kmvpy/generator/template/.agents/skills/py-dev/references/http-api.md.tpl +34 -0
  60. kmvpy/generator/template/.agents/skills/py-dev/references/persistence.md.tpl +91 -0
  61. kmvpy/generator/template/.agents/skills/py-dev/references/repository-map.md.tpl +61 -0
  62. kmvpy/generator/template/.agents/skills/py-dev/references/schedules.md.tpl +55 -0
  63. kmvpy/generator/template/.agents/skills/py-dev/references/service-hub.md.tpl +109 -0
  64. kmvpy/generator/template/.agents/skills/py-dev/references/socket-and-spa-contracts.md.tpl +51 -0
  65. kmvpy/generator/template/.agents/skills/py-dev/references/verification.md.tpl +65 -0
  66. kmvpy/generator/template/.agents/skills/spa-dev/SKILL.md.tpl +95 -0
  67. kmvpy/generator/template/.agents/skills/spa-dev/references/i18n-and-accessibility.md.tpl +35 -0
  68. kmvpy/generator/template/.agents/skills/spa-dev/references/network-and-contracts.md.tpl +50 -0
  69. kmvpy/generator/template/.agents/skills/spa-dev/references/pages-and-interactions.md.tpl +48 -0
  70. kmvpy/generator/template/.agents/skills/spa-dev/references/repository-map.md.tpl +51 -0
  71. kmvpy/generator/template/.agents/skills/spa-dev/references/routing-and-navigation.md.tpl +55 -0
  72. kmvpy/generator/template/.agents/skills/spa-dev/references/sockets.md.tpl +47 -0
  73. kmvpy/generator/template/.agents/skills/spa-dev/references/styling.md.tpl +50 -0
  74. kmvpy/generator/template/.agents/skills/spa-dev/references/verification.md.tpl +58 -0
  75. kmvpy/generator/template/README.en.md.tpl +337 -0
  76. kmvpy/generator/template/README.md.tpl +337 -0
  77. kmvpy/generator/template/biu.tpl +1045 -0
  78. kmvpy/generator/template/docs/ops-biu-release-guide.md.tpl +117 -0
  79. kmvpy/generator/template/docs/ops-docker-services.md.tpl +84 -0
  80. kmvpy/generator/template/docs/ops-nginx-and-certificates.md.tpl +122 -0
  81. kmvpy/generator/template/gitignore.tpl +20 -0
  82. kmvpy/generator/template/py/.gitignore.tpl +6 -0
  83. kmvpy/generator/template/py/README.md.tpl +334 -0
  84. kmvpy/generator/template/py/__PROJECT_NAME__/__init__.py.tpl +0 -0
  85. kmvpy/generator/template/py/__PROJECT_NAME__/common/__init__.py.tpl +0 -0
  86. kmvpy/generator/template/py/__PROJECT_NAME__/common/conf/__init__.py.tpl +19 -0
  87. kmvpy/generator/template/py/__PROJECT_NAME__/common/dependencies/__init__.py.tpl +4 -0
  88. kmvpy/generator/template/py/__PROJECT_NAME__/common/dependencies/admin_op_log.py.tpl +256 -0
  89. kmvpy/generator/template/py/__PROJECT_NAME__/common/dependencies/auth.py.tpl +141 -0
  90. kmvpy/generator/template/py/__PROJECT_NAME__/common/dependencies/client.py.tpl +50 -0
  91. kmvpy/generator/template/py/__PROJECT_NAME__/common/dependencies/http_request_context.py.tpl +34 -0
  92. kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/__init__.py.tpl +0 -0
  93. kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/admin/__init__.py.tpl +0 -0
  94. kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/admin/admin_op.py.tpl +94 -0
  95. kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/admin/database_table.py.tpl +93 -0
  96. kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/admin/system.py.tpl +19 -0
  97. kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/admin/work_ticket.py.tpl +77 -0
  98. kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/user/__init__.py.tpl +0 -0
  99. kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/user/user_op.py.tpl +148 -0
  100. kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/user/work_ticket.py.tpl +82 -0
  101. kmvpy/generator/template/py/__PROJECT_NAME__/common/enum/base_enum.py.tpl +15 -0
  102. kmvpy/generator/template/py/__PROJECT_NAME__/common/exception/__init__.py.tpl +1 -0
  103. kmvpy/generator/template/py/__PROJECT_NAME__/common/exception/database_table_errors.py.tpl +37 -0
  104. kmvpy/generator/template/py/__PROJECT_NAME__/common/exception/system_errors.py.tpl +19 -0
  105. kmvpy/generator/template/py/__PROJECT_NAME__/common/exception/user_op_errors.py.tpl +57 -0
  106. kmvpy/generator/template/py/__PROJECT_NAME__/common/exception/work_ticket_errors.py.tpl +6 -0
  107. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/__init__.py.tpl +0 -0
  108. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/__init__.py.tpl +283 -0
  109. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/admin_op_log.py.tpl +80 -0
  110. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/kv_conf.py.tpl +37 -0
  111. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/types.py.tpl +53 -0
  112. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/user_base.py.tpl +72 -0
  113. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/user_socket_message.py.tpl +56 -0
  114. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/user_tree.py.tpl +51 -0
  115. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/work_ticket.py.tpl +72 -0
  116. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/work_ticket_message.py.tpl +59 -0
  117. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/storage/__init__.py.tpl +0 -0
  118. kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/storage/default_storage.py.tpl +50 -0
  119. kmvpy/generator/template/py/__PROJECT_NAME__/core/__init__.py.tpl +0 -0
  120. kmvpy/generator/template/py/__PROJECT_NAME__/core/app/__init__.py.tpl +0 -0
  121. kmvpy/generator/template/py/__PROJECT_NAME__/core/app/run.py.tpl +44 -0
  122. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/__init__.py.tpl +62 -0
  123. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/hub/__init__.py.tpl +0 -0
  124. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/hub/user_op.py.tpl +203 -0
  125. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/hub/work_ticket.py.tpl +59 -0
  126. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/__init__.py.tpl +19 -0
  127. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/admin/admin_op.py.tpl +229 -0
  128. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/admin/database_table.py.tpl +94 -0
  129. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/admin/socket/__init__.py.tpl +39 -0
  130. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/admin/system.py.tpl +36 -0
  131. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/admin/work_ticket.py.tpl +83 -0
  132. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/user/__init__.py.tpl +0 -0
  133. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/user/socket/__init__.py.tpl +67 -0
  134. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/user/user_op.py.tpl +168 -0
  135. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/user/work_ticket.py.tpl +80 -0
  136. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/schedule/__init__.py.tpl +7 -0
  137. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/__init__.py.tpl +0 -0
  138. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/__init__.py.tpl +0 -0
  139. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/admin_op.py.tpl +373 -0
  140. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/database_table.py.tpl +318 -0
  141. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/socket/__init__.py.tpl +311 -0
  142. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/system.py.tpl +99 -0
  143. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/work_ticket.py.tpl +235 -0
  144. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/common/__init__.py.tpl +1 -0
  145. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/user/__init__.py.tpl +0 -0
  146. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/user/socket/__init__.py.tpl +675 -0
  147. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/user/user_op.py.tpl +501 -0
  148. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/user/work_ticket.py.tpl +245 -0
  149. kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/work_ticket_notification.py.tpl +45 -0
  150. kmvpy/generator/template/py/app/etc/.gitignore.tpl +1 -0
  151. kmvpy/generator/template/py/app/etc/develop/.gitignore.tpl +2 -0
  152. kmvpy/generator/template/py/app/etc/develop/config.yaml.tpl +89 -0
  153. kmvpy/generator/template/py/app/etc/develop/docker-compose.yaml.tpl +44 -0
  154. kmvpy/generator/template/py/app/etc/release/config.yaml.tpl +95 -0
  155. kmvpy/generator/template/py/app/etc/release/deploy.sh.tpl +205 -0
  156. kmvpy/generator/template/py/app/etc/release/docker-compose.yaml.tpl +44 -0
  157. kmvpy/generator/template/py/app/run.py.tpl +68 -0
  158. kmvpy/generator/template/py/pyproject.toml.tpl +41 -0
  159. kmvpy/generator/template/spa/.env.development.tpl +3 -0
  160. kmvpy/generator/template/spa/.env.production.tpl +3 -0
  161. kmvpy/generator/template/spa/.gitignore.tpl +82 -0
  162. kmvpy/generator/template/spa/README.md.tpl +39 -0
  163. kmvpy/generator/template/spa/docs/style-preferences-verification.md.tpl +78 -0
  164. kmvpy/generator/template/spa/eslint.config.js.tpl +94 -0
  165. kmvpy/generator/template/spa/index.html.tpl +21 -0
  166. kmvpy/generator/template/spa/package.json.tpl +49 -0
  167. kmvpy/generator/template/spa/postcss.config.js.tpl +5 -0
  168. kmvpy/generator/template/spa/public/admin-operations-console-body.html.tpl +208 -0
  169. kmvpy/generator/template/spa/public/app-logo.svg.tpl +75 -0
  170. kmvpy/generator/template/spa/quasar.config.ts.tpl +38 -0
  171. kmvpy/generator/template/spa/src/App.vue.tpl +3 -0
  172. kmvpy/generator/template/spa/src/boot/api_response.ts.tpl +122 -0
  173. kmvpy/generator/template/spa/src/boot/app_logo.ts.tpl +12 -0
  174. kmvpy/generator/template/spa/src/boot/axios.ts.tpl +551 -0
  175. kmvpy/generator/template/spa/src/boot/axios_admin.ts.tpl +138 -0
  176. kmvpy/generator/template/spa/src/boot/axios_user.ts.tpl +131 -0
  177. kmvpy/generator/template/spa/src/boot/framework_style.ts.tpl +7 -0
  178. kmvpy/generator/template/spa/src/boot/i18n.ts.tpl +64 -0
  179. kmvpy/generator/template/spa/src/boot/pinia.ts.tpl +6 -0
  180. kmvpy/generator/template/spa/src/components/AccountPreferenceItem.vue.tpl +173 -0
  181. kmvpy/generator/template/spa/src/components/AccountStyleMenu.vue.tpl +339 -0
  182. kmvpy/generator/template/spa/src/components/AppLogo.vue.tpl +201 -0
  183. kmvpy/generator/template/spa/src/components/AppLogoMark.vue.tpl +40 -0
  184. kmvpy/generator/template/spa/src/components/appLogoConfig.ts.tpl +100 -0
  185. kmvpy/generator/template/spa/src/composables/onAdminSocketPageMessages.ts.tpl +26 -0
  186. kmvpy/generator/template/spa/src/composables/onSocketPageMessages.ts.tpl +26 -0
  187. kmvpy/generator/template/spa/src/composables/useStylePreferences.ts.tpl +82 -0
  188. kmvpy/generator/template/spa/src/css/README.md.tpl +61 -0
  189. kmvpy/generator/template/spa/src/css/admin.css.tpl +412 -0
  190. kmvpy/generator/template/spa/src/css/app.css.tpl +786 -0
  191. kmvpy/generator/template/spa/src/css/home.css.tpl +657 -0
  192. kmvpy/generator/template/spa/src/css/layout-large.css.tpl +146 -0
  193. kmvpy/generator/template/spa/src/css/layout-normal.css.tpl +993 -0
  194. kmvpy/generator/template/spa/src/css/theme-dark.css.tpl +201 -0
  195. kmvpy/generator/template/spa/src/css/theme-eye.css.tpl +127 -0
  196. kmvpy/generator/template/spa/src/css/theme-light.css.tpl +543 -0
  197. kmvpy/generator/template/spa/src/css/user.css.tpl +176 -0
  198. kmvpy/generator/template/spa/src/env.d.ts.tpl +26 -0
  199. kmvpy/generator/template/spa/src/i18n/en-US/adminNavList.ts.tpl +17 -0
  200. kmvpy/generator/template/spa/src/i18n/en-US/authPage.ts.tpl +81 -0
  201. kmvpy/generator/template/spa/src/i18n/en-US/index.ts.tpl +510 -0
  202. kmvpy/generator/template/spa/src/i18n/en-US/kmvApiError.ts.tpl +46 -0
  203. kmvpy/generator/template/spa/src/i18n/en-US/landing.ts.tpl +169 -0
  204. kmvpy/generator/template/spa/src/i18n/en-US/userNavList.ts.tpl +27 -0
  205. kmvpy/generator/template/spa/src/i18n/index.ts.tpl +7 -0
  206. kmvpy/generator/template/spa/src/i18n/kmv/extractKmvApiErrorPayload.ts.tpl +62 -0
  207. kmvpy/generator/template/spa/src/i18n/kmv/resolveKmvApiUserMessage.ts.tpl +33 -0
  208. kmvpy/generator/template/spa/src/i18n/kmv/types.ts.tpl +14 -0
  209. kmvpy/generator/template/spa/src/i18n/kmv/useKmvApiErrorMessage.ts.tpl +26 -0
  210. kmvpy/generator/template/spa/src/i18n/zh-CN/adminNavList.ts.tpl +17 -0
  211. kmvpy/generator/template/spa/src/i18n/zh-CN/authPage.ts.tpl +81 -0
  212. kmvpy/generator/template/spa/src/i18n/zh-CN/index.ts.tpl +497 -0
  213. kmvpy/generator/template/spa/src/i18n/zh-CN/kmvApiError.ts.tpl +42 -0
  214. kmvpy/generator/template/spa/src/i18n/zh-CN/landing.ts.tpl +156 -0
  215. kmvpy/generator/template/spa/src/i18n/zh-CN/userNavList.ts.tpl +27 -0
  216. kmvpy/generator/template/spa/src/layouts/AdminLayout.vue.tpl +299 -0
  217. kmvpy/generator/template/spa/src/layouts/HomeLayout.vue.tpl +149 -0
  218. kmvpy/generator/template/spa/src/layouts/UserLayout.vue.tpl +388 -0
  219. kmvpy/generator/template/spa/src/network/admin_socket/active_page_bridge.ts.tpl +107 -0
  220. kmvpy/generator/template/spa/src/network/admin_socket/admin_socket.ts.tpl +705 -0
  221. kmvpy/generator/template/spa/src/network/admin_socket/auth.ts.tpl +12 -0
  222. kmvpy/generator/template/spa/src/network/admin_socket/constants.ts.tpl +7 -0
  223. kmvpy/generator/template/spa/src/network/admin_socket/index.ts.tpl +21 -0
  224. kmvpy/generator/template/spa/src/network/admin_socket/page_message_store.ts.tpl +80 -0
  225. kmvpy/generator/template/spa/src/network/admin_socket/types.ts.tpl +18 -0
  226. kmvpy/generator/template/spa/src/network/api/admin/admin_op.ts.tpl +120 -0
  227. kmvpy/generator/template/spa/src/network/api/admin/database_table.ts.tpl +54 -0
  228. kmvpy/generator/template/spa/src/network/api/admin/system.ts.tpl +17 -0
  229. kmvpy/generator/template/spa/src/network/api/admin/work_ticket.ts.tpl +47 -0
  230. kmvpy/generator/template/spa/src/network/api/user/user_op.ts.tpl +91 -0
  231. kmvpy/generator/template/spa/src/network/api/user/work_ticket.ts.tpl +43 -0
  232. kmvpy/generator/template/spa/src/network/dto/admin/admin_op.ts.tpl +60 -0
  233. kmvpy/generator/template/spa/src/network/dto/admin/database_table.ts.tpl +66 -0
  234. kmvpy/generator/template/spa/src/network/dto/admin/system.ts.tpl +8 -0
  235. kmvpy/generator/template/spa/src/network/dto/admin/work_ticket.ts.tpl +56 -0
  236. kmvpy/generator/template/spa/src/network/dto/user/user_op.ts.tpl +77 -0
  237. kmvpy/generator/template/spa/src/network/dto/user/work_ticket.ts.tpl +56 -0
  238. kmvpy/generator/template/spa/src/network/socket/active_page_bridge.ts.tpl +107 -0
  239. kmvpy/generator/template/spa/src/network/socket/auth.ts.tpl +12 -0
  240. kmvpy/generator/template/spa/src/network/socket/constants.ts.tpl +7 -0
  241. kmvpy/generator/template/spa/src/network/socket/index.ts.tpl +19 -0
  242. kmvpy/generator/template/spa/src/network/socket/page_message_store.ts.tpl +81 -0
  243. kmvpy/generator/template/spa/src/network/socket/types.ts.tpl +17 -0
  244. kmvpy/generator/template/spa/src/network/socket/user_socket.ts.tpl +700 -0
  245. kmvpy/generator/template/spa/src/pages/admin/AdminLoginPage.vue.tpl +152 -0
  246. kmvpy/generator/template/spa/src/pages/admin/management/AdminUserListPage.vue.tpl +784 -0
  247. kmvpy/generator/template/spa/src/pages/admin/management/AdminWorkTicketsPage.vue.tpl +669 -0
  248. kmvpy/generator/template/spa/src/pages/admin/system/AdminDatabaseTablesPage.vue.tpl +1016 -0
  249. kmvpy/generator/template/spa/src/pages/admin/system/AdminSystemSettingsPage.vue.tpl +143 -0
  250. kmvpy/generator/template/spa/src/pages/app/help/HelpPage.vue.tpl +501 -0
  251. kmvpy/generator/template/spa/src/pages/app/personal/PersonalProfilePage.vue.tpl +515 -0
  252. kmvpy/generator/template/spa/src/pages/app/work-tickets/UserWorkTicketsPage.vue.tpl +708 -0
  253. kmvpy/generator/template/spa/src/pages/home/AuthPage.vue.tpl +617 -0
  254. kmvpy/generator/template/spa/src/pages/home/IndexPage.vue.tpl +1385 -0
  255. kmvpy/generator/template/spa/src/router/index.ts.tpl +74 -0
  256. kmvpy/generator/template/spa/src/router/routes.ts.tpl +181 -0
  257. kmvpy/generator/template/spa/src/utils/frameworkStyle.ts.tpl +189 -0
  258. kmvpy/generator/template/spa/tsconfig.json.tpl +3 -0
  259. kmvpy/generator/test_jwt_key_rotation.py +278 -0
  260. kmvpy/generator/test_project_generator.py +1202 -0
  261. kmvpy/generator/test_redis_acl_template.py +97 -0
  262. kmvpy/generator/test_storage_template_contract.py +26 -0
  263. kmvpy-0.2.2.dist-info/METADATA +255 -0
  264. kmvpy-0.2.2.dist-info/RECORD +268 -0
  265. kmvpy-0.2.2.dist-info/WHEEL +5 -0
  266. kmvpy-0.2.2.dist-info/entry_points.txt +2 -0
  267. kmvpy-0.2.2.dist-info/licenses/LICENSE +674 -0
  268. kmvpy-0.2.2.dist-info/top_level.txt +1 -0
kmvpy/__init__.py ADDED
@@ -0,0 +1,3 @@
1
+ """KMVPy:基于 FastAPI 的服务端基础库(YAML 配置、异步 SQLAlchemy、JWT、调度、Socket.IO 与工程脚手架)。"""
2
+
3
+ __version__ = "0.2.2"
File without changes