@farmslot/protocol 0.74.0 → 0.74.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/CHANGELOG.md +23 -9
  2. package/README.md +9 -0
  3. package/dist/client-cache/cache.d.ts +4 -0
  4. package/dist/client-cache/cache.d.ts.map +1 -0
  5. package/dist/client-cache/cache.js +1102 -0
  6. package/dist/client-cache/cache.js.map +1 -0
  7. package/dist/client-cache/collector-admission.d.ts +29 -0
  8. package/dist/client-cache/collector-admission.d.ts.map +1 -0
  9. package/dist/client-cache/collector-admission.js +183 -0
  10. package/dist/client-cache/collector-admission.js.map +1 -0
  11. package/dist/client-cache/command-method.d.ts +5 -0
  12. package/dist/client-cache/command-method.d.ts.map +1 -0
  13. package/dist/client-cache/command-method.js +2 -0
  14. package/dist/client-cache/command-method.js.map +1 -0
  15. package/dist/client-cache/conformance.d.ts +36 -0
  16. package/dist/client-cache/conformance.d.ts.map +1 -0
  17. package/dist/client-cache/conformance.js +578 -0
  18. package/dist/client-cache/conformance.js.map +1 -0
  19. package/dist/client-cache/content.d.ts +29 -0
  20. package/dist/client-cache/content.d.ts.map +1 -0
  21. package/dist/client-cache/content.js +101 -0
  22. package/dist/client-cache/content.js.map +1 -0
  23. package/dist/client-cache/d07-domains.d.ts +17 -0
  24. package/dist/client-cache/d07-domains.d.ts.map +1 -0
  25. package/dist/client-cache/d07-domains.js +111 -0
  26. package/dist/client-cache/d07-domains.js.map +1 -0
  27. package/dist/client-cache/diff-apply.d.ts +29 -0
  28. package/dist/client-cache/diff-apply.d.ts.map +1 -0
  29. package/dist/client-cache/diff-apply.js +206 -0
  30. package/dist/client-cache/diff-apply.js.map +1 -0
  31. package/dist/client-cache/index.d.ts +14 -10
  32. package/dist/client-cache/index.d.ts.map +1 -1
  33. package/dist/client-cache/index.js +14 -1
  34. package/dist/client-cache/index.js.map +1 -1
  35. package/dist/client-cache/keys.d.ts +126 -0
  36. package/dist/client-cache/keys.d.ts.map +1 -0
  37. package/dist/client-cache/keys.js +25 -0
  38. package/dist/client-cache/keys.js.map +1 -0
  39. package/dist/client-cache/native-history.d.ts +64 -0
  40. package/dist/client-cache/native-history.d.ts.map +1 -0
  41. package/dist/client-cache/native-history.js +285 -0
  42. package/dist/client-cache/native-history.js.map +1 -0
  43. package/dist/client-cache/prefetch.d.ts +50 -0
  44. package/dist/client-cache/prefetch.d.ts.map +1 -0
  45. package/dist/client-cache/prefetch.js +507 -0
  46. package/dist/client-cache/prefetch.js.map +1 -0
  47. package/dist/client-cache/registry.d.ts +1365 -0
  48. package/dist/client-cache/registry.d.ts.map +1 -0
  49. package/dist/client-cache/registry.js +1038 -0
  50. package/dist/client-cache/registry.js.map +1 -0
  51. package/dist/client-cache/run-list-versions.d.ts +70 -0
  52. package/dist/client-cache/run-list-versions.d.ts.map +1 -0
  53. package/dist/client-cache/run-list-versions.js +309 -0
  54. package/dist/client-cache/run-list-versions.js.map +1 -0
  55. package/dist/client-cache/store.d.ts +128 -0
  56. package/dist/client-cache/store.d.ts.map +1 -0
  57. package/dist/client-cache/store.js +190 -0
  58. package/dist/client-cache/store.js.map +1 -0
  59. package/dist/client-cache/transport.d.ts +27 -0
  60. package/dist/client-cache/transport.d.ts.map +1 -0
  61. package/dist/client-cache/transport.js +56 -0
  62. package/dist/client-cache/transport.js.map +1 -0
  63. package/dist/client-cache/types.d.ts +116 -0
  64. package/dist/client-cache/types.d.ts.map +1 -0
  65. package/dist/client-cache/types.js +2 -0
  66. package/dist/client-cache/types.js.map +1 -0
  67. package/dist/client-cache/upstream-retention.d.ts +6 -0
  68. package/dist/client-cache/upstream-retention.d.ts.map +1 -0
  69. package/dist/client-cache/upstream-retention.js +28 -0
  70. package/dist/client-cache/upstream-retention.js.map +1 -0
  71. package/dist/client-cache/workspace-retention.d.ts +7 -0
  72. package/dist/client-cache/workspace-retention.d.ts.map +1 -0
  73. package/dist/client-cache/workspace-retention.js +46 -0
  74. package/dist/client-cache/workspace-retention.js.map +1 -0
  75. package/dist/contracts/provider-accounts.d.ts +31 -0
  76. package/dist/contracts/provider-accounts.d.ts.map +1 -1
  77. package/dist/contracts/provider-accounts.js +209 -1
  78. package/dist/contracts/provider-accounts.js.map +1 -1
  79. package/dist/contracts/run-bundles.d.ts.map +1 -1
  80. package/dist/contracts/run-bundles.js +2 -0
  81. package/dist/contracts/run-bundles.js.map +1 -1
  82. package/dist/contracts/runs.d.ts +4 -0
  83. package/dist/contracts/runs.d.ts.map +1 -1
  84. package/dist/contracts/runs.js.map +1 -1
  85. package/dist/index.d.ts +4 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +4 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/person-session-client.d.ts +4 -1
  90. package/dist/person-session-client.d.ts.map +1 -1
  91. package/dist/person-session-client.js.map +1 -1
  92. package/dist/rpc/auth.d.ts +17 -0
  93. package/dist/rpc/auth.d.ts.map +1 -1
  94. package/dist/rpc/auth.js.map +1 -1
  95. package/dist/rpc/config.d.ts +2 -0
  96. package/dist/rpc/config.d.ts.map +1 -1
  97. package/dist/rpc/config.js.map +1 -1
  98. package/dist/rpc/fs.d.ts +110 -4
  99. package/dist/rpc/fs.d.ts.map +1 -1
  100. package/dist/rpc/fs.js +7 -1
  101. package/dist/rpc/fs.js.map +1 -1
  102. package/dist/rpc/gateway.d.ts +3 -0
  103. package/dist/rpc/gateway.d.ts.map +1 -1
  104. package/dist/rpc/git.d.ts +42 -0
  105. package/dist/rpc/git.d.ts.map +1 -1
  106. package/dist/rpc/index.d.ts +1 -0
  107. package/dist/rpc/index.d.ts.map +1 -1
  108. package/dist/rpc/index.js +1 -0
  109. package/dist/rpc/index.js.map +1 -1
  110. package/dist/rpc/native-session.d.ts +2 -0
  111. package/dist/rpc/native-session.d.ts.map +1 -1
  112. package/dist/rpc/native-session.js.map +1 -1
  113. package/dist/rpc/nodes.d.ts +2 -0
  114. package/dist/rpc/nodes.d.ts.map +1 -1
  115. package/dist/rpc/nodes.js.map +1 -1
  116. package/dist/rpc/pr-observations.d.ts +22 -0
  117. package/dist/rpc/pr-observations.d.ts.map +1 -0
  118. package/dist/rpc/pr-observations.js +104 -0
  119. package/dist/rpc/pr-observations.js.map +1 -0
  120. package/dist/rpc/pr.d.ts +9 -0
  121. package/dist/rpc/pr.d.ts.map +1 -1
  122. package/dist/rpc/pr.js +1 -1
  123. package/dist/rpc/pr.js.map +1 -1
  124. package/dist/rpc/principal.d.ts +2 -0
  125. package/dist/rpc/principal.d.ts.map +1 -1
  126. package/dist/rpc/registry.d.ts +1 -0
  127. package/dist/rpc/registry.d.ts.map +1 -1
  128. package/dist/rpc/registry.js +2 -0
  129. package/dist/rpc/registry.js.map +1 -1
  130. package/dist/rpc/resource-observers.d.ts +32 -0
  131. package/dist/rpc/resource-observers.d.ts.map +1 -0
  132. package/dist/rpc/resource-observers.js +2 -0
  133. package/dist/rpc/resource-observers.js.map +1 -0
  134. package/dist/rpc/run.d.ts +23 -0
  135. package/dist/rpc/run.d.ts.map +1 -1
  136. package/dist/rpc/run.js.map +1 -1
  137. package/dist/rpc/runner-models.d.ts +15 -0
  138. package/dist/rpc/runner-models.d.ts.map +1 -1
  139. package/dist/rpc/runner-models.js +91 -0
  140. package/dist/rpc/runner-models.js.map +1 -1
  141. package/dist/runs/review-diff-identity.d.ts +15 -0
  142. package/dist/runs/review-diff-identity.d.ts.map +1 -0
  143. package/dist/runs/review-diff-identity.js +47 -0
  144. package/dist/runs/review-diff-identity.js.map +1 -0
  145. package/dist/runs/run-list-filter.d.ts +33 -0
  146. package/dist/runs/run-list-filter.d.ts.map +1 -0
  147. package/dist/runs/run-list-filter.js +116 -0
  148. package/dist/runs/run-list-filter.js.map +1 -0
  149. package/dist/runs/run-list-observation.d.ts +5 -0
  150. package/dist/runs/run-list-observation.d.ts.map +1 -0
  151. package/dist/runs/run-list-observation.js +36 -0
  152. package/dist/runs/run-list-observation.js.map +1 -0
  153. package/dist/runs/run-list-view.d.ts +6 -2
  154. package/dist/runs/run-list-view.d.ts.map +1 -1
  155. package/dist/runs/run-list-view.js +10 -4
  156. package/dist/runs/run-list-view.js.map +1 -1
  157. package/dist/slots/cancelled-run-slot.d.ts +2 -1
  158. package/dist/slots/cancelled-run-slot.d.ts.map +1 -1
  159. package/dist/sources/client.d.ts +10 -1
  160. package/dist/sources/client.d.ts.map +1 -1
  161. package/dist/sources/client.js +23 -4
  162. package/dist/sources/client.js.map +1 -1
  163. package/dist/sources/controller.d.ts +13 -14
  164. package/dist/sources/controller.d.ts.map +1 -1
  165. package/dist/sources/controller.js +87 -82
  166. package/dist/sources/controller.js.map +1 -1
  167. package/dist/sources/status-view.d.ts +2 -0
  168. package/dist/sources/status-view.d.ts.map +1 -1
  169. package/dist/sources/status-view.js +13 -0
  170. package/dist/sources/status-view.js.map +1 -1
  171. package/dist/transport/events.d.ts +1 -4
  172. package/dist/transport/events.d.ts.map +1 -1
  173. package/dist/transport/events.js +1 -0
  174. package/dist/transport/events.js.map +1 -1
  175. package/dist/transport/frames.d.ts +6 -0
  176. package/dist/transport/frames.d.ts.map +1 -1
  177. package/dist/transport/frames.js.map +1 -1
  178. package/dist/transport/observations.d.ts +24 -0
  179. package/dist/transport/observations.d.ts.map +1 -0
  180. package/dist/transport/observations.js +2 -0
  181. package/dist/transport/observations.js.map +1 -0
  182. package/dist/version.d.ts +1 -1
  183. package/dist/version.js +1 -1
  184. package/package.json +1 -1
  185. package/dist/sources/changes.d.ts +0 -37
  186. package/dist/sources/changes.d.ts.map +0 -1
  187. package/dist/sources/changes.js +0 -79
  188. package/dist/sources/changes.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/client-cache/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import type { RunListParams, RunListResult } from '../rpc/run.js';
