MCPcopy Index your code
hub / github.com/coder/coder / DefaultModelConfig

Method DefaultModelConfig

coderd/x/chatd/configcache.go:284–307  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

282}
283
284func (c *chatConfigCache) DefaultModelConfig(ctx context.Context) (database.ChatModelConfig, error) {
285 if config, ok := c.cachedDefaultModelConfig(); ok {
286 return config, nil
287 }
288
289 snap := c.defaultModelConfigSnapshot()
290 config, err := singleflightDoChan(ctx, &c.defaultModelConfigFetches, fmt.Sprintf("%d:default", snap.epoch), func() (database.ChatModelConfig, error) {
291 if cached, ok := c.cachedDefaultModelConfig(); ok {
292 return cached, nil
293 }
294
295 fetched, err := c.db.GetDefaultChatModelConfig(c.ctx)
296 if err != nil {
297 return database.ChatModelConfig{}, err
298 }
299 c.storeDefaultModelConfig(snap, fetched)
300 return cloneModelConfig(fetched), nil
301 })
302 if err != nil {
303 return database.ChatModelConfig{}, err
304 }
305
306 return config, nil
307}
308
309func (c *chatConfigCache) cachedDefaultModelConfig() (database.ChatModelConfig, bool) {
310 c.mu.RLock()

Calls 6

singleflightDoChanFunction · 0.85
cloneModelConfigFunction · 0.85