| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"b587de1b3ae3f8f5baf51cb49d5990dd4b269be1","after":"0d944aa1701e20221a78605221f60c964883205b","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/b587de1b3ae3f8f5baf51cb49d5990dd4b269be1...0d944aa1701e20221a78605221f60c964883205b","commits":[{"id":"0d944aa1701e20221a78605221f60c964883205b","message":"fix(prisma): add missing relation fields for ai_agent_im_integrations\n\n- Add ai_agent_im_integrationsId field to ai_agent_im_conversation_states\n- Add ai_agent_im_integrationsId field to ai_agent_im_metrics\n- Fix relation references to use ai_agent_im_integrations model\n- Make relation fields optional to match nullable foreign keys\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0d944aa1701e20221a78605221f60c964883205b","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-05T01:02:36+08:00","added":["backend/src/uat-proving.ts","frontend/src/api/modules/agent-group.ts"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","TODO-ANALYSIS-REPORT.md","TODO-GITHUB-ISSUES.md","backend/prisma/schema.prisma","backend/prisma/seeds/04-sales.ts","backend/prisma/seeds/11-ai-agents.ts","backend/prisma/seeds/12-channels-marketing.ts","backend/prisma/seeds/13-finance.ts","backend/prisma/seeds/14-diagnosis.ts","backend/prisma/seeds/15-groupbuy-community.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/knowledge-vector.consumer.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/im/intent-analyzer.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.controller.ts","backend/src/modules/products/services/category.service.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","backend/src/shared/utils/search-builder.ts","docs/RELEASE_NOTE_v1.0.0.md","frontend/src/api/index.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/views/analytics/DataHub.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/analyze-todos.ts","scripts/audit-fullstack-alignment.ts"]},{"id":"684756701bc4c4e88e71325710a43038ca23e66a","message":"Review contract workflow updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/684756701bc4c4e88e71325710a43038ca23e66a","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T23:58:13+08:00","added":[".qwen/skills/project-architecture.md",".qwen/skills/project-architecture/SKILL.md","backend/prisma/migrations/20260304000000_v110_debt_cleanup_schema/migration.sql","backend/src/consumers/knowledge-vector.consumer.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/invoice.docs.ts"],"removed":["backend/src/modules/ar-ledger/ar-ledger.controller.ts","backend/src/modules/ar-ledger/ar-ledger.docs.ts","backend/src/modules/ar-ledger/ar-ledger.routes.ts","backend/src/modules/ar-ledger/ar-ledger.schema.ts","backend/src/modules/ar-ledger/ar-ledger.service.test.ts","backend/src/modules/ar-ledger/ar-ledger.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/invoices/invoice.docs.ts","backend/src/modules/invoices/invoice.routes.ts","backend/src/modules/invoices/invoice.schema.ts","backend/src/modules/invoices/invoice.service.test.ts","backend/src/modules/invoices/invoice.service.ts"],"modified":["backend/prisma/schema.prisma","backend/src/consumers/index.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/generated/prisma-model-zod.ts","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/contracts/contract-enhanced.docs.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.schema.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/im/channels/wechat/wechat.handler.ts","backend/src/modules/im/intent-analyzer.service.ts","backend/src/modules/knowledge-capture/knowledge-vector.service.ts","backend/src/modules/livestream-interactions/index.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-scripts/index.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.controller.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/revenue/ar-ledger.controller.ts","backend/src/modules/revenue/ar-ledger.routes.ts","backend/src/modules/revenue/ar-ledger.schema.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/suppliers/supplier.service.ts","backend/src/modules/treasury/bank-account.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/cache-warmup.service.test.ts","backend/src/shared/services/cache-warmup.service.ts","frontend/src/api/modules/contracts.enhanced.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/contracts.ts","frontend/src/views/acquisition/components/TodoList.vue","frontend/src/views/acquisition/composables/useTodos.ts","frontend/src/views/analytics/OmnichannelDashboard.vue","frontend/src/views/analytics/SalesFunnel.vue","frontend/src/views/contracts/Detail.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/contracts/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/quotes/Index.vue","mobile/src/views/ContractDetail.vue","mobile/src/views/ContractForm.vue","mobile/src/views/Contracts.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/models.ts"]},{"id":"8fdc73f0ca4f2d97dae8d3fabadc7877e5462705","message":"Align opportunity DTO shape\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8fdc73f0ca4f2d97dae8d3fabadc7877e5462705","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T22:58:08+08:00","added":[".claude/skills/juhi-revops-expert.skill",".gemini/skills/juhi-revops-expert/SKILL.md",".gemini/skills/juhi-revops-expert/assets/.gitkeep",".gemini/skills/juhi-revops-expert/references/architecture.md",".gemini/skills/juhi-revops-expert/references/example_reference.md",".gemini/skills/juhi-revops-expert/references/governance.md",".gemini/skills/juhi-revops-expert/references/modules.md",".gemini/skills/juhi-revops-expert/scripts/.gitkeep"],"removed":[],"modified":["backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/api/modules/knowledge.ts","frontend/src/components/business/KnowledgeInserter.vue","frontend/src/components/business/calendar/MarketingCalendar.vue","frontend/src/components/process-designer/ProcessDesigner.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/opportunities/Index.vue"]},{"id":"1db4e5dc6d91c9873fa41be83a7529a11e3999cb","message":"Add entity detail fetch\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1db4e5dc6d91c9873fa41be83a7529a11e3999cb","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T22:34:55+08:00","added":[],"removed":[],"modified":["frontend/src/components/im/EntityCard.vue"]},{"id":"510365b17f0d8ab085369e669dc7d2d0fac2c70f","message":"Update TODO分析报告统计数据\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/510365b17f0d8ab085369e669dc7d2d0fac2c70f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T21:54:47+08:00","added":[],"removed":[],"modified":["TODO-ANALYSIS-REPORT.md","TODO-GITHUB-ISSUES.md","docs/RELEASE_NOTE_v1.0.0.md"]}],"total_commits":0,"head_commit":{"id":"0d944aa1701e20221a78605221f60c964883205b","message":"fix(prisma): add missing relation fields for ai_agent_im_integrations\n\n- Add ai_agent_im_integrationsId field to ai_agent_im_conversation_states\n- Add ai_agent_im_integrationsId field to ai_agent_im_metrics\n- Fix relation references to use ai_agent_im_integrations model\n- Make relation fields optional to match nullable foreign keys\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0d944aa1701e20221a78605221f60c964883205b","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-05T01:02:36+08:00","added":["backend/src/uat-proving.ts","frontend/src/api/modules/agent-group.ts"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","TODO-ANALYSIS-REPORT.md","TODO-GITHUB-ISSUES.md","backend/prisma/schema.prisma","backend/prisma/seeds/04-sales.ts","backend/prisma/seeds/11-ai-agents.ts","backend/prisma/seeds/12-channels-marketing.ts","backend/prisma/seeds/13-finance.ts","backend/prisma/seeds/14-diagnosis.ts","backend/prisma/seeds/15-groupbuy-community.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/knowledge-vector.consumer.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/im/intent-analyzer.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.controller.ts","backend/src/modules/products/services/category.service.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","backend/src/shared/utils/search-builder.ts","docs/RELEASE_NOTE_v1.0.0.md","frontend/src/api/index.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/views/analytics/DataHub.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/analyze-todos.ts","scripts/audit-fullstack-alignment.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1092391,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-05T01:00:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}... |