@pulumi/pulumi 3.163.0-alpha.xc33c68d → 3.163.0-alpha.xe7c1e4f

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 (70) hide show
  1. package/automation/cmd.js +92 -111
  2. package/automation/cmd.js.map +1 -1
  3. package/automation/localWorkspace.js +383 -476
  4. package/automation/localWorkspace.js.map +1 -1
  5. package/automation/remoteWorkspace.js +38 -55
  6. package/automation/remoteWorkspace.js.map +1 -1
  7. package/automation/server.js +6 -16
  8. package/automation/server.js.map +1 -1
  9. package/automation/stack.js +537 -608
  10. package/automation/stack.js.map +1 -1
  11. package/cmd/dynamic-provider/index.js +204 -235
  12. package/cmd/dynamic-provider/index.js.map +1 -1
  13. package/cmd/run/error.js +3 -3
  14. package/cmd/run/error.js.map +1 -1
  15. package/cmd/run/run.js +322 -336
  16. package/cmd/run/run.js.map +1 -1
  17. package/cmd/run/tracing.js +1 -2
  18. package/cmd/run/tracing.js.map +1 -1
  19. package/cmd/run-plugin/run.js +13 -17
  20. package/cmd/run-plugin/run.js.map +1 -1
  21. package/cmd/run-policy-pack/run.js +12 -16
  22. package/cmd/run-policy-pack/run.js.map +1 -1
  23. package/output.js +61 -78
  24. package/output.js.map +1 -1
  25. package/package.json +1 -1
  26. package/provider/experimental/analyzer.js +43 -46
  27. package/provider/experimental/analyzer.js.map +1 -1
  28. package/provider/experimental/provider.js +22 -36
  29. package/provider/experimental/provider.js.map +1 -1
  30. package/provider/server.js +359 -397
  31. package/provider/server.js.map +1 -1
  32. package/resource.js +29 -41
  33. package/resource.js.map +1 -1
  34. package/runtime/asyncIterableUtil.js +6 -17
  35. package/runtime/asyncIterableUtil.js.map +1 -1
  36. package/runtime/callbacks.js +254 -269
  37. package/runtime/callbacks.js.map +1 -1
  38. package/runtime/closure/codePaths.js +117 -135
  39. package/runtime/closure/codePaths.js.map +1 -1
  40. package/runtime/closure/createClosure.js +807 -871
  41. package/runtime/closure/createClosure.js.map +1 -1
  42. package/runtime/closure/parseFunction.js +2 -3
  43. package/runtime/closure/parseFunction.js.map +1 -1
  44. package/runtime/closure/serializeClosure.js +17 -30
  45. package/runtime/closure/serializeClosure.js.map +1 -1
  46. package/runtime/closure/v8.js +166 -190
  47. package/runtime/closure/v8.js.map +1 -1
  48. package/runtime/closure/v8Hooks.js +19 -34
  49. package/runtime/closure/v8Hooks.js.map +1 -1
  50. package/runtime/dependsOn.js +61 -80
  51. package/runtime/dependsOn.js.map +1 -1
  52. package/runtime/invoke.js +155 -170
  53. package/runtime/invoke.js.map +1 -1
  54. package/runtime/mocks.js +77 -96
  55. package/runtime/mocks.js.map +1 -1
  56. package/runtime/resource.js +238 -252
  57. package/runtime/resource.js.map +1 -1
  58. package/runtime/rpc.js +193 -215
  59. package/runtime/rpc.js.map +1 -1
  60. package/runtime/settings.js +70 -87
  61. package/runtime/settings.js.map +1 -1
  62. package/runtime/stack.js +111 -131
  63. package/runtime/stack.js.map +1 -1
  64. package/stackReference.js +39 -58
  65. package/stackReference.js.map +1 -1
  66. package/tsutils.js +1 -2
  67. package/tsutils.js.map +1 -1
  68. package/utils.js +2 -3
  69. package/utils.js.map +1 -1
  70. package/version.js +1 -1
