@zhin.js/core 1.3.2 → 1.3.4
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 +7 -7
- package/lib/adapter.d.ts +22 -2
- package/lib/adapter.js +72 -2
- package/lib/agent-prompt.d.ts +0 -1
- package/lib/agent-prompt.js +0 -1
- package/lib/built/adapter-process.d.ts +0 -1
- package/lib/built/adapter-process.js +0 -1
- package/lib/built/agent-preset.d.ts +0 -1
- package/lib/built/agent-preset.js +0 -1
- package/lib/built/ai-access.d.ts +36 -0
- package/lib/built/ai-access.js +46 -0
- package/lib/built/ai-outbound/adapter-access.d.ts +3 -0
- package/lib/built/ai-outbound/adapter-access.js +9 -0
- package/lib/built/ai-outbound/extensions/onebot-keyboard.d.ts +2 -0
- package/lib/built/ai-outbound/extensions/onebot-keyboard.js +67 -0
- package/lib/built/ai-outbound/extensions/qq-message.d.ts +3 -0
- package/lib/built/ai-outbound/extensions/qq-message.js +23 -0
- package/lib/built/ai-outbound/index.d.ts +9 -0
- package/lib/built/ai-outbound/index.js +9 -0
- package/lib/built/ai-outbound/parse.d.ts +13 -0
- package/lib/built/ai-outbound/parse.js +108 -0
- package/lib/built/ai-outbound/plain-mention-rewrite.d.ts +6 -0
- package/lib/built/ai-outbound/plain-mention-rewrite.js +37 -0
- package/lib/built/ai-outbound/prompt.d.ts +11 -0
- package/lib/built/ai-outbound/prompt.js +44 -0
- package/lib/built/ai-outbound/resolve.d.ts +4 -0
- package/lib/built/ai-outbound/resolve.js +64 -0
- package/lib/built/ai-outbound/structured-detect.d.ts +3 -0
- package/lib/built/ai-outbound/structured-detect.js +7 -0
- package/lib/built/ai-outbound/types.d.ts +60 -0
- package/lib/built/ai-outbound/types.js +5 -0
- package/lib/built/ai-trigger.d.ts +5 -1
- package/lib/built/ai-trigger.js +3 -7
- package/lib/built/authorization.d.ts +0 -1
- package/lib/built/authorization.js +0 -1
- package/lib/built/command.d.ts +0 -1
- package/lib/built/command.js +1 -3
- package/lib/built/common-adapter-tools.d.ts +25 -26
- package/lib/built/common-adapter-tools.js +48 -49
- package/lib/built/component.d.ts +1 -3
- package/lib/built/component.js +2 -4
- package/lib/built/config.d.ts +4 -1
- package/lib/built/config.js +26 -5
- package/lib/built/connect-endpoint-instance.d.ts +0 -1
- package/lib/built/connect-endpoint-instance.js +3 -2
- package/lib/built/database.d.ts +1 -3
- package/lib/built/database.js +2 -4
- package/lib/built/dispatcher.d.ts +7 -7
- package/lib/built/dispatcher.js +20 -8
- package/lib/built/endpoint-commands.d.ts +0 -1
- package/lib/built/endpoint-commands.js +6 -9
- package/lib/built/endpoint-lifecycle-service.d.ts +2 -1
- package/lib/built/endpoint-lifecycle-service.js +26 -3
- package/lib/built/endpoint-lifecycle.d.ts +0 -1
- package/lib/built/endpoint-lifecycle.js +4 -4
- package/lib/built/endpoint-manager.d.ts +0 -1
- package/lib/built/endpoint-manager.js +0 -1
- package/lib/built/generated-qrcode.d.ts +0 -1
- package/lib/built/generated-qrcode.js +0 -1
- package/lib/built/generic-segment-mapper.d.ts +6 -0
- package/lib/built/generic-segment-mapper.js +232 -0
- package/lib/built/html-renderer-loader.d.ts +2 -1
- package/lib/built/html-renderer-loader.js +6 -2
- package/lib/built/html-segment-fallback.d.ts +0 -1
- package/lib/built/html-segment-fallback.js +0 -1
- package/lib/built/html-to-text.d.ts +0 -1
- package/lib/built/html-to-text.js +15 -15
- package/lib/built/inbound-pipeline.d.ts +1 -2
- package/lib/built/inbound-pipeline.js +1 -2
- package/lib/built/inbound-runner.d.ts +0 -1
- package/lib/built/inbound-runner.js +0 -1
- package/lib/built/interactive-segment-contract.d.ts +6 -0
- package/lib/built/interactive-segment-contract.js +9 -0
- package/lib/built/interactive-segments/action.d.ts +17 -0
- package/lib/built/interactive-segments/action.js +69 -0
- package/lib/built/interactive-segments/button-spec.d.ts +10 -0
- package/lib/built/interactive-segments/button-spec.js +21 -0
- package/lib/built/interactive-segments/handlers.d.ts +9 -0
- package/lib/built/interactive-segments/handlers.js +58 -0
- package/lib/built/interactive-segments/index.d.ts +7 -0
- package/lib/built/interactive-segments/index.js +7 -0
- package/lib/built/interactive-segments/keyboard-segment.d.ts +12 -0
- package/lib/built/interactive-segments/keyboard-segment.js +13 -0
- package/lib/built/interactive-segments/onebot-keyboard.d.ts +10 -0
- package/lib/built/interactive-segments/onebot-keyboard.js +53 -0
- package/lib/built/interactive-segments/resolve.d.ts +9 -0
- package/lib/built/interactive-segments/resolve.js +84 -0
- package/lib/built/interactive-segments/types.d.ts +62 -0
- package/lib/built/interactive-segments/types.js +13 -0
- package/lib/built/introspection-format.d.ts +0 -1
- package/lib/built/introspection-format.js +1 -1
- package/lib/built/login-assist.d.ts +0 -1
- package/lib/built/login-assist.js +0 -1
- package/lib/built/management-command-guard.d.ts +5 -1
- package/lib/built/management-command-guard.js +5 -1
- package/lib/built/message-enrich.d.ts +1 -2
- package/lib/built/message-enrich.js +0 -1
- package/lib/built/message-filter.d.ts +0 -1
- package/lib/built/message-filter.js +1 -3
- package/lib/built/optional-peer-import.d.ts +3 -0
- package/lib/built/optional-peer-import.js +33 -0
- package/lib/built/outbound-media-contract.d.ts +0 -1
- package/lib/built/outbound-media-contract.js +0 -1
- package/lib/built/outbound-media-utils.d.ts +0 -1
- package/lib/built/outbound-media-utils.js +0 -1
- package/lib/built/permission.d.ts +0 -1
- package/lib/built/permission.js +1 -3
- package/lib/built/permit-check.d.ts +1 -2
- package/lib/built/permit-check.js +0 -1
- package/lib/built/permit-parse.d.ts +0 -1
- package/lib/built/permit-parse.js +0 -1
- package/lib/built/platform-permit.d.ts +5 -6
- package/lib/built/platform-permit.js +11 -12
- package/lib/built/prepend-quote-context.d.ts +0 -1
- package/lib/built/prepend-quote-context.js +0 -1
- package/lib/built/qrcode-segment.d.ts +0 -1
- package/lib/built/qrcode-segment.js +0 -1
- package/lib/built/queue-im-field-contract.d.ts +6 -1
- package/lib/built/queue-im-field-contract.js +10 -1
- package/lib/built/rich-segments/adapter-policies.d.ts +1 -2
- package/lib/built/rich-segments/adapter-policies.js +0 -1
- package/lib/built/rich-segments/base.d.ts +0 -1
- package/lib/built/rich-segments/base.js +0 -1
- package/lib/built/rich-segments/builtins.d.ts +0 -1
- package/lib/built/rich-segments/builtins.js +0 -1
- package/lib/built/rich-segments/capabilities.d.ts +0 -1
- package/lib/built/rich-segments/capabilities.js +0 -1
- package/lib/built/rich-segments/html-segment.d.ts +1 -2
- package/lib/built/rich-segments/html-segment.js +0 -1
- package/lib/built/rich-segments/index.d.ts +0 -1
- package/lib/built/rich-segments/index.js +0 -1
- package/lib/built/rich-segments/markdown-segment.d.ts +1 -2
- package/lib/built/rich-segments/markdown-segment.js +0 -1
- package/lib/built/rich-segments/markdown-to-text.d.ts +0 -1
- package/lib/built/rich-segments/markdown-to-text.js +0 -1
- package/lib/built/rich-segments/qrcode-segment.d.ts +1 -2
- package/lib/built/rich-segments/qrcode-segment.js +0 -1
- package/lib/built/rich-segments/registry.d.ts +0 -1
- package/lib/built/rich-segments/registry.js +0 -1
- package/lib/built/rich-segments/resolve.d.ts +1 -2
- package/lib/built/rich-segments/resolve.js +0 -1
- package/lib/built/rich-segments/tts-segment.d.ts +1 -2
- package/lib/built/rich-segments/tts-segment.js +0 -1
- package/lib/built/rich-segments/types.d.ts +0 -1
- package/lib/built/rich-segments/types.js +0 -1
- package/lib/built/roles.d.ts +0 -1
- package/lib/built/roles.js +0 -1
- package/lib/built/runtime-io.d.ts +0 -1
- package/lib/built/runtime-io.js +0 -1
- package/lib/built/schedule.d.ts +54 -0
- package/lib/built/schedule.js +112 -0
- package/lib/built/schema-endpoint-manager.d.ts +0 -1
- package/lib/built/schema-endpoint-manager.js +0 -1
- package/lib/built/schema-feature.d.ts +0 -1
- package/lib/built/schema-feature.js +1 -3
- package/lib/built/segment-contract/assert.d.ts +4 -0
- package/lib/built/segment-contract/assert.js +30 -0
- package/lib/built/segment-contract/delivery.d.ts +5 -0
- package/lib/built/segment-contract/delivery.js +40 -0
- package/lib/built/segment-contract/image.d.ts +5 -0
- package/lib/built/segment-contract/image.js +10 -0
- package/lib/built/segment-contract/index.d.ts +8 -0
- package/lib/built/segment-contract/index.js +7 -0
- package/lib/built/segment-contract/media.d.ts +8 -0
- package/lib/built/segment-contract/media.js +39 -0
- package/lib/built/segment-contract/mention.d.ts +10 -0
- package/lib/built/segment-contract/mention.js +26 -0
- package/lib/built/segment-contract/preview.d.ts +3 -0
- package/lib/built/segment-contract/preview.js +159 -0
- package/lib/built/segment-contract/types.d.ts +70 -0
- package/lib/built/segment-contract/types.js +5 -0
- package/lib/built/segment-contract/validate.d.ts +138 -0
- package/lib/built/segment-contract/validate.js +124 -0
- package/lib/built/skill.d.ts +0 -1
- package/lib/built/skill.js +0 -1
- package/lib/built/speech-loader.d.ts +2 -1
- package/lib/built/speech-loader.js +6 -2
- package/lib/built/tool.d.ts +0 -1
- package/lib/built/tool.js +1 -3
- package/lib/command.d.ts +12 -7
- package/lib/command.js +38 -16
- package/lib/component.d.ts +0 -1
- package/lib/component.js +28 -12
- package/lib/endpoint-capabilities.d.ts +3 -1
- package/lib/endpoint-capabilities.js +0 -1
- package/lib/endpoint.d.ts +0 -1
- package/lib/endpoint.js +0 -1
- package/lib/errors.d.ts +0 -1
- package/lib/errors.js +0 -1
- package/lib/host-plugin-registry.d.ts +0 -1
- package/lib/host-plugin-registry.js +0 -1
- package/lib/im-scene.d.ts +29 -0
- package/lib/im-scene.js +77 -0
- package/lib/im-session-id.d.ts +25 -12
- package/lib/im-session-id.js +35 -17
- package/lib/index.d.ts +14 -7
- package/lib/index.js +12 -6
- package/lib/jsx-dev-runtime.d.ts +0 -1
- package/lib/jsx-dev-runtime.js +0 -1
- package/lib/jsx-runtime.d.ts +0 -1
- package/lib/jsx-runtime.js +0 -1
- package/lib/jsx.d.ts +0 -1
- package/lib/jsx.js +0 -1
- package/lib/message-quote.d.ts +1 -2
- package/lib/message-quote.js +2 -3
- package/lib/message.d.ts +7 -5
- package/lib/message.js +16 -1
- package/lib/models/system-log.d.ts +0 -1
- package/lib/models/system-log.js +0 -1
- package/lib/models/user.d.ts +0 -1
- package/lib/models/user.js +0 -1
- package/lib/notice.d.ts +15 -59
- package/lib/notice.js +1 -4
- package/lib/plugin-context.d.ts +0 -1
- package/lib/plugin-context.js +0 -1
- package/lib/plugin.d.ts +13 -6
- package/lib/plugin.js +31 -15
- package/lib/prompt.d.ts +0 -1
- package/lib/prompt.js +0 -1
- package/lib/request.d.ts +16 -60
- package/lib/request.js +0 -4
- package/lib/side-event/base.d.ts +45 -0
- package/lib/side-event/base.js +30 -0
- package/lib/side-event/index.d.ts +3 -0
- package/lib/side-event/index.js +3 -0
- package/lib/side-event/normalize.d.ts +40 -0
- package/lib/side-event/normalize.js +117 -0
- package/lib/side-event/types.d.ts +25 -0
- package/lib/side-event/types.js +55 -0
- package/lib/tool-zod.d.ts +0 -1
- package/lib/tool-zod.js +0 -1
- package/lib/types-generator.d.ts +0 -1
- package/lib/types-generator.js +0 -1
- package/lib/types.d.ts +30 -11
- package/lib/types.js +0 -1
- package/lib/utils.d.ts +36 -1
- package/lib/utils.js +33 -25
- package/package.json +15 -8
- package/lib/adapter.d.ts.map +0 -1
- package/lib/adapter.js.map +0 -1
- package/lib/agent-prompt.d.ts.map +0 -1
- package/lib/agent-prompt.js.map +0 -1
- package/lib/built/adapter-process.d.ts.map +0 -1
- package/lib/built/adapter-process.js.map +0 -1
- package/lib/built/agent-preset.d.ts.map +0 -1
- package/lib/built/agent-preset.js.map +0 -1
- package/lib/built/ai-trigger.d.ts.map +0 -1
- package/lib/built/ai-trigger.js.map +0 -1
- package/lib/built/authorization.d.ts.map +0 -1
- package/lib/built/authorization.js.map +0 -1
- package/lib/built/command.d.ts.map +0 -1
- package/lib/built/command.js.map +0 -1
- package/lib/built/common-adapter-tools.d.ts.map +0 -1
- package/lib/built/common-adapter-tools.js.map +0 -1
- package/lib/built/component.d.ts.map +0 -1
- package/lib/built/component.js.map +0 -1
- package/lib/built/config.d.ts.map +0 -1
- package/lib/built/config.js.map +0 -1
- package/lib/built/connect-endpoint-instance.d.ts.map +0 -1
- package/lib/built/connect-endpoint-instance.js.map +0 -1
- package/lib/built/cron.d.ts +0 -75
- package/lib/built/cron.d.ts.map +0 -1
- package/lib/built/cron.js +0 -122
- package/lib/built/cron.js.map +0 -1
- package/lib/built/database.d.ts.map +0 -1
- package/lib/built/database.js.map +0 -1
- package/lib/built/dispatcher.d.ts.map +0 -1
- package/lib/built/dispatcher.js.map +0 -1
- package/lib/built/endpoint-commands.d.ts.map +0 -1
- package/lib/built/endpoint-commands.js.map +0 -1
- package/lib/built/endpoint-lifecycle-service.d.ts.map +0 -1
- package/lib/built/endpoint-lifecycle-service.js.map +0 -1
- package/lib/built/endpoint-lifecycle.d.ts.map +0 -1
- package/lib/built/endpoint-lifecycle.js.map +0 -1
- package/lib/built/endpoint-manager.d.ts.map +0 -1
- package/lib/built/endpoint-manager.js.map +0 -1
- package/lib/built/generated-qrcode.d.ts.map +0 -1
- package/lib/built/generated-qrcode.js.map +0 -1
- package/lib/built/html-renderer-loader.d.ts.map +0 -1
- package/lib/built/html-renderer-loader.js.map +0 -1
- package/lib/built/html-segment-fallback.d.ts.map +0 -1
- package/lib/built/html-segment-fallback.js.map +0 -1
- package/lib/built/html-to-text.d.ts.map +0 -1
- package/lib/built/html-to-text.js.map +0 -1
- package/lib/built/inbound-pipeline.d.ts.map +0 -1
- package/lib/built/inbound-pipeline.js.map +0 -1
- package/lib/built/inbound-runner.d.ts.map +0 -1
- package/lib/built/inbound-runner.js.map +0 -1
- package/lib/built/introspection-format.d.ts.map +0 -1
- package/lib/built/introspection-format.js.map +0 -1
- package/lib/built/login-assist.d.ts.map +0 -1
- package/lib/built/login-assist.js.map +0 -1
- package/lib/built/management-command-guard.d.ts.map +0 -1
- package/lib/built/management-command-guard.js.map +0 -1
- package/lib/built/mcp-mesh-registrar.d.ts +0 -9
- package/lib/built/mcp-mesh-registrar.d.ts.map +0 -1
- package/lib/built/mcp-mesh-registrar.js +0 -17
- package/lib/built/mcp-mesh-registrar.js.map +0 -1
- package/lib/built/message-enrich.d.ts.map +0 -1
- package/lib/built/message-enrich.js.map +0 -1
- package/lib/built/message-filter.d.ts.map +0 -1
- package/lib/built/message-filter.js.map +0 -1
- package/lib/built/outbound-media-contract.d.ts.map +0 -1
- package/lib/built/outbound-media-contract.js.map +0 -1
- package/lib/built/outbound-media-utils.d.ts.map +0 -1
- package/lib/built/outbound-media-utils.js.map +0 -1
- package/lib/built/permission.d.ts.map +0 -1
- package/lib/built/permission.js.map +0 -1
- package/lib/built/permit-check.d.ts.map +0 -1
- package/lib/built/permit-check.js.map +0 -1
- package/lib/built/permit-parse.d.ts.map +0 -1
- package/lib/built/permit-parse.js.map +0 -1
- package/lib/built/platform-permit.d.ts.map +0 -1
- package/lib/built/platform-permit.js.map +0 -1
- package/lib/built/prepend-quote-context.d.ts.map +0 -1
- package/lib/built/prepend-quote-context.js.map +0 -1
- package/lib/built/qrcode-segment.d.ts.map +0 -1
- package/lib/built/qrcode-segment.js.map +0 -1
- package/lib/built/queue-im-field-contract.d.ts.map +0 -1
- package/lib/built/queue-im-field-contract.js.map +0 -1
- package/lib/built/rich-segments/adapter-policies.d.ts.map +0 -1
- package/lib/built/rich-segments/adapter-policies.js.map +0 -1
- package/lib/built/rich-segments/base.d.ts.map +0 -1
- package/lib/built/rich-segments/base.js.map +0 -1
- package/lib/built/rich-segments/builtins.d.ts.map +0 -1
- package/lib/built/rich-segments/builtins.js.map +0 -1
- package/lib/built/rich-segments/capabilities.d.ts.map +0 -1
- package/lib/built/rich-segments/capabilities.js.map +0 -1
- package/lib/built/rich-segments/html-segment.d.ts.map +0 -1
- package/lib/built/rich-segments/html-segment.js.map +0 -1
- package/lib/built/rich-segments/index.d.ts.map +0 -1
- package/lib/built/rich-segments/index.js.map +0 -1
- package/lib/built/rich-segments/markdown-segment.d.ts.map +0 -1
- package/lib/built/rich-segments/markdown-segment.js.map +0 -1
- package/lib/built/rich-segments/markdown-to-text.d.ts.map +0 -1
- package/lib/built/rich-segments/markdown-to-text.js.map +0 -1
- package/lib/built/rich-segments/qrcode-segment.d.ts.map +0 -1
- package/lib/built/rich-segments/qrcode-segment.js.map +0 -1
- package/lib/built/rich-segments/registry.d.ts.map +0 -1
- package/lib/built/rich-segments/registry.js.map +0 -1
- package/lib/built/rich-segments/resolve.d.ts.map +0 -1
- package/lib/built/rich-segments/resolve.js.map +0 -1
- package/lib/built/rich-segments/tts-segment.d.ts.map +0 -1
- package/lib/built/rich-segments/tts-segment.js.map +0 -1
- package/lib/built/rich-segments/types.d.ts.map +0 -1
- package/lib/built/rich-segments/types.js.map +0 -1
- package/lib/built/roles.d.ts.map +0 -1
- package/lib/built/roles.js.map +0 -1
- package/lib/built/runtime-io.d.ts.map +0 -1
- package/lib/built/runtime-io.js.map +0 -1
- package/lib/built/schema-endpoint-manager.d.ts.map +0 -1
- package/lib/built/schema-endpoint-manager.js.map +0 -1
- package/lib/built/schema-feature.d.ts.map +0 -1
- package/lib/built/schema-feature.js.map +0 -1
- package/lib/built/skill.d.ts.map +0 -1
- package/lib/built/skill.js.map +0 -1
- package/lib/built/speech-loader.d.ts.map +0 -1
- package/lib/built/speech-loader.js.map +0 -1
- package/lib/built/tool.d.ts.map +0 -1
- package/lib/built/tool.js.map +0 -1
- package/lib/command.d.ts.map +0 -1
- package/lib/command.js.map +0 -1
- package/lib/component.d.ts.map +0 -1
- package/lib/component.js.map +0 -1
- package/lib/endpoint-capabilities.d.ts.map +0 -1
- package/lib/endpoint-capabilities.js.map +0 -1
- package/lib/endpoint.d.ts.map +0 -1
- package/lib/endpoint.js.map +0 -1
- package/lib/errors.d.ts.map +0 -1
- package/lib/errors.js.map +0 -1
- package/lib/host-plugin-registry.d.ts.map +0 -1
- package/lib/host-plugin-registry.js.map +0 -1
- package/lib/im-session-id.d.ts.map +0 -1
- package/lib/im-session-id.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/jsx-dev-runtime.d.ts.map +0 -1
- package/lib/jsx-dev-runtime.js.map +0 -1
- package/lib/jsx-runtime.d.ts.map +0 -1
- package/lib/jsx-runtime.js.map +0 -1
- package/lib/jsx.d.ts.map +0 -1
- package/lib/jsx.js.map +0 -1
- package/lib/message-quote.d.ts.map +0 -1
- package/lib/message-quote.js.map +0 -1
- package/lib/message.d.ts.map +0 -1
- package/lib/message.js.map +0 -1
- package/lib/models/system-log.d.ts.map +0 -1
- package/lib/models/system-log.js.map +0 -1
- package/lib/models/user.d.ts.map +0 -1
- package/lib/models/user.js.map +0 -1
- package/lib/notice.d.ts.map +0 -1
- package/lib/notice.js.map +0 -1
- package/lib/plugin-context.d.ts.map +0 -1
- package/lib/plugin-context.js.map +0 -1
- package/lib/plugin.d.ts.map +0 -1
- package/lib/plugin.js.map +0 -1
- package/lib/prompt.d.ts.map +0 -1
- package/lib/prompt.js.map +0 -1
- package/lib/request.d.ts.map +0 -1
- package/lib/request.js.map +0 -1
- package/lib/scheduler/scheduler.d.ts +0 -49
- package/lib/scheduler/scheduler.d.ts.map +0 -1
- package/lib/scheduler/scheduler.js +0 -352
- package/lib/scheduler/scheduler.js.map +0 -1
- package/lib/scheduler/types.d.ts +0 -71
- package/lib/scheduler/types.d.ts.map +0 -1
- package/lib/scheduler/types.js +0 -8
- package/lib/scheduler/types.js.map +0 -1
- package/lib/tool-zod.d.ts.map +0 -1
- package/lib/tool-zod.js.map +0 -1
- package/lib/types-generator.d.ts.map +0 -1
- package/lib/types-generator.js.map +0 -1
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js.map +0 -1
- package/lib/utils.d.ts.map +0 -1
- package/lib/utils.js.map +0 -1
package/lib/command.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { SegmentMatcher } from
|
|
2
|
-
import logger, { formatCompact } from "@zhin.js/logger";
|
|
1
|
+
import { SegmentMatcher } from 'segment-matcher';
|
|
3
2
|
/**
|
|
4
3
|
* MessageCommand类:命令系统核心,基于segment-matcher实现。
|
|
5
4
|
* 支持多平台命令注册、作用域限制、参数解析、异步处理等。
|
|
@@ -18,6 +17,24 @@ export class MessageCommand extends SegmentMatcher {
|
|
|
18
17
|
examples: this.#examples
|
|
19
18
|
};
|
|
20
19
|
}
|
|
20
|
+
constructor(C, P = {}) {
|
|
21
|
+
super(C, {
|
|
22
|
+
at: ['qq', 'user_id'],
|
|
23
|
+
face: ['id'],
|
|
24
|
+
mention: ['qq', 'user_id'],
|
|
25
|
+
html: ['content'],
|
|
26
|
+
markdown: ['content'],
|
|
27
|
+
image: ['file', 'src', 'url'],
|
|
28
|
+
video: ['file', 'src', 'url'],
|
|
29
|
+
audio: ['file', 'src', 'url'],
|
|
30
|
+
file: ['file', 'src', 'url'],
|
|
31
|
+
reply: ['id', 'reply_id', 'message_id'],
|
|
32
|
+
quote: ['id', 'reply_id', 'message_id'],
|
|
33
|
+
forward: ['id', 'res_id', 'message_id'],
|
|
34
|
+
location: ['latitude', 'longitude'],
|
|
35
|
+
...P,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
21
38
|
get help() {
|
|
22
39
|
return [
|
|
23
40
|
this.pattern,
|
|
@@ -50,6 +67,23 @@ export class MessageCommand extends SegmentMatcher {
|
|
|
50
67
|
this.#permissions.push(...permissions);
|
|
51
68
|
return this;
|
|
52
69
|
}
|
|
70
|
+
/** 命令要求的 permit 列表(空表示所有人可用) */
|
|
71
|
+
get requiredPermits() {
|
|
72
|
+
return this.#permissions;
|
|
73
|
+
}
|
|
74
|
+
/** 与 handle 一致的 permit 校验,供帮助菜单等场景过滤不可见命令 */
|
|
75
|
+
async checkPermits(message, plugin) {
|
|
76
|
+
if (!this.#permissions.length)
|
|
77
|
+
return true;
|
|
78
|
+
const auth = plugin.contextIsReady('permission') ? plugin.inject('permission') : null;
|
|
79
|
+
if (!auth)
|
|
80
|
+
return false;
|
|
81
|
+
for (const permit of this.#permissions) {
|
|
82
|
+
if (!(await auth.check(permit, message)))
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
53
87
|
/**
|
|
54
88
|
* 处理消息,自动匹配命令并执行回调
|
|
55
89
|
* @param message 消息对象
|
|
@@ -57,19 +91,8 @@ export class MessageCommand extends SegmentMatcher {
|
|
|
57
91
|
* @returns 命令返回内容或undefined
|
|
58
92
|
*/
|
|
59
93
|
async handle(message, plugin) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const passed = auth ? await auth.check(permit, message) : false;
|
|
63
|
-
if (!passed) {
|
|
64
|
-
logger.debug(formatCompact({
|
|
65
|
-
op: 'permit_denied',
|
|
66
|
-
permit,
|
|
67
|
-
senderId: message.$sender.id,
|
|
68
|
-
adapter: message.$adapter,
|
|
69
|
-
endpoint: message.$endpoint,
|
|
70
|
-
}));
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
94
|
+
if (!(await this.checkPermits(message, plugin))) {
|
|
95
|
+
return;
|
|
73
96
|
}
|
|
74
97
|
const matched = this.match(message.$content);
|
|
75
98
|
if (!matched)
|
|
@@ -81,4 +104,3 @@ export class MessageCommand extends SegmentMatcher {
|
|
|
81
104
|
}
|
|
82
105
|
}
|
|
83
106
|
}
|
|
84
|
-
//# sourceMappingURL=command.js.map
|
package/lib/component.d.ts
CHANGED
package/lib/component.js
CHANGED
|
@@ -176,24 +176,41 @@ function parseAttributeValue(str, startIndex, context) {
|
|
|
176
176
|
function evaluateQuotedExpression(quotedValue, context) {
|
|
177
177
|
if (!context)
|
|
178
178
|
return quotedValue;
|
|
179
|
-
|
|
180
|
-
let
|
|
181
|
-
const
|
|
182
|
-
|
|
183
|
-
while ((match = expressionRegex.exec(quotedValue)) !== null) {
|
|
184
|
-
const expr = match[1];
|
|
179
|
+
let result = '';
|
|
180
|
+
let cursor = 0;
|
|
181
|
+
for (const match of readBraceExpressions(quotedValue)) {
|
|
182
|
+
result += quotedValue.slice(cursor, match.start);
|
|
185
183
|
try {
|
|
186
|
-
const value = context.getValue(expr);
|
|
187
|
-
if (value !== undefined && value !== expr) {
|
|
184
|
+
const value = context.getValue(match.expr);
|
|
185
|
+
if (value !== undefined && value !== match.expr) {
|
|
188
186
|
const stringValue = typeof value === 'string' ? value : JSON.stringify(value);
|
|
189
|
-
result
|
|
187
|
+
result += stringValue;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
result += quotedValue.slice(match.start, match.end);
|
|
190
191
|
}
|
|
191
192
|
}
|
|
192
193
|
catch (error) {
|
|
193
|
-
|
|
194
|
+
result += quotedValue.slice(match.start, match.end);
|
|
194
195
|
}
|
|
196
|
+
cursor = match.end;
|
|
195
197
|
}
|
|
196
|
-
return result;
|
|
198
|
+
return result + quotedValue.slice(cursor);
|
|
199
|
+
}
|
|
200
|
+
function readBraceExpressions(value) {
|
|
201
|
+
const matches = [];
|
|
202
|
+
let cursor = 0;
|
|
203
|
+
while (cursor < value.length) {
|
|
204
|
+
const start = value.indexOf('{', cursor);
|
|
205
|
+
if (start < 0)
|
|
206
|
+
break;
|
|
207
|
+
const end = value.indexOf('}', start + 1);
|
|
208
|
+
if (end < 0)
|
|
209
|
+
break;
|
|
210
|
+
matches.push({ start, end: end + 1, expr: value.slice(start + 1, end) });
|
|
211
|
+
cursor = end + 1;
|
|
212
|
+
}
|
|
213
|
+
return matches;
|
|
197
214
|
}
|
|
198
215
|
/**
|
|
199
216
|
* 解析表达式值
|
|
@@ -564,4 +581,3 @@ export const Fragment = defineComponent(async (props, context) => {
|
|
|
564
581
|
export const Fetch = defineComponent(async ({ url }) => {
|
|
565
582
|
return await fetch(url, { signal: AbortSignal.timeout(30_000) }).then((r) => r.text());
|
|
566
583
|
}, 'fetch');
|
|
567
|
-
//# sourceMappingURL=component.js.map
|
|
@@ -2,6 +2,7 @@ import type { Message } from './message.js';
|
|
|
2
2
|
import type { Notice } from './notice.js';
|
|
3
3
|
import type { Request } from './request.js';
|
|
4
4
|
import type { SendOptions } from './types.js';
|
|
5
|
+
import type { AIAccessScopeConfig } from './built/ai-access.js';
|
|
5
6
|
export type EndpointCapability = 'inbound' | 'outbound';
|
|
6
7
|
export declare const DEFAULT_ENDPOINT_CAPABILITIES: readonly EndpointCapability[];
|
|
7
8
|
/** 入站能力:含连接生命周期 */
|
|
@@ -41,5 +42,6 @@ export declare function assertInbound(endpoint: InboundEndpoint | OutboundEndpoi
|
|
|
41
42
|
export declare function assertOutbound(endpoint: InboundEndpoint | OutboundEndpoint): asserts endpoint is OutboundEndpoint;
|
|
42
43
|
export interface EndpointCapabilitiesConfig {
|
|
43
44
|
capabilities?: EndpointCapability[];
|
|
45
|
+
/** 本 Endpoint 的 AI 访问控制(覆盖 ai.access 全局默认) */
|
|
46
|
+
aiAccess?: AIAccessScopeConfig;
|
|
44
47
|
}
|
|
45
|
-
//# sourceMappingURL=endpoint-capabilities.d.ts.map
|
package/lib/endpoint.d.ts
CHANGED
package/lib/endpoint.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
1
|
export { DEFAULT_ENDPOINT_CAPABILITIES, OutboundNotSupportedError, InboundNotSupportedError, resolveEndpointCapabilities, registerEndpointCapabilities, getEndpointCapabilities, getAdapterCapabilities, hasInbound, hasOutbound, assertInbound, assertOutbound, } from './endpoint-capabilities.js';
|
|
2
|
-
//# sourceMappingURL=endpoint.js.map
|
package/lib/errors.d.ts
CHANGED
package/lib/errors.js
CHANGED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Message, MessageType } from './message.js';
|
|
2
|
+
import type { SendContent, SendOptions } from './types.js';
|
|
3
|
+
export type IMSceneKind = MessageType;
|
|
4
|
+
/** Parent scene kind (distinct from sub-channel MessageType.channel). */
|
|
5
|
+
export type IMSceneParentKind = 'group' | 'guild';
|
|
6
|
+
export interface IMSceneParentRef {
|
|
7
|
+
kind: IMSceneParentKind;
|
|
8
|
+
sceneId: string;
|
|
9
|
+
}
|
|
10
|
+
export interface IMSceneRef {
|
|
11
|
+
platform: string;
|
|
12
|
+
endpointId: string;
|
|
13
|
+
sceneId: string;
|
|
14
|
+
kind: IMSceneKind;
|
|
15
|
+
senderId?: string;
|
|
16
|
+
parent?: IMSceneParentRef;
|
|
17
|
+
}
|
|
18
|
+
export interface IMDeliveryTarget {
|
|
19
|
+
channel: 'im';
|
|
20
|
+
scene: IMSceneRef;
|
|
21
|
+
threadId?: string;
|
|
22
|
+
quoteId?: string;
|
|
23
|
+
}
|
|
24
|
+
/** Normalize legacy parent.type channel → guild. */
|
|
25
|
+
export declare function normalizeIMSceneParentKind(value: unknown): IMSceneParentKind | undefined;
|
|
26
|
+
export declare function sceneRefFromMessage(message: Partial<Message<any>>): IMSceneRef | undefined;
|
|
27
|
+
export declare function sceneRefToSendOptions(target: IMDeliveryTarget, content: SendContent): SendOptions;
|
|
28
|
+
export declare function resolveIMSceneSessionId(scene: IMSceneRef): string;
|
|
29
|
+
export declare function messageToIMDeliveryTarget(message: Partial<Message<any>>): IMDeliveryTarget | undefined;
|
package/lib/im-scene.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { resolveIMSceneSessionId as resolveIMSceneSessionIdKernel, } from '@zhin.js/kernel';
|
|
2
|
+
function nonEmptyString(value) {
|
|
3
|
+
return typeof value === 'string' && value.trim() ? value.trim() : undefined;
|
|
4
|
+
}
|
|
5
|
+
/** Normalize legacy parent.type channel → guild. */
|
|
6
|
+
export function normalizeIMSceneParentKind(value) {
|
|
7
|
+
if (value === 'group' || value === 'guild')
|
|
8
|
+
return value;
|
|
9
|
+
if (value === 'channel')
|
|
10
|
+
return 'guild';
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
export function sceneRefFromMessage(message) {
|
|
14
|
+
const platform = nonEmptyString(message.$adapter);
|
|
15
|
+
const endpointId = nonEmptyString(message.$endpoint);
|
|
16
|
+
const kind = message.$channel?.type;
|
|
17
|
+
if (!platform || !endpointId || !kind)
|
|
18
|
+
return undefined;
|
|
19
|
+
const senderId = nonEmptyString(message.$sender?.id);
|
|
20
|
+
const channelId = nonEmptyString(message.$channel?.id);
|
|
21
|
+
const sceneId = kind === 'private'
|
|
22
|
+
? senderId ?? channelId
|
|
23
|
+
: channelId ?? senderId;
|
|
24
|
+
if (!sceneId)
|
|
25
|
+
return undefined;
|
|
26
|
+
const parentKind = message.$channel?.parent
|
|
27
|
+
? normalizeIMSceneParentKind(message.$channel.parent.type)
|
|
28
|
+
: undefined;
|
|
29
|
+
const parent = parentKind && message.$channel?.parent
|
|
30
|
+
? {
|
|
31
|
+
kind: parentKind,
|
|
32
|
+
sceneId: String(message.$channel.parent.id),
|
|
33
|
+
}
|
|
34
|
+
: undefined;
|
|
35
|
+
return {
|
|
36
|
+
platform,
|
|
37
|
+
endpointId,
|
|
38
|
+
sceneId,
|
|
39
|
+
kind,
|
|
40
|
+
...(senderId ? { senderId } : {}),
|
|
41
|
+
...(parent ? { parent } : {}),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export function sceneRefToSendOptions(target, content) {
|
|
45
|
+
const { scene } = target;
|
|
46
|
+
return {
|
|
47
|
+
context: scene.platform,
|
|
48
|
+
endpoint: scene.endpointId,
|
|
49
|
+
id: scene.sceneId,
|
|
50
|
+
type: scene.kind,
|
|
51
|
+
parent: scene.parent
|
|
52
|
+
? { type: scene.parent.kind, id: scene.parent.sceneId }
|
|
53
|
+
: undefined,
|
|
54
|
+
content,
|
|
55
|
+
...(target.quoteId ? { quoteId: target.quoteId } : {}),
|
|
56
|
+
...(target.threadId ? { threadId: target.threadId } : {}),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export function resolveIMSceneSessionId(scene) {
|
|
60
|
+
return resolveIMSceneSessionIdKernel({
|
|
61
|
+
platform: scene.platform,
|
|
62
|
+
endpointId: scene.endpointId,
|
|
63
|
+
sceneId: scene.sceneId,
|
|
64
|
+
kind: scene.kind,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
export function messageToIMDeliveryTarget(message) {
|
|
68
|
+
const scene = sceneRefFromMessage(message);
|
|
69
|
+
if (!scene)
|
|
70
|
+
return undefined;
|
|
71
|
+
const quoteId = nonEmptyString(message.$quote_id);
|
|
72
|
+
return {
|
|
73
|
+
channel: 'im',
|
|
74
|
+
scene,
|
|
75
|
+
...(quoteId ? { quoteId } : {}),
|
|
76
|
+
};
|
|
77
|
+
}
|
package/lib/im-session-id.d.ts
CHANGED
|
@@ -1,26 +1,39 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* IM 会话 ID
|
|
2
|
+
* IM 会话 ID 解析(SSOT 在 @zhin.js/kernel + im-scene)
|
|
3
3
|
*
|
|
4
|
-
* 格式:`platform:endpointId:
|
|
4
|
+
* 格式:`platform:endpointId:kind:sceneId`
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
endpointId: string;
|
|
10
|
-
scope: IMSessionScope;
|
|
11
|
-
sceneId: string;
|
|
12
|
-
}
|
|
6
|
+
import { type ResolveIMSessionIdInput } from '@zhin.js/kernel';
|
|
7
|
+
import { type IMSceneKind, type IMSceneRef } from './im-scene.js';
|
|
8
|
+
export type { IMSceneKind, ResolveIMSessionIdInput };
|
|
13
9
|
export declare function resolveIMSessionId(input: ResolveIMSessionIdInput): string;
|
|
14
|
-
export declare function
|
|
10
|
+
export declare function resolveIMSessionIdFromScene(scene: IMSceneRef): string;
|
|
11
|
+
export declare function resolveIMSceneIdForSession(kind: IMSceneKind, sceneId?: string, senderId?: string): string;
|
|
15
12
|
export declare function resolveIMSessionIdFromMessage(message: {
|
|
16
13
|
$adapter?: string;
|
|
17
14
|
$endpoint?: string;
|
|
18
15
|
$channel?: {
|
|
19
|
-
type?:
|
|
16
|
+
type?: IMSceneKind;
|
|
20
17
|
id?: string;
|
|
21
18
|
};
|
|
22
19
|
$sender?: {
|
|
23
20
|
id?: string;
|
|
24
21
|
};
|
|
25
22
|
}): string;
|
|
26
|
-
|
|
23
|
+
/** Canonical scene fields for transcript / session persistence (ADR 0028 SSOT). */
|
|
24
|
+
export declare function resolveSceneFieldsFromMessage(message: {
|
|
25
|
+
$adapter?: string;
|
|
26
|
+
$endpoint?: string;
|
|
27
|
+
$channel?: {
|
|
28
|
+
type?: IMSceneKind;
|
|
29
|
+
id?: string;
|
|
30
|
+
};
|
|
31
|
+
$sender?: {
|
|
32
|
+
id?: string;
|
|
33
|
+
};
|
|
34
|
+
}): {
|
|
35
|
+
platform: string;
|
|
36
|
+
endpointId: string;
|
|
37
|
+
sceneId: string;
|
|
38
|
+
sceneType: IMSceneKind;
|
|
39
|
+
};
|
package/lib/im-session-id.js
CHANGED
|
@@ -1,29 +1,47 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* IM 会话 ID
|
|
2
|
+
* IM 会话 ID 解析(SSOT 在 @zhin.js/kernel + im-scene)
|
|
3
3
|
*
|
|
4
|
-
* 格式:`platform:endpointId:
|
|
4
|
+
* 格式:`platform:endpointId:kind:sceneId`
|
|
5
5
|
*/
|
|
6
|
+
import { resolveIMSceneIdForSession as resolveIMSceneIdForSessionKernel, resolveIMSessionId as resolveIMSessionIdKernel, } from '@zhin.js/kernel';
|
|
7
|
+
import { resolveIMSceneSessionId, sceneRefFromMessage, } from './im-scene.js';
|
|
6
8
|
export function resolveIMSessionId(input) {
|
|
7
|
-
|
|
8
|
-
const endpointId = String(input.endpointId || 'default');
|
|
9
|
-
const scope = input.scope || 'private';
|
|
10
|
-
const sceneId = String(input.sceneId || 'unknown');
|
|
11
|
-
return `${platform}:${endpointId}:${scope}:${sceneId}`;
|
|
9
|
+
return resolveIMSessionIdKernel(input);
|
|
12
10
|
}
|
|
13
|
-
export function
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return
|
|
11
|
+
export function resolveIMSessionIdFromScene(scene) {
|
|
12
|
+
return resolveIMSceneSessionId(scene);
|
|
13
|
+
}
|
|
14
|
+
export function resolveIMSceneIdForSession(kind, sceneId, senderId) {
|
|
15
|
+
return resolveIMSceneIdForSessionKernel(kind, sceneId, senderId);
|
|
18
16
|
}
|
|
19
17
|
export function resolveIMSessionIdFromMessage(message) {
|
|
20
|
-
const
|
|
21
|
-
|
|
18
|
+
const scene = sceneRefFromMessage(message);
|
|
19
|
+
if (scene)
|
|
20
|
+
return resolveIMSceneSessionId(scene);
|
|
21
|
+
const kind = (message.$channel?.type || 'private');
|
|
22
22
|
return resolveIMSessionId({
|
|
23
23
|
platform: String(message.$adapter || ''),
|
|
24
24
|
endpointId: String(message.$endpoint || ''),
|
|
25
|
-
|
|
26
|
-
sceneId,
|
|
25
|
+
kind,
|
|
26
|
+
sceneId: resolveIMSceneIdForSession(kind, message.$channel?.id, message.$sender?.id),
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
/** Canonical scene fields for transcript / session persistence (ADR 0028 SSOT). */
|
|
30
|
+
export function resolveSceneFieldsFromMessage(message) {
|
|
31
|
+
const scene = sceneRefFromMessage(message);
|
|
32
|
+
if (scene) {
|
|
33
|
+
return {
|
|
34
|
+
platform: scene.platform,
|
|
35
|
+
endpointId: scene.endpointId,
|
|
36
|
+
sceneId: scene.sceneId,
|
|
37
|
+
sceneType: scene.kind,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const sceneType = (message.$channel?.type || 'private');
|
|
41
|
+
return {
|
|
42
|
+
platform: String(message.$adapter || ''),
|
|
43
|
+
endpointId: String(message.$endpoint || ''),
|
|
44
|
+
sceneType,
|
|
45
|
+
sceneId: resolveIMSceneIdForSession(sceneType, message.$channel?.id, message.$sender?.id),
|
|
46
|
+
};
|
|
47
|
+
}
|
package/lib/index.d.ts
CHANGED
|
@@ -5,8 +5,10 @@ export * from './command.js';
|
|
|
5
5
|
export * from './component.js';
|
|
6
6
|
export * from './adapter.js';
|
|
7
7
|
export * from './message.js';
|
|
8
|
+
export * from './im-scene.js';
|
|
8
9
|
export * from './notice.js';
|
|
9
10
|
export * from './request.js';
|
|
11
|
+
export * from './side-event/index.js';
|
|
10
12
|
export * from './prompt.js';
|
|
11
13
|
export * from './types.js';
|
|
12
14
|
export * from './agent-prompt.js';
|
|
@@ -14,7 +16,8 @@ export * from './utils.js';
|
|
|
14
16
|
export * from './errors.js';
|
|
15
17
|
export * from './built/config.js';
|
|
16
18
|
export * from './built/command.js';
|
|
17
|
-
export * from './built/
|
|
19
|
+
export * from './built/schedule.js';
|
|
20
|
+
export type { ScheduleDescriptor, ScheduleHandle, ScheduleContextExtensions } from './built/schedule.js';
|
|
18
21
|
export * from './models/system-log.js';
|
|
19
22
|
export * from './models/user.js';
|
|
20
23
|
export * from './built/permission.js';
|
|
@@ -34,16 +37,22 @@ export * from './built/common-adapter-tools.js';
|
|
|
34
37
|
export * from './built/roles.js';
|
|
35
38
|
export * from './im-session-id.js';
|
|
36
39
|
export * from './built/ai-trigger.js';
|
|
40
|
+
export * from './built/ai-access.js';
|
|
37
41
|
export * from './built/dispatcher.js';
|
|
38
42
|
export * from './built/schema-feature.js';
|
|
39
43
|
export * from './built/login-assist.js';
|
|
40
44
|
export * from './built/generated-qrcode.js';
|
|
41
45
|
export * from './built/qrcode-segment.js';
|
|
42
46
|
export * from './built/rich-segments/index.js';
|
|
43
|
-
export
|
|
44
|
-
export
|
|
47
|
+
export * from './built/interactive-segments/index.js';
|
|
48
|
+
export * from './built/ai-outbound/index.js';
|
|
49
|
+
export { loadHtmlRenderer, seedHtmlRenderer, HTML_RENDERER_PACKAGE } from './built/html-renderer-loader.js';
|
|
50
|
+
export { loadSpeechPipeline, seedSpeechPipeline, SPEECH_PACKAGE } from './built/speech-loader.js';
|
|
45
51
|
export * from './built/outbound-media-utils.js';
|
|
46
52
|
export * from './built/outbound-media-contract.js';
|
|
53
|
+
export * from './built/interactive-segment-contract.js';
|
|
54
|
+
export * from './built/segment-contract/index.js';
|
|
55
|
+
export * from './built/generic-segment-mapper.js';
|
|
47
56
|
export * from './built/adapter-process.js';
|
|
48
57
|
export * from './built/component.js';
|
|
49
58
|
export * from './built/inbound-runner.js';
|
|
@@ -61,13 +70,11 @@ export * from './built/introspection-format.js';
|
|
|
61
70
|
export * from './built/management-command-guard.js';
|
|
62
71
|
export * from './built/html-to-text.js';
|
|
63
72
|
export * from './built/html-segment-fallback.js';
|
|
64
|
-
export * from './built/mcp-mesh-registrar.js';
|
|
65
73
|
export * from './built/prepend-quote-context.js';
|
|
66
74
|
export * from './message-quote.js';
|
|
67
75
|
export * from '@zhin.js/database';
|
|
68
76
|
export * from '@zhin.js/logger';
|
|
69
77
|
export { Schema } from '@zhin.js/schema';
|
|
70
78
|
export type { PluginLike } from '@zhin.js/kernel';
|
|
71
|
-
export { Feature,
|
|
72
|
-
export type { FeatureJSON, FeatureListener, Schedule, JobPayload, JobState, ScheduledJob, JobStore, JobCallback, AddJobOptions, IScheduler, SchedulerOptions, } from '@zhin.js/kernel';
|
|
73
|
-
//# sourceMappingURL=index.d.ts.map
|
|
79
|
+
export { Feature, ScheduleEngine, getScheduleEngine, setScheduleEngine, Scheduler, getScheduler, setScheduler, } from '@zhin.js/kernel';
|
|
80
|
+
export type { FeatureJSON, FeatureListener, Schedule, JobPayload, JobState, ScheduledJob, JobStore, JobCallback, AddJobOptions, IScheduler, SchedulerOptions, ScheduleFireCallback, MemoryScheduleRegistration, ScheduleEngineOptions, JobContext, ResolvedJob, ScheduleKind, } from '@zhin.js/kernel';
|
package/lib/index.js
CHANGED
|
@@ -6,8 +6,10 @@ export * from './command.js';
|
|
|
6
6
|
export * from './component.js';
|
|
7
7
|
export * from './adapter.js';
|
|
8
8
|
export * from './message.js';
|
|
9
|
+
export * from './im-scene.js';
|
|
9
10
|
export * from './notice.js';
|
|
10
11
|
export * from './request.js';
|
|
12
|
+
export * from './side-event/index.js';
|
|
11
13
|
export * from './prompt.js';
|
|
12
14
|
export * from './types.js';
|
|
13
15
|
export * from './agent-prompt.js';
|
|
@@ -16,7 +18,7 @@ export * from './errors.js';
|
|
|
16
18
|
// ── Built 模块 ──────────────────────────────────────────────────────
|
|
17
19
|
export * from './built/config.js';
|
|
18
20
|
export * from './built/command.js';
|
|
19
|
-
export * from './built/
|
|
21
|
+
export * from './built/schedule.js';
|
|
20
22
|
// Models
|
|
21
23
|
export * from './models/system-log.js';
|
|
22
24
|
export * from './models/user.js';
|
|
@@ -36,16 +38,22 @@ export * from './built/common-adapter-tools.js';
|
|
|
36
38
|
export * from './built/roles.js';
|
|
37
39
|
export * from './im-session-id.js';
|
|
38
40
|
export * from './built/ai-trigger.js';
|
|
41
|
+
export * from './built/ai-access.js';
|
|
39
42
|
export * from './built/dispatcher.js';
|
|
40
43
|
export * from './built/schema-feature.js';
|
|
41
44
|
export * from './built/login-assist.js';
|
|
42
45
|
export * from './built/generated-qrcode.js';
|
|
43
46
|
export * from './built/qrcode-segment.js';
|
|
44
47
|
export * from './built/rich-segments/index.js';
|
|
45
|
-
export
|
|
46
|
-
export
|
|
48
|
+
export * from './built/interactive-segments/index.js';
|
|
49
|
+
export * from './built/ai-outbound/index.js';
|
|
50
|
+
export { loadHtmlRenderer, seedHtmlRenderer, HTML_RENDERER_PACKAGE } from './built/html-renderer-loader.js';
|
|
51
|
+
export { loadSpeechPipeline, seedSpeechPipeline, SPEECH_PACKAGE } from './built/speech-loader.js';
|
|
47
52
|
export * from './built/outbound-media-utils.js';
|
|
48
53
|
export * from './built/outbound-media-contract.js';
|
|
54
|
+
export * from './built/interactive-segment-contract.js';
|
|
55
|
+
export * from './built/segment-contract/index.js';
|
|
56
|
+
export * from './built/generic-segment-mapper.js';
|
|
49
57
|
export * from './built/adapter-process.js';
|
|
50
58
|
export * from './built/component.js';
|
|
51
59
|
export * from './built/inbound-runner.js';
|
|
@@ -59,12 +67,10 @@ export * from './built/introspection-format.js';
|
|
|
59
67
|
export * from './built/management-command-guard.js';
|
|
60
68
|
export * from './built/html-to-text.js';
|
|
61
69
|
export * from './built/html-segment-fallback.js';
|
|
62
|
-
export * from './built/mcp-mesh-registrar.js';
|
|
63
70
|
export * from './built/prepend-quote-context.js';
|
|
64
71
|
export * from './message-quote.js';
|
|
65
72
|
// ── 外部库 re-export ──────────────────────────────────────────────────
|
|
66
73
|
export * from '@zhin.js/database';
|
|
67
74
|
export * from '@zhin.js/logger';
|
|
68
75
|
export { Schema } from '@zhin.js/schema';
|
|
69
|
-
export { Feature,
|
|
70
|
-
//# sourceMappingURL=index.js.map
|
|
76
|
+
export { Feature, ScheduleEngine, getScheduleEngine, setScheduleEngine, Scheduler, getScheduler, setScheduler, } from '@zhin.js/kernel';
|
package/lib/jsx-dev-runtime.d.ts
CHANGED
package/lib/jsx-dev-runtime.js
CHANGED
package/lib/jsx-runtime.d.ts
CHANGED
package/lib/jsx-runtime.js
CHANGED
package/lib/jsx.d.ts
CHANGED
|
@@ -30,4 +30,3 @@ declare global {
|
|
|
30
30
|
export declare function jsx(type: JSXElementType, data: JSXProps): MessageComponent<any>;
|
|
31
31
|
export declare function jsxs(type: JSXElementType, props: JSXProps): MessageElement;
|
|
32
32
|
export declare function renderJSX(element: MessageComponent<any>, context?: ComponentContext): Promise<SendContent>;
|
|
33
|
-
//# sourceMappingURL=jsx.d.ts.map
|
package/lib/jsx.js
CHANGED
package/lib/message-quote.d.ts
CHANGED
|
@@ -6,6 +6,5 @@ export declare function quoteIdFromContent(content: MessageElement[]): string |
|
|
|
6
6
|
export declare function quoteIdFromRaw(raw: unknown): string | undefined;
|
|
7
7
|
/** 无 $quote_id 时从 $content / $raw 回填 */
|
|
8
8
|
export declare function syncQuoteId(message: Message<any>): void;
|
|
9
|
-
/** 将 reply
|
|
9
|
+
/** 将 reply 段与 $quote_id 对齐(canonical 仅保留 message_id) */
|
|
10
10
|
export declare function alignReplySegments(content: MessageElement[], quoteId?: string): void;
|
|
11
|
-
//# sourceMappingURL=message-quote.d.ts.map
|
package/lib/message-quote.js
CHANGED
|
@@ -75,7 +75,7 @@ export function syncQuoteId(message) {
|
|
|
75
75
|
if (id)
|
|
76
76
|
message.$quote_id = id;
|
|
77
77
|
}
|
|
78
|
-
/** 将 reply
|
|
78
|
+
/** 将 reply 段与 $quote_id 对齐(canonical 仅保留 message_id) */
|
|
79
79
|
export function alignReplySegments(content, quoteId) {
|
|
80
80
|
const id = quoteId ?? quoteIdFromContent(content);
|
|
81
81
|
if (!id)
|
|
@@ -84,8 +84,7 @@ export function alignReplySegments(content, quoteId) {
|
|
|
84
84
|
if (seg.type !== 'reply' || !seg.data || typeof seg.data !== 'object')
|
|
85
85
|
continue;
|
|
86
86
|
const data = seg.data;
|
|
87
|
-
data.id = id;
|
|
88
87
|
data.message_id = id;
|
|
88
|
+
delete data.id;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
//# sourceMappingURL=message-quote.js.map
|
package/lib/message.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MessageElement, MessageSender, SendContent } from "./types";
|
|
1
|
+
import { MessageElement, MessageSender, SendContent } from "./types.js";
|
|
2
2
|
import { Component } from "./component.js";
|
|
3
3
|
import { Adapters } from "./adapter.js";
|
|
4
4
|
/**
|
|
@@ -17,11 +17,12 @@ export interface MessageChannel {
|
|
|
17
17
|
id: string;
|
|
18
18
|
type: MessageType;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
* 私聊/子频道消息的来源场景:
|
|
21
|
+
* - 群临时会话:type=private + parent.group
|
|
22
|
+
* - QQ 子频道:type=channel + parent.guild
|
|
22
23
|
*/
|
|
23
24
|
parent?: {
|
|
24
|
-
type: 'group' | 'channel';
|
|
25
|
+
type: 'group' | 'channel' | 'guild';
|
|
25
26
|
id: string;
|
|
26
27
|
};
|
|
27
28
|
}
|
|
@@ -58,5 +59,6 @@ export declare namespace Message {
|
|
|
58
59
|
function quoteIdFromContent(content: MessageElement[]): string | undefined;
|
|
59
60
|
function syncQuoteId(message: Message<any>): void;
|
|
60
61
|
function alignReplySegments(content: MessageElement[], quoteId?: string): void;
|
|
62
|
+
function actionPayload(message: Message<any>): string | undefined;
|
|
63
|
+
function isAction(message: Message<any>): boolean;
|
|
61
64
|
}
|
|
62
|
-
//# sourceMappingURL=message.d.ts.map
|