( ctx context.Context, state *bootState, )
| 995 | } |
| 996 | |
| 997 | func 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 | |
| 1037 | type daemonMemorySessionLedgerService struct { |
| 1038 | rootDir string |
no test coverage detected