@zhin.js/core 1.2.0 → 1.3.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/README.md +9 -9
- package/lib/adapter.d.ts +20 -18
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +64 -60
- package/lib/adapter.js.map +1 -1
- package/lib/agent-prompt.d.ts +3 -3
- package/lib/agent-prompt.d.ts.map +1 -1
- package/lib/built/adapter-process.d.ts +5 -4
- package/lib/built/adapter-process.d.ts.map +1 -1
- package/lib/built/adapter-process.js +6 -5
- package/lib/built/adapter-process.js.map +1 -1
- package/lib/built/agent-preset.d.ts +1 -1
- package/lib/built/agent-preset.d.ts.map +1 -1
- package/lib/built/agent-preset.js +1 -1
- package/lib/built/agent-preset.js.map +1 -1
- package/lib/built/ai-trigger.d.ts +13 -13
- package/lib/built/ai-trigger.d.ts.map +1 -1
- package/lib/built/ai-trigger.js +37 -49
- package/lib/built/ai-trigger.js.map +1 -1
- package/lib/built/authorization.d.ts +11 -0
- package/lib/built/authorization.d.ts.map +1 -0
- package/lib/built/authorization.js +53 -0
- package/lib/built/authorization.js.map +1 -0
- package/lib/built/common-adapter-tools.d.ts +21 -14
- package/lib/built/common-adapter-tools.d.ts.map +1 -1
- package/lib/built/common-adapter-tools.js +58 -41
- package/lib/built/common-adapter-tools.js.map +1 -1
- package/lib/built/connect-endpoint-instance.d.ts +18 -0
- package/lib/built/connect-endpoint-instance.d.ts.map +1 -0
- package/lib/built/connect-endpoint-instance.js +41 -0
- package/lib/built/connect-endpoint-instance.js.map +1 -0
- package/lib/built/database.d.ts +4 -0
- package/lib/built/database.d.ts.map +1 -1
- package/lib/built/database.js +8 -0
- package/lib/built/database.js.map +1 -1
- package/lib/built/dispatcher.d.ts.map +1 -1
- package/lib/built/dispatcher.js +3 -0
- package/lib/built/dispatcher.js.map +1 -1
- package/lib/built/endpoint-lifecycle.d.ts +28 -0
- package/lib/built/endpoint-lifecycle.d.ts.map +1 -0
- package/lib/built/endpoint-lifecycle.js +36 -0
- package/lib/built/endpoint-lifecycle.js.map +1 -0
- package/lib/built/inbound-pipeline.d.ts +38 -0
- package/lib/built/inbound-pipeline.d.ts.map +1 -0
- package/lib/built/inbound-pipeline.js +65 -0
- package/lib/built/inbound-pipeline.js.map +1 -0
- package/lib/built/login-assist.d.ts +4 -4
- package/lib/built/login-assist.d.ts.map +1 -1
- package/lib/built/login-assist.js +5 -5
- package/lib/built/login-assist.js.map +1 -1
- package/lib/built/message-enrich.d.ts +40 -0
- package/lib/built/message-enrich.d.ts.map +1 -0
- package/lib/built/message-enrich.js +84 -0
- package/lib/built/message-enrich.js.map +1 -0
- package/lib/built/message-filter.d.ts +4 -4
- package/lib/built/message-filter.d.ts.map +1 -1
- package/lib/built/message-filter.js +4 -4
- package/lib/built/message-filter.js.map +1 -1
- package/lib/built/permission.d.ts +3 -2
- package/lib/built/permission.d.ts.map +1 -1
- package/lib/built/permission.js +38 -45
- package/lib/built/permission.js.map +1 -1
- package/lib/built/permit-check.d.ts +8 -0
- package/lib/built/permit-check.d.ts.map +1 -0
- package/lib/built/permit-check.js +36 -0
- package/lib/built/permit-check.js.map +1 -0
- package/lib/built/permit-parse.d.ts +17 -0
- package/lib/built/permit-parse.d.ts.map +1 -0
- package/lib/built/permit-parse.js +33 -0
- package/lib/built/permit-parse.js.map +1 -0
- package/lib/built/platform-permit.d.ts +21 -0
- package/lib/built/platform-permit.d.ts.map +1 -0
- package/lib/built/platform-permit.js +67 -0
- package/lib/built/platform-permit.js.map +1 -0
- package/lib/built/prepend-quote-context.d.ts +2 -2
- package/lib/built/prepend-quote-context.d.ts.map +1 -1
- package/lib/built/prepend-quote-context.js +11 -11
- package/lib/built/prepend-quote-context.js.map +1 -1
- package/lib/built/queue-im-field-contract.d.ts +1 -1
- package/lib/built/queue-im-field-contract.d.ts.map +1 -1
- package/lib/built/queue-im-field-contract.js +3 -3
- package/lib/built/queue-im-field-contract.js.map +1 -1
- package/lib/built/roles.d.ts +4 -4
- package/lib/built/roles.d.ts.map +1 -1
- package/lib/built/roles.js +4 -4
- package/lib/built/roles.js.map +1 -1
- package/lib/built/tool.d.ts +12 -12
- package/lib/built/tool.d.ts.map +1 -1
- package/lib/built/tool.js +38 -22
- package/lib/built/tool.js.map +1 -1
- package/lib/command.d.ts.map +1 -1
- package/lib/command.js +11 -2
- package/lib/command.js.map +1 -1
- package/lib/component.js +1 -1
- package/lib/component.js.map +1 -1
- package/lib/endpoint-capabilities.d.ts +45 -0
- package/lib/endpoint-capabilities.d.ts.map +1 -0
- package/lib/endpoint-capabilities.js +56 -0
- package/lib/endpoint-capabilities.js.map +1 -0
- package/lib/endpoint.d.ts +15 -0
- package/lib/endpoint.d.ts.map +1 -0
- package/lib/endpoint.js +2 -0
- package/lib/endpoint.js.map +1 -0
- package/lib/errors.d.ts +2 -2
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +4 -4
- package/lib/errors.js.map +1 -1
- package/lib/index.d.ts +12 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +9 -3
- package/lib/index.js.map +1 -1
- package/lib/message.d.ts +3 -3
- package/lib/message.d.ts.map +1 -1
- package/lib/notice.d.ts +4 -3
- package/lib/notice.d.ts.map +1 -1
- package/lib/notice.js.map +1 -1
- package/lib/plugin-context.d.ts +19 -0
- package/lib/plugin-context.d.ts.map +1 -0
- package/lib/plugin-context.js +51 -0
- package/lib/plugin-context.js.map +1 -0
- package/lib/plugin.d.ts +7 -10
- package/lib/plugin.d.ts.map +1 -1
- package/lib/plugin.js +27 -50
- package/lib/plugin.js.map +1 -1
- package/lib/prompt.d.ts.map +1 -1
- package/lib/prompt.js +8 -4
- package/lib/prompt.js.map +1 -1
- package/lib/request.d.ts +3 -3
- package/lib/request.d.ts.map +1 -1
- package/lib/tool-zod.d.ts +3 -2
- package/lib/tool-zod.d.ts.map +1 -1
- package/lib/tool-zod.js +3 -3
- package/lib/tool-zod.js.map +1 -1
- package/lib/types.d.ts +19 -59
- package/lib/types.d.ts.map +1 -1
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +2 -1
- package/lib/utils.js.map +1 -1
- package/package.json +6 -6
- package/lib/bot.d.ts +0 -38
- package/lib/bot.d.ts.map +0 -1
- package/lib/bot.js +0 -2
- package/lib/bot.js.map +0 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Message } from './message.js';
|
|
2
|
+
import type { Notice } from './notice.js';
|
|
3
|
+
import type { Request } from './request.js';
|
|
4
|
+
import type { SendOptions } from './types.js';
|
|
5
|
+
export type EndpointCapability = 'inbound' | 'outbound';
|
|
6
|
+
export declare const DEFAULT_ENDPOINT_CAPABILITIES: readonly EndpointCapability[];
|
|
7
|
+
/** 入站能力:含连接生命周期 */
|
|
8
|
+
export interface InboundEndpoint<Config extends object = object, Event extends object = object> {
|
|
9
|
+
$id: string;
|
|
10
|
+
$config: Config;
|
|
11
|
+
$connected: boolean;
|
|
12
|
+
$formatMessage(event: Event): Message<Event>;
|
|
13
|
+
$formatNotice?(event: unknown): Notice;
|
|
14
|
+
$formatRequest?(event: unknown): Request;
|
|
15
|
+
$connect(): Promise<void>;
|
|
16
|
+
$disconnect(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
/** 出站能力:无连接方法 */
|
|
19
|
+
export interface OutboundEndpoint<Config extends object = object> {
|
|
20
|
+
$id: string;
|
|
21
|
+
$config: Config;
|
|
22
|
+
$connected: boolean;
|
|
23
|
+
$sendMessage(options: SendOptions): Promise<string>;
|
|
24
|
+
$recallMessage(id: string): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
export type FullEndpoint<Config extends object = object, Event extends object = object> = InboundEndpoint<Config, Event> & OutboundEndpoint<Config>;
|
|
27
|
+
export type CapableEndpoint<Config extends object, Event extends object, Caps extends readonly EndpointCapability[]> = ('inbound' extends Caps[number] ? InboundEndpoint<Config, Event> : object) & ('outbound' extends Caps[number] ? OutboundEndpoint<Config> : object);
|
|
28
|
+
export declare class OutboundNotSupportedError extends Error {
|
|
29
|
+
constructor(endpointId?: string);
|
|
30
|
+
}
|
|
31
|
+
export declare class InboundNotSupportedError extends Error {
|
|
32
|
+
constructor(endpointId?: string);
|
|
33
|
+
}
|
|
34
|
+
export declare function registerEndpointCapabilities(endpoint: object, caps: readonly EndpointCapability[]): void;
|
|
35
|
+
export declare function getEndpointCapabilities(endpoint: object): readonly EndpointCapability[] | undefined;
|
|
36
|
+
export declare function resolveEndpointCapabilities(adapterCaps: readonly EndpointCapability[], endpointConfigCaps?: readonly EndpointCapability[]): readonly EndpointCapability[];
|
|
37
|
+
export declare function getAdapterCapabilities(adapter: object): readonly EndpointCapability[];
|
|
38
|
+
export declare function hasInbound(endpoint: object): boolean;
|
|
39
|
+
export declare function hasOutbound(endpoint: object): boolean;
|
|
40
|
+
export declare function assertInbound(endpoint: InboundEndpoint | OutboundEndpoint): asserts endpoint is InboundEndpoint;
|
|
41
|
+
export declare function assertOutbound(endpoint: InboundEndpoint | OutboundEndpoint): asserts endpoint is OutboundEndpoint;
|
|
42
|
+
export interface EndpointCapabilitiesConfig {
|
|
43
|
+
capabilities?: EndpointCapability[];
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=endpoint-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint-capabilities.d.ts","sourceRoot":"","sources":["../src/endpoint-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export const DEFAULT_ENDPOINT_CAPABILITIES = ['inbound', 'outbound'];
|
|
2
|
+
export class OutboundNotSupportedError extends Error {
|
|
3
|
+
constructor(endpointId) {
|
|
4
|
+
super(endpointId ? `Endpoint ${endpointId} does not support outbound` : 'Outbound not supported');
|
|
5
|
+
this.name = 'OutboundNotSupportedError';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export class InboundNotSupportedError extends Error {
|
|
9
|
+
constructor(endpointId) {
|
|
10
|
+
super(endpointId ? `Endpoint ${endpointId} does not support inbound` : 'Inbound not supported');
|
|
11
|
+
this.name = 'InboundNotSupportedError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const endpointCapabilitiesRegistry = new WeakMap();
|
|
15
|
+
export function registerEndpointCapabilities(endpoint, caps) {
|
|
16
|
+
endpointCapabilitiesRegistry.set(endpoint, caps);
|
|
17
|
+
}
|
|
18
|
+
export function getEndpointCapabilities(endpoint) {
|
|
19
|
+
return endpointCapabilitiesRegistry.get(endpoint);
|
|
20
|
+
}
|
|
21
|
+
export function resolveEndpointCapabilities(adapterCaps, endpointConfigCaps) {
|
|
22
|
+
const resolved = endpointConfigCaps?.length ? [...endpointConfigCaps] : [...adapterCaps];
|
|
23
|
+
if (resolved.length === 0) {
|
|
24
|
+
throw new Error('Endpoint must declare at least one capability (inbound and/or outbound)');
|
|
25
|
+
}
|
|
26
|
+
for (const cap of resolved) {
|
|
27
|
+
if (!adapterCaps.includes(cap)) {
|
|
28
|
+
throw new Error(`Endpoint capability "${cap}" exceeds adapter capabilities [${adapterCaps.join(', ')}]`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return resolved;
|
|
32
|
+
}
|
|
33
|
+
export function getAdapterCapabilities(adapter) {
|
|
34
|
+
const ctor = adapter.constructor;
|
|
35
|
+
const caps = ctor.capabilities;
|
|
36
|
+
return caps?.length ? caps : DEFAULT_ENDPOINT_CAPABILITIES;
|
|
37
|
+
}
|
|
38
|
+
export function hasInbound(endpoint) {
|
|
39
|
+
const caps = getEndpointCapabilities(endpoint);
|
|
40
|
+
return caps ? caps.includes('inbound') : true;
|
|
41
|
+
}
|
|
42
|
+
export function hasOutbound(endpoint) {
|
|
43
|
+
const caps = getEndpointCapabilities(endpoint);
|
|
44
|
+
return caps ? caps.includes('outbound') : true;
|
|
45
|
+
}
|
|
46
|
+
export function assertInbound(endpoint) {
|
|
47
|
+
if (!hasInbound(endpoint)) {
|
|
48
|
+
throw new InboundNotSupportedError('$id' in endpoint ? String(endpoint.$id) : undefined);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export function assertOutbound(endpoint) {
|
|
52
|
+
if (!hasOutbound(endpoint)) {
|
|
53
|
+
throw new OutboundNotSupportedError('$id' in endpoint ? String(endpoint.$id) : undefined);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=endpoint-capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint-capabilities.js","sourceRoot":"","sources":["../src/endpoint-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Adapters, Adapter } from './adapter.js';
|
|
2
|
+
import type { EndpointCapabilitiesConfig, FullEndpoint } from './endpoint-capabilities.js';
|
|
3
|
+
export type { EndpointCapability, EndpointCapabilitiesConfig, InboundEndpoint, OutboundEndpoint, FullEndpoint, CapableEndpoint, } from './endpoint-capabilities.js';
|
|
4
|
+
export { DEFAULT_ENDPOINT_CAPABILITIES, OutboundNotSupportedError, InboundNotSupportedError, resolveEndpointCapabilities, registerEndpointCapabilities, getEndpointCapabilities, getAdapterCapabilities, hasInbound, hasOutbound, assertInbound, assertOutbound, } from './endpoint-capabilities.js';
|
|
5
|
+
/**
|
|
6
|
+
* Endpoint 接口:全双工平台机器人(入站 + 出站)。
|
|
7
|
+
* 纯入站 / 纯出站请实现 InboundEndpoint / OutboundEndpoint。
|
|
8
|
+
*/
|
|
9
|
+
export type Endpoint<Config extends object = object, Event extends object = object> = FullEndpoint<Config, Event>;
|
|
10
|
+
export declare namespace Endpoint {
|
|
11
|
+
type Config<K extends keyof Adapters = keyof Adapters> = Adapter.EndpointConfig<Adapter.InferEndpoint<Adapters[K]>> & EndpointCapabilitiesConfig & {
|
|
12
|
+
context: K;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAsB,0BAA0B,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/G,YAAY,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,YAAY,CAChG,MAAM,EACN,KAAK,CACN,CAAC;AAEF,yBAAiB,QAAQ,CAAC;IACxB,KAAY,MAAM,CAAC,CAAC,SAAS,MAAM,QAAQ,GAAG,MAAM,QAAQ,IAAI,OAAO,CAAC,cAAc,CACpF,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACnC,GACC,0BAA0B,GAAG;QAC3B,OAAO,EAAE,CAAC,CAAC;KACZ,CAAC;CACL"}
|
package/lib/endpoint.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { DEFAULT_ENDPOINT_CAPABILITIES, OutboundNotSupportedError, InboundNotSupportedError, resolveEndpointCapabilities, registerEndpointCapabilities, getEndpointCapabilities, getAdapterCapabilities, hasInbound, hasOutbound, assertInbound, assertOutbound, } from './endpoint-capabilities.js';
|
|
2
|
+
//# sourceMappingURL=endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,4BAA4B,CAAC"}
|
package/lib/errors.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ import { ZhinError } from '@zhin.js/kernel';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class AdapterError extends ZhinError {
|
|
10
10
|
readonly adapterName: string;
|
|
11
|
-
readonly
|
|
12
|
-
constructor(message: string, adapterName: string,
|
|
11
|
+
readonly endpointId?: string;
|
|
12
|
+
constructor(message: string, adapterName: string, endpointId?: string, context?: Record<string, any>);
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* 消息处理错误
|
package/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACvC,SAAgB,WAAW,EAAE,MAAM,CAAA;IACnC,SAAgB,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACvC,SAAgB,WAAW,EAAE,MAAM,CAAA;IACnC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAA;gBAEvB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAKvG;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACvC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEtB,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAKrG"}
|
package/lib/errors.js
CHANGED
|
@@ -8,11 +8,11 @@ import { ZhinError } from '@zhin.js/kernel';
|
|
|
8
8
|
*/
|
|
9
9
|
export class AdapterError extends ZhinError {
|
|
10
10
|
adapterName;
|
|
11
|
-
|
|
12
|
-
constructor(message, adapterName,
|
|
13
|
-
super(message, 'ADAPTER_ERROR', { ...context, adapterName,
|
|
11
|
+
endpointId;
|
|
12
|
+
constructor(message, adapterName, endpointId, context) {
|
|
13
|
+
super(message, 'ADAPTER_ERROR', { ...context, adapterName, endpointId });
|
|
14
14
|
this.adapterName = adapterName;
|
|
15
|
-
this.
|
|
15
|
+
this.endpointId = endpointId;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
/**
|
package/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,SAAS;IACvB,WAAW,CAAQ;IACnB,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,SAAS;IACvB,WAAW,CAAQ;IACnB,UAAU,CAAS;IAEnC,YAAY,OAAe,EAAE,WAAmB,EAAE,UAAmB,EAAE,OAA6B;QAChG,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAChC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,SAAS;IACvB,SAAS,CAAS;IAClB,SAAS,CAAS;IAElC,YAAY,OAAe,EAAE,SAAkB,EAAE,SAAkB,EAAE,OAA6B;QAC9F,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;QACrE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;CACJ"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './endpoint.js';
|
|
2
|
+
export * from './endpoint-capabilities.js';
|
|
2
3
|
export * from './plugin.js';
|
|
3
4
|
export * from './command.js';
|
|
4
5
|
export * from './component.js';
|
|
@@ -18,6 +19,12 @@ export * from './built/config.js';
|
|
|
18
19
|
export * from './built/command.js';
|
|
19
20
|
export * from './built/cron.js';
|
|
20
21
|
export * from './built/permission.js';
|
|
22
|
+
export * from './built/permit-parse.js';
|
|
23
|
+
export * from './built/permit-check.js';
|
|
24
|
+
export * from './built/platform-permit.js';
|
|
25
|
+
export * from './built/authorization.js';
|
|
26
|
+
export { enrichMessageForAgent, createSyntheticMessage, senderRolesFromMessage, resolveContextKey, commMessageFromHookContext, } from './built/message-enrich.js';
|
|
27
|
+
export type { AgentTurnMessage, SyntheticMessageInput } from './built/message-enrich.js';
|
|
21
28
|
export * from './built/adapter-process.js';
|
|
22
29
|
export { isDenoDeploy, isInteractiveStdin, shouldBindProcessStdin, runtimePid, runtimeUser, } from './built/runtime-io.js';
|
|
23
30
|
export * from './built/component.js';
|
|
@@ -32,10 +39,12 @@ export * from './built/ai-trigger.js';
|
|
|
32
39
|
export * from './built/dispatcher.js';
|
|
33
40
|
export { runInboundMessage } from './built/inbound-runner.js';
|
|
34
41
|
export type { RunInboundMessageOptions, InboundRunResult } from './built/inbound-runner.js';
|
|
42
|
+
export { connectEndpointInstance, disconnectEndpointInstance } from './built/connect-endpoint-instance.js';
|
|
43
|
+
export type { ConnectEndpointInstanceOptions } from './built/connect-endpoint-instance.js';
|
|
44
|
+
export { emitEndpointLifecycle } from './built/endpoint-lifecycle.js';
|
|
45
|
+
export type { EndpointLifecycleKind, EndpointLifecyclePayload } from './built/endpoint-lifecycle.js';
|
|
35
46
|
export * from './built/schema-feature.js';
|
|
36
47
|
export * from './built/login-assist.js';
|
|
37
|
-
export { BaseProvider, OpenAIProvider, DeepSeekProvider, MoonshotProvider, ZhipuProvider, AnthropicProvider, OllamaProvider, CloudflareProvider, GoogleProvider, Agent, createAgent, formatToolTitle, filterTools, tokenize, SessionManager, MemorySessionManager, DatabaseSessionManager, createSessionManager, createMemorySessionManager, createDatabaseSessionManager, AI_SESSION_MODEL, resolveIMSessionId, resolveIMSceneIdForSession, resolveIMSessionIdFromToolContext, ContextManager, createContextManager, CHAT_MESSAGE_MODEL, CONTEXT_SUMMARY_MODEL, ConversationMemory, AI_MESSAGE_MODEL, AI_SUMMARY_MODEL, estimateTokens, estimateMessagesTokens, DEFAULT_CONTEXT_TOKENS, microCompactMessages, CostTracker, CachedToolFilter, computeToolSetHash, FileStateCache, RateLimiter, detectTone, parseOutput, renderToPlainText, renderToSatori, MemoryStorageBackend, DatabaseStorageBackend, createSwappableBackend, ModelRegistry, extractModelRoot, computeTierScore, } from '@zhin.js/ai';
|
|
38
|
-
export type { AIConfig, AIProvider, ProviderConfig, ProviderCapabilities, ChatMessage, ChatCompletionRequest, ChatCompletionResponse, ChatCompletionChunk, ContentPart, ToolCall, MessageRole, AgentTool, AgentConfig, AgentResult, ToolFilterOptions, Usage, SessionConfig, Session, JsonSchema, AgentState, AgentEvents, ContextConfig, MessageRecord as AIMessageRecord, ConversationMemoryConfig, ContextWindowSource, ContextWindowInfo, ContextWindowGuardResult, PruneResult, MicroCompactOptions, MicroCompactResult, ModelUsage, ModelPricing, CostSnapshot, RateLimitConfig, RateLimitResult, Tone, OutputElement, TextElement, ImageElement, AudioElement, VideoElement, CardElement, FileElement, StorageBackend, DbModel as AIDbModel, AIModelInfo, ModelTask, } from '@zhin.js/ai';
|
|
39
48
|
export * from './types.js';
|
|
40
49
|
export * from './agent-prompt.js';
|
|
41
50
|
export * from './utils.js';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACxG,OAAO,EAAE,eAAe,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC7G,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AACxG,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,kCAAkC,CAAA;AACzC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAE3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAEhC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAA;AAClC,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACxF,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,WAAW,GACZ,MAAM,uBAAuB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AAEzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iCAAiC,CAAA;AAE/C,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AAErC,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,YAAY,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC3F,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AAC1G,YAAY,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAA;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,YAAY,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAEpG,cAAc,2BAA2B,CAAA;AAEzC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EACL,OAAO,EACP,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,GACjB,MAAM,iBAAiB,CAAA"}
|
package/lib/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Core exports
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './endpoint.js';
|
|
3
|
+
export * from './endpoint-capabilities.js';
|
|
3
4
|
export * from './plugin.js';
|
|
4
5
|
export * from './command.js';
|
|
5
6
|
export * from './component.js';
|
|
@@ -21,6 +22,11 @@ export * from './built/config.js';
|
|
|
21
22
|
export * from './built/command.js';
|
|
22
23
|
export * from './built/cron.js';
|
|
23
24
|
export * from './built/permission.js';
|
|
25
|
+
export * from './built/permit-parse.js';
|
|
26
|
+
export * from './built/permit-check.js';
|
|
27
|
+
export * from './built/platform-permit.js';
|
|
28
|
+
export * from './built/authorization.js';
|
|
29
|
+
export { enrichMessageForAgent, createSyntheticMessage, senderRolesFromMessage, resolveContextKey, commMessageFromHookContext, } from './built/message-enrich.js';
|
|
24
30
|
export * from './built/adapter-process.js';
|
|
25
31
|
export { isDenoDeploy, isInteractiveStdin, shouldBindProcessStdin, runtimePid, runtimeUser, } from './built/runtime-io.js';
|
|
26
32
|
export * from './built/component.js';
|
|
@@ -37,12 +43,12 @@ export * from './built/ai-trigger.js';
|
|
|
37
43
|
// MessageDispatcher (消息调度器)
|
|
38
44
|
export * from './built/dispatcher.js';
|
|
39
45
|
export { runInboundMessage } from './built/inbound-runner.js';
|
|
46
|
+
export { connectEndpointInstance, disconnectEndpointInstance } from './built/connect-endpoint-instance.js';
|
|
47
|
+
export { emitEndpointLifecycle } from './built/endpoint-lifecycle.js';
|
|
40
48
|
// Schema 注册表 (插件配置声明)
|
|
41
49
|
export * from './built/schema-feature.js';
|
|
42
50
|
// Login assist (producer-consumer for QR / SMS / slider etc.)
|
|
43
51
|
export * from './built/login-assist.js';
|
|
44
|
-
// AI 模块 — selective re-export from @zhin.js/ai to avoid conflicts with core types
|
|
45
|
-
export { BaseProvider, OpenAIProvider, DeepSeekProvider, MoonshotProvider, ZhipuProvider, AnthropicProvider, OllamaProvider, CloudflareProvider, GoogleProvider, Agent, createAgent, formatToolTitle, filterTools, tokenize, SessionManager, MemorySessionManager, DatabaseSessionManager, createSessionManager, createMemorySessionManager, createDatabaseSessionManager, AI_SESSION_MODEL, resolveIMSessionId, resolveIMSceneIdForSession, resolveIMSessionIdFromToolContext, ContextManager, createContextManager, CHAT_MESSAGE_MODEL, CONTEXT_SUMMARY_MODEL, ConversationMemory, AI_MESSAGE_MODEL, AI_SUMMARY_MODEL, estimateTokens, estimateMessagesTokens, DEFAULT_CONTEXT_TOKENS, microCompactMessages, CostTracker, CachedToolFilter, computeToolSetHash, FileStateCache, RateLimiter, detectTone, parseOutput, renderToPlainText, renderToSatori, MemoryStorageBackend, DatabaseStorageBackend, createSwappableBackend, ModelRegistry, extractModelRoot, computeTierScore, } from '@zhin.js/ai';
|
|
46
52
|
export * from './types.js';
|
|
47
53
|
export * from './agent-prompt.js';
|
|
48
54
|
export * from './utils.js';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACxG,OAAO,EAAE,eAAe,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC7G,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AACxG,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,kCAAkC,CAAA;AACzC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,SAAS;AACT,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,oBAAoB;AACpB,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAA;AAElC,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,WAAW,GACZ,MAAM,uBAAuB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,wFAAwF;AACxF,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iCAAiC,CAAA;AAC/C,gCAAgC;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,4BAA4B;AAC5B,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AAE1G,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAErE,sBAAsB;AACtB,cAAc,2BAA2B,CAAA;AACzC,8DAA8D;AAC9D,cAAc,yBAAyB,CAAA;AAEvC,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA,CAAE,WAAW;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,yCAAyC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGxC,OAAO,EACL,OAAO,EACP,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAA"}
|
package/lib/message.d.ts
CHANGED
|
@@ -27,11 +27,11 @@ export type MessageType = 'group' | 'private' | 'channel';
|
|
|
27
27
|
export interface MessageBase {
|
|
28
28
|
$id: string;
|
|
29
29
|
$adapter: keyof Adapters;
|
|
30
|
-
$
|
|
30
|
+
$endpoint: string;
|
|
31
31
|
$content: MessageElement[];
|
|
32
32
|
$sender: MessageSender;
|
|
33
|
-
$reply(content: SendContent, quote?: boolean | string): Promise<string>;
|
|
34
|
-
$recall(): Promise<void>;
|
|
33
|
+
$reply?(content: SendContent, quote?: boolean | string): Promise<string>;
|
|
34
|
+
$recall?(): Promise<void>;
|
|
35
35
|
$channel: MessageChannel;
|
|
36
36
|
$timestamp: number;
|
|
37
37
|
$raw: string;
|
package/lib/message.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAMxC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAE;IAC3C,IAAI,EAAC,SAAS,CAAC,CAAC,GAAC;QAAC,QAAQ,CAAC,EAAC,WAAW,GAAC,OAAO,CAAC,WAAW,CAAC,CAAA;KAAC,CAAC,CAAA;IAC9D,IAAI,EAAC,CAAC,CAAA;CACT,CAAA;AACD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;CACrB;AACD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AACzD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAC,MAAM,QAAQ,CAAA;IACvB,
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAMxC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAE;IAC3C,IAAI,EAAC,SAAS,CAAC,CAAC,GAAC;QAAC,QAAQ,CAAC,EAAC,WAAW,GAAC,OAAO,CAAC,WAAW,CAAC,CAAA;KAAC,CAAC,CAAA;IAC9D,IAAI,EAAC,CAAC,CAAA;CACT,CAAA;AACD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;CACrB;AACD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AACzD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAC,MAAM,QAAQ,CAAA;IACvB,SAAS,EAAC,MAAM,CAAA;IAChB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,CAAC,OAAO,EAAC,WAAW,EAAC,KAAK,CAAC,EAAC,OAAO,GAAC,MAAM,GAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAClE,OAAO,CAAC,IAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAC,EAAE,IAAE,WAAW,GAAC,CAAC,CAAC;AACvD,yBAAiB,OAAO,CAAA;IACpB;;OAEG;IACH,SAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAC,CAAC,EAAC,MAAM,EAAC,WAAW,GAAE,OAAO,CAAC,CAAC,CAAC,CAE5E;IAED,SAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,GAAG,SAAS,CAEhF;IAED,SAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAEvD;IAED,SAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpF;CACJ"}
|
package/lib/notice.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import type { MessageSender } from './types.js';
|
|
|
14
14
|
* - group_poke: 群戳一戳
|
|
15
15
|
* - friend_poke: 好友戳一戳
|
|
16
16
|
* - group_transfer: 群转让
|
|
17
|
+
* - endpoint.lifecycle: Endpoint 连接/断开/错误($subType: connect | disconnect | error)
|
|
17
18
|
*
|
|
18
19
|
* 适配器可自行扩展更多子类型
|
|
19
20
|
*/
|
|
@@ -37,7 +38,7 @@ export interface NoticeChannel {
|
|
|
37
38
|
* const notice = Notice.from(rawEvent, {
|
|
38
39
|
* $id: rawEvent.id,
|
|
39
40
|
* $adapter: 'icqq',
|
|
40
|
-
* $
|
|
41
|
+
* $endpoint: endpointId,
|
|
41
42
|
* $type: 'group_member_decrease',
|
|
42
43
|
* $subType: 'kick',
|
|
43
44
|
* $channel: { id: groupId, type: 'group' },
|
|
@@ -53,8 +54,8 @@ export interface NoticeBase {
|
|
|
53
54
|
$id: string;
|
|
54
55
|
/** 适配器名称 */
|
|
55
56
|
$adapter: keyof Adapters;
|
|
56
|
-
/**
|
|
57
|
-
$
|
|
57
|
+
/** Endpoint 名称 */
|
|
58
|
+
$endpoint: string;
|
|
58
59
|
/** 通知类型 */
|
|
59
60
|
$type: NoticeType;
|
|
60
61
|
/** 通知子类型(如 leave/kick、set/unset) */
|
package/lib/notice.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notice.d.ts","sourceRoot":"","sources":["../src/notice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"notice.d.ts","sourceRoot":"","sources":["../src/notice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,UAAU,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,oBAAoB,GACpB,WAAW,GACX,cAAc,GACd,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,gBAAgB,GAChB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY;IACZ,QAAQ,EAAE,MAAM,QAAQ,CAAC;IACzB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,KAAK,EAAE,UAAU,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,kBAAkB;IAClB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,sBAAsB;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,IAAI,UAAU,GAAG,CAAC,CAAC;AAE3D,yBAAiB,MAAM,CAAC;IACtB;;OAEG;IACH,SAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAE9E;CACF"}
|
package/lib/notice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notice.js","sourceRoot":"","sources":["../src/notice.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"notice.js","sourceRoot":"","sources":["../src/notice.ts"],"names":[],"mappings":"AA2FA,MAAM,KAAW,MAAM,CAOtB;AAPD,WAAiB,MAAM;IACrB;;OAEG;IACH,SAAgB,IAAI,CAAmB,KAAQ,EAAE,MAAkB;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAFe,WAAI,OAEnB,CAAA;AACH,CAAC,EAPgB,MAAM,KAAN,MAAM,QAOtB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin 上下文管理 — AsyncLocalStorage + getPlugin
|
|
3
|
+
*
|
|
4
|
+
* 从 plugin.ts 提取的独立关注点,消除与 Plugin 类的循环依赖。
|
|
5
|
+
* usePlugin() 保留在 plugin.ts(需要 Plugin 构造函数)。
|
|
6
|
+
*/
|
|
7
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
8
|
+
import type { Plugin } from "./plugin.js";
|
|
9
|
+
export declare const storage: AsyncLocalStorage<Plugin>;
|
|
10
|
+
/**
|
|
11
|
+
* 获取当前文件路径(调用者)
|
|
12
|
+
*/
|
|
13
|
+
export declare function getCurrentFile(metaUrl?: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* getPlugin - 获取当前 AsyncLocalStorage 中的插件实例
|
|
16
|
+
* 用于 extensions 等场景,不创建新插件
|
|
17
|
+
*/
|
|
18
|
+
export declare function getPlugin(): Plugin;
|
|
19
|
+
//# sourceMappingURL=plugin-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-context.d.ts","sourceRoot":"","sources":["../src/plugin-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAM1C,eAAO,MAAM,OAAO,2BAAkC,CAAC;AAEvD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAkB,GAAG,MAAM,CAyBhE;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAMlC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin 上下文管理 — AsyncLocalStorage + getPlugin
|
|
3
|
+
*
|
|
4
|
+
* 从 plugin.ts 提取的独立关注点,消除与 Plugin 类的循环依赖。
|
|
5
|
+
* usePlugin() 保留在 plugin.ts(需要 Plugin 构造函数)。
|
|
6
|
+
*/
|
|
7
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
8
|
+
import * as path from "node:path";
|
|
9
|
+
import { fileURLToPath } from "node:url";
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// AsyncLocalStorage 上下文
|
|
12
|
+
// ============================================================================
|
|
13
|
+
export const storage = new AsyncLocalStorage();
|
|
14
|
+
/**
|
|
15
|
+
* 获取当前文件路径(调用者)
|
|
16
|
+
*/
|
|
17
|
+
export function getCurrentFile(metaUrl = import.meta.url) {
|
|
18
|
+
if (typeof metaUrl !== "string" || metaUrl.length === 0) {
|
|
19
|
+
return path.join(process.cwd(), "__zhin_edge_bootstrap__.mjs");
|
|
20
|
+
}
|
|
21
|
+
const previousPrepareStackTrace = Error.prepareStackTrace;
|
|
22
|
+
Error.prepareStackTrace = function (_, stack) {
|
|
23
|
+
return stack;
|
|
24
|
+
};
|
|
25
|
+
const stack = new Error().stack;
|
|
26
|
+
Error.prepareStackTrace = previousPrepareStackTrace;
|
|
27
|
+
const stackFiles = Array.from(new Set(stack.map((site) => site.getFileName())));
|
|
28
|
+
const idx = stackFiles.findIndex((f) => (metaUrl.startsWith('file://') ? f === fileURLToPath(metaUrl) : false) || f === metaUrl);
|
|
29
|
+
const result = stackFiles[idx + 1];
|
|
30
|
+
if (!result) {
|
|
31
|
+
return path.join(process.cwd(), "__zhin_edge_bootstrap__.mjs");
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
return fileURLToPath(result);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* getPlugin - 获取当前 AsyncLocalStorage 中的插件实例
|
|
42
|
+
* 用于 extensions 等场景,不创建新插件
|
|
43
|
+
*/
|
|
44
|
+
export function getPlugin() {
|
|
45
|
+
const plugin = storage.getStore();
|
|
46
|
+
if (!plugin) {
|
|
47
|
+
throw new Error('getPlugin() must be called within a plugin context');
|
|
48
|
+
}
|
|
49
|
+
return plugin;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=plugin-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-context.js","sourceRoot":"","sources":["../src/plugin-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAU,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;IACtD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAA6B,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,yBAAyB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC1D,KAAK,CAAC,iBAAiB,GAAG,UAAU,CAAC,EAAE,KAAK;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAqC,CAAC;IAChE,KAAK,CAAC,iBAAiB,GAAG,yBAAyB,CAAC;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CACjD,CAAC;IACF,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAC/F,CAAC;IACF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAA6B,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/lib/plugin.d.ts
CHANGED
|
@@ -6,12 +6,13 @@
|
|
|
6
6
|
* - 生命周期事件类型安全(Plugin.Lifecycle)
|
|
7
7
|
* - 中间件系统、适配器管理、useContext 等
|
|
8
8
|
*/
|
|
9
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
10
9
|
import type { PluginManifest } from "./types.js";
|
|
11
10
|
import { MessageMiddleware, RegisteredAdapter, MaybePromise, ArrayItem, SendOptions, MessageSendPayload } from "./types.js";
|
|
12
11
|
import { Adapter, Adapters } from "./adapter.js";
|
|
13
12
|
import { PluginBase, PluginBaseLifecycle } from "@zhin.js/kernel";
|
|
14
13
|
import type { PluginLike } from "@zhin.js/kernel";
|
|
14
|
+
export { getPlugin } from "./plugin-context.js";
|
|
15
|
+
export { storage, getCurrentFile } from "./plugin-context.js";
|
|
15
16
|
declare const contextsKey: unique symbol;
|
|
16
17
|
export type SideEffect<A extends (keyof Plugin.Contexts)[]> = {
|
|
17
18
|
(...args: ContextList<A>): MaybePromise<void | DisposeFn<ContextList<A>>>;
|
|
@@ -20,18 +21,12 @@ export type SideEffect<A extends (keyof Plugin.Contexts)[]> = {
|
|
|
20
21
|
export type DisposeFn<A> = (context: ArrayItem<A>) => MaybePromise<void>;
|
|
21
22
|
export type ContextList<CS extends (keyof Plugin.Contexts)[]> = CS extends [infer L, ...infer R] ? R extends (keyof Plugin.Contexts)[] ? [ContextItem<L>, ...ContextList<R>] : never[] : never[];
|
|
22
23
|
type ContextItem<L> = L extends keyof Plugin.Contexts ? Plugin.Contexts[L] : never;
|
|
23
|
-
export declare const storage: AsyncLocalStorage<Plugin>;
|
|
24
24
|
/**
|
|
25
25
|
* usePlugin - 获取或创建当前插件实例
|
|
26
26
|
* 类似 React Hooks 的设计,根据调用文件自动创建插件树
|
|
27
27
|
* 同一上下文中同一文件多次调用返回同一实例
|
|
28
28
|
*/
|
|
29
29
|
export declare function usePlugin(): Plugin;
|
|
30
|
-
/**
|
|
31
|
-
* getPlugin - 获取当前 AsyncLocalStorage 中的插件实例
|
|
32
|
-
* 用于 extensions 等场景,不创建新插件
|
|
33
|
-
*/
|
|
34
|
-
export declare function getPlugin(): Plugin;
|
|
35
30
|
export interface Plugin extends Plugin.Extensions {
|
|
36
31
|
on<K extends keyof Plugin.Lifecycle>(name: K, listener: (...args: Plugin.Lifecycle[K]) => void): this;
|
|
37
32
|
on(name: string | symbol, listener: (...args: any[]) => void): this;
|
|
@@ -180,7 +175,10 @@ export declare namespace Plugin {
|
|
|
180
175
|
'before.sendMessage': [SendOptions];
|
|
181
176
|
'message.send': [MessageSendPayload];
|
|
182
177
|
"message.receive": [import('./message.js').Message];
|
|
183
|
-
"
|
|
178
|
+
"endpoint.login.pending": [import('./built/login-assist.js').PendingLoginTask];
|
|
179
|
+
'endpoint.connect': [import('./built/endpoint-lifecycle.js').EndpointLifecyclePayload];
|
|
180
|
+
'endpoint.disconnect': [import('./built/endpoint-lifecycle.js').EndpointLifecyclePayload];
|
|
181
|
+
'endpoint.error': [import('./built/endpoint-lifecycle.js').EndpointLifecyclePayload];
|
|
184
182
|
"request.receive": [import('./request.js').Request];
|
|
185
183
|
"notice.receive": [import('./notice.js').Notice];
|
|
186
184
|
"ai.processing.start": [Plugin.AIEventPayload];
|
|
@@ -213,7 +211,7 @@ export declare namespace Plugin {
|
|
|
213
211
|
path?: 'chat' | 'fast' | 'agent' | 'multimodal' | 'rate_limited';
|
|
214
212
|
userId?: string;
|
|
215
213
|
platform?: string;
|
|
216
|
-
|
|
214
|
+
endpointId?: string;
|
|
217
215
|
sceneId?: string;
|
|
218
216
|
messageId?: string;
|
|
219
217
|
scope?: string;
|
|
@@ -258,5 +256,4 @@ export declare namespace Plugin {
|
|
|
258
256
|
interface Extensions {
|
|
259
257
|
}
|
|
260
258
|
}
|
|
261
|
-
export {};
|
|
262
259
|
//# sourceMappingURL=plugin.d.ts.map
|
package/lib/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|