@farmslot/protocol 0.73.2 → 0.74.1

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 (194) hide show
  1. package/CHANGELOG.md +22 -8
  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/acceptance-registration.d.ts +0 -6
  76. package/dist/contracts/acceptance-registration.d.ts.map +1 -1
  77. package/dist/contracts/provider-accounts.d.ts +31 -0
  78. package/dist/contracts/provider-accounts.d.ts.map +1 -1
  79. package/dist/contracts/provider-accounts.js +209 -1
  80. package/dist/contracts/provider-accounts.js.map +1 -1
  81. package/dist/contracts/run-bundles.d.ts.map +1 -1
  82. package/dist/contracts/run-bundles.js +2 -0
  83. package/dist/contracts/run-bundles.js.map +1 -1
  84. package/dist/contracts/runs.d.ts +5 -20
  85. package/dist/contracts/runs.d.ts.map +1 -1
  86. package/dist/contracts/runs.js +5 -21
  87. package/dist/contracts/runs.js.map +1 -1
  88. package/dist/contracts/worker-terminal.d.ts +0 -3
  89. package/dist/contracts/worker-terminal.d.ts.map +1 -1
  90. package/dist/contracts/worker-terminal.js.map +1 -1
  91. package/dist/index.d.ts +4 -1
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +4 -1
  94. package/dist/index.js.map +1 -1
  95. package/dist/person-session-client.d.ts +4 -1
  96. package/dist/person-session-client.d.ts.map +1 -1
  97. package/dist/person-session-client.js.map +1 -1
  98. package/dist/rpc/auth.d.ts +17 -0
  99. package/dist/rpc/auth.d.ts.map +1 -1
  100. package/dist/rpc/auth.js.map +1 -1
  101. package/dist/rpc/config.d.ts +2 -0
  102. package/dist/rpc/config.d.ts.map +1 -1
  103. package/dist/rpc/config.js.map +1 -1
  104. package/dist/rpc/fs.d.ts +110 -4
  105. package/dist/rpc/fs.d.ts.map +1 -1
  106. package/dist/rpc/fs.js +7 -1
  107. package/dist/rpc/fs.js.map +1 -1
  108. package/dist/rpc/gateway.d.ts +3 -0
  109. package/dist/rpc/gateway.d.ts.map +1 -1
  110. package/dist/rpc/git.d.ts +42 -0
  111. package/dist/rpc/git.d.ts.map +1 -1
  112. package/dist/rpc/index.d.ts +1 -0
  113. package/dist/rpc/index.d.ts.map +1 -1
  114. package/dist/rpc/index.js +1 -0
  115. package/dist/rpc/index.js.map +1 -1
  116. package/dist/rpc/native-session.d.ts +2 -0
  117. package/dist/rpc/native-session.d.ts.map +1 -1
  118. package/dist/rpc/native-session.js.map +1 -1
  119. package/dist/rpc/nodes.d.ts +2 -0
  120. package/dist/rpc/nodes.d.ts.map +1 -1
  121. package/dist/rpc/nodes.js.map +1 -1
  122. package/dist/rpc/pr-observations.d.ts +22 -0
  123. package/dist/rpc/pr-observations.d.ts.map +1 -0
  124. package/dist/rpc/pr-observations.js +104 -0
  125. package/dist/rpc/pr-observations.js.map +1 -0
  126. package/dist/rpc/pr.d.ts +9 -0
  127. package/dist/rpc/pr.d.ts.map +1 -1
  128. package/dist/rpc/pr.js +1 -1
  129. package/dist/rpc/pr.js.map +1 -1
  130. package/dist/rpc/principal.d.ts +2 -0
  131. package/dist/rpc/principal.d.ts.map +1 -1
  132. package/dist/rpc/registry.d.ts +1 -0
  133. package/dist/rpc/registry.d.ts.map +1 -1
  134. package/dist/rpc/registry.js +2 -0
  135. package/dist/rpc/registry.js.map +1 -1
  136. package/dist/rpc/resource-observers.d.ts +32 -0
  137. package/dist/rpc/resource-observers.d.ts.map +1 -0
  138. package/dist/rpc/resource-observers.js +2 -0
  139. package/dist/rpc/resource-observers.js.map +1 -0
  140. package/dist/rpc/run.d.ts +23 -0
  141. package/dist/rpc/run.d.ts.map +1 -1
  142. package/dist/rpc/run.js.map +1 -1
  143. package/dist/rpc/runner-models.d.ts +15 -0
  144. package/dist/rpc/runner-models.d.ts.map +1 -1
  145. package/dist/rpc/runner-models.js +91 -0
  146. package/dist/rpc/runner-models.js.map +1 -1
  147. package/dist/runs/review-diff-identity.d.ts +15 -0
  148. package/dist/runs/review-diff-identity.d.ts.map +1 -0
  149. package/dist/runs/review-diff-identity.js +47 -0
  150. package/dist/runs/review-diff-identity.js.map +1 -0
  151. package/dist/runs/run-list-filter.d.ts +33 -0
  152. package/dist/runs/run-list-filter.d.ts.map +1 -0
  153. package/dist/runs/run-list-filter.js +116 -0
  154. package/dist/runs/run-list-filter.js.map +1 -0
  155. package/dist/runs/run-list-observation.d.ts +5 -0
  156. package/dist/runs/run-list-observation.d.ts.map +1 -0
  157. package/dist/runs/run-list-observation.js +36 -0
  158. package/dist/runs/run-list-observation.js.map +1 -0
  159. package/dist/runs/run-list-view.d.ts +6 -2
  160. package/dist/runs/run-list-view.d.ts.map +1 -1
  161. package/dist/runs/run-list-view.js +10 -4
  162. package/dist/runs/run-list-view.js.map +1 -1
  163. package/dist/slots/cancelled-run-slot.d.ts +2 -1
  164. package/dist/slots/cancelled-run-slot.d.ts.map +1 -1
  165. package/dist/sources/client.d.ts +10 -1
  166. package/dist/sources/client.d.ts.map +1 -1
  167. package/dist/sources/client.js +23 -4
  168. package/dist/sources/client.js.map +1 -1
  169. package/dist/sources/controller.d.ts +13 -14
  170. package/dist/sources/controller.d.ts.map +1 -1
  171. package/dist/sources/controller.js +87 -82
  172. package/dist/sources/controller.js.map +1 -1
  173. package/dist/sources/status-view.d.ts +2 -0
  174. package/dist/sources/status-view.d.ts.map +1 -1
  175. package/dist/sources/status-view.js +13 -0
  176. package/dist/sources/status-view.js.map +1 -1
  177. package/dist/transport/events.d.ts +1 -4
  178. package/dist/transport/events.d.ts.map +1 -1
  179. package/dist/transport/events.js +1 -0
  180. package/dist/transport/events.js.map +1 -1
  181. package/dist/transport/frames.d.ts +6 -0
  182. package/dist/transport/frames.d.ts.map +1 -1
  183. package/dist/transport/frames.js.map +1 -1
  184. package/dist/transport/observations.d.ts +24 -0
  185. package/dist/transport/observations.d.ts.map +1 -0
  186. package/dist/transport/observations.js +2 -0
  187. package/dist/transport/observations.js.map +1 -0
  188. package/dist/version.d.ts +1 -1
  189. package/dist/version.js +1 -1
  190. package/package.json +1 -1
  191. package/dist/sources/changes.d.ts +0 -37
  192. package/dist/sources/changes.d.ts.map +0 -1
  193. package/dist/sources/changes.js +0 -79
  194. package/dist/sources/changes.js.map +0 -1