@@ -12,15 +12,6 @@
12
12
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  // See the License for the specific language governing permissions and
14
14
  // limitations under the License.
15
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
16
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17
- return new (P || (P = Promise))(function (resolve, reject) {
18
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
19
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
20
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
21
- step((generator = generator.apply(thisArg, _arguments || [])).next());
22
- });
23
- };
24
15
  var __importStar = (this && this.__importStar) || function (mod) {
25
16
  if (mod && mod.__esModule) return mod;
26
17
  var result = {};
@@ -72,12 +63,12 @@ class CallbackServer {
72
63
  const client = new callrpc.CallbacksClient(target, grpc.credentials.createInsecure());
73
64
  const connect = () => {
74
65
  client.invoke(new callback_pb_1.CallbackInvokeRequest(), (error, _) => {
75
- if ((error === null || error === void 0 ? void 0 : error.code) === grpc.status.UNAVAILABLE) {
66
+ if (error?.code === grpc.status.UNAVAILABLE) {
76
67
  setTimeout(connect, 1000);
77
68
  return;
78
69
  }
79
70
  // The expected error given we didn't give a token to the invoke.
80
- if ((error === null || error === void 0 ? void 0 : error.details) === "callback not found: ") {
71
+ if (error?.details === "callback not found: ") {
81
72
  resolve(target);
82
73
  return;
83
74
  }
@@ -106,235 +97,231 @@ class CallbackServer {
106
97
  shutdown() {
107
98
  this._server.forceShutdown();
108
99
  }
109
- invoke(call, callback) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- const req = call.request;
112
- const cb = this._callbacks.get(req.getToken());
113
- if (cb === undefined) {
114
- const err = new grpc.StatusBuilder();
115
- err.withCode(grpc.status.INVALID_ARGUMENT);
116
- err.withDetails("callback not found: " + req.getToken());
117
- callback(err.build());
118
- return;
100
+ async invoke(call, callback) {
101
+ const req = call.request;
102
+ const cb = this._callbacks.get(req.getToken());
103
+ if (cb === undefined) {
104
+ const err = new grpc.StatusBuilder();
105
+ err.withCode(grpc.status.INVALID_ARGUMENT);
106
+ err.withDetails("callback not found: " + req.getToken());
107
+ callback(err.build());
108
+ return;
109
+ }
110
+ try {
111
+ const response = await cb(req.getRequest_asU8());
112
+ const resp = new callback_pb_1.CallbackInvokeResponse();
113
+ resp.setResponse(response.serializeBinary());
114
+ callback(null, resp);
115
+ }
116
+ catch (e) {
117
+ const err = new grpc.StatusBuilder();
118
+ err.withCode(grpc.status.UNKNOWN);
119
+ if (e instanceof Error) {
120
+ err.withDetails(e.message);
119
121
  }
120
- try {
121
- const response = yield cb(req.getRequest_asU8());
122
- const resp = new callback_pb_1.CallbackInvokeResponse();
123
- resp.setResponse(response.serializeBinary());
124
- callback(null, resp);
122
+ else {
123
+ err.withDetails(JSON.stringify(e));
125
124
  }
126
- catch (e) {
127
- const err = new grpc.StatusBuilder();
128
- err.withCode(grpc.status.UNKNOWN);
129
- if (e instanceof Error) {
130
- err.withDetails(e.message);
131
- }
132
- else {
133
- err.withDetails(JSON.stringify(e));
125
+ callback(err.build());
126
+ }
127
+ }
128
+ async registerTransform(transform) {
129
+ const cb = async (bytes) => {
130
+ const request = resproto.TransformRequest.deserializeBinary(bytes);
131
+ let opts = request.getOptions() || new resproto.TransformResourceOptions();
132
+ let ropts;
133
+ if (request.getCustom()) {
134
+ ropts = {
135
+ deleteBeforeReplace: opts.getDeleteBeforeReplace(),
136
+ additionalSecretOutputs: opts.getAdditionalSecretOutputsList(),
137
+ };
138
+ }
139
+ else {
140
+ const providers = {};
141
+ for (const [key, value] of opts.getProvidersMap().entries()) {
142
+ providers[key] = new resource_1.DependencyProviderResource(value);
134
143
  }
135
- callback(err.build());
144
+ ropts = {
145
+ providers: providers,
146
+ };
136
147
  }
137
- });
138
- }
139
- registerTransform(transform) {
140
- return __awaiter(this, void 0, void 0, function* () {
141
- const cb = (bytes) => __awaiter(this, void 0, void 0, function* () {
142
- const request = resproto.TransformRequest.deserializeBinary(bytes);
143
- let opts = request.getOptions() || new resproto.TransformResourceOptions();
144
- let ropts;
145
- if (request.getCustom()) {
146
- ropts = {
147
- deleteBeforeReplace: opts.getDeleteBeforeReplace(),
148
- additionalSecretOutputs: opts.getAdditionalSecretOutputsList(),
149
- };
148
+ ropts.aliases = opts.getAliasesList().map((alias) => {
149
+ if (alias.hasUrn()) {
150
+ return alias.getUrn();
150
151
  }
151
152
  else {
152
- const providers = {};
153
- for (const [key, value] of opts.getProvidersMap().entries()) {
154
- providers[key] = new resource_1.DependencyProviderResource(value);
153
+ const spec = alias.getSpec();
154
+ if (spec === undefined) {
155
+ throw new Error("alias must have either a urn or a spec");
155
156
  }
156
- ropts = {
157
- providers: providers,
157
+ const nodeAlias = {
158
+ name: spec.getName(),
159
+ type: spec.getType(),
160
+ project: spec.getProject(),
161
+ stack: spec.getStack(),
162
+ parent: spec.getParenturn() !== "" ? new resource_1.DependencyResource(spec.getParenturn()) : undefined,
158
163
  };
159
- }
160
- ropts.aliases = opts.getAliasesList().map((alias) => {
161
- if (alias.hasUrn()) {
162
- return alias.getUrn();
163
- }
164
- else {
165
- const spec = alias.getSpec();
166
- if (spec === undefined) {
167
- throw new Error("alias must have either a urn or a spec");
168
- }
169
- const nodeAlias = {
170
- name: spec.getName(),
171
- type: spec.getType(),
172
- project: spec.getProject(),
173
- stack: spec.getStack(),
174
- parent: spec.getParenturn() !== "" ? new resource_1.DependencyResource(spec.getParenturn()) : undefined,
175
- };
176
- if (spec.getNoparent()) {
177
- nodeAlias.parent = resource_1.rootStackResource;
178
- }
179
- return nodeAlias;
164
+ if (spec.getNoparent()) {
165
+ nodeAlias.parent = resource_1.rootStackResource;
180
166
  }
181
- });
182
- const timeouts = opts.getCustomTimeouts();
183
- if (timeouts !== undefined) {
184
- ropts.customTimeouts = {
185
- create: timeouts.getCreate(),
186
- update: timeouts.getUpdate(),
187
- delete: timeouts.getDelete(),
188
- };
167
+ return nodeAlias;
189
168
  }
190
- ropts.deletedWith =
191
- opts.getDeletedWith() !== "" ? new resource_1.DependencyResource(opts.getDeletedWith()) : undefined;
192
- ropts.dependsOn = opts.getDependsOnList().map((dep) => new resource_1.DependencyResource(dep));
193
- ropts.ignoreChanges = opts.getIgnoreChangesList();
194
- ropts.parent = request.getParent() !== "" ? new resource_1.DependencyResource(request.getParent()) : undefined;
195
- ropts.pluginDownloadURL = opts.getPluginDownloadUrl() !== "" ? opts.getPluginDownloadUrl() : undefined;
196
- ropts.protect = opts.getProtect();
197
- ropts.provider = opts.getProvider() !== "" ? new resource_1.DependencyProviderResource(opts.getProvider()) : undefined;
198
- ropts.replaceOnChanges = opts.getReplaceOnChangesList();
199
- ropts.retainOnDelete = opts.getRetainOnDelete();
200
- ropts.version = opts.getVersion() !== "" ? opts.getVersion() : undefined;
201
- const props = request.getProperties();
202
- const args = {
203
- custom: request.getCustom(),
204
- type: request.getType(),
205
- name: request.getName(),
206
- props: props === undefined ? {} : rpc_1.deserializeProperties(props),
207
- opts: ropts,
169
+ });
170
+ const timeouts = opts.getCustomTimeouts();
171
+ if (timeouts !== undefined) {
172
+ ropts.customTimeouts = {
173
+ create: timeouts.getCreate(),
174
+ update: timeouts.getUpdate(),
175
+ delete: timeouts.getDelete(),
208
176
  };
209
- const result = yield transform(args);
210
- const response = new resproto.TransformResponse();
211
- if (result === undefined) {
212
- response.setProperties(request.getProperties());
213
- response.setOptions(request.getOptions());
214
- }
215
- else {
216
- const mprops = yield rpc_1.serializeProperties("props", result.props);
217
- response.setProperties(gstruct.Struct.fromJavaScript(mprops));
218
- // Copy the options over.
219
- if (result.opts !== undefined) {
220
- opts = new resproto.TransformResourceOptions();
221
- if (result.opts.aliases !== undefined) {
222
- const aliases = [];
223
- const uniqueAliases = new Set();
224
- for (const alias of result.opts.aliases || []) {
225
- const aliasVal = yield output_1.output(alias).promise();
226
- if (!uniqueAliases.has(aliasVal)) {
227
- uniqueAliases.add(aliasVal);
228
- aliases.push(aliasVal);
229
- }
230
- }
231
- opts.setAliasesList(yield resource_2.mapAliasesForRequest(aliases, request.getParent()));
232
- }
233
- if (result.opts.customTimeouts !== undefined) {
234
- const customTimeouts = new resproto.RegisterResourceRequest.CustomTimeouts();
235
- if (result.opts.customTimeouts.create !== undefined) {
236
- customTimeouts.setCreate(result.opts.customTimeouts.create);
237
- }
238
- if (result.opts.customTimeouts.update !== undefined) {
239
- customTimeouts.setUpdate(result.opts.customTimeouts.update);
240
- }
241
- if (result.opts.customTimeouts.delete !== undefined) {
242
- customTimeouts.setDelete(result.opts.customTimeouts.delete);
243
- }
244
- opts.setCustomTimeouts(customTimeouts);
245
- }
246
- if (result.opts.deletedWith !== undefined) {
247
- opts.setDeletedWith(yield result.opts.deletedWith.urn.promise());
248
- }
249
- if (result.opts.dependsOn !== undefined) {
250
- const resolvedDeps = yield output_1.output(result.opts.dependsOn).promise();
251
- const deps = [];
252
- if (resource_1.Resource.isInstance(resolvedDeps)) {
253
- deps.push(yield resolvedDeps.urn.promise());
254
- }
255
- else {
256
- for (const dep of resolvedDeps) {
257
- deps.push(yield dep.urn.promise());
258
- }
177
+ }
178
+ ropts.deletedWith =
179
+ opts.getDeletedWith() !== "" ? new resource_1.DependencyResource(opts.getDeletedWith()) : undefined;
180
+ ropts.dependsOn = opts.getDependsOnList().map((dep) => new resource_1.DependencyResource(dep));
181
+ ropts.ignoreChanges = opts.getIgnoreChangesList();
182
+ ropts.parent = request.getParent() !== "" ? new resource_1.DependencyResource(request.getParent()) : undefined;
183
+ ropts.pluginDownloadURL = opts.getPluginDownloadUrl() !== "" ? opts.getPluginDownloadUrl() : undefined;
184
+ ropts.protect = opts.getProtect();
185
+ ropts.provider = opts.getProvider() !== "" ? new resource_1.DependencyProviderResource(opts.getProvider()) : undefined;
186
+ ropts.replaceOnChanges = opts.getReplaceOnChangesList();
187
+ ropts.retainOnDelete = opts.getRetainOnDelete();
188
+ ropts.version = opts.getVersion() !== "" ? opts.getVersion() : undefined;
189
+ const props = request.getProperties();
190
+ const args = {
191
+ custom: request.getCustom(),
192
+ type: request.getType(),
193
+ name: request.getName(),
194
+ props: props === undefined ? {} : rpc_1.deserializeProperties(props),
195
+ opts: ropts,
196
+ };
197
+ const result = await transform(args);
198
+ const response = new resproto.TransformResponse();
199
+ if (result === undefined) {
200
+ response.setProperties(request.getProperties());
201
+ response.setOptions(request.getOptions());
202
+ }
203
+ else {
204
+ const mprops = await rpc_1.serializeProperties("props", result.props);
205
+ response.setProperties(gstruct.Struct.fromJavaScript(mprops));
206
+ // Copy the options over.
207
+ if (result.opts !== undefined) {
208
+ opts = new resproto.TransformResourceOptions();
209
+ if (result.opts.aliases !== undefined) {
210
+ const aliases = [];
211
+ const uniqueAliases = new Set();
212
+ for (const alias of result.opts.aliases || []) {
213
+ const aliasVal = await output_1.output(alias).promise();
214
+ if (!uniqueAliases.has(aliasVal)) {
215
+ uniqueAliases.add(aliasVal);
216
+ aliases.push(aliasVal);
259
217
  }
260
- opts.setDependsOnList(deps);
261
- }
262
- if (result.opts.ignoreChanges !== undefined) {
263
- opts.setIgnoreChangesList(result.opts.ignoreChanges);
264
218
  }
265
- if (result.opts.pluginDownloadURL !== undefined) {
266
- opts.setPluginDownloadUrl(result.opts.pluginDownloadURL);
219
+ opts.setAliasesList(await resource_2.mapAliasesForRequest(aliases, request.getParent()));
220
+ }
221
+ if (result.opts.customTimeouts !== undefined) {
222
+ const customTimeouts = new resproto.RegisterResourceRequest.CustomTimeouts();
223
+ if (result.opts.customTimeouts.create !== undefined) {
224
+ customTimeouts.setCreate(result.opts.customTimeouts.create);
267
225
  }
268
- if (result.opts.protect !== undefined) {
269
- opts.setProtect(result.opts.protect);
226
+ if (result.opts.customTimeouts.update !== undefined) {
227
+ customTimeouts.setUpdate(result.opts.customTimeouts.update);
270
228
  }
271
- if (result.opts.provider !== undefined) {
272
- const providerURN = yield result.opts.provider.urn.promise();
273
- const providerID = (yield result.opts.provider.id.promise()) || rpc_1.unknownValue;
274
- opts.setProvider(`${providerURN}::${providerID}`);
229
+ if (result.opts.customTimeouts.delete !== undefined) {
230
+ customTimeouts.setDelete(result.opts.customTimeouts.delete);
275
231
  }
276
- if (result.opts.replaceOnChanges !== undefined) {
277
- opts.setReplaceOnChangesList(result.opts.replaceOnChanges);
232
+ opts.setCustomTimeouts(customTimeouts);
233
+ }
234
+ if (result.opts.deletedWith !== undefined) {
235
+ opts.setDeletedWith(await result.opts.deletedWith.urn.promise());
236
+ }
237
+ if (result.opts.dependsOn !== undefined) {
238
+ const resolvedDeps = await output_1.output(result.opts.dependsOn).promise();
239
+ const deps = [];
240
+ if (resource_1.Resource.isInstance(resolvedDeps)) {
241
+ deps.push(await resolvedDeps.urn.promise());
278
242
  }
279
- if (result.opts.retainOnDelete !== undefined) {
280
- opts.setRetainOnDelete(result.opts.retainOnDelete);
243
+ else {
244
+ for (const dep of resolvedDeps) {
245
+ deps.push(await dep.urn.promise());
246
+ }
281
247
  }
282
- if (result.opts.version !== undefined) {
283
- opts.setVersion(result.opts.version);
248
+ opts.setDependsOnList(deps);
249
+ }
250
+ if (result.opts.ignoreChanges !== undefined) {
251
+ opts.setIgnoreChangesList(result.opts.ignoreChanges);
252
+ }
253
+ if (result.opts.pluginDownloadURL !== undefined) {
254
+ opts.setPluginDownloadUrl(result.opts.pluginDownloadURL);
255
+ }
256
+ if (result.opts.protect !== undefined) {
257
+ opts.setProtect(result.opts.protect);
258
+ }
259
+ if (result.opts.provider !== undefined) {
260
+ const providerURN = await result.opts.provider.urn.promise();
261
+ const providerID = (await result.opts.provider.id.promise()) || rpc_1.unknownValue;
262
+ opts.setProvider(`${providerURN}::${providerID}`);
263
+ }
264
+ if (result.opts.replaceOnChanges !== undefined) {
265
+ opts.setReplaceOnChangesList(result.opts.replaceOnChanges);
266
+ }
267
+ if (result.opts.retainOnDelete !== undefined) {
268
+ opts.setRetainOnDelete(result.opts.retainOnDelete);
269
+ }
270
+ if (result.opts.version !== undefined) {
271
+ opts.setVersion(result.opts.version);
272
+ }
273
+ if (request.getCustom()) {
274
+ const copts = result.opts;
275
+ if (copts.deleteBeforeReplace !== undefined) {
276
+ opts.setDeleteBeforeReplace(copts.deleteBeforeReplace);
284
277
  }
285
- if (request.getCustom()) {
286
- const copts = result.opts;
287
- if (copts.deleteBeforeReplace !== undefined) {
288
- opts.setDeleteBeforeReplace(copts.deleteBeforeReplace);
289
- }
290
- if (copts.additionalSecretOutputs !== undefined) {
291
- opts.setAdditionalSecretOutputsList(copts.additionalSecretOutputs);
292
- }
278
+ if (copts.additionalSecretOutputs !== undefined) {
279
+ opts.setAdditionalSecretOutputsList(copts.additionalSecretOutputs);
293
280
  }
294
- else {
295
- const copts = result.opts;
296
- if (copts.providers !== undefined) {
297
- const providers = opts.getProvidersMap();
298
- if (copts.providers && !Array.isArray(copts.providers)) {
299
- for (const k in copts.providers) {
300
- if (Object.prototype.hasOwnProperty.call(copts.providers, k)) {
301
- const v = copts.providers[k];
302
- if (k !== v.getPackage()) {
303
- const message = `provider resource map where key ${k} doesn't match provider ${v.getPackage()}`;
304
- log.warn(message);
305
- }
281
+ }
282
+ else {
283
+ const copts = result.opts;
284
+ if (copts.providers !== undefined) {
285
+ const providers = opts.getProvidersMap();
286
+ if (copts.providers && !Array.isArray(copts.providers)) {
287
+ for (const k in copts.providers) {
288
+ if (Object.prototype.hasOwnProperty.call(copts.providers, k)) {
289
+ const v = copts.providers[k];
290
+ if (k !== v.getPackage()) {
291
+ const message = `provider resource map where key ${k} doesn't match provider ${v.getPackage()}`;
292
+ log.warn(message);
306
293
  }
307
294
  }
308
295
  }
309
- const provs = Object.values(copts.providers);
310
- for (const prov of provs) {
311
- const providerURN = yield prov.urn.promise();
312
- const providerID = (yield prov.id.promise()) || rpc_1.unknownValue;
313
- providers.set(prov.getPackage(), `${providerURN}::${providerID}`);
314
- }
315
- opts.clearProvidersMap();
316
296
  }
297
+ const provs = Object.values(copts.providers);
298
+ for (const prov of provs) {
299
+ const providerURN = await prov.urn.promise();
300
+ const providerID = (await prov.id.promise()) || rpc_1.unknownValue;
301
+ providers.set(prov.getPackage(), `${providerURN}::${providerID}`);
302
+ }
303
+ opts.clearProvidersMap();
317
304
  }
318
305
  }
319
- response.setOptions(opts);
320
306
  }
321
- return response;
322
- });
323
- const tryCb = (bytes) => __awaiter(this, void 0, void 0, function* () {
324
- try {
325
- return yield cb(bytes);
326
- }
327
- catch (e) {
328
- throw new Error(`transform failed: ${e}`);
329
- }
330
- });
331
- const uuid = crypto_1.randomUUID();
332
- this._callbacks.set(uuid, tryCb);
333
- const req = new callback_pb_1.Callback();
334
- req.setToken(uuid);
335
- req.setTarget(yield this._target);
336
- return req;
337
- });
307
+ response.setOptions(opts);
308
+ }
309
+ return response;
310
+ };
311
+ const tryCb = async (bytes) => {
312
+ try {
313
+ return await cb(bytes);
314
+ }
315
+ catch (e) {
316
+ throw new Error(`transform failed: ${e}`);
317
+ }
318
+ };
319
+ const uuid = crypto_1.randomUUID();
320
+ this._callbacks.set(uuid, tryCb);
321
+ const req = new callback_pb_1.Callback();
322
+ req.setToken(uuid);
323
+ req.setTarget(await this._target);
324
+ return req;
338
325
  }
339
326
  registerStackTransform(transform) {
340
327
  this._pendingRegistrations++;
@@ -364,64 +351,62 @@ class CallbackServer {
364
351
  }
365
352
  });
366
353
  }
367
- registerStackInvokeTransformAsync(transform) {
368
- return __awaiter(this, void 0, void 0, function* () {
369
- const cb = (bytes) => __awaiter(this, void 0, void 0, function* () {
370
- const request = resproto.TransformInvokeRequest.deserializeBinary(bytes);
371
- let opts = request.getOptions() || new resproto.TransformInvokeOptions();
372
- const ropts = {};
373
- ropts.pluginDownloadURL = opts.getPluginDownloadUrl() !== "" ? opts.getPluginDownloadUrl() : undefined;
374
- ropts.provider = opts.getProvider() !== "" ? new resource_1.DependencyProviderResource(opts.getProvider()) : undefined;
375
- ropts.version = opts.getVersion() !== "" ? opts.getVersion() : undefined;
376
- const invokeArgs = request.getArgs();
377
- const args = {
378
- token: request.getToken(),
379
- args: invokeArgs === undefined ? {} : rpc_1.deserializeProperties(invokeArgs),
380
- opts: ropts,
381
- };
382
- const result = yield transform(args);
383
- const response = new resproto.TransformInvokeResponse();
384
- if (result === undefined) {
385
- response.setArgs(request.getArgs());
386
- response.setOptions(request.getOptions());
387
- }
388
- else {
389
- const margs = yield rpc_1.serializeProperties("args", result.args);
390
- response.setArgs(gstruct.Struct.fromJavaScript(margs));
391
- // Copy the options over.
392
- if (result.opts !== undefined) {
393
- opts = new resproto.TransformInvokeOptions();
394
- if (result.opts.pluginDownloadURL !== undefined) {
395
- opts.setPluginDownloadUrl(result.opts.pluginDownloadURL);
396
- }
397
- if (result.opts.provider !== undefined) {
398
- const providerURN = yield result.opts.provider.urn.promise();
399
- const providerID = (yield result.opts.provider.id.promise()) || rpc_1.unknownValue;
400
- opts.setProvider(`${providerURN}::${providerID}`);
401
- }
402
- if (result.opts.version !== undefined) {
403
- opts.setVersion(result.opts.version);
404
- }
405
- response.setOptions(opts);
354
+ async registerStackInvokeTransformAsync(transform) {
355
+ const cb = async (bytes) => {
356
+ const request = resproto.TransformInvokeRequest.deserializeBinary(bytes);
357
+ let opts = request.getOptions() || new resproto.TransformInvokeOptions();
358
+ const ropts = {};
359
+ ropts.pluginDownloadURL = opts.getPluginDownloadUrl() !== "" ? opts.getPluginDownloadUrl() : undefined;
360
+ ropts.provider = opts.getProvider() !== "" ? new resource_1.DependencyProviderResource(opts.getProvider()) : undefined;
361
+ ropts.version = opts.getVersion() !== "" ? opts.getVersion() : undefined;
362
+ const invokeArgs = request.getArgs();
363
+ const args = {
364
+ token: request.getToken(),
365
+ args: invokeArgs === undefined ? {} : rpc_1.deserializeProperties(invokeArgs),
366
+ opts: ropts,
367
+ };
368
+ const result = await transform(args);
369
+ const response = new resproto.TransformInvokeResponse();
370
+ if (result === undefined) {
371
+ response.setArgs(request.getArgs());
372
+ response.setOptions(request.getOptions());
373
+ }
374
+ else {
375
+ const margs = await rpc_1.serializeProperties("args", result.args);
376
+ response.setArgs(gstruct.Struct.fromJavaScript(margs));
377
+ // Copy the options over.
378
+ if (result.opts !== undefined) {
379
+ opts = new resproto.TransformInvokeOptions();
380
+ if (result.opts.pluginDownloadURL !== undefined) {
381
+ opts.setPluginDownloadUrl(result.opts.pluginDownloadURL);
406
382
  }
383
+ if (result.opts.provider !== undefined) {
384
+ const providerURN = await result.opts.provider.urn.promise();
385
+ const providerID = (await result.opts.provider.id.promise()) || rpc_1.unknownValue;
386
+ opts.setProvider(`${providerURN}::${providerID}`);
387
+ }
388
+ if (result.opts.version !== undefined) {
389
+ opts.setVersion(result.opts.version);
390
+ }
391
+ response.setOptions(opts);
407
392
  }
408
- return response;
409
- });
410
- const tryCb = (bytes) => __awaiter(this, void 0, void 0, function* () {
411
- try {
412
- return yield cb(bytes);
413
- }
414
- catch (e) {
415
- throw new Error(`transform failed: ${e}`);
416
- }
417
- });
418
- const uuid = crypto_1.randomUUID();
419
- this._callbacks.set(uuid, tryCb);
420
- const req = new callback_pb_1.Callback();
421
- req.setToken(uuid);
422
- req.setTarget(yield this._target);
423
- return req;
424
- });
393
+ }
394
+ return response;
395
+ };
396
+ const tryCb = async (bytes) => {
397
+ try {
398
+ return await cb(bytes);
399
+ }
400
+ catch (e) {
401
+ throw new Error(`transform failed: ${e}`);
402
+ }
403
+ };
404
+ const uuid = crypto_1.randomUUID();
405
+ this._callbacks.set(uuid, tryCb);
406
+ const req = new callback_pb_1.Callback();
407
+ req.setToken(uuid);
408
+ req.setTarget(await this._target);
409
+ return req;
425
410
  }
426
411
  registerStackInvokeTransform(transform) {
427
412
  this._pendingRegistrations++;