MCPcopy Create free account
hub / github.com/Chat2AnyLLM/code-agent-manager / GetState

Method GetState

internal/appstate/store.go:227–248  ·  view source on GitHub ↗

GetState loads arbitrary future app state from JSON.

(ctx context.Context, key string, value any)

Source from the content-addressed store, hash-verified

225
226// GetState loads arbitrary future app state from JSON.
227func (s Store) GetState(ctx context.Context, key string, value any) (bool, error) {
228 if err := s.Init(ctx); err != nil {
229 return false, err
230 }
231 db, err := s.open()
232 if err != nil {
233 return false, err
234 }
235 defer db.Close()
236 var raw string
237 err = db.QueryRowContext(ctx, `SELECT value_json FROM app_state WHERE key = ?`, key).Scan(&raw)
238 if err == sql.ErrNoRows {
239 return false, nil
240 }
241 if err != nil {
242 return false, fmt.Errorf("appstate: get state: %w", err)
243 }
244 if err := json.Unmarshal([]byte(raw), value); err != nil {
245 return false, fmt.Errorf("appstate: parse state: %w", err)
246 }
247 return true, nil
248}
249
250func (s Store) upsertProvider(ctx context.Context, name string, endpoint providers.Endpoint) error {
251 if err := s.Init(ctx); err != nil {

Calls 3

InitMethod · 0.95
openMethod · 0.95
QueryRowContextMethod · 0.80