@@ -0,0 +1,1365 @@
1
+ import { providerAccountsDependencies, providerAccountsObservationParams, providerAccountsStoredData } from '../contracts/provider-accounts.js';
2
+ import type { ConfigGitHubAccountsResult } from '../rpc/config.js';
3
+ import type { GatewayStatusResult } from '../rpc/gateway.js';
4
+ import { prForSlotObservationParams, prForSlotStoredData, prReviewCommentsObservationParams, prReviewCommentsStoredData, prStatusObservationParams, prStatusStoredData } from '../rpc/pr-observations.js';
5
+ import type { UpstreamObservation } from '../rpc/resource-observers.js';
6
+ import { runnerModelCatalogObservationParams, runnerModelCatalogStoredData, runnerVisibleModelsObservationParams, runnerVisibleModelsStoredData } from '../rpc/runner-models.js';
7
+ import { analyticsParams, assessmentHistoryParams, observerEvidenceParams, sessionContextParams, triageParams } from './d07-domains.js';
8
+ import { type ResourceKey } from './keys.js';
9
+ import { nativeHistoryParams } from './native-history.js';
10
+ export interface ResourceQueryRetention {
11
+ readonly maxEntries: number;
12
+ readonly maxBytes: number;
13
+ readonly cohort?: string;
14
+ readonly groups?: readonly string[];
15
+ }
16
+ export interface ResourceQueryDefinition {
17
+ persisted: boolean;
18
+ maxBytes: number;
19
+ /** Shared bound across this method's canonical query entries. */
20
+ retention?: ResourceQueryRetention;
21
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
22
+ timeoutMs?: number;
23
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
24
+ live: boolean;
25
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
26
+ collector?: 'github' | 'gateway-update' | 'providers';
27
+ /**
28
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
29
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
30
+ */
31
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
32
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
33
+ persistedData?(data: unknown): unknown;
34
+ /** Requires the experimental server observed-read dispatch contract. */
35
+ requiresObservedRead?: boolean;
36
+ requiresWorkspaceRead?: boolean;
37
+ /** Observation parameters can exclude imperative variants of an existing read method. */
38
+ normalizeParams?(params: unknown): unknown;
39
+ retentionGroups?(params: unknown): string[];
40
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
41
+ }
42
+ export declare const UPSTREAM_QUERY_MAX_BYTES: number;
43
+ declare function planningObservationParams(params: unknown): Record<string, unknown>;
44
+ declare function roadmapListObservationParams(params: unknown): Record<string, unknown>;
45
+ declare function workerInventoryParams(params: unknown): Record<string, unknown>;
46
+ declare function prListObservationParams(params: unknown): Record<string, unknown>;
47
+ declare function upstreamRefreshObservationParams(params: unknown): Record<string, never>;
48
+ declare function githubAccountsStoredData(data: unknown): ConfigGitHubAccountsResult;
49
+ /** Durable update facts only: Git/process diagnostics, paths and PIDs stay in the live reply. */
50
+ declare function gatewayStatusStoredData(data: unknown): GatewayStatusResult;
51
+ /** A local slot answer (no PR lookup applies) is explicit, not a missing upstream observation. */
52
+ declare function prForSlotSourceObservation(data: unknown): UpstreamObservation | null | undefined;
53
+ /** Only a runner with no catalog source answers without an observation; collected sources never do. */
54
+ declare function runnerModelCatalogSourceObservation(data: unknown): UpstreamObservation | null | undefined;
55
+ export declare function upstreamSourceObservation(data: unknown): UpstreamObservation | undefined;
56
+ /** Closed to runtime registration. Each migration changes its owning definition here. */
57
+ export declare const RESOURCE_QUERY_DEFINITIONS: {
58
+ "gateway.status": {
59
+ persisted: true;
60
+ maxBytes: number;
61
+ retention: {
62
+ maxEntries: number;
63
+ maxBytes: number;
64
+ cohort: string;
65
+ };
66
+ timeoutMs: number;
67
+ live: true;
68
+ collector: "gateway-update";
69
+ sourceObservation: typeof upstreamSourceObservation;
70
+ persistedData: typeof gatewayStatusStoredData;
71
+ normalizeParams: typeof upstreamRefreshObservationParams;
72
+ dependencies: () => {
73
+ family: "gateway-update";
74
+ scope: "gateway";
75
+ }[];
76
+ };
77
+ "config.githubAccounts": {
78
+ persisted: true;
79
+ maxBytes: number;
80
+ retention: {
81
+ maxEntries: number;
82
+ maxBytes: number;
83
+ cohort: string;
84
+ };
85
+ timeoutMs: number;
86
+ live: true;
87
+ collector: "github";
88
+ sourceObservation: typeof upstreamSourceObservation;
89
+ persistedData: typeof githubAccountsStoredData;
90
+ normalizeParams: typeof upstreamRefreshObservationParams;
91
+ dependencies: () => {
92
+ family: "upstream";
93
+ integration: "github";
94
+ queryId: string;
95
+ }[];
96
+ };
97
+ "pr.list": {
98
+ persisted: true;
99
+ maxBytes: number;
100
+ retention: {
101
+ maxEntries: number;
102
+ maxBytes: number;
103
+ cohort: string;
104
+ };
105
+ timeoutMs: number;
106
+ live: true;
107
+ collector: "github";
108
+ sourceObservation: typeof upstreamSourceObservation;
109
+ normalizeParams: typeof prListObservationParams;
110
+ dependencies: (params: unknown) => ({
111
+ family: "upstream";
112
+ integration: "github";
113
+ queryId: string;
114
+ scope?: undefined;
115
+ } | {
116
+ family: "runs";
117
+ scope: "farm";
118
+ integration?: undefined;
119
+ queryId?: undefined;
120
+ } | {
121
+ family: "slots";
122
+ scope: "farm";
123
+ integration?: undefined;
124
+ queryId?: undefined;
125
+ } | {
126
+ family: "workers";
127
+ scope: "farm";
128
+ integration?: undefined;
129
+ queryId?: undefined;
130
+ } | {
131
+ family: "configuration";
132
+ scope: "farm";
133
+ integration?: undefined;
134
+ queryId?: undefined;
135
+ } | {
136
+ family: "sources";
137
+ scope: "farm";
138
+ integration?: undefined;
139
+ queryId?: undefined;
140
+ })[];
141
+ };
142
+ "pr.status": {
143
+ persistedData: typeof prStatusStoredData;
144
+ normalizeParams: typeof prStatusObservationParams;
145
+ dependencies: (params: unknown) => ResourceKey[];
146
+ persisted: true;
147
+ maxBytes: number;
148
+ retention: {
149
+ readonly maxEntries: number;
150
+ readonly maxBytes: number;
151
+ readonly cohort: "upstream";
152
+ };
153
+ timeoutMs: 30000;
154
+ live: true;
155
+ collector: "github";
156
+ sourceObservation: typeof upstreamSourceObservation;
157
+ };
158
+ "pr.forSlot": {
159
+ sourceObservation: typeof prForSlotSourceObservation;
160
+ persistedData: typeof prForSlotStoredData;
161
+ normalizeParams: typeof prForSlotObservationParams;
162
+ dependencies: (params: unknown) => ResourceKey[];
163
+ persisted: true;
164
+ maxBytes: number;
165
+ retention: {
166
+ readonly maxEntries: number;
167
+ readonly maxBytes: number;
168
+ readonly cohort: "upstream";
169
+ };
170
+ timeoutMs: 30000;
171
+ live: true;
172
+ collector: "github";
173
+ };
174
+ "pr.reviewComments": {
175
+ persistedData: typeof prReviewCommentsStoredData;
176
+ normalizeParams: typeof prReviewCommentsObservationParams;
177
+ dependencies: (params: unknown) => ResourceKey[];
178
+ persisted: true;
179
+ maxBytes: number;
180
+ retention: {
181
+ readonly maxEntries: number;
182
+ readonly maxBytes: number;
183
+ readonly cohort: "upstream";
184
+ };
185
+ timeoutMs: 30000;
186
+ live: true;
187
+ collector: "github";
188
+ sourceObservation: typeof upstreamSourceObservation;
189
+ };
190
+ "runner.modelCatalog": {
191
+ persisted: true;
192
+ maxBytes: number;
193
+ retention: {
194
+ maxEntries: number;
195
+ maxBytes: number;
196
+ cohort: string;
197
+ };
198
+ timeoutMs: number;
199
+ live: true;
200
+ collector: "providers";
201
+ sourceObservation: typeof runnerModelCatalogSourceObservation;
202
+ persistedData: typeof runnerModelCatalogStoredData;
203
+ normalizeParams: typeof runnerModelCatalogObservationParams;
204
+ dependencies: (params: unknown) => ResourceKey[];
205
+ };
206
+ "providerAccounts.snapshot": {
207
+ persisted: true;
208
+ maxBytes: number;
209
+ retention: {
210
+ maxEntries: number;
211
+ maxBytes: number;
212
+ cohort: string;
213
+ };
214
+ timeoutMs: number;
215
+ live: true;
216
+ collector: "providers";
217
+ sourceObservation: typeof upstreamSourceObservation;
218
+ persistedData: typeof providerAccountsStoredData;
219
+ normalizeParams: typeof providerAccountsObservationParams;
220
+ dependencies: typeof providerAccountsDependencies;
221
+ };
222
+ "runner.visibleModels.get": {
223
+ persisted: true;
224
+ maxBytes: number;
225
+ retention: {
226
+ maxEntries: number;
227
+ maxBytes: number;
228
+ };
229
+ live: true;
230
+ requiresObservedRead: true;
231
+ persistedData: typeof runnerVisibleModelsStoredData;
232
+ normalizeParams: typeof runnerVisibleModelsObservationParams;
233
+ dependencies: (_params: unknown, readerId?: string) => {
234
+ family: "profiles";
235
+ scope: "owner";
236
+ ownerId: string;
237
+ }[];
238
+ };
239
+ "prWatch.list": ResourceQueryDefinition;
240
+ "prWatch.get": {
241
+ normalizeParams: (params: unknown) => Record<string, unknown>;
242
+ persisted: boolean;
243
+ maxBytes: number;
244
+ /** Shared bound across this method's canonical query entries. */
245
+ retention?: ResourceQueryRetention;
246
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
247
+ timeoutMs?: number;
248
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
249
+ live: boolean;
250
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
251
+ collector?: "github" | "gateway-update" | "providers";
252
+ /**
253
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
254
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
255
+ */
256
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
257
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
258
+ persistedData?(data: unknown): unknown;
259
+ /** Requires the experimental server observed-read dispatch contract. */
260
+ requiresObservedRead?: boolean;
261
+ requiresWorkspaceRead?: boolean;
262
+ retentionGroups?(params: unknown): string[];
263
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
264
+ };
265
+ "prRules.list": ResourceQueryDefinition;
266
+ "prReview.get": {
267
+ normalizeParams: (params: unknown) => Record<string, unknown>;
268
+ persisted: boolean;
269
+ maxBytes: number;
270
+ /** Shared bound across this method's canonical query entries. */
271
+ retention?: ResourceQueryRetention;
272
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
273
+ timeoutMs?: number;
274
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
275
+ live: boolean;
276
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
277
+ collector?: "github" | "gateway-update" | "providers";
278
+ /**
279
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
280
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
281
+ */
282
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
283
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
284
+ persistedData?(data: unknown): unknown;
285
+ /** Requires the experimental server observed-read dispatch contract. */
286
+ requiresObservedRead?: boolean;
287
+ requiresWorkspaceRead?: boolean;
288
+ retentionGroups?(params: unknown): string[];
289
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
290
+ };
291
+ "prPush.list": ResourceQueryDefinition;
292
+ "assessment.list": {
293
+ normalizeParams: typeof assessmentHistoryParams;
294
+ persisted: boolean;
295
+ maxBytes: number;
296
+ /** Shared bound across this method's canonical query entries. */
297
+ retention?: ResourceQueryRetention;
298
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
299
+ timeoutMs?: number;
300
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
301
+ live: boolean;
302
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
303
+ collector?: "github" | "gateway-update" | "providers";
304
+ /**
305
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
306
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
307
+ */
308
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
309
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
310
+ persistedData?(data: unknown): unknown;
311
+ /** Requires the experimental server observed-read dispatch contract. */
312
+ requiresObservedRead?: boolean;
313
+ requiresWorkspaceRead?: boolean;
314
+ retentionGroups?(params: unknown): string[];
315
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
316
+ };
317
+ "assessment.get": {
318
+ normalizeParams: (params: unknown) => Record<string, unknown>;
319
+ persisted: boolean;
320
+ maxBytes: number;
321
+ /** Shared bound across this method's canonical query entries. */
322
+ retention?: ResourceQueryRetention;
323
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
324
+ timeoutMs?: number;
325
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
326
+ live: boolean;
327
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
328
+ collector?: "github" | "gateway-update" | "providers";
329
+ /**
330
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
331
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
332
+ */
333
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
334
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
335
+ persistedData?(data: unknown): unknown;
336
+ /** Requires the experimental server observed-read dispatch contract. */
337
+ requiresObservedRead?: boolean;
338
+ requiresWorkspaceRead?: boolean;
339
+ retentionGroups?(params: unknown): string[];
340
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
341
+ };
342
+ "assessment.summary": ResourceQueryDefinition;
343
+ "assessment.report": {
344
+ normalizeParams: (params: unknown) => Record<string, unknown>;
345
+ persisted: boolean;
346
+ maxBytes: number;
347
+ /** Shared bound across this method's canonical query entries. */
348
+ retention?: ResourceQueryRetention;
349
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
350
+ timeoutMs?: number;
351
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
352
+ live: boolean;
353
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
354
+ collector?: "github" | "gateway-update" | "providers";
355
+ /**
356
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
357
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
358
+ */
359
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
360
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
361
+ persistedData?(data: unknown): unknown;
362
+ /** Requires the experimental server observed-read dispatch contract. */
363
+ requiresObservedRead?: boolean;
364
+ requiresWorkspaceRead?: boolean;
365
+ retentionGroups?(params: unknown): string[];
366
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
367
+ };
368
+ "assessment.status": {
369
+ dependencies: () => ResourceKey[];
370
+ persisted: boolean;
371
+ maxBytes: number;
372
+ /** Shared bound across this method's canonical query entries. */
373
+ retention?: ResourceQueryRetention;
374
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
375
+ timeoutMs?: number;
376
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
377
+ live: boolean;
378
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
379
+ collector?: "github" | "gateway-update" | "providers";
380
+ /**
381
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
382
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
383
+ */
384
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
385
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
386
+ persistedData?(data: unknown): unknown;
387
+ /** Requires the experimental server observed-read dispatch contract. */
388
+ requiresObservedRead?: boolean;
389
+ requiresWorkspaceRead?: boolean;
390
+ /** Observation parameters can exclude imperative variants of an existing read method. */
391
+ normalizeParams?(params: unknown): unknown;
392
+ retentionGroups?(params: unknown): string[];
393
+ };
394
+ "decision.advice.get": {
395
+ normalizeParams: (params: unknown) => Record<string, unknown>;
396
+ dependencies: (params: unknown) => ResourceKey[];
397
+ persisted: boolean;
398
+ maxBytes: number;
399
+ /** Shared bound across this method's canonical query entries. */
400
+ retention?: ResourceQueryRetention;
401
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
402
+ timeoutMs?: number;
403
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
404
+ live: boolean;
405
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
406
+ collector?: "github" | "gateway-update" | "providers";
407
+ /**
408
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
409
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
410
+ */
411
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
412
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
413
+ persistedData?(data: unknown): unknown;
414
+ /** Requires the experimental server observed-read dispatch contract. */
415
+ requiresObservedRead?: boolean;
416
+ requiresWorkspaceRead?: boolean;
417
+ retentionGroups?(params: unknown): string[];
418
+ };
419
+ "intelligence.triage.get": {
420
+ normalizeParams: typeof triageParams;
421
+ dependencies: (params: unknown) => ResourceKey[];
422
+ persisted: boolean;
423
+ maxBytes: number;
424
+ /** Shared bound across this method's canonical query entries. */
425
+ retention?: ResourceQueryRetention;
426
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
427
+ timeoutMs?: number;
428
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
429
+ live: boolean;
430
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
431
+ collector?: "github" | "gateway-update" | "providers";
432
+ /**
433
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
434
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
435
+ */
436
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
437
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
438
+ persistedData?(data: unknown): unknown;
439
+ /** Requires the experimental server observed-read dispatch contract. */
440
+ requiresObservedRead?: boolean;
441
+ requiresWorkspaceRead?: boolean;
442
+ retentionGroups?(params: unknown): string[];
443
+ };
444
+ "analytics.query": {
445
+ normalizeParams: typeof analyticsParams;
446
+ dependencies: () => {
447
+ family: "analytics";
448
+ scope: "farm";
449
+ }[];
450
+ persisted: boolean;
451
+ maxBytes: number;
452
+ /** Shared bound across this method's canonical query entries. */
453
+ retention?: ResourceQueryRetention;
454
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
455
+ timeoutMs?: number;
456
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
457
+ live: boolean;
458
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
459
+ collector?: "github" | "gateway-update" | "providers";
460
+ /**
461
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
462
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
463
+ */
464
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
465
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
466
+ persistedData?(data: unknown): unknown;
467
+ /** Requires the experimental server observed-read dispatch contract. */
468
+ requiresObservedRead?: boolean;
469
+ requiresWorkspaceRead?: boolean;
470
+ retentionGroups?(params: unknown): string[];
471
+ };
472
+ "copilot.status": {
473
+ timeoutMs: number;
474
+ dependencies: () => ({
475
+ readonly family: "copilot";
476
+ readonly ownerId: "gateway-copilot";
477
+ } | {
478
+ family: "runs";
479
+ scope: "farm";
480
+ } | {
481
+ family: "slots";
482
+ scope: "farm";
483
+ } | {
484
+ family: "workers";
485
+ scope: "farm";
486
+ } | {
487
+ family: "configuration";
488
+ scope: "farm";
489
+ } | {
490
+ family: "sources";
491
+ scope: "farm";
492
+ })[];
493
+ persisted: boolean;
494
+ maxBytes: number;
495
+ /** Shared bound across this method's canonical query entries. */
496
+ retention?: ResourceQueryRetention;
497
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
498
+ live: boolean;
499
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
500
+ collector?: "github" | "gateway-update" | "providers";
501
+ /**
502
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
503
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
504
+ */
505
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
506
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
507
+ persistedData?(data: unknown): unknown;
508
+ /** Requires the experimental server observed-read dispatch contract. */
509
+ requiresObservedRead?: boolean;
510
+ requiresWorkspaceRead?: boolean;
511
+ /** Observation parameters can exclude imperative variants of an existing read method. */
512
+ normalizeParams?(params: unknown): unknown;
513
+ retentionGroups?(params: unknown): string[];
514
+ };
515
+ "chat.context": {
516
+ dependencies: () => ({
517
+ readonly family: "copilot";
518
+ readonly ownerId: "gateway-copilot";
519
+ } | {
520
+ family: "runs";
521
+ scope: "farm";
522
+ collection?: undefined;
523
+ } | {
524
+ family: "slots";
525
+ scope: "farm";
526
+ collection?: undefined;
527
+ } | {
528
+ family: "decisions";
529
+ scope: "farm";
530
+ collection?: undefined;
531
+ } | {
532
+ family: "planning";
533
+ collection: "dispatch-queue";
534
+ scope?: undefined;
535
+ })[];
536
+ persisted: boolean;
537
+ maxBytes: number;
538
+ /** Shared bound across this method's canonical query entries. */
539
+ retention?: ResourceQueryRetention;
540
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
541
+ timeoutMs?: number;
542
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
543
+ live: boolean;
544
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
545
+ collector?: "github" | "gateway-update" | "providers";
546
+ /**
547
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
548
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
549
+ */
550
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
551
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
552
+ persistedData?(data: unknown): unknown;
553
+ /** Requires the experimental server observed-read dispatch contract. */
554
+ requiresObservedRead?: boolean;
555
+ requiresWorkspaceRead?: boolean;
556
+ /** Observation parameters can exclude imperative variants of an existing read method. */
557
+ normalizeParams?(params: unknown): unknown;
558
+ retentionGroups?(params: unknown): string[];
559
+ };
560
+ "chat.observerEvidence": {
561
+ normalizeParams: typeof observerEvidenceParams;
562
+ dependencies: () => {
563
+ readonly family: "copilot";
564
+ readonly ownerId: "gateway-copilot";
565
+ }[];
566
+ persisted: boolean;
567
+ maxBytes: number;
568
+ /** Shared bound across this method's canonical query entries. */
569
+ retention?: ResourceQueryRetention;
570
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
571
+ timeoutMs?: number;
572
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
573
+ live: boolean;
574
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
575
+ collector?: "github" | "gateway-update" | "providers";
576
+ /**
577
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
578
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
579
+ */
580
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
581
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
582
+ persistedData?(data: unknown): unknown;
583
+ /** Requires the experimental server observed-read dispatch contract. */
584
+ requiresObservedRead?: boolean;
585
+ requiresWorkspaceRead?: boolean;
586
+ retentionGroups?(params: unknown): string[];
587
+ };
588
+ "chat.sessionContext": {
589
+ normalizeParams: typeof sessionContextParams;
590
+ dependencies: (params: unknown) => ({
591
+ readonly family: "copilot";
592
+ readonly ownerId: "gateway-copilot";
593
+ } | {
594
+ sessionId: string;
595
+ family: "copilot";
596
+ ownerId: "gateway-copilot";
597
+ })[];
598
+ persisted: boolean;
599
+ maxBytes: number;
600
+ /** Shared bound across this method's canonical query entries. */
601
+ retention?: ResourceQueryRetention;
602
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
603
+ timeoutMs?: number;
604
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
605
+ live: boolean;
606
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
607
+ collector?: "github" | "gateway-update" | "providers";
608
+ /**
609
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
610
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
611
+ */
612
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
613
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
614
+ persistedData?(data: unknown): unknown;
615
+ /** Requires the experimental server observed-read dispatch contract. */
616
+ requiresObservedRead?: boolean;
617
+ requiresWorkspaceRead?: boolean;
618
+ retentionGroups?(params: unknown): string[];
619
+ };
620
+ "config.projects": {
621
+ persisted: true;
622
+ retention: {
623
+ maxEntries: number;
624
+ maxBytes: number;
625
+ };
626
+ maxBytes: number;
627
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
628
+ timeoutMs?: number;
629
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
630
+ live: boolean;
631
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
632
+ collector?: "github" | "gateway-update" | "providers";
633
+ /**
634
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
635
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
636
+ */
637
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
638
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
639
+ persistedData?(data: unknown): unknown;
640
+ /** Requires the experimental server observed-read dispatch contract. */
641
+ requiresObservedRead?: boolean;
642
+ requiresWorkspaceRead?: boolean;
643
+ /** Observation parameters can exclude imperative variants of an existing read method. */
644
+ normalizeParams?(params: unknown): unknown;
645
+ retentionGroups?(params: unknown): string[];
646
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
647
+ };
648
+ "config.pools": ResourceQueryDefinition;
649
+ "config.pool": {
650
+ normalizeParams: (params: unknown) => Record<string, unknown>;
651
+ persisted: boolean;
652
+ maxBytes: number;
653
+ /** Shared bound across this method's canonical query entries. */
654
+ retention?: ResourceQueryRetention;
655
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
656
+ timeoutMs?: number;
657
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
658
+ live: boolean;
659
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
660
+ collector?: "github" | "gateway-update" | "providers";
661
+ /**
662
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
663
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
664
+ */
665
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
666
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
667
+ persistedData?(data: unknown): unknown;
668
+ /** Requires the experimental server observed-read dispatch contract. */
669
+ requiresObservedRead?: boolean;
670
+ requiresWorkspaceRead?: boolean;
671
+ retentionGroups?(params: unknown): string[];
672
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
673
+ };
674
+ "config.pool.raw": {
675
+ normalizeParams: (params: unknown) => Record<string, unknown>;
676
+ persisted: boolean;
677
+ maxBytes: number;
678
+ /** Shared bound across this method's canonical query entries. */
679
+ retention?: ResourceQueryRetention;
680
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
681
+ timeoutMs?: number;
682
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
683
+ live: boolean;
684
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
685
+ collector?: "github" | "gateway-update" | "providers";
686
+ /**
687
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
688
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
689
+ */
690
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
691
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
692
+ persistedData?(data: unknown): unknown;
693
+ /** Requires the experimental server observed-read dispatch contract. */
694
+ requiresObservedRead?: boolean;
695
+ requiresWorkspaceRead?: boolean;
696
+ retentionGroups?(params: unknown): string[];
697
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
698
+ };
699
+ "config.project": {
700
+ normalizeParams: (params: unknown) => Record<string, unknown>;
701
+ persisted: boolean;
702
+ maxBytes: number;
703
+ /** Shared bound across this method's canonical query entries. */
704
+ retention?: ResourceQueryRetention;
705
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
706
+ timeoutMs?: number;
707
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
708
+ live: boolean;
709
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
710
+ collector?: "github" | "gateway-update" | "providers";
711
+ /**
712
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
713
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
714
+ */
715
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
716
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
717
+ persistedData?(data: unknown): unknown;
718
+ /** Requires the experimental server observed-read dispatch contract. */
719
+ requiresObservedRead?: boolean;
720
+ requiresWorkspaceRead?: boolean;
721
+ retentionGroups?(params: unknown): string[];
722
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
723
+ };
724
+ "config.templates": {
725
+ normalizeParams: (params: unknown) => Record<string, unknown>;
726
+ persisted: boolean;
727
+ maxBytes: number;
728
+ /** Shared bound across this method's canonical query entries. */
729
+ retention?: ResourceQueryRetention;
730
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
731
+ timeoutMs?: number;
732
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
733
+ live: boolean;
734
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
735
+ collector?: "github" | "gateway-update" | "providers";
736
+ /**
737
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
738
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
739
+ */
740
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
741
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
742
+ persistedData?(data: unknown): unknown;
743
+ /** Requires the experimental server observed-read dispatch contract. */
744
+ requiresObservedRead?: boolean;
745
+ requiresWorkspaceRead?: boolean;
746
+ retentionGroups?(params: unknown): string[];
747
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
748
+ };
749
+ "config.templateOptions": {
750
+ normalizeParams: (params: unknown) => Record<string, unknown>;
751
+ persisted: boolean;
752
+ maxBytes: number;
753
+ /** Shared bound across this method's canonical query entries. */
754
+ retention?: ResourceQueryRetention;
755
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
756
+ timeoutMs?: number;
757
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
758
+ live: boolean;
759
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
760
+ collector?: "github" | "gateway-update" | "providers";
761
+ /**
762
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
763
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
764
+ */
765
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
766
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
767
+ persistedData?(data: unknown): unknown;
768
+ /** Requires the experimental server observed-read dispatch contract. */
769
+ requiresObservedRead?: boolean;
770
+ requiresWorkspaceRead?: boolean;
771
+ retentionGroups?(params: unknown): string[];
772
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
773
+ };
774
+ "config.templatePreview": {
775
+ normalizeParams: (params: unknown) => Record<string, unknown>;
776
+ persisted: boolean;
777
+ maxBytes: number;
778
+ /** Shared bound across this method's canonical query entries. */
779
+ retention?: ResourceQueryRetention;
780
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
781
+ timeoutMs?: number;
782
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
783
+ live: boolean;
784
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
785
+ collector?: "github" | "gateway-update" | "providers";
786
+ /**
787
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
788
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
789
+ */
790
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
791
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
792
+ persistedData?(data: unknown): unknown;
793
+ /** Requires the experimental server observed-read dispatch contract. */
794
+ requiresObservedRead?: boolean;
795
+ requiresWorkspaceRead?: boolean;
796
+ retentionGroups?(params: unknown): string[];
797
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
798
+ };
799
+ "llm.config.get": ResourceQueryDefinition;
800
+ "llm.auth.list": ResourceQueryDefinition;
801
+ "llm.tiers": ResourceQueryDefinition;
802
+ "native.session.read": {
803
+ persisted: true;
804
+ maxBytes: number;
805
+ retention: {
806
+ maxEntries: number;
807
+ maxBytes: number;
808
+ };
809
+ live: true;
810
+ requiresObservedRead: true;
811
+ normalizeParams: typeof nativeHistoryParams;
812
+ dependencies: (params: unknown, nativeReaderId?: string) => {
813
+ family: "profiles" | "native-session";
814
+ scope: "owner";
815
+ ownerId: string;
816
+ }[] | {
817
+ family: "profiles";
818
+ nodeId: string;
819
+ ownerId: string;
820
+ }[] | {
821
+ workerId?: string | undefined;
822
+ sessionId?: string | undefined;
823
+ family: "native-session";
824
+ nodeId: string;
825
+ ownerId: string;
826
+ }[];
827
+ };
828
+ "native.session.list": {
829
+ persisted: true;
830
+ maxBytes: number;
831
+ retention: {
832
+ maxEntries: number;
833
+ maxBytes: number;
834
+ };
835
+ live: true;
836
+ requiresObservedRead: true;
837
+ dependencies: (params: unknown, nativeReaderId?: string) => {
838
+ family: "profiles" | "native-session";
839
+ scope: "owner";
840
+ ownerId: string;
841
+ }[] | {
842
+ family: "profiles";
843
+ nodeId: string;
844
+ ownerId: string;
845
+ }[] | {
846
+ workerId?: string | undefined;
847
+ sessionId?: string | undefined;
848
+ family: "native-session";
849
+ nodeId: string;
850
+ ownerId: string;
851
+ }[];
852
+ };
853
+ "native.session.catalog": {
854
+ persisted: false;
855
+ maxBytes: number;
856
+ retention: {
857
+ maxEntries: number;
858
+ maxBytes: number;
859
+ };
860
+ live: true;
861
+ requiresObservedRead: true;
862
+ dependencies: (params: unknown, nativeReaderId?: string) => {
863
+ family: "profiles" | "native-session";
864
+ scope: "owner";
865
+ ownerId: string;
866
+ }[] | {
867
+ family: "profiles";
868
+ nodeId: string;
869
+ ownerId: string;
870
+ }[] | {
871
+ workerId?: string | undefined;
872
+ sessionId?: string | undefined;
873
+ family: "native-session";
874
+ nodeId: string;
875
+ ownerId: string;
876
+ }[];
877
+ };
878
+ "native.profile.list": {
879
+ persisted: true;
880
+ maxBytes: number;
881
+ retention: {
882
+ maxEntries: number;
883
+ maxBytes: number;
884
+ };
885
+ live: true;
886
+ requiresObservedRead: true;
887
+ dependencies: (params: unknown, nativeReaderId?: string) => {
888
+ family: "profiles" | "native-session";
889
+ scope: "owner";
890
+ ownerId: string;
891
+ }[] | {
892
+ family: "profiles";
893
+ nodeId: string;
894
+ ownerId: string;
895
+ }[] | {
896
+ workerId?: string | undefined;
897
+ sessionId?: string | undefined;
898
+ family: "native-session";
899
+ nodeId: string;
900
+ ownerId: string;
901
+ }[];
902
+ };
903
+ "native.profile.status": {
904
+ persisted: false;
905
+ maxBytes: number;
906
+ retention: {
907
+ maxEntries: number;
908
+ maxBytes: number;
909
+ };
910
+ live: true;
911
+ requiresObservedRead: true;
912
+ dependencies: (params: unknown, nativeReaderId?: string) => {
913
+ family: "profiles" | "native-session";
914
+ scope: "owner";
915
+ ownerId: string;
916
+ }[] | {
917
+ family: "profiles";
918
+ nodeId: string;
919
+ ownerId: string;
920
+ }[] | {
921
+ workerId?: string | undefined;
922
+ sessionId?: string | undefined;
923
+ family: "native-session";
924
+ nodeId: string;
925
+ ownerId: string;
926
+ }[];
927
+ };
928
+ "fs.list": ResourceQueryDefinition;
929
+ "fs.read": ResourceQueryDefinition;
930
+ "git.status": ResourceQueryDefinition;
931
+ "git.diff": {
932
+ maxBytes: number;
933
+ persisted: boolean;
934
+ /** Shared bound across this method's canonical query entries. */
935
+ retention?: ResourceQueryRetention;
936
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
937
+ timeoutMs?: number;
938
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
939
+ live: boolean;
940
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
941
+ collector?: "github" | "gateway-update" | "providers";
942
+ /**
943
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
944
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
945
+ */
946
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
947
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
948
+ persistedData?(data: unknown): unknown;
949
+ /** Requires the experimental server observed-read dispatch contract. */
950
+ requiresObservedRead?: boolean;
951
+ requiresWorkspaceRead?: boolean;
952
+ /** Observation parameters can exclude imperative variants of an existing read method. */
953
+ normalizeParams?(params: unknown): unknown;
954
+ retentionGroups?(params: unknown): string[];
955
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
956
+ };
957
+ "git.show": ResourceQueryDefinition;
958
+ "git.branchDiff": ResourceQueryDefinition;
959
+ "native.session.workspace.list": ResourceQueryDefinition;
960
+ "native.session.workspace.read": ResourceQueryDefinition;
961
+ "native.session.workspace.changes": ResourceQueryDefinition;
962
+ "native.session.workspace.diff": {
963
+ maxBytes: number;
964
+ persisted: boolean;
965
+ /** Shared bound across this method's canonical query entries. */
966
+ retention?: ResourceQueryRetention;
967
+ /** Preserve a migrated read's existing transport timeout when it differs from the default. */
968
+ timeoutMs?: number;
969
+ /** Becomes true only when the slice's writers and read stamps are implemented. */
970
+ live: boolean;
971
+ /** Gateway-owned upstream collection, enabled only after stamped reads are implemented. */
972
+ collector?: "github" | "gateway-update" | "providers";
973
+ /**
974
+ * The reply's upstream source state. `null` marks an explicit answer that is not an upstream
975
+ * observation; `undefined` means the gateway omitted one and the reply is refused.
976
+ */
977
+ sourceObservation?(data: unknown): UpstreamObservation | null | undefined;
978
+ /** Optional durable projection for replies that also carry live-only diagnostics. */
979
+ persistedData?(data: unknown): unknown;
980
+ /** Requires the experimental server observed-read dispatch contract. */
981
+ requiresObservedRead?: boolean;
982
+ requiresWorkspaceRead?: boolean;
983
+ /** Observation parameters can exclude imperative variants of an existing read method. */
984
+ normalizeParams?(params: unknown): unknown;
985
+ retentionGroups?(params: unknown): string[];
986
+ dependencies(params: unknown, nativeReaderId?: string): ResourceKey[];
987
+ };
988
+ "tmux.worker.list": {
989
+ requiresObservedRead: true;
990
+ persisted: false;
991
+ maxBytes: number;
992
+ timeoutMs: number;
993
+ live: true;
994
+ normalizeParams: typeof workerInventoryParams;
995
+ dependencies: (params: unknown) => ({
996
+ family: "workers";
997
+ nodeId: string;
998
+ } | {
999
+ family: "workers";
1000
+ scope: "farm";
1001
+ })[];
1002
+ };
1003
+ "dispatch.queue.list": {
1004
+ persisted: true;
1005
+ maxBytes: number;
1006
+ retention: {
1007
+ maxEntries: number;
1008
+ maxBytes: number;
1009
+ };
1010
+ live: true;
1011
+ normalizeParams: typeof planningObservationParams;
1012
+ dependencies: () => {
1013
+ family: "planning";
1014
+ collection: "dispatch-queue";
1015
+ }[];
1016
+ };
1017
+ "workGraph.list": {
1018
+ persisted: true;
1019
+ maxBytes: number;
1020
+ retention: {
1021
+ maxEntries: number;
1022
+ maxBytes: number;
1023
+ };
1024
+ live: true;
1025
+ normalizeParams: typeof planningObservationParams;
1026
+ dependencies: () => {
1027
+ family: "planning";
1028
+ collection: "work-graphs";
1029
+ }[];
1030
+ };
1031
+ "workGraph.get": {
1032
+ persisted: false;
1033
+ maxBytes: number;
1034
+ live: true;
1035
+ normalizeParams: typeof planningObservationParams;
1036
+ dependencies: (params: unknown) => {
1037
+ family: "planning";
1038
+ collection: "work-graphs";
1039
+ itemId: string;
1040
+ }[];
1041
+ };
1042
+ "backlog.list": {
1043
+ persisted: true;
1044
+ maxBytes: number;
1045
+ retention: {
1046
+ maxEntries: number;
1047
+ maxBytes: number;
1048
+ };
1049
+ live: true;
1050
+ normalizeParams: typeof planningObservationParams;
1051
+ dependencies: () => {
1052
+ family: "planning";
1053
+ collection: "backlog";
1054
+ }[];
1055
+ };
1056
+ "roadmap.list": {
1057
+ persisted: true;
1058
+ maxBytes: number;
1059
+ retention: {
1060
+ maxEntries: number;
1061
+ maxBytes: number;
1062
+ };
1063
+ live: true;
1064
+ normalizeParams: typeof roadmapListObservationParams;
1065
+ dependencies: () => ({
1066
+ family: "planning";
1067
+ collection: "roadmap";
1068
+ scope?: undefined;
1069
+ } | {
1070
+ family: "planning";
1071
+ collection: "backlog";
1072
+ scope?: undefined;
1073
+ } | {
1074
+ family: "runs";
1075
+ scope: "farm";
1076
+ collection?: undefined;
1077
+ })[];
1078
+ };
1079
+ "roadmap.get": {
1080
+ persisted: false;
1081
+ maxBytes: number;
1082
+ live: true;
1083
+ normalizeParams: typeof planningObservationParams;
1084
+ dependencies: (params: unknown) => ({
1085
+ family: "planning";
1086
+ collection: "roadmap";
1087
+ itemId?: undefined;
1088
+ scope?: undefined;
1089
+ } | {
1090
+ family: "planning";
1091
+ collection: "roadmap";
1092
+ itemId: string;
1093
+ scope?: undefined;
1094
+ } | {
1095
+ family: "planning";
1096
+ collection: "backlog";
1097
+ itemId?: undefined;
1098
+ scope?: undefined;
1099
+ } | {
1100
+ family: "planning";
1101
+ collection: "work-graphs";
1102
+ itemId?: undefined;
1103
+ scope?: undefined;
1104
+ } | {
1105
+ family: "runs";
1106
+ scope: "farm";
1107
+ collection?: undefined;
1108
+ itemId?: undefined;
1109
+ })[];
1110
+ };
1111
+ "sources.status": {
1112
+ persisted: true;
1113
+ maxBytes: number;
1114
+ timeoutMs: number;
1115
+ live: true;
1116
+ dependencies: () => {
1117
+ family: "sources";
1118
+ scope: "farm";
1119
+ }[];
1120
+ };
1121
+ "run.list": {
1122
+ persisted: true;
1123
+ maxBytes: number;
1124
+ retention: {
1125
+ maxEntries: number;
1126
+ maxBytes: number;
1127
+ };
1128
+ live: true;
1129
+ dependencies: () => {
1130
+ family: "runs";
1131
+ scope: "farm";
1132
+ }[];
1133
+ };
1134
+ "run.get": {
1135
+ persisted: true;
1136
+ maxBytes: number;
1137
+ retention: {
1138
+ maxEntries: number;
1139
+ maxBytes: number;
1140
+ };
1141
+ live: true;
1142
+ dependencies: (params: unknown) => ({
1143
+ family: "run";
1144
+ runId: string;
1145
+ scope?: undefined;
1146
+ } | {
1147
+ family: "runs";
1148
+ scope: "farm";
1149
+ runId?: undefined;
1150
+ })[];
1151
+ };
1152
+ "decision.list": {
1153
+ persisted: true;
1154
+ maxBytes: number;
1155
+ retention: {
1156
+ maxEntries: number;
1157
+ maxBytes: number;
1158
+ };
1159
+ live: true;
1160
+ dependencies: () => {
1161
+ family: "decisions";
1162
+ scope: "farm";
1163
+ }[];
1164
+ };
1165
+ "family.observability.get": {
1166
+ persisted: false;
1167
+ maxBytes: number;
1168
+ live: true;
1169
+ dependencies: (params: unknown) => ({
1170
+ family: "family";
1171
+ familyId: string;
1172
+ scope?: undefined;
1173
+ } | {
1174
+ family: "decisions";
1175
+ scope: "farm";
1176
+ familyId?: undefined;
1177
+ })[];
1178
+ };
1179
+ "run.recipeRunsForRun": {
1180
+ persisted: false;
1181
+ maxBytes: number;
1182
+ timeoutMs: number;
1183
+ live: true;
1184
+ dependencies: (params: unknown) => ({
1185
+ family: "run";
1186
+ runId: string;
1187
+ } | {
1188
+ family: "artifacts";
1189
+ runId: string;
1190
+ })[];
1191
+ };
1192
+ "run.slotHistory": {
1193
+ persisted: false;
1194
+ maxBytes: number;
1195
+ live: true;
1196
+ dependencies: () => ({
1197
+ family: "runs";
1198
+ scope: "farm";
1199
+ } | {
1200
+ family: "slots";
1201
+ scope: "farm";
1202
+ })[];
1203
+ };
1204
+ "run.forSlot": {
1205
+ persisted: false;
1206
+ maxBytes: number;
1207
+ live: true;
1208
+ dependencies: (params: unknown) => ({
1209
+ family: "runs";
1210
+ scope: "farm";
1211
+ slotId?: undefined;
1212
+ } | {
1213
+ family: "slot";
1214
+ slotId: string;
1215
+ scope?: undefined;
1216
+ })[];
1217
+ };
1218
+ "run.recipeRunsForSlot": {
1219
+ persisted: false;
1220
+ maxBytes: number;
1221
+ timeoutMs: number;
1222
+ live: true;
1223
+ dependencies: (params: unknown) => ({
1224
+ family: "runs";
1225
+ scope: "farm";
1226
+ slotId?: undefined;
1227
+ } | {
1228
+ family: "slot";
1229
+ slotId: string;
1230
+ scope?: undefined;
1231
+ })[];
1232
+ };
1233
+ "run.tags.list": {
1234
+ persisted: false;
1235
+ maxBytes: number;
1236
+ live: true;
1237
+ dependencies: () => {
1238
+ family: "runs";
1239
+ scope: "farm";
1240
+ }[];
1241
+ };
1242
+ "fleet.status": {
1243
+ requiresObservedRead: true;
1244
+ persisted: true;
1245
+ maxBytes: number;
1246
+ retention: {
1247
+ maxEntries: number;
1248
+ maxBytes: number;
1249
+ };
1250
+ live: true;
1251
+ normalizeParams: (params: unknown) => {};
1252
+ dependencies: () => {
1253
+ family: "slots";
1254
+ scope: "farm";
1255
+ }[];
1256
+ };
1257
+ "nodes.list": {
1258
+ persisted: true;
1259
+ maxBytes: number;
1260
+ retention: {
1261
+ maxEntries: number;
1262
+ maxBytes: number;
1263
+ };
1264
+ timeoutMs: number;
1265
+ live: true;
1266
+ dependencies: () => {
1267
+ family: "node";
1268
+ scope: "farm";
1269
+ }[];
1270
+ };
1271
+ "runtime.capability.list": {
1272
+ persisted: true;
1273
+ maxBytes: number;
1274
+ retention: {
1275
+ maxEntries: number;
1276
+ maxBytes: number;
1277
+ };
1278
+ live: true;
1279
+ dependencies: () => ({
1280
+ family: "capabilities";
1281
+ scope?: undefined;
1282
+ } | {
1283
+ family: "sources";
1284
+ scope: "farm";
1285
+ })[];
1286
+ };
1287
+ "runtime.capability.status": {
1288
+ persisted: true;
1289
+ maxBytes: number;
1290
+ retention: {
1291
+ maxEntries: number;
1292
+ maxBytes: number;
1293
+ };
1294
+ live: true;
1295
+ dependencies: () => ({
1296
+ family: "capabilities";
1297
+ scope?: undefined;
1298
+ } | {
1299
+ family: "sources";
1300
+ scope: "farm";
1301
+ })[];
1302
+ };
1303
+ "task.progress": {
1304
+ requiresObservedRead: true;
1305
+ persisted: true;
1306
+ maxBytes: number;
1307
+ retention: {
1308
+ maxEntries: number;
1309
+ maxBytes: number;
1310
+ };
1311
+ live: true;
1312
+ dependencies: (params: unknown) => ({
1313
+ family: "progress";
1314
+ runId: string;
1315
+ } | {
1316
+ family: "run";
1317
+ runId: string;
1318
+ } | {
1319
+ family: "artifacts";
1320
+ runId: string;
1321
+ })[] | {
1322
+ family: "slot";
1323
+ slotId: string;
1324
+ }[];
1325
+ };
1326
+ };
1327
+ export type ResourceReadMethod = keyof typeof RESOURCE_QUERY_DEFINITIONS;
1328
+ export type ResourceCollectorReadMethod = {
1329
+ [Method in ResourceReadMethod]: (typeof RESOURCE_QUERY_DEFINITIONS)[Method] extends {
1330
+ collector: string;
1331
+ } ? Method : never;
1332
+ }[ResourceReadMethod];
1333
+ /** Advertise only collectors whose owning read and notification contract are enabled. */
1334
+ export declare function resourceCollectorReadMethods(): ResourceCollectorReadMethod[];
1335
+ export interface ResourceCollectorQuery {
1336
+ id: string;
1337
+ method: ResourceCollectorReadMethod;
1338
+ params: unknown;
1339
+ }
1340
+ /** Collector selectors use exactly the same closed normalization as client query identities. */
1341
+ export declare function resourceCollectorQuery(method: unknown, params?: unknown): ResourceCollectorQuery;
1342
+ export declare function resourceReadTimeout(method: ResourceReadMethod): number | undefined;
1343
+ declare const queryData: unique symbol;
1344
+ export interface ResourceQuery<T = unknown> {
1345
+ readonly id: string;
1346
+ readonly method: ResourceReadMethod;
1347
+ readonly params: unknown;
1348
+ readonly dependencies: readonly ResourceKey[];
1349
+ readonly persisted: boolean;
1350
+ readonly maxBytes: number;
1351
+ readonly retention?: ResourceQueryRetention;
1352
+ readonly live: boolean;
1353
+ readonly collector?: 'github' | 'gateway-update' | 'providers';
1354
+ readonly sourceObservation?: (data: unknown) => UpstreamObservation | null | undefined;
1355
+ readonly persistedData?: (data: unknown) => unknown;
1356
+ readonly requiresObservedRead?: boolean;
1357
+ readonly requiresWorkspaceRead?: boolean;
1358
+ readonly [queryData]?: T;
1359
+ }
1360
+ /** Experimental, portable query factory; mutations and streams are never registered here. */
1361
+ export declare function resourceQuery<T = unknown>(method: ResourceReadMethod, params?: unknown, nativeReaderId?: string): ResourceQuery<T>;
1362
+ /** The server stamps only migrated reads, before entering their existing handlers. */
1363
+ export declare function resourceDependenciesForRead(method: string, params: unknown, nativeReaderId?: string): ResourceKey[] | undefined;
1364
+ export {};
1365
+ //# sourceMappingURL=registry.d.ts.map