@zhin.js/plugin-group-suite 1.1.0 → 1.1.3
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 +2 -2
- package/commands/{checkin.js → checkin/index.js} +3 -3
- package/commands/{checkin.ts → checkin/index.ts} +3 -3
- package/commands/{forget.js → forget/index.js} +2 -2
- package/commands/{forget.ts → forget/index.ts} +3 -3
- package/commands/keyword-add/{[keyword].js → [keyword]/index.js} +3 -3
- package/commands/keyword-add/{[keyword].ts → [keyword]/index.ts} +4 -4
- package/commands/{keyword-list.js → keyword-list/index.js} +3 -3
- package/commands/{keyword-list.ts → keyword-list/index.ts} +4 -4
- package/commands/keyword-remove/{[keyword].js → [keyword]/index.js} +3 -3
- package/commands/keyword-remove/{[keyword].ts → [keyword]/index.ts} +4 -4
- package/commands/{mypoints.js → mypoints/index.js} +2 -2
- package/commands/{mypoints.ts → mypoints/index.ts} +3 -3
- package/commands/{mystats.js → mystats/index.js} +2 -2
- package/commands/{mystats.ts → mystats/index.ts} +3 -3
- package/commands/{rank.js → rank/index.js} +3 -3
- package/commands/{rank.ts → rank/index.ts} +3 -3
- package/commands/{stats.js → stats/index.js} +4 -4
- package/commands/{stats.ts → stats/index.ts} +4 -4
- package/commands/{stats-rank.js → stats-rank/index.js} +3 -3
- package/commands/{stats-rank.ts → stats-rank/index.ts} +3 -3
- package/commands/{stats-week.js → stats-week/index.js} +3 -3
- package/commands/{stats-week.ts → stats-week/index.ts} +3 -3
- package/commands/{teach.js → teach/index.js} +3 -3
- package/commands/{teach.ts → teach/index.ts} +3 -3
- package/commands/teach-list/{[[page]].js → [[page]]/index.js} +3 -3
- package/commands/teach-list/{[[page]].ts → [[page]]/index.ts} +3 -3
- package/commands/{teach-regex.js → teach-regex/index.js} +3 -3
- package/commands/{teach-regex.ts → teach-regex/index.ts} +3 -3
- package/lib/checkin-lib.d.ts +3 -3
- package/lib/checkin-lib.d.ts.map +1 -1
- package/lib/checkin-lib.js +9 -10
- package/lib/checkin-lib.js.map +1 -1
- package/lib/db-store.d.ts +3 -10
- package/lib/db-store.d.ts.map +1 -1
- package/lib/db-store.js +7 -34
- package/lib/db-store.js.map +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/lib/keyword-store.d.ts +4 -5
- package/lib/keyword-store.d.ts.map +1 -1
- package/lib/keyword-store.js +4 -8
- package/lib/keyword-store.js.map +1 -1
- package/lib/memory-store.d.ts +1 -1
- package/lib/memory-store.js +1 -1
- package/lib/runtime-state.d.ts +3 -4
- package/lib/runtime-state.d.ts.map +1 -1
- package/lib/runtime-state.js +2 -8
- package/lib/runtime-state.js.map +1 -1
- package/lib/stats-lib.d.ts +5 -7
- package/lib/stats-lib.d.ts.map +1 -1
- package/lib/stats-lib.js +5 -10
- package/lib/stats-lib.js.map +1 -1
- package/lib/tables.js +1 -1
- package/lib/teach-lib.d.ts +4 -6
- package/lib/teach-lib.d.ts.map +1 -1
- package/lib/teach-lib.js +6 -11
- package/lib/teach-lib.js.map +1 -1
- package/middlewares/{keyword-reply.js → keyword-reply/index.js} +4 -4
- package/middlewares/{keyword-reply.ts → keyword-reply/index.ts} +4 -4
- package/middlewares/{stats-count.js → stats-count/index.js} +2 -2
- package/middlewares/{stats-count.ts → stats-count/index.ts} +3 -3
- package/middlewares/{teach-reply.js → teach-reply/index.js} +3 -3
- package/middlewares/{teach-reply.ts → teach-reply/index.ts} +3 -3
- package/package.json +18 -14
- package/plugin.js +0 -2
- package/skills/checkin/tools/checkin_query/index.js +42 -0
- package/skills/checkin/tools/checkin_query/index.ts +41 -0
- package/skills/checkin/tools/checkin_rank/index.js +34 -0
- package/skills/checkin/tools/checkin_rank/index.ts +34 -0
- package/skills/group-daily-analysis/SKILL.md +36 -0
- package/skills/group-daily-analysis/tools/group_announce/index.js +14 -0
- package/skills/group-daily-analysis/tools/group_announce/index.ts +14 -0
- package/skills/group-daily-analysis/tools/stats_query/index.js +35 -0
- package/skills/group-daily-analysis/tools/stats_query/index.ts +36 -0
- package/skills/group-daily-analysis/tools/stats_user/index.js +50 -0
- package/skills/group-daily-analysis/tools/stats_user/index.ts +46 -0
- package/src/checkin-lib.ts +15 -13
- package/src/db-store.ts +6 -38
- package/src/index.ts +0 -8
- package/src/keyword-store.ts +4 -10
- package/src/memory-store.ts +1 -1
- package/src/runtime-state.ts +5 -8
- package/src/stats-lib.ts +10 -17
- package/src/tables.ts +1 -1
- package/src/teach-lib.ts +11 -18
- package/agent/skills/group-daily-analysis.md +0 -29
- package/agent/tools/group_announce.ts +0 -12
- package/tools/checkin-query/checkin-query.tool.md +0 -11
- package/tools/checkin-query/handler.js +0 -22
- package/tools/checkin-query/handler.ts +0 -22
- package/tools/checkin-rank/checkin-rank.tool.md +0 -11
- package/tools/checkin-rank/handler.js +0 -15
- package/tools/checkin-rank/handler.ts +0 -16
- package/tools/stats-query/handler.js +0 -28
- package/tools/stats-query/handler.ts +0 -31
- package/tools/stats-query/stats-query.tool.md +0 -16
- package/tools/stats-user/handler.js +0 -29
- package/tools/stats-user/handler.ts +0 -29
- package/tools/stats-user/stats-user.tool.md +0 -12
- /package/{agent/skills/checkin.md → skills/checkin/SKILL.md} +0 -0
package/lib/db-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-store.js","sourceRoot":"","sources":["../src/db-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"db-store.js","sourceRoot":"","sources":["../src/db-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,GAGZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,UAAU,eAAe,CAAC,EAAsB;IACpD,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAsB;IAClD,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAsB;IAClD,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export { DEFAULT_GROUP_SUITE_CONFIG, resolveGroupSuiteConfig, } from './config.js';
|
|
2
2
|
export type { GroupSuiteConfig } from './config.js';
|
|
3
3
|
export { doCheckin, myPoints, pointsRank } from './checkin-lib.js';
|
|
4
|
-
export { addKeyword, listKeywords, matchKeyword, removeKeyword,
|
|
5
|
-
export {
|
|
4
|
+
export { addKeyword, listKeywords, matchKeyword, removeKeyword, } from './keyword-store.js';
|
|
5
|
+
export { getCheckinModel, getStatsModel, getTeachModel, } from './db-store.js';
|
|
6
6
|
export { createGroupSuiteRuntime, groupSuiteRuntimeToken, resolveGroupSuiteRuntime, } from './runtime-state.js';
|
|
7
7
|
export type { GroupSuiteRuntime, PendingStatsIncrement } from './runtime-state.js';
|
|
8
|
-
export { parseTeachPair,
|
|
9
|
-
export { flushStatsBuffer, monthStartStr, myStatsText, queryStats, recordMessage,
|
|
8
|
+
export { parseTeachPair, teachAdd, teachForget, teachList, tryTeachReply, } from './teach-lib.js';
|
|
9
|
+
export { flushStatsBuffer, monthStartStr, myStatsText, queryStats, recordMessage, statsRankText, weekStartStr, } from './stats-lib.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EACL,cAAc,EACd,QAAQ,EACR,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,gBAAgB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { DEFAULT_GROUP_SUITE_CONFIG, resolveGroupSuiteConfig, } from './config.js';
|
|
2
2
|
export { doCheckin, myPoints, pointsRank } from './checkin-lib.js';
|
|
3
|
-
export { addKeyword, listKeywords, matchKeyword, removeKeyword,
|
|
4
|
-
export {
|
|
3
|
+
export { addKeyword, listKeywords, matchKeyword, removeKeyword, } from './keyword-store.js';
|
|
4
|
+
export { getCheckinModel, getStatsModel, getTeachModel, } from './db-store.js';
|
|
5
5
|
export { createGroupSuiteRuntime, groupSuiteRuntimeToken, resolveGroupSuiteRuntime, } from './runtime-state.js';
|
|
6
|
-
export { parseTeachPair,
|
|
7
|
-
export { flushStatsBuffer, monthStartStr, myStatsText, queryStats, recordMessage,
|
|
6
|
+
export { parseTeachPair, teachAdd, teachForget, teachList, tryTeachReply, } from './teach-lib.js';
|
|
7
|
+
export { flushStatsBuffer, monthStartStr, myStatsText, queryStats, recordMessage, statsRankText, weekStartStr, } from './stats-lib.js';
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,cAAc,EACd,QAAQ,EACR,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,gBAAgB,CAAC"}
|
package/lib/keyword-store.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export declare function addKeyword(keyword: string, reply: string, store
|
|
2
|
-
export declare function removeKeyword(keyword: string, store
|
|
3
|
-
export declare function listKeywords(store
|
|
4
|
-
export declare function matchKeyword(text: string, store
|
|
5
|
-
export declare function resetKeywords(): void;
|
|
1
|
+
export declare function addKeyword(keyword: string, reply: string, store: Map<string, string>): void;
|
|
2
|
+
export declare function removeKeyword(keyword: string, store: Map<string, string>): boolean;
|
|
3
|
+
export declare function listKeywords(store: Map<string, string>): Array<[string, string]>;
|
|
4
|
+
export declare function matchKeyword(text: string, store: Map<string, string>): string | null;
|
|
6
5
|
//# sourceMappingURL=keyword-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword-store.d.ts","sourceRoot":"","sources":["../src/keyword-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keyword-store.d.ts","sourceRoot":"","sources":["../src/keyword-store.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAE3F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAElF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAEhF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAKpF"}
|
package/lib/keyword-store.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
export function addKeyword(keyword, reply, store = keywords) {
|
|
1
|
+
export function addKeyword(keyword, reply, store) {
|
|
3
2
|
store.set(keyword, reply);
|
|
4
3
|
}
|
|
5
|
-
export function removeKeyword(keyword, store
|
|
4
|
+
export function removeKeyword(keyword, store) {
|
|
6
5
|
return store.delete(keyword);
|
|
7
6
|
}
|
|
8
|
-
export function listKeywords(store
|
|
7
|
+
export function listKeywords(store) {
|
|
9
8
|
return Array.from(store.entries());
|
|
10
9
|
}
|
|
11
|
-
export function matchKeyword(text, store
|
|
10
|
+
export function matchKeyword(text, store) {
|
|
12
11
|
for (const [keyword, reply] of store) {
|
|
13
12
|
if (text.includes(keyword))
|
|
14
13
|
return reply;
|
|
15
14
|
}
|
|
16
15
|
return null;
|
|
17
16
|
}
|
|
18
|
-
export function resetKeywords() {
|
|
19
|
-
keywords.clear();
|
|
20
|
-
}
|
|
21
17
|
//# sourceMappingURL=keyword-store.js.map
|
package/lib/keyword-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword-store.js","sourceRoot":"","sources":["../src/keyword-store.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"keyword-store.js","sourceRoot":"","sources":["../src/keyword-store.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,KAAa,EAAE,KAA0B;IACnF,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,KAA0B;IACvE,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAA0B;IACrD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAA0B;IACnE,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/lib/memory-store.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* In-memory group-suite models
|
|
2
|
+
* In-memory group-suite models used when no DatabaseHost is available.
|
|
3
3
|
*
|
|
4
4
|
* 模型表面与 `@zhin.js/plugin-runtime` 的 DatabaseHostModel 结构兼容
|
|
5
5
|
* (where 返回 PromiseLike,host 侧是链式 Selection),
|
package/lib/memory-store.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* In-memory group-suite models
|
|
2
|
+
* In-memory group-suite models used when no DatabaseHost is available.
|
|
3
3
|
*
|
|
4
4
|
* 模型表面与 `@zhin.js/plugin-runtime` 的 DatabaseHostModel 结构兼容
|
|
5
5
|
* (where 返回 PromiseLike,host 侧是链式 Selection),
|
package/lib/runtime-state.d.ts
CHANGED
|
@@ -13,13 +13,12 @@ export interface GroupSuiteRuntime {
|
|
|
13
13
|
readonly keywords: Map<string, string>;
|
|
14
14
|
readonly teachCooldowns: Map<string, number>;
|
|
15
15
|
readonly statsBuffer: Map<string, PendingStatsIncrement>;
|
|
16
|
+
readonly checkinChains: Map<string, Promise<unknown>>;
|
|
16
17
|
}
|
|
17
18
|
export declare const groupSuiteRuntimeToken: Token<GroupSuiteRuntime>;
|
|
18
19
|
export declare function createGroupSuiteRuntime(db: GroupSuiteMemoryDb): GroupSuiteRuntime;
|
|
19
20
|
export declare function resolveGroupSuiteRuntime(context: {
|
|
20
|
-
owner?:
|
|
21
|
-
id?: unknown;
|
|
22
|
-
};
|
|
21
|
+
readonly owner?: unknown;
|
|
23
22
|
use<T>(token: Token<T>): T;
|
|
24
|
-
}): GroupSuiteRuntime
|
|
23
|
+
}): GroupSuiteRuntime;
|
|
25
24
|
//# sourceMappingURL=runtime-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-state.d.ts","sourceRoot":"","sources":["../src/runtime-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-state.d.ts","sourceRoot":"","sources":["../src/runtime-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CACvD;AAED,eAAO,MAAM,sBAAsB,0BAGlC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,kBAAkB,GAAG,iBAAiB,CAQjF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC5B,GAAG,iBAAiB,CAEpB"}
|
package/lib/runtime-state.js
CHANGED
|
@@ -6,16 +6,10 @@ export function createGroupSuiteRuntime(db) {
|
|
|
6
6
|
keywords: new Map(),
|
|
7
7
|
teachCooldowns: new Map(),
|
|
8
8
|
statsBuffer: new Map(),
|
|
9
|
+
checkinChains: new Map(),
|
|
9
10
|
};
|
|
10
11
|
}
|
|
11
12
|
export function resolveGroupSuiteRuntime(context) {
|
|
12
|
-
|
|
13
|
-
return context.use(groupSuiteRuntimeToken);
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
if (context.owner?.id)
|
|
17
|
-
throw error;
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
13
|
+
return context.use(groupSuiteRuntimeToken);
|
|
20
14
|
}
|
|
21
15
|
//# sourceMappingURL=runtime-state.js.map
|
package/lib/runtime-state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../src/runtime-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../src/runtime-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,SAAS,CAAC;AAoBlD,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAC/C,0BAA0B,EAC1B,uDAAuD,CACxD,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,EAAsB;IAC5D,OAAO;QACL,EAAE;QACF,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,aAAa,EAAE,IAAI,GAAG,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAGxC;IACC,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC7C,CAAC"}
|
package/lib/stats-lib.d.ts
CHANGED
|
@@ -19,9 +19,9 @@ export declare function recordMessage(input: {
|
|
|
19
19
|
readonly id?: string;
|
|
20
20
|
};
|
|
21
21
|
metadata?: Readonly<Record<string, unknown>>;
|
|
22
|
-
}, runtime
|
|
23
|
-
export declare function flushStatsBuffer(runtime
|
|
24
|
-
export declare function queryStats(groupId: string, fromDate: string, runtime
|
|
22
|
+
}, runtime: GroupSuiteRuntime): void;
|
|
23
|
+
export declare function flushStatsBuffer(runtime: GroupSuiteRuntime): Promise<void>;
|
|
24
|
+
export declare function queryStats(groupId: string, fromDate: string, runtime: GroupSuiteRuntime): Promise<Map<string, {
|
|
25
25
|
name: string;
|
|
26
26
|
count: number;
|
|
27
27
|
}>>;
|
|
@@ -33,9 +33,7 @@ type MessageInput = {
|
|
|
33
33
|
target?: string;
|
|
34
34
|
metadata?: Readonly<Record<string, unknown>>;
|
|
35
35
|
};
|
|
36
|
-
export declare function statsRankText(input: MessageInput, cfg: GroupSuiteConfig, fromDate: string, title: string, runtime
|
|
37
|
-
export declare function myStatsText(input: MessageInput, runtime
|
|
38
|
-
/** Test helper */
|
|
39
|
-
export declare function resetStatsBuffer(): void;
|
|
36
|
+
export declare function statsRankText(input: MessageInput, cfg: GroupSuiteConfig, fromDate: string, title: string, runtime: GroupSuiteRuntime): Promise<string>;
|
|
37
|
+
export declare function myStatsText(input: MessageInput, runtime: GroupSuiteRuntime): Promise<string>;
|
|
40
38
|
export {};
|
|
41
39
|
//# sourceMappingURL=stats-lib.d.ts.map
|
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":"AAAA,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;
|
|
1
|
+
{"version":3,"file":"stats-lib.d.ts","sourceRoot":"","sources":["../src/stats-lib.ts"],"names":[],"mappings":"AAAA,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;IACpC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C,GAAG,MAAM,CAUT;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAmBnC;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwChF;AAED,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;IAClB,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,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
|
@@ -11,7 +11,6 @@ export function monthStartStr() {
|
|
|
11
11
|
const d = new Date();
|
|
12
12
|
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-01`;
|
|
13
13
|
}
|
|
14
|
-
const buffer = new Map();
|
|
15
14
|
function bufferKey(userId, groupId, date) {
|
|
16
15
|
return `${userId}:${groupId}:${date}`;
|
|
17
16
|
}
|
|
@@ -27,7 +26,7 @@ export function resolveGroupId(input) {
|
|
|
27
26
|
return '';
|
|
28
27
|
}
|
|
29
28
|
export function recordMessage(input, runtime) {
|
|
30
|
-
const targetBuffer = runtime
|
|
29
|
+
const targetBuffer = runtime.statsBuffer;
|
|
31
30
|
const { id: userId, name: userName } = resolveSender(input);
|
|
32
31
|
if (!userId)
|
|
33
32
|
return;
|
|
@@ -49,8 +48,8 @@ export function recordMessage(input, runtime) {
|
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
50
|
export async function flushStatsBuffer(runtime) {
|
|
52
|
-
const targetBuffer = runtime
|
|
53
|
-
const M = getStatsModel(runtime
|
|
51
|
+
const targetBuffer = runtime.statsBuffer;
|
|
52
|
+
const M = getStatsModel(runtime.db);
|
|
54
53
|
if (!M || targetBuffer.size === 0)
|
|
55
54
|
return;
|
|
56
55
|
for (const [key, entry] of [...targetBuffer.entries()]) {
|
|
@@ -94,7 +93,7 @@ export async function flushStatsBuffer(runtime) {
|
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
95
|
export async function queryStats(groupId, fromDate, runtime) {
|
|
97
|
-
const M = getStatsModel(runtime
|
|
96
|
+
const M = getStatsModel(runtime.db);
|
|
98
97
|
if (!M)
|
|
99
98
|
return new Map();
|
|
100
99
|
const all = (groupId
|
|
@@ -130,7 +129,7 @@ export async function statsRankText(input, cfg, fromDate, title, runtime) {
|
|
|
130
129
|
}
|
|
131
130
|
export async function myStatsText(input, runtime) {
|
|
132
131
|
await flushStatsBuffer(runtime);
|
|
133
|
-
const M = getStatsModel(runtime
|
|
132
|
+
const M = getStatsModel(runtime.db);
|
|
134
133
|
if (!M)
|
|
135
134
|
return '统计数据库尚未就绪';
|
|
136
135
|
const { id: userId, name: userName } = resolveSender(input);
|
|
@@ -170,8 +169,4 @@ export async function myStatsText(input, runtime) {
|
|
|
170
169
|
};
|
|
171
170
|
return formatMyStatsText(data);
|
|
172
171
|
}
|
|
173
|
-
/** Test helper */
|
|
174
|
-
export function resetStatsBuffer() {
|
|
175
|
-
buffer.clear();
|
|
176
|
-
}
|
|
177
172
|
//# 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":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,QAAQ,EACR,EAAE,GACH,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,GAEf,MAAM,iBAAiB,CAAC;AAGzB,MAAM,UAAU,YAAY;IAC1B,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;AAC9E,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"stats-lib.js","sourceRoot":"","sources":["../src/stats-lib.ts"],"names":[],"mappings":"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"}
|
package/lib/tables.js
CHANGED
package/lib/teach-lib.d.ts
CHANGED
|
@@ -14,12 +14,10 @@ type MessageInput = {
|
|
|
14
14
|
content?: unknown;
|
|
15
15
|
metadata?: Readonly<Record<string, unknown>>;
|
|
16
16
|
};
|
|
17
|
-
export declare function teachAdd(input: MessageInput, cfg: GroupSuiteConfig, payload: string, regex
|
|
18
|
-
export declare function teachList(input: MessageInput, cfg: GroupSuiteConfig, page
|
|
19
|
-
export declare function teachForget(input: MessageInput, questionRaw: string, runtime
|
|
17
|
+
export declare function teachAdd(input: MessageInput, cfg: GroupSuiteConfig, payload: string, regex: boolean | undefined, runtime: GroupSuiteRuntime): Promise<string>;
|
|
18
|
+
export declare function teachList(input: MessageInput, cfg: GroupSuiteConfig, page: number | undefined, runtime: GroupSuiteRuntime): Promise<string>;
|
|
19
|
+
export declare function teachForget(input: MessageInput, questionRaw: string, runtime: GroupSuiteRuntime): Promise<string>;
|
|
20
20
|
/** Try teach auto-reply; returns reply text or null. */
|
|
21
|
-
export declare function tryTeachReply(input: MessageInput, cfg: GroupSuiteConfig, runtime
|
|
22
|
-
/** Test helper */
|
|
23
|
-
export declare function resetTeachCooldown(): void;
|
|
21
|
+
export declare function tryTeachReply(input: MessageInput, cfg: GroupSuiteConfig, runtime: GroupSuiteRuntime): Promise<string | null>;
|
|
24
22
|
export {};
|
|
25
23
|
//# sourceMappingURL=teach-lib.d.ts.map
|
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":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"teach-lib.d.ts","sourceRoot":"","sources":["../src/teach-lib.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,wJACY,CAAC;AAa1C,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAevF;AAkCD,KAAK,YAAY,GAAG;IAClB,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C,CAAC;AAiCF,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,CAsBjB;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,5 @@
|
|
|
1
1
|
import { getTeachModel } from './db-store.js';
|
|
2
2
|
import { resolveContextKey, resolveSender, ts, } from './shared-runtime.js';
|
|
3
|
-
const cooldownMap = new Map();
|
|
4
3
|
export const TEACH_USAGE_HINT = '格式:teach 关键词 回答(回答可含空格),或 teach 问题|答案';
|
|
5
4
|
function isSafeRegex(pattern) {
|
|
6
5
|
if (pattern.length > 200)
|
|
@@ -58,7 +57,7 @@ function qaWhereKey(row) {
|
|
|
58
57
|
};
|
|
59
58
|
}
|
|
60
59
|
async function findMatch(content, ctxType, ctxId, cfg, runtime) {
|
|
61
|
-
const QA = getTeachModel(runtime
|
|
60
|
+
const QA = getTeachModel(runtime.db);
|
|
62
61
|
if (!QA)
|
|
63
62
|
return null;
|
|
64
63
|
const allItems = (await QA.select());
|
|
@@ -84,7 +83,7 @@ async function findMatch(content, ctxType, ctxId, cfg, runtime) {
|
|
|
84
83
|
return null;
|
|
85
84
|
}
|
|
86
85
|
export async function teachAdd(input, cfg, payload, regex = false, runtime) {
|
|
87
|
-
const QA = getTeachModel(runtime
|
|
86
|
+
const QA = getTeachModel(runtime.db);
|
|
88
87
|
if (!QA)
|
|
89
88
|
return '问答数据库尚未就绪,请稍后重试';
|
|
90
89
|
if (regex && !cfg.teachAllowRegex)
|
|
@@ -143,7 +142,7 @@ export async function teachAdd(input, cfg, payload, regex = false, runtime) {
|
|
|
143
142
|
: `学会了!发送「${question}」我会回复「${answer}」`;
|
|
144
143
|
}
|
|
145
144
|
export async function teachList(input, cfg, page = 1, runtime) {
|
|
146
|
-
const QA = getTeachModel(runtime
|
|
145
|
+
const QA = getTeachModel(runtime.db);
|
|
147
146
|
if (!QA)
|
|
148
147
|
return '问答数据库尚未就绪';
|
|
149
148
|
const safePage = Math.max(1, page);
|
|
@@ -166,7 +165,7 @@ export async function teachList(input, cfg, page = 1, runtime) {
|
|
|
166
165
|
return `${header}\n${lines.join('\n')}\n第 ${pageNum}/${totalPages} 页 · 共 ${allItems.length} 条`;
|
|
167
166
|
}
|
|
168
167
|
export async function teachForget(input, questionRaw, runtime) {
|
|
169
|
-
const QA = getTeachModel(runtime
|
|
168
|
+
const QA = getTeachModel(runtime.db);
|
|
170
169
|
if (!QA)
|
|
171
170
|
return '问答数据库尚未就绪';
|
|
172
171
|
const question = questionRaw.trim();
|
|
@@ -193,12 +192,12 @@ export async function tryTeachReply(input, cfg, runtime) {
|
|
|
193
192
|
if (!matched)
|
|
194
193
|
return null;
|
|
195
194
|
const cooldownKey = `${matched.question}:${ctxType}:${ctxId}:${matched.is_regex ?? 0}`;
|
|
196
|
-
const cooldowns = runtime
|
|
195
|
+
const cooldowns = runtime.teachCooldowns;
|
|
197
196
|
const last = cooldowns.get(cooldownKey);
|
|
198
197
|
if (last && Date.now() - last < cfg.teachCooldownMs)
|
|
199
198
|
return null;
|
|
200
199
|
cooldowns.set(cooldownKey, Date.now());
|
|
201
|
-
const QA = getTeachModel(runtime
|
|
200
|
+
const QA = getTeachModel(runtime.db);
|
|
202
201
|
if (QA) {
|
|
203
202
|
try {
|
|
204
203
|
await QA.update({
|
|
@@ -226,8 +225,4 @@ export async function tryTeachReply(input, cfg, runtime) {
|
|
|
226
225
|
}
|
|
227
226
|
return answer;
|
|
228
227
|
}
|
|
229
|
-
/** Test helper */
|
|
230
|
-
export function resetTeachCooldown() {
|
|
231
|
-
cooldownMap.clear();
|
|
232
|
-
}
|
|
233
228
|
//# sourceMappingURL=teach-lib.js.map
|
package/lib/teach-lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teach-lib.js","sourceRoot":"","sources":["../src/teach-lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,EAAE,GACH,MAAM,qBAAqB,CAAC;AAG7B,MAAM,
|
|
1
|
+
{"version":3,"file":"teach-lib.js","sourceRoot":"","sources":["../src/teach-lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
2
|
import { defineMiddleware } from 'zhin.js/middleware';
|
|
3
|
-
import { resolveGroupSuiteConfig } from "
|
|
4
|
-
import { matchKeyword } from "
|
|
5
|
-
import { resolveGroupSuiteRuntime } from "
|
|
3
|
+
import { resolveGroupSuiteConfig } from "../../lib/config.js";
|
|
4
|
+
import { matchKeyword } from "../../lib/keyword-store.js";
|
|
5
|
+
import { resolveGroupSuiteRuntime } from "../../lib/runtime-state.js";
|
|
6
6
|
/**
|
|
7
7
|
* Keyword auto-reply (enabled via config.keywordReply).
|
|
8
8
|
* Uses Runtime Message.content / metadata (legacy used $raw / $channel).
|
|
@@ -26,7 +26,7 @@ export default defineMiddleware({
|
|
|
26
26
|
await next();
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
|
-
const reply = matchKeyword(text, resolveGroupSuiteRuntime(context)
|
|
29
|
+
const reply = matchKeyword(text, resolveGroupSuiteRuntime(context).keywords);
|
|
30
30
|
if (reply) {
|
|
31
31
|
await context.input.$reply(reply);
|
|
32
32
|
return;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineMiddleware } from 'zhin.js/middleware';
|
|
2
2
|
import type { Message } from '@zhin.js/core/runtime';
|
|
3
|
-
import { resolveGroupSuiteConfig, type GroupSuiteConfig } from '
|
|
4
|
-
import { matchKeyword } from '
|
|
5
|
-
import { resolveGroupSuiteRuntime } from '
|
|
3
|
+
import { resolveGroupSuiteConfig, type GroupSuiteConfig } from '../../src/config.js';
|
|
4
|
+
import { matchKeyword } from '../../src/keyword-store.js';
|
|
5
|
+
import { resolveGroupSuiteRuntime } from '../../src/runtime-state.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Keyword auto-reply (enabled via config.keywordReply).
|
|
@@ -27,7 +27,7 @@ export default defineMiddleware<Message, GroupSuiteConfig>({
|
|
|
27
27
|
await next();
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
-
const reply = matchKeyword(text, resolveGroupSuiteRuntime(context)
|
|
30
|
+
const reply = matchKeyword(text, resolveGroupSuiteRuntime(context).keywords);
|
|
31
31
|
if (reply) {
|
|
32
32
|
await context.input.$reply(reply);
|
|
33
33
|
return;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
2
|
import { defineMiddleware } from 'zhin.js/middleware';
|
|
3
|
-
import { recordMessage } from "
|
|
4
|
-
import { resolveGroupSuiteRuntime } from "
|
|
3
|
+
import { recordMessage } from "../../lib/stats-lib.js";
|
|
4
|
+
import { resolveGroupSuiteRuntime } from "../../lib/runtime-state.js";
|
|
5
5
|
/**
|
|
6
6
|
* Buffer inbound messages into in-memory message_stats (flushed on query).
|
|
7
7
|
* Skips command messages (legacy used `isActionMessage` to skip interactive
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineMiddleware } from 'zhin.js/middleware';
|
|
2
2
|
import type { Message } from '@zhin.js/core/runtime';
|
|
3
|
-
import type { GroupSuiteConfig } from '
|
|
4
|
-
import { recordMessage } from '
|
|
5
|
-
import { resolveGroupSuiteRuntime } from '
|
|
3
|
+
import type { GroupSuiteConfig } from '../../src/config.js';
|
|
4
|
+
import { recordMessage } from '../../src/stats-lib.js';
|
|
5
|
+
import { resolveGroupSuiteRuntime } from '../../src/runtime-state.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Buffer inbound messages into in-memory message_stats (flushed on query).
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
2
|
import { defineMiddleware } from 'zhin.js/middleware';
|
|
3
|
-
import { resolveGroupSuiteConfig } from "
|
|
4
|
-
import { tryTeachReply } from "
|
|
5
|
-
import { resolveGroupSuiteRuntime } from "
|
|
3
|
+
import { resolveGroupSuiteConfig } from "../../lib/config.js";
|
|
4
|
+
import { tryTeachReply } from "../../lib/teach-lib.js";
|
|
5
|
+
import { resolveGroupSuiteRuntime } from "../../lib/runtime-state.js";
|
|
6
6
|
/**
|
|
7
7
|
* Teach Q&A auto-reply (exact / optional regex).
|
|
8
8
|
* Uses Runtime Message.content / metadata.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineMiddleware } from 'zhin.js/middleware';
|
|
2
2
|
import type { Message } from '@zhin.js/core/runtime';
|
|
3
|
-
import { resolveGroupSuiteConfig, type GroupSuiteConfig } from '
|
|
4
|
-
import { tryTeachReply } from '
|
|
5
|
-
import { resolveGroupSuiteRuntime } from '
|
|
3
|
+
import { resolveGroupSuiteConfig, type GroupSuiteConfig } from '../../src/config.js';
|
|
4
|
+
import { tryTeachReply } from '../../src/teach-lib.js';
|
|
5
|
+
import { resolveGroupSuiteRuntime } from '../../src/runtime-state.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Teach Q&A auto-reply (exact / optional regex).
|
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.3",
|
|
4
4
|
"description": "Zhin.js 群运营套件 — slice-2 checkin/teach/stats + keywords (Plugin Runtime, in-memory)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -20,8 +20,7 @@
|
|
|
20
20
|
"middlewares",
|
|
21
21
|
"src",
|
|
22
22
|
"lib",
|
|
23
|
-
"
|
|
24
|
-
"tools",
|
|
23
|
+
"skills",
|
|
25
24
|
"README.md"
|
|
26
25
|
],
|
|
27
26
|
"keywords": [
|
|
@@ -41,27 +40,24 @@
|
|
|
41
40
|
},
|
|
42
41
|
"license": "MIT",
|
|
43
42
|
"dependencies": {
|
|
44
|
-
"@zhin.js/core": "1.1.
|
|
45
|
-
"@zhin.js/satori": "1.1.0"
|
|
43
|
+
"@zhin.js/core": "1.1.38",
|
|
44
|
+
"@zhin.js/satori": "1.1.0",
|
|
45
|
+
"@zhin.js/tool": "1.1.2",
|
|
46
|
+
"@zhin.js/skill": "1.1.2"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
49
|
"typescript": "^6.0.3",
|
|
49
50
|
"vitest": "^4.1.10",
|
|
50
51
|
"zod": "^4.4.3",
|
|
51
|
-
"
|
|
52
|
-
"zhin.js": "1.1.0"
|
|
52
|
+
"zhin.js": "1.1.3"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"zod": "^4.0.0",
|
|
56
|
-
"@zhin.js/
|
|
57
|
-
"@zhin.js/
|
|
58
|
-
"
|
|
59
|
-
"zhin.js": "^1.1.0"
|
|
56
|
+
"@zhin.js/command": "^1.1.2",
|
|
57
|
+
"@zhin.js/middleware": "^1.1.2",
|
|
58
|
+
"zhin.js": "^1.1.3"
|
|
60
59
|
},
|
|
61
60
|
"peerDependenciesMeta": {
|
|
62
|
-
"@zhin.js/agent": {
|
|
63
|
-
"optional": true
|
|
64
|
-
},
|
|
65
61
|
"@zhin.js/command": {
|
|
66
62
|
"optional": true
|
|
67
63
|
},
|
|
@@ -98,6 +94,14 @@
|
|
|
98
94
|
{
|
|
99
95
|
"package": "@zhin.js/middleware",
|
|
100
96
|
"api": "^1.0.0"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"package": "@zhin.js/tool",
|
|
100
|
+
"api": "^1.0.0"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"package": "@zhin.js/skill",
|
|
104
|
+
"api": "^1.0.0"
|
|
101
105
|
}
|
|
102
106
|
],
|
|
103
107
|
"plugins": []
|