@zhin.js/plugin-group-suite 1.1.22 → 1.1.23

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.
@@ -19,7 +19,8 @@ export interface GroupSuiteRuntime {
19
19
  statsFlush?: Promise<void>;
20
20
  readonly checkinChains: Map<string, Promise<unknown>>;
21
21
  }
22
- export declare const groupSuiteRuntimeToken: Token<GroupSuiteRuntime>;
22
+ export declare const groupSuiteRuntimeStore: import("zhin.js").PluginStore<GroupSuiteRuntime, unknown>;
23
+ export declare const groupSuiteRuntimeToken: import("zhin.js").PluginStore<GroupSuiteRuntime, unknown>;
23
24
  export declare function createGroupSuiteRuntime(db: GroupSuiteMemoryDb): GroupSuiteRuntime;
24
25
  export declare function resolveGroupSuiteRuntime(context: {
25
26
  readonly owner?: unknown;
@@ -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;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,gFAAgF;IAChF,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,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"}
1
+ {"version":3,"file":"runtime-state.d.ts","sourceRoot":"","sources":["../src/runtime-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACxD,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;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,gFAAgF;IAChF,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CACvD;AAED,eAAO,MAAM,sBAAsB,2DAGlC,CAAC;AACF,eAAO,MAAM,sBAAsB,2DAAyB,CAAC;AAE7D,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"}
@@ -1,5 +1,6 @@
1
- import { createToken } from 'zhin.js';
2
- export const groupSuiteRuntimeToken = createToken('zhin.group-suite.runtime', 'Owner-scoped Group Suite database and ephemeral state');
1
+ import { definePluginStore } from 'zhin.js';
2
+ export const groupSuiteRuntimeStore = definePluginStore('zhin.group-suite.runtime', 'Owner-scoped Group Suite database and ephemeral state');
3
+ export const groupSuiteRuntimeToken = groupSuiteRuntimeStore;
3
4
  export function createGroupSuiteRuntime(db) {
4
5
  return {
5
6
  db,
@@ -10,6 +11,6 @@ export function createGroupSuiteRuntime(db) {
10
11
  };
11
12
  }
12
13
  export function resolveGroupSuiteRuntime(context) {
13
- return context.use(groupSuiteRuntimeToken);
14
+ return groupSuiteRuntimeStore.use(context);
14
15
  }
15
16
  //# sourceMappingURL=runtime-state.js.map
@@ -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;AAwBlD,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"}
1
+ {"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../src/runtime-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAc,MAAM,SAAS,CAAC;AAwBxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CACrD,0BAA0B,EAC1B,uDAAuD,CACxD,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAE7D,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,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/plugin-group-suite",
3
- "version": "1.1.22",
3
+ "version": "1.1.23",
4
4
  "description": "Zhin.js 群运营套件:签到、教学、统计、持久词库与群欢迎",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -42,29 +42,28 @@
42
42
  },
43
43
  "license": "MIT",
44
44
  "dependencies": {
45
- "@zhin.js/client": "1.1.25",
46
- "@zhin.js/components": "1.1.11",
47
- "@zhin.js/console-contract": "1.1.3",
48
- "@zhin.js/core": "1.1.57",
49
- "@zhin.js/jsx": "1.1.11",
50
- "@zhin.js/page": "1.1.15",
51
- "@zhin.js/skill": "1.1.14",
52
- "@zhin.js/tool": "1.1.16"
45
+ "@zhin.js/components": "1.1.12",
46
+ "@zhin.js/console-contract": "1.1.4",
47
+ "@zhin.js/core": "1.1.58",
48
+ "@zhin.js/jsx": "1.1.12",
49
+ "@zhin.js/page": "1.1.16",
50
+ "@zhin.js/skill": "1.1.15",
51
+ "@zhin.js/tool": "1.1.17"
53
52
  },
54
53
  "devDependencies": {
55
54
  "typescript": "^6.0.3",
56
55
  "vitest": "^4.1.10",
57
56
  "zod": "^4.4.3",
58
- "zhin.js": "1.1.22"
57
+ "zhin.js": "1.1.23"
59
58
  },
60
59
  "peerDependencies": {
61
60
  "zod": "^4.0.0",
62
- "@zhin.js/command": "^1.1.15",
63
- "@zhin.js/middleware": "^1.1.14",
64
- "@zhin.js/page": "^1.1.15",
65
- "zhin.js": "^1.1.22",
66
- "@zhin.js/handler": "^1.1.13",
67
- "@zhin.js/schedule-feature": "^1.1.13"
61
+ "@zhin.js/command": "^1.1.16",
62
+ "@zhin.js/middleware": "^1.1.15",
63
+ "@zhin.js/page": "^1.1.16",
64
+ "zhin.js": "^1.1.23",
65
+ "@zhin.js/handler": "^1.1.14",
66
+ "@zhin.js/schedule-feature": "^1.1.14"
68
67
  },
69
68
  "peerDependenciesMeta": {
70
69
  "@zhin.js/command": {
@@ -1,6 +1,5 @@
1
1
  // Generated by build-plugin-runtime-entries.mjs. Do not edit.
2
- import { definePage } from '@zhin.js/console-contract';
3
- import { createDeclarativePage } from '@zhin.js/client';
2
+ import { definePage, createDeclarativePage } from '@zhin.js/console-contract';
4
3
  export const meta = definePage({
5
4
  title: '群管套件',
6
5
  titleI18n: { en: 'Group Suite' },
@@ -1,5 +1,4 @@
1
- import { definePage } from '@zhin.js/console-contract';
2
- import { createDeclarativePage } from '@zhin.js/client';
1
+ import { definePage, createDeclarativePage } from '@zhin.js/console-contract';
3
2
  import type {
4
3
  GroupSuiteCheckinLeaderboardRow,
5
4
  GroupSuiteConsoleStatus,
package/plugin.js CHANGED
@@ -1,9 +1,9 @@
1
1
  // Generated by build-plugin-runtime-entries.mjs. Do not edit.
2
- import { definePlugin, databaseHostToken, pluginConsoleRpcToken } from 'zhin.js';
2
+ import { definePlugin, definePluginCapabilityGraph, databaseHostToken, pluginConsoleRpcToken, } from 'zhin.js';
3
3
  import { resolveGroupSuiteConfig } from "./lib/config.js";
4
4
  import { createGroupSuiteConsoleRpc } from "./lib/console.js";
5
5
  import { createInMemoryGroupSuiteDb } from "./lib/memory-store.js";
6
- import { createGroupSuiteRuntime, groupSuiteRuntimeToken } from "./lib/runtime-state.js";
6
+ import { createGroupSuiteRuntime, groupSuiteRuntimeStore } from "./lib/runtime-state.js";
7
7
  import { defineGroupSuiteTables } from "./lib/tables.js";
8
8
  /**
9
9
  * Plugin Runtime:
@@ -16,6 +16,35 @@ export default definePlugin({
16
16
  metadata: {
17
17
  displayName: 'Group Suite',
18
18
  },
19
+ capabilityGraph: definePluginCapabilityGraph({
20
+ provides: [groupSuiteRuntimeStore, pluginConsoleRpcToken],
21
+ injects: [databaseHostToken],
22
+ features: {
23
+ commands: [
24
+ 'checkin',
25
+ 'forget',
26
+ 'keyword-add',
27
+ 'keyword-list',
28
+ 'keyword-remove',
29
+ 'mypoints',
30
+ 'mystats',
31
+ 'rank',
32
+ 'stats',
33
+ 'stats-card',
34
+ 'stats-rank',
35
+ 'stats-week',
36
+ 'teach',
37
+ 'teach-list',
38
+ 'teach-regex',
39
+ ],
40
+ handlers: ['welcome'],
41
+ middlewares: ['keyword-reply', 'stats-count', 'teach-reply'],
42
+ schedules: ['flush-stats'],
43
+ skills: ['checkin', 'group-daily-analysis'],
44
+ tools: ['checkin_query', 'checkin_rank', 'group_announce', 'stats_query', 'stats_user'],
45
+ pages: ['index'],
46
+ },
47
+ }),
19
48
  setup(context) {
20
49
  // host 与 memory 模型表面结构兼容(where 均返回 PromiseLike),可直接互换。
21
50
  const db = (() => {
@@ -33,8 +62,9 @@ export default definePlugin({
33
62
  throw new Error('Persistent keywords require a Database Host; demos may explicitly set ephemeralKeywords: true');
34
63
  void context.resources.use(databaseHostToken).state;
35
64
  }
36
- const runtime = createGroupSuiteRuntime(db);
37
- context.resources.provide(groupSuiteRuntimeToken, runtime);
38
- context.resources.provide(pluginConsoleRpcToken, createGroupSuiteConsoleRpc(runtime));
65
+ const runtime = groupSuiteRuntimeStore.provide(context, createGroupSuiteRuntime(db));
66
+ return {
67
+ consoleRpc: createGroupSuiteConsoleRpc(runtime),
68
+ };
39
69
  },
40
70
  });
@@ -1,4 +1,4 @@
1
- import { createToken, type Token } from 'zhin.js';
1
+ import { definePluginStore, type Token } from 'zhin.js';
2
2
  import type { GroupSuiteMemoryDb } from './memory-store.js';
3
3
 
4
4
  export interface PendingStatsIncrement {
@@ -22,10 +22,11 @@ export interface GroupSuiteRuntime {
22
22
  readonly checkinChains: Map<string, Promise<unknown>>;
23
23
  }
24
24
 
25
- export const groupSuiteRuntimeToken = createToken<GroupSuiteRuntime>(
25
+ export const groupSuiteRuntimeStore = definePluginStore<GroupSuiteRuntime>(
26
26
  'zhin.group-suite.runtime',
27
27
  'Owner-scoped Group Suite database and ephemeral state',
28
28
  );
29
+ export const groupSuiteRuntimeToken = groupSuiteRuntimeStore;
29
30
 
30
31
  export function createGroupSuiteRuntime(db: GroupSuiteMemoryDb): GroupSuiteRuntime {
31
32
  return {
@@ -41,5 +42,5 @@ export function resolveGroupSuiteRuntime(context: {
41
42
  readonly owner?: unknown;
42
43
  use<T>(token: Token<T>): T;
43
44
  }): GroupSuiteRuntime {
44
- return context.use(groupSuiteRuntimeToken);
45
+ return groupSuiteRuntimeStore.use(context);
45
46
  }