sa2kit 1.6.91 → 1.6.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/client-BlkUL2To.d.ts +26 -0
  2. package/dist/client-DpMIhrlS.d.mts +26 -0
  3. package/dist/index-C7yh6b5Q.d.mts +17 -0
  4. package/dist/index-CDapUIT5.d.mts +51 -0
  5. package/dist/index-Cv9jlnNz.d.ts +17 -0
  6. package/dist/index-D3UbkUai.d.ts +51 -0
  7. package/dist/index.d.mts +11 -0
  8. package/dist/index.d.ts +11 -0
  9. package/dist/index.js +1337 -58
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +1306 -61
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/mikuContest/index.d.mts +13 -0
  14. package/dist/mikuContest/index.d.ts +13 -0
  15. package/dist/mikuContest/index.js +1310 -0
  16. package/dist/mikuContest/index.js.map +1 -0
  17. package/dist/mikuContest/index.mjs +1253 -0
  18. package/dist/mikuContest/index.mjs.map +1 -0
  19. package/dist/mikuContest/logic/index.d.mts +32 -0
  20. package/dist/mikuContest/logic/index.d.ts +32 -0
  21. package/dist/mikuContest/logic/index.js +511 -0
  22. package/dist/mikuContest/logic/index.js.map +1 -0
  23. package/dist/mikuContest/logic/index.mjs +483 -0
  24. package/dist/mikuContest/logic/index.mjs.map +1 -0
  25. package/dist/mikuContest/routes/index.d.mts +80 -0
  26. package/dist/mikuContest/routes/index.d.ts +80 -0
  27. package/dist/mikuContest/routes/index.js +821 -0
  28. package/dist/mikuContest/routes/index.js.map +1 -0
  29. package/dist/mikuContest/routes/index.mjs +791 -0
  30. package/dist/mikuContest/routes/index.mjs.map +1 -0
  31. package/dist/mikuContest/server/index.d.mts +766 -0
  32. package/dist/mikuContest/server/index.d.ts +766 -0
  33. package/dist/mikuContest/server/index.js +705 -0
  34. package/dist/mikuContest/server/index.js.map +1 -0
  35. package/dist/mikuContest/server/index.mjs +672 -0
  36. package/dist/mikuContest/server/index.mjs.map +1 -0
  37. package/dist/mikuContest/service/index.d.mts +30 -0
  38. package/dist/mikuContest/service/index.d.ts +30 -0
  39. package/dist/mikuContest/service/index.js +139 -0
  40. package/dist/mikuContest/service/index.js.map +1 -0
  41. package/dist/mikuContest/service/index.mjs +135 -0
  42. package/dist/mikuContest/service/index.mjs.map +1 -0
  43. package/dist/mikuContest/types/index.d.mts +179 -0
  44. package/dist/mikuContest/types/index.d.ts +179 -0
  45. package/dist/mikuContest/types/index.js +4 -0
  46. package/dist/mikuContest/types/index.js.map +1 -0
  47. package/dist/mikuContest/types/index.mjs +3 -0
  48. package/dist/mikuContest/types/index.mjs.map +1 -0
  49. package/dist/mikuContest/ui/miniapp/index.d.mts +3 -0
  50. package/dist/mikuContest/ui/miniapp/index.d.ts +3 -0
  51. package/dist/mikuContest/ui/miniapp/index.js +566 -0
  52. package/dist/mikuContest/ui/miniapp/index.js.map +1 -0
  53. package/dist/mikuContest/ui/miniapp/index.mjs +540 -0
  54. package/dist/mikuContest/ui/miniapp/index.mjs.map +1 -0
  55. package/dist/mikuContest/ui/web/index.d.mts +4 -0
  56. package/dist/mikuContest/ui/web/index.d.ts +4 -0
  57. package/dist/mikuContest/ui/web/index.js +353 -0
  58. package/dist/mikuContest/ui/web/index.js.map +1 -0
  59. package/dist/mikuContest/ui/web/index.mjs +343 -0
  60. package/dist/mikuContest/ui/web/index.mjs.map +1 -0
  61. package/dist/service-D7DM1wW-.d.ts +38 -0
  62. package/dist/service-DPr2rlvH.d.mts +38 -0
  63. package/dist/types-BS7Xz09b.d.mts +14 -0
  64. package/dist/types-k4koMp4m.d.ts +14 -0
  65. package/package.json +41 -1
