@nebius/js-sdk 0.1.31 → 0.1.32

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.
@@ -3,6 +3,101 @@ import { Dayjs } from 'dayjs';
3
3
  import { Status } from '../api/google/rpc/index';
4
4
  import { Request, RetryOptions } from './request';
5
5
  import { Logger, custom, customJson } from './util/logging';
6
+ type TickCount = number | {
7
+ toNumber?: () => number;
8
+ toString?: () => string;
9
+ };
10
+ interface ProgressTrackerWorkDone {
11
+ totalTickCount?: TickCount | undefined;
12
+ doneTickCount?: TickCount | undefined;
13
+ }
14
+ interface ProgressTrackerStep {
15
+ description?: string | undefined;
16
+ startedAt?: Dayjs | undefined;
17
+ finishedAt?: Dayjs | undefined;
18
+ workDone?: ProgressTrackerWorkDone | undefined;
19
+ }
20
+ interface ProgressTrackerProto {
21
+ description?: string | undefined;
22
+ startedAt?: Dayjs | undefined;
23
+ finishedAt?: Dayjs | undefined;
24
+ estimatedFinishedAt?: Dayjs | undefined;
25
+ workDone?: ProgressTrackerWorkDone | undefined;
26
+ steps?: ProgressTrackerStep[] | undefined;
27
+ }
28
+ /**
29
+ * A single step within an operation progress tracker.
30
+ *
31
+ * Steps are optional and may include only currently running steps or a subset
32
+ * of completed steps, depending on the service.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const tracker = op.progressTracker();
37
+ * if (tracker) {
38
+ * for (const step of tracker.steps()) {
39
+ * const fraction = step.workFraction();
40
+ * if (fraction === undefined) {
41
+ * console.log(step.description());
42
+ * } else {
43
+ * console.log(`${step.description()}: ${Math.round(fraction * 100)}%`);
44
+ * }
45
+ * }
46
+ * }
47
+ * ```
48
+ */
49
+ export interface CurrentStep {
50
+ /** Human-readable description of the step. */
51
+ description(): string;
52
+ /** Step start timestamp if provided. */
53
+ startedAt(): Dayjs | undefined;
54
+ /** Step finish timestamp if provided. */
55
+ finishedAt(): Dayjs | undefined;
56
+ /** Work progress details if provided. */
57
+ workDone(): ProgressTrackerWorkDone | undefined;
58
+ /**
59
+ * Fraction of work completed for the step.
60
+ * Returns `undefined` when work details are missing or invalid.
61
+ */
62
+ workFraction(): number | undefined;
63
+ /** String representation for logs/debugging. */
64
+ toString(): string;
65
+ /** Custom JSON hook used by runtime logging. */
66
+ [customJson](): unknown;
67
+ }
68
+ /**
69
+ * Progress tracking interface for long-running operations.
70
+ * Mirrors the server-side ProgressTracker and adds convenience helpers.
71
+ *
72
+ * For operations that do not provide progress details (or v1alpha1 operations),
73
+ * {@link Operation.progressTracker} returns `undefined`.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const tracker = op.progressTracker();
78
+ * if (tracker) {
79
+ * console.log(tracker.description());
80
+ * const work = tracker.workFraction();
81
+ * if (work !== undefined) console.log(`Work: ${Math.round(work * 100)}%`);
82
+ * const time = tracker.timeFraction();
83
+ * if (time !== undefined) console.log(`Time: ${Math.round(time * 100)}%`);
84
+ * }
85
+ * ```
86
+ */
87
+ export interface OperationProgressTracker extends CurrentStep {
88
+ /**
89
+ * Estimated completion time when available.
90
+ * If the tracker reports a finished time, it is returned.
91
+ */
92
+ estimatedFinishedAt(): Dayjs | undefined;
93
+ /**
94
+ * Fraction of time elapsed based on start and estimated finish.
95
+ * Returns `undefined` when timestamps are missing or invalid.
96
+ */
97
+ timeFraction(): number | undefined;
98
+ /** Steps reported by the tracker (may be empty). */
99
+ steps(): CurrentStep[];
100
+ }
6
101
  interface Operation_RequestHeader {
7
102
  values: string[];
8
103
  }