2
+ import { type RunListProjection } from '../runs/run-list-filter.js';
3
+ import type { ResourceReadStamp } from './keys.js';
4
+ import type { ResourceRowsMerge, StoredResourceRows } from './store.js';
5
+ import type { ResourceReadResult } from './types.js';
6
+ /** The run.list `{ versions: true }` entry: it owns the one shared row collection. */
7
+ export declare const RUN_LIST_COLLECTION_ID: string;
8
+ /** The owner's own data; the rows hold the version index, projections and bodies. */
9
+ export interface RunListCollectionData {
10
+ totalCount: number;
11
+ summaryMeta?: RunListResult['summaryMeta'];
12
+ familySummaries?: RunListResult['familySummaries'];
13
+ projectAnalytics?: RunListResult['projectAnalytics'];
14
+ }
15
+ export type RunListSummaryFlags = Pick<RunListParams, 'includeFamilySummaries' | 'includeProjectAnalytics'>;
16
+ export interface RunListCollectionOptions {
17
+ request(params: RunListParams, signal: AbortSignal): Promise<ResourceReadResult<RunListResult>>;
18
+ /** Writes one merge, fenced to the current store; a store without rows keeps the collection in memory. */
19
+ persist(merge: ResourceRowsMerge): Promise<void>;
20
+ /** Decision 1: the bodies the store keeps, active runs first, then newest. */
21
+ maxBodyBytes: number;
22
+ }
23
+ /** The summary flags a view needs from the version reply; filtered views read their own. */
24
+ export declare function runListSummaryFlags(params: RunListParams): RunListSummaryFlags;
25
+ /** True for the version list itself and its catch-up pages, which no view answers. */
26
+ export declare function isRunListCollectionRead(params: unknown): boolean;
27
+ /**
28
+ * Version lists rules 3, 4 and 6: one shared collection of every live run, read by a version list
29
+ * and catch-up pages of changed and missing ids, merged into the store a page at a time.
30
+ */
31
+ export declare class RunListCollection {
32
+ private readonly options;
33
+ private order;
34
+ private readonly rows;
35
+ /** Rows removed from memory whose deletion no merge has stored yet. */
36
+ private readonly unstoredDeletes;
37
+ private listed?;
38
+ private data?;
39
+ private dataFlags;
40
+ private inflight?;
41
+ resourceState?: ResourceReadStamp;
42
+ observedAt?: number;
43
+ constructor(options: RunListCollectionOptions);
44
+ /** Holds a collection, from a version reply or the store. */
45
+ get held(): boolean;
46
+ /** Every id the last version reply listed has its body at the listed version. */
47
+ get complete(): boolean;
48
+ /** The last version reply carried every summary `flags` asks for. */
49
+ serves(flags: RunListSummaryFlags): boolean;
50
+ /** One versions read and its catch-up at a time; a read lacking needed summaries is followed by one. */
51
+ refresh(flags: RunListSummaryFlags): Promise<void>;
52
+ private read;
53
+ private put;
54
+ /** Writes `changed`, every row whose stored body the bound now keeps or drops, and deletions. */
55
+ private commit;
56
+ /** A cold start's stored collection; it stays stale until a version reply lists every row. */
57
+ hydrate(stored: StoredResourceRows): boolean;
58
+ /** A run.list view: rows and totals from projections; undefined when it needs its own read. */
59
+ view(params: RunListParams): RunListResult | undefined;
60
+ /** Every live run's projection, newest first; undefined without a collection. */
61
+ projections(): readonly RunListProjection[] | undefined;
62
+ /** Forget everything: a new store, owner or refusal. A running read is abandoned. */
63
+ clear(): void;
64
+ /**
65
+ * The connection changed: abandon a running read, keeping what is held, which counts as current
66
+ * again only after a versions read on the new connection.
67
+ */
68
+ abort(): void;
69
+ }
70
+ //# sourceMappingURL=run-list-versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-list-versions.d.ts","sourceRoot":"","sources":["../../src/client-cache/run-list-versions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,QAAyD,CAAC;AAE7F,qFAAqF;AACrF,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACnD,gBAAgB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACtD;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,aAAa,EACb,wBAAwB,GAAG,yBAAyB,CACrD,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;IAChG,0GAA0G;IAC1G,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;CACtB;AAiCD,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,mBAAmB,CAO9E;AAED,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAMhE;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAgBhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAfpC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA8B;IACnD,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,MAAM,CAAC,CAAsB;IACrC,OAAO,CAAC,IAAI,CAAC,CAAwB;IACrC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAIf;IACF,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAES,OAAO,EAAE,wBAAwB;IAE9D,6DAA6D;IAC7D,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,iFAAiF;IACjF,IAAI,QAAQ,IAAI,OAAO,CAOtB;IAED,qEAAqE;IACrE,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO;IAO3C,wGAAwG;IAClG,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;YAoB1C,IAAI;IA4DlB,OAAO,CAAC,GAAG;IAYX,iGAAiG;YACnF,MAAM;IAkDpB,8FAA8F;IAC9F,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO;IAyB5C,+FAA+F;IAC/F,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS;IAiCtD,iFAAiF;IACjF,WAAW,IAAI,SAAS,iBAAiB,EAAE,GAAG,SAAS;IAWvD,qFAAqF;IACrF,KAAK,IAAI,IAAI;IAab;;;OAGG;IACH,KAAK,IAAI,IAAI;CAKd"}
@@ -0,0 +1,309 @@
1
+ import { isActiveListRun, normalizeRunTags } from '../contracts/runs.js';
2
+ import { Methods } from '../rpc/registry.js';
3
+ import { runListPage, runListProjection, sortRunList, } from '../runs/run-list-filter.js';
4
+ import { resourceQuery } from './registry.js';
5
+ /** The run.list `{ versions: true }` entry: it owns the one shared row collection. */
6
+ export const RUN_LIST_COLLECTION_ID = resourceQuery(Methods.RUN_LIST, { versions: true }).id;
7
+ const encoder = new TextEncoder();
8
+ const jsonBytes = (value) => encoder.encode(JSON.stringify(value)).byteLength;
9
+ /** A view whose summaries the version reply's, computed over every live run, can answer. */
10
+ function unfiltered(params) {
11
+ return !(params.status ||
12
+ params.active ||
13
+ params.flowType ||
14
+ params.project ||
15
+ params.prNumber != null ||
16
+ params.familyId ||
17
+ params.lane ||
18
+ params.variant !== undefined ||
19
+ params.outcome ||
20
+ params.dateFrom ||
21
+ params.dateTo ||
22
+ params.search ||
23
+ normalizeRunTags(params.tags).length > 0);
24
+ }
25
+ /** The summary flags a view needs from the version reply; filtered views read their own. */
26
+ export function runListSummaryFlags(params) {
27
+ return unfiltered(params)
28
+ ? {
29
+ ...(params.includeFamilySummaries ? { includeFamilySummaries: true } : {}),
30
+ ...(params.includeProjectAnalytics ? { includeProjectAnalytics: true } : {}),
31
+ }
32
+ : {};
33
+ }
34
+ /** True for the version list itself and its catch-up pages, which no view answers. */
35
+ export function isRunListCollectionRead(params) {
36
+ return (!!params &&
37
+ typeof params === 'object' &&
38
+ (Reflect.get(params, 'versions') !== undefined || Reflect.get(params, 'ids') !== undefined));
39
+ }
40
+ /**
41
+ * Version lists rules 3, 4 and 6: one shared collection of every live run, read by a version list
42
+ * and catch-up pages of changed and missing ids, merged into the store a page at a time.
43
+ */
44
+ export class RunListCollection {
45
+ constructor(options) {
46
+ this.options = options;
47
+ this.order = [];
48
+ this.rows = new Map();
49
+ /** Rows removed from memory whose deletion no merge has stored yet. */
50
+ this.unstoredDeletes = new Set();
51
+ this.dataFlags = {};
52
+ }
53
+ /** Holds a collection, from a version reply or the store. */
54
+ get held() {
55
+ return this.data !== undefined;
56
+ }
57
+ /** Every id the last version reply listed has its body at the listed version. */
58
+ get complete() {
59
+ if (!this.listed)
60
+ return false;
61
+ for (const [id, version] of this.listed) {
62
+ const row = this.rows.get(id);
63
+ if (!row?.body || row.version !== version)
64
+ return false;
65
+ }
66
+ return true;
67
+ }
68
+ /** The last version reply carried every summary `flags` asks for. */
69
+ serves(flags) {
70
+ return ((!flags.includeFamilySummaries || !!this.dataFlags.includeFamilySummaries) &&
71
+ (!flags.includeProjectAnalytics || !!this.dataFlags.includeProjectAnalytics));
72
+ }
73
+ /** One versions read and its catch-up at a time; a read lacking needed summaries is followed by one. */
74
+ async refresh(flags) {
75
+ const covers = (held) => (!flags.includeFamilySummaries || held.includeFamilySummaries) &&
76
+ (!flags.includeProjectAnalytics || held.includeProjectAnalytics);
77
+ const running = this.inflight;
78
+ if (running && covers(running.flags))
79
+ return running.promise;
80
+ if (running)
81
+ await running.promise.catch(() => undefined);
82
+ if (this.inflight && covers(this.inflight.flags))
83
+ return this.inflight.promise;
84
+ const controller = new AbortController();
85
+ const inflight = {
86
+ flags,
87
+ controller,
88
+ promise: this.read(flags, controller.signal).finally(() => {
89
+ if (this.inflight === inflight)
90
+ this.inflight = undefined;
91
+ }),
92
+ };
93
+ this.inflight = inflight;
94
+ return inflight.promise;
95
+ }
96
+ async read(flags, signal) {
97
+ const reply = await this.options.request({ versions: true, ...flags }, signal);
98
+ if (signal.aborted)
99
+ throw new Error('Run list read superseded');
100
+ const result = reply.data;
101
+ const versions = result.versions ?? [];
102
+ const listed = new Map(versions.map(({ id, version }) => [id, version]));
103
+ // Rule 3: only the version reply decides which rows exist.
104
+ for (const id of [...this.rows.keys()].filter((id) => !listed.has(id))) {
105
+ this.rows.delete(id);
106
+ this.unstoredDeletes.add(id);
107
+ }
108
+ this.order = versions.map(({ id }) => id);
109
+ this.listed = listed;
110
+ this.data = {
111
+ totalCount: result.totalCount,
112
+ ...(result.summaryMeta ? { summaryMeta: result.summaryMeta } : {}),
113
+ ...(result.familySummaries ? { familySummaries: result.familySummaries } : {}),
114
+ ...(result.projectAnalytics ? { projectAnalytics: result.projectAnalytics } : {}),
115
+ };
116
+ this.dataFlags = flags;
117
+ this.resourceState = reply.resourceState;
118
+ let ask = versions
119
+ .filter(({ id, version }) => {
120
+ const row = this.rows.get(id);
121
+ return !row?.body || row.version !== version;
122
+ })
123
+ .map(({ id }) => id);
124
+ let missing = [];
125
+ let retried = false;
126
+ let committed = false;
127
+ // Rule 4: pages continue after the last served id; ids at or before it that were not served
128
+ // are asked once more, then left for the next version reply.
129
+ while (ask.length > 0) {
130
+ const page = (await this.options.request({ ids: ask }, signal)).data;
131
+ if (signal.aborted)
132
+ throw new Error('Run list read superseded');
133
+ const served = [];
134
+ page.runs.forEach((run, index) => {
135
+ if (!listed.has(run.id))
136
+ return;
137
+ const pageVersion = page.versions?.[index];
138
+ this.put(run, pageVersion?.id === run.id ? pageVersion.version : (listed.get(run.id) ?? ''));
139
+ served.push(run.id);
140
+ });
141
+ const last = served.length > 0 ? ask.lastIndexOf(served[served.length - 1]) : -1;
142
+ const servedIds = new Set(served);
143
+ missing.push(...(last < 0 ? ask : ask.slice(0, last + 1)).filter((id) => !servedIds.has(id)));
144
+ ask = last < 0 ? [] : ask.slice(last + 1);
145
+ await this.commit(served);
146
+ committed = true;
147
+ if (ask.length === 0 && !retried && missing.length > 0) {
148
+ retried = true;
149
+ ask = missing;
150
+ missing = [];
151
+ }
152
+ }
153
+ if (!committed)
154
+ await this.commit([]);
155
+ }
156
+ put(run, version) {
157
+ const projection = runListProjection(run);
158
+ this.rows.set(run.id, {
159
+ version,
160
+ projection,
161
+ body: run,
162
+ projectionBytes: jsonBytes(projection),
163
+ bodyBytes: jsonBytes(run),
164
+ storedBody: false,
165
+ });
166
+ }
167
+ /** Writes `changed`, every row whose stored body the bound now keeps or drops, and deletions. */
168
+ async commit(changed) {
169
+ const ranked = [...this.rows.entries()]
170
+ .filter(([, row]) => row.body)
171
+ .sort(([, a], [, b]) => Number(isActiveListRun(b.projection)) - Number(isActiveListRun(a.projection)) ||
172
+ Date.parse(b.projection.createdAt) - Date.parse(a.projection.createdAt));
173
+ const keep = new Set();
174
+ let room = this.options.maxBodyBytes;
175
+ for (const [id, row] of ranked) {
176
+ if (row.bodyBytes > room)
177
+ break;
178
+ keep.add(id);
179
+ room -= row.bodyBytes;
180
+ }
181
+ const write = new Set(changed);
182
+ for (const [id, row] of this.rows)
183
+ if (row.storedBody !== keep.has(id))
184
+ write.add(id);
185
+ const upserts = [...write].flatMap((id) => {
186
+ const row = this.rows.get(id);
187
+ if (!row)
188
+ return [];
189
+ row.storedBody = keep.has(id);
190
+ return [
191
+ {
192
+ id,
193
+ version: row.version,
194
+ projection: row.projection,
195
+ ...(row.storedBody ? { body: row.body } : {}),
196
+ bytes: row.projectionBytes + (row.storedBody ? row.bodyBytes : 0),
197
+ },
198
+ ];
199
+ });
200
+ const deletes = [...this.unstoredDeletes];
201
+ let bytes = jsonBytes(this.data);
202
+ for (const row of this.rows.values())
203
+ bytes += row.projectionBytes + (row.storedBody ? row.bodyBytes : 0);
204
+ this.observedAt = Date.now();
205
+ await this.options.persist({
206
+ entry: {
207
+ id: RUN_LIST_COLLECTION_ID,
208
+ data: this.data,
209
+ observedAt: this.observedAt,
210
+ accessedAt: this.observedAt,
211
+ bytes,
212
+ },
213
+ upserts,
214
+ deletes,
215
+ });
216
+ for (const id of deletes)
217
+ this.unstoredDeletes.delete(id);
218
+ }
219
+ /** A cold start's stored collection; it stays stale until a version reply lists every row. */
220
+ hydrate(stored) {
221
+ if (!stored.entry || this.held)
222
+ return this.held;
223
+ this.data = stored.entry.data;
224
+ // A version reply carries each summary exactly when it was asked for.
225
+ this.dataFlags = {
226
+ ...(this.data.familySummaries ? { includeFamilySummaries: true } : {}),
227
+ ...(this.data.projectAnalytics ? { includeProjectAnalytics: true } : {}),
228
+ };
229
+ this.observedAt = stored.entry.observedAt;
230
+ for (const row of stored.rows) {
231
+ const projection = row.projection;
232
+ const projectionBytes = jsonBytes(projection);
233
+ this.rows.set(row.id, {
234
+ version: row.version,
235
+ projection,
236
+ ...(row.body === undefined ? {} : { body: row.body }),
237
+ projectionBytes,
238
+ bodyBytes: row.body === undefined ? 0 : row.bytes - projectionBytes,
239
+ storedBody: row.body !== undefined,
240
+ });
241
+ }
242
+ this.order = stored.rows.map(({ id }) => id);
243
+ return true;
244
+ }
245
+ /** A run.list view: rows and totals from projections; undefined when it needs its own read. */
246
+ view(params) {
247
+ if (!this.data)
248
+ return undefined;
249
+ const projections = this.order.flatMap((id) => {
250
+ const row = this.rows.get(id);
251
+ return row ? [row.projection] : [];
252
+ });
253
+ const page = runListPage(projections, params);
254
+ const runs = page.runs.flatMap(({ id }) => {
255
+ const body = this.rows.get(id)?.body;
256
+ return body ? [body] : [];
257
+ });
258
+ if (!params.includeFamilySummaries && !params.includeProjectAnalytics)
259
+ return { runs, totalCount: page.totalCount };
260
+ // Summaries read payload values the list trim drops, so only the gateway computes them.
261
+ const flags = runListSummaryFlags(params);
262
+ if (page.runs.length < page.totalCount ||
263
+ (params.includeFamilySummaries && !flags.includeFamilySummaries) ||
264
+ (params.includeProjectAnalytics && !flags.includeProjectAnalytics) ||
265
+ (flags.includeFamilySummaries && !this.dataFlags.includeFamilySummaries) ||
266
+ (flags.includeProjectAnalytics && !this.dataFlags.includeProjectAnalytics) ||
267
+ !this.data.summaryMeta)
268
+ return undefined;
269
+ return {
270
+ runs,
271
+ totalCount: page.totalCount,
272
+ summaryMeta: this.data.summaryMeta,
273
+ ...(params.includeFamilySummaries ? { familySummaries: this.data.familySummaries } : {}),
274
+ ...(params.includeProjectAnalytics ? { projectAnalytics: this.data.projectAnalytics } : {}),
275
+ };
276
+ }
277
+ /** Every live run's projection, newest first; undefined without a collection. */
278
+ projections() {
279
+ if (!this.data)
280
+ return undefined;
281
+ return sortRunList(this.order.flatMap((id) => {
282
+ const row = this.rows.get(id);
283
+ return row ? [row.projection] : [];
284
+ }), 'newest');
285
+ }
286
+ /** Forget everything: a new store, owner or refusal. A running read is abandoned. */
287
+ clear() {
288
+ this.inflight?.controller.abort();
289
+ this.inflight = undefined;
290
+ this.order = [];
291
+ this.rows.clear();
292
+ this.unstoredDeletes.clear();
293
+ this.listed = undefined;
294
+ this.data = undefined;
295
+ this.dataFlags = {};
296
+ this.resourceState = undefined;
297
+ this.observedAt = undefined;
298
+ }
299
+ /**
300
+ * The connection changed: abandon a running read, keeping what is held, which counts as current
301
+ * again only after a versions read on the new connection.
302
+ */
303
+ abort() {
304
+ this.inflight?.controller.abort();
305
+ this.inflight = undefined;
306
+ this.listed = undefined;
307
+ }
308
+ }
309
+ //# sourceMappingURL=run-list-versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-list-versions.js","sourceRoot":"","sources":["../../src/client-cache/run-list-versions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import type { GatewayAuthMode, GatewayWorkspaceAccess } from '../rpc/auth.js';
2
+ import type { RoleBinding } from '../rpc/principal.js';
3
+ export interface ResourceStoreScope {
4
+ gatewayUrl: string;
5
+ profileId?: string;
6
+ principalId?: string;
7
+ principalGeneration?: number;
8
+ }
9
+ export interface ResourceStoreAuthority {
10
+ roles: RoleBinding[];
11
+ workspaceAccess: GatewayWorkspaceAccess;
12
+ }
13
+ export interface ResourceStoreMetadata {
14
+ scope: ResourceStoreScope;
15
+ authority: ResourceStoreAuthority;
16
+ }
17
+ /** Last verified identity only, without credentials, for opening an offline profile. */
18
+ export interface ResourceStoreIdentity {
19
+ authMode: GatewayAuthMode;
20
+ metadata: ResourceStoreMetadata;
21
+ }
22
+ export type ResourceContentOrigin = 'opened' | 'prefetch';
23
+ /** Pending-gate content outranks active-run prefetch in eviction. */
24
+ export type ResourceContentCohort = 'gate' | 'run';
25
+ /** Who placed a budgeted row. A row without an origin was opened. */
26
+ export interface ResourceContentPlacement {
27
+ origin?: ResourceContentOrigin;
28
+ cohort?: ResourceContentCohort;
29
+ }
30
+ export interface StoredResourceQueryInfo extends ResourceContentPlacement {
31
+ id: string;
32
+ observedAt: number;
33
+ accessedAt?: number;
34
+ bytes: number;
35
+ }
36
+ export interface StoredResourceQuery<T = unknown> extends StoredResourceQueryInfo {
37
+ data: T;
38
+ }
39
+ export interface ResourceStoreByteTotals {
40
+ queries: number;
41
+ content: number;
42
+ }
43
+ /** Content by identity: a review `diffHash`, a git blob id, or an artifact manifest `sha256`. */
44
+ export interface ContentKey {
45
+ kind: 'diff' | 'blob' | 'artifact';
46
+ id: string;
47
+ }
48
+ export interface StoredResourceContentInfo extends ContentKey {
49
+ bytes: number;
50
+ origin: ResourceContentOrigin;
51
+ cohort: ResourceContentCohort;
52
+ accessedAt: number;
53
+ }
54
+ export interface StoredResourceContent extends StoredResourceContentInfo {
55
+ data: Uint8Array;
56
+ }
57
+ /** One row of a row-backed query entry; for the run list, one live run. */
58
+ export interface StoredResourceRow {
59
+ /** Unique within its entry: the run id. */
60
+ id: string;
61
+ /** The version the row was served under. */
62
+ version: string;
63
+ /** Always kept: the JSON that filters, search, sorting and totals read. */
64
+ projection: unknown;
65
+ /** The full row as served. Absent past the bound, so the row counts as missing. */
66
+ body?: unknown;
67
+ /** UTF-8 JSON bytes of projection plus body, as the cache counts them. */
68
+ bytes: number;
69
+ }
70
+ export interface ResourceRowsMerge {
71
+ /** The owning entry, written in the same transaction. Its `bytes` covers its rows after the merge. */
72
+ entry: StoredResourceQuery;
73
+ /** Inserted, or replaced whole, by id. */
74
+ upserts: readonly StoredResourceRow[];
75
+ /**
76
+ * Removed by id; ids with no row are ignored. Deletes apply before upserts, so a row deleted and
77
+ * upserted in the same merge stays stored.
78
+ */
79
+ deletes: readonly string[];
80
+ }
81
+ export interface StoredResourceRows {
82
+ entry?: StoredResourceQuery;
83
+ rows: StoredResourceRow[];
84
+ }
85
+ /** Experimental store seam. deleteAll seals this incarnation against late reads and writes. */
86
+ export interface ResourceStore {
87
+ readonly persistent: boolean;
88
+ readonly deleted: boolean;
89
+ onDeleted(listener: () => void): () => void;
90
+ getMetadata(): Promise<ResourceStoreMetadata | undefined>;
91
+ setMetadata(metadata: ResourceStoreMetadata): Promise<void>;
92
+ getQuery<T = unknown>(id: string): Promise<StoredResourceQuery<T> | undefined>;
93
+ putQuery<T>(entry: StoredResourceQuery<T>): Promise<void>;
94
+ deleteQuery(id: string): Promise<void>;
95
+ /** Access recency never changes observation age. Optional for older custom stores. */
96
+ touchQuery?(id: string, accessedAt: number, origin?: ResourceContentOrigin): Promise<void>;
97
+ listQueries(): Promise<StoredResourceQueryInfo[]>;
98
+ /**
99
+ * The entry and every row of `queryId`, from one serial read, so a hydrate never straddles a
100
+ * merge. Rows belong to the entry with their query id: putQuery keeps them, and deleteQuery and
101
+ * deleteAll remove them. Optional for older custom stores, whose run lists then stay in memory.
102
+ */
103
+ getRows?(queryId: string): Promise<StoredResourceRows>;
104
+ /** Writes `merge.entry`, then its deletes and upserts, in one transaction: all or nothing. */
105
+ mergeRows?(queryId: string, merge: ResourceRowsMerge): Promise<void>;
106
+ /** Presence only, without loading the bytes. */
107
+ hasContent(key: ContentKey): Promise<boolean>;
108
+ getContent(key: ContentKey): Promise<StoredResourceContent | undefined>;
109
+ putContent(entry: StoredResourceContent): Promise<void>;
110
+ /** Points an alias at held content, replacing its previous target; deleting the content drops it. */
111
+ putContentAlias(alias: string, key: ContentKey): Promise<void>;
112
+ getContentByAlias(alias: string): Promise<StoredResourceContent | undefined>;
113
+ /** Recency only, plus an optional origin change; the bytes are never rewritten. */
114
+ touchContent(key: ContentKey, accessedAt: number, origin?: ResourceContentOrigin): Promise<void>;
115
+ /** Refreshes recency and applies only a stronger origin ('opened') or cohort ('gate'). */
116
+ retainContent(key: ContentKey, accessedAt: number, placement: ResourceContentPlacement): Promise<void>;
117
+ deleteContent(key: ContentKey): Promise<void>;
118
+ listContent(): Promise<StoredResourceContentInfo[]>;
119
+ byteTotals(): Promise<ResourceStoreByteTotals>;
120
+ deleteAll(): Promise<void>;
121
+ close(): Promise<void>;
122
+ }
123
+ export declare function resourceContentId(key: ContentKey): string;
124
+ export declare function resourceStoreScopeId(scope: ResourceStoreScope): string;
125
+ export declare function normalizeResourceStoreScope(scope: ResourceStoreScope): ResourceStoreScope;
126
+ export declare function sameResourceAuthority(a: ResourceStoreAuthority, b: ResourceStoreAuthority): boolean;
127
+ export declare function createMemoryResourceStore(): ResourceStore;
128
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/client-cache/store.ts"],"names":[],"mappings":"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"}