[clsi] initial implementation of compile from history (#31883)

* [clsi] initial implementation of compile from history

* [clsi] copy changes

* [saas-e2e] extend test case with nested folder

* [saas-e2e] add test case for tracked changes

* [web] fix accumulating changes from multiple chunks

* [web] optimize size check for compile request payload

* [clsi] deduplicate globalBlobs

* [clsi] add validation for request body details

* [clsi] add metrics for compile from history

* [clsi] download binary files concurrently

* [clsi] skip download of empty file blob

* [clsi] break down e2e compile time metric by compileFromHistory

GitOrigin-RevId: 0dadef93e89d8a172c35cb130a1042d9d1bec42a
This commit is contained in:
Jakob Ackermann
2026-03-06 09:12:07 +00:00
committed by Copybot
parent 5723a9589a
commit 81b7121408
28 changed files with 1135 additions and 88 deletions
@@ -74,6 +74,14 @@ class Change {
static fromRaw(raw) {
if (!raw) return null
return Change.mustFromRaw(raw)
}
/**
* @param {RawChange} raw
* @return {Change}
*/
static mustFromRaw(raw) {
assert.array.of.object(raw.operations, 'bad raw.operations')
assert.nonEmptyString(raw.timestamp, 'bad raw.timestamp')
+4 -4
View File
@@ -59,10 +59,10 @@ export type RawChange = {
operations: RawOperation[]
timestamp: string
authors?: (number | null)[]
v2Authors: string[]
origin: RawOrigin
projectVersion: string
v2DocVersions: RawV2DocVersions
v2Authors?: string[]
origin?: RawOrigin
projectVersion?: string
v2DocVersions?: RawV2DocVersions
}
export type RawOperation =