@replit/protocol 0.4.23-dev.3 → 0.4.24-dev.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.
@@ -12,15 +12,18 @@ import { MessageType } from "@protobuf-ts/runtime";
12
12
  export interface Boosted {
13
13
  }
14
14
  /**
15
- * Viktor enables the Viktor vector database that powers RAG.
15
+ * Deprecated: Viktor is no longer evaluated; the feature was removed.
16
16
  *
17
+ * @deprecated
17
18
  * @generated from protobuf message replit.goval.api.features.Viktor
18
19
  */
19
20
  export interface Viktor {
20
21
  }
21
22
  /**
22
- * Notary enables the notary sidecar container.
23
+ * Deprecated: Notary is now always enabled; this feature is no longer
24
+ * evaluated.
23
25
  *
26
+ * @deprecated
24
27
  * @generated from protobuf message replit.goval.api.features.Notary
25
28
  */
26
29
  export interface Notary {
@@ -44,17 +47,20 @@ export interface Feature {
44
47
  } | {
45
48
  oneofKind: "viktor";
46
49
  /**
47
- * Viktor enables the Viktor vector database that powers RAG.
50
+ * Deprecated: Viktor is no longer evaluated; the feature was removed.
48
51
  *
49
- * @generated from protobuf field: replit.goval.api.features.Viktor viktor = 5
52
+ * @deprecated
53
+ * @generated from protobuf field: replit.goval.api.features.Viktor viktor = 5 [deprecated = true]
50
54
  */
51
55
  viktor: Viktor;
52
56
  } | {
53
57
  oneofKind: "notary";
54
58
  /**
55
- * Notary enables the notary sidecar container.
59
+ * Deprecated: Notary is now always enabled; this feature is no longer
60
+ * evaluated.
56
61
  *
57
- * @generated from protobuf field: replit.goval.api.features.Notary notary = 6
62
+ * @deprecated
63
+ * @generated from protobuf field: replit.goval.api.features.Notary notary = 6 [deprecated = true]
58
64
  */
59
65
  notary: Notary;
60
66
  } | {
@@ -86,6 +92,7 @@ declare class Viktor$Type extends MessageType<Viktor> {
86
92
  internalBinaryWrite(message: Viktor, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
87
93
  }
88
94
  /**
95
+ * @deprecated
89
96
  * @generated MessageType for protobuf message replit.goval.api.features.Viktor
90
97
  */
91
98
  export declare const Viktor: Viktor$Type;
@@ -96,6 +103,7 @@ declare class Notary$Type extends MessageType<Notary> {
96
103
  internalBinaryWrite(message: Notary, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
97
104
  }
98
105
  /**
106
+ * @deprecated
99
107
  * @generated MessageType for protobuf message replit.goval.api.features.Notary
100
108
  */
101
109
  export declare const Notary: Notary$Type;
@@ -78,6 +78,7 @@ class Viktor$Type extends MessageType {
78
78
  }
79
79
  }
80
80
  /**
81
+ * @deprecated
81
82
  * @generated MessageType for protobuf message replit.goval.api.features.Viktor
82
83
  */
83
84
  export const Viktor = new Viktor$Type();
@@ -116,6 +117,7 @@ class Notary$Type extends MessageType {
116
117
  }
117
118
  }
118
119
  /**
120
+ * @deprecated
119
121
  * @generated MessageType for protobuf message replit.goval.api.features.Notary
120
122
  */
121
123
  export const Notary = new Notary$Type();
@@ -148,13 +150,13 @@ class Feature$Type extends MessageType {
148
150
  boosted: Boosted.internalBinaryRead(reader, reader.uint32(), options, message.feature.boosted)
149
151
  };
150
152
  break;
151
- case /* replit.goval.api.features.Viktor viktor */ 5:
153
+ case /* replit.goval.api.features.Viktor viktor = 5 [deprecated = true] */ 5:
152
154
  message.feature = {
153
155
  oneofKind: "viktor",
154
156
  viktor: Viktor.internalBinaryRead(reader, reader.uint32(), options, message.feature.viktor)
155
157
  };
156
158
  break;
157
- case /* replit.goval.api.features.Notary notary */ 6:
159
+ case /* replit.goval.api.features.Notary notary = 6 [deprecated = true] */ 6:
158
160
  message.feature = {
159
161
  oneofKind: "notary",
160
162
  notary: Notary.internalBinaryRead(reader, reader.uint32(), options, message.feature.notary)
@@ -181,10 +183,10 @@ class Feature$Type extends MessageType {
181
183
  /* bool required = 3; */
182
184
  if (message.required !== false)
183
185
  writer.tag(3, WireType.Varint).bool(message.required);
184
- /* replit.goval.api.features.Viktor viktor = 5; */
186
+ /* replit.goval.api.features.Viktor viktor = 5 [deprecated = true]; */
185
187
  if (message.feature.oneofKind === "viktor")
186
188
  Viktor.internalBinaryWrite(message.feature.viktor, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
187
- /* replit.goval.api.features.Notary notary = 6; */
189
+ /* replit.goval.api.features.Notary notary = 6 [deprecated = true]; */
188
190
  if (message.feature.oneofKind === "notary")
189
191
  Notary.internalBinaryWrite(message.feature.notary, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
190
192
  let u = options.writeUnknownFields;
@@ -8,6 +8,8 @@ import type { TransferReplFromOfflineClusterResponse } from "./service.js";
8
8
  import type { TransferReplFromOfflineClusterRequest } from "./service.js";
9
9
  import type { GetClustersResponse } from "./service.js";
10
10
  import type { GetClustersRequest } from "./service.js";
11
+ import type { DeleteReplResponse } from "./service.js";
12
+ import type { DeleteReplRequest } from "./service.js";
11
13
  import type { BulkRemoveResponse } from "./service.js";
12
14
  import type { BulkRemoveRequest } from "./service.js";
13
15
  import type { RestoreReplResponse } from "./service.js";
@@ -111,6 +113,18 @@ export interface ILoreClient {
111
113
  * @generated from protobuf rpc: BulkRemove
112
114
  */
113
115
  bulkRemove(input: BulkRemoveRequest, options?: RpcOptions): UnaryCall<BulkRemoveRequest, BulkRemoveResponse>;
116
+ /**
117
+ * DeleteRepl permanently deletes a repl.
118
+ * This adds a tombstone to prevent the repl from running, attempts to delete
119
+ * GCS resources (margarine disk, helium margarine disk + snapshots, gcsfiles,
120
+ * OT metadata) on a best-effort basis, and soft deletes the repl from the
121
+ * lore database. GCS cleanup failures are logged but do not block deletion;
122
+ * orphaned storage can be cleaned up separately.
123
+ * This operation is irreversible and idempotent.
124
+ *
125
+ * @generated from protobuf rpc: DeleteRepl
126
+ */
127
+ deleteRepl(input: DeleteReplRequest, options?: RpcOptions): UnaryCall<DeleteReplRequest, DeleteReplResponse>;
114
128
  /**
115
129
  * GetClusters returns metadata for all clusters.
116
130
  *
@@ -240,6 +254,18 @@ export declare class LoreClient implements ILoreClient, ServiceInfo {
240
254
  * @generated from protobuf rpc: BulkRemove
241
255
  */
242
256
  bulkRemove(input: BulkRemoveRequest, options?: RpcOptions): UnaryCall<BulkRemoveRequest, BulkRemoveResponse>;
257
+ /**
258
+ * DeleteRepl permanently deletes a repl.
259
+ * This adds a tombstone to prevent the repl from running, attempts to delete
260
+ * GCS resources (margarine disk, helium margarine disk + snapshots, gcsfiles,
261
+ * OT metadata) on a best-effort basis, and soft deletes the repl from the
262
+ * lore database. GCS cleanup failures are logged but do not block deletion;
263
+ * orphaned storage can be cleaned up separately.
264
+ * This operation is irreversible and idempotent.
265
+ *
266
+ * @generated from protobuf rpc: DeleteRepl
267
+ */
268
+ deleteRepl(input: DeleteReplRequest, options?: RpcOptions): UnaryCall<DeleteReplRequest, DeleteReplResponse>;
243
269
  /**
244
270
  * GetClusters returns metadata for all clusters.
245
271
  *
@@ -117,13 +117,28 @@ export class LoreClient {
117
117
  const method = this.methods[9], opt = this._transport.mergeOptions(options);
118
118
  return stackIntercept("unary", this._transport, method, opt, input);
119
119
  }
120
+ /**
121
+ * DeleteRepl permanently deletes a repl.
122
+ * This adds a tombstone to prevent the repl from running, attempts to delete
123
+ * GCS resources (margarine disk, helium margarine disk + snapshots, gcsfiles,
124
+ * OT metadata) on a best-effort basis, and soft deletes the repl from the
125
+ * lore database. GCS cleanup failures are logged but do not block deletion;
126
+ * orphaned storage can be cleaned up separately.
127
+ * This operation is irreversible and idempotent.
128
+ *
129
+ * @generated from protobuf rpc: DeleteRepl
130
+ */
131
+ deleteRepl(input, options) {
132
+ const method = this.methods[10], opt = this._transport.mergeOptions(options);
133
+ return stackIntercept("unary", this._transport, method, opt, input);
134
+ }
120
135
  /**
121
136
  * GetClusters returns metadata for all clusters.
122
137
  *
123
138
  * @generated from protobuf rpc: GetClusters
124
139
  */
125
140
  getClusters(input, options) {
126
- const method = this.methods[10], opt = this._transport.mergeOptions(options);
141
+ const method = this.methods[11], opt = this._transport.mergeOptions(options);
127
142
  return stackIntercept("unary", this._transport, method, opt, input);
128
143
  }
129
144
  /**
@@ -137,7 +152,7 @@ export class LoreClient {
137
152
  * @generated from protobuf rpc: TransferReplFromOfflineCluster
138
153
  */
139
154
  transferReplFromOfflineCluster(input, options) {
140
- const method = this.methods[11], opt = this._transport.mergeOptions(options);
155
+ const method = this.methods[12], opt = this._transport.mergeOptions(options);
141
156
  return stackIntercept("unary", this._transport, method, opt, input);
142
157
  }
143
158
  /**
@@ -153,7 +168,7 @@ export class LoreClient {
153
168
  * @generated from protobuf rpc: ExportRepl
154
169
  */
155
170
  exportRepl(input, options) {
156
- const method = this.methods[12], opt = this._transport.mergeOptions(options);
171
+ const method = this.methods[13], opt = this._transport.mergeOptions(options);
157
172
  return stackIntercept("unary", this._transport, method, opt, input);
158
173
  }
159
174
  /**
@@ -166,7 +181,7 @@ export class LoreClient {
166
181
  * @generated from protobuf rpc: ImportRepl
167
182
  */
168
183
  importRepl(input, options) {
169
- const method = this.methods[13], opt = this._transport.mergeOptions(options);
184
+ const method = this.methods[14], opt = this._transport.mergeOptions(options);
170
185
  return stackIntercept("unary", this._transport, method, opt, input);
171
186
  }
172
187
  }
@@ -145,6 +145,13 @@ export interface CreateReplRequest {
145
145
  * @generated from protobuf field: bool copy_helium = 8
146
146
  */
147
147
  copyHelium: boolean;
148
+ /**
149
+ * whether to copy the gitsafe manifest from the source repl
150
+ * this just copies the manifest and keeps the pointers to the og blocks
151
+ *
152
+ * @generated from protobuf field: bool copy_gitsafe = 9
153
+ */
154
+ copyGitsafe: boolean;
148
155
  }
149
156
  /**
150
157
  * @generated from protobuf message replit.goval.api.lore.CreateReplRequest.Repl
@@ -554,6 +561,20 @@ export interface BulkRemoveRequest {
554
561
  */
555
562
  export interface BulkRemoveResponse {
556
563
  }
564
+ /**
565
+ * @generated from protobuf message replit.goval.api.lore.DeleteReplRequest
566
+ */
567
+ export interface DeleteReplRequest {
568
+ /**
569
+ * @generated from protobuf field: string repl_id = 1
570
+ */
571
+ replId: string;
572
+ }
573
+ /**
574
+ * @generated from protobuf message replit.goval.api.lore.DeleteReplResponse
575
+ */
576
+ export interface DeleteReplResponse {
577
+ }
557
578
  /**
558
579
  * @generated from protobuf message replit.goval.api.lore.GetClustersRequest
559
580
  */
@@ -986,6 +1007,26 @@ declare class BulkRemoveResponse$Type extends MessageType<BulkRemoveResponse> {
986
1007
  * @generated MessageType for protobuf message replit.goval.api.lore.BulkRemoveResponse
987
1008
  */
988
1009
  export declare const BulkRemoveResponse: BulkRemoveResponse$Type;
1010
+ declare class DeleteReplRequest$Type extends MessageType<DeleteReplRequest> {
1011
+ constructor();
1012
+ create(value?: PartialMessage<DeleteReplRequest>): DeleteReplRequest;
1013
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteReplRequest): DeleteReplRequest;
1014
+ internalBinaryWrite(message: DeleteReplRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
1015
+ }
1016
+ /**
1017
+ * @generated MessageType for protobuf message replit.goval.api.lore.DeleteReplRequest
1018
+ */
1019
+ export declare const DeleteReplRequest: DeleteReplRequest$Type;
1020
+ declare class DeleteReplResponse$Type extends MessageType<DeleteReplResponse> {
1021
+ constructor();
1022
+ create(value?: PartialMessage<DeleteReplResponse>): DeleteReplResponse;
1023
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteReplResponse): DeleteReplResponse;
1024
+ internalBinaryWrite(message: DeleteReplResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
1025
+ }
1026
+ /**
1027
+ * @generated MessageType for protobuf message replit.goval.api.lore.DeleteReplResponse
1028
+ */
1029
+ export declare const DeleteReplResponse: DeleteReplResponse$Type;
989
1030
  declare class GetClustersRequest$Type extends MessageType<GetClustersRequest> {
990
1031
  constructor();
991
1032
  create(value?: PartialMessage<GetClustersRequest>): GetClustersRequest;
@@ -212,13 +212,15 @@ class CreateReplRequest$Type extends MessageType {
212
212
  { no: 6, name: "continent", kind: "scalar", oneof: "location", T: 9 /*ScalarType.STRING*/ },
213
213
  { no: 7, name: "replLocation", kind: "message", T: () => ReplLocation },
214
214
  { no: 3, name: "source_repl", kind: "message", T: () => CreateReplRequest_SourceRepl },
215
- { no: 8, name: "copy_helium", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
215
+ { no: 8, name: "copy_helium", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
216
+ { no: 9, name: "copy_gitsafe", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
216
217
  ]);
217
218
  }
218
219
  create(value) {
219
220
  const message = globalThis.Object.create((this.messagePrototype));
220
221
  message.location = { oneofKind: undefined };
221
222
  message.copyHelium = false;
223
+ message.copyGitsafe = false;
222
224
  if (value !== undefined)
223
225
  reflectionMergePartial(this, message, value);
224
226
  return message;
@@ -252,6 +254,9 @@ class CreateReplRequest$Type extends MessageType {
252
254
  case /* bool copy_helium */ 8:
253
255
  message.copyHelium = reader.bool();
254
256
  break;
257
+ case /* bool copy_gitsafe */ 9:
258
+ message.copyGitsafe = reader.bool();
259
+ break;
255
260
  default:
256
261
  let u = options.readUnknownField;
257
262
  if (u === "throw")
@@ -282,6 +287,9 @@ class CreateReplRequest$Type extends MessageType {
282
287
  /* bool copy_helium = 8; */
283
288
  if (message.copyHelium !== false)
284
289
  writer.tag(8, WireType.Varint).bool(message.copyHelium);
290
+ /* bool copy_gitsafe = 9; */
291
+ if (message.copyGitsafe !== false)
292
+ writer.tag(9, WireType.Varint).bool(message.copyGitsafe);
285
293
  let u = options.writeUnknownFields;
286
294
  if (u !== false)
287
295
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1725,6 +1733,91 @@ class BulkRemoveResponse$Type extends MessageType {
1725
1733
  */
1726
1734
  export const BulkRemoveResponse = new BulkRemoveResponse$Type();
1727
1735
  // @generated message type with reflection information, may provide speed optimized methods
1736
+ class DeleteReplRequest$Type extends MessageType {
1737
+ constructor() {
1738
+ super("replit.goval.api.lore.DeleteReplRequest", [
1739
+ { no: 1, name: "repl_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
1740
+ ]);
1741
+ }
1742
+ create(value) {
1743
+ const message = globalThis.Object.create((this.messagePrototype));
1744
+ message.replId = "";
1745
+ if (value !== undefined)
1746
+ reflectionMergePartial(this, message, value);
1747
+ return message;
1748
+ }
1749
+ internalBinaryRead(reader, length, options, target) {
1750
+ let message = target ?? this.create(), end = reader.pos + length;
1751
+ while (reader.pos < end) {
1752
+ let [fieldNo, wireType] = reader.tag();
1753
+ switch (fieldNo) {
1754
+ case /* string repl_id */ 1:
1755
+ message.replId = reader.string();
1756
+ break;
1757
+ default:
1758
+ let u = options.readUnknownField;
1759
+ if (u === "throw")
1760
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1761
+ let d = reader.skip(wireType);
1762
+ if (u !== false)
1763
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1764
+ }
1765
+ }
1766
+ return message;
1767
+ }
1768
+ internalBinaryWrite(message, writer, options) {
1769
+ /* string repl_id = 1; */
1770
+ if (message.replId !== "")
1771
+ writer.tag(1, WireType.LengthDelimited).string(message.replId);
1772
+ let u = options.writeUnknownFields;
1773
+ if (u !== false)
1774
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1775
+ return writer;
1776
+ }
1777
+ }
1778
+ /**
1779
+ * @generated MessageType for protobuf message replit.goval.api.lore.DeleteReplRequest
1780
+ */
1781
+ export const DeleteReplRequest = new DeleteReplRequest$Type();
1782
+ // @generated message type with reflection information, may provide speed optimized methods
1783
+ class DeleteReplResponse$Type extends MessageType {
1784
+ constructor() {
1785
+ super("replit.goval.api.lore.DeleteReplResponse", []);
1786
+ }
1787
+ create(value) {
1788
+ const message = globalThis.Object.create((this.messagePrototype));
1789
+ if (value !== undefined)
1790
+ reflectionMergePartial(this, message, value);
1791
+ return message;
1792
+ }
1793
+ internalBinaryRead(reader, length, options, target) {
1794
+ let message = target ?? this.create(), end = reader.pos + length;
1795
+ while (reader.pos < end) {
1796
+ let [fieldNo, wireType] = reader.tag();
1797
+ switch (fieldNo) {
1798
+ default:
1799
+ let u = options.readUnknownField;
1800
+ if (u === "throw")
1801
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1802
+ let d = reader.skip(wireType);
1803
+ if (u !== false)
1804
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1805
+ }
1806
+ }
1807
+ return message;
1808
+ }
1809
+ internalBinaryWrite(message, writer, options) {
1810
+ let u = options.writeUnknownFields;
1811
+ if (u !== false)
1812
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1813
+ return writer;
1814
+ }
1815
+ }
1816
+ /**
1817
+ * @generated MessageType for protobuf message replit.goval.api.lore.DeleteReplResponse
1818
+ */
1819
+ export const DeleteReplResponse = new DeleteReplResponse$Type();
1820
+ // @generated message type with reflection information, may provide speed optimized methods
1728
1821
  class GetClustersRequest$Type extends MessageType {
1729
1822
  constructor() {
1730
1823
  super("replit.goval.api.lore.GetClustersRequest", []);
@@ -2264,6 +2357,7 @@ export const Lore = new ServiceType("replit.goval.api.lore.Lore", [
2264
2357
  { name: "SoftTakedownRepl", options: {}, I: SoftTakedownReplRequest, O: SoftTakedownReplResponse },
2265
2358
  { name: "RestoreRepl", options: {}, I: RestoreReplRequest, O: RestoreReplResponse },
2266
2359
  { name: "BulkRemove", options: {}, I: BulkRemoveRequest, O: BulkRemoveResponse },
2360
+ { name: "DeleteRepl", options: {}, I: DeleteReplRequest, O: DeleteReplResponse },
2267
2361
  { name: "GetClusters", options: {}, I: GetClustersRequest, O: GetClustersResponse },
2268
2362
  { name: "TransferReplFromOfflineCluster", options: {}, I: TransferReplFromOfflineClusterRequest, O: TransferReplFromOfflineClusterResponse },
2269
2363
  { name: "ExportRepl", options: {}, I: ExportReplRequest, O: ExportReplResponse },
@@ -141,6 +141,14 @@ export interface Repl {
141
141
  * @generated from protobuf field: string connectors_host = 16
142
142
  */
143
143
  connectorsHost: string;
144
+ /**
145
+ * Metadata that are passed into backer job as environment variables
146
+ *
147
+ * @generated from protobuf field: map<string, string> backer_job_metadata = 17
148
+ */
149
+ backerJobMetadata: {
150
+ [key: string]: string;
151
+ };
144
152
  }
145
153
  /**
146
154
  * autocontainer needs to know if we are in a teams org
@@ -483,6 +491,7 @@ declare class Repl$Type extends MessageType<Repl> {
483
491
  constructor();
484
492
  create(value?: PartialMessage<Repl>): Repl;
485
493
  internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Repl): Repl;
494
+ private binaryReadMap17;
486
495
  internalBinaryWrite(message: Repl, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
487
496
  }
488
497
  /**
@@ -201,7 +201,8 @@ class Repl$Type extends MessageType {
201
201
  { no: 11, name: "roles", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
202
202
  { no: 13, name: "log_fields", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
203
203
  { no: 15, name: "use_repl_shield", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
204
- { no: 16, name: "connectors_host", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
204
+ { no: 16, name: "connectors_host", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
205
+ { no: 17, name: "backer_job_metadata", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "scalar", T: 9 /*ScalarType.STRING*/ } }
205
206
  ]);
206
207
  }
207
208
  create(value) {
@@ -218,6 +219,7 @@ class Repl$Type extends MessageType {
218
219
  message.logFields = "";
219
220
  message.useReplShield = false;
220
221
  message.connectorsHost = "";
222
+ message.backerJobMetadata = {};
221
223
  if (value !== undefined)
222
224
  reflectionMergePartial(this, message, value);
223
225
  return message;
@@ -272,6 +274,9 @@ class Repl$Type extends MessageType {
272
274
  case /* string connectors_host */ 16:
273
275
  message.connectorsHost = reader.string();
274
276
  break;
277
+ case /* map<string, string> backer_job_metadata */ 17:
278
+ this.binaryReadMap17(message.backerJobMetadata, reader, options);
279
+ break;
275
280
  default:
276
281
  let u = options.readUnknownField;
277
282
  if (u === "throw")
@@ -283,6 +288,22 @@ class Repl$Type extends MessageType {
283
288
  }
284
289
  return message;
285
290
  }
291
+ binaryReadMap17(map, reader, options) {
292
+ let len = reader.uint32(), end = reader.pos + len, key, val;
293
+ while (reader.pos < end) {
294
+ let [fieldNo, wireType] = reader.tag();
295
+ switch (fieldNo) {
296
+ case 1:
297
+ key = reader.string();
298
+ break;
299
+ case 2:
300
+ val = reader.string();
301
+ break;
302
+ default: throw new globalThis.Error("unknown map entry field for replit.goval.api.repl.Repl.backer_job_metadata");
303
+ }
304
+ }
305
+ map[key ?? ""] = val ?? "";
306
+ }
286
307
  internalBinaryWrite(message, writer, options) {
287
308
  /* string id = 1; */
288
309
  if (message.id !== "")
@@ -329,6 +350,9 @@ class Repl$Type extends MessageType {
329
350
  /* string connectors_host = 16; */
330
351
  if (message.connectorsHost !== "")
331
352
  writer.tag(16, WireType.LengthDelimited).string(message.connectorsHost);
353
+ /* map<string, string> backer_job_metadata = 17; */
354
+ for (let k of globalThis.Object.keys(message.backerJobMetadata))
355
+ writer.tag(17, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k).tag(2, WireType.LengthDelimited).string(message.backerJobMetadata[k]).join();
332
356
  let u = options.writeUnknownFields;
333
357
  if (u !== false)
334
358
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -4423,6 +4423,13 @@ export interface DeploymentConfig {
4423
4423
  * @generated from protobuf field: bool ignorePorts = 3
4424
4424
  */
4425
4425
  ignorePorts: boolean;
4426
+ /**
4427
+ * postBuild is a command to run after all build steps have completed
4428
+ * (including any artifact-specific build commands).
4429
+ *
4430
+ * @generated from protobuf field: replit.goval.api.Exec postBuild = 8
4431
+ */
4432
+ postBuild?: Exec;
4426
4433
  /**
4427
4434
  * @generated from protobuf field: replit.goval.api.DeploymentConfig.Target target = 4
4428
4435
  */
package/dist/api/types.js CHANGED
@@ -11916,6 +11916,7 @@ class DeploymentConfig$Type extends MessageType {
11916
11916
  { no: 1, name: "run", kind: "message", T: () => Exec },
11917
11917
  { no: 2, name: "build", kind: "message", T: () => Exec },
11918
11918
  { no: 3, name: "ignorePorts", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
11919
+ { no: 8, name: "postBuild", kind: "message", T: () => Exec },
11919
11920
  { no: 4, name: "target", kind: "enum", T: () => ["replit.goval.api.DeploymentConfig.Target", DeploymentConfig_Target] },
11920
11921
  { no: 5, name: "publicDir", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
11921
11922
  { no: 6, name: "rewrites", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DeploymentConfig_RewriteRule },
@@ -11947,6 +11948,9 @@ class DeploymentConfig$Type extends MessageType {
11947
11948
  case /* bool ignorePorts */ 3:
11948
11949
  message.ignorePorts = reader.bool();
11949
11950
  break;
11951
+ case /* replit.goval.api.Exec postBuild */ 8:
11952
+ message.postBuild = Exec.internalBinaryRead(reader, reader.uint32(), options, message.postBuild);
11953
+ break;
11950
11954
  case /* replit.goval.api.DeploymentConfig.Target target */ 4:
11951
11955
  message.target = reader.int32();
11952
11956
  break;
@@ -11992,6 +11996,9 @@ class DeploymentConfig$Type extends MessageType {
11992
11996
  /* repeated replit.goval.api.DeploymentConfig.Header responseHeaders = 7; */
11993
11997
  for (let i = 0; i < message.responseHeaders.length; i++)
11994
11998
  DeploymentConfig_Header.internalBinaryWrite(message.responseHeaders[i], writer.tag(7, WireType.LengthDelimited).fork(), options).join();
11999
+ /* replit.goval.api.Exec postBuild = 8; */
12000
+ if (message.postBuild)
12001
+ Exec.internalBinaryWrite(message.postBuild, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
11995
12002
  let u = options.writeUnknownFields;
11996
12003
  if (u !== false)
11997
12004
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);