@@ -21,6 +116,7 @@ interface GenericOperation {
21
116
  [key: string]: Operation_RequestHeader;
22
117
  };
23
118
  resourceId: string;
119
+ progressTracker?: ProgressTrackerProto | undefined;
24
120
  progressData?: {
25
121
  typeUrl: string;
26
122
  value: Uint8Array;
@@ -32,6 +128,17 @@ interface OperationService<TReq> {
32
128
  id: string;
33
129
  }, metadata?: Metadata | undefined, options?: (Partial<CallOptions> & RetryOptions) | undefined): Request<TReq, Operation<TReq>>;
34
130
  }
131
+ /**
132
+ * A convenience wrapper around operation protobufs.
133
+ * Provides helpers to poll, wait, and inspect operation metadata.
134
+ *
135
+ * @example
136
+ * ```ts
137
+ * const op = await service.create(req).result;
138
+ * await op.wait();
139
+ * console.log('resource id', op.resourceId());
140
+ * ```
141
+ */
35
142
  export declare class Operation<TReq> {
36
143
  [custom]: () => string;
37
144
  private _op;
@@ -43,17 +150,70 @@ export declare class Operation<TReq> {
43
150
  toString(): string;
44
151
  [customJson](): unknown;
45
152
  id(): string;
153
+ /** Human-readable operation description. */
46
154
  description(): string;
155
+ /** Operation creation timestamp if provided. */
47
156
  createdAt(): Dayjs | undefined;
157
+ /** ID of the user or service account that created the operation. */
48
158
  createdBy(): string;
159
+ /** Operation completion timestamp if provided. */
49
160
  finishedAt(): Dayjs | undefined;
161
+ /** Returns true if operation status is OK. */
50
162
  successful(): boolean;
163
+ /** Raw underlying protobuf object. */
51
164
  raw(): GenericOperation;
165
+ /** Operation status if completed. */
52
166
  status(): Status | undefined;
167
+ /** Returns true if the operation is completed. */
53
168
  done(): boolean;
169
+ /** Resource ID associated with the operation. */
54
170
  resourceId(): string;
171
+ /**
172
+ * Returns a progress tracker wrapper when available.
173
+ * For operations that do not provide progress details (or v1alpha1),
174
+ * this returns `undefined`.
175
+ *
176
+ * @example
177
+ * ```ts
178
+ * const tracker = op.progressTracker();
179
+ * if (tracker) {
180
+ * console.log(tracker.description());
181
+ * const steps = tracker.steps();
182
+ * if (steps.length > 0) console.log('first step', steps[0].description());
183
+ * }
184
+ * ```
185
+ */
186
+ progressTracker(): OperationProgressTracker | undefined;
187
+ /**
188
+ * Polls the operation until it completes.
189
+ * @param intervalSec polling interval in seconds (default: 1)
190
+ * @example
191
+ * ```ts
192
+ * await op.wait(1); // poll once per second
193
+ * ```
194
+ */
55
195
  wait(intervalSec?: number, metadata?: Metadata | undefined, options?: (Partial<CallOptions> & RetryOptions) | undefined): Promise<void>;
196
+ /**
197
+ * Fetch the latest operation state from the operation service.
198
+ *
199
+ * @example
200
+ * ```ts
201
+ * await op.update();
202
+ * if (op.done()) console.log('finished', op.status());
203
+ * ```
204
+ */
56
205
  update(metadata?: Metadata | undefined, options?: (Partial<CallOptions> & RetryOptions) | undefined): Promise<void>;
57
206
  }
207
+ /**
208
+ * Return a progress tracker wrapper for an operation if available.
209
+ * Performs presence checks to avoid accessing missing fields.
210
+ *
211
+ * @example
212
+ * ```ts
213
+ * const tracker = wrapProgressTracker(op);
214
+ * if (tracker) console.log(tracker.description());
215
+ * ```
216
+ */
217
+ export declare function wrapProgressTracker<TReq>(operation: Operation<TReq> | undefined): OperationProgressTracker | undefined;
58
218
  export {};
59
219
  //# sourceMappingURL=operation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/runtime/operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAU,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAsB,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,gBAAgB,CAAC;AAEzE,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,SAAS,CAAC;IAC7D,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,CAAC;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,SAAS,CAAC;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,UAAU,gBAAgB,CAAC,IAAI;IAC7B,GAAG,CACD,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,EAC/B,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,GAAG,SAAS,GAC1D,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;CACnC;AAED,qBAAa,SAAS,CAAC,IAAI;IAqBzB,CAAC,MAAM,CAAC,QAAI,MAAM;IAjBhB,OAAO,CAAC,GAAG;IAEX,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,MAAM;IANhB,SAAgB,KAAK,EAAE,sBAAsB,CAA0B;IACvE,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAExB,GAAG,EAAE,gBAAgB,EAEZ,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,EACxC,MAAM,EAAE,MAAM;IAUxB,QAAQ;IAOR,CAAC,UAAU,CAAC,IAAI,OAAO;IAYvB,EAAE,IAAI,MAAM;IAIZ,WAAW,IAAI,MAAM;IAIrB,SAAS,IAAI,KAAK,GAAG,SAAS;IAI9B,SAAS,IAAI,MAAM;IAInB,UAAU,IAAI,KAAK,GAAG,SAAS;IAI/B,UAAU,IAAI,OAAO;IAIrB,GAAG,IAAI,gBAAgB;IAIvB,MAAM,IAAI,MAAM,GAAG,SAAS;IAI5B,IAAI,IAAI,OAAO;IAIf,UAAU,IAAI,MAAM;IAId,IAAI,CACR,WAAW,GAAE,MAAU,EACvB,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,EAC/B,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,GAAG,SAAS,GAC1D,OAAO,CAAC,IAAI,CAAC;IAiCV,MAAM,CACV,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,EAC/B,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,GAAG,SAAS,GAC1D,OAAO,CAAC,IAAI,CAAC;CAWjB"}
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/runtime/operation.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Operation = void 0;
4
+ exports.wrapProgressTracker = wrapProgressTracker;
4
5
  const grpc_js_1 = require("@grpc/grpc-js");
5
6
  const index_1 = require("../api/google/rpc/index");
6
7
  const logging_1 = require("./util/logging");
8
+ /**
9
+ * A convenience wrapper around operation protobufs.
10
+ * Provides helpers to poll, wait, and inspect operation metadata.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const op = await service.create(req).result;
15
+ * await op.wait();
16
+ * console.log('resource id', op.resourceId());
17
+ * ```
18
+ */
7
19
  class Operation {
8
20
  _op;
9
21
  service;
@@ -43,33 +55,68 @@ class Operation {
43
55
  id() {
44
56
  return this._op.id ?? '';
45
57
  }
58
+ /** Human-readable operation description. */
46
59
  description() {
47
60
  return this._op.description ?? '';
48
61
  }
62
+ /** Operation creation timestamp if provided. */
49
63
  createdAt() {
50
64
  return this._op.createdAt;
51
65
  }
66
+ /** ID of the user or service account that created the operation. */
52
67
  createdBy() {
53
68
  return this._op.createdBy ?? '';
54
69
  }
70
+ /** Operation completion timestamp if provided. */
55
71
  finishedAt() {
56
72
  return this._op.finishedAt;
57
73
  }
74
+ /** Returns true if operation status is OK. */
58
75
  successful() {
59
76
  return this._op.status?.code === index_1.Code.OK.code;
60
77
  }
78
+ /** Raw underlying protobuf object. */
61
79
  raw() {
62
80
  return this._op;
63
81
  }
82
+ /** Operation status if completed. */
64
83
  status() {
65
84
  return this._op.status;
66
85
  }
86
+ /** Returns true if the operation is completed. */
67
87
  done() {
68
88
  return this._op.status !== undefined;
69
89
  }
90
+ /** Resource ID associated with the operation. */
70
91
  resourceId() {
71
92
  return this._op.resourceId;
72
93
  }
94
+ /**
95
+ * Returns a progress tracker wrapper when available.
96
+ * For operations that do not provide progress details (or v1alpha1),
97
+ * this returns `undefined`.
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * const tracker = op.progressTracker();
102
+ * if (tracker) {
103
+ * console.log(tracker.description());
104
+ * const steps = tracker.steps();
105
+ * if (steps.length > 0) console.log('first step', steps[0].description());
106
+ * }
107
+ * ```
108
+ */
109
+ progressTracker() {
110
+ return wrapProgressTracker(this);
111
+ }
112
+ /**
113
+ * Polls the operation until it completes.
114
+ * @param intervalSec polling interval in seconds (default: 1)
115
+ * @example
116
+ * ```ts
117
+ * await op.wait(1); // poll once per second
118
+ * ```
119
+ */
73
120
  async wait(intervalSec = 1, metadata, options) {
74
121
  this.logger.trace('Wait started', { intervalSec });
75
122
  const id = this.id();
@@ -106,6 +153,15 @@ class Operation {
106
153
  }
107
154
  this.logger.trace('Wait completed', { finalStatus: this.status() });
108
155
  }
156
+ /**
157
+ * Fetch the latest operation state from the operation service.
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * await op.update();
162
+ * if (op.done()) console.log('finished', op.status());
163
+ * ```
164
+ */
109
165
  async update(metadata, options) {
110
166
  this.logger.trace('`Update started');
111
167
  const id = this.id();
@@ -119,4 +175,223 @@ class Operation {
119
175
  }
120
176
  }
121
177
  exports.Operation = Operation;
178
+ function toNumber(value) {
179
+ if (value === undefined || value === null)
180
+ return undefined;
181
+ if (typeof value === 'number')
182
+ return value;
183
+ if (typeof value.toNumber === 'function')
184
+ return value.toNumber();
185
+ if (typeof value.toString === 'function') {
186
+ const parsed = Number(value.toString());
187
+ return Number.isFinite(parsed) ? parsed : undefined;
188
+ }
189
+ return undefined;
190
+ }
191
+ function formatTimestamp(value) {
192
+ return value ? value.toISOString() : undefined;
193
+ }
194
+ function workDoneSummary(workDone) {
195
+ const total = toNumber(workDone?.totalTickCount);
196
+ if (total === undefined || total <= 0)
197
+ return undefined;
198
+ const done = toNumber(workDone?.doneTickCount) ?? 0;
199
+ return `${done}/${total}`;
200
+ }
201
+ class CurrentStepWrapper {
202
+ step;
203
+ constructor(step) {
204
+ this.step = step;
205
+ }
206
+ toString() {
207
+ const parts = [`${this.description()}`];
208
+ const started = formatTimestamp(this.startedAt());
209
+ if (started)
210
+ parts.push(`started_at: ${started}`);
211
+ const finished = formatTimestamp(this.finishedAt());
212
+ if (finished)
213
+ parts.push(`finished_at: ${finished}`);
214
+ const workSummary = workDoneSummary(this.workDone());
215
+ if (workSummary)
216
+ parts.push(`work_done: ${workSummary}`);
217
+ return `CurrentStep(${parts.join(', ')})`;
218
+ }
219
+ [logging_1.custom]() {
220
+ return this.toString();
221
+ }
222
+ [logging_1.customJson]() {
223
+ const workDone = this.workDone();
224
+ const ret = {
225
+ description: this.description(),
226
+ };
227
+ if (this.startedAt())
228
+ ret['startedAt'] = formatTimestamp(this.startedAt());
229
+ if (this.finishedAt())
230
+ ret['finishedAt'] = formatTimestamp(this.finishedAt());
231
+ if (workDone) {
232
+ ret['workDone'] = {
233
+ doneTickCount: toNumber(workDone.doneTickCount) ?? null,
234
+ totalTickCount: toNumber(workDone.totalTickCount) ?? null,
235
+ };
236
+ }
237
+ if (this.workFraction() !== undefined)
238
+ ret['workFraction'] = this.workFraction();
239
+ return ret;
240
+ }
241
+ description() {
242
+ return this.step.description ?? '';
243
+ }
244
+ startedAt() {
245
+ return this.step.startedAt;
246
+ }
247
+ finishedAt() {
248
+ return this.step.finishedAt;
249
+ }
250
+ workDone() {
251
+ return this.step.workDone;
252
+ }
253
+ workFraction() {
254
+ const workDone = this.workDone();
255
+ const total = toNumber(workDone?.totalTickCount);
256
+ if (total === undefined || total <= 0)
257
+ return undefined;
258
+ const done = toNumber(workDone?.doneTickCount) ?? 0;
259
+ return Math.min(1.0, done / total);
260
+ }
261
+ }
262
+ class ProgressTrackerWrapper {
263
+ operation;
264
+ constructor(operation) {
265
+ this.operation = operation;
266
+ }
267
+ toString() {
268
+ const parts = [`${this.description()}`];
269
+ const started = formatTimestamp(this.startedAt());
270
+ if (started)
271
+ parts.push(`started_at: ${started}`);
272
+ const finished = formatTimestamp(this.finishedAt());
273
+ if (finished)
274
+ parts.push(`finished_at: ${finished}`);
275
+ const eta = formatTimestamp(this.estimatedFinishedAt());
276
+ if (eta)
277
+ parts.push(`eta: ${eta}`);
278
+ const workSummary = workDoneSummary(this.workDone());
279
+ if (workSummary)
280
+ parts.push(`work_done: ${workSummary}`);
281
+ const steps = this.steps();
282
+ if (steps.length > 0) {
283
+ parts.push(`steps: [${steps.map((step) => step.toString()).join(', ')}]`);
284
+ }
285
+ return `OperationProgressTracker(${parts.join(', ')})`;
286
+ }
287
+ [logging_1.custom]() {
288
+ return this.toString();
289
+ }
290
+ [logging_1.customJson]() {
291
+ const workDone = this.workDone();
292
+ const ret = {
293
+ description: this.description(),
294
+ steps: this.steps().map((step) => step[logging_1.customJson]()),
295
+ };
296
+ if (this.startedAt())
297
+ ret['startedAt'] = formatTimestamp(this.startedAt());
298
+ if (this.finishedAt())
299
+ ret['finishedAt'] = formatTimestamp(this.finishedAt());
300
+ if (this.estimatedFinishedAt()) {
301
+ ret['estimatedFinishedAt'] = formatTimestamp(this.estimatedFinishedAt());
302
+ }
303
+ if (workDone) {
304
+ const doneTickCount = toNumber(workDone.doneTickCount);
305
+ const totalTickCount = toNumber(workDone.totalTickCount);
306
+ if (doneTickCount !== undefined && totalTickCount !== undefined) {
307
+ ret['workDone'] = {
308
+ doneTickCount,
309
+ totalTickCount,
310
+ };
311
+ }
312
+ }
313
+ if (this.workFraction() !== undefined)
314
+ ret['workFraction'] = this.workFraction();
315
+ if (this.timeFraction() !== undefined)
316
+ ret['timeFraction'] = this.timeFraction();
317
+ return ret;
318
+ }
319
+ tracker() {
320
+ const op = this.operation.raw();
321
+ return op.progressTracker;
322
+ }
323
+ description() {
324
+ return this.tracker()?.description ?? '';
325
+ }
326
+ startedAt() {
327
+ return this.tracker()?.startedAt;
328
+ }
329
+ finishedAt() {
330
+ return this.tracker()?.finishedAt;
331
+ }
332
+ workDone() {
333
+ return this.tracker()?.workDone;
334
+ }
335
+ workFraction() {
336
+ if (this.operation.done())
337
+ return 1.0;
338
+ const workDone = this.workDone();
339
+ const total = toNumber(workDone?.totalTickCount);
340
+ if (total === undefined || total <= 0)
341
+ return undefined;
342
+ const done = toNumber(workDone?.doneTickCount) ?? 0;
343
+ return Math.min(1.0, done / total);
344
+ }
345
+ estimatedFinishedAt() {
346
+ const tracker = this.tracker();
347
+ if (!tracker)
348
+ return this.operation.finishedAt();
349
+ return tracker.finishedAt ?? this.operation.finishedAt() ?? tracker.estimatedFinishedAt;
350
+ }
351
+ timeFraction() {
352
+ if (this.operation.done())
353
+ return 1.0;
354
+ const tracker = this.tracker();
355
+ if (!tracker)
356
+ return undefined;
357
+ const startedAt = tracker.startedAt;
358
+ const estimatedFinishedAt = tracker.estimatedFinishedAt;
359
+ if (!startedAt || !estimatedFinishedAt)
360
+ return undefined;
361
+ const startedMs = startedAt.valueOf();
362
+ const estimatedMs = estimatedFinishedAt.valueOf();
363
+ const nowMs = Date.now();
364
+ if (nowMs < startedMs)
365
+ return 0.0;
366
+ if (nowMs > estimatedMs)
367
+ return 1.0;
368
+ const totalDuration = estimatedMs - startedMs;
369
+ const elapsedDuration = nowMs - startedMs;
370
+ if (totalDuration <= 0 || elapsedDuration < 0)
371
+ return undefined;
372
+ return elapsedDuration / totalDuration;
373
+ }
374
+ steps() {
375
+ const steps = this.tracker()?.steps ?? [];
376
+ return steps.map((step) => new CurrentStepWrapper(step));
377
+ }
378
+ }
379
+ /**
380
+ * Return a progress tracker wrapper for an operation if available.
381
+ * Performs presence checks to avoid accessing missing fields.
382
+ *
383
+ * @example
384
+ * ```ts
385
+ * const tracker = wrapProgressTracker(op);
386
+ * if (tracker) console.log(tracker.description());
387
+ * ```
388
+ */
389
+ function wrapProgressTracker(operation) {
390
+ if (!operation)
391
+ return undefined;
392
+ const tracker = operation.raw().progressTracker;
393
+ if (!tracker)
394
+ return undefined;
395
+ return new ProgressTrackerWrapper(operation);
396
+ }
122
397
  //# sourceMappingURL=operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../src/runtime/operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../src/runtime/operation.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.31";
1
+ export declare const VERSION = "0.1.32";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
4
  // Auto-generated by scripts/version-gen.ts. Do not edit.
5
- exports.VERSION = '0.1.31';
5
+ exports.VERSION = '0.1.32';
6
6
  //# sourceMappingURL=version.js.map
@@ -977,11 +977,13 @@ export interface Warning {
977
977
  /**
978
978
  * Contains a Full Service/Method name or a select mask for a field.
979
979
  * Examples:
980
- * nebius.compute.v1.InstanceService
981
- * nebius.compute.v1.InstanceService/Get
982
- * spec.control_plane.version
983
- * spec.network_interfaces.0.subnet_id
984
- * items.0.spec.control_plane.version
980
+ * ```
981
+ * nebius.compute.v1.InstanceService
982
+ * nebius.compute.v1.InstanceService/Get
983
+ * spec.control_plane.version
984
+ * spec.network_interfaces.0.subnet_id
985
+ * items.0.spec.control_plane.version
986
+ * ```
985
987
  *
986
988
  */
987
989
  path: string;