|
32
|
t2228
|
2
|
2
|
hello-world.yaml
|
31
|
1
|
0
|
refs/heads/main
|
5b02704031563f678f5ef2cb09446cc806b2d32b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"db8eda4b4696ee119fdb6d2f03804ccdf33ebcbb","after":"5b02704031563f678f5ef2cb09446cc806b2d32b","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/db8eda4b4696ee119fdb6d2f03804ccdf33ebcbb...5b02704031563f678f5ef2cb09446cc806b2d32b","commits":[{"id":"5b02704031563f678f5ef2cb09446cc806b2d32b","message":"t2228\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/5b02704031563f678f5ef2cb09446cc806b2d32b","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T17:26:00+08:00","added":[],"removed":[],"modified":["pc/kg.php"]}],"total_commits":0,"head_commit":{"id":"5b02704031563f678f5ef2cb09446cc806b2d32b","message":"t2228\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/5b02704031563f678f5ef2cb09446cc806b2d32b","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T17:26:00+08:00","added":[],"removed":[],"modified":["pc/kg.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17743,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T17:08:11+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
3
|
1770888366
|
1770888372
|
0
|
1770888366
|
1770888372
|
NULL
|
|
0
|
Edit
Delete
|
|
33
|
t2228111
|
2
|
2
|
hello-world.yaml
|
32
|
1
|
0
|
refs/heads/main
|
1263656b62ab1dad57c56f8d004cb615f4ed02ba
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"5b02704031563f678f5ef2cb09446cc806b2d32b","after":"1263656b62ab1dad57c56f8d004cb615f4ed02ba","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/5b02704031563f678f5ef2cb09446cc806b2d32b...1263656b62ab1dad57c56f8d004cb615f4ed02ba","commits":[{"id":"1263656b62ab1dad57c56f8d004cb615f4ed02ba","message":"t2228111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/1263656b62ab1dad57c56f8d004cb615f4ed02ba","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T17:29:09+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]}],"total_commits":0,"head_commit":{"id":"1263656b62ab1dad57c56f8d004cb615f4ed02ba","message":"t2228111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/1263656b62ab1dad57c56f8d004cb615f4ed02ba","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T17:29:09+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17744,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T17:26:12+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
3
|
1770888557
|
1770888565
|
0
|
1770888557
|
1770888565
|
NULL
|
|
0
|
Edit
Delete
|
|
34
|
t2228111sss
|
2
|
2
|
hello-world.yaml
|
33
|
1
|
0
|
refs/heads/main
|
65caede278c2e8e14c0612ec8d8f7d26aec24ec9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"bf439dffa07315fdb4d46f38af22131605dcb005","after":"65caede278c2e8e14c0612ec8d8f7d26aec24ec9","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/bf439dffa07315fdb4d46f38af22131605dcb005...65caede278c2e8e14c0612ec8d8f7d26aec24ec9","commits":[{"id":"65caede278c2e8e14c0612ec8d8f7d26aec24ec9","message":"t2228111sss\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/65caede278c2e8e14c0612ec8d8f7d26aec24ec9","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T17:39:09+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]}],"total_commits":0,"head_commit":{"id":"65caede278c2e8e14c0612ec8d8f7d26aec24ec9","message":"t2228111sss\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/65caede278c2e8e14c0612ec8d8f7d26aec24ec9","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T17:39:09+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17751,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T17:38:07+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
3
|
1770889156
|
1770889164
|
0
|
1770889156
|
1770889164
|
NULL
|
|
0
|
Edit
Delete
|
|
35
|
t2228111sss
|
2
|
2
|
hello-world.yaml
|
34
|
1
|
0
|
refs/heads/main
|
400093d9f9f3977b244da942667525d369ac684b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"65caede278c2e8e14c0612ec8d8f7d26aec24ec9","after":"400093d9f9f3977b244da942667525d369ac684b","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/65caede278c2e8e14c0612ec8d8f7d26aec24ec9...400093d9f9f3977b244da942667525d369ac684b","commits":[{"id":"400093d9f9f3977b244da942667525d369ac684b","message":"t2228111sss\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/400093d9f9f3977b244da942667525d369ac684b","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T17:51:43+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]}],"total_commits":0,"head_commit":{"id":"400093d9f9f3977b244da942667525d369ac684b","message":"t2228111sss\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/400093d9f9f3977b244da942667525d369ac684b","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T17:51:43+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17753,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T17:39:24+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1770889916
|
1770889924
|
0
|
1770889915
|
1770889924
|
NULL
|
|
0
|
Edit
Delete
|
|
36
|
t2228111ssssss
|
2
|
2
|
hello-world.yaml
|
35
|
1
|
0
|
refs/heads/main
|
d64df3fe0cf829fa7895d0e15cc72debc562ab2c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"400093d9f9f3977b244da942667525d369ac684b","after":"d64df3fe0cf829fa7895d0e15cc72debc562ab2c","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/400093d9f9f3977b244da942667525d369ac684b...d64df3fe0cf829fa7895d0e15cc72debc562ab2c","commits":[{"id":"d64df3fe0cf829fa7895d0e15cc72debc562ab2c","message":"t2228111ssssss\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/d64df3fe0cf829fa7895d0e15cc72debc562ab2c","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T17:55:16+08:00","added":[],"removed":[],"modified":["pc/kg.php"]}],"total_commits":0,"head_commit":{"id":"d64df3fe0cf829fa7895d0e15cc72debc562ab2c","message":"t2228111ssssss\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/d64df3fe0cf829fa7895d0e15cc72debc562ab2c","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T17:55:16+08:00","added":[],"removed":[],"modified":["pc/kg.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17755,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T17:52:04+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1770890123
|
1770890131
|
0
|
1770890122
|
1770890131
|
NULL
|
|
0
|
Edit
Delete
|
|
37
|
t22收拾收拾
|
2
|
2
|
hello-world.yaml
|
36
|
1
|
0
|
refs/heads/main
|
359a23bb2b3c088576051d47f237505eaa12d9e9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"818b1c5d88b0c74e59ba3bed63054123701adf17","after":"359a23bb2b3c088576051d47f237505eaa12d9e9","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/818b1c5d88b0c74e59ba3bed63054123701adf17...359a23bb2b3c088576051d47f237505eaa12d9e9","commits":[{"id":"359a23bb2b3c088576051d47f237505eaa12d9e9","message":"t22收拾收拾\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/359a23bb2b3c088576051d47f237505eaa12d9e9","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T18:01:22+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml","pc/kg.php"]}],"total_commits":0,"head_commit":{"id":"359a23bb2b3c088576051d47f237505eaa12d9e9","message":"t22收拾收拾\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/359a23bb2b3c088576051d47f237505eaa12d9e9","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T18:01:22+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml","pc/kg.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17761,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T18:00:52+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
3
|
1770890490
|
1770890599
|
0
|
1770890489
|
1770890599
|
NULL
|
|
0
|
Edit
Delete
|
|
38
|
t22收拾收拾99
|
2
|
2
|
hello-world.yaml
|
37
|
1
|
0
|
refs/heads/main
|
8b9043cb7c726e4e59948720bb4009d9c10c8041
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"359a23bb2b3c088576051d47f237505eaa12d9e9","after":"8b9043cb7c726e4e59948720bb4009d9c10c8041","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/359a23bb2b3c088576051d47f237505eaa12d9e9...8b9043cb7c726e4e59948720bb4009d9c10c8041","commits":[{"id":"8b9043cb7c726e4e59948720bb4009d9c10c8041","message":"t22收拾收拾99\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/8b9043cb7c726e4e59948720bb4009d9c10c8041","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T18:03:33+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]}],"total_commits":0,"head_commit":{"id":"8b9043cb7c726e4e59948720bb4009d9c10c8041","message":"t22收拾收拾99\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/8b9043cb7c726e4e59948720bb4009d9c10c8041","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T18:03:33+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17764,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T18:03:19+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
3
|
1770890621
|
1770890726
|
0
|
1770890620
|
1770890726
|
NULL
|
|
0
|
Edit
Delete
|
|
39
|
t22收拾收拾99ii
|
2
|
2
|
hello-world.yaml
|
38
|
1
|
0
|
refs/heads/main
|
dd0c28fc64f996117a47cf5b8ed9e7ae228630ef
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8b9043cb7c726e4e59948720bb4009d9c10c8041","after":"dd0c28fc64f996117a47cf5b8ed9e7ae228630ef","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/8b9043cb7c726e4e59948720bb4009d9c10c8041...dd0c28fc64f996117a47cf5b8ed9e7ae228630ef","commits":[{"id":"dd0c28fc64f996117a47cf5b8ed9e7ae228630ef","message":"t22收拾收拾99ii\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/dd0c28fc64f996117a47cf5b8ed9e7ae228630ef","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T18:06:47+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml","pc/kg.php"]}],"total_commits":0,"head_commit":{"id":"dd0c28fc64f996117a47cf5b8ed9e7ae228630ef","message":"t22收拾收拾99ii\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/dd0c28fc64f996117a47cf5b8ed9e7ae228630ef","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T18:06:47+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml","pc/kg.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17766,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T18:05:26+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1770890814
|
1770890822
|
0
|
1770890813
|
1770890822
|
NULL
|
|
0
|
Edit
Delete
|
|
6116
|
1111
|
2
|
2
|
hello-world.yaml
|
39
|
1
|
0
|
refs/heads/main
|
14b0bd31fd78217bc8d4e3e9675385deef19fcf2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"dd0c28fc64f996117a47cf5b8ed9e7ae228630ef","after":"14b0bd31fd78217bc8d4e3e9675385deef19fcf2","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/dd0c28fc64f996117a47cf5b8ed9e7ae228630ef...14b0bd31fd78217bc8d4e3e9675385deef19fcf2","commits":[{"id":"14b0bd31fd78217bc8d4e3e9675385deef19fcf2","message":"1111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/14b0bd31fd78217bc8d4e3e9675385deef19fcf2","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-16T20:17:45+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml","pc/index.php"]}],"total_commits":0,"head_commit":{"id":"14b0bd31fd78217bc8d4e3e9675385deef19fcf2","message":"1111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/14b0bd31fd78217bc8d4e3e9675385deef19fcf2","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-16T20:17:45+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml","pc/index.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17768,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T18:07:02+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773663554
|
1773663557
|
0
|
1773663552
|
1773663557
|
NULL
|
|
0
|
Edit
Delete
|
|
6118
|
111122
|
2
|
2
|
hello-world.yaml
|
40
|
1
|
0
|
refs/heads/main
|
29b5655925cbfa8c56c5447ee5bb8dc020b74c5b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"14b0bd31fd78217bc8d4e3e9675385deef19fcf2","after":"29b5655925cbfa8c56c5447ee5bb8dc020b74c5b","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/14b0bd31fd78217bc8d4e3e9675385deef19fcf2...29b5655925cbfa8c56c5447ee5bb8dc020b74c5b","commits":[{"id":"29b5655925cbfa8c56c5447ee5bb8dc020b74c5b","message":"111122\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/29b5655925cbfa8c56c5447ee5bb8dc020b74c5b","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-16T20:25:01+08:00","added":[],"removed":[],"modified":["pc/index.php"]}],"total_commits":0,"head_commit":{"id":"29b5655925cbfa8c56c5447ee5bb8dc020b74c5b","message":"111122\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/29b5655925cbfa8c56c5447ee5bb8dc020b74c5b","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-16T20:25:01+08:00","added":[],"removed":[],"modified":["pc/index.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17775,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-03-16T20:19:17+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773663911
|
1773663914
|
0
|
1773663910
|
1773663914
|
NULL
|
|
0
|
Edit
Delete
|
|
6286
|
测试提交内容
|
2
|
2
|
hello-world.yaml
|
41
|
1
|
0
|
refs/heads/main
|
e8a92e1ba30259f2607d811af202d67a1e14c6f6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"29b5655925cbfa8c56c5447ee5bb8dc020b74c5b","after":"e8a92e1ba30259f2607d811af202d67a1e14c6f6","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/29b5655925cbfa8c56c5447ee5bb8dc020b74c5b...e8a92e1ba30259f2607d811af202d67a1e14c6f6","commits":[{"id":"e8a92e1ba30259f2607d811af202d67a1e14c6f6","message":"测试提交内容\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/e8a92e1ba30259f2607d811af202d67a1e14c6f6","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T10:16:14+08:00","added":[],"removed":[],"modified":["pc/index.php"]}],"total_commits":0,"head_commit":{"id":"e8a92e1ba30259f2607d811af202d67a1e14c6f6","message":"测试提交内容\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/e8a92e1ba30259f2607d811af202d67a1e14c6f6","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T10:16:14+08:00","added":[],"removed":[],"modified":["pc/index.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17780,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":2,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-16T20:25:14+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773713784
|
1773713787
|
0
|
1773713783
|
1773713787
|
NULL
|
|
0
|
Edit
Delete
|
|
6288
|
测试提交内容2
|
2
|
2
|
hello-world.yaml
|
42
|
1
|
0
|
refs/heads/main
|
e81717d4e0161b8859cf8a712eeb882a87987e78
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e8a92e1ba30259f2607d811af202d67a1e14c6f6","after":"e81717d4e0161b8859cf8a712eeb882a87987e78","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/e8a92e1ba30259f2607d811af202d67a1e14c6f6...e81717d4e0161b8859cf8a712eeb882a87987e78","commits":[{"id":"e81717d4e0161b8859cf8a712eeb882a87987e78","message":"测试提交内容2\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/e81717d4e0161b8859cf8a712eeb882a87987e78","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T10:21:04+08:00","added":[],"removed":[],"modified":["pc/index.php"]}],"total_commits":0,"head_commit":{"id":"e81717d4e0161b8859cf8a712eeb882a87987e78","message":"测试提交内容2\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/e81717d4e0161b8859cf8a712eeb882a87987e78","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T10:21:04+08:00","added":[],"removed":[],"modified":["pc/index.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17786,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":4,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T10:16:27+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773714075
|
1773714078
|
0
|
1773714074
|
1773714078
|
NULL
|
|
0
|
Edit
Delete
|
|
6289
|
测试提交内容21
|
2
|
2
|
hello-world.yaml
|
43
|
1
|
0
|
refs/heads/main
|
930eca9fb53f66e8bd5c691867946eecb08d648e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e81717d4e0161b8859cf8a712eeb882a87987e78","after":"930eca9fb53f66e8bd5c691867946eecb08d648e","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/e81717d4e0161b8859cf8a712eeb882a87987e78...930eca9fb53f66e8bd5c691867946eecb08d648e","commits":[{"id":"930eca9fb53f66e8bd5c691867946eecb08d648e","message":"测试提交内容21\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/930eca9fb53f66e8bd5c691867946eecb08d648e","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T10:24:02+08:00","added":[],"removed":[],"modified":["pc/index.php"]}],"total_commits":0,"head_commit":{"id":"930eca9fb53f66e8bd5c691867946eecb08d648e","message":"测试提交内容21\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/930eca9fb53f66e8bd5c691867946eecb08d648e","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T10:24:02+08:00","added":[],"removed":[],"modified":["pc/index.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17792,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":6,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T10:21:18+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773714252
|
1773714254
|
0
|
1773714251
|
1773714254
|
NULL
|
|
0
|
Edit
Delete
|
|
6300
|
修改测试111
|
2
|
2
|
hello-world.yaml
|
44
|
1
|
0
|
refs/heads/main
|
252852cf322c50ffd2a193223a08e9e4b567bf78
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"930eca9fb53f66e8bd5c691867946eecb08d648e","after":"252852cf322c50ffd2a193223a08e9e4b567bf78","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/930eca9fb53f66e8bd5c691867946eecb08d648e...252852cf322c50ffd2a193223a08e9e4b567bf78","commits":[{"id":"252852cf322c50ffd2a193223a08e9e4b567bf78","message":"修改测试111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/252852cf322c50ffd2a193223a08e9e4b567bf78","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T11:13:35+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]}],"total_commits":0,"head_commit":{"id":"252852cf322c50ffd2a193223a08e9e4b567bf78","message":"修改测试111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/252852cf322c50ffd2a193223a08e9e4b567bf78","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T11:13:35+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17798,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":8,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T10:24:14+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773717226
|
1773717229
|
0
|
1773717225
|
1773717229
|
NULL
|
|
0
|
Edit
Delete
|
|
6324
|
修改测试调用不存在的model
|
2
|
2
|
hello-world.yaml
|
45
|
1
|
0
|
refs/heads/main
|
82563bcddd8d32587bc08757c8fdba4bb728fdbe
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"252852cf322c50ffd2a193223a08e9e4b567bf78","after":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/252852cf322c50ffd2a193223a08e9e4b567bf78...82563bcddd8d32587bc08757c8fdba4bb728fdbe","commits":[{"id":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","message":"修改测试调用不存在的model\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/82563bcddd8d32587bc08757c8fdba4bb728fdbe","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T13:06:35+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},{"id":"8af6ec06b4c2ac909aacc0291583cee3db2e235d","message":"修改测试调用不存在的model\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/8af6ec06b4c2ac909aacc0291583cee3db2e235d","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T13:04:18+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},{"id":"22b2df01d02fbe472599226ffcd14ff8b3b10460","message":"修改测试调用不存在的model\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/22b2df01d02fbe472599226ffcd14ff8b3b10460","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T11:27:00+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]}],"total_commits":0,"head_commit":{"id":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","message":"修改测试调用不存在的model\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/82563bcddd8d32587bc08757c8fdba4bb728fdbe","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T13:06:35+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17808,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":10,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T11:13:49+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773724005
|
1773724008
|
0
|
1773724005
|
1773724008
|
NULL
|
|
0
|
Edit
Delete
|
|
6332
|
修改测试调用不存在的model
|
2
|
2
|
hello-world.yaml
|
46
|
1
|
0
|
refs/heads/pc-260401
|
82563bcddd8d32587bc08757c8fdba4bb728fdbe
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/pc-260401"," {"ref":"refs/heads/pc-260401","before":"0000000000000000000000000000000000000000","after":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/main...82563bcddd8d32587bc08757c8fdba4bb728fdbe","commits":[],"total_commits":0,"head_commit":{"id":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","message":"修改测试调用不存在的model\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/82563bcddd8d32587bc08757c8fdba4bb728fdbe","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T13:06:35+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17838,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":12,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T13:06:48+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773726258
|
1773726261
|
0
|
1773726257
|
1773726261
|
NULL
|
|
0
|
Edit
Delete
|
|
6337
|
修改测试调用不存在的model
|
2
|
2
|
hello-world.yaml
|
47
|
1
|
0
|
refs/heads/pc-2333
|
82563bcddd8d32587bc08757c8fdba4bb728fdbe
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/pc-2333","b {"ref":"refs/heads/pc-2333","before":"0000000000000000000000000000000000000000","after":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/main...82563bcddd8d32587bc08757c8fdba4bb728fdbe","commits":[],"total_commits":0,"head_commit":{"id":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","message":"修改测试调用不存在的model\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/82563bcddd8d32587bc08757c8fdba4bb728fdbe","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T13:06:35+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17838,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":12,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T13:44:21+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773727295
|
1773727298
|
0
|
1773727295
|
1773727298
|
NULL
|
|
0
|
Edit
Delete
|
|
6353
|
11111
|
2
|
2
|
hello-world.yaml
|
48
|
1
|
0
|
refs/heads/pc-260401
|
81010fc873c5b5fe0d871fdccb321c9f9015e9ae
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/pc-260401"," {"ref":"refs/heads/pc-260401","before":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","after":"81010fc873c5b5fe0d871fdccb321c9f9015e9ae","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/82563bcddd8d32587bc08757c8fdba4bb728fdbe...81010fc873c5b5fe0d871fdccb321c9f9015e9ae","commits":[{"id":"81010fc873c5b5fe0d871fdccb321c9f9015e9ae","message":"11111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/81010fc873c5b5fe0d871fdccb321c9f9015e9ae","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T15:17:38+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]}],"total_commits":0,"head_commit":{"id":"81010fc873c5b5fe0d871fdccb321c9f9015e9ae","message":"11111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/81010fc873c5b5fe0d871fdccb321c9f9015e9ae","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T15:17:38+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17839,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":12,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T14:01:38+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773731876
|
1773731879
|
0
|
1773731875
|
1773731879
|
NULL
|
|
0
|
Edit
Delete
|
|
6370
|
11111
|
2
|
2
|
hello-world.yaml
|
49
|
1
|
0
|
refs/heads/pc-260401
|
767661cae2aa8a91e80754ebb66d9aad5943ca1a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/pc-260401"," {"ref":"refs/heads/pc-260401","before":"81010fc873c5b5fe0d871fdccb321c9f9015e9ae","after":"767661cae2aa8a91e80754ebb66d9aad5943ca1a","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/81010fc873c5b5fe0d871fdccb321c9f9015e9ae...767661cae2aa8a91e80754ebb66d9aad5943ca1a","commits":[{"id":"767661cae2aa8a91e80754ebb66d9aad5943ca1a","message":"11111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/767661cae2aa8a91e80754ebb66d9aad5943ca1a","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T16:34:38+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]}],"total_commits":0,"head_commit":{"id":"767661cae2aa8a91e80754ebb66d9aad5943ca1a","message":"11111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/767661cae2aa8a91e80754ebb66d9aad5943ca1a","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T16:34:38+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17840,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":14,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T15:17:59+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773736488
|
1773736490
|
0
|
1773736487
|
1773736490
|
NULL
|
|
0
|
Edit
Delete
|
|
6411
|
11111sss
|
2
|
2
|
hello-world.yaml
|
50
|
1
|
0
|
refs/heads/pc-260401
|
62eaedf1e6d2116287bf82d324ff642f894551b9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/pc-260401"," {"ref":"refs/heads/pc-260401","before":"767661cae2aa8a91e80754ebb66d9aad5943ca1a","after":"62eaedf1e6d2116287bf82d324ff642f894551b9","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/767661cae2aa8a91e80754ebb66d9aad5943ca1a...62eaedf1e6d2116287bf82d324ff642f894551b9","commits":[{"id":"62eaedf1e6d2116287bf82d324ff642f894551b9","message":"11111sss\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/62eaedf1e6d2116287bf82d324ff642f894551b9","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:33:44+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]}],"total_commits":0,"head_commit":{"id":"62eaedf1e6d2116287bf82d324ff642f894551b9","message":"11111sss\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/62eaedf1e6d2116287bf82d324ff642f894551b9","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:33:44+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17841,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":15,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T16:34:50+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
3
|
1773747236
|
1773747238
|
0
|
1773747235
|
1773747238
|
NULL
|
|
0
|
Edit
Delete
|
|
6415
|
同步所有
|
2
|
2
|
hello-world.yaml
|
51
|
1
|
0
|
refs/heads/pc-260401
|
b678da8d00cf7b8be2141acd5482811386dc834c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/pc-260401"," {"ref":"refs/heads/pc-260401","before":"62eaedf1e6d2116287bf82d324ff642f894551b9","after":"b678da8d00cf7b8be2141acd5482811386dc834c","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/62eaedf1e6d2116287bf82d324ff642f894551b9...b678da8d00cf7b8be2141acd5482811386dc834c","commits":[{"id":"b678da8d00cf7b8be2141acd5482811386dc834c","message":"同步所有\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/b678da8d00cf7b8be2141acd5482811386dc834c","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:47:32+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]}],"total_commits":0,"head_commit":{"id":"b678da8d00cf7b8be2141acd5482811386dc834c","message":"同步所有\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/b678da8d00cf7b8be2141acd5482811386dc834c","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:47:32+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17843,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":16,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T19:33:58+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
3
|
1773748066
|
1773748068
|
0
|
1773748064
|
1773748068
|
NULL
|
|
0
|
Edit
Delete
|
|
6417
|
同步所有
|
2
|
2
|
hello-world.yaml
|
52
|
1
|
0
|
refs/heads/detached
|
b6f9b8218b26c820d37dd7cf6b2c406afbf656aa
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/detached"," {"ref":"refs/heads/detached","before":"0000000000000000000000000000000000000000","after":"b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/82563bcddd8d32587bc08757c8fdba4bb728fdbe...b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","commits":[{"id":"b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","message":"同步所有\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:55:00+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml","pc/application/controllers/Bill.php"]}],"total_commits":0,"head_commit":{"id":"b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","message":"同步所有\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:55:00+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml","pc/application/controllers/Bill.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17844,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":17,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T19:47:48+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
3
|
1773748513
|
1773748515
|
0
|
1773748512
|
1773748515
|
NULL
|
|
0
|
Edit
Delete
|
|
6419
|
同步所有
|
2
|
2
|
hello-world.yaml
|
53
|
1
|
0
|
refs/heads/main
|
ea6cb146adc009a4840c052e3c31d888ced32f24
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","after":"ea6cb146adc009a4840c052e3c31d888ced32f24","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/82563bcddd8d32587bc08757c8fdba4bb728fdbe...ea6cb146adc009a4840c052e3c31d888ced32f24","commits":[{"id":"ea6cb146adc009a4840c052e3c31d888ced32f24","message":"同步所有\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/ea6cb146adc009a4840c052e3c31d888ced32f24","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:55:48+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]}],"total_commits":0,"head_commit":{"id":"ea6cb146adc009a4840c052e3c31d888ced32f24","message":"同步所有\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/ea6cb146adc009a4840c052e3c31d888ced32f24","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:55:48+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17856,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":17,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T19:55:15+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
3
|
1773748565
|
1773748568
|
0
|
1773748565
|
1773748568
|
NULL
|
|
0
|
Edit
Delete
|
|
6422
|
同步所有
|
2
|
2
|
hello-world.yaml
|
54
|
1
|
0
|
refs/heads/main
|
1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ea6cb146adc009a4840c052e3c31d888ced32f24","after":"1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/ea6cb146adc009a4840c052e3c31d888ced32f24...1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","commits":[{"id":"1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","message":"同步所有\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T20:06:06+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]}],"total_commits":0,"head_commit":{"id":"1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","message":"同步所有\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T20:06:06+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17866,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":19,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T19:56:08+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
3
|
1773749178
|
1773749180
|
0
|
1773749176
|
1773749180
|
NULL
|
|
0
|
Edit
Delete
|
|
6987
|
Merge pull request '11111' (#21) from pc-2 Merge pull request '11111' (#21) from pc-260401 into main...
|
2
|
2
|
hello-world.yaml
|
55
|
1
|
0
|
refs/heads/main
|
7ea655b1af2dddb5922a00b33a039453979d0697
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","after":"7ea655b1af2dddb5922a00b33a039453979d0697","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89...7ea655b1af2dddb5922a00b33a039453979d0697","commits":[{"id":"7ea655b1af2dddb5922a00b33a039453979d0697","message":"Merge pull request '11111' (#21) from pc-260401 into main\n\nReviewed-on: https://gitea.g-hi.com/juhai/testpc/pulls/21\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/7ea655b1af2dddb5922a00b33a039453979d0697","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-19T16:58:17+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},{"id":"b678da8d00cf7b8be2141acd5482811386dc834c","message":"同步所有\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/b678da8d00cf7b8be2141acd5482811386dc834c","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:47:32+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},{"id":"62eaedf1e6d2116287bf82d324ff642f894551b9","message":"11111sss\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/62eaedf1e6d2116287bf82d324ff642f894551b9","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:33:44+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},{"id":"767661cae2aa8a91e80754ebb66d9aad5943ca1a","message":"11111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/767661cae2aa8a91e80754ebb66d9aad5943ca1a","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T16:34:38+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},{"id":"81010fc873c5b5fe0d871fdccb321c9f9015e9ae","message":"11111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/81010fc873c5b5fe0d871fdccb321c9f9015e9ae","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T15:17:38+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]}],"total_commits":0,"head_commit":{"id":"7ea655b1af2dddb5922a00b33a039453979d0697","message":"Merge pull request '11111' (#21) from pc-260401 into main\n\nReviewed-on: https://gitea.g-hi.com/juhai/testpc/pulls/21\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/7ea655b1af2dddb5922a00b33a039453979d0697","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-19T16:58:17+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17876,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":20,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T20:06:20+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"1+zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"1+zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+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":"zhangjunnan"}}...
|
push
|
2
|
4
|
1773910701
|
1773910704
|
0
|
1773910700
|
1773910704
|
|
|
0
|
Edit
Delete
|
|
6705
|
Update Playwright reports and schema export
|
6
|
5
|
integration-test.yml
|
6633
|
5
|
0
|
refs/heads/main
|
e112d45af414e4862c0328abad7c4df74d3c1dbf
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"546fbeca78809fbcac00c1eef45705beea0bc71f","after":"e112d45af414e4862c0328abad7c4df74d3c1dbf","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/546fbeca78809fbcac00c1eef45705beea0bc71f...e112d45af414e4862c0328abad7c4df74d3c1dbf","commits":[{"id":"e112d45af414e4862c0328abad7c4df74d3c1dbf","message":"Update Playwright reports and schema export\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e112d45af414e4862c0328abad7c4df74d3c1dbf","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-18T18:50:23+08:00","added":["backend/prisma/full_schema_export.sql","e2e/playwright-report/data/b5717d8ae94333909707a21f9056a0980f7f51b3.png","e2e/playwright-report/data/d005afba863da16e39b48fa73e31d94d961d282e.md","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773830986385.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773830989411.json"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/results.json","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773742859224.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773742913298.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773742832445.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773742905489.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773742908471.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773742914829.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773742975475.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773742971761.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773742954906.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773742952242.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773742977831.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773742949689.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773742945093.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773742947355.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773742942825.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773742956466.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773742957897.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773829687571.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773743722324.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773743726242.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773743724201.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773743728230.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773743734442.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773743736782.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773743716454.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773743732908.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773743730791.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773743717905.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773743691682.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773743689695.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773743796296.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773743745810.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773743747679.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/ai-acquisition-content/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/preflight.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json"]},{"id":"9d21e85be8cdf327c0e2912ab110884f4ac15f56","message":"Implement Playwright E2E v3 runner and auth preflight\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d21e85be8cdf327c0e2912ab110884f4ac15f56","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-18T18:35:16+08:00","added":["backend/src/config/cors.utils.test.ts","backend/src/config/cors.utils.ts","e2e/test-results/results.json","frontend/src/api/api-base-url.test.ts","frontend/src/api/api-base-url.ts","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773829687571.json","output/playwright/full-menu-write-batches/preflight.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.md","output/playwright/full-menu-write-batches/system-infra/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773829546757.json"],"removed":["e2e/playwright-report/data/55c18ca35697bc024c074ac9086dd994e86cc151.png","e2e/playwright-report/data/5fa50083e53d7655e023a9639d0d9de02d5a3795.md","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773796331440.json","output/playwright/full-menu-write-batches/finance/probes/-financial-reports-1773796438526.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773796250209.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773796251966.json","output/playwright/full-menu-write-batches/finance/probes/-reconciliation-1773796504124.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773743148862.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773743143558.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773743151490.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773743138758.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773743141237.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773743146130.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773743124715.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773743100731.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773743170269.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773743183756.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773743154236.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773743155879.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773743159704.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773743162659.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773743123171.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773743161082.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773743166011.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773743157403.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773743168825.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773744102517.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773744087923.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773744064195.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773744062147.json"],"modified":["backend/src/config/env.ts","e2e/.auth/admin.json","e2e/global-setup.ts","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/auth.setup.ts","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/navigation/full-menu-runtime.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/api/client.ts","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json"]}],"total_commits":0,"head_commit":{"id":"e112d45af414e4862c0328abad7c4df74d3c1dbf","message":"Update Playwright reports and schema export\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e112d45af414e4862c0328abad7c4df74d3c1dbf","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-18T18:50:23+08:00","added":["backend/prisma/full_schema_export.sql","e2e/playwright-report/data/b5717d8ae94333909707a21f9056a0980f7f51b3.png","e2e/playwright-report/data/d005afba863da16e39b48fa73e31d94d961d282e.md","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773830986385.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773830989411.json"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/results.json","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773742859224.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773742913298.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773742832445.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773742905489.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773742908471.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773742914829.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773742975475.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773742971761.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773742954906.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773742952242.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773742977831.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773742949689.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773742945093.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773742947355.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773742942825.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773742956466.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773742957897.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773829687571.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773743722324.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773743726242.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773743724201.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773743728230.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773743734442.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773743736782.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773743716454.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773743732908.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773743730791.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773743717905.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773743691682.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773743689695.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773743796296.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773743745810.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773743747679.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/ai-acquisition-content/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/preflight.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json"]},"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":1855070,"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-18T17:30:33+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"}}...
|
push
|
3
|
10
|
1773832556
|
1773832589
|
0
|
1773831750
|
1773832745
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
6715
|
Refresh whitelist governance and AI acquisition E2 Refresh whitelist governance and AI acquisition E2E artifacts...
|
6
|
5
|
integration-test.yml
|
6643
|
5
|
0
|
refs/heads/main
|
b7eb415d7a9689f1efec941bcb2dcd7d098e9c28
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e112d45af414e4862c0328abad7c4df74d3c1dbf","after":"b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e112d45af414e4862c0328abad7c4df74d3c1dbf...b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","commits":[{"id":"b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","message":"Refresh whitelist governance and AI acquisition E2E artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","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-18T19:18:31+08:00","added":["e2e/playwright-report/data/3cb743a8474966b8784671ca88d35e542535cafc.png","e2e/playwright-report/data/3d43004a7d2bd47e02bf0457eeddce5021cf790d.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773832511217.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773832575440.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773832484248.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773832567210.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773832570717.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773832577657.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773832620646.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773832616985.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773832609391.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773832605769.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773832647036.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773832629769.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773832636567.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773832623428.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773832643321.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773832627140.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773832633049.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773832602539.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773832596085.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773832599293.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773832691465.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773832685037.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773832688219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773832676137.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773832678592.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773832682628.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773832611306.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773832639398.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773832649773.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773832662507.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773832669719.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773832673311.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773832666117.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773832655388.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773832658104.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773832652086.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773832613605.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773832694219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773832696897.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.md","output/playwright/full-menu-write-batches/hr/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773832607351.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773832660535.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773832695067.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773832645706.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773832621372.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773832619326.json"],"removed":["output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773831648098.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773831712941.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773831619505.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773831704311.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773831708092.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773831715108.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773831747926.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773831744212.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773831740169.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773831733855.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773831737252.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773831750357.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/visible-menu-snapshot.json"],"modified":["DEPLOYMENT.md","e2e/playwright-report/index.html","e2e/tests/navigation/requested-menu-whitelist.ts","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.md","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/hr/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/preflight.json"]},{"id":"f47b241f0742ff8814ccc90955319f274a0ea1b2","message":"Add synergy visible-menu action coverage reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f47b241f0742ff8814ccc90955319f274a0ea1b2","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-18T19:13:41+08:00","added":["output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773832343931.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773832346965.json"],"removed":[],"modified":[]},{"id":"3db89f5baaacdfa1cfb867203a6c0476ab8d1bc4","message":"Refresh Playwright finance and supply-chain batch reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3db89f5baaacdfa1cfb867203a6c0476ab8d1bc4","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-18T19:12:22+08:00","added":["output/playwright/full-menu-write-batches/finance/probes/-invoices-1773832194634.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773832196839.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773832315157.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773832321197.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773832318256.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773832324845.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773832332554.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773832335499.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773832307930.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773832330591.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773832328454.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773832310488.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773832302659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773832300119.json"],"removed":["e2e/playwright-report/data/058b987e3e23aabc824f71f9283eaa84bf94f977.png","e2e/playwright-report/data/7a8b1975a8e1ee18b11414a9bbad9b7eaa0612a7.md","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.md","output/playwright/full-menu-write-batches/synergy/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773831048413.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773830986385.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773831061764.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773831057290.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773830989411.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773831054053.json"],"modified":["e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/finance/action-coverage-report.json"]},{"id":"1ee19d416f6c1d39365fb18293110d79f2e5e464","message":"Update deployment docs and refresh AI acquisition reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1ee19d416f6c1d39365fb18293110d79f2e5e464","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-18T19:09:37+08:00","added":["DEPLOYMENT.md","e2e/playwright-report/data/058b987e3e23aabc824f71f9283eaa84bf94f977.png","e2e/playwright-report/data/7a8b1975a8e1ee18b11414a9bbad9b7eaa0612a7.md","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.md","output/playwright/full-menu-write-batches/ai-acquisition-content/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.png","output/playwright/full-menu-write-batches/finance/action-coverage-report.json"],"removed":["e2e/playwright-report/data/37467f0e13e8b92759aebe2161cef164132a33b5.md","e2e/playwright-report/data/e14520b687ff8ef94cbe0fdaa5ad92202196a12b.png"],"modified":["DEPLOY.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json"]},{"id":"77a4917f2819798f1163c9e8ec884ff9f55bf8fd","message":"Update requested whitelist and refresh full-menu batch reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/77a4917f2819798f1163c9e8ec884ff9f55bf8fd","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-18T19:05:03+08:00","added":["backend/prisma/seed.sql","e2e/playwright-report/data/37467f0e13e8b92759aebe2161cef164132a33b5.md","e2e/playwright-report/data/e14520b687ff8ef94cbe0fdaa5ad92202196a12b.png","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773831648098.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773831712941.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773831619505.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773831704311.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773831708092.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773831715108.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773831747926.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773831744212.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773831740169.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773831733855.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773831737252.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773831750357.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.md","output/playwright/full-menu-write-batches/synergy/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773831048413.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773831061764.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773831057290.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773831054053.json"],"removed":["e2e/playwright-report/data/b5717d8ae94333909707a21f9056a0980f7f51b3.png","e2e/playwright-report/data/d005afba863da16e39b48fa73e31d94d961d282e.md","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.md","output/playwright/full-menu-write-batches/hr/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773744051517.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.md","output/playwright/full-menu-write-batches/system-infra/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773829546757.json"],"modified":["backend/prisma/DATABASE_DEPLOYMENT.md","e2e/playwright-report/index.html","e2e/tests/navigation/requested-menu-whitelist.ts","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/hr/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/preflight.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json"]}],"total_commits":0,"head_commit":{"id":"b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","message":"Refresh whitelist governance and AI acquisition E2E artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","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-18T19:18:31+08:00","added":["e2e/playwright-report/data/3cb743a8474966b8784671ca88d35e542535cafc.png","e2e/playwright-report/data/3d43004a7d2bd47e02bf0457eeddce5021cf790d.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773832511217.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773832575440.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773832484248.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773832567210.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773832570717.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773832577657.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773832620646.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773832616985.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773832609391.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773832605769.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773832647036.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773832629769.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773832636567.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773832623428.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773832643321.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773832627140.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773832633049.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773832602539.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773832596085.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773832599293.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773832691465.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773832685037.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773832688219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773832676137.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773832678592.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773832682628.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773832611306.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773832639398.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773832649773.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773832662507.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773832669719.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773832673311.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773832666117.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773832655388.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773832658104.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773832652086.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773832613605.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773832694219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773832696897.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.md","output/playwright/full-menu-write-batches/hr/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773832607351.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773832660535.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773832695067.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773832645706.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773832621372.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773832619326.json"],"removed":["output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773831648098.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773831712941.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773831619505.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773831704311.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773831708092.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773831715108.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773831747926.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773831744212.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773831740169.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773831733855.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773831737252.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773831750357.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/visible-menu-snapshot.json"],"modified":["DEPLOYMENT.md","e2e/playwright-report/index.html","e2e/tests/navigation/requested-menu-whitelist.ts","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.md","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/hr/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/preflight.json"]},"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":1855996,"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-18T19:02:38+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"}}...
|
push
|
2
|
20
|
1773833137
|
1773833303
|
0
|
1773832746
|
1773833404
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
6998
|
Prepare v1.0.0 release
|
6
|
5
|
integration-test.yml
|
6925
|
5
|
0
|
refs/heads/main
|
bd59e5501292cb061719f669c7a7b7afd4f1a0b7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","after":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/b7eb415d7a9689f1efec941bcb2dcd7d098e9c28...bd59e5501292cb061719f669c7a7b7afd4f1a0b7","commits":[{"id":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","message":"Prepare v1.0.0 release\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bd59e5501292cb061719f669c7a7b7afd4f1a0b7","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-19T17:33:01+08:00","added":["CHANGELOG.md"],"removed":[],"modified":[]},{"id":"3e200dbc88dfcb3956ab27f4f620206b037ae2d2","message":"Finalize full-menu Playwright v4 E2E coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3e200dbc88dfcb3956ab27f4f620206b037ae2d2","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-19T17:23:33+08:00","added":["e2e/test-results/.last-run.json","e2e/test-results/results.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/probes/-financial-reports-1773910224029.json","output/playwright/full-menu-write-batches/finance/probes/-reconciliation-1773910253314.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773910615800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773910329529.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773910337976.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773910333828.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773910342196.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773910353724.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773910358429.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773910318859.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773910350086.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773910346853.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773910322524.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773910290863.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773910287130.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773910421381.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773910374888.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773910441319.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773910433220.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773910379196.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773910428656.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773910665700.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773910696582.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773910648584.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773910638943.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773910635686.json"],"removed":["e2e/test-results/.playwright-artifacts-1/025818e03bd4ce65c4cf502e0812b105.png","e2e/test-results/.playwright-artifacts-1/18d1ac54e9a3845e720cd94178623d92.png","e2e/test-results/.playwright-artifacts-1/1ae78a5aeff7e3d17909891fe1e5a36d.png","e2e/test-results/.playwright-artifacts-1/2011d9959a38829a7f1097598aecaf41.png","e2e/test-results/.playwright-artifacts-1/2359fe7f8394795d4b0088f84fc6d95e.png","e2e/test-results/.playwright-artifacts-1/24277e2d16babfcf335fbc1b73fac589.png","e2e/test-results/.playwright-artifacts-1/31f034d0f1495fd80a731b19fa18a73d.png","e2e/test-results/.playwright-artifacts-1/3cc5646ba43f55ae375e488c73150ab7.png","e2e/test-results/.playwright-artifacts-1/53e152d99ded6fc51a753c69c956cff1.png","e2e/test-results/.playwright-artifacts-1/72680f4e8292048a2c4ec605096d2d2b.png","e2e/test-results/.playwright-artifacts-1/7a6e694f775481ba926b547f6b3e5539.png","e2e/test-results/.playwright-artifacts-1/8e3e5459ac691fe69815d94a6db2ec83.png","e2e/test-results/.playwright-artifacts-1/9149e80c441ecd64f6a603f8b5fee5e8.png","e2e/test-results/.playwright-artifacts-1/9efcaac33730e4e64a4f49bd8e504756.png","e2e/test-results/.playwright-artifacts-1/a10dfa14615d709928fea5e3b692b955.png","e2e/test-results/.playwright-artifacts-1/a48643fc198811637ff869db15beeba3.png","e2e/test-results/.playwright-artifacts-1/b8135d62f448913c7b50ffdcc503a1a5.png","e2e/test-results/.playwright-artifacts-1/bbe459427b436cc343ae4b962e54d765.png","e2e/test-results/.playwright-artifacts-1/bd2124ff9981c2aff7c27bfd0ec25820.png","e2e/test-results/.playwright-artifacts-1/d3d3a5cd7ce1ff6c3e9e7e9c2d30d9dc.png","e2e/test-results/.playwright-artifacts-1/f2bdd00e1eb8a8b7778d9b2d050573d5.png","e2e/test-results/.playwright-artifacts-1/f6cf0f8efecb9624d2ac2708fed01cde.png","e2e/test-results/.playwright-artifacts-1/fa70791f68aa9218a6498f39a4000dbd.png","e2e/test-results/.playwright-artifacts-1/fa7d79fe1abb297edec494dec6c25696.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910058657-ar-ledger-1773910058656.csv","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910084304-账龄分析_应收_2026-03-19.xlsx","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910120544-供应商付款_2026-03-19.xlsx","output/playwright/full-menu-write-batches/.run-lock.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773906597036.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773906299292.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773906307948.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773906303645.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773906312533.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773906323246.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773906328124.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773906288702.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773906320094.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773906316767.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773906292462.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773906281016.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773906277356.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773906391451.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773906344057.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773906411399.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773906403262.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773906348431.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773906398742.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773906648231.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773906679209.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773906630998.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773906621022.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773906617633.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/batch-state.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/batch-state.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/batch-state.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/batch-state.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json","output/playwright/full-menu-write-batches/system-infra/batch-state.json"]},{"id":"ec555da79e0898b3ba48a8f9b75b5689a0845d9b","message":"Stabilize full-menu Playwright batch runner and governance contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ec555da79e0898b3ba48a8f9b75b5689a0845d9b","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-19T16:49:52+08:00","added":["e2e/test-results/.playwright-artifacts-1/025818e03bd4ce65c4cf502e0812b105.png","e2e/test-results/.playwright-artifacts-1/18d1ac54e9a3845e720cd94178623d92.png","e2e/test-results/.playwright-artifacts-1/1ae78a5aeff7e3d17909891fe1e5a36d.png","e2e/test-results/.playwright-artifacts-1/2011d9959a38829a7f1097598aecaf41.png","e2e/test-results/.playwright-artifacts-1/2359fe7f8394795d4b0088f84fc6d95e.png","e2e/test-results/.playwright-artifacts-1/24277e2d16babfcf335fbc1b73fac589.png","e2e/test-results/.playwright-artifacts-1/31f034d0f1495fd80a731b19fa18a73d.png","e2e/test-results/.playwright-artifacts-1/3cc5646ba43f55ae375e488c73150ab7.png","e2e/test-results/.playwright-artifacts-1/53e152d99ded6fc51a753c69c956cff1.png","e2e/test-results/.playwright-artifacts-1/72680f4e8292048a2c4ec605096d2d2b.png","e2e/test-results/.playwright-artifacts-1/7a6e694f775481ba926b547f6b3e5539.png","e2e/test-results/.playwright-artifacts-1/8e3e5459ac691fe69815d94a6db2ec83.png","e2e/test-results/.playwright-artifacts-1/9149e80c441ecd64f6a603f8b5fee5e8.png","e2e/test-results/.playwright-artifacts-1/9efcaac33730e4e64a4f49bd8e504756.png","e2e/test-results/.playwright-artifacts-1/a10dfa14615d709928fea5e3b692b955.png","e2e/test-results/.playwright-artifacts-1/a48643fc198811637ff869db15beeba3.png","e2e/test-results/.playwright-artifacts-1/b8135d62f448913c7b50ffdcc503a1a5.png","e2e/test-results/.playwright-artifacts-1/bbe459427b436cc343ae4b962e54d765.png","e2e/test-results/.playwright-artifacts-1/bd2124ff9981c2aff7c27bfd0ec25820.png","e2e/test-results/.playwright-artifacts-1/d3d3a5cd7ce1ff6c3e9e7e9c2d30d9dc.png","e2e/test-results/.playwright-artifacts-1/f2bdd00e1eb8a8b7778d9b2d050573d5.png","e2e/test-results/.playwright-artifacts-1/f6cf0f8efecb9624d2ac2708fed01cde.png","e2e/test-results/.playwright-artifacts-1/fa70791f68aa9218a6498f39a4000dbd.png","e2e/test-results/.playwright-artifacts-1/fa7d79fe1abb297edec494dec6c25696.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910058657-ar-ledger-1773910058656.csv","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910084304-账龄分析_应收_2026-03-19.xlsx","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910120544-供应商付款_2026-03-19.xlsx","output/playwright/full-menu-write-batches/.run-lock.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-acquisition-leads-1773909416083.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773909305898.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773909374579.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773909275689.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773909362631.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773909368646.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773909377783.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773909455359.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773909449361.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773909436582.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773909432314.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773909491975.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773909467964.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773909476915.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773909459350.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773909487143.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773909464182.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773909472304.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773909427459.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773909419514.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773909423514.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773909556716.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773909545848.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773909551313.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773909532803.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773909536429.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773909541709.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773909440203.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773909480888.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773909495855.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773909514476.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773909524037.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773909528858.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773909519233.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773909503838.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773909507723.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773909499300.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773909443684.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773909560958.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773909564882.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773910116601.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773910053286.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773910056561.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773909681857.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773909671197.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773909686694.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773909661864.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773909666564.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773909676945.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-agreements-1773909915243.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-campaigns-1773909920179.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-coupons-1773909902231.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-merchants-1773909887927.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-packages-1773909924388.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-partners-1773909930259.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-products-1773909892578.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-promotions-1773909897147.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-referrals-1773909910955.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-settlements-1773909905643.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773909635407.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773909605891.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773909720300.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773909736411.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773909691441.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-levels-1773909741546.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773909694097.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-messages-1773909745305.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773909702201.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773909708494.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contract-templates-1773909804469.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contracts-1773909799957.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-cpq-1773909808517.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-crm-activities-1773909828569.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773909612290.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773909776770.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-devices-1773909951932.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-diagnosis-1773909958605.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-faults-1773909968363.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-analytics-1773909833090.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-influencers-1773909854271.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-orders-1773909841637.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-participants-1773909845231.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-products-1773909837808.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-promotions-1773909859052.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-settlements-1773909849333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773909705215.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-leads-1773909772774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-location-assessments-1773909883408.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-maintenance-1773909965776.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773909713431.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773909697686.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-tools-1773909749098.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-meddpicc-analyses-1773909781218.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-1773909761254.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-pipeline-1773909763916.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-orders-1773909820029.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partner-customers-1773909790077.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partners-1773909785282.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773909717765.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-projects-1773909992088.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-quotes-1773909795263.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-rma-1773909955057.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sample-requests-1773909814787.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-satisfaction-1773909940584.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-segments-1773909753430.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sla-1773909947038.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-spare-parts-1773909962426.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-store-configs-1773909871717.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-stores-1773909868093.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-swot-analyses-1773909824106.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-targets-1773909766910.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-tickets-1773909934277.json"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/results.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-acquisition-leads-1773905385303.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773905274825.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773905343638.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773905243481.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773905331617.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773905337670.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773905346957.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773905424762.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773905418740.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773905406412.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773905402133.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773905461254.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773905436888.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773905446456.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773905428773.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773905456356.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773905433072.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773905441290.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773905397290.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773905388783.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773905393232.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773905523348.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773905512554.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773905518071.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773905500053.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773905503670.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773905508978.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773905409531.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773905450481.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773905465209.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773905483253.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773905491795.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773905496081.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773905487486.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773905473122.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773905477015.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773905468637.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773905413012.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773905527306.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773905531189.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773906117344.json","output/playwright/full-menu-write-batches/finance/probes/-financial-reports-1773906224294.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773906044970.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773906048232.json","output/playwright/full-menu-write-batches/finance/probes/-reconciliation-1773906233263.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773905628848.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773905617855.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773905633852.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773905609168.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773905613305.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773905623765.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-agreements-1773905907232.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-campaigns-1773905912128.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-coupons-1773905894292.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-merchants-1773905880454.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-packages-1773905916306.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-partners-1773905922110.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-products-1773905884614.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-promotions-1773905889200.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-referrals-1773905903021.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-settlements-1773905897746.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773905602619.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773905571526.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773905668601.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773905674633.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773905638806.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-levels-1773905679230.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773905641590.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-messages-1773905682971.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773905649634.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773905656676.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contract-templates-1773905741010.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contracts-1773905736550.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-cpq-1773905745068.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-crm-activities-1773905765754.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773905578700.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773905713927.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-devices-1773905943325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-diagnosis-1773905950167.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-faults-1773905959966.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-analytics-1773905769913.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-influencers-1773905791323.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-orders-1773905778993.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-participants-1773905782138.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-products-1773905774793.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-promotions-1773905796449.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-settlements-1773905786292.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773905653385.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-leads-1773905709905.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-location-assessments-1773905875893.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-maintenance-1773905957309.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773905661682.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773905645174.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-tools-1773905686736.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-meddpicc-analyses-1773905718214.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-1773905698160.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-pipeline-1773905700916.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-orders-1773905757076.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partner-customers-1773905726916.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partners-1773905722196.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773905666079.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-projects-1773905973638.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-quotes-1773905731961.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-rma-1773905946434.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sample-requests-1773905751235.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-satisfaction-1773905931813.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-segments-1773905691084.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sla-1773905938645.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-spare-parts-1773905953924.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-store-configs-1773905808314.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-stores-1773905804725.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-swot-analyses-1773905761238.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-targets-1773905703932.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-tickets-1773905926034.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/batch-state.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/batch-state.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/batch-state.json","output/playwright/full-menu-write-batches/preflight.json"]},{"id":"6881b6da73bfa06aefc33d638df23979cfea87b2","message":"Stabilize Playwright full-batch E2E governance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6881b6da73bfa06aefc33d638df23979cfea87b2","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-19T16:32:36+08:00","added":["e2e/test-results/.last-run.json","e2e/test-results/results.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773906117344.json","output/playwright/full-menu-write-batches/finance/probes/-financial-reports-1773906224294.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773906044970.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773906048232.json","output/playwright/full-menu-write-batches/finance/probes/-reconciliation-1773906233263.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773906597036.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773906299292.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773906307948.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773906303645.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773906312533.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773906323246.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773906328124.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773906288702.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773906320094.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773906316767.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773906292462.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773906281016.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773906277356.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773906391451.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773906344057.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773906411399.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773906403262.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773906348431.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773906398742.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773906648231.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773906679209.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773906630998.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773906621022.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773906617633.json"],"removed":["e2e/playwright-report/data/02308b9991105e862238795cbdbf4f004115dc01.png","e2e/playwright-report/data/03c9f2730b04d6a6128420f998f5d230a999dc95.png","e2e/playwright-report/data/08a6e1e6bd0d51212a86a73f86b6218bd006c6ab.png","e2e/playwright-report/data/095e7550cf7e09eb9abd0185163bda971b0f2f2a.png","e2e/playwright-report/data/0a76c6ebc9c0df6cda57faf510a96d38a9b8a146.png","e2e/playwright-report/data/0ac6e89477abe8bd6cc11752a4801745a788fb09.png","e2e/playwright-report/data/0af1d8e2ecb7c8498cb2c8ef7b3137b2e31ff35e.png","e2e/playwright-report/data/0bfeaf2c961ac0e35cd882f69480651c4c5b265b.png","e2e/playwright-report/data/0ed2adcb1d40d3b14742fdacbb97ad3bc0527e71.png","e2e/playwright-report/data/10134a734c50d6f99c87fe92efd6bda022998e65.png","e2e/playwright-report/data/1164fa7de6190da37c1bc3ad1629de1241f0fc35.png","e2e/playwright-report/data/15d7a5f8fef07f98258b027cd0d5322662c56add.png","e2e/playwright-report/data/15e073a80dbca46ad09795920dc73b557fe51610.png","e2e/playwright-report/data/174953a20c5e50db31d65c8cb6983e4e27ef5b3b.png","e2e/playwright-report/data/183632be199f1adc606ba9a406b6c93095a5ec8f.png","e2e/playwright-report/data/20f84716d29a2121b13f433c0061a9b3c1362dd0.png","e2e/playwright-report/data/2995e9d56c41ec342c8c95fed91c37c0de4dc0e2.png","e2e/playwright-report/data/2b1db4662bbe39133caaf9af2ad753145b93b015.png","e2e/playwright-report/data/2ea8edd7a7743f2d8a5a91baba8935a16312b297.png","e2e/playwright-report/data/39c1b7d205fe72dfcccaa2524e8c4454097a6732.png","e2e/playwright-report/data/3ffd509baf673df12afae65aaa66931ce8af2799.png","e2e/playwright-report/data/427b3a03919c19325a4e428b8f17b2e282703c33.png","e2e/playwright-report/data/439d84cae8fe70c2547dffd584e266b66ef7c980.png","e2e/playwright-report/data/48ae6af4e7040c65f34161a3f60e12b0329501ac.png","e2e/playwright-report/data/4af94e0547452270f763bbb41f30d321c4ee593a.png","e2e/playwright-report/data/5170bf368ec34269f3623d8b5883c92e03cb6cbd.png","e2e/playwright-report/data/51b6eac7634f6f399e2be034b853c875f86df3de.png","e2e/playwright-report/data/5672abd5d093295355d11a7aea53797a52ddb4f2.png","e2e/playwright-report/data/614fc0b216f00ddca6e530aa7e66177b2e01f28e.png","e2e/playwright-report/data/6a12aec3595bc58d1755a64cf754437fe97ad31f.png","e2e/playwright-report/data/6f24ac92655e9f12281c6d6df837b562c26345be.png","e2e/playwright-report/data/71a0f9f234c6c214bee86024da7e5a9a4a80893c.png","e2e/playwright-report/data/7502cc9d6b5d82fd66454a97eeb35a572d01a6da.png","e2e/playwright-report/data/7517ae2767e5b5077e17c7683ca18a1a2701069b.png","e2e/playwright-report/data/781470ce85e41d80a3c938b9044c65ee761fbcee.png","e2e/playwright-report/data/7abb97b628f7f7f7c88484d693eae6e5f3be1320.png","e2e/playwright-report/data/7b6c83e7164c3285b5f19c0d35dc81b3ce404ac5.png","e2e/playwright-report/data/7faf83a11db3c9e1486ef4350c738ef0775b3952.png","e2e/playwright-report/data/80bbe1bc8b10ba5039a76d88955106146728b1eb.png","e2e/playwright-report/data/830fefc9624b7657c5b4e3f4eeb104f5a78f1bfe.png","e2e/playwright-report/data/83a287b9c30d414d90f2f15f4c90b4ea81a60705.png","e2e/playwright-report/data/841d7caebbebb54df934666dbf8bf1d231d65402.png","e2e/playwright-report/data/843ed7f5e23b4e9e8a6cf700c41d0bcff24a9383.png","e2e/playwright-report/data/86915dc066d2db638c0b7c3e7b61cdd1f2ea745d.png","e2e/playwright-report/data/8c85155eaad581dcc5b4dbf9c0f223ac6ebd1db1.png","e2e/playwright-report/data/8e6aa520646f766e53b621b4595e7edd1140994b.png","e2e/playwright-report/data/9142f5d3d437f7027ee3894a7162d9af1972d447.png","e2e/playwright-report/data/9333789aba11cb793237eb2e11fd40449bb0ff22.png","e2e/playwright-report/data/960241e7bb35d537010c83f2484503bf7a8a1475.png","e2e/playwright-report/data/9c09e3d2d9c1dd15ffab7ce29764550b968aabc6.png","e2e/playwright-report/data/9cd3dc7472f543f18798f1665c92813aff6f6187.png","e2e/playwright-report/data/9dc9cfc14f6600c25a57153a5ee2555577139b9e.png","e2e/playwright-report/data/a09bd67ccfb07ac1c6384c2b5b3e99d08380c9b2.png","e2e/playwright-report/data/a1f739224c35ddc70cb5efbe9df6008d96c8d6b7.png","e2e/playwright-report/data/a5c192b0e1b473f9927a7e9b9b5b9e6a4dad6135.md","e2e/playwright-report/data/aa72644ae1414d0e5064ebcdb2982e5f2231a727.png","e2e/playwright-report/data/acd9da28c45f9d495ccd7f2e6a9780d9bd686b3f.png","e2e/playwright-report/data/ad2e7d231332b364493ef1060caafbda2e0b9bf9.png","e2e/playwright-report/data/af26934dce85e608079ea9f12f152d11e96f92de.png","e2e/playwright-report/data/af9438cd7e64b05cf17ffb2bcbd497ea709d0747.png","e2e/playwright-report/data/b118ac7e1b2eb2ce248b0260cc8dd8c92e924db8.png","e2e/playwright-report/data/bb8c6efa27e7649afb0afb2f32f0fa3c3cb71f79.png","e2e/playwright-report/data/bc7c442f945bb37c40ed234871ec4c14bd1cfdb7.png","e2e/playwright-report/data/bd1c37ba19d0babafb5bf5be4ccfa877b886c7a3.png","e2e/playwright-report/data/c71511738f51818c400e418f1a5a176643328d9b.png","e2e/playwright-report/data/cade77fa5ecdde9c1cc89cce22189c998b41d550.png","e2e/playwright-report/data/ccfe7e35e25bab670ef131f6837787607c11a566.png","e2e/playwright-report/data/cf0bf8b64ac40b9f1389d0da712884df98a998f7.png","e2e/playwright-report/data/d599211c1acb17a91af83216eb38fd77a545b281.png","e2e/playwright-report/data/d689579fabd7dddf49b4ae44da361b36ea53723d.png","e2e/playwright-report/data/d6ffe88f9fb3a0d562da210bc8beae9c118717eb.png","e2e/playwright-report/data/d957ff953ec9d9c607f7b01129cb01a7a9f49fc0.png","e2e/playwright-report/data/dafc98299f1b8c1b23cef76239a22a06a3f7dccd.png","e2e/playwright-report/data/db0cda3215f131440badd2bcc4b3d5e718fb1f6b.png","e2e/playwright-report/data/db3f8e6028a22cb2f674682c5b3a683368994e99.png","e2e/playwright-report/data/e443805dd3c2803b63b4787a67cabbaef1042861.png","e2e/playwright-report/data/e659e78f1788f09983c95d6370d169e3cdb89e3a.png","e2e/playwright-report/data/e854f16adf8a8588fdb72fd400916522d962ad0f.png","e2e/playwright-report/data/eaf7e55d9a61359b610b32529b03dfb7acd49e5d.png","e2e/playwright-report/data/efe4f41a47c0d8c6f8733fa3bf14ce4d28ec0ce5.png","e2e/playwright-report/data/f84f8c002baec2b6e3f11bd65696c10fbec84dd9.png","e2e/playwright-report/data/fd2b14bca92928a16ba6cb6694a48fce6ecc8b51.png","e2e/playwright-report/data/feb80a1dfb258a7f5419d7c5b33a99ef0296b099.png","e2e/test-results/.playwright-artifacts-1/7af6d3b8e3020cdee7cd0ee43b00277e.png","output/playwright/full-menu-write-batches/.run-lock.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773905185365.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773904484229.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773904493115.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773904488886.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773904497392.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773904508111.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773904512751.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773904473300.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773904504888.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773904501605.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773904477100.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773904466190.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773904462560.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773904565652.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773904529075.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773904585196.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773904577179.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773904533459.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773904572765.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773904843981.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773904864268.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773904836820.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773904827431.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773904824129.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/batch-state.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/batch-state.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/batch-state.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/batch-state.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json","output/playwright/full-menu-write-batches/system-infra/batch-state.json"]},{"id":"b2b5220da718e21dae81c36253ad1705fd3e371b","message":"Update Playwright batch reports and E2E auth state\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b2b5220da718e21dae81c36253ad1705fd3e371b","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-19T15:40:17+08:00","added":["e2e/playwright-report/data/02308b9991105e862238795cbdbf4f004115dc01.png","e2e/playwright-report/data/03c9f2730b04d6a6128420f998f5d230a999dc95.png","e2e/playwright-report/data/08a6e1e6bd0d51212a86a73f86b6218bd006c6ab.png","e2e/playwright-report/data/095e7550cf7e09eb9abd0185163bda971b0f2f2a.png","e2e/playwright-report/data/0a76c6ebc9c0df6cda57faf510a96d38a9b8a146.png","e2e/playwright-report/data/0ac6e89477abe8bd6cc11752a4801745a788fb09.png","e2e/playwright-report/data/0af1d8e2ecb7c8498cb2c8ef7b3137b2e31ff35e.png","e2e/playwright-report/data/0bfeaf2c961ac0e35cd882f69480651c4c5b265b.png","e2e/playwright-report/data/0ed2adcb1d40d3b14742fdacbb97ad3bc0527e71.png","e2e/playwright-report/data/10134a734c50d6f99c87fe92efd6bda022998e65.png","e2e/playwright-report/data/1164fa7de6190da37c1bc3ad1629de1241f0fc35.png","e2e/playwright-report/data/15d7a5f8fef07f98258b027cd0d5322662c56add.png","e2e/playwright-report/data/15e073a80dbca46ad09795920dc73b557fe51610.png","e2e/playwright-report/data/174953a20c5e50db31d65c8cb6983e4e27ef5b3b.png","e2e/playwright-report/data/183632be199f1adc606ba9a406b6c93095a5ec8f.png","e2e/playwright-report/data/20f84716d29a2121b13f433c0061a9b3c1362dd0.png","e2e/playwright-report/data/2995e9d56c41ec342c8c95fed91c37c0de4dc0e2.png","e2e/playwright-report/data/2b1db4662bbe39133caaf9af2ad753145b93b015.png","e2e/playwright-report/data/2ea8edd7a7743f2d8a5a91baba8935a16312b297.png","e2e/playwright-report/data/39c1b7d205fe72dfcccaa2524e8c4454097a6732.png","e2e/playwright-report/data/3ffd509baf673df12afae65aaa66931ce8af2799.png","e2e/playwright-report/data/427b3a03919c19325a4e428b8f17b2e282703c33.png","e2e/playwright-report/data/439d84cae8fe70c2547dffd584e266b66ef7c980.png","e2e/playwright-report/data/48ae6af4e7040c65f34161a3f60e12b0329501ac.png","e2e/playwright-report/data/4af94e0547452270f763bbb41f30d321c4ee593a.png","e2e/playwright-report/data/5170bf368ec34269f3623d8b5883c92e03cb6cbd.png","e2e/playwright-report/data/51b6eac7634f6f399e2be034b853c875f86df3de.png","e2e/playwright-report/data/5672abd5d093295355d11a7aea53797a52ddb4f2.png","e2e/playwright-report/data/614fc0b216f00ddca6e530aa7e66177b2e01f28e.png","e2e/playwright-report/data/6a12aec3595bc58d1755a64cf754437fe97ad31f.png","e2e/playwright-report/data/6f24ac92655e9f12281c6d6df837b562c26345be.png","e2e/playwright-report/data/71a0f9f234c6c214bee86024da7e5a9a4a80893c.png","e2e/playwright-report/data/7502cc9d6b5d82fd66454a97eeb35a572d01a6da.png","e2e/playwright-report/data/7517ae2767e5b5077e17c7683ca18a1a2701069b.png","e2e/playwright-report/data/781470ce85e41d80a3c938b9044c65ee761fbcee.png","e2e/playwright-report/data/7abb97b628f7f7f7c88484d693eae6e5f3be1320.png","e2e/playwright-report/data/7b6c83e7164c3285b5f19c0d35dc81b3ce404ac5.png","e2e/playwright-report/data/7faf83a11db3c9e1486ef4350c738ef0775b3952.png","e2e/playwright-report/data/80bbe1bc8b10ba5039a76d88955106146728b1eb.png","e2e/playwright-report/data/830fefc9624b7657c5b4e3f4eeb104f5a78f1bfe.png","e2e/playwright-report/data/83a287b9c30d414d90f2f15f4c90b4ea81a60705.png","e2e/playwright-report/data/841d7caebbebb54df934666dbf8bf1d231d65402.png","e2e/playwright-report/data/843ed7f5e23b4e9e8a6cf700c41d0bcff24a9383.png","e2e/playwright-report/data/86915dc066d2db638c0b7c3e7b61cdd1f2ea745d.png","e2e/playwright-report/data/8c85155eaad581dcc5b4dbf9c0f223ac6ebd1db1.png","e2e/playwright-report/data/8e6aa520646f766e53b621b4595e7edd1140994b.png","e2e/playwright-report/data/9142f5d3d437f7027ee3894a7162d9af1972d447.png","e2e/playwright-report/data/9333789aba11cb793237eb2e11fd40449bb0ff22.png","e2e/playwright-report/data/960241e7bb35d537010c83f2484503bf7a8a1475.png","e2e/playwright-report/data/9c09e3d2d9c1dd15ffab7ce29764550b968aabc6.png","e2e/playwright-report/data/9cd3dc7472f543f18798f1665c92813aff6f6187.png","e2e/playwright-report/data/9dc9cfc14f6600c25a57153a5ee2555577139b9e.png","e2e/playwright-report/data/a09bd67ccfb07ac1c6384c2b5b3e99d08380c9b2.png","e2e/playwright-report/data/a1f739224c35ddc70cb5efbe9df6008d96c8d6b7.png","e2e/playwright-report/data/a5c192b0e1b473f9927a7e9b9b5b9e6a4dad6135.md","e2e/playwright-report/data/aa72644ae1414d0e5064ebcdb2982e5f2231a727.png","e2e/playwright-report/data/acd9da28c45f9d495ccd7f2e6a9780d9bd686b3f.png","e2e/playwright-report/data/ad2e7d231332b364493ef1060caafbda2e0b9bf9.png","e2e/playwright-report/data/af26934dce85e608079ea9f12f152d11e96f92de.png","e2e/playwright-report/data/af9438cd7e64b05cf17ffb2bcbd497ea709d0747.png","e2e/playwright-report/data/b118ac7e1b2eb2ce248b0260cc8dd8c92e924db8.png","e2e/playwright-report/data/bb8c6efa27e7649afb0afb2f32f0fa3c3cb71f79.png","e2e/playwright-report/data/bc7c442f945bb37c40ed234871ec4c14bd1cfdb7.png","e2e/playwright-report/data/bd1c37ba19d0babafb5bf5be4ccfa877b886c7a3.png","e2e/playwright-report/data/c71511738f51818c400e418f1a5a176643328d9b.png","e2e/playwright-report/data/cade77fa5ecdde9c1cc89cce22189c998b41d550.png","e2e/playwright-report/data/ccfe7e35e25bab670ef131f6837787607c11a566.png","e2e/playwright-report/data/cf0bf8b64ac40b9f1389d0da712884df98a998f7.png","e2e/playwright-report/data/d599211c1acb17a91af83216eb38fd77a545b281.png","e2e/playwright-report/data/d689579fabd7dddf49b4ae44da361b36ea53723d.png","e2e/playwright-report/data/d6ffe88f9fb3a0d562da210bc8beae9c118717eb.png","e2e/playwright-report/data/d957ff953ec9d9c607f7b01129cb01a7a9f49fc0.png","e2e/playwright-report/data/dafc98299f1b8c1b23cef76239a22a06a3f7dccd.png","e2e/playwright-report/data/db0cda3215f131440badd2bcc4b3d5e718fb1f6b.png","e2e/playwright-report/data/db3f8e6028a22cb2f674682c5b3a683368994e99.png","e2e/playwright-report/data/e443805dd3c2803b63b4787a67cabbaef1042861.png","e2e/playwright-report/data/e659e78f1788f09983c95d6370d169e3cdb89e3a.png","e2e/playwright-report/data/e854f16adf8a8588fdb72fd400916522d962ad0f.png","e2e/playwright-report/data/eaf7e55d9a61359b610b32529b03dfb7acd49e5d.png","e2e/playwright-report/data/efe4f41a47c0d8c6f8733fa3bf14ce4d28ec0ce5.png","e2e/playwright-report/data/f84f8c002baec2b6e3f11bd65696c10fbec84dd9.png","e2e/playwright-report/data/fd2b14bca92928a16ba6cb6694a48fce6ecc8b51.png","e2e/playwright-report/data/feb80a1dfb258a7f5419d7c5b33a99ef0296b099.png","e2e/test-results/.playwright-artifacts-1/7af6d3b8e3020cdee7cd0ee43b00277e.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-acquisition-leads-1773905385303.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773905274825.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773905343638.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773905243481.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773905331617.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773905337670.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773905346957.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773905424762.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773905418740.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773905406412.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773905402133.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773905461254.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773905436888.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773905446456.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773905428773.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773905456356.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773905433072.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773905441290.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773905397290.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773905388783.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773905393232.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773905523348.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773905512554.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773905518071.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773905500053.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773905503670.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773905508978.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773905409531.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773905450481.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773905465209.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773905483253.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773905491795.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773905496081.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773905487486.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773905473122.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773905477015.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773905468637.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773905413012.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773905527306.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773905531189.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773905628848.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773905617855.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773905633852.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773905609168.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773905613305.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773905623765.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-agreements-1773905907232.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-campaigns-1773905912128.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-coupons-1773905894292.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-merchants-1773905880454.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-packages-1773905916306.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-partners-1773905922110.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-products-1773905884614.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-promotions-1773905889200.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-referrals-1773905903021.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-settlements-1773905897746.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773905602619.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773905571526.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773905668601.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773905674633.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773905638806.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-levels-1773905679230.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773905641590.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-messages-1773905682971.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773905649634.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773905656676.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contract-templates-1773905741010.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contracts-1773905736550.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-cpq-1773905745068.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-crm-activities-1773905765754.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773905578700.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773905713927.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-devices-1773905943325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-diagnosis-1773905950167.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-faults-1773905959966.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-analytics-1773905769913.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-influencers-1773905791323.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-orders-1773905778993.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-participants-1773905782138.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-products-1773905774793.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-promotions-1773905796449.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-settlements-1773905786292.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773905653385.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-leads-1773905709905.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-location-assessments-1773905875893.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-maintenance-1773905957309.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773905661682.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773905645174.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-tools-1773905686736.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-meddpicc-analyses-1773905718214.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-1773905698160.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-pipeline-1773905700916.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-orders-1773905757076.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partner-customers-1773905726916.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partners-1773905722196.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773905666079.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-projects-1773905973638.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-quotes-1773905731961.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-rma-1773905946434.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sample-requests-1773905751235.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-satisfaction-1773905931813.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-segments-1773905691084.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sla-1773905938645.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-spare-parts-1773905953924.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-store-configs-1773905808314.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-stores-1773905804725.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-swot-analyses-1773905761238.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-targets-1773905703932.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-tickets-1773905926034.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.md","output/playwright/full-menu-write-batches/hr/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773905185365.json","output/playwright/full-menu-write-batches/hr/visible-menu-snapshot.json"],"removed":["output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-acquisition-leads-1773903589265.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773903488946.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773903558131.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773903457836.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773903546194.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773903552124.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773903561456.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773903629011.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773903622966.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773903611109.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773903606748.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773903666089.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773903641732.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773903650812.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773903633032.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773903661165.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773903637888.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773903646147.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773903601798.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773903592751.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773903597255.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773903729418.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773903718521.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773903724057.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773903706652.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773903710306.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773903714895.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773903614226.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773903654864.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773903670272.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773903689143.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773903698294.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773903702636.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773903693467.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773903678357.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773903682310.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773903673789.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773903617240.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773903733439.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773903737381.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773904291317.json","output/playwright/full-menu-write-batches/finance/probes/-financial-reports-1773904368273.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773904228919.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773904232199.json","output/playwright/full-menu-write-batches/finance/probes/-reconciliation-1773904427888.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773903838494.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773903823360.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773903843466.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773903814527.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773903818745.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773903833037.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-agreements-1773904092344.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-campaigns-1773904097263.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-coupons-1773904079882.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-merchants-1773904066056.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-packages-1773904101428.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-partners-1773904107263.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-products-1773904070186.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-promotions-1773904074745.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-referrals-1773904088162.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-settlements-1773904083343.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773903808137.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773903777500.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773903879245.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773903895513.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773903848393.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-levels-1773903900818.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773903851187.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-messages-1773903904615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773903859166.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773903867182.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contract-templates-1773903964327.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contracts-1773903960338.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-cpq-1773903968341.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-crm-activities-1773903989073.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773903783935.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773903936231.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-devices-1773904138063.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-diagnosis-1773904144788.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-faults-1773904154511.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-analytics-1773903993607.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-influencers-1773904014882.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-orders-1773904002845.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-participants-1773904005912.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-products-1773903998971.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-promotions-1773904019613.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-settlements-1773904010044.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773903862974.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-leads-1773903932228.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-location-assessments-1773904061385.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-maintenance-1773904151885.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773903872207.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773903854377.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-tools-1773903908390.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-meddpicc-analyses-1773903941241.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-1773903920059.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-pipeline-1773903922796.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-orders-1773903979730.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partner-customers-1773903950179.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partners-1773903945339.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773903876638.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-projects-1773904167670.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-quotes-1773903955378.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-rma-1773904141244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sample-requests-1773903974565.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-satisfaction-1773904127978.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-segments-1773903912709.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sla-1773904133914.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-spare-parts-1773904148571.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-store-configs-1773904031909.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-stores-1773904027833.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-swot-analyses-1773903983791.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-targets-1773903925812.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-tickets-1773904111381.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/.run-lock.json","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/batch-state.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/batch-state.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/batch-state.json","output/playwright/full-menu-write-batches/hr/batch-state.json","output/playwright/full-menu-write-batches/preflight.json"]}],"total_commits":0,"head_commit":{"id":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","message":"Prepare v1.0.0 release\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bd59e5501292cb061719f669c7a7b7afd4f1a0b7","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-19T17:33:01+08:00","added":["CHANGELOG.md"],"removed":[],"modified":[]},"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":1859700,"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-18T19:19:13+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"}}...
|
push
|
3
|
8
|
1773913224
|
1773913346
|
0
|
1773912914
|
1773913346
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
7006
|
Merge remote-tracking branch 'origin/claude/pr Merge remote-tracking branch 'origin/claude/project-diagnosis-roadmap-OvHyH'...
|
6
|
5
|
integration-test.yml
|
6933
|
5
|
0
|
refs/heads/main
|
01a8ea9191c28b210d2abb3db3cbc65db42fc801
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","after":"01a8ea9191c28b210d2abb3db3cbc65db42fc801","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/bd59e5501292cb061719f669c7a7b7afd4f1a0b7...01a8ea9191c28b210d2abb3db3cbc65db42fc801","commits":[{"id":"01a8ea9191c28b210d2abb3db3cbc65db42fc801","message":"Merge remote-tracking branch 'origin/claude/project-diagnosis-roadmap-OvHyH'\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/01a8ea9191c28b210d2abb3db3cbc65db42fc801","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-19T17:41:24+08:00","added":[],"removed":[],"modified":[]},{"id":"e24b5ac7b46ff888469af5f36106bc134dfeeaf5","message":"chore: 更新索引覆盖率审计报告\n\nhttps://claude.ai/code/session_01XYrghcakBhTHkp1eyMmM1v\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e24b5ac7b46ff888469af5f36106bc134dfeeaf5","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-02-23T02:10:23Z","added":[],"removed":[],"modified":["reports/index-coverage-audit.latest.json"]},{"id":"1f04562fcb2c00ced785cf32c9888101e7039377","message":"Day 7: 消除前端 TypeScript any 类型(115 → 4,减少 96.5%)\n\n## 核心变更\n\n### 基础设施\n- api/adapters.ts:添加 6 个强类型输入接口(LeadCreateInput、QuoteCreateInput 等),\n 替换 5 个 prepare 函数的 any 参数\n- types/process.ts:$attrs Record\u003cstring,any\u003e → Record\u003cstring,unknown\u003e\n- components/marketing/CampaignBuilder.vue:引入 MarketingToolType 类型代替 string\n\n### 视图文件(73 个文件,~111 处修复)\n- el-tag :type 断言:`as any` → `as TagType`(~45 处)\n- catch 块:`catch (error: any)` → `catch (error)`(~15 处)\n- API 响应解包:`(res as any).data` → 明确类型断言\n- 状态校验初始化:`{} as any` → 合理的类型初始化\n- HR 分页:`limit as any` → `limit as number`\n- 工具类型:`code as any` → `code as ToolType`(Step3Tools)\n\n### 保留的 4 处 any(bpmn-js JavaScript 互操作,不可消除)\n- types/process.ts:BpmnElement 索引签名、get() 返回值、gfx 字段\n\n## 质量提升\n- any 使用数量:115 → 4(减少 111 处)\n- 影响文件:73 个 Vue 组件 + 2 个 TypeScript 文件\n- 类型安全程度:基本消除运行时类型不确定性\n\nhttps://claude.ai/code/session_01XYrghcakBhTHkp1eyMmM1v\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f04562fcb2c00ced785cf32c9888101e7039377","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-02-23T02:09:43Z","added":[],"removed":[],"modified":["frontend/src/api/adapters.ts","frontend/src/components/marketing/CampaignBuilder.vue","frontend/src/components/process-designer/ProcessDesigner.vue","frontend/src/types/process.ts","frontend/src/views/_archived/audit-logs/Index.vue","frontend/src/views/_archived/campaigns/wizard/Step3Tools.vue","frontend/src/views/_archived/marketing/campaign-targets/Index.vue","frontend/src/views/_archived/marketing/segments/Index.vue","frontend/src/views/_archived/payroll/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Detail.vue","frontend/src/views/aging-analysis/Index.vue","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution-reports/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/index.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-journey-orchestration/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/hr/benefits/components/ClaimsTab.vue","frontend/src/views/hr/benefits/components/EnrollmentsTab.vue","frontend/src/views/hr/benefits/components/PlansTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/integration-services/Index.vue","frontend/src/views/leads/Detail.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/marketing-attribution/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/meddpicc-analyses/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/omnichannel-touchpoints/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/security-settings/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system-settings/Index.vue","frontend/src/views/video-publishing/Index.vue"]},{"id":"6ff0f2f6a30f18d01ceb3256ed9df1a6a994f187","message":"Day 6: 数据库性能索引优化 — P1 治理冲刺\n\n## 变更内容\n\n### schema.prisma 索引优化\n**新增索引(P1高频查询路径)**:\n- ar_ledger: +2 索引(客户×状态、到期日×状态)\n- invoices: +4 索引(客户、开票日期、状态×时间、合同)\n- service_tickets: +2 索引(解决时间、状态×优先级)\n\n**删除重复索引(减少写放大)**:\n- opportunities: -3 重复索引(closed_at、contact_id、stage_entered_at 各有两个)\n- service_tickets: -1 重复索引(tenant_id+status 重复)\n- quotes: -2 重复索引(owner_user_id、status 各有两个)\n\n### 新增文件\n- `backend/prisma/migrations/add_performance_indexes_day6.sql`\n 14 个 CONCURRENTLY 部分索引(含 WHERE 子句过滤,Prisma @@index 不支持)\n 覆盖:ar_ledger / invoices / customers / service_tickets / leads / orders\n\n- `backend/scripts/audit-index-coverage.ts`\n 数据库索引覆盖审计脚本:591 个模型,1573→2373 索引,检测重复索引\n 关键业务模型(ar_ledger/invoices/customers/quotes)已升至 ✅ Excellent\n 其余核心模型(contracts/leads/opportunities/orders)升至 🟢 Good\n\n## 审计结果(Day 6 后)\n- 关键业务模型零重复索引(修复 6 处重复)\n- 4 个核心财务模型达到 Excellent 级覆盖率\n- 新增审计工具可持续监控索引健康度\n\nhttps://claude.ai/code/session_01XYrghcakBhTHkp1eyMmM1v\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6ff0f2f6a30f18d01ceb3256ed9df1a6a994f187","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-02-23T01:45:59Z","added":["backend/prisma/migrations/add_performance_indexes_day6.sql","backend/scripts/audit-index-coverage.ts","reports/index-coverage-audit.latest.json"],"removed":[],"modified":["backend/prisma/schema.prisma","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":"471f6aae84a4b160d12ef2d5ed039def2a4bd33a","message":"Day 5: API路由契约覆盖率从93.93%提升至100%\n\n## 变更概要\n\n### 新建路由文件(6个)\n- rfm-analysis.routes.ts:RFM分析模块路由\n- customer-ltv.routes.ts:客户生命周期价值模块路由\n- dimension-transform.routes.ts:维度转换模块路由(+PUT方法)\n- omnichannel-data-hub.routes.ts:全渠道数据中心路由(+PUT方法)\n- multi-touch-attribution.routes.ts:多触点归因前端期望路径路由\n- public.routes.ts:公开API聚合路由(落地页/聊天机器人/表单/追踪)\n\n### 控制器存根扩展\n- knowledge.routes.ts:新增starred/move-to-folder 5条路由\n- matrix.controller.ts + matrix.routes.ts:新增5个存根+路由\n- marketing-workflow.controller.ts + routes.ts:新增5个存根+路由\n- 20+个模块:补充缺失的控制器函数和路由声明\n\n### 注册表更新\n- register-domain-routes.ts:注册6个新模块路由\n - multi-touch-attribution(/multi-touch-attribution)\n - public routes(/public)\n - rfm-analysis/customer-ltv/dimension-transform/omnichannel-data-hub\n\n### 方法不一致修复\n- dimension-transform/:id:新增PUT方法支持\n- omnichannel-data-hub/sources/:id:新增PUT方法支持\n\n## 审计结果\n- 覆盖率:100%(3623/3623)✅\n- 缺失端点:0(从88降至0)\n- 方法不一致:0\n- 参数不一致:0\n\nhttps://claude.ai/code/session_01XYrghcakBhTHkp1eyMmM1v\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/471f6aae84a4b160d12ef2d5ed039def2a4bd33a","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-02-23T01:03:57Z","added":["backend/src/modules/attribution/multi-touch-attribution.routes.ts","backend/src/modules/customer-ltv/customer-ltv.routes.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.routes.ts","backend/src/modules/rfm-analysis/rfm-analysis.routes.ts","backend/src/routes/public.routes.ts"],"removed":[],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.controller.ts","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/placement.controller.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.controller.ts","backend/src/modules/alliance-coupons/alliance-coupon.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/channels/channel.controller.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.controller.ts","backend/src/modules/community-groups/community-group.routes.ts","backend/src/modules/community-materials/community-material.controller.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.controller.ts","backend/src/modules/customer-marketing/customer-marketing.routes.ts","backend/src/modules/departments/department.controller.ts","backend/src/modules/departments/department.routes.ts","backend/src/modules/faults/fault.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-reviews/geo-review.controller.ts","backend/src/modules/geo-reviews/geo-review.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/marketing-matrix/matrix.routes.ts","backend/src/modules/marketing-workflows/marketing-workflow.controller.ts","backend/src/modules/marketing-workflows/marketing-workflow.routes.ts","backend/src/modules/rma/rma.controller.ts","backend/src/modules/rma/rma.routes.ts","backend/src/routes/register-domain-routes.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]}],"total_commits":0,"head_commit":{"id":"01a8ea9191c28b210d2abb3db3cbc65db42fc801","message":"Merge remote-tracking branch 'origin/claude/project-diagnosis-roadmap-OvHyH'\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/01a8ea9191c28b210d2abb3db3cbc65db42fc801","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-19T17:41:24+08:00","added":[],"removed":[],"modified":[]},"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":1904196,"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-19T17:35:22+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"}}...
|
push
|
1
|
20
|
1773914035
|
1773914286
|
0
|
1773913347
|
1773914286
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
7071
|
merge: 合并 codex/start-task-execution 分支
|
6
|
5
|
integration-test.yml
|
6998
|
5
|
0
|
refs/heads/main
|
9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"01a8ea9191c28b210d2abb3db3cbc65db42fc801","after":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/01a8ea9191c28b210d2abb3db3cbc65db42fc801...9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","commits":[{"id":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","message":"merge: 合并 codex/start-task-execution 分支\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","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-19T20:06:07+08:00","added":[],"removed":[],"modified":[".gitignore"]},{"id":"45cc3de955c77d410edd8f0c751c14b19ba32d6c","message":"merge: 合并 codex/find-next-steps 分支\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/45cc3de955c77d410edd8f0c751c14b19ba32d6c","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-19T19:59:55+08:00","added":["docs/reports/commander-next-actions-2026-03-12.md","e2e/agents/playwright-agent/README.md","e2e/agents/playwright-agent/__tests__/playwright-agent.unit.test.ts","e2e/agents/playwright-agent/artifacts/artifact-writer.ts","e2e/agents/playwright-agent/auth/auth-provider.ts","e2e/agents/playwright-agent/auth/storage-state-auth.ts","e2e/agents/playwright-agent/constants/diagnosis.ts","e2e/agents/playwright-agent/constants/status.ts","e2e/agents/playwright-agent/constants/timeouts.ts","e2e/agents/playwright-agent/core/action-runner.ts","e2e/agents/playwright-agent/core/browser-manager.ts","e2e/agents/playwright-agent/core/execution-engine.ts","e2e/agents/playwright-agent/core/retry-engine.ts","e2e/agents/playwright-agent/core/session-factory.ts","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/base-inspector.ts","e2e/agents/playwright-agent/inspectors/booking-inspector.ts","e2e/agents/playwright-agent/inspectors/dashboard-inspector.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/inspectors/payment-inspector.ts","e2e/agents/playwright-agent/observers/console-observer.ts","e2e/agents/playwright-agent/observers/network-observer.ts","e2e/agents/playwright-agent/observers/page-probe.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/agents/playwright-agent/reporters/json-reporter.ts","e2e/agents/playwright-agent/resolvers/selector-resolver.ts","e2e/agents/playwright-agent/types/diagnosis.ts","e2e/agents/playwright-agent/types/execution-plan.ts","e2e/agents/playwright-agent/types/execution-result.ts","e2e/agents/playwright-agent/types/execution-step.ts","e2e/agents/playwright-agent/types/inspector.ts","e2e/agents/playwright-agent/types/runtime.ts"],"removed":[],"modified":["e2e/package.json"]},{"id":"0690441d639452b384cf339fb08bb9ca5aca6318","message":"merge: 解决 LeadCollector 冲突并合并 project-diagnosis-roadmap 分支\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0690441d639452b384cf339fb08bb9ca5aca6318","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-19T19:53:41+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts"]},{"id":"f559123e2f8a9b99815dfd5a112568e952fef38b","message":"docs: add commander next action checklist","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f559123e2f8a9b99815dfd5a112568e952fef38b","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-12T12:25:36+08:00","added":["docs/reports/commander-next-actions-2026-03-12.md"],"removed":[],"modified":[]},{"id":"2ba3fa67ecd78540d068729a800bebf3db851042","message":"chore: ignore local build cache directories","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ba3fa67ecd78540d068729a800bebf3db851042","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-12T12:24:42+08:00","added":[],"removed":[],"modified":[".gitignore"]}],"total_commits":0,"head_commit":{"id":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","message":"merge: 合并 codex/start-task-execution 分支\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","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-19T20:06:07+08:00","added":[],"removed":[],"modified":[".gitignore"]},"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":1904882,"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-19T17:42:36+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"}}...
|
push
|
2
|
20
|
1773929778
|
1773929936
|
0
|
1773929409
|
1773930013
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
7116
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
integration-test.yml
|
7043
|
5
|
0
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.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":1904980,"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-19T22:10:19+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"}}...
|
push
|
2
|
20
|
1773940128
|
1773940744
|
0
|
1773939781
|
1773940826
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
7234
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
integration-test.yml
|
7160
|
5
|
0
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"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"}}...
|
push
|
2
|
20
|
1774221338
|
1774221755
|
0
|
1774220986
|
1774222054
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
7251
|
fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复
|
6
|
5
|
integration-test.yml
|
7177
|
5
|
0
|
refs/heads/main
|
80c2bdb2f93a19aa53d16ded06387b70c6084bf8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0900b15d607e5c78f97fec16a73357ad4f814390","after":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0900b15d607e5c78f97fec16a73357ad4f814390...80c2bdb2f93a19aa53d16ded06387b70c6084bf8","commits":[{"id":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","message":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复\n\n1. API 路径对齐后端(7 处 404 修复):\n - faults: start-diagnosis→start-diagnose, diagnosis→diagnose, solution→resolve\n - marketing-matrix: batch-group→batch/group(PATCH), batch-operator→batch/operator(PATCH),\n platform-comparison→analytics/platform-comparison, auth-status→authorize\n\n2. 路由缺失修复(2 处):\n - groupbuy-orders/create 新建路由注册\n - marketing-tools 编辑模式从 query.id 改为 params.id + 拆分 create/edit 路由\n\n3. 表单提交失败用户反馈(15 文件 33 处):\n - catch 块只有 console.error → 补充 ElMessage.error 用户可见提示\n - 涉及:contracts, quotes, opportunities, customers, departments 等核心模块\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","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:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]}],"total_commits":0,"head_commit":{"id":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","message":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复\n\n1. API 路径对齐后端(7 处 404 修复):\n - faults: start-diagnosis→start-diagnose, diagnosis→diagnose, solution→resolve\n - marketing-matrix: batch-group→batch/group(PATCH), batch-operator→batch/operator(PATCH),\n platform-comparison→analytics/platform-comparison, auth-status→authorize\n\n2. 路由缺失修复(2 处):\n - groupbuy-orders/create 新建路由注册\n - marketing-tools 编辑模式从 query.id 改为 params.id + 拆分 create/edit 路由\n\n3. 表单提交失败用户反馈(15 文件 33 处):\n - catch 块只有 console.error → 补充 ElMessage.error 用户可见提示\n - 涉及:contracts, quotes, opportunities, customers, departments 等核心模块\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","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:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.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":1919760,"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-23T07:09:48+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"}}...
|
push
|
1
|
20
|
1774223274
|
1774223492
|
0
|
1774223021
|
1774223492
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
7263
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
integration-test.yml
|
7189
|
5
|
0
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/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":1919904,"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-23T07:43:43+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"}}...
|
push
|
1
|
20
|
1774223769
|
1774223986
|
0
|
1774223518
|
1774223986
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
7293
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
integration-test.yml
|
7219
|
5
|
0
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"339ea969ec2633756fb1a155d47723d0f61396a4","message":"chore: comprehensive governance updates and test artifacts\n\n- Add Prisma schema modularization and migration scripts\n- Add service test coverage across all modules (AI, alliance, community, marketing, etc.)\n- Add shared services (cache, custom-fields, dynamic-state-machine, encryption, etc.)\n- Add infrastructure configs (ClickHouse, Debezium, Tempo)\n- Add user manual and technical documentation with screenshots\n- Add router module organization for all centers\n- Add store/test coverage and Playwright artifacts\n- Update CI workflow, environment configs, and dependencies\n- Fix security issues in auth, kafka, and validation layers\n- Fix permission naming tests to expect kebab-case output\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","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-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"339ea969ec2633756fb1a155d47723d0f61396a4","message":"chore: comprehensive governance updates and test artifacts\n\n- Add Prisma schema modularization and migration scripts\n- Add service test coverage across all modules (AI, alliance, community, marketing, etc.)\n- Add shared services (cache, custom-fields, dynamic-state-machine, encryption, etc.)\n- Add infrastructure configs (ClickHouse, Debezium, Tempo)\n- Add user manual and technical documentation with screenshots\n- Add router module organization for all centers\n- Add store/test coverage and Playwright artifacts\n- Update CI workflow, environment configs, and dependencies\n- Fix security issues in auth, kafka, and validation layers\n- Fix permission naming tests to expect kebab-case output\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","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-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"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":1919936,"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-23T07:52:01+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"}}...
|
push
|
2
|
20
|
1774229412
|
1774229587
|
0
|
1774229063
|
1774229667
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
7419
|
feat: 新增阿里云部署、PII 加密、运维脚本和前端优化
|
6
|
5
|
integration-test.yml
|
7344
|
5
|
0
|
refs/heads/main
|
67078f9a95f53530156ad27027eafe15a3126e89
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"339ea969ec2633756fb1a155d47723d0f61396a4","after":"67078f9a95f53530156ad27027eafe15a3126e89","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/339ea969ec2633756fb1a155d47723d0f61396a4...67078f9a95f53530156ad27027eafe15a3126e89","commits":[{"id":"67078f9a95f53530156ad27027eafe15a3126e89","message":"feat: 新增阿里云部署、PII 加密、运维脚本和前端优化\n\n- 新增阿里云部署配置和工作流\n- 实现 PII 字段加密和迁移脚本\n- 新增运维脚本 (备份、监控、事件响应)\n- 前端移动端优化 (PWA、离线支持、响应式)\n- 优化部署脚本和 Docker 配置\n- 新增模块依赖文档和图标资源\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/67078f9a95f53530156ad27027eafe15a3126e89","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-23T18:39:31+08:00","added":[".github/workflows/deploy-aliyun.yml","backend/prisma/migrations/manual/add_pii_hash_columns.sql","backend/scripts/encrypt-existing-pii.ts","deploy/postgres/postgresql.conf","docs/deploy-aliyun.md","e2e/test-results/crud-00-crud-runner-CRUD-严-00c50--module-livestream-groupbuy-chromium/attachments/probe-U02-5f05828b56499ae934e0759342cdd3c85570cfb1.json","e2e/test-results/crud-00-crud-runner-CRUD-严-01031-e-C02-创建校验失败-module-expense-chromium/attachments/probe-C02-a184e7eee4738620d0480ee76bb67ff031914b8a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-03e22--module-event-subscriptions-chromium/attachments/probe-C01-4027c8fd1ba4fece827cba33e0988113bcfe8ac5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-03e22--module-event-subscriptions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-03e22--module-event-subscriptions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-04c38-异常恢复-module-tob-toc-gateway-chromium/attachments/probe-E01-d016b142f48b438e38e880929bdd623e2dca3dd9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-062a1--U02-更新权限-冲突-module-revenue-chromium/attachments/probe-U02-dd798ec9a3caa65737a1e241486f4869c76907db.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0c144--module-event-subscriptions-chromium/attachments/probe-E01-3957730b931046ca1d5af9fcd0530d99cd159746.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0c744--module-livestream-groupbuy-chromium/attachments/probe-R01-f275f1dba671c03a90bc5d9fe286727103a41428.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cb7d-权限-冲突-module-scheduled-jobs-chromium/attachments/probe-U02-99013e7113f3b09cdfd225335ef8b4bbf93f0f47.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cd8c-ule-marketing-effectiveness-chromium/attachments/probe-P01-a8da7802fa33cd10316733df9d55b2076a6f6d30.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0da02--module-marketing-workflows-chromium/attachments/probe-U02-83c31463f0c5fd924046755a0999c95430c4b71d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0dc7d-ule-multi-touch-attribution-chromium/attachments/probe-R02-50bdd25830053dbe77a0e7a048da726f9b0f9ede.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0dff8--R01-列表可读-module-event-logs-chromium/attachments/probe-R01-f6a2e54091d1840eb8393a29e4ceed29a1a51883.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0faab--E01-异常恢复-module-audit-logs-chromium/attachments/probe-E01-59ef1c744e2fdeeb8a815ec323e697c42fcef167.json","e2e/test-results/crud-00-crud-runner-CRUD-严-12603-module-groupbuy-redemptions-chromium/attachments/probe-R03-afe8409c829fe0ce822d99fde3a2796d68b6daaa.json","e2e/test-results/crud-00-crud-runner-CRUD-严-12794-E01-异常恢复-module-commissions-chromium/attachments/probe-E01-f26eea995837a91e0855b9ea92e98e17f2ff44a6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-16639-单管理-C02-创建校验失败-module-menus-chromium/attachments/probe-C02-1d2c9aba1f5e145099ee3eadd86dd1c6d87fc267.json","e2e/test-results/crud-00-crud-runner-CRUD-严-18020-1-权限矩阵-module-notifications-chromium/attachments/probe-P01-2e69f3d72cf2485ed384482cc7aef1fee5fb6eeb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-187cb-1-权限矩阵-module-biz-sequences-chromium/attachments/probe-P01-01d52f572bfb563cb1e7d1ca5d8a151b05eefde7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1938d-更新权限-冲突-module-dictionaries-chromium/attachments/probe-U02-325e55635fe4f22f3a2c59a001406be8fb8a9a7c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a3bd-module-groupbuy-redemptions-chromium/attachments/probe-R01-6e84cdf8a3cc7eda51a4029c1be34742a8a1947d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1b3d2-1-异常恢复-module-biz-sequences-chromium/attachments/probe-E01-cb751f50f1a43b5671cb3bb928f4343805bdcb1e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1cc86-nse-P01-权限矩阵-module-expense-chromium/attachments/probe-P01-911a1bc415c2f8b57dccb5e2dbb95d69178dbb89.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1dd4e-ule-multi-touch-attribution-chromium/attachments/probe-E01-850cbfba6c96a8422e309b111bde428ac66a0acb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1e402-C01-创建成功-module-commissions-chromium/attachments/probe-C01-e054e87b311201b8c7a90678bd7cdcf00b31a5cf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1e402-C01-创建成功-module-commissions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-1e402-C01-创建成功-module-commissions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-1ef11-1-权限矩阵-module-system-events-chromium/attachments/probe-P01-d782150e1d8700a382593ceeb00141476090523b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1f1fc-ess-C01-创建成功-module-process-chromium/attachments/probe-C01-c958c8b6424314a06dd36b3bcae1e9ed17ecd7c8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2058e-管理-U02-更新权限-冲突-module-menus-chromium/attachments/probe-U02-31668640bd1257ddc7db097de0fc527ae2222e95.json","e2e/test-results/crud-00-crud-runner-CRUD-严-207b4-权限矩阵-module-ai-review-queue-chromium/attachments/probe-P01-b22f8aca8235de660d564483d67e5c373ea9fdb3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20a8b--硬-可用-module-admin-settings-chromium/attachments/probe-D01-8fe3c84bca17d2c1c76a7a4f1a219cce6abaad9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20e0e--module-marketing-workflows-chromium/attachments/probe-R01-c3a3952e741a382d12d089854d6e337955f0a551.json","e2e/test-results/crud-00-crud-runner-CRUD-严-216eb-推送-E01-异常恢复-module-realtime-chromium/attachments/probe-E01-d344930ebd78b80fa64e38735bb1fc7f4ce0cc7b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2346a-ess-R03-详情可读-module-process-chromium/attachments/probe-R03-6398a1bcc9be1626d64d11ae2e599ff871aa6a26.json","e2e/test-results/crud-00-crud-runner-CRUD-严-23b31-01-列表可读-module-store-agency-chromium/attachments/probe-R01-89b82b2ef8c9f42d1361f97494471acd7f76033d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-24c30-不可见校验-module-admin-settings-chromium/attachments/probe-D02-959903440bda83ad8fe4563497aa119fbc4ed76b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-24cdd--module-self-operated-store-chromium/attachments/probe-R03-0f40d61917a8c2e47498d6c95d2345e3ded09a4a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/attachments/probe-D02-0da21af5a4f65523fbbe6c1336b9d7cd3060cc02.json","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-26c1a-s-R03-详情可读-module-shipments-chromium/attachments/probe-R03-05db184ce58e197a1b7be6d2ce81d16eb1800fea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/attachments/probe-D01-d9f16ad21b0a5ebcd95ae9c322286a4844c651cc.json","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-28be2--module-livestream-groupbuy-chromium/attachments/probe-C02-337a1f0e09bc2e6184c4141e79ff448d179406bb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-28eac-异常恢复-module-ai-review-queue-chromium/attachments/probe-E01-a5c03249805d625a54ddfb43eeca04c6f88c79ec.json","e2e/test-results/crud-00-crud-runner-CRUD-严-298de-权限矩阵-module-tob-toc-gateway-chromium/attachments/probe-P01-2c7b23b29557380b9041fa0fdcd017331b873ab3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2bd21-全局搜索-P01-权限矩阵-module-search-chromium/attachments/probe-P01-2bef560a69aebea0886b47c44e093a0a6e15a48f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2d36d-le-customer-lifecycle-value-chromium/attachments/probe-A01-01f3e9f2026abc544a2ce9418d776db403af915b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2df00--module-event-subscriptions-chromium/attachments/probe-U02-1de2622454cd943b55683e4456f1afe831844218.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/attachments/probe-C01-d25494a484ae20e473da3f9160b96bea6701ef37.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-2f802--module-marketing-workflows-chromium/attachments/probe-R03-046c588eddb3c1ce0f814406cbaf74dc4be4f443.json","e2e/test-results/crud-00-crud-runner-CRUD-严-30628--删除-软-硬-可用-module-shipments-chromium/attachments/probe-D01-cc8f3c6c5c91d9410c0a5049677bb220cea479b4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/attachments/probe-D02-68f9231b7a0d3f30543eae75b2ae4086da8800fb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-3117c-ule-marketing-effectiveness-chromium/attachments/probe-R03-c506a845b114b93867f1e16600ea03de260a9ac8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-318f4--创建校验失败-module-dictionaries-chromium/attachments/probe-C02-d54c5fbe62756bd38b3cca675536e0d78400961a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-322f2-03-详情可读-module-store-agency-chromium/attachments/probe-R03-2be377684db3fa085cba3a03a66cbeab5675ac3d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-324b7-2-恢复或不可见校验-module-shipments-chromium/attachments/probe-D02-3f1105bcd6ed28d152d48cc7ad4bc029e1e15d15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-339a7--module-self-operated-store-chromium/attachments/probe-E01-7d88adfc0a840a649395ef53111cc7595049e10b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d91-列表可读-module-ai-agent-skills-chromium/attachments/probe-R01-d0f60e5327b11be8bbabe014d783c4aadd5caa4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f4c-突-module-approval-templates-chromium/attachments/probe-U02-adab39938f5374ba8ea8c70d9023fa4eb2eab9da.json","e2e/test-results/crud-00-crud-runner-CRUD-严-36319--module-livestream-groupbuy-chromium/attachments/probe-R02-ebe79da37ac4fda52dfec4be7d273e056c0974a8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-36f96-异常恢复-module-ai-agent-skills-chromium/attachments/probe-E01-a6785b8737e0e965998f1eb10d5f6a262b7c1a69.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3847b--module-livestream-groupbuy-chromium/attachments/probe-P01-cb711275a5cd117974c16154d1f0f235056462d1.json","e2e/test-results/crud-00-crud-runner-CRUD-严-39830--module-event-subscriptions-chromium/attachments/probe-C02-7ac7c9beb8f3a3cb2f8f8ca3976049ad5b8fa9fb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-39f88--module-marketing-workflows-chromium/attachments/probe-P01-e4b9dd5255759fee861b59eb822c1b4d69c4c683.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3b09c-筛选分页-module-tob-toc-gateway-chromium/attachments/probe-R02-885d1d4952f66349d7fdabff956249363d8ddccb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3d202-01-运行-导出-刷新动作-module-search-chromium/attachments/probe-A01-e9c1add570b417ccabad862add3802ff19ae093a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3f077-ess-R01-列表可读-module-process-chromium/attachments/probe-R01-fe32fa33e38b75b3b0279b2ab4af2978f54f744d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3f4e4-全局搜索-E01-异常恢复-module-search-chromium/attachments/probe-E01-3e08bf77bee2490258f010dfe6badc01e6fdabad.json","e2e/test-results/crud-00-crud-runner-CRUD-严-40813-权限矩阵-module-ai-agent-skills-chromium/attachments/probe-P01-f4d4bc40fa7fb1e371ea4de11835849202f428fc.json","e2e/test-results/crud-00-crud-runner-CRUD-严-430ed--R03-详情可读-module-event-logs-chromium/attachments/probe-R03-3079962f10c5b2373e79ea9af6ad9b2d68bd1472.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4350e--U02-更新权限-冲突-module-expense-chromium/attachments/probe-U02-b3438248fb5cd1b6ce2827dcb17f8bda48a7b5f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-448ee--更新权限-冲突-module-video-calls-chromium/attachments/probe-U02-501ff748e56066065a94944f0939cde812dcf163.json","e2e/test-results/crud-00-crud-runner-CRUD-严-44db0-01-权限矩阵-module-dictionaries-chromium/attachments/probe-P01-b86a10b18a8ca32b840164a0c8efcb924145211e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-45f32--module-marketing-workflows-chromium/attachments/probe-U01-8432ecf8234661f77396919c23b65dbec60a516a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4706c--module-event-subscriptions-chromium/attachments/probe-D02-73732ad3c5f72415c989ffd6420cf84483f876c0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4706c--module-event-subscriptions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-4706c--module-event-subscriptions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-4fbac-U01-更新成功-module-commissions-chromium/attachments/probe-U01-05c9dc551bfa36c0bd97e4eda6bd32498e09ce74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52184--软-硬-可用-module-dictionaries-chromium/attachments/probe-D01-185a077f043d3c6a69688a73e437cf8443497741.json","e2e/test-results/crud-00-crud-runner-CRUD-严-539e3-ess-P01-权限矩阵-module-process-chromium/attachments/probe-P01-0b3abe2c907f43df2b8b6e2bdc5f0e1e61eb76ff.json","e2e/test-results/crud-00-crud-runner-CRUD-严-54c38-恢复或不可见校验-module-commissions-chromium/attachments/probe-D02-6d14aa11289185bbe607a8ca22981747819797be.json","e2e/test-results/crud-00-crud-runner-CRUD-严-54c38-恢复或不可见校验-module-commissions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-54c38-恢复或不可见校验-module-commissions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-5915a--U02-更新权限-冲突-module-process-chromium/attachments/probe-U02-95a2a64c6d9ad4a68b09bb56acd155d7c8e6f5ff.json","e2e/test-results/crud-00-crud-runner-CRUD-严-593af-ule-multi-touch-attribution-chromium/attachments/probe-R01-ebe5cbe05509b85aabc9031677eed0db7bc0b9e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5aef0-01-创建成功-module-dictionaries-chromium/attachments/probe-C01-8e9ede49dfba923088cd0cfe65df061f8ea2d570.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5ed49-功-module-approval-templates-chromium/attachments/probe-U01-371c994b114fded7fe293d0f63e5a231630fc421.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60099--P01-权限矩阵-module-event-logs-chromium/attachments/probe-P01-bd3428e914b080a6bde0972ce13a5b4b763b7ef3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-61664-le-customer-lifecycle-value-chromium/attachments/probe-R01-c56befd334e9c2912cc2eb94c187ce2c0af5e9ef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-62666--module-self-operated-store-chromium/attachments/probe-R01-2456a2746d38b4032dbaa717c356dacab20912fd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-63243-01-权限矩阵-module-store-agency-chromium/attachments/probe-P01-e8aee74b35aba6eb07d670b0fa5ab48c7164d687.json","e2e/test-results/crud-00-crud-runner-CRUD-严-69632-nue-P01-权限矩阵-module-revenue-chromium/attachments/probe-P01-df2c2dcdbf96825e35e36f6ace922ee4b6010d76.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6a8a6-nue-E01-异常恢复-module-revenue-chromium/attachments/probe-E01-55a4b48c8f565c93281bec838b9375f65b14800a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6afa7-权限-冲突-module-admin-settings-chromium/attachments/probe-U02-9e5ec3c36b9f83908ff4e48f4130e9fbdef23df3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/attachments/probe-D02-f8f18cb821d0fa684fc51b42a0eb16a85eed7d39.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-6d2c0-le-customer-lifecycle-value-chromium/attachments/probe-R02-f4add8a844d9205a8ad003f2ef731915c1251c2b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6e599--module-self-operated-store-chromium/attachments/probe-R02-845f2b62daa1bdd7fa8a332865f3e85d53c36321.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6fb52--module-marketing-workflows-chromium/attachments/probe-R02-b8b1ab9757576a73bcc6c254d684d6b0ace3f131.json","e2e/test-results/crud-00-crud-runner-CRUD-严-70e3c-e-R02-查询筛选分页-module-expense-chromium/attachments/probe-R02-c04fe395a7911d13952be573777ceb4ec96c8223.json","e2e/test-results/crud-00-crud-runner-CRUD-严-75b6f-校验失败-module-ai-agent-skills-chromium/attachments/probe-C02-672aac93c6ef3386d482927498a6e24470230137.json","e2e/test-results/crud-00-crud-runner-CRUD-严-763ec-2-创建校验失败-module-commissions-chromium/attachments/probe-C02-a341f60efb738fea1dfda2d9b863408d7839d07a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-76a38-详情可读-module-ai-review-queue-chromium/attachments/probe-R03-c2130c8d490866d29fa9f341a02cbb4fc6ff44bc.json","e2e/test-results/crud-00-crud-runner-CRUD-严-76ab5--module-self-operated-store-chromium/attachments/probe-P01-9b2734d0cf1e72ffb148718791822592806f4b9d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/attachments/probe-D01-1ba0279bbb88d0608408f7c4fbdf18c92335d86b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-794b2-01-异常恢复-module-store-agency-chromium/attachments/probe-E01-06007b7013a6dde5af269134ceca1563c56ce55a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7bceb-s-R01-列表可读-module-shipments-chromium/attachments/probe-R01-76cfd0aa8e919c1c620a34ba2f12a418d0d3bef1.json","e2e/test-results/crud-00-crud-runner-CRUD-严-80eb9--module-livestream-groupbuy-chromium/attachments/probe-R03-6c4ea46e0f9b202a0204809756d49457b0ed79f2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-81663-行-导出-刷新动作-module-event-logs-chromium/attachments/probe-A01-b3ab37ba3a204c01968f7784fc9139a8940fcfb4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-82c54-nue-U01-更新成功-module-revenue-chromium/attachments/probe-U01-0e1ca227a0b97c97b408ace1379b46b40a4feb7e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-82e36-理-D02-恢复或不可见校验-module-menus-chromium/attachments/probe-D02-c8015954612c83b92e9e06aa3c728a2886886939.json","e2e/test-results/crud-00-crud-runner-CRUD-严-83a69-02-查询筛选分页-module-event-logs-chromium/attachments/probe-R02-a9d27a1ec7d75e1639ea3912a6426a5932b2ba2d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-855a0-2-创建校验失败-module-video-calls-chromium/attachments/probe-C02-4df663e33175d4a200c9026ce4d9b03cb67f7ff0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-85f82--module-livestream-groupbuy-chromium/attachments/probe-E01-f284781c1c846783762d33826e5171dbc85272fe.json","e2e/test-results/crud-00-crud-runner-CRUD-严-86cf1-P01-权限矩阵-module-commissions-chromium/attachments/probe-P01-5585228f89580ccf96a5563ed53552b5cc8d2681.json","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/attachments/probe-D01-a3b5d7a6dd73e13a7789ce99a2fc51cc8c8cb0b5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-88219-module-groupbuy-redemptions-chromium/attachments/probe-R02-3bacc27e6e2991816ab649efea3c81c8bc7e1469.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8b6d9--module-event-subscriptions-chromium/attachments/probe-D01-97f53b2e277645dc213b2cdfb8728370c93eb414.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8b6d9--module-event-subscriptions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-8b6d9--module-event-subscriptions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-8b831-推送-P01-权限矩阵-module-realtime-chromium/attachments/probe-P01-a5ccd810bcecbc94d29b5fae71d8710a123abe58.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8c9a0--创建成功-module-scheduled-jobs-chromium/attachments/probe-C01-5e20bd52f11df6b9edaec0d24f839d573ac5b930.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8eb81-s-C01-创建成功-module-shipments-chromium/attachments/probe-C01-79f3c45700f8b733e1dae4c1d3c0d13f0ece0370.json","e2e/test-results/crud-00-crud-runner-CRUD-严-91a8c--module-event-subscriptions-chromium/attachments/probe-P01-b0ab39d0381eae827f144016fe3e789a9abe489b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-92928-le-customer-lifecycle-value-chromium/attachments/probe-P01-f69e69e7138f2548447abbd9a65fe5a391e532bc.json","e2e/test-results/crud-00-crud-runner-CRUD-严-92cb7-ess-U01-更新成功-module-process-chromium/attachments/probe-U01-68fcaa56f5991a73bcc627ef9a3c4d5ffb66b8ff.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9364a-ule-marketing-effectiveness-chromium/attachments/probe-R02-5fa85c4ca3ed2ee971daae26b56d79d81f081104.json","e2e/test-results/crud-00-crud-runner-CRUD-严-93844-01-异常恢复-module-dictionaries-chromium/attachments/probe-E01-f01fd6e080ae953ef48298d35a318ceffe2f4ceb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-959d3-s-U01-更新成功-module-shipments-chromium/attachments/probe-U01-b03fe92972f69daca18de503a17ea0468c09a7fb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-96329-ule-multi-touch-attribution-chromium/attachments/probe-A01-8deaaa8251a742e98e8862fad5fbdccd4785a5a9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-998df-s-E01-异常恢复-module-shipments-chromium/attachments/probe-E01-03a0e4d85ccc9d6aad918f30512c56a1c0895e1d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a045-s-R02-查询筛选分页-module-process-chromium/attachments/probe-R02-b93b5d0c9a3e018472ea9265a17dfc8686056e58.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a560-E01-异常恢复-module-video-calls-chromium/attachments/probe-E01-89a5ca8f5be3dc3bae1c50d1a63b280a012c37c0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a5ae-module-groupbuy-redemptions-chromium/attachments/probe-U02-cfe5e3c909764588e3e2c03a9921ef2e900da8ff.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9cb36-nue-R03-详情可读-module-revenue-chromium/attachments/probe-R03-26039101d85a9f847900de53e0ebb47e62b24e01.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9f43f--module-marketing-workflows-chromium/attachments/probe-C02-e67171da757d0baeffba1166f199c06da88ed02a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a23b2-1-异常恢复-module-system-events-chromium/attachments/probe-E01-4e873dbf657a18537d175606f5fad6753cf5e516.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ab566--module-self-operated-store-chromium/attachments/probe-A01-affdf7f0c51a9ea3070924e4de57042f99c1647e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/attachments/probe-D02-647f210047f57bfdc74c9b1ecf122430db73508a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/attachments/probe-D01-ca42e46afaa5335bd1e7dce12c865b793eba893a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-afc48-02-更新权限-冲突-module-shipments-chromium/attachments/probe-U02-76f888bd73b952dadeae2f670097c231598cc7f1.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b016f-R02-查询筛选分页-module-shipments-chromium/attachments/probe-R02-75f0ed5c036e86fa599d152e87a612340ec95779.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b19ee-复或不可见校验-module-dictionaries-chromium/attachments/probe-D02-75187a2c16f17d22a7d9ff0d71b6365b24ff8f11.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b1e0a-筛选分页-module-ai-review-queue-chromium/attachments/probe-R02-4df940b2aa799e163a18bce0bd790a9b1d9c7387.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b28dd--E01-异常恢复-module-event-logs-chromium/attachments/probe-E01-6a8f23b6d5e223ef03af32e2a331000f62f1bcab.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/attachments/probe-P01-f6dca05f404ffd7ebec499caa322c75dac737ae6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-b2e37-le-customer-lifecycle-value-chromium/attachments/probe-R03-2c5392b8531f2e66cbcb649474d6d65d472a52fc.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b6f23--module-marketing-workflows-chromium/attachments/probe-E01-b37aaa0cb1254e8339da45e381538d7893e2c503.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b7373-限-冲突-module-ai-agent-skills-chromium/attachments/probe-U02-27fa1829d3a97446dd64ce23f750e2fb9874ace9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9839-nse-E01-异常恢复-module-expense-chromium/attachments/probe-E01-598af7a75b6afcfc750f7cbd999621fd493916bd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ba880--module-event-subscriptions-chromium/attachments/probe-U01-e9ddd3af40eeb74fc790b166ba862e1d10aa0bfd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-bd4d8-module-groupbuy-redemptions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-be5a0-建校验失败-module-scheduled-jobs-chromium/attachments/probe-C02-abec1af36155a33b97e9536f1e0b25f5c60d42af.json","e2e/test-results/crud-00-crud-runner-CRUD-严-bff63-出-刷新动作-module-biz-sequences-chromium/attachments/probe-A01-cff25189c33e88a7a7e2f8da0f6a184b43588b8e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c2455-导出-刷新动作-module-store-agency-chromium/attachments/probe-A01-f2f8b36fb9c87d2182ec700828c6de66cbb60ec2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c3ec8--菜单管理-C01-创建成功-module-menus-chromium/attachments/probe-C01-43d8459603058bf20b6e03e294ef1ff405656572.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/attachments/probe-D02-cbdf98bdeb30878cbbcae7d7409bf18577f164a8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-c888f-nse-R01-列表可读-module-expense-chromium/attachments/probe-R01-c151cc11c1c51847ab6a7050925714063ed72a3e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb112-nue-R01-列表可读-module-revenue-chromium/attachments/probe-R01-6d360566911afc9198656a497bf24bcdcab5a8ef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb57e-nse-R03-详情可读-module-expense-chromium/attachments/probe-R03-8725bda63e479f3e716df9ef79d3daadb939b071.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cef59-C02-创建校验失败-module-shipments-chromium/attachments/probe-C02-7715e381abfadb0134c0f64aae32efcd6cc7288e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cf219-ule-multi-touch-attribution-chromium/attachments/probe-P01-9f6b116fcd74dad3a2abcec566744bf89f88b8df.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cf60f--D01-删除-软-硬-可用-module-menus-chromium/attachments/probe-D01-64caafe460fcb82bbb3419e8aaac1050e8451f45.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d0b86-列表可读-module-tob-toc-gateway-chromium/attachments/probe-R01-f73df51b0b45f4a5f62ea53b8d6618db1d10fe92.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d38f6-1-异常恢复-module-notifications-chromium/attachments/probe-E01-d4b596265305cd3b54dd9559714e528c24720959.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/attachments/probe-D02-8bf37a45c16e990f5a6c2c5f3efc8539997f8a5f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-d4b5f-le-customer-lifecycle-value-chromium/attachments/probe-E01-0319841ca4bdbac52c9981b8d55b7e2d1c03a3d6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d7368--异常恢复-module-scheduled-jobs-chromium/attachments/probe-E01-635a5c0e726fdb67a4aa58c768d6f8902d4eccf3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d82a5-s-C02-创建校验失败-module-process-chromium/attachments/probe-C02-cf380d01e56b601ee5d9774add838ec35277f9b2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d8d0a--查询筛选分页-module-store-agency-chromium/attachments/probe-R02-85d2089d2e3368741313663f156ca29198a8fda5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dc55e--权限矩阵-module-scheduled-jobs-chromium/attachments/probe-P01-88ffe9eb58933c537497a836a9c6be7ee0d09b1c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dca0b--module-livestream-groupbuy-chromium/attachments/probe-C01-7a7a50d602c882503af31232883b014afac04014.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dcdaa-功-module-approval-templates-chromium/attachments/probe-C01-16c09400702d309ccacd89c6cc6515b288ce5652.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd023--更新权限-冲突-module-commissions-chromium/attachments/probe-U02-31eb51169299797eebb27f771965a30d091db3ae.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/attachments/probe-E01-bae00686def91e0c59b235df1840db644481780b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-de3c4-nse-U01-更新成功-module-expense-chromium/attachments/probe-U01-11fa14f8f5a08140133acda94a85dddc10b55b1c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-df411--P01-权限矩阵-module-audit-logs-chromium/attachments/probe-P01-cc67b35323538b31fb9fb072895f6ef8a3c7acb8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dfe11-用-module-approval-templates-chromium/attachments/probe-D01-95bf79174ec0e99de83f17562c62ebfd8caf356b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/attachments/probe-D01-275e597c628a68cdfe3380f9ee3be8f448117171.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-e43b8-详情可读-module-ai-agent-skills-chromium/attachments/probe-R03-2acd1ee97308324e8e3d51697bf2d1e0384659fe.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e62ab--菜单管理-U01-更新成功-module-menus-chromium/attachments/probe-U01-1d53843982c476796fec194850f315972daef53a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e77fb-P01-权限矩阵-module-video-calls-chromium/attachments/probe-P01-67862bd82cfaf82cf18fc865cf1ec3d6f054ed5d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec2c8-ule-marketing-effectiveness-chromium/attachments/probe-R01-c4ff35e91e5445bbcbd77127fc44ec067150a3d1.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec85f-nue-C01-创建成功-module-revenue-chromium/attachments/probe-C01-485f1896ca83f62279fd771c506333652790bd8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec9bf-01-更新成功-module-dictionaries-chromium/attachments/probe-U01-88806b20d664da9a894a70542dd78b570023f97e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed76b-module-groupbuy-redemptions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-ed76b-module-groupbuy-redemptions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-ef210-nse-C01-创建成功-module-expense-chromium/attachments/probe-C01-1060246818b142f7b69400f2162dcc4b60688161.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ef3b1-验-module-approval-templates-chromium/attachments/probe-D02-ae03148cfd2caf68fbcee4d7c6303d501385b8e6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-efb99-ule-multi-touch-attribution-chromium/attachments/probe-R03-8fdd64112b2a398acbcefa3f75fa23a4c63fa8e6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f06f4-ule-marketing-effectiveness-chromium/attachments/probe-A01-c6d20bb0111e1119ace37991e5df01669a6266da.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f23b0-s-P01-权限矩阵-module-shipments-chromium/attachments/probe-P01-8e9f67f73c02d3bd3d734b641a059aee5869e874.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3368-ule-marketing-effectiveness-chromium/attachments/probe-E01-cc0cf07384fc25d79c9813c0ba15dc7aadc7c3c0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3cb5-除-软-硬-可用-module-commissions-chromium/attachments/probe-D01-c46aec2cf8807f6c56de6720d673772677870d54.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3cb5-除-软-硬-可用-module-commissions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-f3cb5-除-软-硬-可用-module-commissions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-f4286--菜单管理-P01-权限矩阵-module-menus-chromium/attachments/probe-P01-235d48932620cc33ffb248ae1c4b5c3e3dc15444.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f82cb-复-module-approval-templates-chromium/attachments/probe-E01-f7a28edd546368cb5579043036432fca3a6a3c54.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f885e-e-C02-创建校验失败-module-revenue-chromium/attachments/probe-C02-cc876d5954153779c4985b16065eab26194d2247.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f947b-筛选分页-module-ai-agent-skills-chromium/attachments/probe-R02-d3bc954aa6725de6b169dbf7386b3f12eb2e9e59.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f9c32-列表可读-module-ai-review-queue-chromium/attachments/probe-R01-1a3b2c411d57a6bc8b03af5b23177f3087b48ebb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f9f1d-败-module-approval-templates-chromium/attachments/probe-C02-8c5cdde79061de2819118373c79f7ab15e0734d5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fa9d7--module-livestream-groupbuy-chromium/attachments/probe-U01-92cc5e58e2cd8523a1f21abc561874d938766c9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fb79f--更新成功-module-scheduled-jobs-chromium/attachments/probe-U01-a10e9ddd1f63c31ed58f70f27b527657df2796cf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fcfb3-ess-E01-异常恢复-module-process-chromium/attachments/probe-E01-18330f7d7e922029ff26dc6fc85aadd19bb52309.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fd741-刷新动作-module-ai-review-queue-chromium/attachments/probe-A01-c874cda05ab6ff19465dbea67b7e875ac5ae8b46.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fd88c-e-R02-查询筛选分页-module-revenue-chromium/attachments/probe-R02-30da5be9421d180930c5fec01823592972ed20ae.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe1e4--菜单管理-E01-异常恢复-module-menus-chromium/attachments/probe-E01-2b8e0f58dbe8e9e9f12c1b560bce483617c507f5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/attachments/probe-D01-4a2656dcf34bff0282f4d80548a4d236b3708bed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-fe52f-阵-module-approval-templates-chromium/attachments/probe-P01-1d14b515a916cf305cde87cd29c80f8f916ad1af.json","e2e/test-results/crud/probes/admin-settings-D01-1774228959860.json","e2e/test-results/crud/probes/admin-settings-D02-1774228961425.json","e2e/test-results/crud/probes/admin-settings-U02-1774228957852.json","e2e/test-results/crud/probes/ai-agent-skills-C02-1774228964836.json","e2e/test-results/crud/probes/ai-agent-skills-E01-1774228973551.json","e2e/test-results/crud/probes/ai-agent-skills-P01-1774228971739.json","e2e/test-results/crud/probes/ai-agent-skills-R01-1774228966871.json","e2e/test-results/crud/probes/ai-agent-skills-R02-1774228968078.json","e2e/test-results/crud/probes/ai-agent-skills-R03-1774228969949.json","e2e/test-results/crud/probes/ai-agent-skills-U02-1774228976992.json","e2e/test-results/crud/probes/ai-review-queue-A01-1774228990066.json","e2e/test-results/crud/probes/ai-review-queue-E01-1774228988280.json","e2e/test-results/crud/probes/ai-review-queue-P01-1774228986873.json","e2e/test-results/crud/probes/ai-review-queue-R01-1774228981413.json","e2e/test-results/crud/probes/ai-review-queue-R02-1774228983520.json","e2e/test-results/crud/probes/ai-review-queue-R03-1774228984881.json","e2e/test-results/crud/probes/approval-templates-C01-1774228991737.json","e2e/test-results/crud/probes/approval-templates-C02-1774228993513.json","e2e/test-results/crud/probes/approval-templates-D01-1774229008440.json","e2e/test-results/crud/probes/approval-templates-D02-1774229009999.json","e2e/test-results/crud/probes/approval-templates-E01-1774229003231.json","e2e/test-results/crud/probes/approval-templates-P01-1774229001111.json","e2e/test-results/crud/probes/approval-templates-U01-1774229004573.json","e2e/test-results/crud/probes/approval-templates-U02-1774229006513.json","e2e/test-results/crud/probes/audit-logs-E01-1774229019813.json","e2e/test-results/crud/probes/audit-logs-P01-1774229017705.json","e2e/test-results/crud/probes/biz-sequences-A01-1774229036468.json","e2e/test-results/crud/probes/biz-sequences-E01-1774229034481.json","e2e/test-results/crud/probes/biz-sequences-P01-1774229032402.json","e2e/test-results/crud/probes/commissions-C01-1774229037608.json","e2e/test-results/crud/probes/commissions-C02-1774229039494.json","e2e/test-results/crud/probes/commissions-D01-1774229053838.json","e2e/test-results/crud/probes/commissions-D02-1774229055748.json","e2e/test-results/crud/probes/commissions-E01-1774229049480.json","e2e/test-results/crud/probes/commissions-P01-1774229047205.json","e2e/test-results/crud/probes/commissions-U01-1774229050630.json","e2e/test-results/crud/probes/commissions-U02-1774229052696.json","e2e/test-results/crud/probes/customer-lifecycle-value-A01-1774229066804.json","e2e/test-results/crud/probes/customer-lifecycle-value-E01-1774229065075.json","e2e/test-results/crud/probes/customer-lifecycle-value-P01-1774229063435.json","e2e/test-results/crud/probes/customer-lifecycle-value-R01-1774229057952.json","e2e/test-results/crud/probes/customer-lifecycle-value-R02-1774229060051.json","e2e/test-results/crud/probes/customer-lifecycle-value-R03-1774229061457.json","e2e/test-results/crud/probes/dictionaries-C01-1774229068600.json","e2e/test-results/crud/probes/dictionaries-C02-1774229070372.json","e2e/test-results/crud/probes/dictionaries-D01-1774229085165.json","e2e/test-results/crud/probes/dictionaries-D02-1774229087279.json","e2e/test-results/crud/probes/dictionaries-E01-1774229080255.json","e2e/test-results/crud/probes/dictionaries-P01-1774229077986.json","e2e/test-results/crud/probes/dictionaries-U01-1774229081591.json","e2e/test-results/crud/probes/dictionaries-U02-1774229083555.json","e2e/test-results/crud/probes/event-logs-A01-1774229097156.json","e2e/test-results/crud/probes/event-logs-E01-1774229095352.json","e2e/test-results/crud/probes/event-logs-P01-1774229093938.json","e2e/test-results/crud/probes/event-logs-R01-1774229088479.json","e2e/test-results/crud/probes/event-logs-R02-1774229090341.json","e2e/test-results/crud/probes/event-logs-R03-1774229091979.json","e2e/test-results/crud/probes/event-subscriptions-C01-1774229098822.json","e2e/test-results/crud/probes/event-subscriptions-C02-1774229100367.json","e2e/test-results/crud/probes/event-subscriptions-D01-1774229114456.json","e2e/test-results/crud/probes/event-subscriptions-D02-1774229118439.json","e2e/test-results/crud/probes/event-subscriptions-E01-1774229110866.json","e2e/test-results/crud/probes/event-subscriptions-P01-1774229107724.json","e2e/test-results/crud/probes/event-subscriptions-U01-1774229111052.json","e2e/test-results/crud/probes/event-subscriptions-U02-1774229114636.json","e2e/test-results/crud/probes/expense-C01-1774229117759.json","e2e/test-results/crud/probes/expense-C02-1774229120864.json","e2e/test-results/crud/probes/expense-D01-1774229134839.json","e2e/test-results/crud/probes/expense-D02-1774229136582.json","e2e/test-results/crud/probes/expense-E01-1774229129600.json","e2e/test-results/crud/probes/expense-P01-1774229127758.json","e2e/test-results/crud/probes/expense-R01-1774229122882.json","e2e/test-results/crud/probes/expense-R02-1774229124121.json","e2e/test-results/crud/probes/expense-R03-1774229125973.json","e2e/test-results/crud/probes/expense-U01-1774229131261.json","e2e/test-results/crud/probes/expense-U02-1774229133199.json","e2e/test-results/crud/probes/groupbuy-redemptions-R01-1774229141724.json","e2e/test-results/crud/probes/groupbuy-redemptions-R02-1774229143858.json","e2e/test-results/crud/probes/groupbuy-redemptions-R03-1774229145041.json","e2e/test-results/crud/probes/groupbuy-redemptions-U02-1774229170915.json","e2e/test-results/crud/probes/livestream-groupbuy-C01-1774229178830.json","e2e/test-results/crud/probes/livestream-groupbuy-C02-1774229180364.json","e2e/test-results/crud/probes/livestream-groupbuy-D01-1774229194938.json","e2e/test-results/crud/probes/livestream-groupbuy-D02-1774229196383.json","e2e/test-results/crud/probes/livestream-groupbuy-E01-1774229189569.json","e2e/test-results/crud/probes/livestream-groupbuy-P01-1774229187752.json","e2e/test-results/crud/probes/livestream-groupbuy-R01-1774229182174.json","e2e/test-results/crud/probes/livestream-groupbuy-R02-1774229183941.json","e2e/test-results/crud/probes/livestream-groupbuy-R03-1774229185765.json","e2e/test-results/crud/probes/livestream-groupbuy-U01-1774229191781.json","e2e/test-results/crud/probes/livestream-groupbuy-U02-1774229193102.json","e2e/test-results/crud/probes/marketing-effectiveness-A01-1774229207289.json","e2e/test-results/crud/probes/marketing-effectiveness-E01-1774229206002.json","e2e/test-results/crud/probes/marketing-effectiveness-P01-1774229204018.json","e2e/test-results/crud/probes/marketing-effectiveness-R01-1774229199146.json","e2e/test-results/crud/probes/marketing-effectiveness-R02-1774229200610.json","e2e/test-results/crud/probes/marketing-effectiveness-R03-1774229202631.json","e2e/test-results/crud/probes/marketing-workflows-C01-1774229209159.json","e2e/test-results/crud/probes/marketing-workflows-C02-1774229210599.json","e2e/test-results/crud/probes/marketing-workflows-D01-1774229224143.json","e2e/test-results/crud/probes/marketing-workflows-D02-1774229228195.json","e2e/test-results/crud/probes/marketing-workflows-E01-1774229220479.json","e2e/test-results/crud/probes/marketing-workflows-P01-1774229217362.json","e2e/test-results/crud/probes/marketing-workflows-R01-1774229213676.json","e2e/test-results/crud/probes/marketing-workflows-R02-1774229214040.json","e2e/test-results/crud/probes/marketing-workflows-R03-1774229217094.json","e2e/test-results/crud/probes/marketing-workflows-U01-1774229220605.json","e2e/test-results/crud/probes/marketing-workflows-U02-1774229224311.json","e2e/test-results/crud/probes/menus-C01-1774229227524.json","e2e/test-results/crud/probes/menus-C02-1774229230614.json","e2e/test-results/crud/probes/menus-D01-1774229245415.json","e2e/test-results/crud/probes/menus-D02-1774229247641.json","e2e/test-results/crud/probes/menus-E01-1774229240537.json","e2e/test-results/crud/probes/menus-P01-1774229238253.json","e2e/test-results/crud/probes/menus-U01-1774229241859.json","e2e/test-results/crud/probes/menus-U02-1774229243840.json","e2e/test-results/crud/probes/multi-touch-attribution-A01-1774229257777.json","e2e/test-results/crud/probes/multi-touch-attribution-E01-1774229255957.json","e2e/test-results/crud/probes/multi-touch-attribution-P01-1774229254510.json","e2e/test-results/crud/probes/multi-touch-attribution-R01-1774229248887.json","e2e/test-results/crud/probes/multi-touch-attribution-R02-1774229250904.json","e2e/test-results/crud/probes/multi-touch-attribution-R03-1774229252576.json","e2e/test-results/crud/probes/notifications-E01-1774229267813.json","e2e/test-results/crud/probes/notifications-P01-1774229265567.json","e2e/test-results/crud/probes/process-C01-1774229272198.json","e2e/test-results/crud/probes/process-C02-1774229274352.json","e2e/test-results/crud/probes/process-D01-1774229287252.json","e2e/test-results/crud/probes/process-D02-1774229288833.json","e2e/test-results/crud/probes/process-E01-1774229281992.json","e2e/test-results/crud/probes/process-P01-1774229280684.json","e2e/test-results/crud/probes/process-R01-1774229275505.json","e2e/test-results/crud/probes/process-R02-1774229277468.json","e2e/test-results/crud/probes/process-R03-1774229278638.json","e2e/test-results/crud/probes/process-U01-1774229283764.json","e2e/test-results/crud/probes/process-U02-1774229285585.json","e2e/test-results/crud/probes/realtime-E01-1774229297070.json","e2e/test-results/crud/probes/realtime-P01-1774229295494.json","e2e/test-results/crud/probes/revenue-C01-1774229298836.json","e2e/test-results/crud/probes/revenue-C02-1774229300615.json","e2e/test-results/crud/probes/revenue-D01-1774229314543.json","e2e/test-results/crud/probes/revenue-D02-1774229316394.json","e2e/test-results/crud/probes/revenue-E01-1774229309695.json","e2e/test-results/crud/probes/revenue-P01-1774229307892.json","e2e/test-results/crud/probes/revenue-R01-1774229302430.json","e2e/test-results/crud/probes/revenue-R02-1774229304189.json","e2e/test-results/crud/probes/revenue-R03-1774229305972.json","e2e/test-results/crud/probes/revenue-U01-1774229311344.json","e2e/test-results/crud/probes/revenue-U02-1774229313295.json","e2e/test-results/crud/probes/scheduled-jobs-C01-1774229318618.json","e2e/test-results/crud/probes/scheduled-jobs-C02-1774229320707.json","e2e/test-results/crud/probes/scheduled-jobs-D01-1774229334549.json","e2e/test-results/crud/probes/scheduled-jobs-D02-1774229336447.json","e2e/test-results/crud/probes/scheduled-jobs-E01-1774229330066.json","e2e/test-results/crud/probes/scheduled-jobs-P01-1774229327922.json","e2e/test-results/crud/probes/scheduled-jobs-U01-1774229331260.json","e2e/test-results/crud/probes/scheduled-jobs-U02-1774229333338.json","e2e/test-results/crud/probes/search-A01-1774229349413.json","e2e/test-results/crud/probes/search-E01-1774229346300.json","e2e/test-results/crud/probes/search-P01-1774229344735.json","e2e/test-results/crud/probes/self-operated-store-A01-1774229360430.json","e2e/test-results/crud/probes/self-operated-store-E01-1774229356797.json","e2e/test-results/crud/probes/self-operated-store-P01-1774229356788.json","e2e/test-results/crud/probes/self-operated-store-R01-1774229349609.json","e2e/test-results/crud/probes/self-operated-store-R02-1774229353043.json","e2e/test-results/crud/probes/self-operated-store-R03-1774229353201.json","e2e/test-results/crud/probes/service-monitor-E01-1774229368198.json","e2e/test-results/crud/probes/service-monitor-P01-1774229367735.json","e2e/test-results/crud/probes/shipments-C01-1774229373195.json","e2e/test-results/crud/probes/shipments-C02-1774229376245.json","e2e/test-results/crud/probes/shipments-D01-1774229390641.json","e2e/test-results/crud/probes/shipments-D02-1774229391200.json","e2e/test-results/crud/probes/shipments-E01-1774229383236.json","e2e/test-results/crud/probes/shipments-P01-1774229382879.json","e2e/test-results/crud/probes/shipments-R01-1774229376617.json","e2e/test-results/crud/probes/shipments-R02-1774229379487.json","e2e/test-results/crud/probes/shipments-R03-1774229379981.json","e2e/test-results/crud/probes/shipments-U01-1774229387262.json","e2e/test-results/crud/probes/shipments-U02-1774229386620.json","e2e/test-results/crud/probes/store-agency-A01-1774229400909.json","e2e/test-results/crud/probes/store-agency-E01-1774229400771.json","e2e/test-results/crud/probes/store-agency-P01-1774229397651.json","e2e/test-results/crud/probes/store-agency-R01-1774229393917.json","e2e/test-results/crud/probes/store-agency-R02-1774229394275.json","e2e/test-results/crud/probes/store-agency-R03-1774229397363.json","e2e/test-results/crud/probes/system-events-E01-1774229412946.json","e2e/test-results/crud/probes/system-events-P01-1774229409150.json","e2e/test-results/crud/probes/tob-toc-gateway-E01-1774229420912.json","e2e/test-results/crud/probes/tob-toc-gateway-P01-1774229419582.json","e2e/test-results/crud/probes/tob-toc-gateway-R01-1774229416178.json","e2e/test-results/crud/probes/tob-toc-gateway-R02-1774229417536.json","e2e/test-results/crud/probes/video-calls-C02-1774229424368.json","e2e/test-results/crud/probes/video-calls-E01-1774229434277.json","e2e/test-results/crud/probes/video-calls-P01-1774229431993.json","e2e/test-results/crud/probes/video-calls-U02-1774229437506.json","scripts/pg-backup.sh","scripts/setup-aliyun-deploy.sh"],"removed":["e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png"],"modified":["backend/.env.example","backend/package.json","backend/prisma/schema.prisma","backend/prisma/schema/_base.prisma","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/opportunities/opportunity-competitor.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/field-encryption.service.ts","docker-compose.yml","e2e/test-results/.last-run.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"67078f9a95f53530156ad27027eafe15a3126e89","message":"feat: 新增阿里云部署、PII 加密、运维脚本和前端优化\n\n- 新增阿里云部署配置和工作流\n- 实现 PII 字段加密和迁移脚本\n- 新增运维脚本 (备份、监控、事件响应)\n- 前端移动端优化 (PWA、离线支持、响应式)\n- 优化部署脚本和 Docker 配置\n- 新增模块依赖文档和图标资源\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/67078f9a95f53530156ad27027eafe15a3126e89","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-23T18:39:31+08:00","added":[".github/workflows/deploy-aliyun.yml","backend/prisma/migrations/manual/add_pii_hash_columns.sql","backend/scripts/encrypt-existing-pii.ts","deploy/postgres/postgresql.conf","docs/deploy-aliyun.md","e2e/test-results/crud-00-crud-runner-CRUD-严-00c50--module-livestream-groupbuy-chromium/attachments/probe-U02-5f05828b56499ae934e0759342cdd3c85570cfb1.json","e2e/test-results/crud-00-crud-runner-CRUD-严-01031-e-C02-创建校验失败-module-expense-chromium/attachments/probe-C02-a184e7eee4738620d0480ee76bb67ff031914b8a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-03e22--module-event-subscriptions-chromium/attachments/probe-C01-4027c8fd1ba4fece827cba33e0988113bcfe8ac5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-03e22--module-event-subscriptions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-03e22--module-event-subscriptions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-04c38-异常恢复-module-tob-toc-gateway-chromium/attachments/probe-E01-d016b142f48b438e38e880929bdd623e2dca3dd9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-062a1--U02-更新权限-冲突-module-revenue-chromium/attachments/probe-U02-dd798ec9a3caa65737a1e241486f4869c76907db.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0c144--module-event-subscriptions-chromium/attachments/probe-E01-3957730b931046ca1d5af9fcd0530d99cd159746.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0c744--module-livestream-groupbuy-chromium/attachments/probe-R01-f275f1dba671c03a90bc5d9fe286727103a41428.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cb7d-权限-冲突-module-scheduled-jobs-chromium/attachments/probe-U02-99013e7113f3b09cdfd225335ef8b4bbf93f0f47.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cd8c-ule-marketing-effectiveness-chromium/attachments/probe-P01-a8da7802fa33cd10316733df9d55b2076a6f6d30.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0da02--module-marketing-workflows-chromium/attachments/probe-U02-83c31463f0c5fd924046755a0999c95430c4b71d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0dc7d-ule-multi-touch-attribution-chromium/attachments/probe-R02-50bdd25830053dbe77a0e7a048da726f9b0f9ede.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0dff8--R01-列表可读-module-event-logs-chromium/attachments/probe-R01-f6a2e54091d1840eb8393a29e4ceed29a1a51883.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0faab--E01-异常恢复-module-audit-logs-chromium/attachments/probe-E01-59ef1c744e2fdeeb8a815ec323e697c42fcef167.json","e2e/test-results/crud-00-crud-runner-CRUD-严-12603-module-groupbuy-redemptions-chromium/attachments/probe-R03-afe8409c829fe0ce822d99fde3a2796d68b6daaa.json","e2e/test-results/crud-00-crud-runner-CRUD-严-12794-E01-异常恢复-module-commissions-chromium/attachments/probe-E01-f26eea995837a91e0855b9ea92e98e17f2ff44a6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-16639-单管理-C02-创建校验失败-module-menus-chromium/attachments/probe-C02-1d2c9aba1f5e145099ee3eadd86dd1c6d87fc267.json","e2e/test-results/crud-00-crud-runner-CRUD-严-18020-1-权限矩阵-module-notifications-chromium/attachments/probe-P01-2e69f3d72cf2485ed384482cc7aef1fee5fb6eeb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-187cb-1-权限矩阵-module-biz-sequences-chromium/attachments/probe-P01-01d52f572bfb563cb1e7d1ca5d8a151b05eefde7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1938d-更新权限-冲突-module-dictionaries-chromium/attachments/probe-U02-325e55635fe4f22f3a2c59a001406be8fb8a9a7c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a3bd-module-groupbuy-redemptions-chromium/attachments/probe-R01-6e84cdf8a3cc7eda51a4029c1be34742a8a1947d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1b3d2-1-异常恢复-module-biz-sequences-chromium/attachments/probe-E01-cb751f50f1a43b5671cb3bb928f4343805bdcb1e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1cc86-nse-P01-权限矩阵-module-expense-chromium/attachments/probe-P01-911a1bc415c2f8b57dccb5e2dbb95d69178dbb89.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1dd4e-ule-multi-touch-attribution-chromium/attachments/probe-E01-850cbfba6c96a8422e309b111bde428ac66a0acb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1e402-C01-创建成功-module-commissions-chromium/attachments/probe-C01-e054e87b311201b8c7a90678bd7cdcf00b31a5cf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1e402-C01-创建成功-module-commissions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-1e402-C01-创建成功-module-commissions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-1ef11-1-权限矩阵-module-system-events-chromium/attachments/probe-P01-d782150e1d8700a382593ceeb00141476090523b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1f1fc-ess-C01-创建成功-module-process-chromium/attachments/probe-C01-c958c8b6424314a06dd36b3bcae1e9ed17ecd7c8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2058e-管理-U02-更新权限-冲突-module-menus-chromium/attachments/probe-U02-31668640bd1257ddc7db097de0fc527ae2222e95.json","e2e/test-results/crud-00-crud-runner-CRUD-严-207b4-权限矩阵-module-ai-review-queue-chromium/attachments/probe-P01-b22f8aca8235de660d564483d67e5c373ea9fdb3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20a8b--硬-可用-module-admin-settings-chromium/attachments/probe-D01-8fe3c84bca17d2c1c76a7a4f1a219cce6abaad9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20e0e--module-marketing-workflows-chromium/attachments/probe-R01-c3a3952e741a382d12d089854d6e337955f0a551.json","e2e/test-results/crud-00-crud-runner-CRUD-严-216eb-推送-E01-异常恢复-module-realtime-chromium/attachments/probe-E01-d344930ebd78b80fa64e38735bb1fc7f4ce0cc7b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2346a-ess-R03-详情可读-module-process-chromium/attachments/probe-R03-6398a1bcc9be1626d64d11ae2e599ff871aa6a26.json","e2e/test-results/crud-00-crud-runner-CRUD-严-23b31-01-列表可读-module-store-agency-chromium/attachments/probe-R01-89b82b2ef8c9f42d1361f97494471acd7f76033d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-24c30-不可见校验-module-admin-settings-chromium/attachments/probe-D02-959903440bda83ad8fe4563497aa119fbc4ed76b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-24cdd--module-self-operated-store-chromium/attachments/probe-R03-0f40d61917a8c2e47498d6c95d2345e3ded09a4a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/attachments/probe-D02-0da21af5a4f65523fbbe6c1336b9d7cd3060cc02.json","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-26c1a-s-R03-详情可读-module-shipments-chromium/attachments/probe-R03-05db184ce58e197a1b7be6d2ce81d16eb1800fea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/attachments/probe-D01-d9f16ad21b0a5ebcd95ae9c322286a4844c651cc.json","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-28be2--module-livestream-groupbuy-chromium/attachments/probe-C02-337a1f0e09bc2e6184c4141e79ff448d179406bb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-28eac-异常恢复-module-ai-review-queue-chromium/attachments/probe-E01-a5c03249805d625a54ddfb43eeca04c6f88c79ec.json","e2e/test-results/crud-00-crud-runner-CRUD-严-298de-权限矩阵-module-tob-toc-gateway-chromium/attachments/probe-P01-2c7b23b29557380b9041fa0fdcd017331b873ab3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2bd21-全局搜索-P01-权限矩阵-module-search-chromium/attachments/probe-P01-2bef560a69aebea0886b47c44e093a0a6e15a48f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2d36d-le-customer-lifecycle-value-chromium/attachments/probe-A01-01f3e9f2026abc544a2ce9418d776db403af915b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2df00--module-event-subscriptions-chromium/attachments/probe-U02-1de2622454cd943b55683e4456f1afe831844218.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/attachments/probe-C01-d25494a484ae20e473da3f9160b96bea6701ef37.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-2f802--module-marketing-workflows-chromium/attachments/probe-R03-046c588eddb3c1ce0f814406cbaf74dc4be4f443.json","e2e/test-results/crud-00-crud-runner-CRUD-严-30628--删除-软-硬-可用-module-shipments-chromium/attachments/probe-D01-cc8f3c6c5c91d9410c0a5049677bb220cea479b4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/attachments/probe-D02-68f9231b7a0d3f30543eae75b2ae4086da8800fb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-3117c-ule-marketing-effectiveness-chromium/attachments/probe-R03-c506a845b114b93867f1e16600ea03de260a9ac8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-318f4--创建校验失败-module-dictionaries-chromium/attachments/probe-C02-d54c5fbe62756bd38b3cca675536e0d78400961a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-322f2-03-详情可读-module-store-agency-chromium/attachments/probe-R03-2be377684db3fa085cba3a03a66cbeab5675ac3d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-324b7-2-恢复或不可见校验-module-shipments-chromium/attachments/probe-D02-3f1105bcd6ed28d152d48cc7ad4bc029e1e15d15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-339a7--module-self-operated-store-chromium/attachments/probe-E01-7d88adfc0a840a649395ef53111cc7595049e10b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d91-列表可读-module-ai-agent-skills-chromium/attachments/probe-R01-d0f60e5327b11be8bbabe014d783c4aadd5caa4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f4c-突-module-approval-templates-chromium/attachments/probe-U02-adab39938f5374ba8ea8c70d9023fa4eb2eab9da.json","e2e/test-results/crud-00-crud-runner-CRUD-严-36319--module-livestream-groupbuy-chromium/attachments/probe-R02-ebe79da37ac4fda52dfec4be7d273e056c0974a8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-36f96-异常恢复-module-ai-agent-skills-chromium/attachments/probe-E01-a6785b8737e0e965998f1eb10d5f6a262b7c1a69.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3847b--module-livestream-groupbuy-chromium/attachments/probe-P01-cb711275a5cd117974c16154d1f0f235056462d1.json","e2e/test-results/crud-00-crud-runner-CRUD-严-39830--module-event-subscriptions-chromium/attachments/probe-C02-7ac7c9beb8f3a3cb2f8f8ca3976049ad5b8fa9fb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-39f88--module-marketing-workflows-chromium/attachments/probe-P01-e4b9dd5255759fee861b59eb822c1b4d69c4c683.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3b09c-筛选分页-module-tob-toc-gateway-chromium/attachments/probe-R02-885d1d4952f66349d7fdabff956249363d8ddccb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3d202-01-运行-导出-刷新动作-module-search-chromium/attachments/probe-A01-e9c1add570b417ccabad862add3802ff19ae093a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3f077-ess-R01-列表可读-module-process-chromium/attachments/probe-R01-fe32fa33e38b75b3b0279b2ab4af2978f54f744d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3f4e4-全局搜索-E01-异常恢复-module-search-chromium/attachments/probe-E01-3e08bf77bee2490258f010dfe6badc01e6fdabad.json","e2e/test-results/crud-00-crud-runner-CRUD-严-40813-权限矩阵-module-ai-agent-skills-chromium/attachments/probe-P01-f4d4bc40fa7fb1e371ea4de11835849202f428fc.json","e2e/test-results/crud-00-crud-runner-CRUD-严-430ed--R03-详情可读-module-event-logs-chromium/attachments/probe-R03-3079962f10c5b2373e79ea9af6ad9b2d68bd1472.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4350e--U02-更新权限-冲突-module-expense-chromium/attachments/probe-U02-b3438248fb5cd1b6ce2827dcb17f8bda48a7b5f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-448ee--更新权限-冲突-module-video-calls-chromium/attachments/probe-U02-501ff748e56066065a94944f0939cde812dcf163.json","e2e/test-results/crud-00-crud-runner-CRUD-严-44db0-01-权限矩阵-module-dictionaries-chromium/attachments/probe-P01-b86a10b18a8ca32b840164a0c8efcb924145211e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-45f32--module-marketing-workflows-chromium/attachments/probe-U01-8432ecf8234661f77396919c23b65dbec60a516a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4706c--module-event-subscriptions-chromium/attachments/probe-D02-73732ad3c5f72415c989ffd6420cf84483f876c0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4706c--module-event-subscriptions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-4706c--module-event-subscriptions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-4fbac-U01-更新成功-module-commissions-chromium/attachments/probe-U01-05c9dc551bfa36c0bd97e4eda6bd32498e09ce74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52184--软-硬-可用-module-dictionaries-chromium/attachments/probe-D01-185a077f043d3c6a69688a73e437cf8443497741.json","e2e/test-results/crud-00-crud-runner-CRUD-严-539e3-ess-P01-权限矩阵-module-process-chromium/attachments/probe-P01-0b3abe2c907f43df2b8b6e2bdc5f0e1e61eb76ff.json","e2e/test-results/crud-00-crud-runner-CRUD-严-54c38-恢复或不可见校验-module-commissions-chromium/attachments/probe-D02-6d14aa11289185bbe607a8ca22981747819797be.json","e2e/test-results/crud-00-crud-runner-CRUD-严-54c38-恢复或不可见校验-module-commissions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-54c38-恢复或不可见校验-module-commissions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-5915a--U02-更新权限-冲突-module-process-chromium/attachments/probe-U02-95a2a64c6d9ad4a68b09bb56acd155d7c8e6f5ff.json","e2e/test-results/crud-00-crud-runner-CRUD-严-593af-ule-multi-touch-attribution-chromium/attachments/probe-R01-ebe5cbe05509b85aabc9031677eed0db7bc0b9e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5aef0-01-创建成功-module-dictionaries-chromium/attachments/probe-C01-8e9ede49dfba923088cd0cfe65df061f8ea2d570.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5ed49-功-module-approval-templates-chromium/attachments/probe-U01-371c994b114fded7fe293d0f63e5a231630fc421.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60099--P01-权限矩阵-module-event-logs-chromium/attachments/probe-P01-bd3428e914b080a6bde0972ce13a5b4b763b7ef3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-61664-le-customer-lifecycle-value-chromium/attachments/probe-R01-c56befd334e9c2912cc2eb94c187ce2c0af5e9ef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-62666--module-self-operated-store-chromium/attachments/probe-R01-2456a2746d38b4032dbaa717c356dacab20912fd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-63243-01-权限矩阵-module-store-agency-chromium/attachments/probe-P01-e8aee74b35aba6eb07d670b0fa5ab48c7164d687.json","e2e/test-results/crud-00-crud-runner-CRUD-严-69632-nue-P01-权限矩阵-module-revenue-chromium/attachments/probe-P01-df2c2dcdbf96825e35e36f6ace922ee4b6010d76.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6a8a6-nue-E01-异常恢复-module-revenue-chromium/attachments/probe-E01-55a4b48c8f565c93281bec838b9375f65b14800a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6afa7-权限-冲突-module-admin-settings-chromium/attachments/probe-U02-9e5ec3c36b9f83908ff4e48f4130e9fbdef23df3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/attachments/probe-D02-f8f18cb821d0fa684fc51b42a0eb16a85eed7d39.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-6d2c0-le-customer-lifecycle-value-chromium/attachments/probe-R02-f4add8a844d9205a8ad003f2ef731915c1251c2b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6e599--module-self-operated-store-chromium/attachments/probe-R02-845f2b62daa1bdd7fa8a332865f3e85d53c36321.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6fb52--module-marketing-workflows-chromium/attachments/probe-R02-b8b1ab9757576a73bcc6c254d684d6b0ace3f131.json","e2e/test-results/crud-00-crud-runner-CRUD-严-70e3c-e-R02-查询筛选分页-module-expense-chromium/attachments/probe-R02-c04fe395a7911d13952be573777ceb4ec96c8223.json","e2e/test-results/crud-00-crud-runner-CRUD-严-75b6f-校验失败-module-ai-agent-skills-chromium/attachments/probe-C02-672aac93c6ef3386d482927498a6e24470230137.json","e2e/test-results/crud-00-crud-runner-CRUD-严-763ec-2-创建校验失败-module-commissions-chromium/attachments/probe-C02-a341f60efb738fea1dfda2d9b863408d7839d07a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-76a38-详情可读-module-ai-review-queue-chromium/attachments/probe-R03-c2130c8d490866d29fa9f341a02cbb4fc6ff44bc.json","e2e/test-results/crud-00-crud-runner-CRUD-严-76ab5--module-self-operated-store-chromium/attachments/probe-P01-9b2734d0cf1e72ffb148718791822592806f4b9d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/attachments/probe-D01-1ba0279bbb88d0608408f7c4fbdf18c92335d86b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-794b2-01-异常恢复-module-store-agency-chromium/attachments/probe-E01-06007b7013a6dde5af269134ceca1563c56ce55a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7bceb-s-R01-列表可读-module-shipments-chromium/attachments/probe-R01-76cfd0aa8e919c1c620a34ba2f12a418d0d3bef1.json","e2e/test-results/crud-00-crud-runner-CRUD-严-80eb9--module-livestream-groupbuy-chromium/attachments/probe-R03-6c4ea46e0f9b202a0204809756d49457b0ed79f2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-81663-行-导出-刷新动作-module-event-logs-chromium/attachments/probe-A01-b3ab37ba3a204c01968f7784fc9139a8940fcfb4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-82c54-nue-U01-更新成功-module-revenue-chromium/attachments/probe-U01-0e1ca227a0b97c97b408ace1379b46b40a4feb7e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-82e36-理-D02-恢复或不可见校验-module-menus-chromium/attachments/probe-D02-c8015954612c83b92e9e06aa3c728a2886886939.json","e2e/test-results/crud-00-crud-runner-CRUD-严-83a69-02-查询筛选分页-module-event-logs-chromium/attachments/probe-R02-a9d27a1ec7d75e1639ea3912a6426a5932b2ba2d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-855a0-2-创建校验失败-module-video-calls-chromium/attachments/probe-C02-4df663e33175d4a200c9026ce4d9b03cb67f7ff0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-85f82--module-livestream-groupbuy-chromium/attachments/probe-E01-f284781c1c846783762d33826e5171dbc85272fe.json","e2e/test-results/crud-00-crud-runner-CRUD-严-86cf1-P01-权限矩阵-module-commissions-chromium/attachments/probe-P01-5585228f89580ccf96a5563ed53552b5cc8d2681.json","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/attachments/probe-D01-a3b5d7a6dd73e13a7789ce99a2fc51cc8c8cb0b5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-88219-module-groupbuy-redemptions-chromium/attachments/probe-R02-3bacc27e6e2991816ab649efea3c81c8bc7e1469.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8b6d9--module-event-subscriptions-chromium/attachments/probe-D01-97f53b2e277645dc213b2cdfb8728370c93eb414.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8b6d9--module-event-subscriptions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-8b6d9--module-event-subscriptions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-8b831-推送-P01-权限矩阵-module-realtime-chromium/attachments/probe-P01-a5ccd810bcecbc94d29b5fae71d8710a123abe58.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8c9a0--创建成功-module-scheduled-jobs-chromium/attachments/probe-C01-5e20bd52f11df6b9edaec0d24f839d573ac5b930.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8eb81-s-C01-创建成功-module-shipments-chromium/attachments/probe-C01-79f3c45700f8b733e1dae4c1d3c0d13f0ece0370.json","e2e/test-results/crud-00-crud-runner-CRUD-严-91a8c--module-event-subscriptions-chromium/attachments/probe-P01-b0ab39d0381eae827f144016fe3e789a9abe489b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-92928-le-customer-lifecycle-value-chromium/attachments/probe-P01-f69e69e7138f2548447abbd9a65fe5a391e532bc.json","e2e/test-results/crud-00-crud-runner-CRUD-严-92cb7-ess-U01-更新成功-module-process-chromium/attachments/probe-U01-68fcaa56f5991a73bcc627ef9a3c4d5ffb66b8ff.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9364a-ule-marketing-effectiveness-chromium/attachments/probe-R02-5fa85c4ca3ed2ee971daae26b56d79d81f081104.json","e2e/test-results/crud-00-crud-runner-CRUD-严-93844-01-异常恢复-module-dictionaries-chromium/attachments/probe-E01-f01fd6e080ae953ef48298d35a318ceffe2f4ceb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-959d3-s-U01-更新成功-module-shipments-chromium/attachments/probe-U01-b03fe92972f69daca18de503a17ea0468c09a7fb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-96329-ule-multi-touch-attribution-chromium/attachments/probe-A01-8deaaa8251a742e98e8862fad5fbdccd4785a5a9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-998df-s-E01-异常恢复-module-shipments-chromium/attachments/probe-E01-03a0e4d85ccc9d6aad918f30512c56a1c0895e1d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a045-s-R02-查询筛选分页-module-process-chromium/attachments/probe-R02-b93b5d0c9a3e018472ea9265a17dfc8686056e58.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a560-E01-异常恢复-module-video-calls-chromium/attachments/probe-E01-89a5ca8f5be3dc3bae1c50d1a63b280a012c37c0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a5ae-module-groupbuy-redemptions-chromium/attachments/probe-U02-cfe5e3c909764588e3e2c03a9921ef2e900da8ff.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9cb36-nue-R03-详情可读-module-revenue-chromium/attachments/probe-R03-26039101d85a9f847900de53e0ebb47e62b24e01.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9f43f--module-marketing-workflows-chromium/attachments/probe-C02-e67171da757d0baeffba1166f199c06da88ed02a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a23b2-1-异常恢复-module-system-events-chromium/attachments/probe-E01-4e873dbf657a18537d175606f5fad6753cf5e516.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ab566--module-self-operated-store-chromium/attachments/probe-A01-affdf7f0c51a9ea3070924e4de57042f99c1647e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/attachments/probe-D02-647f210047f57bfdc74c9b1ecf122430db73508a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/attachments/probe-D01-ca42e46afaa5335bd1e7dce12c865b793eba893a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-afc48-02-更新权限-冲突-module-shipments-chromium/attachments/probe-U02-76f888bd73b952dadeae2f670097c231598cc7f1.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b016f-R02-查询筛选分页-module-shipments-chromium/attachments/probe-R02-75f0ed5c036e86fa599d152e87a612340ec95779.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b19ee-复或不可见校验-module-dictionaries-chromium/attachments/probe-D02-75187a2c16f17d22a7d9ff0d71b6365b24ff8f11.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b1e0a-筛选分页-module-ai-review-queue-chromium/attachments/probe-R02-4df940b2aa799e163a18bce0bd790a9b1d9c7387.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b28dd--E01-异常恢复-module-event-logs-chromium/attachments/probe-E01-6a8f23b6d5e223ef03af32e2a331000f62f1bcab.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/attachments/probe-P01-f6dca05f404ffd7ebec499caa322c75dac737ae6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-b2e37-le-customer-lifecycle-value-chromium/attachments/probe-R03-2c5392b8531f2e66cbcb649474d6d65d472a52fc.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b6f23--module-marketing-workflows-chromium/attachments/probe-E01-b37aaa0cb1254e8339da45e381538d7893e2c503.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b7373-限-冲突-module-ai-agent-skills-chromium/attachments/probe-U02-27fa1829d3a97446dd64ce23f750e2fb9874ace9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9839-nse-E01-异常恢复-module-expense-chromium/attachments/probe-E01-598af7a75b6afcfc750f7cbd999621fd493916bd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ba880--module-event-subscriptions-chromium/attachments/probe-U01-e9ddd3af40eeb74fc790b166ba862e1d10aa0bfd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-bd4d8-module-groupbuy-redemptions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-be5a0-建校验失败-module-scheduled-jobs-chromium/attachments/probe-C02-abec1af36155a33b97e9536f1e0b25f5c60d42af.json","e2e/test-results/crud-00-crud-runner-CRUD-严-bff63-出-刷新动作-module-biz-sequences-chromium/attachments/probe-A01-cff25189c33e88a7a7e2f8da0f6a184b43588b8e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c2455-导出-刷新动作-module-store-agency-chromium/attachments/probe-A01-f2f8b36fb9c87d2182ec700828c6de66cbb60ec2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c3ec8--菜单管理-C01-创建成功-module-menus-chromium/attachments/probe-C01-43d8459603058bf20b6e03e294ef1ff405656572.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/attachments/probe-D02-cbdf98bdeb30878cbbcae7d7409bf18577f164a8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-c888f-nse-R01-列表可读-module-expense-chromium/attachments/probe-R01-c151cc11c1c51847ab6a7050925714063ed72a3e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb112-nue-R01-列表可读-module-revenue-chromium/attachments/probe-R01-6d360566911afc9198656a497bf24bcdcab5a8ef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb57e-nse-R03-详情可读-module-expense-chromium/attachments/probe-R03-8725bda63e479f3e716df9ef79d3daadb939b071.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cef59-C02-创建校验失败-module-shipments-chromium/attachments/probe-C02-7715e381abfadb0134c0f64aae32efcd6cc7288e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cf219-ule-multi-touch-attribution-chromium/attachments/probe-P01-9f6b116fcd74dad3a2abcec566744bf89f88b8df.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cf60f--D01-删除-软-硬-可用-module-menus-chromium/attachments/probe-D01-64caafe460fcb82bbb3419e8aaac1050e8451f45.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d0b86-列表可读-module-tob-toc-gateway-chromium/attachments/probe-R01-f73df51b0b45f4a5f62ea53b8d6618db1d10fe92.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d38f6-1-异常恢复-module-notifications-chromium/attachments/probe-E01-d4b596265305cd3b54dd9559714e528c24720959.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/attachments/probe-D02-8bf37a45c16e990f5a6c2c5f3efc8539997f8a5f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-d4b5f-le-customer-lifecycle-value-chromium/attachments/probe-E01-0319841ca4bdbac52c9981b8d55b7e2d1c03a3d6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d7368--异常恢复-module-scheduled-jobs-chromium/attachments/probe-E01-635a5c0e726fdb67a4aa58c768d6f8902d4eccf3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d82a5-s-C02-创建校验失败-module-process-chromium/attachments/probe-C02-cf380d01e56b601ee5d9774add838ec35277f9b2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d8d0a--查询筛选分页-module-store-agency-chromium/attachments/probe-R02-85d2089d2e3368741313663f156ca29198a8fda5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dc55e--权限矩阵-module-scheduled-jobs-chromium/attachments/probe-P01-88ffe9eb58933c537497a836a9c6be7ee0d09b1c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dca0b--module-livestream-groupbuy-chromium/attachments/probe-C01-7a7a50d602c882503af31232883b014afac04014.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dcdaa-功-module-approval-templates-chromium/attachments/probe-C01-16c09400702d309ccacd89c6cc6515b288ce5652.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd023--更新权限-冲突-module-commissions-chromium/attachments/probe-U02-31eb51169299797eebb27f771965a30d091db3ae.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/attachments/probe-E01-bae00686def91e0c59b235df1840db644481780b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-de3c4-nse-U01-更新成功-module-expense-chromium/attachments/probe-U01-11fa14f8f5a08140133acda94a85dddc10b55b1c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-df411--P01-权限矩阵-module-audit-logs-chromium/attachments/probe-P01-cc67b35323538b31fb9fb072895f6ef8a3c7acb8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dfe11-用-module-approval-templates-chromium/attachments/probe-D01-95bf79174ec0e99de83f17562c62ebfd8caf356b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/attachments/probe-D01-275e597c628a68cdfe3380f9ee3be8f448117171.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-e43b8-详情可读-module-ai-agent-skills-chromium/attachments/probe-R03-2acd1ee97308324e8e3d51697bf2d1e0384659fe.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e62ab--菜单管理-U01-更新成功-module-menus-chromium/attachments/probe-U01-1d53843982c476796fec194850f315972daef53a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e77fb-P01-权限矩阵-module-video-calls-chromium/attachments/probe-P01-67862bd82cfaf82cf18fc865cf1ec3d6f054ed5d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec2c8-ule-marketing-effectiveness-chromium/attachments/probe-R01-c4ff35e91e5445bbcbd77127fc44ec067150a3d1.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec85f-nue-C01-创建成功-module-revenue-chromium/attachments/probe-C01-485f1896ca83f62279fd771c506333652790bd8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec9bf-01-更新成功-module-dictionaries-chromium/attachments/probe-U01-88806b20d664da9a894a70542dd78b570023f97e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed76b-module-groupbuy-redemptions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-ed76b-module-groupbuy-redemptions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-ef210-nse-C01-创建成功-module-expense-chromium/attachments/probe-C01-1060246818b142f7b69400f2162dcc4b60688161.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ef3b1-验-module-approval-templates-chromium/attachments/probe-D02-ae03148cfd2caf68fbcee4d7c6303d501385b8e6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-efb99-ule-multi-touch-attribution-chromium/attachments/probe-R03-8fdd64112b2a398acbcefa3f75fa23a4c63fa8e6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f06f4-ule-marketing-effectiveness-chromium/attachments/probe-A01-c6d20bb0111e1119ace37991e5df01669a6266da.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f23b0-s-P01-权限矩阵-module-shipments-chromium/attachments/probe-P01-8e9f67f73c02d3bd3d734b641a059aee5869e874.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3368-ule-marketing-effectiveness-chromium/attachments/probe-E01-cc0cf07384fc25d79c9813c0ba15dc7aadc7c3c0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3cb5-除-软-硬-可用-module-commissions-chromium/attachments/probe-D01-c46aec2cf8807f6c56de6720d673772677870d54.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3cb5-除-软-硬-可用-module-commissions-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-f3cb5-除-软-硬-可用-module-commissions-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-f4286--菜单管理-P01-权限矩阵-module-menus-chromium/attachments/probe-P01-235d48932620cc33ffb248ae1c4b5c3e3dc15444.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f82cb-复-module-approval-templates-chromium/attachments/probe-E01-f7a28edd546368cb5579043036432fca3a6a3c54.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f885e-e-C02-创建校验失败-module-revenue-chromium/attachments/probe-C02-cc876d5954153779c4985b16065eab26194d2247.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f947b-筛选分页-module-ai-agent-skills-chromium/attachments/probe-R02-d3bc954aa6725de6b169dbf7386b3f12eb2e9e59.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f9c32-列表可读-module-ai-review-queue-chromium/attachments/probe-R01-1a3b2c411d57a6bc8b03af5b23177f3087b48ebb.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f9f1d-败-module-approval-templates-chromium/attachments/probe-C02-8c5cdde79061de2819118373c79f7ab15e0734d5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fa9d7--module-livestream-groupbuy-chromium/attachments/probe-U01-92cc5e58e2cd8523a1f21abc561874d938766c9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fb79f--更新成功-module-scheduled-jobs-chromium/attachments/probe-U01-a10e9ddd1f63c31ed58f70f27b527657df2796cf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fcfb3-ess-E01-异常恢复-module-process-chromium/attachments/probe-E01-18330f7d7e922029ff26dc6fc85aadd19bb52309.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fd741-刷新动作-module-ai-review-queue-chromium/attachments/probe-A01-c874cda05ab6ff19465dbea67b7e875ac5ae8b46.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fd88c-e-R02-查询筛选分页-module-revenue-chromium/attachments/probe-R02-30da5be9421d180930c5fec01823592972ed20ae.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe1e4--菜单管理-E01-异常恢复-module-menus-chromium/attachments/probe-E01-2b8e0f58dbe8e9e9f12c1b560bce483617c507f5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/attachments/probe-D01-4a2656dcf34bff0282f4d80548a4d236b3708bed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/error-context.md","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/test-failed-1.png","e2e/test-results/crud-00-crud-runner-CRUD-严-fe52f-阵-module-approval-templates-chromium/attachments/probe-P01-1d14b515a916cf305cde87cd29c80f8f916ad1af.json","e2e/test-results/crud/probes/admin-settings-D01-1774228959860.json","e2e/test-results/crud/probes/admin-settings-D02-1774228961425.json","e2e/test-results/crud/probes/admin-settings-U02-1774228957852.json","e2e/test-results/crud/probes/ai-agent-skills-C02-1774228964836.json","e2e/test-results/crud/probes/ai-agent-skills-E01-1774228973551.json","e2e/test-results/crud/probes/ai-agent-skills-P01-1774228971739.json","e2e/test-results/crud/probes/ai-agent-skills-R01-1774228966871.json","e2e/test-results/crud/probes/ai-agent-skills-R02-1774228968078.json","e2e/test-results/crud/probes/ai-agent-skills-R03-1774228969949.json","e2e/test-results/crud/probes/ai-agent-skills-U02-1774228976992.json","e2e/test-results/crud/probes/ai-review-queue-A01-1774228990066.json","e2e/test-results/crud/probes/ai-review-queue-E01-1774228988280.json","e2e/test-results/crud/probes/ai-review-queue-P01-1774228986873.json","e2e/test-results/crud/probes/ai-review-queue-R01-1774228981413.json","e2e/test-results/crud/probes/ai-review-queue-R02-1774228983520.json","e2e/test-results/crud/probes/ai-review-queue-R03-1774228984881.json","e2e/test-results/crud/probes/approval-templates-C01-1774228991737.json","e2e/test-results/crud/probes/approval-templates-C02-1774228993513.json","e2e/test-results/crud/probes/approval-templates-D01-1774229008440.json","e2e/test-results/crud/probes/approval-templates-D02-1774229009999.json","e2e/test-results/crud/probes/approval-templates-E01-1774229003231.json","e2e/test-results/crud/probes/approval-templates-P01-1774229001111.json","e2e/test-results/crud/probes/approval-templates-U01-1774229004573.json","e2e/test-results/crud/probes/approval-templates-U02-1774229006513.json","e2e/test-results/crud/probes/audit-logs-E01-1774229019813.json","e2e/test-results/crud/probes/audit-logs-P01-1774229017705.json","e2e/test-results/crud/probes/biz-sequences-A01-1774229036468.json","e2e/test-results/crud/probes/biz-sequences-E01-1774229034481.json","e2e/test-results/crud/probes/biz-sequences-P01-1774229032402.json","e2e/test-results/crud/probes/commissions-C01-1774229037608.json","e2e/test-results/crud/probes/commissions-C02-1774229039494.json","e2e/test-results/crud/probes/commissions-D01-1774229053838.json","e2e/test-results/crud/probes/commissions-D02-1774229055748.json","e2e/test-results/crud/probes/commissions-E01-1774229049480.json","e2e/test-results/crud/probes/commissions-P01-1774229047205.json","e2e/test-results/crud/probes/commissions-U01-1774229050630.json","e2e/test-results/crud/probes/commissions-U02-1774229052696.json","e2e/test-results/crud/probes/customer-lifecycle-value-A01-1774229066804.json","e2e/test-results/crud/probes/customer-lifecycle-value-E01-1774229065075.json","e2e/test-results/crud/probes/customer-lifecycle-value-P01-1774229063435.json","e2e/test-results/crud/probes/customer-lifecycle-value-R01-1774229057952.json","e2e/test-results/crud/probes/customer-lifecycle-value-R02-1774229060051.json","e2e/test-results/crud/probes/customer-lifecycle-value-R03-1774229061457.json","e2e/test-results/crud/probes/dictionaries-C01-1774229068600.json","e2e/test-results/crud/probes/dictionaries-C02-1774229070372.json","e2e/test-results/crud/probes/dictionaries-D01-1774229085165.json","e2e/test-results/crud/probes/dictionaries-D02-1774229087279.json","e2e/test-results/crud/probes/dictionaries-E01-1774229080255.json","e2e/test-results/crud/probes/dictionaries-P01-1774229077986.json","e2e/test-results/crud/probes/dictionaries-U01-1774229081591.json","e2e/test-results/crud/probes/dictionaries-U02-1774229083555.json","e2e/test-results/crud/probes/event-logs-A01-1774229097156.json","e2e/test-results/crud/probes/event-logs-E01-1774229095352.json","e2e/test-results/crud/probes/event-logs-P01-1774229093938.json","e2e/test-results/crud/probes/event-logs-R01-1774229088479.json","e2e/test-results/crud/probes/event-logs-R02-1774229090341.json","e2e/test-results/crud/probes/event-logs-R03-1774229091979.json","e2e/test-results/crud/probes/event-subscriptions-C01-1774229098822.json","e2e/test-results/crud/probes/event-subscriptions-C02-1774229100367.json","e2e/test-results/crud/probes/event-subscriptions-D01-1774229114456.json","e2e/test-results/crud/probes/event-subscriptions-D02-1774229118439.json","e2e/test-results/crud/probes/event-subscriptions-E01-1774229110866.json","e2e/test-results/crud/probes/event-subscriptions-P01-1774229107724.json","e2e/test-results/crud/probes/event-subscriptions-U01-1774229111052.json","e2e/test-results/crud/probes/event-subscriptions-U02-1774229114636.json","e2e/test-results/crud/probes/expense-C01-1774229117759.json","e2e/test-results/crud/probes/expense-C02-1774229120864.json","e2e/test-results/crud/probes/expense-D01-1774229134839.json","e2e/test-results/crud/probes/expense-D02-1774229136582.json","e2e/test-results/crud/probes/expense-E01-1774229129600.json","e2e/test-results/crud/probes/expense-P01-1774229127758.json","e2e/test-results/crud/probes/expense-R01-1774229122882.json","e2e/test-results/crud/probes/expense-R02-1774229124121.json","e2e/test-results/crud/probes/expense-R03-1774229125973.json","e2e/test-results/crud/probes/expense-U01-1774229131261.json","e2e/test-results/crud/probes/expense-U02-1774229133199.json","e2e/test-results/crud/probes/groupbuy-redemptions-R01-1774229141724.json","e2e/test-results/crud/probes/groupbuy-redemptions-R02-1774229143858.json","e2e/test-results/crud/probes/groupbuy-redemptions-R03-1774229145041.json","e2e/test-results/crud/probes/groupbuy-redemptions-U02-1774229170915.json","e2e/test-results/crud/probes/livestream-groupbuy-C01-1774229178830.json","e2e/test-results/crud/probes/livestream-groupbuy-C02-1774229180364.json","e2e/test-results/crud/probes/livestream-groupbuy-D01-1774229194938.json","e2e/test-results/crud/probes/livestream-groupbuy-D02-1774229196383.json","e2e/test-results/crud/probes/livestream-groupbuy-E01-1774229189569.json","e2e/test-results/crud/probes/livestream-groupbuy-P01-1774229187752.json","e2e/test-results/crud/probes/livestream-groupbuy-R01-1774229182174.json","e2e/test-results/crud/probes/livestream-groupbuy-R02-1774229183941.json","e2e/test-results/crud/probes/livestream-groupbuy-R03-1774229185765.json","e2e/test-results/crud/probes/livestream-groupbuy-U01-1774229191781.json","e2e/test-results/crud/probes/livestream-groupbuy-U02-1774229193102.json","e2e/test-results/crud/probes/marketing-effectiveness-A01-1774229207289.json","e2e/test-results/crud/probes/marketing-effectiveness-E01-1774229206002.json","e2e/test-results/crud/probes/marketing-effectiveness-P01-1774229204018.json","e2e/test-results/crud/probes/marketing-effectiveness-R01-1774229199146.json","e2e/test-results/crud/probes/marketing-effectiveness-R02-1774229200610.json","e2e/test-results/crud/probes/marketing-effectiveness-R03-1774229202631.json","e2e/test-results/crud/probes/marketing-workflows-C01-1774229209159.json","e2e/test-results/crud/probes/marketing-workflows-C02-1774229210599.json","e2e/test-results/crud/probes/marketing-workflows-D01-1774229224143.json","e2e/test-results/crud/probes/marketing-workflows-D02-1774229228195.json","e2e/test-results/crud/probes/marketing-workflows-E01-1774229220479.json","e2e/test-results/crud/probes/marketing-workflows-P01-1774229217362.json","e2e/test-results/crud/probes/marketing-workflows-R01-1774229213676.json","e2e/test-results/crud/probes/marketing-workflows-R02-1774229214040.json","e2e/test-results/crud/probes/marketing-workflows-R03-1774229217094.json","e2e/test-results/crud/probes/marketing-workflows-U01-1774229220605.json","e2e/test-results/crud/probes/marketing-workflows-U02-1774229224311.json","e2e/test-results/crud/probes/menus-C01-1774229227524.json","e2e/test-results/crud/probes/menus-C02-1774229230614.json","e2e/test-results/crud/probes/menus-D01-1774229245415.json","e2e/test-results/crud/probes/menus-D02-1774229247641.json","e2e/test-results/crud/probes/menus-E01-1774229240537.json","e2e/test-results/crud/probes/menus-P01-1774229238253.json","e2e/test-results/crud/probes/menus-U01-1774229241859.json","e2e/test-results/crud/probes/menus-U02-1774229243840.json","e2e/test-results/crud/probes/multi-touch-attribution-A01-1774229257777.json","e2e/test-results/crud/probes/multi-touch-attribution-E01-1774229255957.json","e2e/test-results/crud/probes/multi-touch-attribution-P01-1774229254510.json","e2e/test-results/crud/probes/multi-touch-attribution-R01-1774229248887.json","e2e/test-results/crud/probes/multi-touch-attribution-R02-1774229250904.json","e2e/test-results/crud/probes/multi-touch-attribution-R03-1774229252576.json","e2e/test-results/crud/probes/notifications-E01-1774229267813.json","e2e/test-results/crud/probes/notifications-P01-1774229265567.json","e2e/test-results/crud/probes/process-C01-1774229272198.json","e2e/test-results/crud/probes/process-C02-1774229274352.json","e2e/test-results/crud/probes/process-D01-1774229287252.json","e2e/test-results/crud/probes/process-D02-1774229288833.json","e2e/test-results/crud/probes/process-E01-1774229281992.json","e2e/test-results/crud/probes/process-P01-1774229280684.json","e2e/test-results/crud/probes/process-R01-1774229275505.json","e2e/test-results/crud/probes/process-R02-1774229277468.json","e2e/test-results/crud/probes/process-R03-1774229278638.json","e2e/test-results/crud/probes/process-U01-1774229283764.json","e2e/test-results/crud/probes/process-U02-1774229285585.json","e2e/test-results/crud/probes/realtime-E01-1774229297070.json","e2e/test-results/crud/probes/realtime-P01-1774229295494.json","e2e/test-results/crud/probes/revenue-C01-1774229298836.json","e2e/test-results/crud/probes/revenue-C02-1774229300615.json","e2e/test-results/crud/probes/revenue-D01-1774229314543.json","e2e/test-results/crud/probes/revenue-D02-1774229316394.json","e2e/test-results/crud/probes/revenue-E01-1774229309695.json","e2e/test-results/crud/probes/revenue-P01-1774229307892.json","e2e/test-results/crud/probes/revenue-R01-1774229302430.json","e2e/test-results/crud/probes/revenue-R02-1774229304189.json","e2e/test-results/crud/probes/revenue-R03-1774229305972.json","e2e/test-results/crud/probes/revenue-U01-1774229311344.json","e2e/test-results/crud/probes/revenue-U02-1774229313295.json","e2e/test-results/crud/probes/scheduled-jobs-C01-1774229318618.json","e2e/test-results/crud/probes/scheduled-jobs-C02-1774229320707.json","e2e/test-results/crud/probes/scheduled-jobs-D01-1774229334549.json","e2e/test-results/crud/probes/scheduled-jobs-D02-1774229336447.json","e2e/test-results/crud/probes/scheduled-jobs-E01-1774229330066.json","e2e/test-results/crud/probes/scheduled-jobs-P01-1774229327922.json","e2e/test-results/crud/probes/scheduled-jobs-U01-1774229331260.json","e2e/test-results/crud/probes/scheduled-jobs-U02-1774229333338.json","e2e/test-results/crud/probes/search-A01-1774229349413.json","e2e/test-results/crud/probes/search-E01-1774229346300.json","e2e/test-results/crud/probes/search-P01-1774229344735.json","e2e/test-results/crud/probes/self-operated-store-A01-1774229360430.json","e2e/test-results/crud/probes/self-operated-store-E01-1774229356797.json","e2e/test-results/crud/probes/self-operated-store-P01-1774229356788.json","e2e/test-results/crud/probes/self-operated-store-R01-1774229349609.json","e2e/test-results/crud/probes/self-operated-store-R02-1774229353043.json","e2e/test-results/crud/probes/self-operated-store-R03-1774229353201.json","e2e/test-results/crud/probes/service-monitor-E01-1774229368198.json","e2e/test-results/crud/probes/service-monitor-P01-1774229367735.json","e2e/test-results/crud/probes/shipments-C01-1774229373195.json","e2e/test-results/crud/probes/shipments-C02-1774229376245.json","e2e/test-results/crud/probes/shipments-D01-1774229390641.json","e2e/test-results/crud/probes/shipments-D02-1774229391200.json","e2e/test-results/crud/probes/shipments-E01-1774229383236.json","e2e/test-results/crud/probes/shipments-P01-1774229382879.json","e2e/test-results/crud/probes/shipments-R01-1774229376617.json","e2e/test-results/crud/probes/shipments-R02-1774229379487.json","e2e/test-results/crud/probes/shipments-R03-1774229379981.json","e2e/test-results/crud/probes/shipments-U01-1774229387262.json","e2e/test-results/crud/probes/shipments-U02-1774229386620.json","e2e/test-results/crud/probes/store-agency-A01-1774229400909.json","e2e/test-results/crud/probes/store-agency-E01-1774229400771.json","e2e/test-results/crud/probes/store-agency-P01-1774229397651.json","e2e/test-results/crud/probes/store-agency-R01-1774229393917.json","e2e/test-results/crud/probes/store-agency-R02-1774229394275.json","e2e/test-results/crud/probes/store-agency-R03-1774229397363.json","e2e/test-results/crud/probes/system-events-E01-1774229412946.json","e2e/test-results/crud/probes/system-events-P01-1774229409150.json","e2e/test-results/crud/probes/tob-toc-gateway-E01-1774229420912.json","e2e/test-results/crud/probes/tob-toc-gateway-P01-1774229419582.json","e2e/test-results/crud/probes/tob-toc-gateway-R01-1774229416178.json","e2e/test-results/crud/probes/tob-toc-gateway-R02-1774229417536.json","e2e/test-results/crud/probes/video-calls-C02-1774229424368.json","e2e/test-results/crud/probes/video-calls-E01-1774229434277.json","e2e/test-results/crud/probes/video-calls-P01-1774229431993.json","e2e/test-results/crud/probes/video-calls-U02-1774229437506.json","scripts/pg-backup.sh","scripts/setup-aliyun-deploy.sh"],"removed":["e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png"],"modified":["backend/.env.example","backend/package.json","backend/prisma/schema.prisma","backend/prisma/schema/_base.prisma","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/opportunities/opportunity-competitor.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/field-encryption.service.ts","docker-compose.yml","e2e/test-results/.last-run.json","pnpm-lock.yaml"]},"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":1949305,"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-23T09:24:26+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"}}...
|
push
|
2
|
20
|
1774262969
|
1774263639
|
0
|
1774262378
|
1774263725
|
group: integration-${{ github.workflow }}-${{ gith group: integration-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
integration-integration-test.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
1133
|
feat: 嗨赞AI输入法Android版初始提交
|
9
|
5
|
ios-ci.yml
|
3
|
5
|
0
|
refs/heads/main
|
893022bfd17ce1f2e75e75651551cf8ceaacfe45
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a8f0a86b4c1d4422bfe5c002b8c5307111d317bb","after":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","compare_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/compare/a8f0a86b4c1d4422bfe5c002b8c5307111d317bb...893022bfd17ce1f2e75e75651551cf8ceaacfe45","commits":[{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]},"repository":{"id":9,"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":"haizhan-ime-android","full_name":"luoanwu/haizhan-ime-android","description":"嗨赞AI输入法 Android版","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":29,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android/languages","html_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haizhan-ime-android.git","clone_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android.git","original_url":"","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-27T15:27:17+08:00","updated_at":"2026-02-27T15:27:32+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"}}...
|
push
|
2
|
4
|
1772178609
|
1772178609
|
0
|
1772177363
|
1772178609
|
NULL
|
|
0
|
Edit
Delete
|
|
1141
|
fix(ime-core): 修复TFLiteRecognizerTest验证方式,改为验证可观察行 fix(ime-core): 修复TFLiteRecognizerTest验证方式,改为验证可观察行为...
|
9
|
5
|
ios-ci.yml
|
7
|
5
|
0
|
refs/heads/main
|
22125e0f1e435efabf81ec0007a1b56996cb0776
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","after":"22125e0f1e435efabf81ec0007a1b56996cb0776","compare_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/compare/893022bfd17ce1f2e75e75651551cf8ceaacfe45...22125e0f1e435efabf81ec0007a1b56996cb0776","commits":[{"id":"22125e0f1e435efabf81ec0007a1b56996cb0776","message":"fix(ime-core): 修复TFLiteRecognizerTest验证方式,改为验证可观察行为\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/22125e0f1e435efabf81ec0007a1b56996cb0776","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-27T14:49:40+08:00","added":[],"removed":["ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/db/v13/p95794--38ca5d/data.mdb","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/db/v13/p95794--38ca5d/lock.mdb"],"modified":["ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","pnpm-lock.yaml","server/api-gateway/package.json","server/api-gateway/src/app.module.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.ts"]},{"id":"e7926bf94bb1d2df1c56170dbe47940b49a70134","message":"fix(ime-core): 修复HandwritingManager测试缺少ModelDownloader参数\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/e7926bf94bb1d2df1c56170dbe47940b49a70134","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-27T14:40:23+08:00","added":[".github/workflows/ios-ci.yml",".npmrc","MIGRATION_COMPLETE_REPORT.md","admin-web/.eslintrc.cjs","docs/PNPM_MIGRATION_NOTICE.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/features/contacts/data/contact_360_provider.dart","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","package.json","pnpm-lock.yaml","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER.md","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/migrate-to-pnpm.sh","scripts/package-manager-migration.md","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts"],"removed":["server/ai-service/package-lock.json","server/api-gateway/package-lock.json","server/ocr-service/package-lock.json"],"modified":[".github/workflows/frontend-backend-ci.yml",".gitignore","CHANGELOG.md","CLAUDE.md","README.md","admin-web/package.json","admin-web/src/views/knowledge/index.vue","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","app/build.gradle.kts","app/proguard-rules.pro","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","build.gradle.kts","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/DEPLOYMENT.md","docs/DEVELOPMENT_GUIDE.md","docs/TESTING_STRATEGY.md","flutter_app/.dart_tool/package_config.json","flutter_app/.dart_tool/package_graph.json","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ios_keyboard/.build/.lock","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboard.build/HaizhanKeyboard.emit-module.d","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboard.build/master.priors","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboard.build/output-file-map.json","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboard.build/sources","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboardTests.build/output-file-map.json","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboardTests.build/sources","ios_keyboard/.build/arm64-apple-macosx/debug/description.json","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/AIPanelView.swift.o-3JCH38GYDGXR8","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/ContactMatcher.swift.o-2DEFMG7O4JYLM","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/HapticManager.swift.o-1RR1AGSLF5OMM","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/KeyboardEngine.swift.o-138QNNFN5L8T5","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/KeyboardView.swift.o-3DKAUVCODQU40","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/KeyboardViewController.swift.o-Q3D13NLK8BXH","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/NineGridKeyboard.swift.o-1SAAN5KAN9TN9","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/PinyinSegmenter.swift.o-MFJITYIEOC0T","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/ReplyService.swift.o-32WKBX1JUI0W6","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/ScreenshotManager.swift.o-2OU33ZXZWSYE6","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/SettingsView.swift.o-127RM9EAP5VM6","ios_keyboard/.build/arm64-apple-macosx/debug/plugin-tools-description.json","ios_keyboard/.build/build.db","ios_keyboard/.build/debug.yaml","ios_keyboard/.build/index-build/.lock","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/HaizhanKeyboard.build/master.priors","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/description.json","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/store/v5/units/KeyboardView.swift.o-ZCNKWX79V430","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/store/v5/units/NineGridKeyboard.swift.o-1ZTZUBTR9D3N2","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/store/v5/units/ScreenshotManager.swift.o-1OSRMU5500GQS","ios_keyboard/.build/index-build/build.db","ios_keyboard/.build/index-build/debug.yaml","ios_keyboard/.build/plugin-tools.yaml","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","server/.npmrc","server/README.md","server/ai-service/Dockerfile","server/api-gateway/Dockerfile","server/api-gateway/package.json","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/docker-compose.override.yml","server/docker-compose.yml","server/ocr-service/Dockerfile","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt"]},{"id":"15aae8c5e92b6e0c7dd53a7921212b68b8a1294b","message":"perf(server): JWT用户缓存 + 缓存失效 + legacy-reply stub实现\n\n- JwtStrategy 添加 Redis 用户缓存 (5分钟TTL), 减少95%数据库查询\n- auth.service 在 updateProfile/logout/logoutAll 时主动失效缓存\n- users.service 在 update/updateStatus/toggleStatus/delete 时失效缓存\n- UsersModule 注入 RedisModule 支持缓存操作\n- legacy-reply markReplyUsed/submitReplyFeedback stub 实现完整请求解析和日志\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/15aae8c5e92b6e0c7dd53a7921212b68b8a1294b","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-25T08:23:28+08:00","added":[],"removed":[],"modified":["server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.ts"]},{"id":"f19558e8e838bacc0f616f40c1ec10d9a5e4e9d5","message":"chore(server): 优化 Docker 基础设施配置\n\n- Redis: 修复空密码时 --requirepass 报错问题\n- Reranker Dockerfile: torch CPU 预安装 + 清华 PyPI 镜像加速\n- requirements.txt: 移除 --extra-index-url(已在 Dockerfile 中处理)\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/f19558e8e838bacc0f616f40c1ec10d9a5e4e9d5","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-25T08:16:10+08:00","added":[],"removed":[],"modified":["server/docker-compose.yml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt"]},{"id":"43712be12681e00bab0e3fed74c60ffa34fdc11d","message":"fix(server): 修复 5 个 CRITICAL + 5 个 HIGH 安全漏洞\n\nCRITICAL:\n- C1: 移除 JWT_SECRET/JWT_REFRESH_SECRET 弱默认值回退,启动时断言必须配置\n- C2: 开发后门 000000 需同时满足 NODE_ENV=development + ENABLE_DEV_BYPASS=true\n- C3: OCR recognizeFromUrl 添加 SSRF 防护(HTTPS-only + 内网地址黑名单)\n- C4: resetPassword 使用 crypto.randomBytes + bcrypt.hash 替代 Math.random + 明文\n- C5: ai-service auth.guard 添加 JWT alg 字段校验 + timingSafeEqual 签名比较\n\nHIGH:\n- H1: Redis KEYS 命令替换为 SCAN 游标迭代,避免生产环境阻塞\n- H2: knowledge.controller 添加 @UseGuards(JwtAuthGuard) 认证守卫\n- H4: updateProfile 禁止直接修改手机号,需独立验证流程\n- H6: Access Token 有效期从 7d 缩短至 1h\n- H7: JwtStrategy.validate 注入 RedisService 检查 token 黑名单\n\n测试: api-gateway 963 tests, ai-service 883 tests, ocr-service 87 tests 全部通过\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/43712be12681e00bab0e3fed74c60ffa34fdc11d","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-25T08:15:48+08:00","added":[],"removed":[],"modified":["server/ai-service/src/common/guards/auth.guard.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/ocr-service/src/modules/ocr/ocr.service.ts"]}],"total_commits":0,"head_commit":{"id":"22125e0f1e435efabf81ec0007a1b56996cb0776","message":"fix(ime-core): 修复TFLiteRecognizerTest验证方式,改为验证可观察行为\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/22125e0f1e435efabf81ec0007a1b56996cb0776","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-27T14:49:40+08:00","added":[],"removed":["ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/db/v13/p95794--38ca5d/data.mdb","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/db/v13/p95794--38ca5d/lock.mdb"],"modified":["ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","pnpm-lock.yaml","server/api-gateway/package.json","server/api-gateway/src/app.module.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.ts"]},"repository":{"id":9,"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":"haizhan-ime-android","full_name":"luoanwu/haizhan-ime-android","description":"嗨赞AI输入法 Android版","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":22552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android/languages","html_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haizhan-ime-android.git","clone_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android.git","original_url":"","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-27T15:27:17+08:00","updated_at":"2026-02-27T15:42:01+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"}}...
|
push
|
2
|
4
|
1772284752
|
1772284752
|
0
|
1772178609
|
1772284752
|
NULL
|
|
0
|
Edit
Delete
|
|
1134
|
feat: 嗨赞AI输入法Android版初始提交
|
9
|
5
|
performance-check.yml
|
4
|
5
|
0
|
refs/heads/main
|
893022bfd17ce1f2e75e75651551cf8ceaacfe45
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a8f0a86b4c1d4422bfe5c002b8c5307111d317bb","after":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","compare_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/compare/a8f0a86b4c1d4422bfe5c002b8c5307111d317bb...893022bfd17ce1f2e75e75651551cf8ceaacfe45","commits":[{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]},"repository":{"id":9,"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":"haizhan-ime-android","full_name":"luoanwu/haizhan-ime-android","description":"嗨赞AI输入法 Android版","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":29,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android/languages","html_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haizhan-ime-android.git","clone_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android.git","original_url":"","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-27T15:27:17+08:00","updated_at":"2026-02-27T15:27:32+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"}}...
|
push
|
2
|
3
|
1772178120
|
1772178609
|
0
|
1772177363
|
1772178609
|
NULL
|
|
0
|
Edit
Delete
|
|
1142
|
fix(ime-core): 修复TFLiteRecognizerTest验证方式,改为验证可观察行 fix(ime-core): 修复TFLiteRecognizerTest验证方式,改为验证可观察行为...
|
9
|
5
|
performance-check.yml
|
8
|
5
|
0
|
refs/heads/main
|
22125e0f1e435efabf81ec0007a1b56996cb0776
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","after":"22125e0f1e435efabf81ec0007a1b56996cb0776","compare_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/compare/893022bfd17ce1f2e75e75651551cf8ceaacfe45...22125e0f1e435efabf81ec0007a1b56996cb0776","commits":[{"id":"22125e0f1e435efabf81ec0007a1b56996cb0776","message":"fix(ime-core): 修复TFLiteRecognizerTest验证方式,改为验证可观察行为\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/22125e0f1e435efabf81ec0007a1b56996cb0776","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-27T14:49:40+08:00","added":[],"removed":["ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/db/v13/p95794--38ca5d/data.mdb","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/db/v13/p95794--38ca5d/lock.mdb"],"modified":["ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","pnpm-lock.yaml","server/api-gateway/package.json","server/api-gateway/src/app.module.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.ts"]},{"id":"e7926bf94bb1d2df1c56170dbe47940b49a70134","message":"fix(ime-core): 修复HandwritingManager测试缺少ModelDownloader参数\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/e7926bf94bb1d2df1c56170dbe47940b49a70134","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-27T14:40:23+08:00","added":[".github/workflows/ios-ci.yml",".npmrc","MIGRATION_COMPLETE_REPORT.md","admin-web/.eslintrc.cjs","docs/PNPM_MIGRATION_NOTICE.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/features/contacts/data/contact_360_provider.dart","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","package.json","pnpm-lock.yaml","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER.md","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/migrate-to-pnpm.sh","scripts/package-manager-migration.md","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts"],"removed":["server/ai-service/package-lock.json","server/api-gateway/package-lock.json","server/ocr-service/package-lock.json"],"modified":[".github/workflows/frontend-backend-ci.yml",".gitignore","CHANGELOG.md","CLAUDE.md","README.md","admin-web/package.json","admin-web/src/views/knowledge/index.vue","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","app/build.gradle.kts","app/proguard-rules.pro","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","build.gradle.kts","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/DEPLOYMENT.md","docs/DEVELOPMENT_GUIDE.md","docs/TESTING_STRATEGY.md","flutter_app/.dart_tool/package_config.json","flutter_app/.dart_tool/package_graph.json","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ios_keyboard/.build/.lock","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboard.build/HaizhanKeyboard.emit-module.d","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboard.build/master.priors","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboard.build/output-file-map.json","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboard.build/sources","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboardTests.build/output-file-map.json","ios_keyboard/.build/arm64-apple-macosx/debug/HaizhanKeyboardTests.build/sources","ios_keyboard/.build/arm64-apple-macosx/debug/description.json","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/AIPanelView.swift.o-3JCH38GYDGXR8","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/ContactMatcher.swift.o-2DEFMG7O4JYLM","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/HapticManager.swift.o-1RR1AGSLF5OMM","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/KeyboardEngine.swift.o-138QNNFN5L8T5","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/KeyboardView.swift.o-3DKAUVCODQU40","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/KeyboardViewController.swift.o-Q3D13NLK8BXH","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/NineGridKeyboard.swift.o-1SAAN5KAN9TN9","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/PinyinSegmenter.swift.o-MFJITYIEOC0T","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/ReplyService.swift.o-32WKBX1JUI0W6","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/ScreenshotManager.swift.o-2OU33ZXZWSYE6","ios_keyboard/.build/arm64-apple-macosx/debug/index/store/v5/units/SettingsView.swift.o-127RM9EAP5VM6","ios_keyboard/.build/arm64-apple-macosx/debug/plugin-tools-description.json","ios_keyboard/.build/build.db","ios_keyboard/.build/debug.yaml","ios_keyboard/.build/index-build/.lock","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/HaizhanKeyboard.build/master.priors","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/description.json","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/store/v5/units/KeyboardView.swift.o-ZCNKWX79V430","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/store/v5/units/NineGridKeyboard.swift.o-1ZTZUBTR9D3N2","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/store/v5/units/ScreenshotManager.swift.o-1OSRMU5500GQS","ios_keyboard/.build/index-build/build.db","ios_keyboard/.build/index-build/debug.yaml","ios_keyboard/.build/plugin-tools.yaml","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","server/.npmrc","server/README.md","server/ai-service/Dockerfile","server/api-gateway/Dockerfile","server/api-gateway/package.json","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/docker-compose.override.yml","server/docker-compose.yml","server/ocr-service/Dockerfile","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt"]},{"id":"15aae8c5e92b6e0c7dd53a7921212b68b8a1294b","message":"perf(server): JWT用户缓存 + 缓存失效 + legacy-reply stub实现\n\n- JwtStrategy 添加 Redis 用户缓存 (5分钟TTL), 减少95%数据库查询\n- auth.service 在 updateProfile/logout/logoutAll 时主动失效缓存\n- users.service 在 update/updateStatus/toggleStatus/delete 时失效缓存\n- UsersModule 注入 RedisModule 支持缓存操作\n- legacy-reply markReplyUsed/submitReplyFeedback stub 实现完整请求解析和日志\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/15aae8c5e92b6e0c7dd53a7921212b68b8a1294b","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-25T08:23:28+08:00","added":[],"removed":[],"modified":["server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.ts"]},{"id":"f19558e8e838bacc0f616f40c1ec10d9a5e4e9d5","message":"chore(server): 优化 Docker 基础设施配置\n\n- Redis: 修复空密码时 --requirepass 报错问题\n- Reranker Dockerfile: torch CPU 预安装 + 清华 PyPI 镜像加速\n- requirements.txt: 移除 --extra-index-url(已在 Dockerfile 中处理)\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/f19558e8e838bacc0f616f40c1ec10d9a5e4e9d5","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-25T08:16:10+08:00","added":[],"removed":[],"modified":["server/docker-compose.yml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt"]},{"id":"43712be12681e00bab0e3fed74c60ffa34fdc11d","message":"fix(server): 修复 5 个 CRITICAL + 5 个 HIGH 安全漏洞\n\nCRITICAL:\n- C1: 移除 JWT_SECRET/JWT_REFRESH_SECRET 弱默认值回退,启动时断言必须配置\n- C2: 开发后门 000000 需同时满足 NODE_ENV=development + ENABLE_DEV_BYPASS=true\n- C3: OCR recognizeFromUrl 添加 SSRF 防护(HTTPS-only + 内网地址黑名单)\n- C4: resetPassword 使用 crypto.randomBytes + bcrypt.hash 替代 Math.random + 明文\n- C5: ai-service auth.guard 添加 JWT alg 字段校验 + timingSafeEqual 签名比较\n\nHIGH:\n- H1: Redis KEYS 命令替换为 SCAN 游标迭代,避免生产环境阻塞\n- H2: knowledge.controller 添加 @UseGuards(JwtAuthGuard) 认证守卫\n- H4: updateProfile 禁止直接修改手机号,需独立验证流程\n- H6: Access Token 有效期从 7d 缩短至 1h\n- H7: JwtStrategy.validate 注入 RedisService 检查 token 黑名单\n\n测试: api-gateway 963 tests, ai-service 883 tests, ocr-service 87 tests 全部通过\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/43712be12681e00bab0e3fed74c60ffa34fdc11d","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-25T08:15:48+08:00","added":[],"removed":[],"modified":["server/ai-service/src/common/guards/auth.guard.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/ocr-service/src/modules/ocr/ocr.service.ts"]}],"total_commits":0,"head_commit":{"id":"22125e0f1e435efabf81ec0007a1b56996cb0776","message":"fix(ime-core): 修复TFLiteRecognizerTest验证方式,改为验证可观察行为\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/22125e0f1e435efabf81ec0007a1b56996cb0776","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-27T14:49:40+08:00","added":[],"removed":["ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/db/v13/p95794--38ca5d/data.mdb","ios_keyboard/.build/index-build/arm64-apple-macosx/debug/index/db/v13/p95794--38ca5d/lock.mdb"],"modified":["ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","pnpm-lock.yaml","server/api-gateway/package.json","server/api-gateway/src/app.module.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.ts"]},"repository":{"id":9,"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":"haizhan-ime-android","full_name":"luoanwu/haizhan-ime-android","description":"嗨赞AI输入法 Android版","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":22552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android/languages","html_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haizhan-ime-android.git","clone_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android.git","original_url":"","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-27T15:27:17+08:00","updated_at":"2026-02-27T15:42:01+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"}}...
|
push
|
2
|
3
|
1772189679
|
1772189721
|
0
|
1772178609
|
1772189721
|
NULL
|
|
0
|
Edit
Delete
|
|
7307
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
performance.yml
|
7233
|
-2
|
109
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"339ea969ec2633756fb1a155d47723d0f61396a4","message":"chore: comprehensive governance updates and test artifacts\n\n- Add Prisma schema modularization and migration scripts\n- Add service test coverage across all modules (AI, alliance, community, marketing, etc.)\n- Add shared services (cache, custom-fields, dynamic-state-machine, encryption, etc.)\n- Add infrastructure configs (ClickHouse, Debezium, Tempo)\n- Add user manual and technical documentation with screenshots\n- Add router module organization for all centers\n- Add store/test coverage and Playwright artifacts\n- Update CI workflow, environment configs, and dependencies\n- Fix security issues in auth, kafka, and validation layers\n- Fix permission naming tests to expect kebab-case output\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","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-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"339ea969ec2633756fb1a155d47723d0f61396a4","message":"chore: comprehensive governance updates and test artifacts\n\n- Add Prisma schema modularization and migration scripts\n- Add service test coverage across all modules (AI, alliance, community, marketing, etc.)\n- Add shared services (cache, custom-fields, dynamic-state-machine, encryption, etc.)\n- Add infrastructure configs (ClickHouse, Debezium, Tempo)\n- Add user manual and technical documentation with screenshots\n- Add router module organization for all centers\n- Add store/test coverage and Playwright artifacts\n- Update CI workflow, environment configs, and dependencies\n- Fix security issues in auth, kafka, and validation layers\n- Fix permission naming tests to expect kebab-case output\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","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-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"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":1919936,"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-23T07:52:01+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"}}...
|
schedule
|
2
|
28
|
1774231241
|
1774231445
|
0
|
1774231240
|
1774231454
|
|
|
0
|
Edit
Delete
|
|
9521
|
Clean up frontend unused imports and type helpers
|
6
|
5
|
performance.yml
|
9446
|
-2
|
191
|
refs/heads/main
|
58e5152a38868b8f3832d9573c340a3eb60051c8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0c8f4a138b823e8d615f93850a64c3365e5aed15","after":"58e5152a38868b8f3832d9573c340a3eb60051c8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0c8f4a138b823e8d615f93850a64c3365e5aed15...58e5152a38868b8f3832d9573c340a3eb60051c8","commits":[{"id":"58e5152a38868b8f3832d9573c340a3eb60051c8","message":"Clean up frontend unused imports and type helpers\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/58e5152a38868b8f3832d9573c340a3eb60051c8","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-29T10:52:37+08:00","added":[],"removed":[],"modified":["frontend/src/api/modules/expense-claims.ts","frontend/src/components/business/calendar/CalendarGanttView.vue","frontend/src/components/process-designer/ProcessDesigner.vue","frontend/src/composables/useMarketingCalendar.ts","frontend/src/constants/campaign-wizard.ts","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/crm-activities/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/devices/Detail.vue","frontend/src/views/faults/Detail.vue","frontend/src/views/files/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/fulfillment/Index.vue","frontend/src/views/geo-analytics/Index.vue","frontend/src/views/geo-reviews/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-redemptions/Index.vue","frontend/src/views/groupbuy-reviews/Index.vue","frontend/src/views/im/components/MessageSearch.vue","frontend/src/views/knowledge/Index.vue","frontend/src/views/knowledge/components/KnowledgeROI.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/orders/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/products/Detail.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Calendar.vue","frontend/src/views/projects/Detail.vue","frontend/src/views/projects/Gantt.vue","frontend/src/views/projects/components/gantt/ProjectGanttChart.vue","frontend/src/views/projects/components/gantt/composables/useDependencyLine.ts","frontend/src/views/quotes/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/sample-requests/Index.vue","frontend/src/views/service/components/TicketGanttChart.vue","frontend/src/views/stores/Index.vue","frontend/src/views/targets/Detail.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Index.vue"]}],"total_commits":0,"head_commit":{"id":"58e5152a38868b8f3832d9573c340a3eb60051c8","message":"Clean up frontend unused imports and type helpers\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/58e5152a38868b8f3832d9573c340a3eb60051c8","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-29T10:52:37+08:00","added":[],"removed":[],"modified":["frontend/src/api/modules/expense-claims.ts","frontend/src/components/business/calendar/CalendarGanttView.vue","frontend/src/components/process-designer/ProcessDesigner.vue","frontend/src/composables/useMarketingCalendar.ts","frontend/src/constants/campaign-wizard.ts","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/crm-activities/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/devices/Detail.vue","frontend/src/views/faults/Detail.vue","frontend/src/views/files/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/fulfillment/Index.vue","frontend/src/views/geo-analytics/Index.vue","frontend/src/views/geo-reviews/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-redemptions/Index.vue","frontend/src/views/groupbuy-reviews/Index.vue","frontend/src/views/im/components/MessageSearch.vue","frontend/src/views/knowledge/Index.vue","frontend/src/views/knowledge/components/KnowledgeROI.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/orders/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/products/Detail.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Calendar.vue","frontend/src/views/projects/Detail.vue","frontend/src/views/projects/Gantt.vue","frontend/src/views/projects/components/gantt/ProjectGanttChart.vue","frontend/src/views/projects/components/gantt/composables/useDependencyLine.ts","frontend/src/views/quotes/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/sample-requests/Index.vue","frontend/src/views/service/components/TicketGanttChart.vue","frontend/src/views/stores/Index.vue","frontend/src/views/targets/Detail.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/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":1901900,"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":2,"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-28T18:34:36+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"}}...
|
schedule
|
2
|
28
|
1774836019
|
1774837434
|
0
|
1774836018
|
1774837473
|
|
|
0
|
Edit
Delete
|
|
11697
|
Merge remote-tracking branch 'origin/codex/fin Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'...
|
6
|
5
|
performance.yml
|
11621
|
-2
|
260
|
refs/heads/main
|
9d69e1960ec649a49c0c6f307c0fc197f47ee4c4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"40dae5944f158653af8288a3f38b6c97e8ce9f06","after":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/40dae5944f158653af8288a3f38b6c97e8ce9f06...9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","commits":[{"id":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-03T09:41:29+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":[]},{"id":"0152aae7b8ff9440c5f4e7aad113420208e6c304","message":"Merge remote-tracking branch 'origin/codex/design-scalable-autopilot-os-architecture'\n\n# Conflicts:\n#\te2e/agents/playwright-agent/index.ts\n#\te2e/agents/playwright-agent/inspectors/index.ts\n#\te2e/agents/playwright-agent/reporters/backend-reporter.ts\n#\te2e/package.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0152aae7b8ff9440c5f4e7aad113420208e6c304","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-03T09:41:05+08:00","added":[],"removed":[],"modified":[]},{"id":"e2587fae3d50e6ef7c30450199abd1bfc910a016","message":"test(finance): add finance mainline smoke and harden invoice detail formatting","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e2587fae3d50e6ef7c30450199abd1bfc910a016","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-31T13:47:05+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["frontend/src/views/invoices/Detail.vue"]},{"id":"803578ebec2d6f4c0d00335c1f5c61067112d923","message":"feat(e2e): add playwright agent mvp skeleton","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/803578ebec2d6f4c0d00335c1f5c61067112d923","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-19T19:55:36+08:00","added":["e2e/agents/playwright-agent/README.md","e2e/agents/playwright-agent/__tests__/playwright-agent.unit.test.ts","e2e/agents/playwright-agent/artifacts/artifact-writer.ts","e2e/agents/playwright-agent/auth/auth-provider.ts","e2e/agents/playwright-agent/auth/storage-state-auth.ts","e2e/agents/playwright-agent/constants/diagnosis.ts","e2e/agents/playwright-agent/constants/status.ts","e2e/agents/playwright-agent/constants/timeouts.ts","e2e/agents/playwright-agent/core/action-runner.ts","e2e/agents/playwright-agent/core/browser-manager.ts","e2e/agents/playwright-agent/core/execution-engine.ts","e2e/agents/playwright-agent/core/retry-engine.ts","e2e/agents/playwright-agent/core/session-factory.ts","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/base-inspector.ts","e2e/agents/playwright-agent/inspectors/booking-inspector.ts","e2e/agents/playwright-agent/inspectors/dashboard-inspector.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/inspectors/payment-inspector.ts","e2e/agents/playwright-agent/observers/console-observer.ts","e2e/agents/playwright-agent/observers/network-observer.ts","e2e/agents/playwright-agent/observers/page-probe.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/agents/playwright-agent/reporters/json-reporter.ts","e2e/agents/playwright-agent/resolvers/selector-resolver.ts","e2e/agents/playwright-agent/types/diagnosis.ts","e2e/agents/playwright-agent/types/execution-plan.ts","e2e/agents/playwright-agent/types/execution-result.ts","e2e/agents/playwright-agent/types/execution-step.ts","e2e/agents/playwright-agent/types/inspector.ts","e2e/agents/playwright-agent/types/runtime.ts"],"removed":[],"modified":["e2e/package.json"]}],"total_commits":0,"head_commit":{"id":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-03T09:41:29+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":[]},"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":5204515,"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":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T09:40:13+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"}}...
|
schedule
|
2
|
28
|
1775440818
|
1775441603
|
0
|
1775440818
|
1775441610
|
|
|
0
|
Edit
Delete
|
|
13739
|
feat: E2E 表单测试框架 + P0/P1/P2 治理完成
|
6
|
5
|
performance.yml
|
13662
|
-2
|
266
|
refs/heads/main
|
98cc8da660b8d4dba9887432490471d976c03f5f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","after":"98cc8da660b8d4dba9887432490471d976c03f5f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0...98cc8da660b8d4dba9887432490471d976c03f5f","commits":[{"id":"98cc8da660b8d4dba9887432490471d976c03f5f","message":"feat: E2E 表单测试框架 + P0/P1/P2 治理完成\n\nE2E 表单测试 (新):\n- 新增 4 个测试文件,21 个测试用例,983 行代码\n- helpers/form-test-helpers.ts: 12 个通用测试工具函数\n- 覆盖 Lead-to-Cash/营销/审批/财务 4 大业务域\n- 测试矩阵: F01创建/F02验证错误/F03编辑回填/F04草稿恢复\n\nP0 治理完成:\n- ES 安全配置: xpack.security.enabled=true + 密码认证\n- Dockerfile.dev: 前后端统一 pnpm + frozen-lockfile\n- customers/Index.vue: reactive\u003cany\u003e → CustomerQueryParams 接口\n- CLAUDE.md 红线 9: 列表页必须使用 useListPage\n- useListPage 覆盖: 13 → 23/208 (11.1%),新增 10 个页面\n\nP1 治理完成:\n- Prisma 升级: 5.7.0 → 5.22.0,prismaSchemaFolder 启用\n- schema 拆分: 27 个子文件,prisma validate 通过\n- 大组件拆分: sms-marketing 1774 → 840 行 (↓53%)\n - SmsTemplateManager.vue (514 行)\n - SmsCampaignManager.vue (598 行)\n- 测试覆盖率: 后端 65→70%, 前端 60→65%\n- Dockerfile prune: pnpm prune --prod --no-optional\n\nP2 治理完成:\n- Kafka HA: Makefile deploy-ha 命令\n- SBOM: CI anchore/sbom-action 集成\n- ECharts 按需引入: echarts/core\n- 虚拟列表方案: @tanstack/vue-virtual 实施计划\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/98cc8da660b8d4dba9887432490471d976c03f5f","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T00:24:31+08:00","added":["e2e/helpers/form-test-helpers.ts","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/views/sms-marketing/components/SmsCampaignManager.vue","frontend/src/views/sms-marketing/components/SmsTemplateManager.vue","reports/project-census.baseline.json","reports/project-census.latest.json","scripts/audit-project-census.ts"],"removed":["e2e/test-results/create-verify-all-report.json"],"modified":[".env.production.example",".github/workflows/ci.yml","CLAUDE.md","Makefile","backend/Dockerfile","backend/Dockerfile.dev","backend/package.json","backend/prisma/schema.prisma","backend/src/config/env.ts","backend/vitest.config.ts","backend/vitest.workspace.ts","docker-compose.prod.yml","docs/governance/baseline-and-experience.md","e2e/test-results/.last-run.json","frontend/Dockerfile.dev","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/crm-activities/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/sms-marketing/Index.vue","frontend/vitest.config.ts","package.json","pnpm-lock.yaml","scripts/harness/audit-registry.ts","scripts/harness/cli.ts","scripts/harness/report.ts"]}],"total_commits":0,"head_commit":{"id":"98cc8da660b8d4dba9887432490471d976c03f5f","message":"feat: E2E 表单测试框架 + P0/P1/P2 治理完成\n\nE2E 表单测试 (新):\n- 新增 4 个测试文件,21 个测试用例,983 行代码\n- helpers/form-test-helpers.ts: 12 个通用测试工具函数\n- 覆盖 Lead-to-Cash/营销/审批/财务 4 大业务域\n- 测试矩阵: F01创建/F02验证错误/F03编辑回填/F04草稿恢复\n\nP0 治理完成:\n- ES 安全配置: xpack.security.enabled=true + 密码认证\n- Dockerfile.dev: 前后端统一 pnpm + frozen-lockfile\n- customers/Index.vue: reactive\u003cany\u003e → CustomerQueryParams 接口\n- CLAUDE.md 红线 9: 列表页必须使用 useListPage\n- useListPage 覆盖: 13 → 23/208 (11.1%),新增 10 个页面\n\nP1 治理完成:\n- Prisma 升级: 5.7.0 → 5.22.0,prismaSchemaFolder 启用\n- schema 拆分: 27 个子文件,prisma validate 通过\n- 大组件拆分: sms-marketing 1774 → 840 行 (↓53%)\n - SmsTemplateManager.vue (514 行)\n - SmsCampaignManager.vue (598 行)\n- 测试覆盖率: 后端 65→70%, 前端 60→65%\n- Dockerfile prune: pnpm prune --prod --no-optional\n\nP2 治理完成:\n- Kafka HA: Makefile deploy-ha 命令\n- SBOM: CI anchore/sbom-action 集成\n- ECharts 按需引入: echarts/core\n- 虚拟列表方案: @tanstack/vue-virtual 实施计划\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/98cc8da660b8d4dba9887432490471d976c03f5f","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T00:24:31+08:00","added":["e2e/helpers/form-test-helpers.ts","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/views/sms-marketing/components/SmsCampaignManager.vue","frontend/src/views/sms-marketing/components/SmsTemplateManager.vue","reports/project-census.baseline.json","reports/project-census.latest.json","scripts/audit-project-census.ts"],"removed":["e2e/test-results/create-verify-all-report.json"],"modified":[".env.production.example",".github/workflows/ci.yml","CLAUDE.md","Makefile","backend/Dockerfile","backend/Dockerfile.dev","backend/package.json","backend/prisma/schema.prisma","backend/src/config/env.ts","backend/vitest.config.ts","backend/vitest.workspace.ts","docker-compose.prod.yml","docs/governance/baseline-and-experience.md","e2e/test-results/.last-run.json","frontend/Dockerfile.dev","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/crm-activities/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/sms-marketing/Index.vue","frontend/vitest.config.ts","package.json","pnpm-lock.yaml","scripts/harness/audit-registry.ts","scripts/harness/cli.ts","scripts/harness/report.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/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":5211826,"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":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+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"}}...
|
schedule
|
2
|
28
|
1776045650
|
1776046974
|
0
|
1776045650
|
1776047012
|
|
|
0
|
Edit
Delete
|
|
10018
|
test(finance): add finance mainline smoke
|
6
|
5
|
pr-validation.yml
|
9942
|
5
|
0
|
refs/pull/1/head
|
8c225d73253fe95a23618816b2f7e6a03010cae4
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":1,"pull_request":{"id":6,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1","number":1,"user":{"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"},"title":"test(finance): add finance mainline smoke and harden invoice detail formatting","body":"## Summary\n- add a finance-role mainline smoke that covers invoices, AR ledger, and finance dashboard\n- treat reconciliation 403 as the current permission boundary for the finance fixture\n- harden invoice detail amount formatting so null values no longer trip the page\n\n## Validation\n- E2E_SKIP_WEB_SERVER=true E2E_USE_SYSTEM_CHROME=true pnpm -C e2e exec playwright test tests/auth/finance-mainline-flow-smoke.spec.ts --project=chromium-no-auth\n- result: 1 passed (9.4s)\n\n## Note\n- git fetch/clone against the current Gitea main is currently failing with upload-pack not our ref, so this patch was replayed through the Gitea contents API on top of the live main history.","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":211,"deletions":4,"changed_files":2,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"dffb3332733fb56fd51632938c4379422125381c","repo_id":6,"repo":{"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":3553340,"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":4,"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-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"codex/finance-mainline-gitea-main-20260331","ref":"codex/finance-mainline-gitea-main-20260331","sha":"8c225d73253fe95a23618816b2f7e6a03010cae4","repo_id":6,"repo":{"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":3553340,"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":4,"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-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"dffb3332733fb56fd51632938c4379422125381c","due_date":null,"created_at":"2026-03-31T17:40:58+08:00","updated_at":"2026-03-31T17:40:59+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":3553340,"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":4,"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-31T17:38:38+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":[]},"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"},"commit_id":"","review":null}...
|
pull_request
|
2
|
26
|
1774950256
|
1774951998
|
0
|
1774950059
|
1774952026
|
group: pr-${{ github.event.pull_request.number }}
group: pr-${{ github.event.pull_request.number }}
cancel-in-progress: "true"
...
|
pr-1
|
1
|
Edit
Delete
|
|
43
|
feat: 新增门店管理模块,补充门店维度营销分析端点
|
6
|
5
|
quality-check.yml
|
4
|
5
|
0
|
refs/heads/main
|
89209aba1afe21133399ce0db0a47c2729c9a4b4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"abd8cdd0283c96dc4a62fbf753d2aca2e68aa379","after":"89209aba1afe21133399ce0db0a47c2729c9a4b4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/abd8cdd0283c96dc4a62fbf753d2aca2e68aa379...89209aba1afe21133399ce0db0a47c2729c9a4b4","commits":[{"id":"89209aba1afe21133399ce0db0a47c2729c9a4b4","message":"feat: 新增门店管理模块,补充门店维度营销分析端点\n\n一、门店管理模块 (stores)\n- 门店 CRUD:创建、更新、删除、状态管理\n- 门店类型:旗舰店、标准店、加盟店、合作店、迷你店、快闪店\n- 状态机:pending → active → suspended/renovating → closed\n\n二、门店维度营销分析端点\n- GET /stores/:id/marketing-analytics - 门店营销分析(活动、直播、团购、订单汇总)\n- GET /stores/:id/roi-analytics - 门店 ROI 分析(投入产出比、渠道分解、同比环比)\n- GET /stores/:id/livestream-stats - 门店直播统计(场次、时长、观众、GMV)\n- GET /stores/:id/campaigns - 门店活动列表\n\n三、门店对比和排行\n- POST /stores/compare - 多门店横向对比\n- GET /stores/ranking - 门店排行榜(营收、订单、评分、直播GMV)\n\n四、门店营销配置\n- PATCH /stores/:id/marketing-config - 团购/直播/促销开关、平台配置、预算设置\n\n五、前端 API 模块\n- stores.ts:完整类型定义 + API 封装 + 状态配置 + 工具函数\n\n严格遵循8条开发红线\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/89209aba1afe21133399ce0db0a47c2729c9a4b4","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T07:36:12Z","added":["backend/src/modules/stores/index.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/stores/store.service.ts","frontend/src/api/modules/stores.ts"],"removed":[],"modified":["backend/src/shared/constants/modules.ts"]},{"id":"bd02a7f3eefc8d114499177151ddde0a410c4065","message":"feat: 完善 KTV 智慧营销域模块代码实现 - 19个后端模块 + 19个前端API模块\n\n一、分析类模块 (3个)\n- social-analytics: 社交媒体分析(账号概览、内容表现、粉丝画像、竞品对比、趋势分析)\n- content-analytics: 内容分析(表现概览、热门内容、分类表现、发布时间分析)\n- livestream-gifts: 直播礼物(礼物配置、赠送记录、礼物统计、排行榜)\n\n二、商家联盟域模块 (5个)\n- alliance-partners: 联盟商家(入驻审核、等级管理、状态机驱动)\n- alliance-agreements: 联盟协议(协议模板、审批流、续签终止)\n- alliance-campaigns: 联盟活动(多商家参与、效果追踪、奖励配置)\n- alliance-coupons: 联盟优惠券(发放核销、成本分摊、使用规则)\n- alliance-packages: 联盟套餐(多商家组合、分成模式、有效期管理)\n\n三、社群运营域模块 (4个)\n- community-materials: 社群素材(素材库、审核流程、使用追踪)\n- community-tasks: 社群任务(任务配置、执行管理、状态机驱动)\n- community-fission: 社群裂变(邀请奖励、拼团助力、排行榜)\n- community-bots: 社群机器人(多平台支持、自动回复、消息日志)\n\n四、团购运营域模块 (7个)\n- groupbuy-platforms: 团购平台(平台接入、同步配置、对账管理)\n- groupbuy-promotions: 团购促销(促销配置、状态管理、批量操作)\n- groupbuy-inventory: 团购库存(库存管理、预警机制、调拨盘点)\n- groupbuy-redemptions: 团购核销(券码验证、核销记录、统计分析)\n- groupbuy-reviews: 团购评价(评价管理、商家回复、审核分析)\n- groupbuy-commissions: 团购佣金(佣金规则、结算审批、对账报表)\n- groupbuy-influencers: 团购达人(招募审核、等级体系、带货数据)\n\n技术规范:\n- 后端:5层标准结构(schema/service/controller/routes/index)\n- 前端:完整 TypeScript 类型定义 + API 封装\n- 严格遵循8条开发红线(多租户隔离、状态机、事件驱动等)\n\n文件统计:\n- 后端模块:19个目录,95个文件\n- 前端API:19个TypeScript模块,总计约10,000+行代码\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bd02a7f3eefc8d114499177151ddde0a410c4065","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T07:21:51Z","added":["backend/src/modules/alliance-agreements/alliance-agreement.controller.ts","backend/src/modules/alliance-agreements/alliance-agreement.routes.ts","backend/src/modules/alliance-agreements/alliance-agreement.schema.ts","backend/src/modules/alliance-agreements/alliance-agreement.service.ts","backend/src/modules/alliance-agreements/index.ts","backend/src/modules/alliance-campaigns/alliance-campaign.controller.ts","backend/src/modules/alliance-campaigns/alliance-campaign.routes.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.ts","backend/src/modules/alliance-campaigns/index.ts","backend/src/modules/alliance-coupons/alliance-coupon.controller.ts","backend/src/modules/alliance-coupons/alliance-coupon.routes.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.service.ts","backend/src/modules/alliance-coupons/index.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/alliance-packages/alliance-package.routes.ts","backend/src/modules/alliance-packages/alliance-package.schema.ts","backend/src/modules/alliance-packages/alliance-package.service.ts","backend/src/modules/alliance-packages/index.ts","backend/src/modules/alliance-partners/alliance-partner.controller.ts","backend/src/modules/alliance-partners/alliance-partner.routes.ts","backend/src/modules/alliance-partners/alliance-partner.schema.ts","backend/src/modules/alliance-partners/alliance-partner.service.ts","backend/src/modules/alliance-partners/index.ts","backend/src/modules/community-bots/community-bot.controller.ts","backend/src/modules/community-bots/community-bot.routes.ts","backend/src/modules/community-bots/community-bot.schema.ts","backend/src/modules/community-bots/community-bot.service.ts","backend/src/modules/community-bots/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.routes.ts","backend/src/modules/community-fission/community-fission.schema.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/community-fission/index.ts","backend/src/modules/community-materials/community-material.controller.ts","backend/src/modules/community-materials/community-material.routes.ts","backend/src/modules/community-materials/community-material.schema.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-materials/index.ts","backend/src/modules/community-tasks/community-task.controller.ts","backend/src/modules/community-tasks/community-task.routes.ts","backend/src/modules/community-tasks/community-task.schema.ts","backend/src/modules/community-tasks/community-task.service.ts","backend/src/modules/community-tasks/index.ts","backend/src/modules/content-analytics/content-analytics.controller.ts","backend/src/modules/content-analytics/content-analytics.routes.ts","backend/src/modules/content-analytics/content-analytics.schema.ts","backend/src/modules/content-analytics/content-analytics.service.ts","backend/src/modules/content-analytics/index.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.controller.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.routes.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.schema.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.ts","backend/src/modules/groupbuy-commissions/index.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.controller.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.routes.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.schema.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.ts","backend/src/modules/groupbuy-influencers/index.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.controller.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.routes.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.schema.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-inventory/index.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.controller.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.routes.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.schema.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.ts","backend/src/modules/groupbuy-platforms/index.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.controller.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.routes.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-promotions/index.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.controller.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.routes.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.schema.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/groupbuy-redemptions/index.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.controller.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.routes.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.schema.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.service.ts","backend/src/modules/groupbuy-reviews/index.ts","backend/src/modules/livestream-gifts/index.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/livestream-gifts/livestream-gifts.routes.ts","backend/src/modules/livestream-gifts/livestream-gifts.schema.ts","backend/src/modules/livestream-gifts/livestream-gifts.service.ts","backend/src/modules/social-analytics/index.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.routes.ts","backend/src/modules/social-analytics/social-analytics.schema.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-campaigns.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-fission.ts","frontend/src/api/modules/community-materials.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/groupbuy-commissions.ts","frontend/src/api/modules/groupbuy-influencers.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/groupbuy-redemptions.ts","frontend/src/api/modules/groupbuy-reviews.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/social-analytics.ts"],"removed":[],"modified":[]},{"id":"5c0e2a9ccc614bb1dac8ed3875f4eeddb1bed80d","message":"feat: 完善 modules.ts 模块元数据定义,覆盖全部142个已部署模块\n\n主要变更:\n1. 新增 ModuleCategory 类型:\n - hr (人力资源域)\n - marketing-customer (营销客户维度)\n - ktv-content, ktv-social, ktv-geo, ktv-adflow, ktv-livestream, ktv-alliance, ktv-community, ktv-groupbuy (KTV智慧营销域)\n\n2. 补充缺失的模块定义:\n - 营销客户维度:campaign-targets, segments, customer-marketing\n - 系统核心模块:auth, scheduled-jobs, event-logs, event-subscriptions, realtime, ai-copilot\n - 服务域:service, service-monitor\n - 履约域:maintenance, workflow-generator\n - 财务域:customer-profit\n - HR域:hr\n\n3. 新增KTV智慧营销域模块(未来规划):\n - 内容管理、社交媒体、GEO优化、投流管理、直播运营、商家联盟、社群运营、团购运营等34个模块\n\n4. 清理重复模块定义:\n - 删除 users, roles, departments, notifications, files, events, approvals, analytics, dashboard, reports, im 的重复定义\n\n模块统计:\n- 已部署模块:142个(全部覆盖)\n- 总定义模块:176个(含34个未来规划模块)\n\n严格遵循8条开发红线\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5c0e2a9ccc614bb1dac8ed3875f4eeddb1bed80d","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T06:14:38Z","added":[],"removed":[],"modified":["backend/src/shared/constants/modules.ts"]},{"id":"b7ed9e35d5ce2b9182dd507c95aa9c675335c3b3","message":"feat: 营销模块客户/门店维度增强 - 活动定向、客户分群、营销分析\n\n核心功能:\n- 新增4个数据库表:campaign_targets、audience_segments、segment_members、campaign_performance\n- 新增3个后端模块:campaign-targets(活动定向)、segments(客户分群)、customer-marketing(营销分析)\n- 新增3个前端API模块,包含完整类型定义和工具函数\n- 新增18个权限配置,归入营销客户维度分组\n\n技术亮点:\n- 分群状态机:draft → active → paused → archived\n- 营销衍生指标:CTR、CVR、ROI、CPA、ROAS 自动计算\n- 多维度分析:客户、门店、活动、分群四个维度\n- 严格遵循8条开发红线\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b7ed9e35d5ce2b9182dd507c95aa9c675335c3b3","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T06:00:53Z","added":["backend/src/modules/campaign-targets/index.ts","backend/src/modules/customer-marketing/index.ts","backend/src/modules/segments/index.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/segments.ts"],"removed":[],"modified":["backend/prisma/schema.prisma","backend/src/main.ts","backend/src/shared/constants/permissions.ts"]},{"id":"fb6039939f7601cf35179127a6b8205e787342aa","message":"feat: 完善社交账号、广告人群、广告报表等6个核心模块,严格遵循8条开发红线\n\n完善模块:\n- social-accounts: 8平台账号授权、数据同步、指标追踪、健康度评估\n- social-interactions: 6种互动类型、4种状态、情感分析、自动回复\n- livestream-analytics: 10+分析维度、房间/商品/主播/话术效果分析\n- livestream-scripts: 7种话术类型、6种场景、AI生成优化、结构化模板\n- ad-audiences: 6种人群类型、6种数据源、相似人群、规则验证\n- ad-reports: 8种报表API、10种指标计算、预算预警、效果建议\n\n特性:\n- 状态机驱动:所有状态变更通过POST动作接口\n- 类型安全:禁用any,完整类型定义与后端严格匹配\n- 四层架构:智库层/数链层/SOP层/IM层交互文档\n- 工具函数:格式化、验证、健康度计算、图表数据生成\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb6039939f7601cf35179127a6b8205e787342aa","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T05:02:28Z","added":[],"removed":[],"modified":["frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/livestream-analytics.ts","frontend/src/api/modules/livestream-scripts.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-interactions.ts"]}],"total_commits":0,"head_commit":{"id":"89209aba1afe21133399ce0db0a47c2729c9a4b4","message":"feat: 新增门店管理模块,补充门店维度营销分析端点\n\n一、门店管理模块 (stores)\n- 门店 CRUD:创建、更新、删除、状态管理\n- 门店类型:旗舰店、标准店、加盟店、合作店、迷你店、快闪店\n- 状态机:pending → active → suspended/renovating → closed\n\n二、门店维度营销分析端点\n- GET /stores/:id/marketing-analytics - 门店营销分析(活动、直播、团购、订单汇总)\n- GET /stores/:id/roi-analytics - 门店 ROI 分析(投入产出比、渠道分解、同比环比)\n- GET /stores/:id/livestream-stats - 门店直播统计(场次、时长、观众、GMV)\n- GET /stores/:id/campaigns - 门店活动列表\n\n三、门店对比和排行\n- POST /stores/compare - 多门店横向对比\n- GET /stores/ranking - 门店排行榜(营收、订单、评分、直播GMV)\n\n四、门店营销配置\n- PATCH /stores/:id/marketing-config - 团购/直播/促销开关、平台配置、预算设置\n\n五、前端 API 模块\n- stores.ts:完整类型定义 + API 封装 + 状态配置 + 工具函数\n\n严格遵循8条开发红线\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/89209aba1afe21133399ce0db0a47c2729c9a4b4","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T07:36:12Z","added":["backend/src/modules/stores/index.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/stores/store.service.ts","frontend/src/api/modules/stores.ts"],"removed":[],"modified":["backend/src/shared/constants/modules.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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":9503,"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-23T23:59:28+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"}}...
|
push
|
2
|
2
|
0
|
1771862412
|
0
|
1771862389
|
1771862412
|
NULL
|
|
0
|
Edit
Delete
|
|
47
|
feat: 完善菜单系统与获客域组件
|
6
|
5
|
quality-check.yml
|
8
|
5
|
0
|
refs/heads/main
|
a7c22fc0f5e2d113210bb58646dcdbf7381be245
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"89209aba1afe21133399ce0db0a47c2729c9a4b4","after":"a7c22fc0f5e2d113210bb58646dcdbf7381be245","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/89209aba1afe21133399ce0db0a47c2729c9a4b4...a7c22fc0f5e2d113210bb58646dcdbf7381be245","commits":[{"id":"a7c22fc0f5e2d113210bb58646dcdbf7381be245","message":"feat: 完善菜单系统与获客域组件\n\n菜单系统优化:\n- 完善路由配置和菜单定义\n- 优化侧边栏布局组件\n\n获客域改进:\n- 重构 CalendarSidebar 组件\n- 完善 useTodos composable 逻辑\n- 优化 acquisition Index 页面\n\nAPI 适配器优化:\n- 完善订单和报价模块接口\n- 优化类型定义\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a7c22fc0f5e2d113210bb58646dcdbf7381be245","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-01-24T13:15:57+08:00","added":[],"removed":[],"modified":["backend/src/modules/orders/order.service.ts","backend/src/modules/quotes/quote.service.ts","frontend/src/api/adapters.ts","frontend/src/api/modules/orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/layout/SidebarV2.vue","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/enums.ts","frontend/src/views/acquisition/Index.vue","frontend/src/views/acquisition/components/CalendarSidebar.vue","frontend/src/views/acquisition/composables/types.ts","frontend/src/views/acquisition/composables/useTodos.ts"]},{"id":"c33235407144b26da2f8210eafefcb17b16eb681","message":"feat(activity): 完善活动组件功能\n\n- 提取时间格式化工具函数到 utils/date.ts\n - formatMinutesToReadable: 格式化分钟数为可读格式\n - formatTimeOnly: 格式化时间为 HH:mm 格式\n - formatOverdue: 格式化逾期时间描述\n - getDateLabel: 获取日期友好标签(今天、昨天、周几)\n\n- ActivityTodayPanel 新增自动刷新功能\n - 添加 refreshInterval prop 配置刷新间隔\n - 实现定时器自动刷新机制\n - 添加生命周期管理确保定时器正确清理\n\n- ActivityQuickCreate 新增最近使用类型功能\n - 使用 localStorage 持久化最近使用的活动类型\n - 快捷类型列表优先显示最近使用的类型\n - 创建成功后自动保存到最近使用列表\n\n- ActivityTimeline 代码优化\n - 使用共享工具函数替代本地重复代码\n - 简化 groupedActivities 计算逻辑\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c33235407144b26da2f8210eafefcb17b16eb681","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-01-24T13:15:47+08:00","added":[],"removed":[],"modified":["frontend/src/components/business/ActivityQuickCreate.vue","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/ActivityTodayPanel.vue","frontend/src/components/business/WorkstationCalendarGantt.vue","frontend/src/utils/date.ts"]},{"id":"89aabcffe0caa49473f79ba33ee5a776168823d3","message":"fix(types): 修复 TypeScript 类型错误\n\n- tsconfig.json: 添加 Node.js 类型定义\n- slow-query.middleware.ts: 修复 Express 类型导入\n- encryption.middleware.ts: 修复泛型索引类型错误\n- encryption.service.ts: 修复泛型索引类型错误\n- outbox-processor.service.ts: 添加 Kafka producer 空值检查\n\n剩余类型错误主要为 Prisma 相关,需要执行 prisma generate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/89aabcffe0caa49473f79ba33ee5a776168823d3","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-24T04:42:53Z","added":[],"removed":[],"modified":["backend/src/shared/middleware/encryption.middleware.ts","backend/src/shared/middleware/slow-query.middleware.ts","backend/src/shared/services/encryption.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/tsconfig.json"]},{"id":"abd654ed9ddbab9a988c89074448d591135d7d51","message":"docs(claude): 新增 Claude Code 工具使用规范章节\n\n新增内容:\n- 工具选择决策树(快速判断使用哪个工具)\n- 文件操作工具规范(Read/Glob/Grep/Edit/Write)\n- 命令执行工具规范(Bash 适用场景和禁止操作)\n- Task 工具使用指南(11 种 Agent 类型选择)\n- TodoWrite 任务追踪规范\n- Web 工具使用方法\n- 4 种常用工具组合模式\n- 项目特定规范(多租户/状态机/事件/7层一致性)\n- 工具使用禁忌对照表\n- 效率优化原则\n\n版本更新:v7.2 → v7.3\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/abd654ed9ddbab9a988c89074448d591135d7d51","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-01-24T11:37:19+08:00","added":["frontend/src/views/acquisition/Integrations.vue","frontend/src/views/acquisition/TobTocGateway.vue","frontend/src/views/ad/Accounts.vue","frontend/src/views/ad/Analytics.vue","frontend/src/views/ad/Audiences.vue","frontend/src/views/ad/Biddings.vue","frontend/src/views/ad/Campaigns.vue","frontend/src/views/ad/Creatives.vue","frontend/src/views/ad/Placements.vue","frontend/src/views/ad/Reports.vue","frontend/src/views/admin/ApiMonitor.vue","frontend/src/views/admin/Bom.vue","frontend/src/views/admin/CacheMonitor.vue","frontend/src/views/admin/KafkaMonitor.vue","frontend/src/views/admin/SystemMonitor.vue","frontend/src/views/ai/Copilot.vue","frontend/src/views/alliance/Analytics.vue","frontend/src/views/alliance/Coupons.vue","frontend/src/views/alliance/Merchants.vue","frontend/src/views/alliance/Products.vue","frontend/src/views/alliance/Promotions.vue","frontend/src/views/alliance/Referrals.vue","frontend/src/views/alliance/Settlements.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/approvals/Configs.vue","frontend/src/views/approvals/Templates.vue","frontend/src/views/assets/Maintenance.vue","frontend/src/views/assets/Transfers.vue","frontend/src/views/attribution/ConversionPaths.vue","frontend/src/views/attribution/Models.vue","frontend/src/views/attribution/MultiTouch.vue","frontend/src/views/attribution/Reports.vue","frontend/src/views/campaigns/Analytics.vue","frontend/src/views/campaigns/Drafts.vue","frontend/src/views/campaigns/Tools.vue","frontend/src/views/campaigns/UseCaseTemplates.vue","frontend/src/views/channels/Analytics.vue","frontend/src/views/channels/QrCodes.vue","frontend/src/views/channels/UtmTracking.vue","frontend/src/views/community/Gamification.vue","frontend/src/views/finance/AgingAnalysis.vue","frontend/src/views/finance/ApLedger.vue","frontend/src/views/finance/ArLedger.vue","frontend/src/views/finance/CostAllocation.vue","frontend/src/views/finance/ExpenseClaims.vue","frontend/src/views/finance/InvoiceRequests.vue","frontend/src/views/finance/InvoiceVerification.vue","frontend/src/views/finance/PaymentPlans.vue","frontend/src/views/finance/SupplierPayments.vue","frontend/src/views/geo/Analysis.vue","frontend/src/views/groupbuy/Pricing.vue","frontend/src/views/groupbuy/Rankings.vue","frontend/src/views/groupbuy/Rules.vue","frontend/src/views/groupbuy/Vouchers.vue","frontend/src/views/hr/Payroll.vue","frontend/src/views/im/Channels.vue","frontend/src/views/im/VideoCall.vue","frontend/src/views/knowledge/Tags.vue","frontend/src/views/leads/Import.vue","frontend/src/views/leads/Intelligence.vue","frontend/src/views/leads/Pool.vue","frontend/src/views/leads/Pools.vue","frontend/src/views/leads/Scoring.vue","frontend/src/views/livestream/Replays.vue","frontend/src/views/marketing/AbmMarketing.vue","frontend/src/views/marketing/Attribution.vue","frontend/src/views/marketing/Dashboard.vue","frontend/src/views/marketing/Effectiveness.vue","frontend/src/views/members/Benefits.vue","frontend/src/views/members/Levels.vue","frontend/src/views/members/Points.vue","frontend/src/views/organization/Chart.vue","frontend/src/views/organization/Positions.vue","frontend/src/views/social/Matrix.vue","frontend/src/views/stores/Agency.vue","frontend/src/views/stores/Configs.vue","frontend/src/views/stores/Dashboard.vue","frontend/src/views/stores/LocalEvents.vue","frontend/src/views/stores/LocalPromotion.vue","frontend/src/views/stores/Performance.vue","frontend/src/views/stores/SelfOperated.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/system/BizSequences.vue","frontend/src/views/system/Dictionaries.vue","frontend/src/views/system/EmailTemplates.vue","frontend/src/views/system/Events.vue","frontend/src/views/system/Files.vue","frontend/src/views/system/IntegrationServices.vue","frontend/src/views/system/LoginLogs.vue","frontend/src/views/system/Menus.vue","frontend/src/views/system/OperationLogs.vue","frontend/src/views/system/Permissions.vue","frontend/src/views/system/Realtime.vue","frontend/src/views/system/SecuritySettings.vue","frontend/src/views/system/Settings.vue","frontend/src/views/system/WorkflowGenerator.vue","frontend/src/views/tenant/Branding.vue","frontend/src/views/tenant/Settings.vue","frontend/src/views/video/Analytics.vue","frontend/src/views/video/Content.vue","frontend/src/views/video/Publishing.vue"],"removed":[],"modified":["CLAUDE.md","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/orders/Index.vue","frontend/src/views/quotes/Detail.vue"]},{"id":"0b4942d200d9009d4c6ee1e06674d71f13585a52","message":"feat(menu): 将渠道客户移动到销售中心的渠道管理分组\n\n- 修改 partner-customers 路由的 menuGroup 从 '主数据' 改为 '渠道管理'\n- 在 SALES_ITEMS 中添加 partner-customers 菜单项\n- 调整 menuOrder 为 3(在客户管理和合作伙伴之后)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0b4942d200d9009d4c6ee1e06674d71f13585a52","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-01-24T02:33:47+08:00","added":[],"removed":[],"modified":["frontend/src/router/index.ts","frontend/src/router/menu.ts"]}],"total_commits":0,"head_commit":{"id":"a7c22fc0f5e2d113210bb58646dcdbf7381be245","message":"feat: 完善菜单系统与获客域组件\n\n菜单系统优化:\n- 完善路由配置和菜单定义\n- 优化侧边栏布局组件\n\n获客域改进:\n- 重构 CalendarSidebar 组件\n- 完善 useTodos composable 逻辑\n- 优化 acquisition Index 页面\n\nAPI 适配器优化:\n- 完善订单和报价模块接口\n- 优化类型定义\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a7c22fc0f5e2d113210bb58646dcdbf7381be245","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-01-24T13:15:57+08:00","added":[],"removed":[],"modified":["backend/src/modules/orders/order.service.ts","backend/src/modules/quotes/quote.service.ts","frontend/src/api/adapters.ts","frontend/src/api/modules/orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/layout/SidebarV2.vue","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/enums.ts","frontend/src/views/acquisition/Index.vue","frontend/src/views/acquisition/components/CalendarSidebar.vue","frontend/src/views/acquisition/composables/types.ts","frontend/src/views/acquisition/composables/useTodos.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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":14720,"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:00:10+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"}}...
|
push
|
2
|
3
|
1771862498
|
1771862759
|
0
|
1771862412
|
1771862759
|
NULL
|
|
0
|
Edit
Delete
|
|
6706
|
Update Playwright reports and schema export
|
6
|
5
|
quality-check.yml
|
6634
|
5
|
0
|
refs/heads/main
|
e112d45af414e4862c0328abad7c4df74d3c1dbf
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"546fbeca78809fbcac00c1eef45705beea0bc71f","after":"e112d45af414e4862c0328abad7c4df74d3c1dbf","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/546fbeca78809fbcac00c1eef45705beea0bc71f...e112d45af414e4862c0328abad7c4df74d3c1dbf","commits":[{"id":"e112d45af414e4862c0328abad7c4df74d3c1dbf","message":"Update Playwright reports and schema export\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e112d45af414e4862c0328abad7c4df74d3c1dbf","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-18T18:50:23+08:00","added":["backend/prisma/full_schema_export.sql","e2e/playwright-report/data/b5717d8ae94333909707a21f9056a0980f7f51b3.png","e2e/playwright-report/data/d005afba863da16e39b48fa73e31d94d961d282e.md","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773830986385.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773830989411.json"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/results.json","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773742859224.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773742913298.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773742832445.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773742905489.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773742908471.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773742914829.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773742975475.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773742971761.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773742954906.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773742952242.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773742977831.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773742949689.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773742945093.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773742947355.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773742942825.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773742956466.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773742957897.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773829687571.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773743722324.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773743726242.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773743724201.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773743728230.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773743734442.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773743736782.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773743716454.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773743732908.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773743730791.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773743717905.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773743691682.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773743689695.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773743796296.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773743745810.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773743747679.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/ai-acquisition-content/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/preflight.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json"]},{"id":"9d21e85be8cdf327c0e2912ab110884f4ac15f56","message":"Implement Playwright E2E v3 runner and auth preflight\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d21e85be8cdf327c0e2912ab110884f4ac15f56","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-18T18:35:16+08:00","added":["backend/src/config/cors.utils.test.ts","backend/src/config/cors.utils.ts","e2e/test-results/results.json","frontend/src/api/api-base-url.test.ts","frontend/src/api/api-base-url.ts","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773829687571.json","output/playwright/full-menu-write-batches/preflight.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.md","output/playwright/full-menu-write-batches/system-infra/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773829546757.json"],"removed":["e2e/playwright-report/data/55c18ca35697bc024c074ac9086dd994e86cc151.png","e2e/playwright-report/data/5fa50083e53d7655e023a9639d0d9de02d5a3795.md","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773796331440.json","output/playwright/full-menu-write-batches/finance/probes/-financial-reports-1773796438526.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773796250209.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773796251966.json","output/playwright/full-menu-write-batches/finance/probes/-reconciliation-1773796504124.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773743148862.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773743143558.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773743151490.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773743138758.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773743141237.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773743146130.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773743124715.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773743100731.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773743170269.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773743183756.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773743154236.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773743155879.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773743159704.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773743162659.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773743123171.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773743161082.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773743166011.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773743157403.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773743168825.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773744102517.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773744087923.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773744064195.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773744062147.json"],"modified":["backend/src/config/env.ts","e2e/.auth/admin.json","e2e/global-setup.ts","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/auth.setup.ts","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/navigation/full-menu-runtime.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/api/client.ts","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json"]}],"total_commits":0,"head_commit":{"id":"e112d45af414e4862c0328abad7c4df74d3c1dbf","message":"Update Playwright reports and schema export\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e112d45af414e4862c0328abad7c4df74d3c1dbf","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-18T18:50:23+08:00","added":["backend/prisma/full_schema_export.sql","e2e/playwright-report/data/b5717d8ae94333909707a21f9056a0980f7f51b3.png","e2e/playwright-report/data/d005afba863da16e39b48fa73e31d94d961d282e.md","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773830986385.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773830989411.json"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/results.json","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773742859224.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773742913298.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773742832445.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773742905489.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773742908471.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773742914829.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773742975475.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773742971761.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773742954906.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773742952242.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773742977831.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773742949689.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773742945093.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773742947355.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773742942825.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773742956466.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773742957897.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773829687571.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773743722324.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773743726242.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773743724201.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773743728230.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773743734442.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773743736782.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773743716454.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773743732908.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773743730791.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773743717905.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773743691682.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773743689695.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773743796296.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773743745810.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773743747679.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/ai-acquisition-content/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/preflight.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json"]},"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":1855070,"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-18T17:30:33+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"}}...
|
push
|
3
|
15
|
1773832591
|
1773832728
|
0
|
1773831750
|
1773832746
|
group: quality-${{ github.workflow }}-${{ github.r group: quality-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
quality-quality-check.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
6716
|
Refresh whitelist governance and AI acquisition E2 Refresh whitelist governance and AI acquisition E2E artifacts...
|
6
|
5
|
quality-check.yml
|
6644
|
5
|
0
|
refs/heads/main
|
b7eb415d7a9689f1efec941bcb2dcd7d098e9c28
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e112d45af414e4862c0328abad7c4df74d3c1dbf","after":"b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e112d45af414e4862c0328abad7c4df74d3c1dbf...b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","commits":[{"id":"b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","message":"Refresh whitelist governance and AI acquisition E2E artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","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-18T19:18:31+08:00","added":["e2e/playwright-report/data/3cb743a8474966b8784671ca88d35e542535cafc.png","e2e/playwright-report/data/3d43004a7d2bd47e02bf0457eeddce5021cf790d.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773832511217.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773832575440.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773832484248.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773832567210.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773832570717.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773832577657.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773832620646.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773832616985.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773832609391.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773832605769.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773832647036.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773832629769.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773832636567.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773832623428.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773832643321.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773832627140.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773832633049.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773832602539.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773832596085.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773832599293.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773832691465.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773832685037.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773832688219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773832676137.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773832678592.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773832682628.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773832611306.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773832639398.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773832649773.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773832662507.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773832669719.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773832673311.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773832666117.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773832655388.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773832658104.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773832652086.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773832613605.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773832694219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773832696897.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.md","output/playwright/full-menu-write-batches/hr/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773832607351.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773832660535.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773832695067.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773832645706.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773832621372.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773832619326.json"],"removed":["output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773831648098.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773831712941.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773831619505.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773831704311.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773831708092.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773831715108.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773831747926.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773831744212.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773831740169.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773831733855.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773831737252.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773831750357.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/visible-menu-snapshot.json"],"modified":["DEPLOYMENT.md","e2e/playwright-report/index.html","e2e/tests/navigation/requested-menu-whitelist.ts","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.md","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/hr/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/preflight.json"]},{"id":"f47b241f0742ff8814ccc90955319f274a0ea1b2","message":"Add synergy visible-menu action coverage reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f47b241f0742ff8814ccc90955319f274a0ea1b2","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-18T19:13:41+08:00","added":["output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773832343931.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773832346965.json"],"removed":[],"modified":[]},{"id":"3db89f5baaacdfa1cfb867203a6c0476ab8d1bc4","message":"Refresh Playwright finance and supply-chain batch reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3db89f5baaacdfa1cfb867203a6c0476ab8d1bc4","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-18T19:12:22+08:00","added":["output/playwright/full-menu-write-batches/finance/probes/-invoices-1773832194634.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773832196839.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773832315157.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773832321197.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773832318256.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773832324845.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773832332554.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773832335499.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773832307930.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773832330591.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773832328454.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773832310488.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773832302659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773832300119.json"],"removed":["e2e/playwright-report/data/058b987e3e23aabc824f71f9283eaa84bf94f977.png","e2e/playwright-report/data/7a8b1975a8e1ee18b11414a9bbad9b7eaa0612a7.md","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.md","output/playwright/full-menu-write-batches/synergy/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773831048413.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773830986385.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773831061764.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773831057290.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773830989411.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773831054053.json"],"modified":["e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/finance/action-coverage-report.json"]},{"id":"1ee19d416f6c1d39365fb18293110d79f2e5e464","message":"Update deployment docs and refresh AI acquisition reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1ee19d416f6c1d39365fb18293110d79f2e5e464","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-18T19:09:37+08:00","added":["DEPLOYMENT.md","e2e/playwright-report/data/058b987e3e23aabc824f71f9283eaa84bf94f977.png","e2e/playwright-report/data/7a8b1975a8e1ee18b11414a9bbad9b7eaa0612a7.md","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.md","output/playwright/full-menu-write-batches/ai-acquisition-content/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.png","output/playwright/full-menu-write-batches/finance/action-coverage-report.json"],"removed":["e2e/playwright-report/data/37467f0e13e8b92759aebe2161cef164132a33b5.md","e2e/playwright-report/data/e14520b687ff8ef94cbe0fdaa5ad92202196a12b.png"],"modified":["DEPLOY.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json"]},{"id":"77a4917f2819798f1163c9e8ec884ff9f55bf8fd","message":"Update requested whitelist and refresh full-menu batch reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/77a4917f2819798f1163c9e8ec884ff9f55bf8fd","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-18T19:05:03+08:00","added":["backend/prisma/seed.sql","e2e/playwright-report/data/37467f0e13e8b92759aebe2161cef164132a33b5.md","e2e/playwright-report/data/e14520b687ff8ef94cbe0fdaa5ad92202196a12b.png","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773831648098.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773831712941.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773831619505.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773831704311.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773831708092.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773831715108.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773831747926.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773831744212.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773831740169.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773831733855.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773831737252.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773831750357.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.md","output/playwright/full-menu-write-batches/synergy/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773831048413.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773831061764.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773831057290.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773831054053.json"],"removed":["e2e/playwright-report/data/b5717d8ae94333909707a21f9056a0980f7f51b3.png","e2e/playwright-report/data/d005afba863da16e39b48fa73e31d94d961d282e.md","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.md","output/playwright/full-menu-write-batches/hr/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773744051517.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.md","output/playwright/full-menu-write-batches/system-infra/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773829546757.json"],"modified":["backend/prisma/DATABASE_DEPLOYMENT.md","e2e/playwright-report/index.html","e2e/tests/navigation/requested-menu-whitelist.ts","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/hr/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/preflight.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json"]}],"total_commits":0,"head_commit":{"id":"b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","message":"Refresh whitelist governance and AI acquisition E2E artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","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-18T19:18:31+08:00","added":["e2e/playwright-report/data/3cb743a8474966b8784671ca88d35e542535cafc.png","e2e/playwright-report/data/3d43004a7d2bd47e02bf0457eeddce5021cf790d.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773832511217.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773832575440.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773832484248.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773832567210.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773832570717.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773832577657.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773832620646.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773832616985.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773832609391.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773832605769.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773832647036.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773832629769.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773832636567.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773832623428.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773832643321.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773832627140.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773832633049.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773832602539.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773832596085.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773832599293.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773832691465.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773832685037.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773832688219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773832676137.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773832678592.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773832682628.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773832611306.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773832639398.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773832649773.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773832662507.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773832669719.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773832673311.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773832666117.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773832655388.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773832658104.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773832652086.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773832613605.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773832694219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773832696897.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.md","output/playwright/full-menu-write-batches/hr/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773832607351.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773832660535.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773832695067.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773832645706.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773832621372.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773832619326.json"],"removed":["output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-12.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-13.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-14.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-15.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-16.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-17.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-18.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-19.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-20.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-21.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-22.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-23.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-24.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-25.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-26.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-27.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-28.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-29.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-30.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-31.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-32.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-33.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-34.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-35.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-36.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773831648098.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773831712941.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773831619505.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773831704311.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773831708092.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773831715108.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773831747926.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773831744212.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773831740169.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773831733855.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773831737252.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773831750357.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/visible-menu-snapshot.json"],"modified":["DEPLOYMENT.md","e2e/playwright-report/index.html","e2e/tests/navigation/requested-menu-whitelist.ts","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.md","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/hr/visible-menu-snapshot.json","output/playwright/full-menu-write-batches/preflight.json"]},"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":1855996,"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-18T19:02:38+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"}}...
|
push
|
2
|
16
|
1773833154
|
1773833229
|
0
|
1773832746
|
1773833313
|
group: quality-${{ github.workflow }}-${{ github.r group: quality-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
quality-quality-check.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
6999
|
Prepare v1.0.0 release
|
6
|
5
|
quality-check.yml
|
6926
|
5
|
0
|
refs/heads/main
|
bd59e5501292cb061719f669c7a7b7afd4f1a0b7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","after":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/b7eb415d7a9689f1efec941bcb2dcd7d098e9c28...bd59e5501292cb061719f669c7a7b7afd4f1a0b7","commits":[{"id":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","message":"Prepare v1.0.0 release\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bd59e5501292cb061719f669c7a7b7afd4f1a0b7","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-19T17:33:01+08:00","added":["CHANGELOG.md"],"removed":[],"modified":[]},{"id":"3e200dbc88dfcb3956ab27f4f620206b037ae2d2","message":"Finalize full-menu Playwright v4 E2E coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3e200dbc88dfcb3956ab27f4f620206b037ae2d2","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-19T17:23:33+08:00","added":["e2e/test-results/.last-run.json","e2e/test-results/results.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/probes/-financial-reports-1773910224029.json","output/playwright/full-menu-write-batches/finance/probes/-reconciliation-1773910253314.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773910615800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773910329529.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773910337976.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773910333828.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773910342196.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773910353724.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773910358429.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773910318859.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773910350086.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773910346853.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773910322524.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773910290863.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773910287130.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773910421381.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773910374888.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773910441319.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773910433220.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773910379196.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773910428656.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773910665700.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773910696582.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773910648584.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773910638943.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773910635686.json"],"removed":["e2e/test-results/.playwright-artifacts-1/025818e03bd4ce65c4cf502e0812b105.png","e2e/test-results/.playwright-artifacts-1/18d1ac54e9a3845e720cd94178623d92.png","e2e/test-results/.playwright-artifacts-1/1ae78a5aeff7e3d17909891fe1e5a36d.png","e2e/test-results/.playwright-artifacts-1/2011d9959a38829a7f1097598aecaf41.png","e2e/test-results/.playwright-artifacts-1/2359fe7f8394795d4b0088f84fc6d95e.png","e2e/test-results/.playwright-artifacts-1/24277e2d16babfcf335fbc1b73fac589.png","e2e/test-results/.playwright-artifacts-1/31f034d0f1495fd80a731b19fa18a73d.png","e2e/test-results/.playwright-artifacts-1/3cc5646ba43f55ae375e488c73150ab7.png","e2e/test-results/.playwright-artifacts-1/53e152d99ded6fc51a753c69c956cff1.png","e2e/test-results/.playwright-artifacts-1/72680f4e8292048a2c4ec605096d2d2b.png","e2e/test-results/.playwright-artifacts-1/7a6e694f775481ba926b547f6b3e5539.png","e2e/test-results/.playwright-artifacts-1/8e3e5459ac691fe69815d94a6db2ec83.png","e2e/test-results/.playwright-artifacts-1/9149e80c441ecd64f6a603f8b5fee5e8.png","e2e/test-results/.playwright-artifacts-1/9efcaac33730e4e64a4f49bd8e504756.png","e2e/test-results/.playwright-artifacts-1/a10dfa14615d709928fea5e3b692b955.png","e2e/test-results/.playwright-artifacts-1/a48643fc198811637ff869db15beeba3.png","e2e/test-results/.playwright-artifacts-1/b8135d62f448913c7b50ffdcc503a1a5.png","e2e/test-results/.playwright-artifacts-1/bbe459427b436cc343ae4b962e54d765.png","e2e/test-results/.playwright-artifacts-1/bd2124ff9981c2aff7c27bfd0ec25820.png","e2e/test-results/.playwright-artifacts-1/d3d3a5cd7ce1ff6c3e9e7e9c2d30d9dc.png","e2e/test-results/.playwright-artifacts-1/f2bdd00e1eb8a8b7778d9b2d050573d5.png","e2e/test-results/.playwright-artifacts-1/f6cf0f8efecb9624d2ac2708fed01cde.png","e2e/test-results/.playwright-artifacts-1/fa70791f68aa9218a6498f39a4000dbd.png","e2e/test-results/.playwright-artifacts-1/fa7d79fe1abb297edec494dec6c25696.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910058657-ar-ledger-1773910058656.csv","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910084304-账龄分析_应收_2026-03-19.xlsx","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910120544-供应商付款_2026-03-19.xlsx","output/playwright/full-menu-write-batches/.run-lock.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773906597036.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773906299292.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773906307948.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773906303645.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773906312533.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773906323246.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773906328124.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773906288702.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773906320094.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773906316767.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773906292462.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773906281016.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773906277356.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773906391451.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773906344057.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773906411399.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773906403262.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773906348431.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773906398742.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773906648231.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773906679209.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773906630998.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773906621022.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773906617633.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/batch-state.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/batch-state.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/batch-state.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/batch-state.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json","output/playwright/full-menu-write-batches/system-infra/batch-state.json"]},{"id":"ec555da79e0898b3ba48a8f9b75b5689a0845d9b","message":"Stabilize full-menu Playwright batch runner and governance contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ec555da79e0898b3ba48a8f9b75b5689a0845d9b","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-19T16:49:52+08:00","added":["e2e/test-results/.playwright-artifacts-1/025818e03bd4ce65c4cf502e0812b105.png","e2e/test-results/.playwright-artifacts-1/18d1ac54e9a3845e720cd94178623d92.png","e2e/test-results/.playwright-artifacts-1/1ae78a5aeff7e3d17909891fe1e5a36d.png","e2e/test-results/.playwright-artifacts-1/2011d9959a38829a7f1097598aecaf41.png","e2e/test-results/.playwright-artifacts-1/2359fe7f8394795d4b0088f84fc6d95e.png","e2e/test-results/.playwright-artifacts-1/24277e2d16babfcf335fbc1b73fac589.png","e2e/test-results/.playwright-artifacts-1/31f034d0f1495fd80a731b19fa18a73d.png","e2e/test-results/.playwright-artifacts-1/3cc5646ba43f55ae375e488c73150ab7.png","e2e/test-results/.playwright-artifacts-1/53e152d99ded6fc51a753c69c956cff1.png","e2e/test-results/.playwright-artifacts-1/72680f4e8292048a2c4ec605096d2d2b.png","e2e/test-results/.playwright-artifacts-1/7a6e694f775481ba926b547f6b3e5539.png","e2e/test-results/.playwright-artifacts-1/8e3e5459ac691fe69815d94a6db2ec83.png","e2e/test-results/.playwright-artifacts-1/9149e80c441ecd64f6a603f8b5fee5e8.png","e2e/test-results/.playwright-artifacts-1/9efcaac33730e4e64a4f49bd8e504756.png","e2e/test-results/.playwright-artifacts-1/a10dfa14615d709928fea5e3b692b955.png","e2e/test-results/.playwright-artifacts-1/a48643fc198811637ff869db15beeba3.png","e2e/test-results/.playwright-artifacts-1/b8135d62f448913c7b50ffdcc503a1a5.png","e2e/test-results/.playwright-artifacts-1/bbe459427b436cc343ae4b962e54d765.png","e2e/test-results/.playwright-artifacts-1/bd2124ff9981c2aff7c27bfd0ec25820.png","e2e/test-results/.playwright-artifacts-1/d3d3a5cd7ce1ff6c3e9e7e9c2d30d9dc.png","e2e/test-results/.playwright-artifacts-1/f2bdd00e1eb8a8b7778d9b2d050573d5.png","e2e/test-results/.playwright-artifacts-1/f6cf0f8efecb9624d2ac2708fed01cde.png","e2e/test-results/.playwright-artifacts-1/fa70791f68aa9218a6498f39a4000dbd.png","e2e/test-results/.playwright-artifacts-1/fa7d79fe1abb297edec494dec6c25696.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910058657-ar-ledger-1773910058656.csv","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910084304-账龄分析_应收_2026-03-19.xlsx","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/downloads/1773910120544-供应商付款_2026-03-19.xlsx","output/playwright/full-menu-write-batches/.run-lock.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-acquisition-leads-1773909416083.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773909305898.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773909374579.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773909275689.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773909362631.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773909368646.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773909377783.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773909455359.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773909449361.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773909436582.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773909432314.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773909491975.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773909467964.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773909476915.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773909459350.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773909487143.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773909464182.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773909472304.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773909427459.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773909419514.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773909423514.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773909556716.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773909545848.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773909551313.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773909532803.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773909536429.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773909541709.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773909440203.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773909480888.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773909495855.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773909514476.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773909524037.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773909528858.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773909519233.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773909503838.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773909507723.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773909499300.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773909443684.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773909560958.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773909564882.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773910116601.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773910053286.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773910056561.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773909681857.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773909671197.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773909686694.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773909661864.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773909666564.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773909676945.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-agreements-1773909915243.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-campaigns-1773909920179.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-coupons-1773909902231.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-merchants-1773909887927.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-packages-1773909924388.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-partners-1773909930259.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-products-1773909892578.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-promotions-1773909897147.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-referrals-1773909910955.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-settlements-1773909905643.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773909635407.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773909605891.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773909720300.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773909736411.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773909691441.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-levels-1773909741546.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773909694097.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-messages-1773909745305.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773909702201.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773909708494.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contract-templates-1773909804469.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contracts-1773909799957.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-cpq-1773909808517.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-crm-activities-1773909828569.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773909612290.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773909776770.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-devices-1773909951932.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-diagnosis-1773909958605.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-faults-1773909968363.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-analytics-1773909833090.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-influencers-1773909854271.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-orders-1773909841637.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-participants-1773909845231.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-products-1773909837808.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-promotions-1773909859052.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-settlements-1773909849333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773909705215.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-leads-1773909772774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-location-assessments-1773909883408.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-maintenance-1773909965776.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773909713431.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773909697686.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-tools-1773909749098.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-meddpicc-analyses-1773909781218.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-1773909761254.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-pipeline-1773909763916.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-orders-1773909820029.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partner-customers-1773909790077.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partners-1773909785282.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773909717765.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-projects-1773909992088.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-quotes-1773909795263.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-rma-1773909955057.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sample-requests-1773909814787.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-satisfaction-1773909940584.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-segments-1773909753430.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sla-1773909947038.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-spare-parts-1773909962426.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-store-configs-1773909871717.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-stores-1773909868093.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-swot-analyses-1773909824106.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-targets-1773909766910.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-tickets-1773909934277.json"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/results.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-acquisition-leads-1773905385303.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773905274825.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773905343638.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773905243481.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773905331617.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773905337670.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773905346957.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773905424762.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773905418740.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773905406412.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773905402133.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773905461254.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773905436888.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773905446456.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773905428773.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773905456356.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773905433072.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773905441290.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773905397290.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773905388783.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773905393232.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773905523348.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773905512554.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773905518071.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773905500053.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773905503670.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773905508978.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773905409531.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773905450481.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773905465209.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773905483253.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773905491795.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773905496081.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773905487486.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773905473122.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773905477015.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773905468637.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773905413012.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773905527306.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773905531189.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773906117344.json","output/playwright/full-menu-write-batches/finance/probes/-financial-reports-1773906224294.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773906044970.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773906048232.json","output/playwright/full-menu-write-batches/finance/probes/-reconciliation-1773906233263.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773905628848.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773905617855.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773905633852.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773905609168.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773905613305.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773905623765.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-agreements-1773905907232.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-campaigns-1773905912128.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-coupons-1773905894292.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-merchants-1773905880454.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-packages-1773905916306.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-partners-1773905922110.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-products-1773905884614.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-promotions-1773905889200.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-referrals-1773905903021.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-settlements-1773905897746.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773905602619.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773905571526.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773905668601.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773905674633.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773905638806.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-levels-1773905679230.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773905641590.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-messages-1773905682971.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773905649634.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773905656676.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contract-templates-1773905741010.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contracts-1773905736550.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-cpq-1773905745068.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-crm-activities-1773905765754.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773905578700.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773905713927.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-devices-1773905943325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-diagnosis-1773905950167.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-faults-1773905959966.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-analytics-1773905769913.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-influencers-1773905791323.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-orders-1773905778993.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-participants-1773905782138.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-products-1773905774793.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-promotions-1773905796449.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-settlements-1773905786292.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773905653385.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-leads-1773905709905.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-location-assessments-1773905875893.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-maintenance-1773905957309.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773905661682.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773905645174.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-tools-1773905686736.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-meddpicc-analyses-1773905718214.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-1773905698160.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-pipeline-1773905700916.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-orders-1773905757076.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partner-customers-1773905726916.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partners-1773905722196.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773905666079.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-projects-1773905973638.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-quotes-1773905731961.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-rma-1773905946434.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sample-requests-1773905751235.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-satisfaction-1773905931813.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-segments-1773905691084.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sla-1773905938645.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-spare-parts-1773905953924.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-store-configs-1773905808314.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-stores-1773905804725.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-swot-analyses-1773905761238.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-targets-1773905703932.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-tickets-1773905926034.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/batch-state.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/batch-state.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/batch-state.json","output/playwright/full-menu-write-batches/preflight.json"]},{"id":"6881b6da73bfa06aefc33d638df23979cfea87b2","message":"Stabilize Playwright full-batch E2E governance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6881b6da73bfa06aefc33d638df23979cfea87b2","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-19T16:32:36+08:00","added":["e2e/test-results/.last-run.json","e2e/test-results/results.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773906117344.json","output/playwright/full-menu-write-batches/finance/probes/-financial-reports-1773906224294.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773906044970.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773906048232.json","output/playwright/full-menu-write-batches/finance/probes/-reconciliation-1773906233263.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773906597036.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773906299292.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773906307948.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773906303645.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773906312533.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773906323246.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773906328124.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773906288702.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773906320094.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773906316767.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773906292462.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773906281016.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773906277356.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773906391451.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773906344057.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773906411399.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773906403262.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773906348431.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773906398742.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773906648231.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773906679209.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773906630998.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773906621022.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773906617633.json"],"removed":["e2e/playwright-report/data/02308b9991105e862238795cbdbf4f004115dc01.png","e2e/playwright-report/data/03c9f2730b04d6a6128420f998f5d230a999dc95.png","e2e/playwright-report/data/08a6e1e6bd0d51212a86a73f86b6218bd006c6ab.png","e2e/playwright-report/data/095e7550cf7e09eb9abd0185163bda971b0f2f2a.png","e2e/playwright-report/data/0a76c6ebc9c0df6cda57faf510a96d38a9b8a146.png","e2e/playwright-report/data/0ac6e89477abe8bd6cc11752a4801745a788fb09.png","e2e/playwright-report/data/0af1d8e2ecb7c8498cb2c8ef7b3137b2e31ff35e.png","e2e/playwright-report/data/0bfeaf2c961ac0e35cd882f69480651c4c5b265b.png","e2e/playwright-report/data/0ed2adcb1d40d3b14742fdacbb97ad3bc0527e71.png","e2e/playwright-report/data/10134a734c50d6f99c87fe92efd6bda022998e65.png","e2e/playwright-report/data/1164fa7de6190da37c1bc3ad1629de1241f0fc35.png","e2e/playwright-report/data/15d7a5f8fef07f98258b027cd0d5322662c56add.png","e2e/playwright-report/data/15e073a80dbca46ad09795920dc73b557fe51610.png","e2e/playwright-report/data/174953a20c5e50db31d65c8cb6983e4e27ef5b3b.png","e2e/playwright-report/data/183632be199f1adc606ba9a406b6c93095a5ec8f.png","e2e/playwright-report/data/20f84716d29a2121b13f433c0061a9b3c1362dd0.png","e2e/playwright-report/data/2995e9d56c41ec342c8c95fed91c37c0de4dc0e2.png","e2e/playwright-report/data/2b1db4662bbe39133caaf9af2ad753145b93b015.png","e2e/playwright-report/data/2ea8edd7a7743f2d8a5a91baba8935a16312b297.png","e2e/playwright-report/data/39c1b7d205fe72dfcccaa2524e8c4454097a6732.png","e2e/playwright-report/data/3ffd509baf673df12afae65aaa66931ce8af2799.png","e2e/playwright-report/data/427b3a03919c19325a4e428b8f17b2e282703c33.png","e2e/playwright-report/data/439d84cae8fe70c2547dffd584e266b66ef7c980.png","e2e/playwright-report/data/48ae6af4e7040c65f34161a3f60e12b0329501ac.png","e2e/playwright-report/data/4af94e0547452270f763bbb41f30d321c4ee593a.png","e2e/playwright-report/data/5170bf368ec34269f3623d8b5883c92e03cb6cbd.png","e2e/playwright-report/data/51b6eac7634f6f399e2be034b853c875f86df3de.png","e2e/playwright-report/data/5672abd5d093295355d11a7aea53797a52ddb4f2.png","e2e/playwright-report/data/614fc0b216f00ddca6e530aa7e66177b2e01f28e.png","e2e/playwright-report/data/6a12aec3595bc58d1755a64cf754437fe97ad31f.png","e2e/playwright-report/data/6f24ac92655e9f12281c6d6df837b562c26345be.png","e2e/playwright-report/data/71a0f9f234c6c214bee86024da7e5a9a4a80893c.png","e2e/playwright-report/data/7502cc9d6b5d82fd66454a97eeb35a572d01a6da.png","e2e/playwright-report/data/7517ae2767e5b5077e17c7683ca18a1a2701069b.png","e2e/playwright-report/data/781470ce85e41d80a3c938b9044c65ee761fbcee.png","e2e/playwright-report/data/7abb97b628f7f7f7c88484d693eae6e5f3be1320.png","e2e/playwright-report/data/7b6c83e7164c3285b5f19c0d35dc81b3ce404ac5.png","e2e/playwright-report/data/7faf83a11db3c9e1486ef4350c738ef0775b3952.png","e2e/playwright-report/data/80bbe1bc8b10ba5039a76d88955106146728b1eb.png","e2e/playwright-report/data/830fefc9624b7657c5b4e3f4eeb104f5a78f1bfe.png","e2e/playwright-report/data/83a287b9c30d414d90f2f15f4c90b4ea81a60705.png","e2e/playwright-report/data/841d7caebbebb54df934666dbf8bf1d231d65402.png","e2e/playwright-report/data/843ed7f5e23b4e9e8a6cf700c41d0bcff24a9383.png","e2e/playwright-report/data/86915dc066d2db638c0b7c3e7b61cdd1f2ea745d.png","e2e/playwright-report/data/8c85155eaad581dcc5b4dbf9c0f223ac6ebd1db1.png","e2e/playwright-report/data/8e6aa520646f766e53b621b4595e7edd1140994b.png","e2e/playwright-report/data/9142f5d3d437f7027ee3894a7162d9af1972d447.png","e2e/playwright-report/data/9333789aba11cb793237eb2e11fd40449bb0ff22.png","e2e/playwright-report/data/960241e7bb35d537010c83f2484503bf7a8a1475.png","e2e/playwright-report/data/9c09e3d2d9c1dd15ffab7ce29764550b968aabc6.png","e2e/playwright-report/data/9cd3dc7472f543f18798f1665c92813aff6f6187.png","e2e/playwright-report/data/9dc9cfc14f6600c25a57153a5ee2555577139b9e.png","e2e/playwright-report/data/a09bd67ccfb07ac1c6384c2b5b3e99d08380c9b2.png","e2e/playwright-report/data/a1f739224c35ddc70cb5efbe9df6008d96c8d6b7.png","e2e/playwright-report/data/a5c192b0e1b473f9927a7e9b9b5b9e6a4dad6135.md","e2e/playwright-report/data/aa72644ae1414d0e5064ebcdb2982e5f2231a727.png","e2e/playwright-report/data/acd9da28c45f9d495ccd7f2e6a9780d9bd686b3f.png","e2e/playwright-report/data/ad2e7d231332b364493ef1060caafbda2e0b9bf9.png","e2e/playwright-report/data/af26934dce85e608079ea9f12f152d11e96f92de.png","e2e/playwright-report/data/af9438cd7e64b05cf17ffb2bcbd497ea709d0747.png","e2e/playwright-report/data/b118ac7e1b2eb2ce248b0260cc8dd8c92e924db8.png","e2e/playwright-report/data/bb8c6efa27e7649afb0afb2f32f0fa3c3cb71f79.png","e2e/playwright-report/data/bc7c442f945bb37c40ed234871ec4c14bd1cfdb7.png","e2e/playwright-report/data/bd1c37ba19d0babafb5bf5be4ccfa877b886c7a3.png","e2e/playwright-report/data/c71511738f51818c400e418f1a5a176643328d9b.png","e2e/playwright-report/data/cade77fa5ecdde9c1cc89cce22189c998b41d550.png","e2e/playwright-report/data/ccfe7e35e25bab670ef131f6837787607c11a566.png","e2e/playwright-report/data/cf0bf8b64ac40b9f1389d0da712884df98a998f7.png","e2e/playwright-report/data/d599211c1acb17a91af83216eb38fd77a545b281.png","e2e/playwright-report/data/d689579fabd7dddf49b4ae44da361b36ea53723d.png","e2e/playwright-report/data/d6ffe88f9fb3a0d562da210bc8beae9c118717eb.png","e2e/playwright-report/data/d957ff953ec9d9c607f7b01129cb01a7a9f49fc0.png","e2e/playwright-report/data/dafc98299f1b8c1b23cef76239a22a06a3f7dccd.png","e2e/playwright-report/data/db0cda3215f131440badd2bcc4b3d5e718fb1f6b.png","e2e/playwright-report/data/db3f8e6028a22cb2f674682c5b3a683368994e99.png","e2e/playwright-report/data/e443805dd3c2803b63b4787a67cabbaef1042861.png","e2e/playwright-report/data/e659e78f1788f09983c95d6370d169e3cdb89e3a.png","e2e/playwright-report/data/e854f16adf8a8588fdb72fd400916522d962ad0f.png","e2e/playwright-report/data/eaf7e55d9a61359b610b32529b03dfb7acd49e5d.png","e2e/playwright-report/data/efe4f41a47c0d8c6f8733fa3bf14ce4d28ec0ce5.png","e2e/playwright-report/data/f84f8c002baec2b6e3f11bd65696c10fbec84dd9.png","e2e/playwright-report/data/fd2b14bca92928a16ba6cb6694a48fce6ecc8b51.png","e2e/playwright-report/data/feb80a1dfb258a7f5419d7c5b33a99ef0296b099.png","e2e/test-results/.playwright-artifacts-1/7af6d3b8e3020cdee7cd0ee43b00277e.png","output/playwright/full-menu-write-batches/.run-lock.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773905185365.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773904484229.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773904493115.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773904488886.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773904497392.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773904508111.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773904512751.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773904473300.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773904504888.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773904501605.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773904477100.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773904466190.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773904462560.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773904565652.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773904529075.json","output/playwright/full-menu-write-batches/synergy/probes/-resource-requests-1773904585196.json","output/playwright/full-menu-write-batches/synergy/probes/-roles-1773904577179.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773904533459.json","output/playwright/full-menu-write-batches/synergy/probes/-users-1773904572765.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773904843981.json","output/playwright/full-menu-write-batches/system-infra/probes/-im-channels-1773904864268.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773904836820.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773904827431.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773904824129.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/batch-state.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/batch-state.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/batch-state.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/batch-state.json","output/playwright/full-menu-write-batches/system-infra/action-coverage-report.json","output/playwright/full-menu-write-batches/system-infra/batch-state.json"]},{"id":"b2b5220da718e21dae81c36253ad1705fd3e371b","message":"Update Playwright batch reports and E2E auth state\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b2b5220da718e21dae81c36253ad1705fd3e371b","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-19T15:40:17+08:00","added":["e2e/playwright-report/data/02308b9991105e862238795cbdbf4f004115dc01.png","e2e/playwright-report/data/03c9f2730b04d6a6128420f998f5d230a999dc95.png","e2e/playwright-report/data/08a6e1e6bd0d51212a86a73f86b6218bd006c6ab.png","e2e/playwright-report/data/095e7550cf7e09eb9abd0185163bda971b0f2f2a.png","e2e/playwright-report/data/0a76c6ebc9c0df6cda57faf510a96d38a9b8a146.png","e2e/playwright-report/data/0ac6e89477abe8bd6cc11752a4801745a788fb09.png","e2e/playwright-report/data/0af1d8e2ecb7c8498cb2c8ef7b3137b2e31ff35e.png","e2e/playwright-report/data/0bfeaf2c961ac0e35cd882f69480651c4c5b265b.png","e2e/playwright-report/data/0ed2adcb1d40d3b14742fdacbb97ad3bc0527e71.png","e2e/playwright-report/data/10134a734c50d6f99c87fe92efd6bda022998e65.png","e2e/playwright-report/data/1164fa7de6190da37c1bc3ad1629de1241f0fc35.png","e2e/playwright-report/data/15d7a5f8fef07f98258b027cd0d5322662c56add.png","e2e/playwright-report/data/15e073a80dbca46ad09795920dc73b557fe51610.png","e2e/playwright-report/data/174953a20c5e50db31d65c8cb6983e4e27ef5b3b.png","e2e/playwright-report/data/183632be199f1adc606ba9a406b6c93095a5ec8f.png","e2e/playwright-report/data/20f84716d29a2121b13f433c0061a9b3c1362dd0.png","e2e/playwright-report/data/2995e9d56c41ec342c8c95fed91c37c0de4dc0e2.png","e2e/playwright-report/data/2b1db4662bbe39133caaf9af2ad753145b93b015.png","e2e/playwright-report/data/2ea8edd7a7743f2d8a5a91baba8935a16312b297.png","e2e/playwright-report/data/39c1b7d205fe72dfcccaa2524e8c4454097a6732.png","e2e/playwright-report/data/3ffd509baf673df12afae65aaa66931ce8af2799.png","e2e/playwright-report/data/427b3a03919c19325a4e428b8f17b2e282703c33.png","e2e/playwright-report/data/439d84cae8fe70c2547dffd584e266b66ef7c980.png","e2e/playwright-report/data/48ae6af4e7040c65f34161a3f60e12b0329501ac.png","e2e/playwright-report/data/4af94e0547452270f763bbb41f30d321c4ee593a.png","e2e/playwright-report/data/5170bf368ec34269f3623d8b5883c92e03cb6cbd.png","e2e/playwright-report/data/51b6eac7634f6f399e2be034b853c875f86df3de.png","e2e/playwright-report/data/5672abd5d093295355d11a7aea53797a52ddb4f2.png","e2e/playwright-report/data/614fc0b216f00ddca6e530aa7e66177b2e01f28e.png","e2e/playwright-report/data/6a12aec3595bc58d1755a64cf754437fe97ad31f.png","e2e/playwright-report/data/6f24ac92655e9f12281c6d6df837b562c26345be.png","e2e/playwright-report/data/71a0f9f234c6c214bee86024da7e5a9a4a80893c.png","e2e/playwright-report/data/7502cc9d6b5d82fd66454a97eeb35a572d01a6da.png","e2e/playwright-report/data/7517ae2767e5b5077e17c7683ca18a1a2701069b.png","e2e/playwright-report/data/781470ce85e41d80a3c938b9044c65ee761fbcee.png","e2e/playwright-report/data/7abb97b628f7f7f7c88484d693eae6e5f3be1320.png","e2e/playwright-report/data/7b6c83e7164c3285b5f19c0d35dc81b3ce404ac5.png","e2e/playwright-report/data/7faf83a11db3c9e1486ef4350c738ef0775b3952.png","e2e/playwright-report/data/80bbe1bc8b10ba5039a76d88955106146728b1eb.png","e2e/playwright-report/data/830fefc9624b7657c5b4e3f4eeb104f5a78f1bfe.png","e2e/playwright-report/data/83a287b9c30d414d90f2f15f4c90b4ea81a60705.png","e2e/playwright-report/data/841d7caebbebb54df934666dbf8bf1d231d65402.png","e2e/playwright-report/data/843ed7f5e23b4e9e8a6cf700c41d0bcff24a9383.png","e2e/playwright-report/data/86915dc066d2db638c0b7c3e7b61cdd1f2ea745d.png","e2e/playwright-report/data/8c85155eaad581dcc5b4dbf9c0f223ac6ebd1db1.png","e2e/playwright-report/data/8e6aa520646f766e53b621b4595e7edd1140994b.png","e2e/playwright-report/data/9142f5d3d437f7027ee3894a7162d9af1972d447.png","e2e/playwright-report/data/9333789aba11cb793237eb2e11fd40449bb0ff22.png","e2e/playwright-report/data/960241e7bb35d537010c83f2484503bf7a8a1475.png","e2e/playwright-report/data/9c09e3d2d9c1dd15ffab7ce29764550b968aabc6.png","e2e/playwright-report/data/9cd3dc7472f543f18798f1665c92813aff6f6187.png","e2e/playwright-report/data/9dc9cfc14f6600c25a57153a5ee2555577139b9e.png","e2e/playwright-report/data/a09bd67ccfb07ac1c6384c2b5b3e99d08380c9b2.png","e2e/playwright-report/data/a1f739224c35ddc70cb5efbe9df6008d96c8d6b7.png","e2e/playwright-report/data/a5c192b0e1b473f9927a7e9b9b5b9e6a4dad6135.md","e2e/playwright-report/data/aa72644ae1414d0e5064ebcdb2982e5f2231a727.png","e2e/playwright-report/data/acd9da28c45f9d495ccd7f2e6a9780d9bd686b3f.png","e2e/playwright-report/data/ad2e7d231332b364493ef1060caafbda2e0b9bf9.png","e2e/playwright-report/data/af26934dce85e608079ea9f12f152d11e96f92de.png","e2e/playwright-report/data/af9438cd7e64b05cf17ffb2bcbd497ea709d0747.png","e2e/playwright-report/data/b118ac7e1b2eb2ce248b0260cc8dd8c92e924db8.png","e2e/playwright-report/data/bb8c6efa27e7649afb0afb2f32f0fa3c3cb71f79.png","e2e/playwright-report/data/bc7c442f945bb37c40ed234871ec4c14bd1cfdb7.png","e2e/playwright-report/data/bd1c37ba19d0babafb5bf5be4ccfa877b886c7a3.png","e2e/playwright-report/data/c71511738f51818c400e418f1a5a176643328d9b.png","e2e/playwright-report/data/cade77fa5ecdde9c1cc89cce22189c998b41d550.png","e2e/playwright-report/data/ccfe7e35e25bab670ef131f6837787607c11a566.png","e2e/playwright-report/data/cf0bf8b64ac40b9f1389d0da712884df98a998f7.png","e2e/playwright-report/data/d599211c1acb17a91af83216eb38fd77a545b281.png","e2e/playwright-report/data/d689579fabd7dddf49b4ae44da361b36ea53723d.png","e2e/playwright-report/data/d6ffe88f9fb3a0d562da210bc8beae9c118717eb.png","e2e/playwright-report/data/d957ff953ec9d9c607f7b01129cb01a7a9f49fc0.png","e2e/playwright-report/data/dafc98299f1b8c1b23cef76239a22a06a3f7dccd.png","e2e/playwright-report/data/db0cda3215f131440badd2bcc4b3d5e718fb1f6b.png","e2e/playwright-report/data/db3f8e6028a22cb2f674682c5b3a683368994e99.png","e2e/playwright-report/data/e443805dd3c2803b63b4787a67cabbaef1042861.png","e2e/playwright-report/data/e659e78f1788f09983c95d6370d169e3cdb89e3a.png","e2e/playwright-report/data/e854f16adf8a8588fdb72fd400916522d962ad0f.png","e2e/playwright-report/data/eaf7e55d9a61359b610b32529b03dfb7acd49e5d.png","e2e/playwright-report/data/efe4f41a47c0d8c6f8733fa3bf14ce4d28ec0ce5.png","e2e/playwright-report/data/f84f8c002baec2b6e3f11bd65696c10fbec84dd9.png","e2e/playwright-report/data/fd2b14bca92928a16ba6cb6694a48fce6ecc8b51.png","e2e/playwright-report/data/feb80a1dfb258a7f5419d7c5b33a99ef0296b099.png","e2e/test-results/.playwright-artifacts-1/7af6d3b8e3020cdee7cd0ee43b00277e.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-acquisition-leads-1773905385303.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773905274825.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773905343638.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773905243481.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773905331617.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773905337670.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773905346957.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773905424762.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773905418740.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773905406412.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773905402133.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773905461254.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773905436888.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773905446456.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773905428773.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773905456356.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773905433072.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773905441290.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773905397290.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773905388783.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773905393232.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773905523348.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773905512554.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773905518071.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773905500053.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773905503670.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773905508978.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773905409531.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773905450481.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773905465209.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773905483253.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773905491795.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773905496081.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773905487486.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773905473122.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773905477015.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773905468637.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773905413012.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773905527306.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773905531189.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773905628848.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773905617855.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773905633852.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773905609168.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773905613305.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773905623765.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-agreements-1773905907232.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-campaigns-1773905912128.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-coupons-1773905894292.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-merchants-1773905880454.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-packages-1773905916306.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-partners-1773905922110.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-products-1773905884614.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-promotions-1773905889200.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-referrals-1773905903021.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-settlements-1773905897746.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773905602619.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773905571526.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773905668601.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773905674633.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773905638806.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-levels-1773905679230.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773905641590.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-messages-1773905682971.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773905649634.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773905656676.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contract-templates-1773905741010.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contracts-1773905736550.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-cpq-1773905745068.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-crm-activities-1773905765754.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773905578700.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773905713927.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-devices-1773905943325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-diagnosis-1773905950167.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-faults-1773905959966.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-analytics-1773905769913.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-influencers-1773905791323.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-orders-1773905778993.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-participants-1773905782138.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-products-1773905774793.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-promotions-1773905796449.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-settlements-1773905786292.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773905653385.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-leads-1773905709905.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-location-assessments-1773905875893.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-maintenance-1773905957309.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773905661682.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773905645174.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-tools-1773905686736.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-meddpicc-analyses-1773905718214.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-1773905698160.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-pipeline-1773905700916.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-orders-1773905757076.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partner-customers-1773905726916.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partners-1773905722196.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773905666079.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-projects-1773905973638.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-quotes-1773905731961.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-rma-1773905946434.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sample-requests-1773905751235.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-satisfaction-1773905931813.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-segments-1773905691084.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sla-1773905938645.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-spare-parts-1773905953924.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-store-configs-1773905808314.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-stores-1773905804725.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-swot-analyses-1773905761238.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-targets-1773905703932.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-tickets-1773905926034.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.json","output/playwright/full-menu-write-batches/hr/action-coverage-report.md","output/playwright/full-menu-write-batches/hr/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773905185365.json","output/playwright/full-menu-write-batches/hr/visible-menu-snapshot.json"],"removed":["output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-acquisition-leads-1773903589265.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773903488946.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773903558131.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773903457836.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773903546194.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773903552124.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773903561456.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-1773903629011.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-attribution-models-1773903622966.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channel-integrations-1773903611109.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-channels-1773903606748.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-copyright-1773903666089.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-creation-1773903641732.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-distribution-1773903650812.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-library-1773903633032.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-review-1773903661165.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-content-templates-1773903637888.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-email-marketing-1773903646147.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-pools-1773903601798.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-qualification-1773903592751.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-lead-scoring-1773903597255.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-gifts-1773903729418.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-interactions-1773903718521.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-products-1773903724057.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-rooms-1773903706652.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-schedules-1773903710306.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-livestream-scripts-1773903714895.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-qr-codes-1773903614226.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-sms-marketing-1773903654864.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-accounts-1773903670272.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-auto-replies-1773903689143.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-competitors-1773903698294.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-followers-1773903702636.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-hot-topics-1773903693467.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-interactions-1773903678357.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-matrix-1773903682310.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-social-posts-1773903673789.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-utm-tracking-1773903617240.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-content-1773903733439.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-video-publishing-1773903737381.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773904291317.json","output/playwright/full-menu-write-batches/finance/probes/-financial-reports-1773904368273.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773904228919.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773904232199.json","output/playwright/full-menu-write-batches/finance/probes/-reconciliation-1773904427888.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773903838494.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773903823360.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773903843466.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773903814527.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773903818745.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773903833037.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-agreements-1773904092344.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-campaigns-1773904097263.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-coupons-1773904079882.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-merchants-1773904066056.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-packages-1773904101428.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-partners-1773904107263.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-products-1773904070186.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-promotions-1773904074745.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-referrals-1773904088162.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-alliance-settlements-1773904083343.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773903808137.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773903777500.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773903879245.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773903895513.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773903848393.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-levels-1773903900818.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773903851187.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-messages-1773903904615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773903859166.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773903867182.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contract-templates-1773903964327.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-contracts-1773903960338.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-cpq-1773903968341.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-crm-activities-1773903989073.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773903783935.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customers-1773903936231.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-devices-1773904138063.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-diagnosis-1773904144788.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-faults-1773904154511.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-analytics-1773903993607.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-influencers-1773904014882.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-orders-1773904002845.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-participants-1773904005912.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-products-1773903998971.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-promotions-1773904019613.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-groupbuy-settlements-1773904010044.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773903862974.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-leads-1773903932228.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-location-assessments-1773904061385.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-maintenance-1773904151885.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773903872207.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773903854377.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-tools-1773903908390.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-meddpicc-analyses-1773903941241.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-1773903920059.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-opportunities-pipeline-1773903922796.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-orders-1773903979730.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partner-customers-1773903950179.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-partners-1773903945339.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773903876638.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-projects-1773904167670.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-quotes-1773903955378.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-rma-1773904141244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sample-requests-1773903974565.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-satisfaction-1773904127978.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-segments-1773903912709.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-sla-1773904133914.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-spare-parts-1773904148571.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-store-configs-1773904031909.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-stores-1773904027833.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-swot-analyses-1773903983791.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-targets-1773903925812.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-tickets-1773904111381.json"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","output/playwright/full-menu-write-batches/.run-lock.json","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/ai-acquisition-content/batch-state.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/center-summary.json","output/playwright/full-menu-write-batches/center-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/batch-state.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.md","output/playwright/full-menu-write-batches/growth-sales-stores-service/batch-state.json","output/playwright/full-menu-write-batches/hr/batch-state.json","output/playwright/full-menu-write-batches/preflight.json"]}],"total_commits":0,"head_commit":{"id":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","message":"Prepare v1.0.0 release\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bd59e5501292cb061719f669c7a7b7afd4f1a0b7","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-19T17:33:01+08:00","added":["CHANGELOG.md"],"removed":[],"modified":[]},"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":1859700,"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-18T19:19:13+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"}}...
|
push
|
3
|
8
|
0
|
1773913347
|
0
|
1773912914
|
1773913348
|
group: quality-${{ github.workflow }}-${{ github.r group: quality-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
quality-quality-check.yml-refs/heads/main
|
1
|
Edit
Delete
|