sqlite-web 0.7.2
gitea.db
action_run
Create
Query
access
access_token
action
action_artifact
action_run
action_run_index
action_run_job
action_runner
action_runner_token
action_schedule
action_schedule_spec
action_task
action_task_output
action_task_step
action_tasks_version
action_variable
app_state
attachment
auth_token
badge
branch
collaboration
comment
commit_status
commit_status_index
commit_status_summary
commit_sync_log
commit_sync_status
dbfs_data
dbfs_meta
deploy_key
email_address
email_hash
external_login_user
follow
gpg_key
gpg_key_import
hook_task
issue
issue_assignees
issue_content_history
issue_dependency
issue_index
issue_label
issue_pin
issue_user
issue_watch
label
language_stat
lfs_lock
lfs_meta_object
login_source
milestone
mirror
notice
notification
oauth2_application
oauth2_authorization_code
oauth2_grant
org_user
package
package_blob
package_blob_upload
package_cleanup_rule
package_file
package_property
package_version
project
project_board
project_issue
protected_branch
protected_tag
public_key
pull_auto_merge
pull_request
push_mirror
reaction
release
renamed_branch
repo_archiver
repo_hidden_file
repo_indexer_status
repo_license
repo_redirect
repo_topic
repo_transfer
repo_unit
repository
review
review_state
secret
session
sqlite_sequence
star
stopwatch
system_setting
task
team
team_invite
team_repo
team_unit
team_user
topic
tracked_time
two_factor
upload
user
user_badge
user_blocking
user_open_id
user_redirect
user_setting
version
watch
webauthn_credential
webhook
Toggle helper tables
Structure
Content
Query
Insert
Drop
Import
Export
Update row 82 in action_run
id
Primary key.
INTEGER NOT NULL
title
Run backend audit scripts
TEXT
repo_id
INTEGER
owner_id
INTEGER
workflow_id
ci.yml
TEXT
index
INTEGER
trigger_user_id
INTEGER
schedule_id
INTEGER
ref
refs/heads/main
TEXT
commit_sha
57dde43e9eb1e72e9797fd342f9d920b9afb6ab5
TEXT
is_fork_pull_request
INTEGER
need_approval
INTEGER
approved_by
INTEGER
event
push
TEXT
event_payload
{"ref":"refs/heads/main","before":"31212e80da71dfee521244839853f811bea867e4","after":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/31212e80da71dfee521244839853f811bea867e4...57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","commits":[{"id":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","message":"Run backend audit scripts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T10:19:59+08:00","added":["backend/scripts/audit-route-registration.ts","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md"],"removed":["backend/src/modules/alliance-packages/alliance-package.contract.routes.ts","backend/src/modules/assets/asset.contract.routes.ts","backend/src/modules/auth/auth.contract.routes.ts","backend/src/modules/customer-marketing/customer-marketing.contract.routes.ts"],"modified":["backend/package.json","backend/src/modules/ad-placement/ad-creative.contract.routes.ts","backend/src/modules/ad-placement/ad-creative.controller.ts","backend/src/modules/ad-placement/ad-creative.routes.ts","backend/src/modules/ad-placement/ad-creative.schema.ts","backend/src/modules/ad-placement/ad-creative.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/alliance-packages/alliance-package.routes.ts","backend/src/modules/assets/asset.controller.ts","backend/src/modules/assets/asset.routes.ts","backend/src/modules/auth/auth.controller.ts","backend/src/modules/auth/auth.routes.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.routes.ts","backend/src/modules/rma/rma.controller.ts","backend/src/modules/rma/rma.routes.ts","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","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md"]},{"id":"07b1601c86752a302e603d74d41d74f1f75c82d5","message":"Audit backend route changes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/07b1601c86752a302e603d74d41d74f1f75c82d5","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T10:08:53+08:00","added":["backend/src/modules/ad-campaigns/ad-campaigns.contract.routes.ts","backend/src/modules/ad-placement/ad-creative.contract.routes.ts","backend/src/modules/ad-placement/ad-creative.service.test.ts","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/alliance-coupons/alliance-coupon.contract.routes.ts","backend/src/modules/alliance-packages/alliance-package.contract.routes.ts","backend/src/modules/assets/asset.contract.routes.ts","backend/src/modules/auth/auth.contract.routes.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/community-fission/community-fission.contract.routes.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-materials/community-material.contract.routes.ts","backend/src/modules/community-tasks/community-task.contract.routes.ts","backend/src/modules/customer-marketing/customer-marketing.contract.routes.ts","backend/src/modules/departments/department.contract.routes.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-reviews/geo-review.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/knowledge/knowledge.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-workflows/marketing-workflow.contract.routes.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.contract.routes.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/rma/rma.contract.routes.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/ticket-workflows/ticket-workflow.contract.routes.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/routes/contract-backfill.routes.ts","docs/API-ROUTING-FIX-PLAN.md","frontend/src/views/finance-os/ai/AIAutopilotCenter.vue","frontend/src/views/finance-os/profit/ProfitAssetEngine.vue","frontend/src/views/finance-os/risk/RiskCreditHub.vue","frontend_tsc_errors.txt"],"removed":["frontend/src/components/common/VisionPlaceholder.vue","frontend/src/views/finance-os/Placeholder.vue"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.routes.ts","backend/src/modules/ad-placement/ad-creative.controller.ts","backend/src/modules/ad-placement/ad-creative.routes.ts","backend/src/modules/ad-placement/ad-creative.service.ts","backend/src/modules/ad-placement/placement.routes.ts","backend/src/modules/alliance-agreements/alliance-agreement.controller.ts","backend/src/modules/alliance-agreements/alliance-agreement.routes.ts","backend/src/modules/alliance-coupons/alliance-coupon.routes.ts","backend/src/modules/alliance-packages/alliance-package.routes.ts","backend/src/modules/assets/asset.routes.ts","backend/src/modules/auth/auth.routes.ts","backend/src/modules/channels/channel.routes.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.routes.ts","backend/src/modules/community-groups/community-group.routes.ts","backend/src/modules/community-materials/community-material.routes.ts","backend/src/modules/community-tasks/community-task.controller.ts","backend/src/modules/community-tasks/community-task.routes.ts","backend/src/modules/customer-marketing/customer-marketing.routes.ts","backend/src/modules/departments/department.routes.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.routes.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-reviews/geo-review.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.routes.ts","backend/src/modules/marketing-workflows/marketing-workflow.routes.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.routes.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/rma/rma.routes.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/ticket-workflows/ticket-workflow.routes.ts","backend/src/modules/treasury/treasury.routes.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/events.ts","backend/src/shared/constants/permissions.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/router/index.ts","frontend/src/types/common.ts","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/process-designer/Designer.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/missing-events-audit.latest.json","reports/missing-events-audit.latest.md"]},{"id":"2d9241c7ee82ceb0e13994c8558ffdc99e4d202c","message":"Analyze recent project changes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2d9241c7ee82ceb0e13994c8558ffdc99e4d202c","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T09:40:30+08:00","added":["backend/scripts/maintain-partitions.ts","test_output.txt"],"removed":["frontend/src/views/_archived/acquisition/Integrations.vue","frontend/src/views/_archived/acquisition/TobTocGateway.vue","frontend/src/views/_archived/ad/Accounts.vue","frontend/src/views/_archived/ad/Analytics.vue","frontend/src/views/_archived/ad/Audiences.vue","frontend/src/views/_archived/ad/Biddings.vue","frontend/src/views/_archived/ad/Campaigns.vue","frontend/src/views/_archived/ad/Creatives.vue","frontend/src/views/_archived/ad/Placements.vue","frontend/src/views/_archived/ad/Reports.vue","frontend/src/views/_archived/admin/ApiMonitor.vue","frontend/src/views/_archived/admin/Bom.vue","frontend/src/views/_archived/admin/CacheMonitor.vue","frontend/src/views/_archived/admin/KafkaMonitor.vue","frontend/src/views/_archived/admin/SystemMonitor.vue","frontend/src/views/_archived/ai/Copilot.vue","frontend/src/views/_archived/alliance/Analytics.vue","frontend/src/views/_archived/alliance/Coupons.vue","frontend/src/views/_archived/alliance/Merchants.vue","frontend/src/views/_archived/alliance/Products.vue","frontend/src/views/_archived/alliance/Promotions.vue","frontend/src/views/_archived/alliance/Referrals.vue","frontend/src/views/_archived/alliance/Settlements.vue","frontend/src/views/_archived/approvals/Configs.vue","frontend/src/views/_archived/approvals/Templates.vue","frontend/src/views/_archived/assets/Maintenance.vue","frontend/src/views/_archived/assets/Transfers.vue","frontend/src/views/_archived/attribution/ConversionPaths.vue","frontend/src/views/_archived/attribution/Models.vue","frontend/src/views/_archived/attribution/MultiTouch.vue","frontend/src/views/_archived/attribution/Reports.vue","frontend/src/views/_archived/audit-logs/Index.vue","frontend/src/views/_archived/campaigns/wizard/Step2UseCase.vue","frontend/src/views/_archived/campaigns/wizard/Step3Tools.vue","frontend/src/views/_archived/campaigns/wizard/Step3ToolsEnhanced.vue","frontend/src/views/_archived/campaigns/wizard/Step4Stores.vue","frontend/src/views/_archived/campaigns/wizard/Step7Review.vue","frontend/src/views/_archived/channels/Analytics.vue","frontend/src/views/_archived/channels/QrCodes.vue","frontend/src/views/_archived/channels/UtmTracking.vue","frontend/src/views/_archived/community/Gamification.vue","frontend/src/views/_archived/finance/AgingAnalysis.vue","frontend/src/views/_archived/finance/ApLedger.vue","frontend/src/views/_archived/finance/ArLedger.vue","frontend/src/views/_archived/finance/CostAllocation.vue","frontend/src/views/_archived/finance/ExpenseClaims.vue","frontend/src/views/_archived/finance/InvoiceRequests.vue","frontend/src/views/_archived/finance/InvoiceVerification.vue","frontend/src/views/_archived/finance/PaymentPlans.vue","frontend/src/views/_archived/finance/SupplierPayments.vue","frontend/src/views/_archived/geo/Analysis.vue","frontend/src/views/_archived/groupbuy/Pricing.vue","frontend/src/views/_archived/groupbuy/Rankings.vue","frontend/src/views/_archived/groupbuy/Rules.vue","frontend/src/views/_archived/groupbuy/Vouchers.vue","frontend/src/views/_archived/hr/Payroll.vue","frontend/src/views/_archived/im/Channels.vue","frontend/src/views/_archived/im/VideoCall.vue","frontend/src/views/_archived/knowledge/Tags.vue","frontend/src/views/_archived/leads/Import.vue","frontend/src/views/_archived/leads/Intelligence.vue","frontend/src/views/_archived/leads/Pool.vue","frontend/src/views/_archived/leads/Pools.vue","frontend/src/views/_archived/leads/Scoring.vue","frontend/src/views/_archived/livestream/Replays.vue","frontend/src/views/_archived/marketing-dashboard/Index.vue","frontend/src/views/_archived/marketing/AbmMarketing.vue","frontend/src/views/_archived/marketing/Attribution.vue","frontend/src/views/_archived/marketing/Dashboard.vue","frontend/src/views/_archived/marketing/Effectiveness.vue","frontend/src/views/_archived/marketing/campaign-targets/Index.vue","frontend/src/views/_archived/marketing/segments/Index.vue","frontend/src/views/_archived/mdm/Anomalies.vue","frontend/src/views/_archived/mdm/CallLogs.vue","frontend/src/views/_archived/mdm/Compliance.vue","frontend/src/views/_archived/members/Benefits.vue","frontend/src/views/_archived/members/Levels.vue","frontend/src/views/_archived/members/Points.vue","frontend/src/views/_archived/north-star-metrics/Index.vue","frontend/src/views/_archived/organization/Chart.vue","frontend/src/views/_archived/organization/Positions.vue","frontend/src/views/_archived/payroll/Index.vue","frontend/src/views/_archived/permissions/Index.vue","frontend/src/views/_archived/social/Matrix.vue","frontend/src/views/_archived/store-dashboard/Index.vue","frontend/src/views/_archived/stores/Agency.vue","frontend/src/views/_archived/stores/Configs.vue","frontend/src/views/_archived/stores/Dashboard.vue","frontend/src/views/_archived/stores/LocalEvents.vue","frontend/src/views/_archived/stores/LocalPromotion.vue","frontend/src/views/_archived/stores/Performance.vue","frontend/src/views/_archived/stores/SelfOperated.vue","frontend/src/views/_archived/system/BizSequences.vue","frontend/src/views/_archived/system/Dictionaries.vue","frontend/src/views/_archived/system/EmailTemplates.vue","frontend/src/views/_archived/system/Events.vue","frontend/src/views/_archived/system/Files.vue","frontend/src/views/_archived/system/IntegrationServices.vue","frontend/src/views/_archived/system/LoginLogs.vue","frontend/src/views/_archived/system/Menus.vue","frontend/src/views/_archived/system/OperationLogs.vue","frontend/src/views/_archived/system/Realtime.vue","frontend/src/views/_archived/system/SecuritySettings.vue","frontend/src/views/_archived/system/Settings.vue","frontend/src/views/_archived/system/WorkflowGenerator.vue","frontend/src/views/_archived/system/event-logs/Index.vue","frontend/src/views/_archived/system/files/Index.vue","frontend/src/views/_archived/system/scheduled-jobs/Index.vue","frontend/src/views/_archived/tenant/Branding.vue","frontend/src/views/_archived/tenant/Settings.vue","frontend/src/views/_archived/tickets/Gantt.vue","frontend/src/views/_archived/video/Analytics.vue","frontend/src/views/_archived/video/Content.vue","frontend/src/views/_archived/video/Publishing.vue"],"modified":[".env.production.example",".github/workflows/deploy.yml","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql","backend/src/consumers/finance.consumer.ts","backend/src/consumers/sales.consumer.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/cost-allocation/cost-allocation.routes.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.routes.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/disbursements/ap-ledger.service.ts","backend/src/modules/finance/treasury.service.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.controller.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.routes.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.controller.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.routes.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.controller.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.routes.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/predictive-analytics/predictive-analytics.routes.ts","backend/src/modules/realtime-trigger/realtime-trigger.routes.ts","backend/src/modules/revenue/invoice-items.service.ts","backend/src/modules/self-operated-store/self-operated-store.service.ts","backend/src/modules/store-agency/store-agency.service.ts","backend/src/modules/supplier-payments/supplier-payments.routes.ts","backend/src/shared/process-core/internal-workflow-engine.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/agent-audit.service.ts","backend/src/shared/services/audit-log.service.ts","backend/src/shared/services/base.service.ts","deploy/nginx/conf.d/production.conf","deploy/nginx/nginx.conf","docker-compose.prod.yml","frontend/scripts/check-array-guard.mjs","frontend/src/views/ai-agents/Events.vue","frontend/src/views/ai-agents/Queue.vue","frontend/src/views/ai-agents/TasksPending.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/analytics/CohortAnalysis.vue","frontend/src/views/analytics/ConsumerBehavior.vue","frontend/src/views/analytics/CrossDomainFunnel.vue","frontend/src/views/analytics/CustomerJourney.vue","frontend/src/views/analytics/DataHub.vue","frontend/src/views/analytics/DimensionTransform.vue","frontend/src/views/analytics/JourneyOrchestration.vue","frontend/src/views/analytics/LifecycleValue.vue","frontend/src/views/analytics/Ltv.vue","frontend/src/views/analytics/MetricTree.vue","frontend/src/views/analytics/NorthStarMetrics.vue","frontend/src/views/analytics/OmnichannelDashboard.vue","frontend/src/views/analytics/ProductAnalytics.vue","frontend/src/views/analytics/RealtimeMarketingAi.vue","frontend/src/views/analytics/RfmAnalysis.vue","frontend/src/views/analytics/SalesFunnel.vue","frontend/src/views/analytics/Segmentation.vue","frontend/src/views/analytics/Segments.vue","frontend/src/views/analytics/Touchpoints.vue","frontend/tsconfig.json","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","reports/missing-events-audit.latest.json","reports/missing-events-audit.latest.md","reports/module-placeholder-audit.latest.json","reports/module-placeholder-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","scripts/deploy.sh"]},{"id":"e07d7959f1a4a04eeb4ce8011de1d4efac9b4b30","message":"fix(api): resolve ad-creatives routing conflict and add missing advanced endpoints\n\n- Fixed routing blackhole in `register-domain-routes.ts` by ordering `adPlacementCreativeRoutes` before the generic `adCreativesRoutes`, allowing AB tests and attribution routes to resolve correctly.\n- Corrected frontend API request paths in `ad-creatives.ts` to align with the backend's nested `/ad-placement/creatives` prefix.\n- Mocked 4 missing advanced analytics endpoints in `ad-creative.controller/service/routes` (`getAbTestStats`, `getAbTest`, `getAttributionStats`, `resolveBudgetAlert`) to prevent UI components from throwing 404 Not Found errors.\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e07d7959f1a4a04eeb4ce8011de1d4efac9b4b30","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T09:32:13+08:00","added":[],"removed":[],"modified":["backend/src/modules/ad-placement/ad-creative.controller.ts","backend/src/modules/ad-placement/ad-creative.routes.ts","backend/src/modules/ad-placement/ad-creative.service.ts","backend/src/routes/register-domain-routes.ts","frontend/src/api/modules/ad-creatives.ts"]},{"id":"bcbcfed972aa45b8fd4f98066a53fb9f414513da","message":"feat(ui): upgrade placeholders to VisionPlaceholder for analytics and ai-agents\n\n- Extracted `VisionPlaceholder` component from Finance OS placeholder logic to provide high-fidelity, interactive skeletons for missing features\n- Replaced 22 plain empty states in `analytics/` modules with `VisionPlaceholder` to enhance commercial demonstration quality\n- Upgraded 4 AI Agent monitoring queues (`Events`, `Queue`, `TasksPending`, `TasksReview`) to use `VisionPlaceholder` with domain-specific metrics\n- Hid the unsupported 'Run Now' action in `scheduled-jobs/Index.vue` to prevent user flow disruption\n- Updated `REFACTOR_TASKS.md` with a 3-step roadmap (Analytics, Finance-OS, AI-Agents) to convert these placeholders to real features\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bcbcfed972aa45b8fd4f98066a53fb9f414513da","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T09:11:30+08:00","added":["frontend/src/components/common/VisionPlaceholder.vue"],"removed":[],"modified":["REFACTOR_TASKS.md","frontend/src/views/ai-agents/Events.vue","frontend/src/views/ai-agents/Queue.vue","frontend/src/views/ai-agents/TasksPending.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/analytics/CohortAnalysis.vue","frontend/src/views/analytics/ConsumerBehavior.vue","frontend/src/views/analytics/CrossDomainFunnel.vue","frontend/src/views/analytics/CustomerJourney.vue","frontend/src/views/analytics/DataHub.vue","frontend/src/views/analytics/DimensionTransform.vue","frontend/src/views/analytics/JourneyOrchestration.vue","frontend/src/views/analytics/LifecycleValue.vue","frontend/src/views/analytics/Ltv.vue","frontend/src/views/analytics/MetricTree.vue","frontend/src/views/analytics/NorthStarMetrics.vue","frontend/src/views/analytics/OmnichannelDashboard.vue","frontend/src/views/analytics/ProductAnalytics.vue","frontend/src/views/analytics/RealtimeMarketingAi.vue","frontend/src/views/analytics/RfmAnalysis.vue","frontend/src/views/analytics/SalesFunnel.vue","frontend/src/views/analytics/Segmentation.vue","frontend/src/views/analytics/Segments.vue","frontend/src/views/analytics/Touchpoints.vue","frontend/src/views/scheduled-jobs/Index.vue"]}],"total_commits":0,"head_commit":{"id":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","message":"Run backend audit scripts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T10:19:59+08:00","added":["backend/scripts/audit-route-registration.ts","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md"],"removed":["backend/src/modules/alliance-packages/alliance-package.contract.routes.ts","backend/src/modules/assets/asset.contract.routes.ts","backend/src/modules/auth/auth.contract.routes.ts","backend/src/modules/customer-marketing/customer-marketing.contract.routes.ts"],"modified":["backend/package.json","backend/src/modules/ad-placement/ad-creative.contract.routes.ts","backend/src/modules/ad-placement/ad-creative.controller.ts","backend/src/modules/ad-placement/ad-creative.routes.ts","backend/src/modules/ad-placement/ad-creative.schema.ts","backend/src/modules/ad-placement/ad-creative.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/alliance-packages/alliance-package.routes.ts","backend/src/modules/assets/asset.controller.ts","backend/src/modules/assets/asset.routes.ts","backend/src/modules/auth/auth.controller.ts","backend/src/modules/auth/auth.routes.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.routes.ts","backend/src/modules/rma/rma.controller.ts","backend/src/modules/rma/rma.routes.ts","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","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":473812,"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-02-24T00:29:22+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"}}
TEXT
trigger_event
push
TEXT
status
INTEGER
version
INTEGER (default 0
started
INTEGER
stopped
INTEGER
previous_duration
INTEGER
created
INTEGER
updated
INTEGER
raw_concurrency
NULL
TEXT
concurrency_group
TEXT NOT NULL (default ''
concurrency_cancel
INTEGER NOT NULL (default FALSE
Update
Cancel