koishi-plugin-media-luna 0.0.1
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/client/README.md +558 -0
- package/client/api.ts +256 -0
- package/client/components/ChannelConfigDialog.vue +1113 -0
- package/client/components/ChannelsView.vue +698 -0
- package/client/components/ConfigRenderer.vue +164 -0
- package/client/components/EmptyState.vue +87 -0
- package/client/components/GenerateView.vue +778 -0
- package/client/components/HistoryGallery.vue +590 -0
- package/client/components/ImageLightbox.vue +510 -0
- package/client/components/ImageUpload.vue +298 -0
- package/client/components/JsonEditor.vue +68 -0
- package/client/components/LoadingState.vue +73 -0
- package/client/components/PresetsView.vue +800 -0
- package/client/components/ScrollContainer.vue +45 -0
- package/client/components/SettingsView.vue +231 -0
- package/client/components/StatusBadge.vue +55 -0
- package/client/components/TagFilter.vue +139 -0
- package/client/components/TagInput.vue +63 -0
- package/client/components/TasksView.vue +1074 -0
- package/client/components/ViewModeSwitch.vue +78 -0
- package/client/components/settings/CachePanel.vue +142 -0
- package/client/components/settings/MiddlewaresPanel.vue +480 -0
- package/client/components/settings/PluginsPanel.vue +493 -0
- package/client/index.ts +13 -0
- package/client/pages/index.vue +177 -0
- package/client/styles/shared.css +258 -0
- package/client/types.ts +158 -0
- package/client/utils/format.ts +72 -0
- package/dist/index.js +1 -0
- package/dist/style.css +1 -0
- package/lib/api/README.md +643 -0
- package/lib/api/cache-api.d.ts +6 -0
- package/lib/api/cache-api.d.ts.map +1 -0
- package/lib/api/cache-api.js +147 -0
- package/lib/api/cache-api.js.map +1 -0
- package/lib/api/channel-api.d.ts +6 -0
- package/lib/api/channel-api.d.ts.map +1 -0
- package/lib/api/channel-api.js +148 -0
- package/lib/api/channel-api.js.map +1 -0
- package/lib/api/connector-api.d.ts +6 -0
- package/lib/api/connector-api.d.ts.map +1 -0
- package/lib/api/connector-api.js +63 -0
- package/lib/api/connector-api.js.map +1 -0
- package/lib/api/generate-api.d.ts +6 -0
- package/lib/api/generate-api.d.ts.map +1 -0
- package/lib/api/generate-api.js +123 -0
- package/lib/api/generate-api.js.map +1 -0
- package/lib/api/index.d.ts +15 -0
- package/lib/api/index.d.ts.map +1 -0
- package/lib/api/index.js +34 -0
- package/lib/api/index.js.map +1 -0
- package/lib/api/middleware-api.d.ts +6 -0
- package/lib/api/middleware-api.d.ts.map +1 -0
- package/lib/api/middleware-api.js +212 -0
- package/lib/api/middleware-api.js.map +1 -0
- package/lib/api/plugin-api.d.ts +6 -0
- package/lib/api/plugin-api.d.ts.map +1 -0
- package/lib/api/plugin-api.js +78 -0
- package/lib/api/plugin-api.js.map +1 -0
- package/lib/api/preset-api.d.ts +6 -0
- package/lib/api/preset-api.d.ts.map +1 -0
- package/lib/api/preset-api.js +256 -0
- package/lib/api/preset-api.js.map +1 -0
- package/lib/api/settings-api.d.ts +6 -0
- package/lib/api/settings-api.d.ts.map +1 -0
- package/lib/api/settings-api.js +118 -0
- package/lib/api/settings-api.js.map +1 -0
- package/lib/api/task-api.d.ts +6 -0
- package/lib/api/task-api.d.ts.map +1 -0
- package/lib/api/task-api.js +148 -0
- package/lib/api/task-api.js.map +1 -0
- package/lib/config.d.ts +6 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +8 -0
- package/lib/config.js.map +1 -0
- package/lib/connectors/builtin/chat-api.d.ts +9 -0
- package/lib/connectors/builtin/chat-api.d.ts.map +1 -0
- package/lib/connectors/builtin/chat-api.js +351 -0
- package/lib/connectors/builtin/chat-api.js.map +1 -0
- package/lib/connectors/builtin/dalle.d.ts +6 -0
- package/lib/connectors/builtin/dalle.d.ts.map +1 -0
- package/lib/connectors/builtin/dalle.js +109 -0
- package/lib/connectors/builtin/dalle.js.map +1 -0
- package/lib/connectors/builtin/flux.d.ts +7 -0
- package/lib/connectors/builtin/flux.d.ts.map +1 -0
- package/lib/connectors/builtin/flux.js +199 -0
- package/lib/connectors/builtin/flux.js.map +1 -0
- package/lib/connectors/builtin/index.d.ts +5 -0
- package/lib/connectors/builtin/index.d.ts.map +1 -0
- package/lib/connectors/builtin/index.js +6 -0
- package/lib/connectors/builtin/index.js.map +1 -0
- package/lib/connectors/builtin/sd-webui.d.ts +7 -0
- package/lib/connectors/builtin/sd-webui.d.ts.map +1 -0
- package/lib/connectors/builtin/sd-webui.js +157 -0
- package/lib/connectors/builtin/sd-webui.js.map +1 -0
- package/lib/connectors/connector-registry.d.ts +36 -0
- package/lib/connectors/connector-registry.d.ts.map +1 -0
- package/lib/connectors/connector-registry.js +66 -0
- package/lib/connectors/connector-registry.js.map +1 -0
- package/lib/connectors/index.d.ts +3 -0
- package/lib/connectors/index.d.ts.map +1 -0
- package/lib/connectors/index.js +4 -0
- package/lib/connectors/index.js.map +1 -0
- package/lib/core/api/api-utils.d.ts +46 -0
- package/lib/core/api/api-utils.d.ts.map +1 -0
- package/lib/core/api/api-utils.js +78 -0
- package/lib/core/api/api-utils.js.map +1 -0
- package/lib/core/api/cache-api.d.ts +6 -0
- package/lib/core/api/cache-api.d.ts.map +1 -0
- package/lib/core/api/cache-api.js +147 -0
- package/lib/core/api/cache-api.js.map +1 -0
- package/lib/core/api/channel-api.d.ts +6 -0
- package/lib/core/api/channel-api.d.ts.map +1 -0
- package/lib/core/api/channel-api.js +146 -0
- package/lib/core/api/channel-api.js.map +1 -0
- package/lib/core/api/connector-api.d.ts +6 -0
- package/lib/core/api/connector-api.d.ts.map +1 -0
- package/lib/core/api/connector-api.js +63 -0
- package/lib/core/api/connector-api.js.map +1 -0
- package/lib/core/api/generate-api.d.ts +6 -0
- package/lib/core/api/generate-api.d.ts.map +1 -0
- package/lib/core/api/generate-api.js +124 -0
- package/lib/core/api/generate-api.js.map +1 -0
- package/lib/core/api/index.d.ts +16 -0
- package/lib/core/api/index.d.ts.map +1 -0
- package/lib/core/api/index.js +38 -0
- package/lib/core/api/index.js.map +1 -0
- package/lib/core/api/middleware-api.d.ts +6 -0
- package/lib/core/api/middleware-api.d.ts.map +1 -0
- package/lib/core/api/middleware-api.js +196 -0
- package/lib/core/api/middleware-api.js.map +1 -0
- package/lib/core/api/plugin-api.d.ts +6 -0
- package/lib/core/api/plugin-api.d.ts.map +1 -0
- package/lib/core/api/plugin-api.js +78 -0
- package/lib/core/api/plugin-api.js.map +1 -0
- package/lib/core/api/preset-api.d.ts +6 -0
- package/lib/core/api/preset-api.d.ts.map +1 -0
- package/lib/core/api/preset-api.js +272 -0
- package/lib/core/api/preset-api.js.map +1 -0
- package/lib/core/api/settings-api.d.ts +6 -0
- package/lib/core/api/settings-api.d.ts.map +1 -0
- package/lib/core/api/settings-api.js +118 -0
- package/lib/core/api/settings-api.js.map +1 -0
- package/lib/core/api/task-api.d.ts +6 -0
- package/lib/core/api/task-api.d.ts.map +1 -0
- package/lib/core/api/task-api.js +281 -0
- package/lib/core/api/task-api.js.map +1 -0
- package/lib/core/channel.service.d.ts +44 -0
- package/lib/core/channel.service.d.ts.map +1 -0
- package/lib/core/channel.service.js +146 -0
- package/lib/core/channel.service.js.map +1 -0
- package/lib/core/config/config.service.d.ts +89 -0
- package/lib/core/config/config.service.d.ts.map +1 -0
- package/lib/core/config/config.service.js +216 -0
- package/lib/core/config/config.service.js.map +1 -0
- package/lib/core/config/index.d.ts +3 -0
- package/lib/core/config/index.d.ts.map +1 -0
- package/lib/core/config/index.js +3 -0
- package/lib/core/config/index.js.map +1 -0
- package/lib/core/error.d.ts +73 -0
- package/lib/core/error.d.ts.map +1 -0
- package/lib/core/error.js +137 -0
- package/lib/core/error.js.map +1 -0
- package/lib/core/index.d.ts +12 -0
- package/lib/core/index.d.ts.map +1 -0
- package/lib/core/index.js +23 -0
- package/lib/core/index.js.map +1 -0
- package/lib/core/logger.d.ts +18 -0
- package/lib/core/logger.d.ts.map +1 -0
- package/lib/core/logger.js +39 -0
- package/lib/core/logger.js.map +1 -0
- package/lib/core/medialuna.service.d.ts +168 -0
- package/lib/core/medialuna.service.d.ts.map +1 -0
- package/lib/core/medialuna.service.js +423 -0
- package/lib/core/medialuna.service.js.map +1 -0
- package/lib/core/pipeline/dependency-graph.d.ts +43 -0
- package/lib/core/pipeline/dependency-graph.d.ts.map +1 -0
- package/lib/core/pipeline/dependency-graph.js +223 -0
- package/lib/core/pipeline/dependency-graph.js.map +1 -0
- package/lib/core/pipeline/generation-pipeline.d.ts +40 -0
- package/lib/core/pipeline/generation-pipeline.d.ts.map +1 -0
- package/lib/core/pipeline/generation-pipeline.js +216 -0
- package/lib/core/pipeline/generation-pipeline.js.map +1 -0
- package/lib/core/pipeline/index.d.ts +4 -0
- package/lib/core/pipeline/index.d.ts.map +1 -0
- package/lib/core/pipeline/index.js +5 -0
- package/lib/core/pipeline/index.js.map +1 -0
- package/lib/core/pipeline/middleware-registry.d.ts +33 -0
- package/lib/core/pipeline/middleware-registry.d.ts.map +1 -0
- package/lib/core/pipeline/middleware-registry.js +78 -0
- package/lib/core/pipeline/middleware-registry.js.map +1 -0
- package/lib/core/plugin-loader.d.ts +77 -0
- package/lib/core/plugin-loader.d.ts.map +1 -0
- package/lib/core/plugin-loader.js +300 -0
- package/lib/core/plugin-loader.js.map +1 -0
- package/lib/core/registry/connector.registry.d.ts +36 -0
- package/lib/core/registry/connector.registry.d.ts.map +1 -0
- package/lib/core/registry/connector.registry.js +65 -0
- package/lib/core/registry/connector.registry.js.map +1 -0
- package/lib/core/registry/index.d.ts +3 -0
- package/lib/core/registry/index.d.ts.map +1 -0
- package/lib/core/registry/index.js +4 -0
- package/lib/core/registry/index.js.map +1 -0
- package/lib/core/registry/service.registry.d.ts +27 -0
- package/lib/core/registry/service.registry.d.ts.map +1 -0
- package/lib/core/registry/service.registry.js +54 -0
- package/lib/core/registry/service.registry.js.map +1 -0
- package/lib/core/request.service.d.ts +83 -0
- package/lib/core/request.service.d.ts.map +1 -0
- package/lib/core/request.service.js +237 -0
- package/lib/core/request.service.js.map +1 -0
- package/lib/core/types.d.ts +270 -0
- package/lib/core/types.d.ts.map +1 -0
- package/lib/core/types.js +17 -0
- package/lib/core/types.js.map +1 -0
- package/lib/database.d.ts +6 -0
- package/lib/database.d.ts.map +1 -0
- package/lib/database.js +89 -0
- package/lib/database.js.map +1 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +54 -0
- package/lib/index.js.map +1 -0
- package/lib/middlewares/builtin/billing.d.ts +45 -0
- package/lib/middlewares/builtin/billing.d.ts.map +1 -0
- package/lib/middlewares/builtin/billing.js +362 -0
- package/lib/middlewares/builtin/billing.js.map +1 -0
- package/lib/middlewares/builtin/index.d.ts +6 -0
- package/lib/middlewares/builtin/index.d.ts.map +1 -0
- package/lib/middlewares/builtin/index.js +7 -0
- package/lib/middlewares/builtin/index.js.map +1 -0
- package/lib/middlewares/builtin/preset.d.ts +14 -0
- package/lib/middlewares/builtin/preset.d.ts.map +1 -0
- package/lib/middlewares/builtin/preset.js +156 -0
- package/lib/middlewares/builtin/preset.js.map +1 -0
- package/lib/middlewares/builtin/remote-preset-sync.d.ts +8 -0
- package/lib/middlewares/builtin/remote-preset-sync.d.ts.map +1 -0
- package/lib/middlewares/builtin/remote-preset-sync.js +32 -0
- package/lib/middlewares/builtin/remote-preset-sync.js.map +1 -0
- package/lib/middlewares/builtin/request.d.ts +10 -0
- package/lib/middlewares/builtin/request.d.ts.map +1 -0
- package/lib/middlewares/builtin/request.js +50 -0
- package/lib/middlewares/builtin/request.js.map +1 -0
- package/lib/middlewares/builtin/storage.d.ts +64 -0
- package/lib/middlewares/builtin/storage.d.ts.map +1 -0
- package/lib/middlewares/builtin/storage.js +715 -0
- package/lib/middlewares/builtin/storage.js.map +1 -0
- package/lib/middlewares/builtin/task-recorder.d.ts +20 -0
- package/lib/middlewares/builtin/task-recorder.d.ts.map +1 -0
- package/lib/middlewares/builtin/task-recorder.js +138 -0
- package/lib/middlewares/builtin/task-recorder.js.map +1 -0
- package/lib/middlewares/index.d.ts +2 -0
- package/lib/middlewares/index.d.ts.map +1 -0
- package/lib/middlewares/index.js +3 -0
- package/lib/middlewares/index.js.map +1 -0
- package/lib/pipeline/dependency-graph.d.ts +43 -0
- package/lib/pipeline/dependency-graph.d.ts.map +1 -0
- package/lib/pipeline/dependency-graph.js +240 -0
- package/lib/pipeline/dependency-graph.js.map +1 -0
- package/lib/pipeline/generation-pipeline.d.ts +38 -0
- package/lib/pipeline/generation-pipeline.d.ts.map +1 -0
- package/lib/pipeline/generation-pipeline.js +211 -0
- package/lib/pipeline/generation-pipeline.js.map +1 -0
- package/lib/pipeline/index.d.ts +4 -0
- package/lib/pipeline/index.d.ts.map +1 -0
- package/lib/pipeline/index.js +5 -0
- package/lib/pipeline/index.js.map +1 -0
- package/lib/pipeline/middleware-registry.d.ts +36 -0
- package/lib/pipeline/middleware-registry.d.ts.map +1 -0
- package/lib/pipeline/middleware-registry.js +83 -0
- package/lib/pipeline/middleware-registry.js.map +1 -0
- package/lib/plugins/billing/config.d.ts +19 -0
- package/lib/plugins/billing/config.d.ts.map +1 -0
- package/lib/plugins/billing/config.js +98 -0
- package/lib/plugins/billing/config.js.map +1 -0
- package/lib/plugins/billing/index.d.ts +4 -0
- package/lib/plugins/billing/index.d.ts.map +1 -0
- package/lib/plugins/billing/index.js +20 -0
- package/lib/plugins/billing/index.js.map +1 -0
- package/lib/plugins/billing/middleware.d.ts +12 -0
- package/lib/plugins/billing/middleware.d.ts.map +1 -0
- package/lib/plugins/billing/middleware.js +233 -0
- package/lib/plugins/billing/middleware.js.map +1 -0
- package/lib/plugins/cache/config.d.ts +44 -0
- package/lib/plugins/cache/config.d.ts.map +1 -0
- package/lib/plugins/cache/config.js +187 -0
- package/lib/plugins/cache/config.js.map +1 -0
- package/lib/plugins/cache/index.d.ts +6 -0
- package/lib/plugins/cache/index.d.ts.map +1 -0
- package/lib/plugins/cache/index.js +87 -0
- package/lib/plugins/cache/index.js.map +1 -0
- package/lib/plugins/cache/middleware.d.ts +12 -0
- package/lib/plugins/cache/middleware.d.ts.map +1 -0
- package/lib/plugins/cache/middleware.js +194 -0
- package/lib/plugins/cache/middleware.js.map +1 -0
- package/lib/plugins/cache/service.d.ts +106 -0
- package/lib/plugins/cache/service.d.ts.map +1 -0
- package/lib/plugins/cache/service.js +467 -0
- package/lib/plugins/cache/service.js.map +1 -0
- package/lib/plugins/cache/utils/index.d.ts +4 -0
- package/lib/plugins/cache/utils/index.d.ts.map +1 -0
- package/lib/plugins/cache/utils/index.js +5 -0
- package/lib/plugins/cache/utils/index.js.map +1 -0
- package/lib/plugins/cache/utils/mime.d.ts +9 -0
- package/lib/plugins/cache/utils/mime.d.ts.map +1 -0
- package/lib/plugins/cache/utils/mime.js +65 -0
- package/lib/plugins/cache/utils/mime.js.map +1 -0
- package/lib/plugins/cache/utils/s3.d.ts +19 -0
- package/lib/plugins/cache/utils/s3.d.ts.map +1 -0
- package/lib/plugins/cache/utils/s3.js +147 -0
- package/lib/plugins/cache/utils/s3.js.map +1 -0
- package/lib/plugins/cache/utils/webdav.d.ts +16 -0
- package/lib/plugins/cache/utils/webdav.d.ts.map +1 -0
- package/lib/plugins/cache/utils/webdav.js +69 -0
- package/lib/plugins/cache/utils/webdav.js.map +1 -0
- package/lib/plugins/connector-chat-api/index.d.ts +7 -0
- package/lib/plugins/connector-chat-api/index.d.ts.map +1 -0
- package/lib/plugins/connector-chat-api/index.js +400 -0
- package/lib/plugins/connector-chat-api/index.js.map +1 -0
- package/lib/plugins/connector-dalle/index.d.ts +7 -0
- package/lib/plugins/connector-dalle/index.d.ts.map +1 -0
- package/lib/plugins/connector-dalle/index.js +140 -0
- package/lib/plugins/connector-dalle/index.js.map +1 -0
- package/lib/plugins/connector-flux/index.d.ts +7 -0
- package/lib/plugins/connector-flux/index.d.ts.map +1 -0
- package/lib/plugins/connector-flux/index.js +232 -0
- package/lib/plugins/connector-flux/index.js.map +1 -0
- package/lib/plugins/connector-sd-webui/index.d.ts +7 -0
- package/lib/plugins/connector-sd-webui/index.d.ts.map +1 -0
- package/lib/plugins/connector-sd-webui/index.js +171 -0
- package/lib/plugins/connector-sd-webui/index.js.map +1 -0
- package/lib/plugins/index.d.ts +22 -0
- package/lib/plugins/index.d.ts.map +1 -0
- package/lib/plugins/index.js +21 -0
- package/lib/plugins/index.js.map +1 -0
- package/lib/plugins/preset/config.d.ts +37 -0
- package/lib/plugins/preset/config.d.ts.map +1 -0
- package/lib/plugins/preset/config.js +74 -0
- package/lib/plugins/preset/config.js.map +1 -0
- package/lib/plugins/preset/index.d.ts +6 -0
- package/lib/plugins/preset/index.d.ts.map +1 -0
- package/lib/plugins/preset/index.js +58 -0
- package/lib/plugins/preset/index.js.map +1 -0
- package/lib/plugins/preset/middleware.d.ts +6 -0
- package/lib/plugins/preset/middleware.d.ts.map +1 -0
- package/lib/plugins/preset/middleware.js +126 -0
- package/lib/plugins/preset/middleware.js.map +1 -0
- package/lib/plugins/preset/remote-sync.service.d.ts +84 -0
- package/lib/plugins/preset/remote-sync.service.d.ts.map +1 -0
- package/lib/plugins/preset/remote-sync.service.js +342 -0
- package/lib/plugins/preset/remote-sync.service.js.map +1 -0
- package/lib/plugins/preset/service.d.ts +64 -0
- package/lib/plugins/preset/service.d.ts.map +1 -0
- package/lib/plugins/preset/service.js +196 -0
- package/lib/plugins/preset/service.js.map +1 -0
- package/lib/plugins/prompt-encoding/config.d.ts +25 -0
- package/lib/plugins/prompt-encoding/config.d.ts.map +1 -0
- package/lib/plugins/prompt-encoding/config.js +62 -0
- package/lib/plugins/prompt-encoding/config.js.map +1 -0
- package/lib/plugins/prompt-encoding/index.d.ts +5 -0
- package/lib/plugins/prompt-encoding/index.d.ts.map +1 -0
- package/lib/plugins/prompt-encoding/index.js +21 -0
- package/lib/plugins/prompt-encoding/index.js.map +1 -0
- package/lib/plugins/prompt-encoding/middleware.d.ts +6 -0
- package/lib/plugins/prompt-encoding/middleware.d.ts.map +1 -0
- package/lib/plugins/prompt-encoding/middleware.js +151 -0
- package/lib/plugins/prompt-encoding/middleware.js.map +1 -0
- package/lib/plugins/task/config.d.ts +15 -0
- package/lib/plugins/task/config.d.ts.map +1 -0
- package/lib/plugins/task/config.js +33 -0
- package/lib/plugins/task/config.js.map +1 -0
- package/lib/plugins/task/index.d.ts +5 -0
- package/lib/plugins/task/index.d.ts.map +1 -0
- package/lib/plugins/task/index.js +58 -0
- package/lib/plugins/task/index.js.map +1 -0
- package/lib/plugins/task/middleware.d.ts +14 -0
- package/lib/plugins/task/middleware.d.ts.map +1 -0
- package/lib/plugins/task/middleware.js +123 -0
- package/lib/plugins/task/middleware.js.map +1 -0
- package/lib/plugins/task/service.d.ts +94 -0
- package/lib/plugins/task/service.d.ts.map +1 -0
- package/lib/plugins/task/service.js +226 -0
- package/lib/plugins/task/service.js.map +1 -0
- package/lib/plugins/webui-auth/config.d.ts +12 -0
- package/lib/plugins/webui-auth/config.d.ts.map +1 -0
- package/lib/plugins/webui-auth/config.js +30 -0
- package/lib/plugins/webui-auth/config.js.map +1 -0
- package/lib/plugins/webui-auth/index.d.ts +5 -0
- package/lib/plugins/webui-auth/index.d.ts.map +1 -0
- package/lib/plugins/webui-auth/index.js +99 -0
- package/lib/plugins/webui-auth/index.js.map +1 -0
- package/lib/plugins/webui-auth/service.d.ts +42 -0
- package/lib/plugins/webui-auth/service.d.ts.map +1 -0
- package/lib/plugins/webui-auth/service.js +106 -0
- package/lib/plugins/webui-auth/service.js.map +1 -0
- package/lib/services/asset-cache.service.d.ts +133 -0
- package/lib/services/asset-cache.service.d.ts.map +1 -0
- package/lib/services/asset-cache.service.js +882 -0
- package/lib/services/asset-cache.service.js.map +1 -0
- package/lib/services/cache.service.d.ts +110 -0
- package/lib/services/cache.service.d.ts.map +1 -0
- package/lib/services/cache.service.js +333 -0
- package/lib/services/cache.service.js.map +1 -0
- package/lib/services/channel.service.d.ts +44 -0
- package/lib/services/channel.service.d.ts.map +1 -0
- package/lib/services/channel.service.js +154 -0
- package/lib/services/channel.service.js.map +1 -0
- package/lib/services/config.service.d.ts +73 -0
- package/lib/services/config.service.d.ts.map +1 -0
- package/lib/services/config.service.js +171 -0
- package/lib/services/config.service.js.map +1 -0
- package/lib/services/index.d.ts +8 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +9 -0
- package/lib/services/index.js.map +1 -0
- package/lib/services/medialuna.service.d.ts +173 -0
- package/lib/services/medialuna.service.d.ts.map +1 -0
- package/lib/services/medialuna.service.js +455 -0
- package/lib/services/medialuna.service.js.map +1 -0
- package/lib/services/preset.service.d.ts +69 -0
- package/lib/services/preset.service.d.ts.map +1 -0
- package/lib/services/preset.service.js +202 -0
- package/lib/services/preset.service.js.map +1 -0
- package/lib/services/remote-preset.service.d.ts +97 -0
- package/lib/services/remote-preset.service.d.ts.map +1 -0
- package/lib/services/remote-preset.service.js +212 -0
- package/lib/services/remote-preset.service.js.map +1 -0
- package/lib/services/task.service.d.ts +57 -0
- package/lib/services/task.service.d.ts.map +1 -0
- package/lib/services/task.service.js +138 -0
- package/lib/services/task.service.js.map +1 -0
- package/lib/types/index.d.ts +357 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +21 -0
- package/lib/types/index.js.map +1 -0
- package/package.json +66 -0
- package/readme.md +326 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Context } from 'koishi';
|
|
2
|
+
import type { ConnectorDefinition, FileData, OutputAsset, MiddlewareContext, MiddlewareRunStatus, ConnectorRequestLog, ConnectorResponseLog } from './types';
|
|
3
|
+
import { ConnectorRegistry } from './registry';
|
|
4
|
+
export interface RequestResult {
|
|
5
|
+
success: boolean;
|
|
6
|
+
output?: OutputAsset[];
|
|
7
|
+
error?: string;
|
|
8
|
+
errorCode?: number;
|
|
9
|
+
/** 请求日志(用于中间件记录) */
|
|
10
|
+
requestLog?: ConnectorRequestLog;
|
|
11
|
+
/** 响应日志(用于中间件记录) */
|
|
12
|
+
responseLog?: ConnectorResponseLog;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* RequestService - 连接器调用服务
|
|
16
|
+
*
|
|
17
|
+
* 封装连接器调用逻辑,提供:
|
|
18
|
+
* - 统一的错误处理
|
|
19
|
+
* - 超时控制
|
|
20
|
+
* - 重试支持
|
|
21
|
+
* - 请求/响应日志
|
|
22
|
+
*/
|
|
23
|
+
export declare class RequestService {
|
|
24
|
+
private _ctx;
|
|
25
|
+
private _logger;
|
|
26
|
+
private _connectorRegistry;
|
|
27
|
+
constructor(ctx: Context, connectorRegistry: ConnectorRegistry);
|
|
28
|
+
/**
|
|
29
|
+
* 执行连接器调用
|
|
30
|
+
*/
|
|
31
|
+
execute(connectorId: string, config: Record<string, any>, files: FileData[], prompt: string, options?: {
|
|
32
|
+
timeout?: number;
|
|
33
|
+
retries?: number;
|
|
34
|
+
}): Promise<RequestResult>;
|
|
35
|
+
/**
|
|
36
|
+
* 获取请求日志
|
|
37
|
+
*/
|
|
38
|
+
private _getRequestLog;
|
|
39
|
+
/**
|
|
40
|
+
* 获取响应日志
|
|
41
|
+
*/
|
|
42
|
+
private _getResponseLog;
|
|
43
|
+
/**
|
|
44
|
+
* 脱敏 URL(隐藏 API Key 等查询参数)
|
|
45
|
+
*/
|
|
46
|
+
private _maskUrl;
|
|
47
|
+
/**
|
|
48
|
+
* 提取安全参数(排除敏感字段)
|
|
49
|
+
*/
|
|
50
|
+
private _extractSafeParams;
|
|
51
|
+
/**
|
|
52
|
+
* 带超时的连接器调用
|
|
53
|
+
*/
|
|
54
|
+
private _executeWithTimeout;
|
|
55
|
+
/**
|
|
56
|
+
* 判断错误是否可重试
|
|
57
|
+
*/
|
|
58
|
+
private _isRetryable;
|
|
59
|
+
/**
|
|
60
|
+
* 获取连接器
|
|
61
|
+
*/
|
|
62
|
+
getConnector(id: string): ConnectorDefinition | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* 检查连接器是否存在
|
|
65
|
+
*/
|
|
66
|
+
hasConnector(id: string): boolean;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* 创建 request 中间件
|
|
70
|
+
*
|
|
71
|
+
* 这是一个核心中间件,负责在 lifecycle-request 阶段调用连接器
|
|
72
|
+
* 所有连接器插件都依赖此服务
|
|
73
|
+
*/
|
|
74
|
+
export declare function createRequestMiddleware(requestService: RequestService): {
|
|
75
|
+
name: string;
|
|
76
|
+
displayName: string;
|
|
77
|
+
description: string;
|
|
78
|
+
category: "request";
|
|
79
|
+
phase: "lifecycle-request";
|
|
80
|
+
configFields: never[];
|
|
81
|
+
execute(context: MiddlewareContext, next: () => Promise<MiddlewareRunStatus>): Promise<MiddlewareRunStatus>;
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=request.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.service.d.ts","sourceRoot":"","sources":["../../src/core/request.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,EAEV,mBAAmB,EACnB,QAAQ,EACR,WAAW,EAEX,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAIhB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC,oBAAoB;IACpB,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACnC;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,kBAAkB,CAAmB;gBAEjC,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB;IAM9D;;OAEG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,KAAK,EAAE,QAAQ,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,GACA,OAAO,CAAC,aAAa,CAAC;IA2HzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAYhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;YACW,mBAAmB;IAwBjC;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIzD;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAGlC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,cAAc;;;;;;;qBAS3C,iBAAiB,QAAQ,MAAM,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;EAoCpH"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
// RequestService - 连接器调用基础服务
|
|
2
|
+
// 提供连接器调用的统一接口
|
|
3
|
+
import { MiddlewareRunStatus as Status } from './types';
|
|
4
|
+
import { createPluginLogger } from './logger';
|
|
5
|
+
import { Errors, toMediaLunaError } from './error';
|
|
6
|
+
/**
|
|
7
|
+
* RequestService - 连接器调用服务
|
|
8
|
+
*
|
|
9
|
+
* 封装连接器调用逻辑,提供:
|
|
10
|
+
* - 统一的错误处理
|
|
11
|
+
* - 超时控制
|
|
12
|
+
* - 重试支持
|
|
13
|
+
* - 请求/响应日志
|
|
14
|
+
*/
|
|
15
|
+
export class RequestService {
|
|
16
|
+
_ctx;
|
|
17
|
+
_logger;
|
|
18
|
+
_connectorRegistry;
|
|
19
|
+
constructor(ctx, connectorRegistry) {
|
|
20
|
+
this._ctx = ctx;
|
|
21
|
+
this._logger = createPluginLogger(ctx.logger('media-luna'), 'request');
|
|
22
|
+
this._connectorRegistry = connectorRegistry;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 执行连接器调用
|
|
26
|
+
*/
|
|
27
|
+
async execute(connectorId, config, files, prompt, options) {
|
|
28
|
+
const connector = this._connectorRegistry.get(connectorId);
|
|
29
|
+
if (!connector) {
|
|
30
|
+
return Errors.connectorNotFound(connectorId).toResponse();
|
|
31
|
+
}
|
|
32
|
+
const { timeout = 120000, retries = 0 } = options || {};
|
|
33
|
+
// 获取请求日志
|
|
34
|
+
const requestLog = this._getRequestLog(connector, config, files, prompt);
|
|
35
|
+
// DEBUG: 输出完整请求信息
|
|
36
|
+
this._logger.debug('[%s] Request:\n%s', connectorId, JSON.stringify(requestLog, null, 2));
|
|
37
|
+
// INFO: 输出请求摘要
|
|
38
|
+
this._logger.info('[%s] Generating: model=%s, prompt=%d chars, files=%d', connectorId, requestLog.model || 'default', prompt.length, files.length);
|
|
39
|
+
let lastError = null;
|
|
40
|
+
for (let attempt = 0; attempt <= retries; attempt++) {
|
|
41
|
+
try {
|
|
42
|
+
if (attempt > 0) {
|
|
43
|
+
this._logger.info('[%s] Retry %d/%d', connectorId, attempt, retries);
|
|
44
|
+
}
|
|
45
|
+
const startTime = Date.now();
|
|
46
|
+
const output = await this._executeWithTimeout(connector, config, files, prompt, timeout);
|
|
47
|
+
const duration = Date.now() - startTime;
|
|
48
|
+
// 获取响应日志
|
|
49
|
+
const responseLog = this._getResponseLog(connector, output);
|
|
50
|
+
// DEBUG: 输出完整响应信息
|
|
51
|
+
this._logger.debug('[%s] Response (%dms):\n%s', connectorId, duration, JSON.stringify(responseLog, null, 2));
|
|
52
|
+
// INFO: 输出响应摘要
|
|
53
|
+
this._logger.info('[%s] Success: %d outputs in %dms', connectorId, output.length, duration);
|
|
54
|
+
return {
|
|
55
|
+
success: true,
|
|
56
|
+
output,
|
|
57
|
+
requestLog,
|
|
58
|
+
responseLog
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
lastError = toMediaLunaError(error);
|
|
63
|
+
this._logger.warn('[%s] Attempt %d failed: %s', connectorId, attempt + 1, lastError.message);
|
|
64
|
+
// DEBUG: 输出完整错误信息(包含堆栈和原始错误)
|
|
65
|
+
this._logger.debug('[%s] Error details:\n%s', connectorId, JSON.stringify({
|
|
66
|
+
code: lastError.code,
|
|
67
|
+
message: lastError.message,
|
|
68
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
69
|
+
cause: error instanceof Error ? error.cause : undefined,
|
|
70
|
+
raw: !(error instanceof Error) ? error : undefined
|
|
71
|
+
}, null, 2));
|
|
72
|
+
// 如果是不可重试的错误,立即返回
|
|
73
|
+
if (!this._isRetryable(lastError)) {
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
this._logger.error('[%s] Failed after %d attempts: %s', connectorId, retries + 1, lastError?.message || 'Unknown error');
|
|
79
|
+
return {
|
|
80
|
+
...lastError?.toResponse() ?? {
|
|
81
|
+
success: false,
|
|
82
|
+
error: '未知错误'
|
|
83
|
+
},
|
|
84
|
+
requestLog
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 获取请求日志
|
|
89
|
+
*/
|
|
90
|
+
_getRequestLog(connector, config, files, prompt) {
|
|
91
|
+
// 如果连接器提供了自定义日志方法,使用它
|
|
92
|
+
if (connector.getRequestLog) {
|
|
93
|
+
return connector.getRequestLog(config, files, prompt);
|
|
94
|
+
}
|
|
95
|
+
// 默认实现:提取常见字段
|
|
96
|
+
return {
|
|
97
|
+
endpoint: this._maskUrl(config.apiUrl),
|
|
98
|
+
model: config.model,
|
|
99
|
+
prompt,
|
|
100
|
+
fileCount: files.length,
|
|
101
|
+
parameters: this._extractSafeParams(config)
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 获取响应日志
|
|
106
|
+
*/
|
|
107
|
+
_getResponseLog(connector, output) {
|
|
108
|
+
// 如果连接器提供了自定义日志方法,使用它
|
|
109
|
+
if (connector.getResponseLog) {
|
|
110
|
+
return connector.getResponseLog(output);
|
|
111
|
+
}
|
|
112
|
+
// 默认实现
|
|
113
|
+
return {
|
|
114
|
+
outputCount: output.length,
|
|
115
|
+
outputTypes: output.map(o => o.kind),
|
|
116
|
+
meta: output.length > 0 ? output[0].meta : undefined
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* 脱敏 URL(隐藏 API Key 等查询参数)
|
|
121
|
+
*/
|
|
122
|
+
_maskUrl(url) {
|
|
123
|
+
if (!url)
|
|
124
|
+
return undefined;
|
|
125
|
+
try {
|
|
126
|
+
const parsed = new URL(url);
|
|
127
|
+
// 清除可能包含敏感信息的查询参数
|
|
128
|
+
parsed.search = '';
|
|
129
|
+
return parsed.toString();
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
return url.split('?')[0];
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* 提取安全参数(排除敏感字段)
|
|
137
|
+
*/
|
|
138
|
+
_extractSafeParams(config) {
|
|
139
|
+
const sensitiveKeys = ['apiKey', 'api_key', 'token', 'secret', 'password', 'authorization'];
|
|
140
|
+
const result = {};
|
|
141
|
+
for (const [key, value] of Object.entries(config)) {
|
|
142
|
+
if (sensitiveKeys.some(k => key.toLowerCase().includes(k.toLowerCase()))) {
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
// 排除 URL(已单独处理)
|
|
146
|
+
if (key === 'apiUrl' || key === 'api_url') {
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
result[key] = value;
|
|
150
|
+
}
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* 带超时的连接器调用
|
|
155
|
+
*/
|
|
156
|
+
async _executeWithTimeout(connector, config, files, prompt, timeout) {
|
|
157
|
+
return new Promise((resolve, reject) => {
|
|
158
|
+
const timer = setTimeout(() => {
|
|
159
|
+
reject(Errors.timeout(`connector:${connector.id}`, timeout));
|
|
160
|
+
}, timeout);
|
|
161
|
+
connector.generate(this._ctx, config, files, prompt)
|
|
162
|
+
.then(result => {
|
|
163
|
+
clearTimeout(timer);
|
|
164
|
+
resolve(result);
|
|
165
|
+
})
|
|
166
|
+
.catch(error => {
|
|
167
|
+
clearTimeout(timer);
|
|
168
|
+
reject(error);
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* 判断错误是否可重试
|
|
174
|
+
*/
|
|
175
|
+
_isRetryable(error) {
|
|
176
|
+
// 网络错误和超时可重试
|
|
177
|
+
const retryableCodes = [
|
|
178
|
+
5002, // NETWORK_ERROR
|
|
179
|
+
5003, // RATE_LIMITED
|
|
180
|
+
5004, // TIMEOUT
|
|
181
|
+
];
|
|
182
|
+
return retryableCodes.includes(error.code);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* 获取连接器
|
|
186
|
+
*/
|
|
187
|
+
getConnector(id) {
|
|
188
|
+
return this._connectorRegistry.get(id);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* 检查连接器是否存在
|
|
192
|
+
*/
|
|
193
|
+
hasConnector(id) {
|
|
194
|
+
return this._connectorRegistry.has(id);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* 创建 request 中间件
|
|
199
|
+
*
|
|
200
|
+
* 这是一个核心中间件,负责在 lifecycle-request 阶段调用连接器
|
|
201
|
+
* 所有连接器插件都依赖此服务
|
|
202
|
+
*/
|
|
203
|
+
export function createRequestMiddleware(requestService) {
|
|
204
|
+
return {
|
|
205
|
+
name: 'request',
|
|
206
|
+
displayName: '请求执行',
|
|
207
|
+
description: '调用连接器执行生成请求',
|
|
208
|
+
category: 'request',
|
|
209
|
+
phase: 'lifecycle-request',
|
|
210
|
+
configFields: [],
|
|
211
|
+
async execute(context, next) {
|
|
212
|
+
const { channel, prompt, files } = context;
|
|
213
|
+
if (!channel) {
|
|
214
|
+
context.setMiddlewareLog('request', { error: 'No channel configuration found' });
|
|
215
|
+
return Status.STOP;
|
|
216
|
+
}
|
|
217
|
+
const result = await requestService.execute(channel.connectorId, channel.connectorConfig, files, prompt);
|
|
218
|
+
if (!result.success) {
|
|
219
|
+
context.setMiddlewareLog('request', {
|
|
220
|
+
error: result.error,
|
|
221
|
+
errorCode: result.errorCode,
|
|
222
|
+
request: result.requestLog
|
|
223
|
+
});
|
|
224
|
+
return Status.STOP;
|
|
225
|
+
}
|
|
226
|
+
context.output = result.output || null;
|
|
227
|
+
// 记录完整的请求/响应日志
|
|
228
|
+
context.setMiddlewareLog('request', {
|
|
229
|
+
connector: channel.connectorId,
|
|
230
|
+
request: result.requestLog,
|
|
231
|
+
response: result.responseLog
|
|
232
|
+
});
|
|
233
|
+
return next();
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=request.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.service.js","sourceRoot":"","sources":["../../src/core/request.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { Context, Schema } from 'koishi';
|
|
2
|
+
/** 文件数据 */
|
|
3
|
+
export interface FileData {
|
|
4
|
+
data: ArrayBuffer;
|
|
5
|
+
mime: string;
|
|
6
|
+
filename: string;
|
|
7
|
+
}
|
|
8
|
+
/** 资产类型 */
|
|
9
|
+
export type AssetKind = 'image' | 'video' | 'audio' | 'file' | 'text';
|
|
10
|
+
/** 资产元数据 */
|
|
11
|
+
export interface AssetMeta {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}
|
|
14
|
+
/** 输出资产 */
|
|
15
|
+
export interface OutputAsset {
|
|
16
|
+
kind: AssetKind;
|
|
17
|
+
url?: string;
|
|
18
|
+
content?: string;
|
|
19
|
+
mime?: string;
|
|
20
|
+
meta?: AssetMeta;
|
|
21
|
+
}
|
|
22
|
+
export declare const LIFECYCLE_PHASES: readonly ["lifecycle-prepare", "lifecycle-pre-request", "lifecycle-request", "lifecycle-post-request", "lifecycle-finalize"];
|
|
23
|
+
export type LifecyclePhase = typeof LIFECYCLE_PHASES[number];
|
|
24
|
+
/** 配置字段类型 */
|
|
25
|
+
export type ConfigFieldType = 'text' | 'password' | 'number' | 'boolean' | 'select' | 'select-remote' | 'textarea';
|
|
26
|
+
/** 配置字段选项 */
|
|
27
|
+
export interface ConfigFieldOption {
|
|
28
|
+
label: string;
|
|
29
|
+
value: string | number | boolean;
|
|
30
|
+
}
|
|
31
|
+
/** 配置字段定义 */
|
|
32
|
+
export interface ConfigField {
|
|
33
|
+
key: string;
|
|
34
|
+
label: string;
|
|
35
|
+
type: ConfigFieldType;
|
|
36
|
+
required?: boolean;
|
|
37
|
+
options?: ConfigFieldOption[];
|
|
38
|
+
optionsSource?: string;
|
|
39
|
+
placeholder?: string;
|
|
40
|
+
default?: any;
|
|
41
|
+
description?: string;
|
|
42
|
+
showWhen?: {
|
|
43
|
+
field: string;
|
|
44
|
+
value: any;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/** 卡片展示字段 */
|
|
48
|
+
export interface CardField {
|
|
49
|
+
source: 'channel' | 'connectorConfig' | 'pluginOverride' | 'pluginConfig';
|
|
50
|
+
key: string;
|
|
51
|
+
label: string;
|
|
52
|
+
format?: 'text' | 'password-mask' | 'number' | 'size' | 'boolean' | 'currency';
|
|
53
|
+
suffix?: string;
|
|
54
|
+
configGroup?: string;
|
|
55
|
+
pluginId?: string;
|
|
56
|
+
}
|
|
57
|
+
/** 中间件类别 */
|
|
58
|
+
export type MiddlewareCategory = 'billing' | 'transform' | 'validation' | 'preset' | 'cache' | 'recording' | 'request' | 'custom';
|
|
59
|
+
/** 中间件执行状态 */
|
|
60
|
+
export declare enum MiddlewareRunStatus {
|
|
61
|
+
SKIPPED = 0,
|
|
62
|
+
STOP = 1,
|
|
63
|
+
CONTINUE = 2
|
|
64
|
+
}
|
|
65
|
+
/** 渠道配置(简化版,用于中间件上下文) */
|
|
66
|
+
export interface ChannelConfig {
|
|
67
|
+
id: number;
|
|
68
|
+
name: string;
|
|
69
|
+
enabled: boolean;
|
|
70
|
+
connectorId: string;
|
|
71
|
+
connectorConfig: Record<string, any>;
|
|
72
|
+
pluginOverrides: Record<string, any>;
|
|
73
|
+
tags: string[];
|
|
74
|
+
}
|
|
75
|
+
/** 中间件上下文 */
|
|
76
|
+
export interface MiddlewareContext {
|
|
77
|
+
ctx: Context;
|
|
78
|
+
session: import('koishi').Session | null;
|
|
79
|
+
prompt: string;
|
|
80
|
+
files: FileData[];
|
|
81
|
+
parameters: Record<string, any>;
|
|
82
|
+
channelId: number;
|
|
83
|
+
channel: ChannelConfig | null;
|
|
84
|
+
output: OutputAsset[] | null;
|
|
85
|
+
/** 用户 ID(Koishi user.id) */
|
|
86
|
+
uid: number | null;
|
|
87
|
+
store: Map<string, any>;
|
|
88
|
+
taskId?: number;
|
|
89
|
+
getMiddlewareConfig<T>(name: string): T | null | Promise<T | null>;
|
|
90
|
+
setMiddlewareLog(name: string, data: any): void;
|
|
91
|
+
getMiddlewareLogs(): Record<string, any>;
|
|
92
|
+
/** 获取插件服务(推荐使用此方法而非直接访问 ctx.mediaLuna) */
|
|
93
|
+
getService<T>(name: string): T | undefined;
|
|
94
|
+
}
|
|
95
|
+
/** 中间件执行函数 */
|
|
96
|
+
export type MiddlewareExecuteFn = (context: MiddlewareContext, next: () => Promise<MiddlewareRunStatus>) => Promise<MiddlewareRunStatus>;
|
|
97
|
+
/** 中间件定义 */
|
|
98
|
+
export interface MiddlewareDefinition {
|
|
99
|
+
name: string;
|
|
100
|
+
displayName: string;
|
|
101
|
+
description?: string;
|
|
102
|
+
category: MiddlewareCategory;
|
|
103
|
+
phase: LifecyclePhase;
|
|
104
|
+
before?: string[];
|
|
105
|
+
after?: string[];
|
|
106
|
+
configSchema?: Schema;
|
|
107
|
+
configFields?: ConfigField[];
|
|
108
|
+
configGroup?: string;
|
|
109
|
+
cardFields?: CardField[];
|
|
110
|
+
execute: MiddlewareExecuteFn;
|
|
111
|
+
}
|
|
112
|
+
/** 连接器支持的类型 */
|
|
113
|
+
export type ConnectorSupportedType = 'image' | 'video' | 'audio';
|
|
114
|
+
/** 连接器配置字段 (与 ConfigField 相同,别名用于清晰) */
|
|
115
|
+
export type ConnectorField = ConfigField;
|
|
116
|
+
/** 卡片展示字段(别名) */
|
|
117
|
+
export type CardDisplayField = CardField;
|
|
118
|
+
/**
|
|
119
|
+
* 连接器请求日志
|
|
120
|
+
* 用于记录发送给 API 的实际请求内容
|
|
121
|
+
*/
|
|
122
|
+
export interface ConnectorRequestLog {
|
|
123
|
+
/** API 端点(可脱敏) */
|
|
124
|
+
endpoint?: string;
|
|
125
|
+
/** 模型名称 */
|
|
126
|
+
model?: string;
|
|
127
|
+
/** 最终发送的 prompt */
|
|
128
|
+
prompt: string;
|
|
129
|
+
/** 输入文件数量 */
|
|
130
|
+
fileCount?: number;
|
|
131
|
+
/** 其他关键参数(不含敏感信息如 API Key) */
|
|
132
|
+
parameters?: Record<string, any>;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* 连接器响应日志
|
|
136
|
+
* 用于记录 API 返回的关键信息
|
|
137
|
+
*/
|
|
138
|
+
export interface ConnectorResponseLog {
|
|
139
|
+
/** 输出数量 */
|
|
140
|
+
outputCount: number;
|
|
141
|
+
/** 输出类型 */
|
|
142
|
+
outputTypes?: AssetKind[];
|
|
143
|
+
/** API 返回的元数据(如 revised_prompt、seed 等) */
|
|
144
|
+
meta?: Record<string, any>;
|
|
145
|
+
}
|
|
146
|
+
/** 连接器定义 */
|
|
147
|
+
export interface ConnectorDefinition {
|
|
148
|
+
id: string;
|
|
149
|
+
name: string;
|
|
150
|
+
supportedTypes: ConnectorSupportedType[];
|
|
151
|
+
fields: ConnectorField[];
|
|
152
|
+
cardFields?: CardDisplayField[];
|
|
153
|
+
/**
|
|
154
|
+
* 执行生成
|
|
155
|
+
*/
|
|
156
|
+
generate: (ctx: Context, config: Record<string, any>, files: FileData[], prompt: string) => Promise<OutputAsset[]>;
|
|
157
|
+
/**
|
|
158
|
+
* 获取请求日志(可选)
|
|
159
|
+
* 返回将要发送给 API 的关键信息,用于 debug 日志
|
|
160
|
+
* 注意:不要包含敏感信息(API Key 等)
|
|
161
|
+
*/
|
|
162
|
+
getRequestLog?: (config: Record<string, any>, files: FileData[], prompt: string) => ConnectorRequestLog;
|
|
163
|
+
/**
|
|
164
|
+
* 获取响应日志(可选)
|
|
165
|
+
* 从输出中提取日志信息
|
|
166
|
+
*/
|
|
167
|
+
getResponseLog?: (output: OutputAsset[]) => ConnectorResponseLog;
|
|
168
|
+
}
|
|
169
|
+
/** 生成请求 */
|
|
170
|
+
export interface GenerationRequest {
|
|
171
|
+
channel: number | string;
|
|
172
|
+
prompt: string;
|
|
173
|
+
files?: FileData[];
|
|
174
|
+
parameters?: Record<string, any>;
|
|
175
|
+
session?: import('koishi').Session | null;
|
|
176
|
+
/** 用户 ID(可选,用于计费和记录) */
|
|
177
|
+
uid?: number;
|
|
178
|
+
}
|
|
179
|
+
/** 生成结果 */
|
|
180
|
+
export interface GenerationResult {
|
|
181
|
+
success: boolean;
|
|
182
|
+
output?: OutputAsset[];
|
|
183
|
+
error?: string;
|
|
184
|
+
errorCode?: number;
|
|
185
|
+
errorDetails?: Record<string, any>;
|
|
186
|
+
taskId?: number;
|
|
187
|
+
duration?: number;
|
|
188
|
+
}
|
|
189
|
+
/** 日志器接口 */
|
|
190
|
+
export interface PluginLogger {
|
|
191
|
+
debug(message: string, ...args: any[]): void;
|
|
192
|
+
info(message: string, ...args: any[]): void;
|
|
193
|
+
warn(message: string, ...args: any[]): void;
|
|
194
|
+
error(message: string, ...args: any[]): void;
|
|
195
|
+
}
|
|
196
|
+
/** 服务定义 */
|
|
197
|
+
export interface ServiceDefinition {
|
|
198
|
+
name: string;
|
|
199
|
+
factory: (ctx: PluginContext) => any;
|
|
200
|
+
}
|
|
201
|
+
/** 设置操作 */
|
|
202
|
+
export interface SettingsAction {
|
|
203
|
+
name: string;
|
|
204
|
+
label: string;
|
|
205
|
+
type?: 'primary' | 'error' | 'default';
|
|
206
|
+
icon?: string;
|
|
207
|
+
apiEvent: string;
|
|
208
|
+
}
|
|
209
|
+
/** 插件上下文 */
|
|
210
|
+
export interface PluginContext {
|
|
211
|
+
/** Koishi Context */
|
|
212
|
+
ctx: Context;
|
|
213
|
+
/** 插件 ID */
|
|
214
|
+
pluginId: string;
|
|
215
|
+
/** 日志器 */
|
|
216
|
+
logger: PluginLogger;
|
|
217
|
+
/** 获取当前插件配置 */
|
|
218
|
+
getConfig<T extends Record<string, any>>(): T;
|
|
219
|
+
/** 更新配置 */
|
|
220
|
+
updateConfig(partial: Record<string, any>): void;
|
|
221
|
+
/** 获取服务 */
|
|
222
|
+
getService<T>(name: string): T | undefined;
|
|
223
|
+
/** 注册 dispose 回调 */
|
|
224
|
+
onDispose(callback: () => void): void;
|
|
225
|
+
}
|
|
226
|
+
/** 插件定义 */
|
|
227
|
+
export interface PluginDefinition {
|
|
228
|
+
/** 插件唯一标识 */
|
|
229
|
+
id: string;
|
|
230
|
+
/** 显示名称 */
|
|
231
|
+
name: string;
|
|
232
|
+
/** 描述 */
|
|
233
|
+
description?: string;
|
|
234
|
+
/** 版本 */
|
|
235
|
+
version?: string;
|
|
236
|
+
/** 依赖的其他插件 */
|
|
237
|
+
dependencies?: string[];
|
|
238
|
+
middlewares?: MiddlewareDefinition[];
|
|
239
|
+
connector?: ConnectorDefinition;
|
|
240
|
+
services?: ServiceDefinition[];
|
|
241
|
+
configFields?: ConfigField[];
|
|
242
|
+
configDefaults?: Record<string, any>;
|
|
243
|
+
cardFields?: CardField[];
|
|
244
|
+
settingsActions?: SettingsAction[];
|
|
245
|
+
onLoad?: (ctx: PluginContext) => void | Promise<void>;
|
|
246
|
+
onUnload?: () => void | Promise<void>;
|
|
247
|
+
}
|
|
248
|
+
/** 插件信息(API 返回) */
|
|
249
|
+
export interface PluginInfo {
|
|
250
|
+
id: string;
|
|
251
|
+
name: string;
|
|
252
|
+
description?: string;
|
|
253
|
+
version?: string;
|
|
254
|
+
enabled: boolean;
|
|
255
|
+
configFields: ConfigField[];
|
|
256
|
+
config: Record<string, any>;
|
|
257
|
+
actions: SettingsAction[];
|
|
258
|
+
middlewares: Array<{
|
|
259
|
+
name: string;
|
|
260
|
+
displayName: string;
|
|
261
|
+
phase: string;
|
|
262
|
+
enabled: boolean;
|
|
263
|
+
}>;
|
|
264
|
+
connector?: {
|
|
265
|
+
id: string;
|
|
266
|
+
name: string;
|
|
267
|
+
supportedTypes: ConnectorSupportedType[];
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Core Types - 核心类型定义
|
|
2
|
+
// ============ 生命周期阶段 ============
|
|
3
|
+
export const LIFECYCLE_PHASES = [
|
|
4
|
+
'lifecycle-prepare', // 准备:验证、权限检查、初始化上下文
|
|
5
|
+
'lifecycle-pre-request', // 前置:预设应用、翻译、prompt 修改
|
|
6
|
+
'lifecycle-request', // 请求:调用 Connector
|
|
7
|
+
'lifecycle-post-request', // 后置:缓存、审核、输出处理
|
|
8
|
+
'lifecycle-finalize' // 完成:计费结算、任务记录
|
|
9
|
+
];
|
|
10
|
+
/** 中间件执行状态 */
|
|
11
|
+
export var MiddlewareRunStatus;
|
|
12
|
+
(function (MiddlewareRunStatus) {
|
|
13
|
+
MiddlewareRunStatus[MiddlewareRunStatus["SKIPPED"] = 0] = "SKIPPED";
|
|
14
|
+
MiddlewareRunStatus[MiddlewareRunStatus["STOP"] = 1] = "STOP";
|
|
15
|
+
MiddlewareRunStatus[MiddlewareRunStatus["CONTINUE"] = 2] = "CONTINUE";
|
|
16
|
+
})(MiddlewareRunStatus || (MiddlewareRunStatus = {}));
|
|
17
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,sBAAsB;AA8BtB,mCAAmC;AAEnC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,mBAAmB,EAAO,oBAAoB;IAC9C,uBAAuB,EAAG,uBAAuB;IACjD,mBAAmB,EAAO,kBAAkB;IAC5C,wBAAwB,EAAE,gBAAgB;IAC1C,oBAAoB,CAAM,eAAe;CACjC,CAAA;AAuDV,cAAc;AACd,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,mEAAW,CAAA;IACX,6DAAQ,CAAA;IACR,qEAAY,CAAA;AACd,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAIhC;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAsFjD"}
|