gpt_engineer.core.files_dict.FilesDict

class gpt_engineer.core.files_dict.FilesDict[source]

Bases: dict

A dictionary-based container for managing code files.

This class extends the standard dictionary to enforce string keys and values, representing filenames and their corresponding code content. It provides methods to format its contents for chat-based interaction with an AI agent and to enforce type checks on keys and values.

clear() None.  Remove all items from D.
copy() a shallow copy of D
fromkeys(value=None, /)

Create a new dictionary with keys from iterable and values set to value.

get(key, default=None, /)

Return the value for key if key is in the dictionary, else default.

items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
pop(k[, d]) v, remove specified key and return the corresponding value.

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem()

Remove and return a (key, value) pair as a 2-tuple.

Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.

setdefault(key, default=None, /)

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

to_chat()[source]

Formats the items of the object (assuming file name and content pairs) into a string suitable for chat display.

Returns:

A string representation of the files.

Return type:

str

to_log()[source]

Formats the items of the object (assuming file name and content pairs) into a string suitable for log display.

Returns:

A string representation of the files.

Return type:

str

update([E, ]**F) None.  Update D from dict/iterable E and F.

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values() an object providing a view on D's values