@zhin.js/adapter-napcat 6.0.14 → 7.0.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @zhin.js/adapter-napcat
2
2
 
3
+ ## 7.0.0
4
+
5
+ ### Patch Changes
6
+
7
+ - f2c532f: Expose exact per-Endpoint message operations through one validated Adapter capability model, route Core control calls through declared active capabilities, and connect existing recall, edit, reaction, and typing implementations across platform adapters.
8
+ - Updated dependencies [b10d058]
9
+ - Updated dependencies [f2c532f]
10
+ - Updated dependencies [3dbf990]
11
+ - @zhin.js/host-http@1.0.12
12
+ - @zhin.js/adapter@1.2.0
13
+ - @zhin.js/core@1.5.13
14
+ - @zhin.js/agent@1.1.15
15
+ - zhin.js@6.0.13
16
+
3
17
  ## 6.0.14
4
18
 
5
19
  ### Patch Changes
@@ -15,6 +15,7 @@ export { NapCatWsEndpoint, } from "../lib/ws-endpoint.js";
15
15
  export { NapCatWssEndpoint, } from "../lib/wss-endpoint.js";
16
16
  export default defineAdapter({
17
17
  capabilities: ['inbound', 'outbound'],
18
+ operations: ['recall'],
18
19
  // OneBot file 参数原生消费 url / base64:// 媒体,file:// 本地路径由 NapCat 侧读盘;
19
20
  // 无卡片交互面,交互段降级纯文本。
20
21
  segments: {
@@ -32,6 +32,7 @@ declare module '@zhin.js/core' {
32
32
 
33
33
  export default defineAdapter<NapCatAdapterConfig>({
34
34
  capabilities: ['inbound', 'outbound'],
35
+ operations: ['recall'],
35
36
  // OneBot file 参数原生消费 url / base64:// 媒体,file:// 本地路径由 NapCat 侧读盘;
36
37
  // 无卡片交互面,交互段降级纯文本。
37
38
  segments: {
@@ -1,4 +1,4 @@
1
- import type { EndpointInstance, EndpointManagement, EndpointSendRequest } from 'zhin.js/adapter';
1
+ import { type EndpointControl, type EndpointInstance, type EndpointManagement, type EndpointSendRequest } from 'zhin.js/adapter';
2
2
  import type { MessageGateway, SideEventGateway } from '@zhin.js/core/runtime';
3
3
  import type { HttpHost } from '@zhin.js/host-http';
4
4
  import type { CapabilityId } from 'zhin.js';
@@ -14,6 +14,7 @@ export interface NapCatHttpEndpointOptions {
14
14
  export declare class NapCatHttpEndpoint implements EndpointInstance {
15
15
  #private;
16
16
  readonly management: EndpointManagement;
17
+ readonly control: EndpointControl;
17
18
  readonly content: import("@zhin.js/adapter").EndpointContentPort;
18
19
  constructor(options: NapCatHttpEndpointOptions);
19
20
  start(): Promise<void>;
@@ -1,3 +1,4 @@
1
+ import { createRecallEndpointControl, } from 'zhin.js/adapter';
1
2
  import { formatCompact, getAdapterLogger } from '@zhin.js/logger';
2
3
  import { createNapCatEndpointManagement } from './endpoint-management.js';
3
4
  import { registerNapcatAgentEndpoint } from './napcat-agent-deps.js';
@@ -12,6 +13,7 @@ export class NapCatHttpEndpoint {
12
13
  #options;
13
14
  #inboundDeduper = new InboundMessageDeduper();
14
15
  management = createNapCatEndpointManagement(this);
16
+ control = createRecallEndpointControl((id) => this.recallMessage(id));
15
17
  content = createNapCatContentPort((action, params) => this.callApi(action, params));
16
18
  #callHttpAction;
17
19
  #routeReleases = [];
@@ -1,4 +1,4 @@
1
- import { type EndpointInstance, type EndpointManagement, type EndpointSendRequest } from 'zhin.js/adapter';
1
+ import { type EndpointControl, type EndpointInstance, type EndpointManagement, type EndpointSendRequest } from 'zhin.js/adapter';
2
2
  import type { MessageGateway, SideEventGateway } from '@zhin.js/core/runtime';
3
3
  import type { CapabilityId } from 'zhin.js';
4
4
  import { type NapCatEvent, type NapCatWsConfig } from './protocol.js';
@@ -13,6 +13,7 @@ export interface NapCatWsEndpointOptions {
13
13
  export declare class NapCatWsEndpoint implements EndpointInstance {
14
14
  #private;
15
15
  readonly management: EndpointManagement;
16
+ readonly control: EndpointControl;
16
17
  readonly content: import("@zhin.js/adapter").EndpointContentPort;
17
18
  constructor(options: NapCatWsEndpointOptions);
18
19
  start(): Promise<void>;
@@ -2,7 +2,7 @@
2
2
  * NapCat WS client endpoint — outbound connect to NapCat.
3
3
  */
4
4
  import WebSocket from 'ws';
5
- import { createEndpointLifecycle, } from 'zhin.js/adapter';
5
+ import { createRecallEndpointControl, createEndpointLifecycle, } from 'zhin.js/adapter';
6
6
  import { formatCompact, getAdapterLogger } from '@zhin.js/logger';
7
7
  import { createNapCatEndpointManagement } from './endpoint-management.js';
8
8
  import { registerNapcatAgentEndpoint } from './napcat-agent-deps.js';
@@ -16,6 +16,7 @@ export class NapCatWsEndpoint {
16
16
  #options;
17
17
  #inboundDeduper = new InboundMessageDeduper();
18
18
  management = createNapCatEndpointManagement(this);
19
+ control = createRecallEndpointControl((id) => this.recallMessage(id));
19
20
  content = createNapCatContentPort((action, params) => this.callApi(action, params));
20
21
  #lifecycle;
21
22
  #ws;
@@ -1,4 +1,4 @@
1
- import type { EndpointInstance, EndpointManagement, EndpointSendRequest } from 'zhin.js/adapter';
1
+ import { type EndpointControl, type EndpointInstance, type EndpointManagement, type EndpointSendRequest } from 'zhin.js/adapter';
2
2
  import type { MessageGateway, SideEventGateway } from '@zhin.js/core/runtime';
3
3
  import type { HttpHost } from '@zhin.js/host-http';
4
4
  import type { CapabilityId } from 'zhin.js';
@@ -13,6 +13,7 @@ export interface NapCatWssEndpointOptions {
13
13
  export declare class NapCatWssEndpoint implements EndpointInstance {
14
14
  #private;
15
15
  readonly management: EndpointManagement;
16
+ readonly control: EndpointControl;
16
17
  readonly content: import("@zhin.js/adapter").EndpointContentPort;
17
18
  constructor(options: NapCatWssEndpointOptions);
18
19
  start(): Promise<void>;
@@ -2,6 +2,7 @@
2
2
  * NapCat reverse WSS endpoint — accepts inbound WebSocket from NapCat.
3
3
  */
4
4
  import { clearInterval } from 'node:timers';
5
+ import { createRecallEndpointControl, } from 'zhin.js/adapter';
5
6
  import { formatCompact, getAdapterLogger } from '@zhin.js/logger';
6
7
  import { createNapCatEndpointManagement } from './endpoint-management.js';
7
8
  import { registerNapcatAgentEndpoint } from './napcat-agent-deps.js';
@@ -16,6 +17,7 @@ export class NapCatWssEndpoint {
16
17
  #options;
17
18
  #inboundDeduper = new InboundMessageDeduper();
18
19
  management = createNapCatEndpointManagement(this);
20
+ control = createRecallEndpointControl((id) => this.recallMessage(id));
19
21
  content = createNapCatContentPort((action, params) => this.callApi(action, params));
20
22
  #ws;
21
23
  #wsRelease;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/adapter-napcat",
3
- "version": "6.0.14",
3
+ "version": "7.0.0",
4
4
  "description": "Zhin.js NapCat adapter for Plugin Runtime (WebSocket client, OneBot11 + NapCat extensions)",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -43,9 +43,9 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "ws": "^8.21.1",
46
- "@zhin.js/adapter": "1.1.11",
47
- "@zhin.js/core": "1.5.12",
48
- "@zhin.js/host-http": "1.0.11",
46
+ "@zhin.js/adapter": "1.2.0",
47
+ "@zhin.js/core": "1.5.13",
48
+ "@zhin.js/host-http": "1.0.12",
49
49
  "@zhin.js/im-contract": "1.0.4",
50
50
  "@zhin.js/logger": "1.0.76",
51
51
  "@zhin.js/permission": "1.0.3"
@@ -56,17 +56,17 @@
56
56
  "typescript": "^6.0.3",
57
57
  "vitest": "^4.1.10",
58
58
  "zod": "^4.4.3",
59
- "@zhin.js/agent": "1.1.14",
60
- "@zhin.js/host-http": "1.0.11",
61
- "zhin.js": "6.0.12"
59
+ "@zhin.js/agent": "1.1.15",
60
+ "@zhin.js/host-http": "1.0.12",
61
+ "zhin.js": "6.0.13"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "zod": "^4.0.0",
65
- "@zhin.js/adapter": "1.1.11",
66
- "@zhin.js/agent": "1.1.14",
65
+ "@zhin.js/adapter": "1.2.0",
66
+ "@zhin.js/agent": "1.1.15",
67
67
  "@zhin.js/command": "1.0.15",
68
- "@zhin.js/core": "1.5.12",
69
- "zhin.js": "6.0.12"
68
+ "@zhin.js/core": "1.5.13",
69
+ "zhin.js": "6.0.13"
70
70
  },
71
71
  "peerDependenciesMeta": {
72
72
  "@zhin.js/agent": {
@@ -2,7 +2,13 @@
2
2
  * NapCat HTTP endpoint — POST inbound events + HTTP API outbound.
3
3
  */
4
4
  import type { IncomingMessage, ServerResponse } from 'node:http';
5
- import type { EndpointInstance, EndpointManagement, EndpointSendRequest } from 'zhin.js/adapter';
5
+ import {
6
+ createRecallEndpointControl,
7
+ type EndpointControl,
8
+ type EndpointInstance,
9
+ type EndpointManagement,
10
+ type EndpointSendRequest,
11
+ } from 'zhin.js/adapter';
6
12
  import type { MessageGateway, SideEventGateway } from '@zhin.js/core/runtime';
7
13
  import type { HttpHost, HttpRouteRegistration } from '@zhin.js/host-http';
8
14
  import { formatCompact, getAdapterLogger } from '@zhin.js/logger';
@@ -49,6 +55,7 @@ export class NapCatHttpEndpoint implements EndpointInstance {
49
55
  readonly #options: NapCatHttpEndpointOptions;
50
56
  readonly #inboundDeduper = new InboundMessageDeduper();
51
57
  readonly management: EndpointManagement = createNapCatEndpointManagement(this);
58
+ readonly control: EndpointControl = createRecallEndpointControl((id) => this.recallMessage(id));
52
59
  readonly content = createNapCatContentPort((action, params) => this.callApi(action, params));
53
60
  readonly #callHttpAction: typeof callNapCatHttpAction;
54
61
  #routeReleases: HttpRouteRegistration[] = [];
@@ -3,8 +3,10 @@
3
3
  */
4
4
  import WebSocket from 'ws';
5
5
  import {
6
+ createRecallEndpointControl,
6
7
  createEndpointLifecycle,
7
8
  type EndpointConnectHandle,
9
+ type EndpointControl,
8
10
  type EndpointInstance,
9
11
  type EndpointLifecycle,
10
12
  type EndpointManagement,
@@ -64,6 +66,7 @@ export class NapCatWsEndpoint implements EndpointInstance {
64
66
  readonly #options: NapCatWsEndpointOptions;
65
67
  readonly #inboundDeduper = new InboundMessageDeduper();
66
68
  readonly management: EndpointManagement = createNapCatEndpointManagement(this);
69
+ readonly control: EndpointControl = createRecallEndpointControl((id) => this.recallMessage(id));
67
70
  readonly content = createNapCatContentPort((action, params) => this.callApi(action, params));
68
71
  readonly #lifecycle: EndpointLifecycle;
69
72
  #ws?: NapCatWsSocket;
@@ -2,7 +2,13 @@
2
2
  * NapCat reverse WSS endpoint — accepts inbound WebSocket from NapCat.
3
3
  */
4
4
  import { clearInterval } from 'node:timers';
5
- import type { EndpointInstance, EndpointManagement, EndpointSendRequest } from 'zhin.js/adapter';
5
+ import {
6
+ createRecallEndpointControl,
7
+ type EndpointControl,
8
+ type EndpointInstance,
9
+ type EndpointManagement,
10
+ type EndpointSendRequest,
11
+ } from 'zhin.js/adapter';
6
12
  import type { MessageGateway, SideEventGateway } from '@zhin.js/core/runtime';
7
13
  import type { HttpHost, WsConnection } from '@zhin.js/host-http';
8
14
  import { formatCompact, getAdapterLogger } from '@zhin.js/logger';
@@ -56,6 +62,7 @@ export class NapCatWssEndpoint implements EndpointInstance {
56
62
  readonly #options: NapCatWssEndpointOptions;
57
63
  readonly #inboundDeduper = new InboundMessageDeduper();
58
64
  readonly management: EndpointManagement = createNapCatEndpointManagement(this);
65
+ readonly control: EndpointControl = createRecallEndpointControl((id) => this.recallMessage(id));
59
66
  readonly content = createNapCatContentPort((action, params) => this.callApi(action, params));
60
67
  #ws?: NapCatWsSocket;
61
68
  #wsRelease?: () => void;