@zhin.js/plugin-group-suite 1.1.14 → 1.1.16
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.
- package/README.md +12 -0
- package/commands/checkin/index.js +3 -3
- package/commands/checkin/index.ts +3 -3
- package/commands/forget/index.js +3 -3
- package/commands/forget/index.ts +3 -3
- package/commands/keyword-add/[keyword]/index.js +4 -3
- package/commands/keyword-add/[keyword]/index.ts +4 -3
- package/commands/keyword-list/index.js +4 -3
- package/commands/keyword-list/index.ts +4 -3
- package/commands/keyword-remove/[keyword]/index.js +5 -4
- package/commands/keyword-remove/[keyword]/index.ts +5 -4
- package/commands/mypoints/index.js +3 -3
- package/commands/mypoints/index.ts +3 -3
- package/commands/mystats/index.js +3 -3
- package/commands/mystats/index.ts +3 -3
- package/commands/rank/index.js +3 -3
- package/commands/rank/index.ts +3 -3
- package/commands/stats/index.js +6 -5
- package/commands/stats/index.ts +6 -5
- package/commands/stats-card/index.js +4 -3
- package/commands/stats-card/index.ts +4 -3
- package/commands/stats-rank/index.js +6 -5
- package/commands/stats-rank/index.ts +6 -5
- package/commands/stats-week/index.js +6 -5
- package/commands/stats-week/index.ts +6 -5
- package/commands/teach/index.js +3 -3
- package/commands/teach/index.ts +3 -3
- package/commands/teach-list/[[page]]/index.js +3 -3
- package/commands/teach-list/[[page]]/index.ts +3 -3
- package/commands/teach-regex/index.js +3 -3
- package/commands/teach-regex/index.ts +3 -3
- package/handlers/welcome/index.js +9 -1
- package/handlers/welcome/index.ts +8 -1
- package/lib/analysis-card.d.ts +1 -1
- package/lib/analysis-card.d.ts.map +1 -1
- package/lib/analysis-card.js +12 -11
- package/lib/analysis-card.js.map +1 -1
- package/lib/analysis.d.ts +2 -2
- package/lib/analysis.d.ts.map +1 -1
- package/lib/analysis.js +14 -20
- package/lib/analysis.js.map +1 -1
- package/lib/checkin-lib.d.ts +1 -1
- package/lib/checkin-lib.d.ts.map +1 -1
- package/lib/checkin-lib.js +23 -22
- package/lib/checkin-lib.js.map +1 -1
- package/lib/conversation-scope.d.ts +1 -0
- package/lib/conversation-scope.d.ts.map +1 -1
- package/lib/conversation-scope.js.map +1 -1
- package/lib/i18n.d.ts +2 -0
- package/lib/i18n.d.ts.map +1 -0
- package/lib/i18n.js +480 -0
- package/lib/i18n.js.map +1 -0
- package/lib/keywords.d.ts +1 -0
- package/lib/keywords.d.ts.map +1 -1
- package/lib/keywords.js +8 -7
- package/lib/keywords.js.map +1 -1
- package/lib/shared-runtime.d.ts +1 -0
- package/lib/shared-runtime.d.ts.map +1 -1
- package/lib/shared-runtime.js +2 -1
- package/lib/shared-runtime.js.map +1 -1
- package/lib/stats-card.d.ts +2 -2
- package/lib/stats-card.d.ts.map +1 -1
- package/lib/stats-card.js +15 -14
- package/lib/stats-card.js.map +1 -1
- package/lib/stats-data.d.ts +3 -2
- package/lib/stats-data.d.ts.map +1 -1
- package/lib/stats-data.js +13 -12
- package/lib/stats-data.js.map +1 -1
- package/lib/stats-lib.d.ts.map +1 -1
- package/lib/stats-lib.js +8 -7
- package/lib/stats-lib.js.map +1 -1
- package/lib/teach-lib.d.ts +1 -1
- package/lib/teach-lib.d.ts.map +1 -1
- package/lib/teach-lib.js +27 -26
- package/lib/teach-lib.js.map +1 -1
- package/package.json +12 -12
- package/skills/checkin/tools/checkin_query/index.js +5 -4
- package/skills/checkin/tools/checkin_query/index.ts +5 -4
- package/skills/checkin/tools/checkin_rank/index.js +4 -3
- package/skills/checkin/tools/checkin_rank/index.ts +4 -3
- package/skills/group-daily-analysis/tools/group_announce/index.js +3 -2
- package/skills/group-daily-analysis/tools/group_announce/index.ts +3 -2
- package/skills/group-daily-analysis/tools/stats_query/index.js +4 -3
- package/skills/group-daily-analysis/tools/stats_query/index.ts +4 -3
- package/skills/group-daily-analysis/tools/stats_user/index.js +4 -3
- package/skills/group-daily-analysis/tools/stats_user/index.ts +4 -3
- package/src/analysis-card.ts +13 -11
- package/src/analysis.ts +15 -13
- package/src/checkin-lib.ts +23 -21
- package/src/conversation-scope.ts +1 -0
- package/src/i18n.ts +480 -0
- package/src/keywords.ts +9 -7
- package/src/shared-runtime.ts +3 -1
- package/src/stats-card.ts +17 -16
- package/src/stats-data.ts +14 -12
- package/src/stats-lib.ts +8 -7
- package/src/teach-lib.ts +27 -26
package/lib/stats-card.js
CHANGED
|
@@ -1,34 +1,35 @@
|
|
|
1
|
+
import { messages as t } from './i18n.js';
|
|
1
2
|
import { jsx, renderToHtml } from "@zhin.js/jsx";
|
|
2
3
|
import { BarRow, CardHeader, EmptyState, Row, Section, StatChip, } from "@zhin.js/components";
|
|
3
4
|
import { CARD_THEME, cardShell, elevatedCard, formatCount, } from "./card-layout.js";
|
|
4
5
|
export const STATS_REPORT_CANVAS = CARD_THEME.canvas;
|
|
5
6
|
const T = CARD_THEME;
|
|
6
|
-
export async function buildStatsRankHtml(data) {
|
|
7
|
+
export async function buildStatsRankHtml(data, locale) {
|
|
7
8
|
const meta = data.empty
|
|
8
9
|
? undefined
|
|
9
|
-
:
|
|
10
|
+
: t(locale, 'cardMeta', { people: data.participantCount, messages: formatCount(data.totalMessages), rank: data.myRank != null ? t(locale, 'cardRank', { rank: data.myRank }) : '' });
|
|
10
11
|
const body = elevatedCard(data.empty
|
|
11
12
|
? [
|
|
12
13
|
jsx(CardHeader, { title: data.title }),
|
|
13
|
-
jsx(EmptyState, { message:
|
|
14
|
+
jsx(EmptyState, { message: t(locale, 'noStats') }),
|
|
14
15
|
]
|
|
15
16
|
: [
|
|
16
17
|
jsx(CardHeader, { title: data.title, subtitle: meta }),
|
|
17
18
|
jsx(Row, {
|
|
18
19
|
children: [
|
|
19
20
|
jsx(StatChip, {
|
|
20
|
-
label:
|
|
21
|
+
label: t(locale, 'participants'),
|
|
21
22
|
value: formatCount(data.participantCount),
|
|
22
23
|
accent: T.accentCpu,
|
|
23
24
|
}),
|
|
24
25
|
jsx(StatChip, {
|
|
25
|
-
label:
|
|
26
|
+
label: t(locale, 'messages'),
|
|
26
27
|
value: formatCount(data.totalMessages),
|
|
27
28
|
accent: T.accentMem,
|
|
28
29
|
}),
|
|
29
30
|
data.myRank != null
|
|
30
31
|
? jsx(StatChip, {
|
|
31
|
-
label:
|
|
32
|
+
label: t(locale, 'myRank'),
|
|
32
33
|
value: `#${data.myRank}`,
|
|
33
34
|
accent: T.accentDisk,
|
|
34
35
|
})
|
|
@@ -38,32 +39,32 @@ export async function buildStatsRankHtml(data) {
|
|
|
38
39
|
style: "margin-bottom:6px",
|
|
39
40
|
}),
|
|
40
41
|
jsx(Section, {
|
|
41
|
-
title:
|
|
42
|
+
title: t(locale, 'leaderboard'),
|
|
42
43
|
children: data.entries.map((entry) => jsx(BarRow, {
|
|
43
44
|
rank: entry.rank,
|
|
44
45
|
label: entry.name,
|
|
45
|
-
value:
|
|
46
|
+
value: t(locale, 'messageCount', { count: entry.count }),
|
|
46
47
|
percent: entry.percent,
|
|
47
48
|
})),
|
|
48
49
|
}),
|
|
49
50
|
]);
|
|
50
51
|
return renderToHtml(cardShell(body));
|
|
51
52
|
}
|
|
52
|
-
export async function buildMyStatsHtml(data) {
|
|
53
|
+
export async function buildMyStatsHtml(data, locale) {
|
|
53
54
|
const body = elevatedCard([
|
|
54
55
|
jsx(CardHeader, {
|
|
55
56
|
title: data.userName,
|
|
56
|
-
subtitle:
|
|
57
|
+
subtitle: t(locale, 'myStatsSubtitle', { scope: data.scope, days: data.activeDays }),
|
|
57
58
|
}),
|
|
58
59
|
jsx(Row, {
|
|
59
60
|
children: [
|
|
60
61
|
jsx(StatChip, {
|
|
61
|
-
label:
|
|
62
|
+
label: t(locale, 'today'),
|
|
62
63
|
value: formatCount(data.todayCount),
|
|
63
64
|
accent: T.accentMem,
|
|
64
65
|
}),
|
|
65
66
|
jsx(StatChip, {
|
|
66
|
-
label:
|
|
67
|
+
label: t(locale, 'week'),
|
|
67
68
|
value: formatCount(data.weekCount),
|
|
68
69
|
accent: T.accentCpu,
|
|
69
70
|
}),
|
|
@@ -74,12 +75,12 @@ export async function buildMyStatsHtml(data) {
|
|
|
74
75
|
jsx(Row, {
|
|
75
76
|
children: [
|
|
76
77
|
jsx(StatChip, {
|
|
77
|
-
label:
|
|
78
|
+
label: t(locale, 'month'),
|
|
78
79
|
value: formatCount(data.monthCount),
|
|
79
80
|
accent: T.barWarn,
|
|
80
81
|
}),
|
|
81
82
|
jsx(StatChip, {
|
|
82
|
-
label:
|
|
83
|
+
label: t(locale, 'total'),
|
|
83
84
|
value: formatCount(data.totalCount),
|
|
84
85
|
accent: T.accentDisk,
|
|
85
86
|
}),
|
package/lib/stats-card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats-card.js","sourceRoot":"","sources":["../src/stats-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,MAAM,EACN,UAAU,EACV,UAAU,EACV,GAAG,EACH,OAAO,EACP,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC;AAErD,MAAM,CAAC,GAAG,UAAU,CAAC;AAErB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAyB;
|
|
1
|
+
{"version":3,"file":"stats-card.js","sourceRoot":"","sources":["../src/stats-card.ts"],"names":[],"mappings":"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"}
|
package/lib/stats-data.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Locale } from 'zhin.js/i18n';
|
|
1
2
|
export interface StatsRankEntry {
|
|
2
3
|
rank: number;
|
|
3
4
|
userId: string;
|
|
@@ -27,6 +28,6 @@ export declare function buildStatsRankReportData(stats: Map<string, {
|
|
|
27
28
|
name: string;
|
|
28
29
|
count: number;
|
|
29
30
|
}>, title: string, size: number, myUserId?: string): StatsRankReportData;
|
|
30
|
-
export declare function formatRankText(data: StatsRankReportData): string;
|
|
31
|
-
export declare function formatMyStatsText(data: MyStatsReportData): string;
|
|
31
|
+
export declare function formatRankText(data: StatsRankReportData, locale?: Locale): string;
|
|
32
|
+
export declare function formatMyStatsText(data: MyStatsReportData, locale?: Locale): string;
|
|
32
33
|
//# sourceMappingURL=stats-data.d.ts.map
|
package/lib/stats-data.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats-data.d.ts","sourceRoot":"","sources":["../src/stats-data.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EACnD,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,mBAAmB,CA0CrB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"stats-data.d.ts","sourceRoot":"","sources":["../src/stats-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EACnD,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,mBAAmB,CA0CrB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAYjF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CASlF"}
|
package/lib/stats-data.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { messages as t } from './i18n.js';
|
|
1
2
|
export function buildStatsRankReportData(stats, title, size, myUserId) {
|
|
2
3
|
const sorted = [...stats.entries()].sort((a, b) => b[1].count - a[1].count);
|
|
3
4
|
const total = sorted.reduce((s, [, v]) => s + v.count, 0);
|
|
@@ -37,28 +38,28 @@ export function buildStatsRankReportData(stats, title, size, myUserId) {
|
|
|
37
38
|
myCount,
|
|
38
39
|
};
|
|
39
40
|
}
|
|
40
|
-
export function formatRankText(data) {
|
|
41
|
+
export function formatRankText(data, locale) {
|
|
41
42
|
if (data.empty)
|
|
42
|
-
return
|
|
43
|
+
return t(locale, 'statsEmpty', { title: data.title });
|
|
43
44
|
const medals = ["🥇", "🥈", "🥉"];
|
|
44
45
|
const lines = data.entries.map((entry) => {
|
|
45
46
|
const prefix = entry.rank <= 3 ? medals[entry.rank - 1] : `${entry.rank}.`;
|
|
46
|
-
return
|
|
47
|
+
return t(locale, 'statsRow', { prefix, name: entry.name, count: entry.count });
|
|
47
48
|
});
|
|
48
|
-
let footer =
|
|
49
|
+
let footer = t(locale, 'statsFooter', { people: data.participantCount, messages: data.totalMessages });
|
|
49
50
|
if (data.myRank != null && data.myCount != null) {
|
|
50
|
-
footer +=
|
|
51
|
+
footer += t(locale, 'statsMyFooter', { rank: data.myRank, count: data.myCount });
|
|
51
52
|
}
|
|
52
53
|
return `${data.title}\n${lines.join("\n")}${footer}`;
|
|
53
54
|
}
|
|
54
|
-
export function formatMyStatsText(data) {
|
|
55
|
+
export function formatMyStatsText(data, locale) {
|
|
55
56
|
return [
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
t(locale, 'myStatsTitle', { name: data.userName, scope: data.scope }),
|
|
58
|
+
t(locale, 'todayMessages', { count: data.todayCount }),
|
|
59
|
+
t(locale, 'weekMessages', { count: data.weekCount }),
|
|
60
|
+
t(locale, 'monthMessages', { count: data.monthCount }),
|
|
61
|
+
t(locale, 'totalMessages', { count: data.totalCount }),
|
|
62
|
+
t(locale, 'activeDays', { count: data.activeDays }),
|
|
62
63
|
].join("\n");
|
|
63
64
|
}
|
|
64
65
|
//# sourceMappingURL=stats-data.js.map
|
package/lib/stats-data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats-data.js","sourceRoot":"","sources":["../src/stats-data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stats-data.js","sourceRoot":"","sources":["../src/stats-data.ts"],"names":[],"mappings":"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"}
|
package/lib/stats-lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats-lib.d.ts","sourceRoot":"","sources":["../src/stats-lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stats-lib.d.ts","sourceRoot":"","sources":["../src/stats-lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAapD,OAAO,KAAK,EAAE,iBAAiB,EAAyB,MAAM,oBAAoB,CAAC;AAEnF,wBAAgB,YAAY,IAAI,MAAM,CAKrC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAGtC;AAMD,wBAAgB,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAE/D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAsBxF;AAQD,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1E;AA+CD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAsBvD;AAED,KAAK,YAAY,GAAG,iBAAiB,CAAC;AAEtC,wBAAsB,aAAa,CACjC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmClG"}
|
package/lib/stats-lib.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { messages as t } from './i18n.js';
|
|
1
2
|
import { conversationKey, requireConversation } from './conversation-scope.js';
|
|
2
3
|
import { getStatsModel } from './db-store.js';
|
|
3
4
|
import { resolveSender, todayStr, ts, } from './shared-runtime.js';
|
|
@@ -139,22 +140,22 @@ export async function statsRankText(input, cfg, fromDate, title, runtime) {
|
|
|
139
140
|
const stats = await queryStats(groupId, fromDate, runtime);
|
|
140
141
|
const { id: userId } = resolveSender(input);
|
|
141
142
|
const data = buildStatsRankReportData(stats, title, cfg.rankSize, userId);
|
|
142
|
-
return formatRankText(data);
|
|
143
|
+
return formatRankText(data, input.locale);
|
|
143
144
|
}
|
|
144
145
|
export async function myStatsText(input, runtime) {
|
|
145
146
|
await flushStatsBuffer(runtime);
|
|
146
147
|
const M = getStatsModel(runtime.db);
|
|
147
148
|
if (!M)
|
|
148
|
-
return '
|
|
149
|
+
return t(input.locale, 'statsDb');
|
|
149
150
|
const { id: userId, name: userName } = resolveSender(input);
|
|
150
151
|
if (!userId)
|
|
151
|
-
return '
|
|
152
|
+
return t(input.locale, 'senderMissing');
|
|
152
153
|
const groupId = resolveGroupId(input);
|
|
153
154
|
const rows = (groupId
|
|
154
155
|
? await M.select().where({ user_id: userId, group_id: groupId })
|
|
155
156
|
: await M.select().where({ user_id: userId }));
|
|
156
157
|
if (rows.length === 0)
|
|
157
|
-
return '
|
|
158
|
+
return t(input.locale, 'myStatsEmpty');
|
|
158
159
|
const today = todayStr();
|
|
159
160
|
const weekStart = weekStartStr();
|
|
160
161
|
const monthStart = monthStartStr();
|
|
@@ -173,14 +174,14 @@ export async function myStatsText(input, runtime) {
|
|
|
173
174
|
todayCount += c;
|
|
174
175
|
}
|
|
175
176
|
const data = {
|
|
176
|
-
userName: userName || '
|
|
177
|
-
scope: groupId ? '
|
|
177
|
+
userName: userName || t(input.locale, 'you'),
|
|
178
|
+
scope: groupId ? t(input.locale, 'thisGroup') : t(input.locale, 'global'),
|
|
178
179
|
todayCount,
|
|
179
180
|
weekCount,
|
|
180
181
|
monthCount,
|
|
181
182
|
totalCount,
|
|
182
183
|
activeDays: rows.length,
|
|
183
184
|
};
|
|
184
|
-
return formatMyStatsText(data);
|
|
185
|
+
return formatMyStatsText(data, input.locale);
|
|
185
186
|
}
|
|
186
187
|
//# sourceMappingURL=stats-lib.js.map
|
package/lib/stats-lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats-lib.js","sourceRoot":"","sources":["../src/stats-lib.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stats-lib.js","sourceRoot":"","sources":["../src/stats-lib.ts"],"names":[],"mappings":"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"}
|
package/lib/teach-lib.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ConversationInput } from './conversation-scope.js';
|
|
2
2
|
import type { GroupSuiteConfig } from './config.js';
|
|
3
3
|
import type { GroupSuiteRuntime } from './runtime-state.js';
|
|
4
|
-
export declare const TEACH_USAGE_HINT = "\u683C\u5F0F\
|
|
4
|
+
export declare const TEACH_USAGE_HINT = "\u683C\u5F0F\uFF1A\u5173\u952E\u8BCD \u56DE\u7B54\uFF0C\u6216 \u95EE\u9898|\u7B54\u6848";
|
|
5
5
|
export declare function parseTeachPair(raw: string): {
|
|
6
6
|
question: string;
|
|
7
7
|
answer: string;
|
package/lib/teach-lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teach-lib.d.ts","sourceRoot":"","sources":["../src/teach-lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"teach-lib.d.ts","sourceRoot":"","sources":["../src/teach-lib.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,4FAAsB,CAAC;AAapD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAevF;AAmCD,KAAK,YAAY,GAAG,iBAAiB,CAAC;AA8BtC,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,MAAM,EACf,KAAK,qBAAQ,EACb,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAqEjB;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,gBAAgB,EACrB,IAAI,oBAAI,EACR,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,wDAAwD;AACxD,wBAAsB,aAAa,CACjC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6CxB"}
|
package/lib/teach-lib.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { messages as t } from './i18n.js';
|
|
1
2
|
import { getTeachModel } from './db-store.js';
|
|
2
3
|
import { resolveContextKey, resolveSender, ts, } from './shared-runtime.js';
|
|
3
|
-
export const TEACH_USAGE_HINT = '
|
|
4
|
+
export const TEACH_USAGE_HINT = '格式:关键词 回答,或 问题|答案';
|
|
4
5
|
function isSafeRegex(pattern) {
|
|
5
6
|
if (pattern.length > 200)
|
|
6
7
|
return false;
|
|
@@ -35,12 +36,12 @@ export function parseTeachPair(raw) {
|
|
|
35
36
|
return null;
|
|
36
37
|
return { question, answer };
|
|
37
38
|
}
|
|
38
|
-
function processAnswer(answer, sender, match) {
|
|
39
|
+
function processAnswer(answer, sender, match, locale) {
|
|
39
40
|
let result = answer;
|
|
40
|
-
result = result.replace(/\{sender\}/g, sender.name || '
|
|
41
|
+
result = result.replace(/\{sender\}/g, sender.name || t(locale, 'you'));
|
|
41
42
|
result = result.replace(/\{sender\.id\}/g, sender.id || '');
|
|
42
|
-
result = result.replace(/\{time\}/g, new Date().toLocaleTimeString('zh-CN'));
|
|
43
|
-
result = result.replace(/\{date\}/g, new Date().toLocaleDateString('zh-CN'));
|
|
43
|
+
result = result.replace(/\{time\}/g, new Date().toLocaleTimeString(locale ?? 'zh-CN'));
|
|
44
|
+
result = result.replace(/\{date\}/g, new Date().toLocaleDateString(locale ?? 'zh-CN'));
|
|
44
45
|
if (match) {
|
|
45
46
|
for (let i = 1; i < match.length; i++) {
|
|
46
47
|
result = result.replace(new RegExp(`\\$${i}`, 'g'), match[i] || '');
|
|
@@ -85,14 +86,14 @@ async function findMatch(content, ctxType, ctxId, cfg, runtime) {
|
|
|
85
86
|
export async function teachAdd(input, cfg, payload, regex = false, runtime) {
|
|
86
87
|
const QA = getTeachModel(runtime.db);
|
|
87
88
|
if (!QA)
|
|
88
|
-
return '
|
|
89
|
+
return t(input.locale, 'teachRetry');
|
|
89
90
|
if (regex && !cfg.teachAllowRegex)
|
|
90
|
-
return '
|
|
91
|
+
return t(input.locale, 'regexDisabled');
|
|
91
92
|
const parsed = parseTeachPair(payload.trim());
|
|
92
93
|
if (!parsed) {
|
|
93
94
|
return regex
|
|
94
|
-
?
|
|
95
|
-
:
|
|
95
|
+
? t(input.locale, 'regexUsage')
|
|
96
|
+
: t(input.locale, 'teachUsage');
|
|
96
97
|
}
|
|
97
98
|
const { question, answer } = parsed;
|
|
98
99
|
if (regex) {
|
|
@@ -100,10 +101,10 @@ export async function teachAdd(input, cfg, payload, regex = false, runtime) {
|
|
|
100
101
|
new RegExp(question, 'i');
|
|
101
102
|
}
|
|
102
103
|
catch (e) {
|
|
103
|
-
return
|
|
104
|
+
return t(input.locale, 'invalidRegex', { error: e.message });
|
|
104
105
|
}
|
|
105
106
|
if (!isSafeRegex(question))
|
|
106
|
-
return '
|
|
107
|
+
return t(input.locale, 'unsafeRegex');
|
|
107
108
|
}
|
|
108
109
|
const { type: ctxType, id: ctxId } = resolveContextKey(input);
|
|
109
110
|
const sender = resolveSender(input);
|
|
@@ -113,7 +114,7 @@ export async function teachAdd(input, cfg, payload, regex = false, runtime) {
|
|
|
113
114
|
context_id: ctxId,
|
|
114
115
|
}));
|
|
115
116
|
if (existing.length >= cfg.teachMaxPerGroup) {
|
|
116
|
-
return
|
|
117
|
+
return t(input.locale, 'teachLimit', { limit: cfg.teachMaxPerGroup });
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
120
|
const duplicate = (await QA.select().where({
|
|
@@ -123,7 +124,7 @@ export async function teachAdd(input, cfg, payload, regex = false, runtime) {
|
|
|
123
124
|
}));
|
|
124
125
|
if (duplicate.length > 0 && !regex) {
|
|
125
126
|
await QA.update({ answer, updated_at: ts() }).where(qaWhereKey(duplicate[0]));
|
|
126
|
-
return
|
|
127
|
+
return t(input.locale, 'teachUpdated', { question, answer });
|
|
127
128
|
}
|
|
128
129
|
await QA.insert({
|
|
129
130
|
question,
|
|
@@ -138,37 +139,37 @@ export async function teachAdd(input, cfg, payload, regex = false, runtime) {
|
|
|
138
139
|
updated_at: ts(),
|
|
139
140
|
});
|
|
140
141
|
return regex
|
|
141
|
-
?
|
|
142
|
-
:
|
|
142
|
+
? t(input.locale, 'regexLearned', { question, answer })
|
|
143
|
+
: t(input.locale, 'teachLearned', { question, answer });
|
|
143
144
|
}
|
|
144
145
|
export async function teachList(input, cfg, page = 1, runtime) {
|
|
145
146
|
const QA = getTeachModel(runtime.db);
|
|
146
147
|
if (!QA)
|
|
147
|
-
return '
|
|
148
|
+
return t(input.locale, 'teachDb');
|
|
148
149
|
const safePage = Math.max(1, page);
|
|
149
150
|
const { type: ctxType, id: ctxId } = resolveContextKey(input);
|
|
150
151
|
const allItems = (await QA.select().where({ context_type: ctxType, context_id: ctxId }));
|
|
151
152
|
if (allItems.length === 0)
|
|
152
|
-
return '
|
|
153
|
+
return t(input.locale, 'teachEmpty');
|
|
153
154
|
const totalPages = Math.ceil(allItems.length / cfg.teachPageSize);
|
|
154
155
|
const pageNum = Math.min(safePage, totalPages);
|
|
155
156
|
const start = (pageNum - 1) * cfg.teachPageSize;
|
|
156
157
|
const pageItems = allItems.slice(start, start + cfg.teachPageSize);
|
|
157
158
|
const lines = pageItems.map((item, i) => {
|
|
158
|
-
const prefix = item.is_regex ? '
|
|
159
|
+
const prefix = item.is_regex ? t(input.locale, 'regex') : t(input.locale, 'exact');
|
|
159
160
|
const q = item.is_regex ? `/${item.question}/` : item.question;
|
|
160
161
|
return `${start + i + 1}. ${prefix} ${q} → ${item.answer}`;
|
|
161
162
|
});
|
|
162
|
-
const header = '
|
|
163
|
-
return
|
|
163
|
+
const header = t(input.locale, 'teachTitle');
|
|
164
|
+
return t(input.locale, 'teachPage', { header, lines: lines.join('\n'), page: pageNum, pages: totalPages, count: allItems.length });
|
|
164
165
|
}
|
|
165
166
|
export async function teachForget(input, questionRaw, runtime) {
|
|
166
167
|
const QA = getTeachModel(runtime.db);
|
|
167
168
|
if (!QA)
|
|
168
|
-
return '
|
|
169
|
+
return t(input.locale, 'teachDb');
|
|
169
170
|
const question = questionRaw.trim();
|
|
170
171
|
if (!question)
|
|
171
|
-
return '
|
|
172
|
+
return t(input.locale, 'questionRequired');
|
|
172
173
|
const { type: ctxType, id: ctxId } = resolveContextKey(input);
|
|
173
174
|
const items = (await QA.select().where({
|
|
174
175
|
question,
|
|
@@ -176,9 +177,9 @@ export async function teachForget(input, questionRaw, runtime) {
|
|
|
176
177
|
context_id: ctxId,
|
|
177
178
|
}));
|
|
178
179
|
if (items.length === 0)
|
|
179
|
-
return
|
|
180
|
+
return t(input.locale, 'questionMissing', { question });
|
|
180
181
|
await QA.delete().where(qaWhereKey(items[0]));
|
|
181
|
-
return
|
|
182
|
+
return t(input.locale, 'questionRemoved', { question });
|
|
182
183
|
}
|
|
183
184
|
/** Try teach auto-reply; returns reply text or null. */
|
|
184
185
|
export async function tryTeachReply(input, cfg, runtime) {
|
|
@@ -212,14 +213,14 @@ export async function tryTeachReply(input, cfg, runtime) {
|
|
|
212
213
|
if (matched.is_regex) {
|
|
213
214
|
try {
|
|
214
215
|
const m = content.match(new RegExp(String(matched.question), 'i'));
|
|
215
|
-
answer = processAnswer(answer, sender, m || undefined);
|
|
216
|
+
answer = processAnswer(answer, sender, m || undefined, input.locale);
|
|
216
217
|
}
|
|
217
218
|
catch {
|
|
218
219
|
/* ignore */
|
|
219
220
|
}
|
|
220
221
|
}
|
|
221
222
|
else {
|
|
222
|
-
answer = processAnswer(answer, sender);
|
|
223
|
+
answer = processAnswer(answer, sender, undefined, input.locale);
|
|
223
224
|
}
|
|
224
225
|
return answer;
|
|
225
226
|
}
|
package/lib/teach-lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teach-lib.js","sourceRoot":"","sources":["../src/teach-lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"teach-lib.js","sourceRoot":"","sources":["../src/teach-lib.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/plugin-group-suite",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.16",
|
|
4
4
|
"description": "Zhin.js 群运营套件:签到、教学、统计、持久词库与群欢迎",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -41,25 +41,25 @@
|
|
|
41
41
|
},
|
|
42
42
|
"license": "MIT",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@zhin.js/components": "1.1.
|
|
45
|
-
"@zhin.js/core": "1.1.
|
|
46
|
-
"@zhin.js/jsx": "1.1.
|
|
47
|
-
"@zhin.js/skill": "1.1.
|
|
48
|
-
"@zhin.js/tool": "1.1.
|
|
44
|
+
"@zhin.js/components": "1.1.6",
|
|
45
|
+
"@zhin.js/core": "1.1.51",
|
|
46
|
+
"@zhin.js/jsx": "1.1.6",
|
|
47
|
+
"@zhin.js/skill": "1.1.10",
|
|
48
|
+
"@zhin.js/tool": "1.1.10"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"typescript": "^6.0.3",
|
|
52
52
|
"vitest": "^4.1.10",
|
|
53
53
|
"zod": "^4.4.3",
|
|
54
|
-
"zhin.js": "1.1.
|
|
54
|
+
"zhin.js": "1.1.16"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"zod": "^4.0.0",
|
|
58
|
-
"@zhin.js/command": "^1.1.
|
|
59
|
-
"@zhin.js/middleware": "^1.1.
|
|
60
|
-
"zhin.js": "^1.1.
|
|
61
|
-
"@zhin.js/handler": "^1.1.
|
|
62
|
-
"@zhin.js/schedule-feature": "^1.1.
|
|
58
|
+
"@zhin.js/command": "^1.1.11",
|
|
59
|
+
"@zhin.js/middleware": "^1.1.10",
|
|
60
|
+
"zhin.js": "^1.1.16",
|
|
61
|
+
"@zhin.js/handler": "^1.1.9",
|
|
62
|
+
"@zhin.js/schedule-feature": "^1.1.9"
|
|
63
63
|
},
|
|
64
64
|
"peerDependenciesMeta": {
|
|
65
65
|
"@zhin.js/command": {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { messages as t } from "../../../../lib/i18n.js";
|
|
2
3
|
import { conversationKey, toolGroupConversation } from "../../../../lib/conversation-scope.js";
|
|
3
4
|
import { defineAgentTool } from '@zhin.js/tool';
|
|
4
5
|
import { getCheckinModel } from "../../../../lib/db-store.js";
|
|
@@ -19,7 +20,7 @@ export default defineAgentTool({
|
|
|
19
20
|
const runtime = context.use(groupSuiteRuntimeToken);
|
|
20
21
|
const model = getCheckinModel(runtime.db);
|
|
21
22
|
if (!model)
|
|
22
|
-
return '
|
|
23
|
+
return t(context.locale, 'checkinDb');
|
|
23
24
|
const groupId = conversationKey(toolGroupConversation(context, requestedGroupId));
|
|
24
25
|
const query = {
|
|
25
26
|
...(userId ? { user_id: userId } : {}),
|
|
@@ -28,12 +29,12 @@ export default defineAgentTool({
|
|
|
28
29
|
const rows = await model.select().where(query);
|
|
29
30
|
if (userId) {
|
|
30
31
|
if (rows.length === 0)
|
|
31
|
-
return
|
|
32
|
+
return t(context.locale, 'userCheckinEmpty', { user: userId });
|
|
32
33
|
const user = rows[0];
|
|
33
|
-
return
|
|
34
|
+
return t(context.locale, 'userCheckinInfo', { name: String(user.user_name ?? userId), points: Number(user.points ?? 0), total: Number(user.total_checkins ?? 0), streak: Number(user.streak ?? 0), max: Number(user.max_streak ?? 0), last: String(user.last_checkin ?? '') });
|
|
34
35
|
}
|
|
35
36
|
const totalPoints = rows.reduce((sum, user) => sum + Number(user.points ?? 0), 0);
|
|
36
37
|
const todayCount = rows.filter((user) => user.last_checkin === todayStr()).length;
|
|
37
|
-
return
|
|
38
|
+
return t(context.locale, 'checkinOverview', { users: rows.length, points: totalPoints, today: todayCount });
|
|
38
39
|
},
|
|
39
40
|
});
|