@f-inverse/jammi-client 0.24.0 → 0.26.0

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 (53) hide show
  1. package/README.md +2 -2
  2. package/dist/gen/jammi/v1/audit_pb.d.ts +1 -1
  3. package/dist/gen/jammi/v1/audit_pb.js +1 -1
  4. package/dist/gen/jammi/v1/catalog_pb.d.ts +1148 -0
  5. package/dist/gen/jammi/v1/catalog_pb.d.ts.map +1 -0
  6. package/dist/gen/jammi/v1/catalog_pb.js +320 -0
  7. package/dist/gen/jammi/v1/catalog_pb.js.map +1 -0
  8. package/dist/gen/jammi/v1/embedding_pb.d.ts +10 -265
  9. package/dist/gen/jammi/v1/embedding_pb.d.ts.map +1 -1
  10. package/dist/gen/jammi/v1/embedding_pb.js +18 -111
  11. package/dist/gen/jammi/v1/embedding_pb.js.map +1 -1
  12. package/dist/gen/jammi/v1/error_pb.d.ts +2 -2
  13. package/dist/gen/jammi/v1/eval_pb.d.ts +287 -1
  14. package/dist/gen/jammi/v1/eval_pb.d.ts.map +1 -1
  15. package/dist/gen/jammi/v1/eval_pb.js +82 -25
  16. package/dist/gen/jammi/v1/eval_pb.js.map +1 -1
  17. package/dist/gen/jammi/v1/inference_pb.d.ts +272 -1
  18. package/dist/gen/jammi/v1/inference_pb.d.ts.map +1 -1
  19. package/dist/gen/jammi/v1/inference_pb.js +61 -2
  20. package/dist/gen/jammi/v1/inference_pb.js.map +1 -1
  21. package/dist/gen/jammi/v1/pipeline_pb.d.ts +491 -0
  22. package/dist/gen/jammi/v1/pipeline_pb.d.ts.map +1 -0
  23. package/dist/gen/jammi/v1/pipeline_pb.js +154 -0
  24. package/dist/gen/jammi/v1/pipeline_pb.js.map +1 -0
  25. package/dist/gen/jammi/v1/training_pb.d.ts +1217 -0
  26. package/dist/gen/jammi/v1/training_pb.d.ts.map +1 -0
  27. package/dist/gen/jammi/v1/training_pb.js +388 -0
  28. package/dist/gen/jammi/v1/training_pb.js.map +1 -0
  29. package/dist/gen/jammi/v1/trigger_pb.d.ts +18 -215
  30. package/dist/gen/jammi/v1/trigger_pb.d.ts.map +1 -1
  31. package/dist/gen/jammi/v1/trigger_pb.js +11 -41
  32. package/dist/gen/jammi/v1/trigger_pb.js.map +1 -1
  33. package/dist/index.d.ts +11 -12
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +10 -13
  36. package/dist/index.js.map +1 -1
  37. package/package.json +2 -2
  38. package/dist/gen/jammi/v1/channel_pb.d.ts +0 -158
  39. package/dist/gen/jammi/v1/channel_pb.d.ts.map +0 -1
  40. package/dist/gen/jammi/v1/channel_pb.js +0 -87
  41. package/dist/gen/jammi/v1/channel_pb.js.map +0 -1
  42. package/dist/gen/jammi/v1/fine_tune_pb.d.ts +0 -706
  43. package/dist/gen/jammi/v1/fine_tune_pb.d.ts.map +0 -1
  44. package/dist/gen/jammi/v1/fine_tune_pb.js +0 -271
  45. package/dist/gen/jammi/v1/fine_tune_pb.js.map +0 -1
  46. package/dist/gen/jammi/v1/mutable_table_pb.d.ts +0 -183
  47. package/dist/gen/jammi/v1/mutable_table_pb.d.ts.map +0 -1
  48. package/dist/gen/jammi/v1/mutable_table_pb.js +0 -59
  49. package/dist/gen/jammi/v1/mutable_table_pb.js.map +0 -1
  50. package/dist/gen/jammi/v1/session_pb.d.ts +0 -167
  51. package/dist/gen/jammi/v1/session_pb.d.ts.map +0 -1
  52. package/dist/gen/jammi/v1/session_pb.js +0 -45
  53. package/dist/gen/jammi/v1/session_pb.js.map +0 -1
