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 7235 in action_run
id
Primary key.
INTEGER NOT NULL
title
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
TEXT
repo_id
INTEGER
owner_id
INTEGER
workflow_id
quality-check.yml
TEXT
index
INTEGER
trigger_user_id
INTEGER
schedule_id
INTEGER
ref
refs/heads/main
TEXT
commit_sha
0900b15d607e5c78f97fec16a73357ad4f814390
TEXT
is_fork_pull_request
INTEGER
need_approval
INTEGER
approved_by
INTEGER
event
push
TEXT
event_payload
{"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"d896457d1be5c717ded0691d144621b3c521cd35","message":"chore: Phase 0-5 附带修复 — Agent 产生的额外优化\n\n- database.ts: 类型优化\n- main.ts: 路由注册和 schema 转换修复\n- auth.middleware.ts: 类型收紧\n- schema-converter.ts: 冗余移除\n- IMPanel.vue/MessageSearch.vue: 前端组件优化\n- list-cache.service.ts: 新增列表缓存服务\n- 更新审计报告快照\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","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-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"8d6bbbf7db74cd492873138a576a303da86c39cf","message":"test: Phase 3 — IM 15 测试 + Revenue 13 测试 + ZodEffects 兼容修复\n\n- 新增 tests/api/im.test.ts: 15 用例覆盖会话/消息/参与者/在线状态/未读统计\n- 新增 tests/api/revenue-payment-terms.test.ts: 13 用例覆盖统计/CRUD/批量/事件集成\n- 修复 validation.ts: ZodEffects.prototype 添加 partial/omit/extend 代理\n- 修复 rfm-analysis.schema.ts: .passthrough() 顺序修正\n- 发现: IM 模块需加入 requestCaseConverter 排除列表\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","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-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"5154c3ae921f8ff76d803e3e30208edd8c791d77","message":"test: Phase 3 — Marketing API 集成测试 19 用例 + schema bug 修复\n\n- 新增 tests/api/marketing.test.ts: 19 个测试用例覆盖 CRUD + 状态机 + 多租户隔离\n- 修复 lead-scoring.schema.ts: .transform() 后 .partial() 运行时错误\n- 修复 lead-assignment.schema.ts: 同上\n- 修复 campaign-analytics.schema.ts: .passthrough() 顺序修正\n- 修复 diagnosis.schema.ts: 同上\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","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-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","message":"refactor: Phase 4 — 循环依赖 8→1(仅剩 prisma 自引用误报)\n\n修复策略:\n- finance 循环(#5-8): 提取 finance.types.ts 共享类型,打断子模块↔主模块循环\n- kafka/circuit-breaker(#1): producerProvider 回调注入替代动态 import\n- ai-agents(#3-4): 函数注册表模式(ai-autopilot-registry.ts)解耦互相调用\n- prisma-fallback-types(#2): madge 递归类型误报,无需修复\n\ntsc --noEmit 零错误 / madge circular 仅剩 1 个误报\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","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-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"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/avatar/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,"mirror":false,"size":1907548,"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,"branch_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-20T01:03:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":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,"allow_manual_merge":false,"autodetect_manual_merge":false,"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","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/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":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/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
group: quality-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: "true"
TEXT
concurrency_group
quality-quality-check.yml-refs/heads/main
TEXT NOT NULL (default ''
concurrency_cancel
INTEGER NOT NULL (default FALSE
Update
Cancel