LICENSE
README.md
pyproject.toml
assets/kmvpy-header.svg
assets/kmvpy-logo.svg
kmvpy/__init__.py
kmvpy.egg-info/PKG-INFO
kmvpy.egg-info/SOURCES.txt
kmvpy.egg-info/dependency_links.txt
kmvpy.egg-info/entry_points.txt
kmvpy.egg-info/not-zip-safe
kmvpy.egg-info/requires.txt
kmvpy.egg-info/top_level.txt
kmvpy/common/__init__.py
kmvpy/common/conf/__init__.py
kmvpy/common/constant/__init__.py
kmvpy/common/constant/redis_key.py
kmvpy/common/exception/__init__.py
kmvpy/common/exception/kmv_error.py
kmvpy/common/exception/kmv_exception.py
kmvpy/common/infra/__init__.py
kmvpy/common/infra/korm_base.py
kmvpy/common/infra/korm_storage.py
kmvpy/common/infra/ksnowflake.py
kmvpy/common/kmv/__init__.py
kmvpy/common/kmv/test_kosmos.py
kmvpy/common/response/__init__.py
kmvpy/common/schedule/__init__.py
kmvpy/common/schedule/base.py
kmvpy/common/schedule/config.py
kmvpy/common/schedule/decorator.py
kmvpy/common/schedule/manager.py
kmvpy/common/schedule/test_schedule_manager.py
kmvpy/common/source/__init__.py
kmvpy/common/st/__init__.py
kmvpy/common/st/st_base_py_test.py
kmvpy/common/st/st_expect.py
kmvpy/common/st/st_test_case.py
kmvpy/common/st/test_st_base_py_test.py
kmvpy/common/st/test_st_expect.py
kmvpy/common/tool/__init__.py
kmvpy/common/tool/logger.py
kmvpy/common/tool/object_to_dict.py
kmvpy/core/__init__.py
kmvpy/core/main/__init__.py
kmvpy/core/main/common/__init__.py
kmvpy/core/main/router/__init__.py
kmvpy/core/main/router/socketio.py
kmvpy/core/main/service/__init__.py
kmvpy/core/main/service/auth_session_service.py
kmvpy/core/main/service/jwt_service.py
kmvpy/core/main/test/__init__.py
kmvpy/core/main/test/auth_test_utils.py
kmvpy/core/main/test/test_auth_config.py
kmvpy/core/main/test/test_auth_session_service.py
kmvpy/core/main/test/test_gen_kid.py
kmvpy/core/main/test/test_jwt_service.py
kmvpy/core/main/test/test_lifecycle.py
kmvpy/core/main/test/test_redis_connection.py
kmvpy/core/main/test/test_socketio_storage.py
kmvpy/generator/__init__.py
kmvpy/generator/cli.py
kmvpy/generator/gitignore_matcher.py
kmvpy/generator/jwt_key_rotation.py
kmvpy/generator/project_generator.py
kmvpy/generator/test_jwt_key_rotation.py
kmvpy/generator/test_project_generator.py
kmvpy/generator/test_redis_acl_template.py
kmvpy/generator/test_storage_template_contract.py
kmvpy/generator/nginx/__API_HOST__.conf.tpl
kmvpy/generator/nginx/__SPA_HOST__.conf.tpl
kmvpy/generator/template/README.en.md.tpl
kmvpy/generator/template/README.md.tpl
kmvpy/generator/template/biu.tpl
kmvpy/generator/template/gitignore.tpl
kmvpy/generator/template/.agents/README.md.tpl
kmvpy/generator/template/.agents/skills/py-dev/SKILL.md.tpl
kmvpy/generator/template/.agents/skills/py-dev/references/config-and-errors.md.tpl
kmvpy/generator/template/.agents/skills/py-dev/references/http-api.md.tpl
kmvpy/generator/template/.agents/skills/py-dev/references/persistence.md.tpl
kmvpy/generator/template/.agents/skills/py-dev/references/repository-map.md.tpl
kmvpy/generator/template/.agents/skills/py-dev/references/schedules.md.tpl
kmvpy/generator/template/.agents/skills/py-dev/references/service-hub.md.tpl
kmvpy/generator/template/.agents/skills/py-dev/references/socket-and-spa-contracts.md.tpl
kmvpy/generator/template/.agents/skills/py-dev/references/verification.md.tpl
kmvpy/generator/template/.agents/skills/spa-dev/SKILL.md.tpl
kmvpy/generator/template/.agents/skills/spa-dev/references/i18n-and-accessibility.md.tpl
kmvpy/generator/template/.agents/skills/spa-dev/references/network-and-contracts.md.tpl
kmvpy/generator/template/.agents/skills/spa-dev/references/pages-and-interactions.md.tpl
kmvpy/generator/template/.agents/skills/spa-dev/references/repository-map.md.tpl
kmvpy/generator/template/.agents/skills/spa-dev/references/routing-and-navigation.md.tpl
kmvpy/generator/template/.agents/skills/spa-dev/references/sockets.md.tpl
kmvpy/generator/template/.agents/skills/spa-dev/references/styling.md.tpl
kmvpy/generator/template/.agents/skills/spa-dev/references/verification.md.tpl
kmvpy/generator/template/docs/ops-biu-release-guide.md.tpl
kmvpy/generator/template/docs/ops-docker-services.md.tpl
kmvpy/generator/template/docs/ops-nginx-and-certificates.md.tpl
kmvpy/generator/template/py/.gitignore.tpl
kmvpy/generator/template/py/README.md.tpl
kmvpy/generator/template/py/pyproject.toml.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/conf/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dependencies/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dependencies/admin_op_log.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dependencies/auth.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dependencies/client.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dependencies/http_request_context.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/admin/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/admin/admin_op.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/admin/database_table.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/admin/system.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/admin/work_ticket.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/user/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/user/user_op.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/dto/user/work_ticket.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/enum/base_enum.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/exception/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/exception/database_table_errors.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/exception/system_errors.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/exception/user_op_errors.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/exception/work_ticket_errors.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/admin_op_log.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/kv_conf.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/types.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/user_base.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/user_socket_message.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/user_tree.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/work_ticket.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/orm/work_ticket_message.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/storage/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/common/infra/storage/default_storage.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/app/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/app/run.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/hub/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/hub/user_op.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/hub/work_ticket.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/admin/admin_op.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/admin/database_table.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/admin/system.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/admin/work_ticket.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/admin/socket/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/user/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/user/user_op.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/user/work_ticket.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/router/user/socket/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/schedule/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/work_ticket_notification.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/admin_op.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/database_table.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/system.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/work_ticket.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/admin/socket/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/common/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/user/__init__.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/user/user_op.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/user/work_ticket.py.tpl
kmvpy/generator/template/py/__PROJECT_NAME__/core/main/service/user/socket/__init__.py.tpl
kmvpy/generator/template/py/app/run.py.tpl
kmvpy/generator/template/py/app/etc/.gitignore.tpl
kmvpy/generator/template/py/app/etc/develop/.gitignore.tpl
kmvpy/generator/template/py/app/etc/develop/config.yaml.tpl
kmvpy/generator/template/py/app/etc/develop/docker-compose.yaml.tpl
kmvpy/generator/template/py/app/etc/release/config.yaml.tpl
kmvpy/generator/template/py/app/etc/release/deploy.sh.tpl
kmvpy/generator/template/py/app/etc/release/docker-compose.yaml.tpl
kmvpy/generator/template/spa/.env.development.tpl
kmvpy/generator/template/spa/.env.production.tpl
kmvpy/generator/template/spa/.gitignore.tpl
kmvpy/generator/template/spa/README.md.tpl
kmvpy/generator/template/spa/eslint.config.js.tpl
kmvpy/generator/template/spa/index.html.tpl
kmvpy/generator/template/spa/package.json.tpl
kmvpy/generator/template/spa/postcss.config.js.tpl
kmvpy/generator/template/spa/quasar.config.ts.tpl
kmvpy/generator/template/spa/tsconfig.json.tpl
kmvpy/generator/template/spa/docs/style-preferences-verification.md.tpl
kmvpy/generator/template/spa/public/admin-operations-console-body.html.tpl
kmvpy/generator/template/spa/public/app-logo.svg.tpl
kmvpy/generator/template/spa/src/App.vue.tpl
kmvpy/generator/template/spa/src/env.d.ts.tpl
kmvpy/generator/template/spa/src/boot/api_response.ts.tpl
kmvpy/generator/template/spa/src/boot/app_logo.ts.tpl
kmvpy/generator/template/spa/src/boot/axios.ts.tpl
kmvpy/generator/template/spa/src/boot/axios_admin.ts.tpl
kmvpy/generator/template/spa/src/boot/axios_user.ts.tpl
kmvpy/generator/template/spa/src/boot/framework_style.ts.tpl
kmvpy/generator/template/spa/src/boot/i18n.ts.tpl
kmvpy/generator/template/spa/src/boot/pinia.ts.tpl
kmvpy/generator/template/spa/src/components/AccountPreferenceItem.vue.tpl
kmvpy/generator/template/spa/src/components/AccountStyleMenu.vue.tpl
kmvpy/generator/template/spa/src/components/AppLogo.vue.tpl
kmvpy/generator/template/spa/src/components/AppLogoMark.vue.tpl
kmvpy/generator/template/spa/src/components/appLogoConfig.ts.tpl
kmvpy/generator/template/spa/src/composables/onAdminSocketPageMessages.ts.tpl
kmvpy/generator/template/spa/src/composables/onSocketPageMessages.ts.tpl
kmvpy/generator/template/spa/src/composables/useStylePreferences.ts.tpl
kmvpy/generator/template/spa/src/css/README.md.tpl
kmvpy/generator/template/spa/src/css/admin.css.tpl
kmvpy/generator/template/spa/src/css/app.css.tpl
kmvpy/generator/template/spa/src/css/home.css.tpl
kmvpy/generator/template/spa/src/css/layout-large.css.tpl
kmvpy/generator/template/spa/src/css/layout-normal.css.tpl
kmvpy/generator/template/spa/src/css/theme-dark.css.tpl
kmvpy/generator/template/spa/src/css/theme-eye.css.tpl
kmvpy/generator/template/spa/src/css/theme-light.css.tpl
kmvpy/generator/template/spa/src/css/user.css.tpl
kmvpy/generator/template/spa/src/i18n/index.ts.tpl
kmvpy/generator/template/spa/src/i18n/en-US/adminNavList.ts.tpl
kmvpy/generator/template/spa/src/i18n/en-US/authPage.ts.tpl
kmvpy/generator/template/spa/src/i18n/en-US/index.ts.tpl
kmvpy/generator/template/spa/src/i18n/en-US/kmvApiError.ts.tpl
kmvpy/generator/template/spa/src/i18n/en-US/landing.ts.tpl
kmvpy/generator/template/spa/src/i18n/en-US/userNavList.ts.tpl
kmvpy/generator/template/spa/src/i18n/kmv/extractKmvApiErrorPayload.ts.tpl
kmvpy/generator/template/spa/src/i18n/kmv/resolveKmvApiUserMessage.ts.tpl
kmvpy/generator/template/spa/src/i18n/kmv/types.ts.tpl
kmvpy/generator/template/spa/src/i18n/kmv/useKmvApiErrorMessage.ts.tpl
kmvpy/generator/template/spa/src/i18n/zh-CN/adminNavList.ts.tpl
kmvpy/generator/template/spa/src/i18n/zh-CN/authPage.ts.tpl
kmvpy/generator/template/spa/src/i18n/zh-CN/index.ts.tpl
kmvpy/generator/template/spa/src/i18n/zh-CN/kmvApiError.ts.tpl
kmvpy/generator/template/spa/src/i18n/zh-CN/landing.ts.tpl
kmvpy/generator/template/spa/src/i18n/zh-CN/userNavList.ts.tpl
kmvpy/generator/template/spa/src/layouts/AdminLayout.vue.tpl
kmvpy/generator/template/spa/src/layouts/HomeLayout.vue.tpl
kmvpy/generator/template/spa/src/layouts/UserLayout.vue.tpl
kmvpy/generator/template/spa/src/network/admin_socket/active_page_bridge.ts.tpl
kmvpy/generator/template/spa/src/network/admin_socket/admin_socket.ts.tpl
kmvpy/generator/template/spa/src/network/admin_socket/auth.ts.tpl
kmvpy/generator/template/spa/src/network/admin_socket/constants.ts.tpl
kmvpy/generator/template/spa/src/network/admin_socket/index.ts.tpl
kmvpy/generator/template/spa/src/network/admin_socket/page_message_store.ts.tpl
kmvpy/generator/template/spa/src/network/admin_socket/types.ts.tpl
kmvpy/generator/template/spa/src/network/api/admin/admin_op.ts.tpl
kmvpy/generator/template/spa/src/network/api/admin/database_table.ts.tpl
kmvpy/generator/template/spa/src/network/api/admin/system.ts.tpl
kmvpy/generator/template/spa/src/network/api/admin/work_ticket.ts.tpl
kmvpy/generator/template/spa/src/network/api/user/user_op.ts.tpl
kmvpy/generator/template/spa/src/network/api/user/work_ticket.ts.tpl
kmvpy/generator/template/spa/src/network/dto/admin/admin_op.ts.tpl
kmvpy/generator/template/spa/src/network/dto/admin/database_table.ts.tpl
kmvpy/generator/template/spa/src/network/dto/admin/system.ts.tpl
kmvpy/generator/template/spa/src/network/dto/admin/work_ticket.ts.tpl
kmvpy/generator/template/spa/src/network/dto/user/user_op.ts.tpl
kmvpy/generator/template/spa/src/network/dto/user/work_ticket.ts.tpl
kmvpy/generator/template/spa/src/network/socket/active_page_bridge.ts.tpl
kmvpy/generator/template/spa/src/network/socket/auth.ts.tpl
kmvpy/generator/template/spa/src/network/socket/constants.ts.tpl
kmvpy/generator/template/spa/src/network/socket/index.ts.tpl
kmvpy/generator/template/spa/src/network/socket/page_message_store.ts.tpl
kmvpy/generator/template/spa/src/network/socket/types.ts.tpl
kmvpy/generator/template/spa/src/network/socket/user_socket.ts.tpl
kmvpy/generator/template/spa/src/pages/admin/AdminLoginPage.vue.tpl
kmvpy/generator/template/spa/src/pages/admin/management/AdminUserListPage.vue.tpl
kmvpy/generator/template/spa/src/pages/admin/management/AdminWorkTicketsPage.vue.tpl
kmvpy/generator/template/spa/src/pages/admin/system/AdminDatabaseTablesPage.vue.tpl
kmvpy/generator/template/spa/src/pages/admin/system/AdminSystemSettingsPage.vue.tpl
kmvpy/generator/template/spa/src/pages/app/help/HelpPage.vue.tpl
kmvpy/generator/template/spa/src/pages/app/personal/PersonalProfilePage.vue.tpl
kmvpy/generator/template/spa/src/pages/app/work-tickets/UserWorkTicketsPage.vue.tpl
kmvpy/generator/template/spa/src/pages/home/AuthPage.vue.tpl
kmvpy/generator/template/spa/src/pages/home/IndexPage.vue.tpl
kmvpy/generator/template/spa/src/router/index.ts.tpl
kmvpy/generator/template/spa/src/router/routes.ts.tpl
kmvpy/generator/template/spa/src/utils/frameworkStyle.ts.tpl