X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/522d7fd117285e4e4ce3ea5ec9b5a1722521b681..c781f79f3c8cb9a7577ee1574d196988da2719b3:/build_run.go?ds=inline diff --git a/build_run.go b/build_run.go index da75679..707a928 100644 --- a/build_run.go +++ b/build_run.go @@ -19,12 +19,12 @@ import ( // buildLineBytes is the most bytes of one line in a build input or usage log. const buildLineBytes = 1 << 20 +// buildWaitTimeout is the longest wait for pending memory builds. +const buildWaitTimeout = time.Second + // buildQuotaLimit is the largest increase in used quota points of a run. const buildQuotaLimit = 15.0 -// buildCallLimit is the most model calls of a run. -const buildCallLimit = 660 - // BuildRun appends messages, builds their tree, and stops the run by the rules // of buildStop. type BuildRun struct { @@ -33,6 +33,13 @@ type BuildRun struct { usagePath string } +// DatedMessage is one message with an optional RFC 3339 date. +type DatedMessage struct { + Kind string `json:"kind"` + Text string `json:"text"` + Date string `json:"date,omitempty"` +} + // Run appends the entries. It waits for the builds only before a user message, // as a turn does, so up to buildMax builds run at once in between, and it waits // for all builds at the end. It returns the number of messages appended and why @@ -116,19 +123,12 @@ func (r *BuildRun) check() string { // waitBuilds waits up to one second without leaving a child context open. func (r *BuildRun) waitBuilds(ctx context.Context) error { - ctx, cancel := context.WithTimeout(ctx, time.Second) + ctx, cancel := context.WithTimeout(ctx, buildWaitTimeout) defer cancel() return r.memory.Wait(ctx) } -// DatedMessage is one message with an optional RFC 3339 date. -type DatedMessage struct { - Kind string `json:"kind"` - Text string `json:"text"` - Date string `json:"date,omitempty"` -} - // buildReadUsage reads the records of usage.jsonl at path, in the order of the // start of their calls. The file has them in the order of the end of their // calls, which differs when calls run at once.