mirror of
https://github.com/langgenius/dify-plugin-daemon.git
synced 2026-07-22 01:35:24 -04:00
ca3d00229e
* use slog instead of log package and format to new log schema * update the environment name to LOG_OUTPUT_FORMAT * add the env to .env.example * fix log reference error * change the order of milldlewares * delete unused code * fix the concurrently session potential race condition * fix the log format in tests * update the duplicate code * refactor: convert log functions to slog structured format - Change log.Error/Info/Warn/Debug/Panic to accept msg + key-value pairs - Remove printf-style formatting from log functions - Update log calls in internal/cluster, internal/db, internal/core/session_manager - Remove unused 'initialized' variable from log package - Remaining files will be updated in follow-up commits 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor: update all log call sites to use slog structured format Convert all log.Error, log.Info, log.Warn, log.Debug, and log.Panic calls from printf-style formatting to slog key-value pairs. Before: log.Error("failed to do something: %s", err.Error()) After: log.Error("failed to do something", "error", err) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor: update cmd/ log calls to use slog structured format 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat: implement GnetLogger for structured logging in gnet * refactor: remove deprecated log visibility functions and related calls * feat: enhance session management with trace and identity context propagation * feat: implement serverless transaction handler and writer for plugin runtime * refactor: rename context field to traceCtx in RealBackwardsInvocation --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: Yeuoly <admin@srmxy.cn>
54 lines
1.6 KiB
Go
54 lines
1.6 KiB
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
|
|
"github.com/langgenius/dify-plugin-daemon/internal/core/io_tunnel/access_types"
|
|
"github.com/langgenius/dify-plugin-daemon/internal/core/plugin_manager"
|
|
"github.com/langgenius/dify-plugin-daemon/internal/core/session_manager"
|
|
"github.com/langgenius/dify-plugin-daemon/pkg/entities/plugin_entities"
|
|
)
|
|
|
|
func createSession[T any](
|
|
r *plugin_entities.InvokePluginRequest[T],
|
|
access_type access_types.PluginAccessType,
|
|
access_action access_types.PluginAccessAction,
|
|
cluster_id string,
|
|
requestContext context.Context,
|
|
) (*session_manager.Session, error) {
|
|
manager := plugin_manager.Manager()
|
|
if manager == nil {
|
|
return nil, errors.New("failed to get plugin manager")
|
|
}
|
|
|
|
// try fetch plugin identifier from plugin id
|
|
runtime, err := manager.GetPluginRuntime(r.UniqueIdentifier)
|
|
if err != nil {
|
|
return nil, errors.New("failed to get plugin runtime")
|
|
}
|
|
|
|
session := session_manager.NewSession(
|
|
session_manager.NewSessionPayload{
|
|
TenantID: r.TenantId,
|
|
UserID: r.UserId,
|
|
PluginUniqueIdentifier: r.UniqueIdentifier,
|
|
ClusterID: cluster_id,
|
|
InvokeFrom: access_type,
|
|
Action: access_action,
|
|
Declaration: runtime.Configuration(),
|
|
BackwardsInvocation: manager.BackwardsInvocation(),
|
|
IgnoreCache: false,
|
|
ConversationID: r.ConversationID,
|
|
MessageID: r.MessageID,
|
|
AppID: r.AppID,
|
|
EndpointID: r.EndpointID,
|
|
Context: r.Context,
|
|
RequestContext: requestContext,
|
|
},
|
|
)
|
|
|
|
session.BindRuntime(runtime)
|
|
return session, nil
|
|
}
|