@@ -0,0 +1,179 @@
1
+ type MikuContestRole = 'user' | 'admin' | 'judge';
2
+ interface MikuContestTimeline {
3
+ submissionStartAt: string;
4
+ submissionEndAt: string;
5
+ votingStartAt: string;
6
+ votingEndAt: string;
7
+ publicResultAt: string;
8
+ }
9
+ interface MikuFeatureToggles {
10
+ submissionEnabled: boolean;
11
+ votingEnabled: boolean;
12
+ resultEnabled: boolean;
13
+ }
14
+ interface MikuVotingRules {
15
+ maxVotesPerDay: number;
16
+ forbidDuplicateVotePerWork: boolean;
17
+ maxVotesPerDevicePerDay?: number;
18
+ maxVotesPerIpPerDay?: number;
19
+ }
20
+ interface MikuContestConfig {
21
+ id: string;
22
+ name: string;
23
+ theme: string;
24
+ organizer: string;
25
+ awards: string[];
26
+ rules: string;
27
+ copyright: string;
28
+ timeline: MikuContestTimeline;
29
+ votingRules: MikuVotingRules;
30
+ toggles: MikuFeatureToggles;
31
+ }
32
+
33
+ type MikuWorkType = 'visual' | 'video' | 'text' | 'audio';
34
+ type MikuSubmissionStatus = 'pending' | 'approved' | 'rejected';
35
+ interface MikuSubmissionContent {
36
+ images?: string[];
37
+ videoLink?: string;
38
+ textContent?: string;
39
+ audioLink?: string;
40
+ coverImage?: string;
41
+ }
42
+ interface MikuSubmission {
43
+ id: string;
44
+ contestId: string;
45
+ serialNo: string;
46
+ authorId: string;
47
+ authorNickname: string;
48
+ title: string;
49
+ type: MikuWorkType;
50
+ description: string;
51
+ tags: string[];
52
+ content: MikuSubmissionContent;
53
+ voteCount: number;
54
+ status: MikuSubmissionStatus;
55
+ rejectReason?: string;
56
+ createdAt: string;
57
+ reviewedAt?: string;
58
+ updatedAt: string;
59
+ }
60
+ interface MikuSubmissionFilter {
61
+ status?: MikuSubmissionStatus;
62
+ type?: MikuWorkType;
63
+ authorId?: string;
64
+ authorKeyword?: string;
65
+ titleKeyword?: string;
66
+ }
67
+ interface CreateMikuSubmissionInput {
68
+ contestId: string;
69
+ authorId: string;
70
+ authorNickname: string;
71
+ title: string;
72
+ type: MikuWorkType;
73
+ description: string;
74
+ tags?: string[];
75
+ content: MikuSubmissionContent;
76
+ }
77
+ interface ReviewMikuSubmissionInput {
78
+ submissionId: string;
79
+ reviewerId: string;
80
+ action: 'approve' | 'reject';
81
+ rejectReason?: string;
82
+ }
83
+ interface MikuSubmissionExportRow {
84
+ 投稿编号: string;
85
+ 投稿ID: string;
86
+ 赛事ID: string;
87
+ 作者ID: string;
88
+ 作者昵称: string;
89
+ 作品名称: string;
90
+ 作品类型: MikuWorkType;
91
+ 简介: string;
92
+ 标签: string;
93
+ 审核状态: MikuSubmissionStatus;
94
+ 驳回原因: string;
95
+ 票数: number;
96
+ 提交时间: string;
97
+ 更新时间: string;
98
+ }
99
+
100
+ interface MikuVoteRecord {
101
+ id: string;
102
+ contestId: string;
103
+ submissionId: string;
104
+ voterId: string;
105
+ votedAt: string;
106
+ dayKey: string;
107
+ deviceId?: string;
108
+ ip?: string;
109
+ }
110
+ interface VoteMikuSubmissionInput {
111
+ contestId: string;
112
+ submissionId: string;
113
+ voterId: string;
114
+ deviceId?: string;
115
+ ip?: string;
116
+ }
117
+ interface MikuVoterRestriction {
118
+ voterId: string;
119
+ banned: boolean;
120
+ reason?: string;
121
+ operatorId?: string;
122
+ updatedAt: string;
123
+ }
124
+ interface SetMikuVoterRestrictionInput {
125
+ voterId: string;
126
+ banned: boolean;
127
+ reason?: string;
128
+ operatorId?: string;
129
+ }
130
+ interface ResetMikuVotesInput {
131
+ submissionId?: string;
132
+ voterId?: string;
133
+ operatorId?: string;
134
+ reason?: string;
135
+ }
136
+
137
+ type MikuNoticeType = 'notice' | 'progress' | 'winner' | 'rejection';
138
+ interface MikuAnnouncement {
139
+ id: string;
140
+ contestId: string;
141
+ title: string;
142
+ content: string;
143
+ type: MikuNoticeType;
144
+ createdBy: string;
145
+ createdAt: string;
146
+ updatedAt: string;
147
+ }
148
+ interface CreateMikuAnnouncementInput {
149
+ contestId: string;
150
+ title: string;
151
+ content: string;
152
+ type: MikuNoticeType;
153
+ createdBy: string;
154
+ }
155
+
156
+ interface MikuLeaderboardItem {
157
+ submissionId: string;
158
+ title: string;
159
+ authorNickname: string;
160
+ voteCount: number;
161
+ rank: number;
162
+ }
163
+
164
+ interface MikuContestStateSnapshot {
165
+ contest: MikuContestConfig;
166
+ submissions: MikuSubmission[];
167
+ announcements: MikuAnnouncement[];
168
+ leaderboard: MikuLeaderboardItem[];
169
+ }
170
+ interface MikuContestPersistedState {
171
+ contest: MikuContestConfig;
172
+ submissions: MikuSubmission[];
173
+ votes: MikuVoteRecord[];
174
+ announcements: MikuAnnouncement[];
175
+ voterRestrictions: MikuVoterRestriction[];
176
+ updatedAt: string;
177
+ }
178
+
179
+ export type { CreateMikuAnnouncementInput, CreateMikuSubmissionInput, MikuAnnouncement, MikuContestConfig, MikuContestPersistedState, MikuContestRole, MikuContestStateSnapshot, MikuContestTimeline, MikuFeatureToggles, MikuLeaderboardItem, MikuNoticeType, MikuSubmission, MikuSubmissionContent, MikuSubmissionExportRow, MikuSubmissionFilter, MikuSubmissionStatus, MikuVoteRecord, MikuVoterRestriction, MikuVotingRules, MikuWorkType, ResetMikuVotesInput, ReviewMikuSubmissionInput, SetMikuVoterRestrictionInput, VoteMikuSubmissionInput };
@@ -0,0 +1,179 @@
1
+ type MikuContestRole = 'user' | 'admin' | 'judge';
2
+ interface MikuContestTimeline {
3
+ submissionStartAt: string;
4
+ submissionEndAt: string;
5
+ votingStartAt: string;
6
+ votingEndAt: string;
7
+ publicResultAt: string;
8
+ }
9
+ interface MikuFeatureToggles {
10
+ submissionEnabled: boolean;
11
+ votingEnabled: boolean;
12
+ resultEnabled: boolean;
13
+ }
14
+ interface MikuVotingRules {
15
+ maxVotesPerDay: number;
16
+ forbidDuplicateVotePerWork: boolean;
17
+ maxVotesPerDevicePerDay?: number;
18
+ maxVotesPerIpPerDay?: number;
19
+ }
20
+ interface MikuContestConfig {
21
+ id: string;
22
+ name: string;
23
+ theme: string;
24
+ organizer: string;
25
+ awards: string[];
26
+ rules: string;
27
+ copyright: string;
28
+ timeline: MikuContestTimeline;
29
+ votingRules: MikuVotingRules;
30
+ toggles: MikuFeatureToggles;
31
+ }
32
+
33
+ type MikuWorkType = 'visual' | 'video' | 'text' | 'audio';
34
+ type MikuSubmissionStatus = 'pending' | 'approved' | 'rejected';
35
+ interface MikuSubmissionContent {
36
+ images?: string[];
37
+ videoLink?: string;
38
+ textContent?: string;
39
+ audioLink?: string;
40
+ coverImage?: string;
41
+ }
42
+ interface MikuSubmission {
43
+ id: string;
44
+ contestId: string;
45
+ serialNo: string;
46
+ authorId: string;
47
+ authorNickname: string;
48
+ title: string;
49
+ type: MikuWorkType;
50
+ description: string;
51
+ tags: string[];
52
+ content: MikuSubmissionContent;
53
+ voteCount: number;
54
+ status: MikuSubmissionStatus;
55
+ rejectReason?: string;
56
+ createdAt: string;
57
+ reviewedAt?: string;
58
+ updatedAt: string;
59
+ }
60
+ interface MikuSubmissionFilter {
61
+ status?: MikuSubmissionStatus;
62
+ type?: MikuWorkType;
63
+ authorId?: string;
64
+ authorKeyword?: string;
65
+ titleKeyword?: string;
66
+ }
67
+ interface CreateMikuSubmissionInput {
68
+ contestId: string;
69
+ authorId: string;
70
+ authorNickname: string;
71
+ title: string;
72
+ type: MikuWorkType;
73
+ description: string;
74
+ tags?: string[];
75
+ content: MikuSubmissionContent;
76
+ }
77
+ interface ReviewMikuSubmissionInput {
78
+ submissionId: string;
79
+ reviewerId: string;
80
+ action: 'approve' | 'reject';
81
+ rejectReason?: string;
82
+ }
83
+ interface MikuSubmissionExportRow {
84
+ 投稿编号: string;
85
+ 投稿ID: string;
86
+ 赛事ID: string;
87
+ 作者ID: string;
88
+ 作者昵称: string;
89
+ 作品名称: string;
90
+ 作品类型: MikuWorkType;
91
+ 简介: string;
92
+ 标签: string;
93
+ 审核状态: MikuSubmissionStatus;
94
+ 驳回原因: string;
95
+ 票数: number;
96
+ 提交时间: string;
97
+ 更新时间: string;
98
+ }
99
+
100
+ interface MikuVoteRecord {
101
+ id: string;
102
+ contestId: string;
103
+ submissionId: string;
104
+ voterId: string;
105
+ votedAt: string;
106
+ dayKey: string;
107
+ deviceId?: string;
108
+ ip?: string;
109
+ }
110
+ interface VoteMikuSubmissionInput {
111
+ contestId: string;
112
+ submissionId: string;
113
+ voterId: string;
114
+ deviceId?: string;
115
+ ip?: string;
116
+ }
117
+ interface MikuVoterRestriction {
118
+ voterId: string;
119
+ banned: boolean;
120
+ reason?: string;
121
+ operatorId?: string;
122
+ updatedAt: string;
123
+ }
124
+ interface SetMikuVoterRestrictionInput {
125
+ voterId: string;
126
+ banned: boolean;
127
+ reason?: string;
128
+ operatorId?: string;
129
+ }
130
+ interface ResetMikuVotesInput {
131
+ submissionId?: string;
132
+ voterId?: string;
133
+ operatorId?: string;
134
+ reason?: string;
135
+ }
136
+
137
+ type MikuNoticeType = 'notice' | 'progress' | 'winner' | 'rejection';
138
+ interface MikuAnnouncement {
139
+ id: string;
140
+ contestId: string;
141
+ title: string;
142
+ content: string;
143
+ type: MikuNoticeType;
144
+ createdBy: string;
145
+ createdAt: string;
146
+ updatedAt: string;
147
+ }
148
+ interface CreateMikuAnnouncementInput {
149
+ contestId: string;
150
+ title: string;
151
+ content: string;
152
+ type: MikuNoticeType;
153
+ createdBy: string;
154
+ }
155
+
156
+ interface MikuLeaderboardItem {
157
+ submissionId: string;
158
+ title: string;
159
+ authorNickname: string;
160
+ voteCount: number;
161
+ rank: number;
162
+ }
163
+
164
+ interface MikuContestStateSnapshot {
165
+ contest: MikuContestConfig;
166
+ submissions: MikuSubmission[];
167
+ announcements: MikuAnnouncement[];
168
+ leaderboard: MikuLeaderboardItem[];
169
+ }
170
+ interface MikuContestPersistedState {
171
+ contest: MikuContestConfig;
172
+ submissions: MikuSubmission[];
173
+ votes: MikuVoteRecord[];
174
+ announcements: MikuAnnouncement[];
175
+ voterRestrictions: MikuVoterRestriction[];
176
+ updatedAt: string;
177
+ }
178
+
179
+ export type { CreateMikuAnnouncementInput, CreateMikuSubmissionInput, MikuAnnouncement, MikuContestConfig, MikuContestPersistedState, MikuContestRole, MikuContestStateSnapshot, MikuContestTimeline, MikuFeatureToggles, MikuLeaderboardItem, MikuNoticeType, MikuSubmission, MikuSubmissionContent, MikuSubmissionExportRow, MikuSubmissionFilter, MikuSubmissionStatus, MikuVoteRecord, MikuVoterRestriction, MikuVotingRules, MikuWorkType, ResetMikuVotesInput, ReviewMikuSubmissionInput, SetMikuVoterRestrictionInput, VoteMikuSubmissionInput };
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=index.mjs.map
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs"}
@@ -0,0 +1,3 @@
1
+ export { M as MikuContestMiniappHome, a as MikuContestMiniappPage } from '../../../index-C7yh6b5Q.mjs';
2
+ import 'react';
3
+ import '../../types/index.mjs';
@@ -0,0 +1,3 @@
1
+ export { M as MikuContestMiniappHome, a as MikuContestMiniappPage } from '../../../index-Cv9jlnNz.js';
2
+ import 'react';
3
+ import '../../types/index.js';