@@ -0,0 +1,1217 @@
1
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
+ import type { ModelTask } from "./inference_pb";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file jammi/v1/training.proto.
6
+ */
7
+ export declare const file_jammi_v1_training: GenFile;
8
+ /**
9
+ * Embedding-loss function. Mirrors the engine's `EmbeddingLoss`; the two
10
+ * margin/temperature-carrying variants carry their scalar parameter.
11
+ *
12
+ * @generated from message jammi.v1.training.EmbeddingLoss
13
+ */
14
+ export type EmbeddingLoss = Message<"jammi.v1.training.EmbeddingLoss"> & {
15
+ /**
16
+ * @generated from oneof jammi.v1.training.EmbeddingLoss.loss
17
+ */
18
+ loss: {
19
+ /**
20
+ * CoSENT: cross-entropy over cosine-similarity ordering. No parameter.
21
+ *
22
+ * @generated from field: jammi.v1.training.EmbeddingLoss.CoSent co_sent = 1;
23
+ */
24
+ value: EmbeddingLoss_CoSent;
25
+ case: "coSent";
26
+ } | {
27
+ /**
28
+ * Triplet loss with the given margin.
29
+ *
30
+ * @generated from field: jammi.v1.training.EmbeddingLoss.Triplet triplet = 2;
31
+ */
32
+ value: EmbeddingLoss_Triplet;
33
+ case: "triplet";
34
+ } | {
35
+ /**
36
+ * InfoNCE with in-batch negatives at the given temperature.
37
+ *
38
+ * @generated from field: jammi.v1.training.EmbeddingLoss.MultipleNegativesRanking multiple_negatives_ranking = 3;
39
+ */
40
+ value: EmbeddingLoss_MultipleNegativesRanking;
41
+ case: "multipleNegativesRanking";
42
+ } | {
43
+ /**
44
+ * AnglE: angle-difference objective in complex space. No parameter.
45
+ *
46
+ * @generated from field: jammi.v1.training.EmbeddingLoss.AnglE angle = 4;
47
+ */
48
+ value: EmbeddingLoss_AnglE;
49
+ case: "angle";
50
+ } | {
51
+ /**
52
+ * cosine-MSE: regress scaled cosine onto a graded score. No parameter.
53
+ *
54
+ * @generated from field: jammi.v1.training.EmbeddingLoss.CosineMse cosine_mse = 5;
55
+ */
56
+ value: EmbeddingLoss_CosineMse;
57
+ case: "cosineMse";
58
+ } | {
59
+ case: undefined;
60
+ value?: undefined;
61
+ };
62
+ };
63
+ /**
64
+ * Describes the message jammi.v1.training.EmbeddingLoss.
65
+ * Use `create(EmbeddingLossSchema)` to create a new message.
66
+ */
67
+ export declare const EmbeddingLossSchema: GenMessage<EmbeddingLoss>;
68
+ /**
69
+ * @generated from message jammi.v1.training.EmbeddingLoss.CoSent
70
+ */
71
+ export type EmbeddingLoss_CoSent = Message<"jammi.v1.training.EmbeddingLoss.CoSent"> & {};
72
+ /**
73
+ * Describes the message jammi.v1.training.EmbeddingLoss.CoSent.
74
+ * Use `create(EmbeddingLoss_CoSentSchema)` to create a new message.
75
+ */
76
+ export declare const EmbeddingLoss_CoSentSchema: GenMessage<EmbeddingLoss_CoSent>;
77
+ /**
78
+ * @generated from message jammi.v1.training.EmbeddingLoss.Triplet
79
+ */
80
+ export type EmbeddingLoss_Triplet = Message<"jammi.v1.training.EmbeddingLoss.Triplet"> & {
81
+ /**
82
+ * @generated from field: double margin = 1;
83
+ */
84
+ margin: number;
85
+ };
86
+ /**
87
+ * Describes the message jammi.v1.training.EmbeddingLoss.Triplet.
88
+ * Use `create(EmbeddingLoss_TripletSchema)` to create a new message.
89
+ */
90
+ export declare const EmbeddingLoss_TripletSchema: GenMessage<EmbeddingLoss_Triplet>;
91
+ /**
92
+ * @generated from message jammi.v1.training.EmbeddingLoss.MultipleNegativesRanking
93
+ */
94
+ export type EmbeddingLoss_MultipleNegativesRanking = Message<"jammi.v1.training.EmbeddingLoss.MultipleNegativesRanking"> & {
95
+ /**
96
+ * @generated from field: double temperature = 1;
97
+ */
98
+ temperature: number;
99
+ };
100
+ /**
101
+ * Describes the message jammi.v1.training.EmbeddingLoss.MultipleNegativesRanking.
102
+ * Use `create(EmbeddingLoss_MultipleNegativesRankingSchema)` to create a new message.
103
+ */
104
+ export declare const EmbeddingLoss_MultipleNegativesRankingSchema: GenMessage<EmbeddingLoss_MultipleNegativesRanking>;
105
+ /**
106
+ * @generated from message jammi.v1.training.EmbeddingLoss.AnglE
107
+ */
108
+ export type EmbeddingLoss_AnglE = Message<"jammi.v1.training.EmbeddingLoss.AnglE"> & {};
109
+ /**
110
+ * Describes the message jammi.v1.training.EmbeddingLoss.AnglE.
111
+ * Use `create(EmbeddingLoss_AnglESchema)` to create a new message.
112
+ */
113
+ export declare const EmbeddingLoss_AnglESchema: GenMessage<EmbeddingLoss_AnglE>;
114
+ /**
115
+ * @generated from message jammi.v1.training.EmbeddingLoss.CosineMse
116
+ */
117
+ export type EmbeddingLoss_CosineMse = Message<"jammi.v1.training.EmbeddingLoss.CosineMse"> & {};
118
+ /**
119
+ * Describes the message jammi.v1.training.EmbeddingLoss.CosineMse.
120
+ * Use `create(EmbeddingLoss_CosineMseSchema)` to create a new message.
121
+ */
122
+ export declare const EmbeddingLoss_CosineMseSchema: GenMessage<EmbeddingLoss_CosineMse>;
123
+ /**
124
+ * Proper-scoring objective for a distributional regression head (S18). Mirrors
125
+ * the engine's `RegressionLoss`; the β-NLL variant carries its weighting
126
+ * exponent. Pinball trains the quantile head over `quantile_levels`; the others
127
+ * train the parametric Gaussian head.
128
+ *
129
+ * @generated from message jammi.v1.training.RegressionLoss
130
+ */
131
+ export type RegressionLoss = Message<"jammi.v1.training.RegressionLoss"> & {
132
+ /**
133
+ * @generated from oneof jammi.v1.training.RegressionLoss.loss
134
+ */
135
+ loss: {
136
+ /**
137
+ * Gaussian NLL — the plain heteroscedastic mean-variance objective.
138
+ *
139
+ * @generated from field: jammi.v1.training.RegressionLoss.GaussianNll gaussian_nll = 1;
140
+ */
141
+ value: RegressionLoss_GaussianNll;
142
+ case: "gaussianNll";
143
+ } | {
144
+ /**
145
+ * β-NLL with the given variance-weighting exponent (Seitzer 2022).
146
+ *
147
+ * @generated from field: jammi.v1.training.RegressionLoss.BetaNll beta_nll = 2;
148
+ */
149
+ value: RegressionLoss_BetaNll;
150
+ case: "betaNll";
151
+ } | {
152
+ /**
153
+ * Closed-form Gaussian CRPS. No parameter.
154
+ *
155
+ * @generated from field: jammi.v1.training.RegressionLoss.Crps crps = 3;
156
+ */
157
+ value: RegressionLoss_Crps;
158
+ case: "crps";
159
+ } | {
160
+ /**
161
+ * Pinball / quantile loss over the configured levels. No parameter.
162
+ *
163
+ * @generated from field: jammi.v1.training.RegressionLoss.Pinball pinball = 4;
164
+ */
165
+ value: RegressionLoss_Pinball;
166
+ case: "pinball";
167
+ } | {
168
+ case: undefined;
169
+ value?: undefined;
170
+ };
171
+ };
172
+ /**
173
+ * Describes the message jammi.v1.training.RegressionLoss.
174
+ * Use `create(RegressionLossSchema)` to create a new message.
175
+ */
176
+ export declare const RegressionLossSchema: GenMessage<RegressionLoss>;
177
+ /**
178
+ * @generated from message jammi.v1.training.RegressionLoss.GaussianNll
179
+ */
180
+ export type RegressionLoss_GaussianNll = Message<"jammi.v1.training.RegressionLoss.GaussianNll"> & {};
181
+ /**
182
+ * Describes the message jammi.v1.training.RegressionLoss.GaussianNll.
183
+ * Use `create(RegressionLoss_GaussianNllSchema)` to create a new message.
184
+ */
185
+ export declare const RegressionLoss_GaussianNllSchema: GenMessage<RegressionLoss_GaussianNll>;
186
+ /**
187
+ * @generated from message jammi.v1.training.RegressionLoss.BetaNll
188
+ */
189
+ export type RegressionLoss_BetaNll = Message<"jammi.v1.training.RegressionLoss.BetaNll"> & {
190
+ /**
191
+ * @generated from field: double beta = 1;
192
+ */
193
+ beta: number;
194
+ };
195
+ /**
196
+ * Describes the message jammi.v1.training.RegressionLoss.BetaNll.
197
+ * Use `create(RegressionLoss_BetaNllSchema)` to create a new message.
198
+ */
199
+ export declare const RegressionLoss_BetaNllSchema: GenMessage<RegressionLoss_BetaNll>;
200
+ /**
201
+ * @generated from message jammi.v1.training.RegressionLoss.Crps
202
+ */
203
+ export type RegressionLoss_Crps = Message<"jammi.v1.training.RegressionLoss.Crps"> & {};
204
+ /**
205
+ * Describes the message jammi.v1.training.RegressionLoss.Crps.
206
+ * Use `create(RegressionLoss_CrpsSchema)` to create a new message.
207
+ */
208
+ export declare const RegressionLoss_CrpsSchema: GenMessage<RegressionLoss_Crps>;
209
+ /**
210
+ * @generated from message jammi.v1.training.RegressionLoss.Pinball
211
+ */
212
+ export type RegressionLoss_Pinball = Message<"jammi.v1.training.RegressionLoss.Pinball"> & {};
213
+ /**
214
+ * Describes the message jammi.v1.training.RegressionLoss.Pinball.
215
+ * Use `create(RegressionLoss_PinballSchema)` to create a new message.
216
+ */
217
+ export declare const RegressionLoss_PinballSchema: GenMessage<RegressionLoss_Pinball>;
218
+ /**
219
+ * 0-based encoder layer indices that receive LoRA adapters. Wrapper message so
220
+ * "no restriction" (field absent → all layers) is distinguishable from "an
221
+ * empty restriction"; mirrors the engine's `Option<Vec<usize>>`.
222
+ *
223
+ * @generated from message jammi.v1.training.LayersToTransform
224
+ */
225
+ export type LayersToTransform = Message<"jammi.v1.training.LayersToTransform"> & {
226
+ /**
227
+ * @generated from field: repeated uint32 layers = 1;
228
+ */
229
+ layers: number[];
230
+ };
231
+ /**
232
+ * Describes the message jammi.v1.training.LayersToTransform.
233
+ * Use `create(LayersToTransformSchema)` to create a new message.
234
+ */
235
+ export declare const LayersToTransformSchema: GenMessage<LayersToTransform>;
236
+ /**
237
+ * Hard-negative mining configuration. Mirrors the engine's
238
+ * `HardNegativeConfig`. When `mine` is set the trainer mines hard negatives
239
+ * from its own ANN index, excluding the positive's `exclude_hops`-hop
240
+ * neighbourhood and re-mining every `refresh_every` epochs.
241
+ *
242
+ * @generated from message jammi.v1.training.HardNegativeConfig
243
+ */
244
+ export type HardNegativeConfig = Message<"jammi.v1.training.HardNegativeConfig"> & {
245
+ /**
246
+ * @generated from field: bool mine = 1;
247
+ */
248
+ mine: boolean;
249
+ /**
250
+ * @generated from field: uint32 k = 2;
251
+ */
252
+ k: number;
253
+ /**
254
+ * @generated from field: uint32 exclude_hops = 3;
255
+ */
256
+ excludeHops: number;
257
+ /**
258
+ * @generated from field: uint32 refresh_every = 4;
259
+ */
260
+ refreshEvery: number;
261
+ };
262
+ /**
263
+ * Describes the message jammi.v1.training.HardNegativeConfig.
264
+ * Use `create(HardNegativeConfigSchema)` to create a new message.
265
+ */
266
+ export declare const HardNegativeConfigSchema: GenMessage<HardNegativeConfig>;
267
+ /**
268
+ * Configuration for a fine-tuning job. Mirrors the engine's `FineTuneConfig`
269
+ * field for field; every field is read by the trainer or the LoRA builder.
270
+ * Every scalar knob is `optional` so an unset field is distinguishable from a
271
+ * legal `0`/`false`: the server reads an unset field as "apply the engine
272
+ * default" (`FineTuneConfig::default()`) and a present field as an override,
273
+ * making the engine the single source of default values. `embedding_loss`/
274
+ * `classification_loss` are unset to let the engine auto-select from the data
275
+ * format; `layers_to_transform` is unset for "all layers". The enum-typed
276
+ * fields default to the engine's default variant when left UNSPECIFIED.
277
+ *
278
+ * @generated from message jammi.v1.training.FineTuneConfig
279
+ */
280
+ export type FineTuneConfig = Message<"jammi.v1.training.FineTuneConfig"> & {
281
+ /**
282
+ * @generated from field: optional uint32 lora_rank = 1;
283
+ */
284
+ loraRank?: number | undefined;
285
+ /**
286
+ * @generated from field: optional double lora_alpha = 2;
287
+ */
288
+ loraAlpha?: number | undefined;
289
+ /**
290
+ * @generated from field: optional double lora_dropout = 3;
291
+ */
292
+ loraDropout?: number | undefined;
293
+ /**
294
+ * @generated from field: optional double learning_rate = 4;
295
+ */
296
+ learningRate?: number | undefined;
297
+ /**
298
+ * @generated from field: optional uint32 epochs = 5;
299
+ */
300
+ epochs?: number | undefined;
301
+ /**
302
+ * @generated from field: optional uint32 batch_size = 6;
303
+ */
304
+ batchSize?: number | undefined;
305
+ /**
306
+ * @generated from field: optional uint32 max_seq_length = 7;
307
+ */
308
+ maxSeqLength?: number | undefined;
309
+ /**
310
+ * Unset = auto-select from the data format.
311
+ *
312
+ * @generated from field: optional jammi.v1.training.EmbeddingLoss embedding_loss = 8;
313
+ */
314
+ embeddingLoss?: EmbeddingLoss | undefined;
315
+ /**
316
+ * Unset = auto-select from the data format.
317
+ *
318
+ * @generated from field: optional jammi.v1.training.ClassificationLoss classification_loss = 9;
319
+ */
320
+ classificationLoss?: ClassificationLoss | undefined;
321
+ /**
322
+ * @generated from field: optional uint32 gradient_accumulation_steps = 10;
323
+ */
324
+ gradientAccumulationSteps?: number | undefined;
325
+ /**
326
+ * @generated from field: optional double validation_fraction = 11;
327
+ */
328
+ validationFraction?: number | undefined;
329
+ /**
330
+ * @generated from field: optional uint32 early_stopping_patience = 12;
331
+ */
332
+ earlyStoppingPatience?: number | undefined;
333
+ /**
334
+ * @generated from field: optional uint32 warmup_steps = 13;
335
+ */
336
+ warmupSteps?: number | undefined;
337
+ /**
338
+ * @generated from field: jammi.v1.training.LrSchedule lr_schedule = 14;
339
+ */
340
+ lrSchedule: LrSchedule;
341
+ /**
342
+ * @generated from field: jammi.v1.training.EarlyStoppingMetric early_stopping_metric = 15;
343
+ */
344
+ earlyStoppingMetric: EarlyStoppingMetric;
345
+ /**
346
+ * Layer-name suffixes that receive LoRA adapters. Empty = projection head
347
+ * over the frozen base model; non-empty = LoRA inside the encoder.
348
+ *
349
+ * @generated from field: repeated string target_modules = 16;
350
+ */
351
+ targetModules: string[];
352
+ /**
353
+ * Unset = all layers.
354
+ *
355
+ * @generated from field: optional jammi.v1.training.LayersToTransform layers_to_transform = 17;
356
+ */
357
+ layersToTransform?: LayersToTransform | undefined;
358
+ /**
359
+ * @generated from field: optional bool use_rslora = 18;
360
+ */
361
+ useRslora?: boolean | undefined;
362
+ /**
363
+ * Per-module rank overrides keyed by module-name substring.
364
+ *
365
+ * @generated from field: map<string, uint32> rank_pattern = 19;
366
+ */
367
+ rankPattern: {
368
+ [key: string]: number;
369
+ };
370
+ /**
371
+ * @generated from field: jammi.v1.training.LoraInitMode init_lora_weights = 20;
372
+ */
373
+ initLoraWeights: LoraInitMode;
374
+ /**
375
+ * @generated from field: jammi.v1.training.BackboneDtype backbone_dtype = 21;
376
+ */
377
+ backboneDtype: BackboneDtype;
378
+ /**
379
+ * @generated from field: optional double weight_decay = 22;
380
+ */
381
+ weightDecay?: number | undefined;
382
+ /**
383
+ * @generated from field: optional double max_grad_norm = 23;
384
+ */
385
+ maxGradNorm?: number | undefined;
386
+ /**
387
+ * GradCache: two-pass in-batch-negative training that enlarges the effective
388
+ * negative pool without the memory cost. Only affects MultipleNegativesRanking.
389
+ *
390
+ * @generated from field: optional bool cached = 24;
391
+ */
392
+ cached?: boolean | undefined;
393
+ /**
394
+ * Hard-negative mining over jammi's own ANN index. Field absent = mining off.
395
+ *
396
+ * @generated from field: optional jammi.v1.training.HardNegativeConfig hard_negatives = 25;
397
+ */
398
+ hardNegatives?: HardNegativeConfig | undefined;
399
+ /**
400
+ * Matryoshka prefix dimensions. Empty = full dimension only.
401
+ *
402
+ * @generated from field: repeated uint32 matryoshka_dims = 26;
403
+ */
404
+ matryoshkaDims: number[];
405
+ /**
406
+ * Unset = the engine default (β-NLL, β=0.5). The Pinball variant trains the
407
+ * quantile head over `quantile_levels`.
408
+ *
409
+ * @generated from field: optional jammi.v1.training.RegressionLoss regression_loss = 27;
410
+ */
411
+ regressionLoss?: RegressionLoss | undefined;
412
+ /**
413
+ * Quantile levels for a pinball-trained regression head, ascending in (0, 1).
414
+ * Empty for the parametric Gaussian objectives.
415
+ *
416
+ * @generated from field: repeated double quantile_levels = 28;
417
+ */
418
+ quantileLevels: number[];
419
+ };
420
+ /**
421
+ * Describes the message jammi.v1.training.FineTuneConfig.
422
+ * Use `create(FineTuneConfigSchema)` to create a new message.
423
+ */
424
+ export declare const FineTuneConfigSchema: GenMessage<FineTuneConfig>;
425
+ /**
426
+ * The two sources and column bindings a graph fine-tune reads. Mirrors the
427
+ * engine's `GraphFineTuneSources` field for field.
428
+ *
429
+ * @generated from message jammi.v1.training.GraphFineTuneSources
430
+ */
431
+ export type GraphFineTuneSources = Message<"jammi.v1.training.GraphFineTuneSources"> & {
432
+ /**
433
+ * Catalog source holding the node text.
434
+ *
435
+ * @generated from field: string node_source = 1;
436
+ */
437
+ nodeSource: string;
438
+ /**
439
+ * Column in `node_source` holding the node id (edge endpoints join to it).
440
+ *
441
+ * @generated from field: string id_column = 2;
442
+ */
443
+ idColumn: string;
444
+ /**
445
+ * Column in `node_source` holding the text the encoder embeds.
446
+ *
447
+ * @generated from field: string text_column = 3;
448
+ */
449
+ textColumn: string;
450
+ /**
451
+ * Catalog source holding the edges.
452
+ *
453
+ * @generated from field: string edge_source = 4;
454
+ */
455
+ edgeSource: string;
456
+ /**
457
+ * Column in `edge_source` holding the edge source endpoint.
458
+ *
459
+ * @generated from field: string src_column = 5;
460
+ */
461
+ srcColumn: string;
462
+ /**
463
+ * Column in `edge_source` holding the edge destination endpoint.
464
+ *
465
+ * @generated from field: string dst_column = 6;
466
+ */
467
+ dstColumn: string;
468
+ /**
469
+ * Provenance every edge in `edge_source` carries.
470
+ *
471
+ * @generated from field: jammi.v1.training.EdgeProvenance provenance = 7;
472
+ */
473
+ provenance: EdgeProvenance;
474
+ };
475
+ /**
476
+ * Describes the message jammi.v1.training.GraphFineTuneSources.
477
+ * Use `create(GraphFineTuneSourcesSchema)` to create a new message.
478
+ */
479
+ export declare const GraphFineTuneSourcesSchema: GenMessage<GraphFineTuneSources>;
480
+ /**
481
+ * node2vec walk + structure-aware negative-sampling knobs. Mirrors the engine's
482
+ * `GraphSampleConfig` field for field, including the deterministic `seed`.
483
+ *
484
+ * @generated from message jammi.v1.training.GraphSampleConfig
485
+ */
486
+ export type GraphSampleConfig = Message<"jammi.v1.training.GraphSampleConfig"> & {
487
+ /**
488
+ * @generated from field: uint32 walk_length = 1;
489
+ */
490
+ walkLength: number;
491
+ /**
492
+ * @generated from field: uint32 walks_per_node = 2;
493
+ */
494
+ walksPerNode: number;
495
+ /**
496
+ * @generated from field: double return_p = 3;
497
+ */
498
+ returnP: number;
499
+ /**
500
+ * @generated from field: double in_out_q = 4;
501
+ */
502
+ inOutQ: number;
503
+ /**
504
+ * @generated from field: uint32 hard_negatives = 5;
505
+ */
506
+ hardNegatives: number;
507
+ /**
508
+ * @generated from field: uint32 exclude_hops = 6;
509
+ */
510
+ excludeHops: number;
511
+ /**
512
+ * @generated from field: uint32 min_negatives = 7;
513
+ */
514
+ minNegatives: number;
515
+ /**
516
+ * @generated from field: uint64 seed = 8;
517
+ */
518
+ seed: bigint;
519
+ };
520
+ /**
521
+ * Describes the message jammi.v1.training.GraphSampleConfig.
522
+ * Use `create(GraphSampleConfigSchema)` to create a new message.
523
+ */
524
+ export declare const GraphSampleConfigSchema: GenMessage<GraphSampleConfig>;
525
+ /**
526
+ * The predictive-distribution head + its proper-scoring objective. Mirrors the
527
+ * engine's `PredictiveHead`: a Gaussian head trained against a Gaussian
528
+ * objective, or a quantile head trained with pinball over its levels.
529
+ *
530
+ * @generated from message jammi.v1.training.PredictiveHead
531
+ */
532
+ export type PredictiveHead = Message<"jammi.v1.training.PredictiveHead"> & {
533
+ /**
534
+ * @generated from oneof jammi.v1.training.PredictiveHead.head
535
+ */
536
+ head: {
537
+ /**
538
+ * @generated from field: jammi.v1.training.PredictiveHead.Gaussian gaussian = 1;
539
+ */
540
+ value: PredictiveHead_Gaussian;
541
+ case: "gaussian";
542
+ } | {
543
+ /**
544
+ * @generated from field: jammi.v1.training.PredictiveHead.Quantile quantile = 2;
545
+ */
546
+ value: PredictiveHead_Quantile;
547
+ case: "quantile";
548
+ } | {
549
+ case: undefined;
550
+ value?: undefined;
551
+ };
552
+ };
553
+ /**
554
+ * Describes the message jammi.v1.training.PredictiveHead.
555
+ * Use `create(PredictiveHeadSchema)` to create a new message.
556
+ */
557
+ export declare const PredictiveHeadSchema: GenMessage<PredictiveHead>;
558
+ /**
559
+ * A `(mean, raw_std)` Gaussian head with its proper-scoring objective.
560
+ *
561
+ * @generated from message jammi.v1.training.PredictiveHead.Gaussian
562
+ */
563
+ export type PredictiveHead_Gaussian = Message<"jammi.v1.training.PredictiveHead.Gaussian"> & {
564
+ /**
565
+ * @generated from field: jammi.v1.training.GaussianObjective objective = 1;
566
+ */
567
+ objective?: GaussianObjective | undefined;
568
+ };
569
+ /**
570
+ * Describes the message jammi.v1.training.PredictiveHead.Gaussian.
571
+ * Use `create(PredictiveHead_GaussianSchema)` to create a new message.
572
+ */
573
+ export declare const PredictiveHead_GaussianSchema: GenMessage<PredictiveHead_Gaussian>;
574
+ /**
575
+ * A `levels`-wide quantile head trained with the pinball objective.
576
+ *
577
+ * @generated from message jammi.v1.training.PredictiveHead.Quantile
578
+ */
579
+ export type PredictiveHead_Quantile = Message<"jammi.v1.training.PredictiveHead.Quantile"> & {
580
+ /**
581
+ * Ascending quantile levels in (0, 1); the head width is their count.
582
+ *
583
+ * @generated from field: repeated double levels = 1;
584
+ */
585
+ levels: number[];
586
+ };
587
+ /**
588
+ * Describes the message jammi.v1.training.PredictiveHead.Quantile.
589
+ * Use `create(PredictiveHead_QuantileSchema)` to create a new message.
590
+ */
591
+ export declare const PredictiveHead_QuantileSchema: GenMessage<PredictiveHead_Quantile>;
592
+ /**
593
+ * Which proper score a Gaussian predictive head trains against. Mirrors the
594
+ * engine's `GaussianObjective`: (β-)NLL carrying its β, or closed-form CRPS.
595
+ *
596
+ * @generated from message jammi.v1.training.GaussianObjective
597
+ */
598
+ export type GaussianObjective = Message<"jammi.v1.training.GaussianObjective"> & {
599
+ /**
600
+ * @generated from oneof jammi.v1.training.GaussianObjective.objective
601
+ */
602
+ objective: {
603
+ /**
604
+ * (β-)Gaussian NLL; `beta` in [0, 1], 0 the plain heteroscedastic NLL.
605
+ *
606
+ * @generated from field: jammi.v1.training.GaussianObjective.Nll nll = 1;
607
+ */
608
+ value: GaussianObjective_Nll;
609
+ case: "nll";
610
+ } | {
611
+ /**
612
+ * Closed-form Gaussian CRPS — collapse-resistant, outcome-unit.
613
+ *
614
+ * @generated from field: jammi.v1.training.GaussianObjective.Crps crps = 2;
615
+ */
616
+ value: GaussianObjective_Crps;
617
+ case: "crps";
618
+ } | {
619
+ case: undefined;
620
+ value?: undefined;
621
+ };
622
+ };
623
+ /**
624
+ * Describes the message jammi.v1.training.GaussianObjective.
625
+ * Use `create(GaussianObjectiveSchema)` to create a new message.
626
+ */
627
+ export declare const GaussianObjectiveSchema: GenMessage<GaussianObjective>;
628
+ /**
629
+ * @generated from message jammi.v1.training.GaussianObjective.Nll
630
+ */
631
+ export type GaussianObjective_Nll = Message<"jammi.v1.training.GaussianObjective.Nll"> & {
632
+ /**
633
+ * @generated from field: double beta = 1;
634
+ */
635
+ beta: number;
636
+ };
637
+ /**
638
+ * Describes the message jammi.v1.training.GaussianObjective.Nll.
639
+ * Use `create(GaussianObjective_NllSchema)` to create a new message.
640
+ */
641
+ export declare const GaussianObjective_NllSchema: GenMessage<GaussianObjective_Nll>;
642
+ /**
643
+ * @generated from message jammi.v1.training.GaussianObjective.Crps
644
+ */
645
+ export type GaussianObjective_Crps = Message<"jammi.v1.training.GaussianObjective.Crps"> & {};
646
+ /**
647
+ * Describes the message jammi.v1.training.GaussianObjective.Crps.
648
+ * Use `create(GaussianObjective_CrpsSchema)` to create a new message.
649
+ */
650
+ export declare const GaussianObjective_CrpsSchema: GenMessage<GaussianObjective_Crps>;
651
+ /**
652
+ * The episodic in-context-predictor meta-training specification. Mirrors the
653
+ * engine's `ContextPredictorTrainConfig` field for field.
654
+ *
655
+ * @generated from message jammi.v1.training.ContextPredictorTrainConfig
656
+ */
657
+ export type ContextPredictorTrainConfig = Message<"jammi.v1.training.ContextPredictorTrainConfig"> & {
658
+ /**
659
+ * The model id the trained predictor registers under in the catalog.
660
+ *
661
+ * @generated from field: string model_id = 1;
662
+ */
663
+ modelId: string;
664
+ /**
665
+ * Which curated architecture to train.
666
+ *
667
+ * @generated from field: jammi.v1.training.ContextArchitecture architecture = 2;
668
+ */
669
+ architecture: ContextArchitecture;
670
+ /**
671
+ * The source's key column — the per-row identity episodes sample by.
672
+ *
673
+ * @generated from field: string key_column = 3;
674
+ */
675
+ keyColumn: string;
676
+ /**
677
+ * The column whose distinct values are the tasks (the episodic partition).
678
+ *
679
+ * @generated from field: string task_column = 4;
680
+ */
681
+ taskColumn: string;
682
+ /**
683
+ * The column carrying the scalar outcome `y` the predictor regresses.
684
+ *
685
+ * @generated from field: string value_column = 5;
686
+ */
687
+ valueColumn: string;
688
+ /**
689
+ * Context size `k`: the retrieval over-fetches and pads the episode to this.
690
+ *
691
+ * @generated from field: uint32 context_k = 6;
692
+ */
693
+ contextK: number;
694
+ /**
695
+ * Hidden width of the predictor's MLPs / transformer model dimension.
696
+ *
697
+ * @generated from field: uint32 hidden_dim = 7;
698
+ */
699
+ hiddenDim: number;
700
+ /**
701
+ * Attention heads (AttnCnp, Tnp). Must divide `hidden_dim`.
702
+ *
703
+ * @generated from field: uint32 num_heads = 8;
704
+ */
705
+ numHeads: number;
706
+ /**
707
+ * Transformer layers (Tnp).
708
+ *
709
+ * @generated from field: uint32 num_layers = 9;
710
+ */
711
+ numLayers: number;
712
+ /**
713
+ * The predictive-distribution head + its proper-scoring objective.
714
+ *
715
+ * @generated from field: jammi.v1.training.PredictiveHead head = 10;
716
+ */
717
+ head?: PredictiveHead | undefined;
718
+ /**
719
+ * Passes over the sampled train episodes.
720
+ *
721
+ * @generated from field: uint32 epochs = 11;
722
+ */
723
+ epochs: number;
724
+ /**
725
+ * AdamW learning rate.
726
+ *
727
+ * @generated from field: double learning_rate = 12;
728
+ */
729
+ learningRate: number;
730
+ /**
731
+ * Global-L2 gradient-clip norm; <= 0.0 disables clipping.
732
+ *
733
+ * @generated from field: double grad_clip = 13;
734
+ */
735
+ gradClip: number;
736
+ /**
737
+ * Fraction of the distinct tasks held out for the test split, in (0, 1).
738
+ *
739
+ * @generated from field: double test_task_fraction = 14;
740
+ */
741
+ testTaskFraction: number;
742
+ /**
743
+ * Minimum distinct task count the meta-dataset must carry.
744
+ *
745
+ * @generated from field: uint32 min_task_count = 15;
746
+ */
747
+ minTaskCount: number;
748
+ /**
749
+ * Seed for the deterministic train/test task partition.
750
+ *
751
+ * @generated from field: uint64 seed = 16;
752
+ */
753
+ seed: bigint;
754
+ };
755
+ /**
756
+ * Describes the message jammi.v1.training.ContextPredictorTrainConfig.
757
+ * Use `create(ContextPredictorTrainConfigSchema)` to create a new message.
758
+ */
759
+ export declare const ContextPredictorTrainConfigSchema: GenMessage<ContextPredictorTrainConfig>;
760
+ /**
761
+ * A column-source contrastive / classification / regression fine-tune. Mirrors
762
+ * the engine's `TrainingSpec::FineTune` variant.
763
+ *
764
+ * @generated from message jammi.v1.training.FineTuneSpec
765
+ */
766
+ export type FineTuneSpec = Message<"jammi.v1.training.FineTuneSpec"> & {
767
+ /**
768
+ * Registered source whose rows the model is fine-tuned on.
769
+ *
770
+ * @generated from field: string source = 1;
771
+ */
772
+ source: string;
773
+ /**
774
+ * Columns selected into the training loader (the format is detected from
775
+ * these names).
776
+ *
777
+ * @generated from field: repeated string columns = 2;
778
+ */
779
+ columns: string[];
780
+ /**
781
+ * Adapter method.
782
+ *
783
+ * @generated from field: jammi.v1.training.FineTuneMethod method = 3;
784
+ */
785
+ method: FineTuneMethod;
786
+ /**
787
+ * Task the fine-tuned model performs.
788
+ *
789
+ * @generated from field: jammi.v1.inference.ModelTask task = 4;
790
+ */
791
+ task: ModelTask;
792
+ };
793
+ /**
794
+ * Describes the message jammi.v1.training.FineTuneSpec.
795
+ * Use `create(FineTuneSpecSchema)` to create a new message.
796
+ */
797
+ export declare const FineTuneSpecSchema: GenMessage<FineTuneSpec>;
798
+ /**
799
+ * A graph-supervised fine-tune. Mirrors the engine's `TrainingSpec::GraphFineTune`.
800
+ *
801
+ * @generated from message jammi.v1.training.GraphFineTuneSpec
802
+ */
803
+ export type GraphFineTuneSpec = Message<"jammi.v1.training.GraphFineTuneSpec"> & {
804
+ /**
805
+ * Node-text + edge sources and their column bindings.
806
+ *
807
+ * @generated from field: jammi.v1.training.GraphFineTuneSources sources = 1;
808
+ */
809
+ sources?: GraphFineTuneSources | undefined;
810
+ /**
811
+ * Walk / negative-sampling knobs, including the deterministic seed.
812
+ *
813
+ * @generated from field: jammi.v1.training.GraphSampleConfig sample_config = 2;
814
+ */
815
+ sampleConfig?: GraphSampleConfig | undefined;
816
+ };
817
+ /**
818
+ * Describes the message jammi.v1.training.GraphFineTuneSpec.
819
+ * Use `create(GraphFineTuneSpecSchema)` to create a new message.
820
+ */
821
+ export declare const GraphFineTuneSpecSchema: GenMessage<GraphFineTuneSpec>;
822
+ /**
823
+ * An episodic in-context-predictor meta-training. Mirrors the engine's
824
+ * `TrainingSpec::ContextPredictor`. The predictor carries its full budget inside
825
+ * `predictor_spec`, so this variant needs no common base-model / config block.
826
+ *
827
+ * @generated from message jammi.v1.training.ContextPredictorSpec
828
+ */
829
+ export type ContextPredictorSpec = Message<"jammi.v1.training.ContextPredictorSpec"> & {
830
+ /**
831
+ * Source whose embedding table the episodic context is sampled from.
832
+ *
833
+ * @generated from field: string source = 1;
834
+ */
835
+ source: string;
836
+ /**
837
+ * The architecture / objective / episodic / optimisation specification.
838
+ *
839
+ * @generated from field: jammi.v1.training.ContextPredictorTrainConfig predictor_spec = 2;
840
+ */
841
+ predictorSpec?: ContextPredictorTrainConfig | undefined;
842
+ };
843
+ /**
844
+ * Describes the message jammi.v1.training.ContextPredictorSpec.
845
+ * Use `create(ContextPredictorSpecSchema)` to create a new message.
846
+ */
847
+ export declare const ContextPredictorSpecSchema: GenMessage<ContextPredictorSpec>;
848
+ /**
849
+ * @generated from message jammi.v1.training.StartTrainingRequest
850
+ */
851
+ export type StartTrainingRequest = Message<"jammi.v1.training.StartTrainingRequest"> & {
852
+ /**
853
+ * The self-describing training spec — the verb that produces the job. Mirrors
854
+ * the engine's `TrainingSpec` enum: the variant selects the submit path, and
855
+ * its fields carry everything a worker reconstructs the run from.
856
+ *
857
+ * @generated from oneof jammi.v1.training.StartTrainingRequest.spec
858
+ */
859
+ spec: {
860
+ /**
861
+ * @generated from field: jammi.v1.training.FineTuneSpec fine_tune = 1;
862
+ */
863
+ value: FineTuneSpec;
864
+ case: "fineTune";
865
+ } | {
866
+ /**
867
+ * @generated from field: jammi.v1.training.GraphFineTuneSpec graph_fine_tune = 2;
868
+ */
869
+ value: GraphFineTuneSpec;
870
+ case: "graphFineTune";
871
+ } | {
872
+ /**
873
+ * @generated from field: jammi.v1.training.ContextPredictorSpec context_predictor = 3;
874
+ */
875
+ value: ContextPredictorSpec;
876
+ case: "contextPredictor";
877
+ } | {
878
+ case: undefined;
879
+ value?: undefined;
880
+ };
881
+ /**
882
+ * Base encoder to adapt for the two LoRA fine-tune kinds (`local:<path>`, an
883
+ * HF repo id, or a fine-tuned id). Unused by the context-predictor kind (it
884
+ * names its source's embedding model implicitly), so it is empty there.
885
+ *
886
+ * @generated from field: string base_model = 4;
887
+ */
888
+ baseModel: string;
889
+ /**
890
+ * Optional fine-tune hyperparameters for the two LoRA fine-tune kinds; unset
891
+ * applies the engine's defaults. Unused by the context-predictor kind (its
892
+ * budget rides inside `predictor_spec`).
893
+ *
894
+ * @generated from field: optional jammi.v1.training.FineTuneConfig config = 5;
895
+ */
896
+ config?: FineTuneConfig | undefined;
897
+ };
898
+ /**
899
+ * Describes the message jammi.v1.training.StartTrainingRequest.
900
+ * Use `create(StartTrainingRequestSchema)` to create a new message.
901
+ */
902
+ export declare const StartTrainingRequestSchema: GenMessage<StartTrainingRequest>;
903
+ /**
904
+ * @generated from message jammi.v1.training.StartTrainingResponse
905
+ */
906
+ export type StartTrainingResponse = Message<"jammi.v1.training.StartTrainingResponse"> & {
907
+ /**
908
+ * Server-assigned job id. Poll `TrainingStatus` with it.
909
+ *
910
+ * @generated from field: string job_id = 1;
911
+ */
912
+ jobId: string;
913
+ /**
914
+ * The deterministic output model id the trained artifact registers under —
915
+ * the same id the engine's `TrainingJob::model_id` carries at submit time.
916
+ *
917
+ * @generated from field: string model_id = 2;
918
+ */
919
+ modelId: string;
920
+ };
921
+ /**
922
+ * Describes the message jammi.v1.training.StartTrainingResponse.
923
+ * Use `create(StartTrainingResponseSchema)` to create a new message.
924
+ */
925
+ export declare const StartTrainingResponseSchema: GenMessage<StartTrainingResponse>;
926
+ /**
927
+ * @generated from message jammi.v1.training.TrainingStatusRequest
928
+ */
929
+ export type TrainingStatusRequest = Message<"jammi.v1.training.TrainingStatusRequest"> & {
930
+ /**
931
+ * Job id returned by a prior StartTraining call.
932
+ *
933
+ * @generated from field: string job_id = 1;
934
+ */
935
+ jobId: string;
936
+ };
937
+ /**
938
+ * Describes the message jammi.v1.training.TrainingStatusRequest.
939
+ * Use `create(TrainingStatusRequestSchema)` to create a new message.
940
+ */
941
+ export declare const TrainingStatusRequestSchema: GenMessage<TrainingStatusRequest>;
942
+ /**
943
+ * @generated from message jammi.v1.training.TrainingStatusResponse
944
+ */
945
+ export type TrainingStatusResponse = Message<"jammi.v1.training.TrainingStatusResponse"> & {
946
+ /**
947
+ * Current lifecycle status: "queued", "running", "completed", or "failed".
948
+ *
949
+ * @generated from field: string status = 1;
950
+ */
951
+ status: string;
952
+ /**
953
+ * The output model id the trained artifact registers under.
954
+ *
955
+ * @generated from field: string model_id = 2;
956
+ */
957
+ modelId: string;
958
+ /**
959
+ * The failure message when `status` is "failed"; empty otherwise.
960
+ *
961
+ * @generated from field: string error = 3;
962
+ */
963
+ error: string;
964
+ };
965
+ /**
966
+ * Describes the message jammi.v1.training.TrainingStatusResponse.
967
+ * Use `create(TrainingStatusResponseSchema)` to create a new message.
968
+ */
969
+ export declare const TrainingStatusResponseSchema: GenMessage<TrainingStatusResponse>;
970
+ /**
971
+ * Fine-tuning method. Mirrors the engine's `FineTuneMethod`; LoRA is the only
972
+ * method, trained as either an encoder-internal adapter or a projection head
973
+ * over a frozen base model depending on `FineTuneConfig.target_modules`.
974
+ *
975
+ * @generated from enum jammi.v1.training.FineTuneMethod
976
+ */
977
+ export declare enum FineTuneMethod {
978
+ /**
979
+ * @generated from enum value: FINE_TUNE_METHOD_UNSPECIFIED = 0;
980
+ */
981
+ FINE_TUNE_METHOD_UNSPECIFIED = 0,
982
+ /**
983
+ * @generated from enum value: LORA = 1;
984
+ */
985
+ LORA = 1
986
+ }
987
+ /**
988
+ * Describes the enum jammi.v1.training.FineTuneMethod.
989
+ */
990
+ export declare const FineTuneMethodSchema: GenEnum<FineTuneMethod>;
991
+ /**
992
+ * Classification-loss function. Mirrors the engine's `ClassificationLoss`.
993
+ *
994
+ * @generated from enum jammi.v1.training.ClassificationLoss
995
+ */
996
+ export declare enum ClassificationLoss {
997
+ /**
998
+ * @generated from enum value: CLASSIFICATION_LOSS_UNSPECIFIED = 0;
999
+ */
1000
+ CLASSIFICATION_LOSS_UNSPECIFIED = 0,
1001
+ /**
1002
+ * @generated from enum value: CROSS_ENTROPY = 1;
1003
+ */
1004
+ CROSS_ENTROPY = 1
1005
+ }
1006
+ /**
1007
+ * Describes the enum jammi.v1.training.ClassificationLoss.
1008
+ */
1009
+ export declare const ClassificationLossSchema: GenEnum<ClassificationLoss>;
1010
+ /**
1011
+ * Which loss signal drives early stopping. Mirrors `EarlyStoppingMetric`.
1012
+ *
1013
+ * @generated from enum jammi.v1.training.EarlyStoppingMetric
1014
+ */
1015
+ export declare enum EarlyStoppingMetric {
1016
+ /**
1017
+ * @generated from enum value: EARLY_STOPPING_METRIC_UNSPECIFIED = 0;
1018
+ */
1019
+ EARLY_STOPPING_METRIC_UNSPECIFIED = 0,
1020
+ /**
1021
+ * @generated from enum value: VAL_LOSS = 1;
1022
+ */
1023
+ VAL_LOSS = 1,
1024
+ /**
1025
+ * @generated from enum value: TRAIN_LOSS = 2;
1026
+ */
1027
+ TRAIN_LOSS = 2
1028
+ }
1029
+ /**
1030
+ * Describes the enum jammi.v1.training.EarlyStoppingMetric.
1031
+ */
1032
+ export declare const EarlyStoppingMetricSchema: GenEnum<EarlyStoppingMetric>;
1033
+ /**
1034
+ * Learning-rate schedule after warmup. Mirrors the engine's `LrSchedule`.
1035
+ *
1036
+ * @generated from enum jammi.v1.training.LrSchedule
1037
+ */
1038
+ export declare enum LrSchedule {
1039
+ /**
1040
+ * @generated from enum value: LR_SCHEDULE_UNSPECIFIED = 0;
1041
+ */
1042
+ LR_SCHEDULE_UNSPECIFIED = 0,
1043
+ /**
1044
+ * @generated from enum value: CONSTANT = 1;
1045
+ */
1046
+ CONSTANT = 1,
1047
+ /**
1048
+ * @generated from enum value: COSINE_DECAY = 2;
1049
+ */
1050
+ COSINE_DECAY = 2,
1051
+ /**
1052
+ * @generated from enum value: LINEAR_DECAY = 3;
1053
+ */
1054
+ LINEAR_DECAY = 3
1055
+ }
1056
+ /**
1057
+ * Describes the enum jammi.v1.training.LrSchedule.
1058
+ */
1059
+ export declare const LrScheduleSchema: GenEnum<LrSchedule>;
1060
+ /**
1061
+ * LoRA A/B matrix initialisation. Mirrors `jammi_lora::LoraInitMode`.
1062
+ *
1063
+ * @generated from enum jammi.v1.training.LoraInitMode
1064
+ */
1065
+ export declare enum LoraInitMode {
1066
+ /**
1067
+ * @generated from enum value: LORA_INIT_MODE_UNSPECIFIED = 0;
1068
+ */
1069
+ LORA_INIT_MODE_UNSPECIFIED = 0,
1070
+ /**
1071
+ * @generated from enum value: ZEROS_B = 1;
1072
+ */
1073
+ ZEROS_B = 1,
1074
+ /**
1075
+ * @generated from enum value: GAUSSIAN = 2;
1076
+ */
1077
+ GAUSSIAN = 2
1078
+ }
1079
+ /**
1080
+ * Describes the enum jammi.v1.training.LoraInitMode.
1081
+ */
1082
+ export declare const LoraInitModeSchema: GenEnum<LoraInitMode>;
1083
+ /**
1084
+ * Dtype for the frozen backbone weights. Mirrors `jammi_lora::BackboneDtype`.
1085
+ *
1086
+ * @generated from enum jammi.v1.training.BackboneDtype
1087
+ */
1088
+ export declare enum BackboneDtype {
1089
+ /**
1090
+ * @generated from enum value: BACKBONE_DTYPE_UNSPECIFIED = 0;
1091
+ */
1092
+ BACKBONE_DTYPE_UNSPECIFIED = 0,
1093
+ /**
1094
+ * @generated from enum value: F32 = 1;
1095
+ */
1096
+ F32 = 1,
1097
+ /**
1098
+ * @generated from enum value: BF16 = 2;
1099
+ */
1100
+ BF16 = 2,
1101
+ /**
1102
+ * @generated from enum value: F16 = 3;
1103
+ */
1104
+ F16 = 3
1105
+ }
1106
+ /**
1107
+ * Describes the enum jammi.v1.training.BackboneDtype.
1108
+ */
1109
+ export declare const BackboneDtypeSchema: GenEnum<BackboneDtype>;
1110
+ /**
1111
+ * Edge provenance for a graph fine-tune. Mirrors the engine's `EdgeProvenance`
1112
+ * — the load-bearing circularity distinction (declared edges teach the metric
1113
+ * something new; similarity edges largely re-learn it).
1114
+ *
1115
+ * @generated from enum jammi.v1.training.EdgeProvenance
1116
+ */
1117
+ export declare enum EdgeProvenance {
1118
+ /**
1119
+ * @generated from enum value: EDGE_PROVENANCE_UNSPECIFIED = 0;
1120
+ */
1121
+ EDGE_PROVENANCE_UNSPECIFIED = 0,
1122
+ /**
1123
+ * @generated from enum value: DECLARED = 1;
1124
+ */
1125
+ DECLARED = 1,
1126
+ /**
1127
+ * @generated from enum value: SIMILARITY = 2;
1128
+ */
1129
+ SIMILARITY = 2
1130
+ }
1131
+ /**
1132
+ * Describes the enum jammi.v1.training.EdgeProvenance.
1133
+ */
1134
+ export declare const EdgeProvenanceSchema: GenEnum<EdgeProvenance>;
1135
+ /**
1136
+ * Which curated in-context-predictor architecture to train. Mirrors the
1137
+ * engine's `ContextArchitecture`.
1138
+ *
1139
+ * @generated from enum jammi.v1.training.ContextArchitecture
1140
+ */
1141
+ export declare enum ContextArchitecture {
1142
+ /**
1143
+ * @generated from enum value: CONTEXT_ARCHITECTURE_UNSPECIFIED = 0;
1144
+ */
1145
+ CONTEXT_ARCHITECTURE_UNSPECIFIED = 0,
1146
+ /**
1147
+ * @generated from enum value: CNP = 1;
1148
+ */
1149
+ CNP = 1,
1150
+ /**
1151
+ * @generated from enum value: ATTN_CNP = 2;
1152
+ */
1153
+ ATTN_CNP = 2,
1154
+ /**
1155
+ * @generated from enum value: TNP = 3;
1156
+ */
1157
+ TNP = 3
1158
+ }
1159
+ /**
1160
+ * Describes the enum jammi.v1.training.ContextArchitecture.
1161
+ */
1162
+ export declare const ContextArchitectureSchema: GenEnum<ContextArchitecture>;
1163
+ /**
1164
+ * TrainingService — the wire surface for the engine's training verbs.
1165
+ *
1166
+ * `StartTraining` and `TrainingStatus` are imperative session methods, not SQL
1167
+ * queries, so they live as typed gRPC RPCs alongside SessionService /
1168
+ * TriggerService / EmbeddingService / InferenceService / EvalService rather
1169
+ * than on the Flight SQL surface (which carries query/result only, per ADR-01
1170
+ * §3.2). Training is a substrate primitive — meta-learning an adapter or a
1171
+ * predictor over a registered source — and names no tenant-domain concept.
1172
+ *
1173
+ * The service serves all three engine training kinds (`fine_tune`,
1174
+ * `graph_fine_tune`, `context_predictor`) behind one verb: `StartTraining`
1175
+ * carries a full `TrainingSpec` oneof and dispatches to the matching engine
1176
+ * submit verb, returning the durable job id and the (deterministic) output
1177
+ * model id. The job runs asynchronously inside the engine; the client polls
1178
+ * `TrainingStatus` by id until a terminal state. There is no progress stream —
1179
+ * the abstraction exposes none, so this surface invents none. The service
1180
+ * reimplements no training, LoRA, sampling, or scan logic; it is purely a wire
1181
+ * adapter.
1182
+ *
1183
+ * Tenant scope is read from the request's `SessionTenant` extension, set by the
1184
+ * shared TenantInterceptor from the `jammi-session-id` header — the same
1185
+ * mechanism every other gRPC service and Flight SQL already use.
1186
+ *
1187
+ * @generated from service jammi.v1.training.TrainingService
1188
+ */
1189
+ export declare const TrainingService: GenService<{
1190
+ /**
1191
+ * Submit a training job over a registered source and return its id + output
1192
+ * model id. The job trains asynchronously; poll `TrainingStatus` with the
1193
+ * returned job id. Peer of the engine's `fine_tune` / `fine_tune_graph` /
1194
+ * `train_context_predictor` submit verbs (the spec oneof selects which).
1195
+ *
1196
+ * @generated from rpc jammi.v1.training.TrainingService.StartTraining
1197
+ */
1198
+ startTraining: {
1199
+ methodKind: "unary";
1200
+ input: typeof StartTrainingRequestSchema;
1201
+ output: typeof StartTrainingResponseSchema;
1202
+ };
1203
+ /**
1204
+ * Read a training job's current status by id, plus its output model id and
1205
+ * the failure message when it failed. Peer of reading back the engine's
1206
+ * `TrainingJob` handle — the output model id and error are what let a remote
1207
+ * `wait()` retrieve the result and a failure reason.
1208
+ *
1209
+ * @generated from rpc jammi.v1.training.TrainingService.TrainingStatus
1210
+ */
1211
+ trainingStatus: {
1212
+ methodKind: "unary";
1213
+ input: typeof TrainingStatusRequestSchema;
1214
+ output: typeof TrainingStatusResponseSchema;
1215
+ };
1216
+ }>;
1217
+ //# sourceMappingURL=training_pb.d.ts.map