MCPcopy Create free account
hub / github.com/compozy/agh / newDaemonMemoryProviderRegistry

Function newDaemonMemoryProviderRegistry

internal/daemon/memory_runtime.go:997–1035  ·  view source on GitHub ↗
(
	ctx context.Context,
	state *bootState,
)

Source from the content-addressed store, hash-verified

995}
996
997func newDaemonMemoryProviderRegistry(
998 ctx context.Context,
999 state *bootState,
1000) (*extensionpkg.MemoryProviderRegistry, error) {
1001 if state == nil || state.memoryStore == nil || !state.cfg.Memory.Enabled {
1002 return nil, nil
1003 }
1004 opts := []extensionpkg.MemoryProviderRegistryOption{
1005 extensionpkg.WithMemoryProviderReservedTools(
1006 toolspkg.ToolIDMemoryList.String(),
1007 toolspkg.ToolIDMemoryShow.String(),
1008 toolspkg.ToolIDMemorySearch.String(),
1009 toolspkg.ToolIDMemoryPropose.String(),
1010 toolspkg.ToolIDMemoryNote.String(),
1011 ),
1012 extensionpkg.WithMemoryProviderRegistryClock(func() time.Time {
1013 return time.Now().UTC()
1014 }),
1015 }
1016 if eventWriter, ok := state.registry.(store.EventSummaryStore); ok {
1017 opts = append(opts, extensionpkg.WithMemoryProviderEventSummaryStore(eventWriter))
1018 }
1019 registry := extensionpkg.NewMemoryProviderRegistry(opts...)
1020 if state.localMemoryProvider != nil {
1021 if err := registry.Register(ctx, extensionpkg.MemoryProviderRegistration{
1022 Name: localprovider.Name,
1023 Version: memoryRuntimeBuiltinKey,
1024 Provider: state.localMemoryProvider,
1025 Bundled: true,
1026 }); err != nil {
1027 return nil, err
1028 }
1029 }
1030 activeProvider := firstNonEmptyString(state.cfg.Memory.Provider.Name, localprovider.Name)
1031 if err := registry.SetActive(ctx, "", activeProvider); err != nil {
1032 return nil, err
1033 }
1034 return registry, nil
1035}
1036
1037type daemonMemorySessionLedgerService struct {
1038 rootDir string

Callers 1

bootRegistryStateMethod · 0.85

Calls 6

RegisterMethod · 0.95
SetActiveMethod · 0.95
appendFunction · 0.85
firstNonEmptyStringFunction · 0.70
StringMethod · 0.45
NowMethod · 0.45

Tested by

no test coverage detected