@milaboratories/pl-client 3.7.0 → 3.8.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 (79) hide show
  1. package/dist/core/capabilities.cjs +9 -0
  2. package/dist/core/capabilities.cjs.map +1 -0
  3. package/dist/core/capabilities.d.ts +24 -0
  4. package/dist/core/capabilities.d.ts.map +1 -0
  5. package/dist/core/capabilities.js +9 -0
  6. package/dist/core/capabilities.js.map +1 -0
  7. package/dist/core/client.cjs +7 -25
  8. package/dist/core/client.cjs.map +1 -1
  9. package/dist/core/client.d.ts +2 -3
  10. package/dist/core/client.d.ts.map +1 -1
  11. package/dist/core/client.js +7 -25
  12. package/dist/core/client.js.map +1 -1
  13. package/dist/core/ll_client.cjs +153 -7
  14. package/dist/core/ll_client.cjs.map +1 -1
  15. package/dist/core/ll_client.d.ts +26 -0
  16. package/dist/core/ll_client.d.ts.map +1 -1
  17. package/dist/core/ll_client.js +153 -7
  18. package/dist/core/ll_client.js.map +1 -1
  19. package/dist/core/transaction.cjs +4 -2
  20. package/dist/core/transaction.cjs.map +1 -1
  21. package/dist/core/transaction.d.ts.map +1 -1
  22. package/dist/core/transaction.js +4 -2
  23. package/dist/core/transaction.js.map +1 -1
  24. package/dist/core/unauth_client.cjs +33 -1
  25. package/dist/core/unauth_client.cjs.map +1 -1
  26. package/dist/core/unauth_client.d.ts +19 -0
  27. package/dist/core/unauth_client.d.ts.map +1 -1
  28. package/dist/core/unauth_client.js +33 -1
  29. package/dist/core/unauth_client.js.map +1 -1
  30. package/dist/index.cjs +2 -0
  31. package/dist/index.d.ts +2 -1
  32. package/dist/index.js +2 -1
  33. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.cjs.map +1 -1
  34. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.js.map +1 -1
  35. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.cjs +1101 -135
  36. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.cjs.map +1 -1
  37. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.cjs +49 -10
  38. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.cjs.map +1 -1
  39. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts +61 -1
  40. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts.map +1 -1
  41. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.js +49 -10
  42. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.js.map +1 -1
  43. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts +411 -9
  44. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts.map +1 -1
  45. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.js +1101 -135
  46. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.js.map +1 -1
  47. package/dist/proto-grpc/google/protobuf/timestamp.cjs.map +1 -1
  48. package/dist/proto-grpc/google/protobuf/timestamp.d.ts +8 -9
  49. package/dist/proto-grpc/google/protobuf/timestamp.d.ts.map +1 -1
  50. package/dist/proto-grpc/google/protobuf/timestamp.js.map +1 -1
  51. package/dist/proto-grpc/google/rpc/code.cjs.map +1 -1
  52. package/dist/proto-grpc/google/rpc/code.js.map +1 -1
  53. package/dist/proto-rest/plapi.d.ts +247 -12
  54. package/dist/proto-rest/plapi.d.ts.map +1 -1
  55. package/dist/util/pl.cjs.map +1 -1
  56. package/dist/util/pl.js.map +1 -1
  57. package/package.json +4 -4
  58. package/src/core/capabilities.ts +26 -0
  59. package/src/core/client.ts +11 -29
  60. package/src/core/ll_client.test.ts +16 -3
  61. package/src/core/ll_client.ts +187 -8
  62. package/src/core/ll_transaction.test.ts +15 -9
  63. package/src/core/transaction.ts +2 -0
  64. package/src/core/unauth_client.ts +42 -3
  65. package/src/core/unauth_client_branch.test.ts +69 -0
  66. package/src/index.ts +1 -0
  67. package/src/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.ts +1 -1
  68. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.ts +85 -10
  69. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.ts +1310 -98
  70. package/src/proto-grpc/google/api/http.ts +1 -1
  71. package/src/proto-grpc/google/protobuf/descriptor.ts +7 -240
  72. package/src/proto-grpc/google/protobuf/timestamp.ts +8 -9
  73. package/src/proto-grpc/google/protobuf/wrappers.ts +4 -38
  74. package/src/proto-grpc/google/rpc/code.ts +1 -1
  75. package/src/proto-grpc/google/rpc/error_details.ts +5 -5
  76. package/src/proto-grpc/google/rpc/http.ts +1 -1
  77. package/src/proto-grpc/google/rpc/status.ts +1 -1
  78. package/src/proto-rest/plapi.ts +263 -12
  79. package/src/util/pl.ts +5 -0
@@ -209,6 +209,11 @@ var PlatformClient = class {
209
209
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
210
210
  }
211
211
  /**
212
+ * Deprecated: Use Login for session creation and role transitions,
213
+ * and RefreshToken for token renewal. Backends implementing this API always return
214
+ * codes.Unimplemented. Kept here so clients can still call old backends.
215
+ *
216
+ * @deprecated
212
217
  * @generated from protobuf rpc: GetJWTToken
213
218
  */
214
219
  getJWTToken(input, options) {
@@ -216,31 +221,65 @@ var PlatformClient = class {
216
221
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
217
222
  }
218
223
  /**
224
+ * Login authenticates with the given credentials and returns a new Platforma JWT.
225
+ * Every Login call creates a new session. Use RefreshToken to renew an existing one.
226
+ * This method is public: no Authorization header is required.
227
+ *
228
+ * @generated from protobuf rpc: Login
229
+ */
230
+ login(input, options) {
231
+ const method = this.methods[24], opt = this._transport.mergeOptions(options);
232
+ return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
233
+ }
234
+ /**
235
+ * BeginSSOLogin returns a fresh one-time nonce that the desktop must place
236
+ * into the OIDC auth-request before redirecting to the IdP. Used by the SSO
237
+ * login flow. This method is public: no Authorization header is required.
238
+ *
239
+ * @generated from protobuf rpc: BeginSSOLogin
240
+ */
241
+ beginSSOLogin(input, options) {
242
+ const method = this.methods[25], opt = this._transport.mergeOptions(options);
243
+ return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
244
+ }
245
+ /**
246
+ * RefreshToken accepts a valid Platforma JWT and re-issues it with the same
247
+ * session ID and role. Only the token expiration may be changed.
248
+ * Workflow-scoped tokens cannot be refreshed; call Login instead.
249
+ * This method is public: no Authorization header is required.
250
+ *
251
+ * @generated from protobuf rpc: RefreshToken
252
+ */
253
+ refreshToken(input, options) {
254
+ const method = this.methods[26], opt = this._transport.mergeOptions(options);
255
+ return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
256
+ }
257
+ /**
219
258
  * @generated from protobuf rpc: GetSessionInfo
220
259
  */
221
260
  getSessionInfo(input, options) {
222
- const method = this.methods[24], opt = this._transport.mergeOptions(options);
261
+ const method = this.methods[27], opt = this._transport.mergeOptions(options);
223
262
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
224
263
  }
225
264
  /**
226
265
  * @generated from protobuf rpc: GrantAccess
227
266
  */
228
267
  grantAccess(input, options) {
229
- const method = this.methods[25], opt = this._transport.mergeOptions(options);
268
+ const method = this.methods[28], opt = this._transport.mergeOptions(options);
230
269
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
231
270
  }
232
271
  /**
233
272
  * @generated from protobuf rpc: RevokeAccess
234
273
  */
235
274
  revokeAccess(input, options) {
236
- const method = this.methods[26], opt = this._transport.mergeOptions(options);
275
+ const method = this.methods[29], opt = this._transport.mergeOptions(options);
237
276
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
238
277
  }
239
278
  /**
240
279
  * @generated from protobuf rpc: ListGrants
241
280
  */
242
281
  listGrants(input, options) {
243
- const method = this.methods[27], opt = this._transport.mergeOptions(options);
282
+ const method = this.methods[30], opt = this._transport.mergeOptions(options);
244
283
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("serverStreaming", this._transport, method, opt, input);
245
284
  }
246
285
  /**
@@ -251,21 +290,21 @@ var PlatformClient = class {
251
290
  * @generated from protobuf rpc: MintSignature
252
291
  */
253
292
  mintSignature(input, options) {
254
- const method = this.methods[28], opt = this._transport.mergeOptions(options);
293
+ const method = this.methods[31], opt = this._transport.mergeOptions(options);
255
294
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
256
295
  }
257
296
  /**
258
297
  * @generated from protobuf rpc: GetUserRoot
259
298
  */
260
299
  getUserRoot(input, options) {
261
- const method = this.methods[29], opt = this._transport.mergeOptions(options);
300
+ const method = this.methods[32], opt = this._transport.mergeOptions(options);
262
301
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
263
302
  }
264
303
  /**
265
304
  * @generated from protobuf rpc: ListUserResources
266
305
  */
267
306
  listUserResources(input, options) {
268
- const method = this.methods[30], opt = this._transport.mergeOptions(options);
307
+ const method = this.methods[33], opt = this._transport.mergeOptions(options);
269
308
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("serverStreaming", this._transport, method, opt, input);
270
309
  }
271
310
  /**
@@ -276,7 +315,7 @@ var PlatformClient = class {
276
315
  * @generated from protobuf rpc: ListResourceTypes
277
316
  */
278
317
  listResourceTypes(input, options) {
279
- const method = this.methods[31], opt = this._transport.mergeOptions(options);
318
+ const method = this.methods[34], opt = this._transport.mergeOptions(options);
280
319
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
281
320
  }
282
321
  /**
@@ -287,14 +326,14 @@ var PlatformClient = class {
287
326
  * @generated from protobuf rpc: Ping
288
327
  */
289
328
  ping(input, options) {
290
- const method = this.methods[32], opt = this._transport.mergeOptions(options);
329
+ const method = this.methods[35], opt = this._transport.mergeOptions(options);
291
330
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
292
331
  }
293
332
  /**
294
333
  * @generated from protobuf rpc: License
295
334
  */
296
335
  license(input, options) {
297
- const method = this.methods[33], opt = this._transport.mergeOptions(options);
336
+ const method = this.methods[36], opt = this._transport.mergeOptions(options);
298
337
  return (0, _protobuf_ts_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
299
338
  }
300
339
  };
@@ -1 +1 @@
1
- {"version":3,"file":"api.client.cjs","names":["Platform"],"sources":["../../../../../../../src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter client_generic,optimize_speed,generate_dependencies,force_server_none\n// @generated from protobuf file \"github.com/milaboratory/pl/plapi/plapiproto/api.proto\" (package \"MiLaboratories.PL.API\", syntax proto3)\n// tslint:disable\nimport type { RpcTransport } from \"@protobuf-ts/runtime-rpc\";\nimport type { ServiceInfo } from \"@protobuf-ts/runtime-rpc\";\nimport { Platform } from \"./api\";\nimport type { MaintenanceAPI_License_Response } from \"./api\";\nimport type { MaintenanceAPI_License_Request } from \"./api\";\nimport type { MaintenanceAPI_Ping_Response } from \"./api\";\nimport type { MaintenanceAPI_Ping_Request } from \"./api\";\nimport type { MiscAPI_ListResourceTypes_Response } from \"./api\";\nimport type { MiscAPI_ListResourceTypes_Request } from \"./api\";\nimport type { AuthAPI_ListUserResources_Response } from \"./api\";\nimport type { AuthAPI_ListUserResources_Request } from \"./api\";\nimport type { AuthAPI_GetUserRoot_Response } from \"./api\";\nimport type { AuthAPI_GetUserRoot_Request } from \"./api\";\nimport type { AuthAPI_MintSignature_Response } from \"./api\";\nimport type { AuthAPI_MintSignature_Request } from \"./api\";\nimport type { AuthAPI_ListGrants_Response } from \"./api\";\nimport type { AuthAPI_ListGrants_Request } from \"./api\";\nimport type { ServerStreamingCall } from \"@protobuf-ts/runtime-rpc\";\nimport type { AuthAPI_RevokeAccess_Response } from \"./api\";\nimport type { AuthAPI_RevokeAccess_Request } from \"./api\";\nimport type { AuthAPI_GrantAccess_Response } from \"./api\";\nimport type { AuthAPI_GrantAccess_Request } from \"./api\";\nimport type { AuthAPI_GetSessionInfo_Response } from \"./api\";\nimport type { AuthAPI_GetSessionInfo_Request } from \"./api\";\nimport type { AuthAPI_GetJWTToken_Response } from \"./api\";\nimport type { AuthAPI_GetJWTToken_Request } from \"./api\";\nimport type { AuthAPI_ListMethods_Response } from \"./api\";\nimport type { AuthAPI_ListMethods_Request } from \"./api\";\nimport type { LocksAPI_Lease_Release_Response } from \"./api\";\nimport type { LocksAPI_Lease_Release_Request } from \"./api\";\nimport type { LocksAPI_Lease_Update_Response } from \"./api\";\nimport type { LocksAPI_Lease_Update_Request } from \"./api\";\nimport type { LocksAPI_Lease_Create_Response } from \"./api\";\nimport type { LocksAPI_Lease_Create_Request } from \"./api\";\nimport type { LocksAPI_LockFieldValues_Create_Response } from \"./api\";\nimport type { LocksAPI_LockFieldValues_Create_Request } from \"./api\";\nimport type { ControllerAPI_ClearFeatures_Response } from \"./api\";\nimport type { ControllerAPI_ClearFeatures_Request } from \"./api\";\nimport type { ControllerAPI_SetFeatures_Response } from \"./api\";\nimport type { ControllerAPI_SetFeatures_Request } from \"./api\";\nimport type { ControllerAPI_GetUrl_Response } from \"./api\";\nimport type { ControllerAPI_GetUrl_Request } from \"./api\";\nimport type { ControllerAPI_RemoveAliasesAndUrls_Response } from \"./api\";\nimport type { ControllerAPI_RemoveAliasesAndUrls_Request } from \"./api\";\nimport type { ControllerAPI_WriteAliasesAndUrls_Response } from \"./api\";\nimport type { ControllerAPI_WriteAliasesAndUrls_Request } from \"./api\";\nimport type { ControllerAPI_GetNotifications_Response } from \"./api\";\nimport type { ControllerAPI_GetNotifications_Request } from \"./api\";\nimport type { ControllerAPI_AttachSubscription_Response } from \"./api\";\nimport type { ControllerAPI_AttachSubscription_Request } from \"./api\";\nimport type { ControllerAPI_Update_Response } from \"./api\";\nimport type { ControllerAPI_Update_Request } from \"./api\";\nimport type { ControllerAPI_Get_Response } from \"./api\";\nimport type { ControllerAPI_Get_Request } from \"./api\";\nimport type { ControllerAPI_Exists_Response } from \"./api\";\nimport type { ControllerAPI_Exists_Request } from \"./api\";\nimport type { ControllerAPI_Create_Response } from \"./api\";\nimport type { ControllerAPI_Create_Request } from \"./api\";\nimport type { ControllerAPI_Deregister_Response } from \"./api\";\nimport type { ControllerAPI_Deregister_Request } from \"./api\";\nimport type { ControllerAPI_Register_Response } from \"./api\";\nimport type { ControllerAPI_Register_Request } from \"./api\";\nimport type { NotificationAPI_Get_Response } from \"./api\";\nimport type { NotificationAPI_Get_Request } from \"./api\";\nimport type { SubscriptionAPI_DetachFilter_Response } from \"./api\";\nimport type { SubscriptionAPI_DetachFilter_Request } from \"./api\";\nimport type { SubscriptionAPI_AttachFilter_Response } from \"./api\";\nimport type { SubscriptionAPI_AttachFilter_Request } from \"./api\";\nimport type { TxAPI_Sync_Response } from \"./api\";\nimport type { TxAPI_Sync_Request } from \"./api\";\nimport type { UnaryCall } from \"@protobuf-ts/runtime-rpc\";\nimport { stackIntercept } from \"@protobuf-ts/runtime-rpc\";\nimport type { TxAPI_ServerMessage } from \"./api\";\nimport type { TxAPI_ClientMessage } from \"./api\";\nimport type { DuplexStreamingCall } from \"@protobuf-ts/runtime-rpc\";\nimport type { RpcOptions } from \"@protobuf-ts/runtime-rpc\";\n/**\n * @generated from protobuf service MiLaboratories.PL.API.Platform\n */\nexport interface IPlatformClient {\n /**\n *\n * Transactions\n *\n *\n * @generated from protobuf rpc: Tx\n */\n tx(options?: RpcOptions): DuplexStreamingCall<TxAPI_ClientMessage, TxAPI_ServerMessage>;\n /**\n * @generated from protobuf rpc: TxSync\n */\n txSync(input: TxAPI_Sync_Request, options?: RpcOptions): UnaryCall<TxAPI_Sync_Request, TxAPI_Sync_Response>;\n /**\n *\n * Subscriptions\n *\n *\n * @generated from protobuf rpc: SubscriptionAttachFilter\n */\n subscriptionAttachFilter(input: SubscriptionAPI_AttachFilter_Request, options?: RpcOptions): UnaryCall<SubscriptionAPI_AttachFilter_Request, SubscriptionAPI_AttachFilter_Response>;\n /**\n * @generated from protobuf rpc: SubscriptionDetachFilter\n */\n subscriptionDetachFilter(input: SubscriptionAPI_DetachFilter_Request, options?: RpcOptions): UnaryCall<SubscriptionAPI_DetachFilter_Request, SubscriptionAPI_DetachFilter_Response>;\n /**\n * @generated from protobuf rpc: NotificationsGet\n */\n notificationsGet(input: NotificationAPI_Get_Request, options?: RpcOptions): UnaryCall<NotificationAPI_Get_Request, NotificationAPI_Get_Response>;\n /**\n *\n * Controllers\n *\n *\n * @generated from protobuf rpc: ControllerRegister\n */\n controllerRegister(input: ControllerAPI_Register_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Register_Request, ControllerAPI_Register_Response>;\n /**\n * @generated from protobuf rpc: ControllerDeregister\n */\n controllerDeregister(input: ControllerAPI_Deregister_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Deregister_Request, ControllerAPI_Deregister_Response>;\n /**\n * @generated from protobuf rpc: ControllerCreate\n */\n controllerCreate(input: ControllerAPI_Create_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Create_Request, ControllerAPI_Create_Response>;\n /**\n * @generated from protobuf rpc: ControllerExists\n */\n controllerExists(input: ControllerAPI_Exists_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Exists_Request, ControllerAPI_Exists_Response>;\n /**\n * @generated from protobuf rpc: ControllerGet\n */\n controllerGet(input: ControllerAPI_Get_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Get_Request, ControllerAPI_Get_Response>;\n /**\n * @generated from protobuf rpc: ControllerUpdate\n */\n controllerUpdate(input: ControllerAPI_Update_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Update_Request, ControllerAPI_Update_Response>;\n /**\n * @generated from protobuf rpc: ControllerAttachSubscription\n */\n controllerAttachSubscription(input: ControllerAPI_AttachSubscription_Request, options?: RpcOptions): UnaryCall<ControllerAPI_AttachSubscription_Request, ControllerAPI_AttachSubscription_Response>;\n /**\n * @generated from protobuf rpc: GetControllerNotifications\n */\n getControllerNotifications(input: ControllerAPI_GetNotifications_Request, options?: RpcOptions): UnaryCall<ControllerAPI_GetNotifications_Request, ControllerAPI_GetNotifications_Response>;\n /**\n * @generated from protobuf rpc: WriteControllerAliasesAndUrls\n */\n writeControllerAliasesAndUrls(input: ControllerAPI_WriteAliasesAndUrls_Request, options?: RpcOptions): UnaryCall<ControllerAPI_WriteAliasesAndUrls_Request, ControllerAPI_WriteAliasesAndUrls_Response>;\n /**\n * @generated from protobuf rpc: RemoveControllerAliasesAndUrls\n */\n removeControllerAliasesAndUrls(input: ControllerAPI_RemoveAliasesAndUrls_Request, options?: RpcOptions): UnaryCall<ControllerAPI_RemoveAliasesAndUrls_Request, ControllerAPI_RemoveAliasesAndUrls_Response>;\n /**\n * @generated from protobuf rpc: GetControllerUrl\n */\n getControllerUrl(input: ControllerAPI_GetUrl_Request, options?: RpcOptions): UnaryCall<ControllerAPI_GetUrl_Request, ControllerAPI_GetUrl_Response>;\n /**\n * @generated from protobuf rpc: ControllerSetFeatures\n */\n controllerSetFeatures(input: ControllerAPI_SetFeatures_Request, options?: RpcOptions): UnaryCall<ControllerAPI_SetFeatures_Request, ControllerAPI_SetFeatures_Response>;\n /**\n * @generated from protobuf rpc: ControllerClearFeatures\n */\n controllerClearFeatures(input: ControllerAPI_ClearFeatures_Request, options?: RpcOptions): UnaryCall<ControllerAPI_ClearFeatures_Request, ControllerAPI_ClearFeatures_Response>;\n // \n // Locks\n // \n\n /**\n * LockFieldValues gets the resource and obtains a lock on all resolved values of listed fields:\n * - get the resource that will take the lock ('FOR' resource) (lock cannot be obtained 'FOR' or 'ON' deleted resource)\n * - list resource's fields, take fields with names set in request\n * - get resolved values of listed fields (IDs of 'ON' resources).\n * - acquire lock on all 'ON' resources, marking 'FOR' resource as an owner.\n *\n * Lock logic constraints:\n * - Locking is optimistic: if two processes try to obtain a lock on the same resource, one of them\n * succeeds, while the other fails with an error (no long waiting)\n * - Only resolved reference can be locked: to obtain a lock for a particular field's value, the backend needs to know\n * the resource ID this field points to. Unless all listed field references are resolved to a final ID, the lock will fail.\n * - Only an original resource can be locked: if a resource is 'pure' (supports deduplication), it has to pass deduplication before\n * being lockable. An attempt to lock a resource that has not become original will fail.\n * - Locking is a one-way operation: it cannot be 'released' or 'revoked'.\n *\n * @generated from protobuf rpc: LockFieldValues\n */\n lockFieldValues(input: LocksAPI_LockFieldValues_Create_Request, options?: RpcOptions): UnaryCall<LocksAPI_LockFieldValues_Create_Request, LocksAPI_LockFieldValues_Create_Response>;\n /**\n * LeaseResource creates a lease for a resource. A lease is a temporary lock that needs periodic renewal to stay valid.\n * Leases are a separate mechanism from locks: leases are focused on 'clients', while locks are focused on 'resources'.\n * To keep the lease active, the client needs the lease ID that is generated when a lease is created and used for lease updates.\n *\n * @generated from protobuf rpc: LeaseResource\n */\n leaseResource(input: LocksAPI_Lease_Create_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Create_Request, LocksAPI_Lease_Create_Response>;\n /**\n * @generated from protobuf rpc: UpdateLease\n */\n updateLease(input: LocksAPI_Lease_Update_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Update_Request, LocksAPI_Lease_Update_Response>;\n /**\n * @generated from protobuf rpc: ReleaseLease\n */\n releaseLease(input: LocksAPI_Lease_Release_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Release_Request, LocksAPI_Lease_Release_Response>;\n /**\n *\n * Authentication\n *\n *\n * @generated from protobuf rpc: AuthMethods\n */\n authMethods(input: AuthAPI_ListMethods_Request, options?: RpcOptions): UnaryCall<AuthAPI_ListMethods_Request, AuthAPI_ListMethods_Response>;\n /**\n * @generated from protobuf rpc: GetJWTToken\n */\n getJWTToken(input: AuthAPI_GetJWTToken_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetJWTToken_Request, AuthAPI_GetJWTToken_Response>;\n /**\n * @generated from protobuf rpc: GetSessionInfo\n */\n getSessionInfo(input: AuthAPI_GetSessionInfo_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetSessionInfo_Request, AuthAPI_GetSessionInfo_Response>;\n /**\n * @generated from protobuf rpc: GrantAccess\n */\n grantAccess(input: AuthAPI_GrantAccess_Request, options?: RpcOptions): UnaryCall<AuthAPI_GrantAccess_Request, AuthAPI_GrantAccess_Response>;\n /**\n * @generated from protobuf rpc: RevokeAccess\n */\n revokeAccess(input: AuthAPI_RevokeAccess_Request, options?: RpcOptions): UnaryCall<AuthAPI_RevokeAccess_Request, AuthAPI_RevokeAccess_Response>;\n /**\n * @generated from protobuf rpc: ListGrants\n */\n listGrants(input: AuthAPI_ListGrants_Request, options?: RpcOptions): ServerStreamingCall<AuthAPI_ListGrants_Request, AuthAPI_ListGrants_Response>;\n /**\n * MintSignature creates a resource signature bound to a target session.\n * Controllers use it during workflow bootstrap to pre-sign resources\n * so the workflow can access them under its own isolated session.\n *\n * @generated from protobuf rpc: MintSignature\n */\n mintSignature(input: AuthAPI_MintSignature_Request, options?: RpcOptions): UnaryCall<AuthAPI_MintSignature_Request, AuthAPI_MintSignature_Response>;\n /**\n * @generated from protobuf rpc: GetUserRoot\n */\n getUserRoot(input: AuthAPI_GetUserRoot_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetUserRoot_Request, AuthAPI_GetUserRoot_Response>;\n /**\n * @generated from protobuf rpc: ListUserResources\n */\n listUserResources(input: AuthAPI_ListUserResources_Request, options?: RpcOptions): ServerStreamingCall<AuthAPI_ListUserResources_Request, AuthAPI_ListUserResources_Response>;\n /**\n *\n * Other stuff\n *\n *\n * @generated from protobuf rpc: ListResourceTypes\n */\n listResourceTypes(input: MiscAPI_ListResourceTypes_Request, options?: RpcOptions): UnaryCall<MiscAPI_ListResourceTypes_Request, MiscAPI_ListResourceTypes_Response>;\n /**\n *\n * Various service requests\n *\n *\n * @generated from protobuf rpc: Ping\n */\n ping(input: MaintenanceAPI_Ping_Request, options?: RpcOptions): UnaryCall<MaintenanceAPI_Ping_Request, MaintenanceAPI_Ping_Response>;\n /**\n * @generated from protobuf rpc: License\n */\n license(input: MaintenanceAPI_License_Request, options?: RpcOptions): UnaryCall<MaintenanceAPI_License_Request, MaintenanceAPI_License_Response>;\n}\n/**\n * @generated from protobuf service MiLaboratories.PL.API.Platform\n */\nexport class PlatformClient implements IPlatformClient, ServiceInfo {\n typeName = Platform.typeName;\n methods = Platform.methods;\n options = Platform.options;\n constructor(private readonly _transport: RpcTransport) {\n }\n /**\n *\n * Transactions\n *\n *\n * @generated from protobuf rpc: Tx\n */\n tx(options?: RpcOptions): DuplexStreamingCall<TxAPI_ClientMessage, TxAPI_ServerMessage> {\n const method = this.methods[0], opt = this._transport.mergeOptions(options);\n return stackIntercept<TxAPI_ClientMessage, TxAPI_ServerMessage>(\"duplex\", this._transport, method, opt);\n }\n /**\n * @generated from protobuf rpc: TxSync\n */\n txSync(input: TxAPI_Sync_Request, options?: RpcOptions): UnaryCall<TxAPI_Sync_Request, TxAPI_Sync_Response> {\n const method = this.methods[1], opt = this._transport.mergeOptions(options);\n return stackIntercept<TxAPI_Sync_Request, TxAPI_Sync_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n *\n * Subscriptions\n *\n *\n * @generated from protobuf rpc: SubscriptionAttachFilter\n */\n subscriptionAttachFilter(input: SubscriptionAPI_AttachFilter_Request, options?: RpcOptions): UnaryCall<SubscriptionAPI_AttachFilter_Request, SubscriptionAPI_AttachFilter_Response> {\n const method = this.methods[2], opt = this._transport.mergeOptions(options);\n return stackIntercept<SubscriptionAPI_AttachFilter_Request, SubscriptionAPI_AttachFilter_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: SubscriptionDetachFilter\n */\n subscriptionDetachFilter(input: SubscriptionAPI_DetachFilter_Request, options?: RpcOptions): UnaryCall<SubscriptionAPI_DetachFilter_Request, SubscriptionAPI_DetachFilter_Response> {\n const method = this.methods[3], opt = this._transport.mergeOptions(options);\n return stackIntercept<SubscriptionAPI_DetachFilter_Request, SubscriptionAPI_DetachFilter_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: NotificationsGet\n */\n notificationsGet(input: NotificationAPI_Get_Request, options?: RpcOptions): UnaryCall<NotificationAPI_Get_Request, NotificationAPI_Get_Response> {\n const method = this.methods[4], opt = this._transport.mergeOptions(options);\n return stackIntercept<NotificationAPI_Get_Request, NotificationAPI_Get_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n *\n * Controllers\n *\n *\n * @generated from protobuf rpc: ControllerRegister\n */\n controllerRegister(input: ControllerAPI_Register_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Register_Request, ControllerAPI_Register_Response> {\n const method = this.methods[5], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Register_Request, ControllerAPI_Register_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerDeregister\n */\n controllerDeregister(input: ControllerAPI_Deregister_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Deregister_Request, ControllerAPI_Deregister_Response> {\n const method = this.methods[6], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Deregister_Request, ControllerAPI_Deregister_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerCreate\n */\n controllerCreate(input: ControllerAPI_Create_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Create_Request, ControllerAPI_Create_Response> {\n const method = this.methods[7], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Create_Request, ControllerAPI_Create_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerExists\n */\n controllerExists(input: ControllerAPI_Exists_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Exists_Request, ControllerAPI_Exists_Response> {\n const method = this.methods[8], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Exists_Request, ControllerAPI_Exists_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerGet\n */\n controllerGet(input: ControllerAPI_Get_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Get_Request, ControllerAPI_Get_Response> {\n const method = this.methods[9], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Get_Request, ControllerAPI_Get_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerUpdate\n */\n controllerUpdate(input: ControllerAPI_Update_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Update_Request, ControllerAPI_Update_Response> {\n const method = this.methods[10], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Update_Request, ControllerAPI_Update_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerAttachSubscription\n */\n controllerAttachSubscription(input: ControllerAPI_AttachSubscription_Request, options?: RpcOptions): UnaryCall<ControllerAPI_AttachSubscription_Request, ControllerAPI_AttachSubscription_Response> {\n const method = this.methods[11], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_AttachSubscription_Request, ControllerAPI_AttachSubscription_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GetControllerNotifications\n */\n getControllerNotifications(input: ControllerAPI_GetNotifications_Request, options?: RpcOptions): UnaryCall<ControllerAPI_GetNotifications_Request, ControllerAPI_GetNotifications_Response> {\n const method = this.methods[12], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_GetNotifications_Request, ControllerAPI_GetNotifications_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: WriteControllerAliasesAndUrls\n */\n writeControllerAliasesAndUrls(input: ControllerAPI_WriteAliasesAndUrls_Request, options?: RpcOptions): UnaryCall<ControllerAPI_WriteAliasesAndUrls_Request, ControllerAPI_WriteAliasesAndUrls_Response> {\n const method = this.methods[13], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_WriteAliasesAndUrls_Request, ControllerAPI_WriteAliasesAndUrls_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: RemoveControllerAliasesAndUrls\n */\n removeControllerAliasesAndUrls(input: ControllerAPI_RemoveAliasesAndUrls_Request, options?: RpcOptions): UnaryCall<ControllerAPI_RemoveAliasesAndUrls_Request, ControllerAPI_RemoveAliasesAndUrls_Response> {\n const method = this.methods[14], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_RemoveAliasesAndUrls_Request, ControllerAPI_RemoveAliasesAndUrls_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GetControllerUrl\n */\n getControllerUrl(input: ControllerAPI_GetUrl_Request, options?: RpcOptions): UnaryCall<ControllerAPI_GetUrl_Request, ControllerAPI_GetUrl_Response> {\n const method = this.methods[15], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_GetUrl_Request, ControllerAPI_GetUrl_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerSetFeatures\n */\n controllerSetFeatures(input: ControllerAPI_SetFeatures_Request, options?: RpcOptions): UnaryCall<ControllerAPI_SetFeatures_Request, ControllerAPI_SetFeatures_Response> {\n const method = this.methods[16], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_SetFeatures_Request, ControllerAPI_SetFeatures_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerClearFeatures\n */\n controllerClearFeatures(input: ControllerAPI_ClearFeatures_Request, options?: RpcOptions): UnaryCall<ControllerAPI_ClearFeatures_Request, ControllerAPI_ClearFeatures_Response> {\n const method = this.methods[17], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_ClearFeatures_Request, ControllerAPI_ClearFeatures_Response>(\"unary\", this._transport, method, opt, input);\n }\n // \n // Locks\n // \n\n /**\n * LockFieldValues gets the resource and obtains a lock on all resolved values of listed fields:\n * - get the resource that will take the lock ('FOR' resource) (lock cannot be obtained 'FOR' or 'ON' deleted resource)\n * - list resource's fields, take fields with names set in request\n * - get resolved values of listed fields (IDs of 'ON' resources).\n * - acquire lock on all 'ON' resources, marking 'FOR' resource as an owner.\n *\n * Lock logic constraints:\n * - Locking is optimistic: if two processes try to obtain a lock on the same resource, one of them\n * succeeds, while the other fails with an error (no long waiting)\n * - Only resolved reference can be locked: to obtain a lock for a particular field's value, the backend needs to know\n * the resource ID this field points to. Unless all listed field references are resolved to a final ID, the lock will fail.\n * - Only an original resource can be locked: if a resource is 'pure' (supports deduplication), it has to pass deduplication before\n * being lockable. An attempt to lock a resource that has not become original will fail.\n * - Locking is a one-way operation: it cannot be 'released' or 'revoked'.\n *\n * @generated from protobuf rpc: LockFieldValues\n */\n lockFieldValues(input: LocksAPI_LockFieldValues_Create_Request, options?: RpcOptions): UnaryCall<LocksAPI_LockFieldValues_Create_Request, LocksAPI_LockFieldValues_Create_Response> {\n const method = this.methods[18], opt = this._transport.mergeOptions(options);\n return stackIntercept<LocksAPI_LockFieldValues_Create_Request, LocksAPI_LockFieldValues_Create_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * LeaseResource creates a lease for a resource. A lease is a temporary lock that needs periodic renewal to stay valid.\n * Leases are a separate mechanism from locks: leases are focused on 'clients', while locks are focused on 'resources'.\n * To keep the lease active, the client needs the lease ID that is generated when a lease is created and used for lease updates.\n *\n * @generated from protobuf rpc: LeaseResource\n */\n leaseResource(input: LocksAPI_Lease_Create_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Create_Request, LocksAPI_Lease_Create_Response> {\n const method = this.methods[19], opt = this._transport.mergeOptions(options);\n return stackIntercept<LocksAPI_Lease_Create_Request, LocksAPI_Lease_Create_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: UpdateLease\n */\n updateLease(input: LocksAPI_Lease_Update_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Update_Request, LocksAPI_Lease_Update_Response> {\n const method = this.methods[20], opt = this._transport.mergeOptions(options);\n return stackIntercept<LocksAPI_Lease_Update_Request, LocksAPI_Lease_Update_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ReleaseLease\n */\n releaseLease(input: LocksAPI_Lease_Release_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Release_Request, LocksAPI_Lease_Release_Response> {\n const method = this.methods[21], opt = this._transport.mergeOptions(options);\n return stackIntercept<LocksAPI_Lease_Release_Request, LocksAPI_Lease_Release_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n *\n * Authentication\n *\n *\n * @generated from protobuf rpc: AuthMethods\n */\n authMethods(input: AuthAPI_ListMethods_Request, options?: RpcOptions): UnaryCall<AuthAPI_ListMethods_Request, AuthAPI_ListMethods_Response> {\n const method = this.methods[22], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_ListMethods_Request, AuthAPI_ListMethods_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GetJWTToken\n */\n getJWTToken(input: AuthAPI_GetJWTToken_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetJWTToken_Request, AuthAPI_GetJWTToken_Response> {\n const method = this.methods[23], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_GetJWTToken_Request, AuthAPI_GetJWTToken_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GetSessionInfo\n */\n getSessionInfo(input: AuthAPI_GetSessionInfo_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetSessionInfo_Request, AuthAPI_GetSessionInfo_Response> {\n const method = this.methods[24], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_GetSessionInfo_Request, AuthAPI_GetSessionInfo_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GrantAccess\n */\n grantAccess(input: AuthAPI_GrantAccess_Request, options?: RpcOptions): UnaryCall<AuthAPI_GrantAccess_Request, AuthAPI_GrantAccess_Response> {\n const method = this.methods[25], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_GrantAccess_Request, AuthAPI_GrantAccess_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: RevokeAccess\n */\n revokeAccess(input: AuthAPI_RevokeAccess_Request, options?: RpcOptions): UnaryCall<AuthAPI_RevokeAccess_Request, AuthAPI_RevokeAccess_Response> {\n const method = this.methods[26], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_RevokeAccess_Request, AuthAPI_RevokeAccess_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ListGrants\n */\n listGrants(input: AuthAPI_ListGrants_Request, options?: RpcOptions): ServerStreamingCall<AuthAPI_ListGrants_Request, AuthAPI_ListGrants_Response> {\n const method = this.methods[27], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_ListGrants_Request, AuthAPI_ListGrants_Response>(\"serverStreaming\", this._transport, method, opt, input);\n }\n /**\n * MintSignature creates a resource signature bound to a target session.\n * Controllers use it during workflow bootstrap to pre-sign resources\n * so the workflow can access them under its own isolated session.\n *\n * @generated from protobuf rpc: MintSignature\n */\n mintSignature(input: AuthAPI_MintSignature_Request, options?: RpcOptions): UnaryCall<AuthAPI_MintSignature_Request, AuthAPI_MintSignature_Response> {\n const method = this.methods[28], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_MintSignature_Request, AuthAPI_MintSignature_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GetUserRoot\n */\n getUserRoot(input: AuthAPI_GetUserRoot_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetUserRoot_Request, AuthAPI_GetUserRoot_Response> {\n const method = this.methods[29], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_GetUserRoot_Request, AuthAPI_GetUserRoot_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ListUserResources\n */\n listUserResources(input: AuthAPI_ListUserResources_Request, options?: RpcOptions): ServerStreamingCall<AuthAPI_ListUserResources_Request, AuthAPI_ListUserResources_Response> {\n const method = this.methods[30], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_ListUserResources_Request, AuthAPI_ListUserResources_Response>(\"serverStreaming\", this._transport, method, opt, input);\n }\n /**\n *\n * Other stuff\n *\n *\n * @generated from protobuf rpc: ListResourceTypes\n */\n listResourceTypes(input: MiscAPI_ListResourceTypes_Request, options?: RpcOptions): UnaryCall<MiscAPI_ListResourceTypes_Request, MiscAPI_ListResourceTypes_Response> {\n const method = this.methods[31], opt = this._transport.mergeOptions(options);\n return stackIntercept<MiscAPI_ListResourceTypes_Request, MiscAPI_ListResourceTypes_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n *\n * Various service requests\n *\n *\n * @generated from protobuf rpc: Ping\n */\n ping(input: MaintenanceAPI_Ping_Request, options?: RpcOptions): UnaryCall<MaintenanceAPI_Ping_Request, MaintenanceAPI_Ping_Response> {\n const method = this.methods[32], opt = this._transport.mergeOptions(options);\n return stackIntercept<MaintenanceAPI_Ping_Request, MaintenanceAPI_Ping_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: License\n */\n license(input: MaintenanceAPI_License_Request, options?: RpcOptions): UnaryCall<MaintenanceAPI_License_Request, MaintenanceAPI_License_Response> {\n const method = this.methods[33], opt = this._transport.mergeOptions(options);\n return stackIntercept<MaintenanceAPI_License_Request, MaintenanceAPI_License_Response>(\"unary\", this._transport, method, opt, input);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"api.client.cjs","names":["Platform"],"sources":["../../../../../../../src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter client_generic,optimize_speed,generate_dependencies,force_server_none\n// @generated from protobuf file \"github.com/milaboratory/pl/plapi/plapiproto/api.proto\" (package \"MiLaboratories.PL.API\", syntax proto3)\n// tslint:disable\nimport type { RpcTransport } from \"@protobuf-ts/runtime-rpc\";\nimport type { ServiceInfo } from \"@protobuf-ts/runtime-rpc\";\nimport { Platform } from \"./api\";\nimport type { MaintenanceAPI_License_Response } from \"./api\";\nimport type { MaintenanceAPI_License_Request } from \"./api\";\nimport type { MaintenanceAPI_Ping_Response } from \"./api\";\nimport type { MaintenanceAPI_Ping_Request } from \"./api\";\nimport type { MiscAPI_ListResourceTypes_Response } from \"./api\";\nimport type { MiscAPI_ListResourceTypes_Request } from \"./api\";\nimport type { AuthAPI_ListUserResources_Response } from \"./api\";\nimport type { AuthAPI_ListUserResources_Request } from \"./api\";\nimport type { AuthAPI_GetUserRoot_Response } from \"./api\";\nimport type { AuthAPI_GetUserRoot_Request } from \"./api\";\nimport type { AuthAPI_MintSignature_Response } from \"./api\";\nimport type { AuthAPI_MintSignature_Request } from \"./api\";\nimport type { AuthAPI_ListGrants_Response } from \"./api\";\nimport type { AuthAPI_ListGrants_Request } from \"./api\";\nimport type { ServerStreamingCall } from \"@protobuf-ts/runtime-rpc\";\nimport type { AuthAPI_RevokeAccess_Response } from \"./api\";\nimport type { AuthAPI_RevokeAccess_Request } from \"./api\";\nimport type { AuthAPI_GrantAccess_Response } from \"./api\";\nimport type { AuthAPI_GrantAccess_Request } from \"./api\";\nimport type { AuthAPI_GetSessionInfo_Response } from \"./api\";\nimport type { AuthAPI_GetSessionInfo_Request } from \"./api\";\nimport type { AuthAPI_RefreshToken_Response } from \"./api\";\nimport type { AuthAPI_RefreshToken_Request } from \"./api\";\nimport type { AuthAPI_BeginSSOLogin_Response } from \"./api\";\nimport type { AuthAPI_BeginSSOLogin_Request } from \"./api\";\nimport type { AuthAPI_Login_Response } from \"./api\";\nimport type { AuthAPI_Login_Request } from \"./api\";\nimport type { AuthAPI_GetJWTToken_Response } from \"./api\";\nimport type { AuthAPI_GetJWTToken_Request } from \"./api\";\nimport type { AuthAPI_ListMethods_Response } from \"./api\";\nimport type { AuthAPI_ListMethods_Request } from \"./api\";\nimport type { LocksAPI_Lease_Release_Response } from \"./api\";\nimport type { LocksAPI_Lease_Release_Request } from \"./api\";\nimport type { LocksAPI_Lease_Update_Response } from \"./api\";\nimport type { LocksAPI_Lease_Update_Request } from \"./api\";\nimport type { LocksAPI_Lease_Create_Response } from \"./api\";\nimport type { LocksAPI_Lease_Create_Request } from \"./api\";\nimport type { LocksAPI_LockFieldValues_Create_Response } from \"./api\";\nimport type { LocksAPI_LockFieldValues_Create_Request } from \"./api\";\nimport type { ControllerAPI_ClearFeatures_Response } from \"./api\";\nimport type { ControllerAPI_ClearFeatures_Request } from \"./api\";\nimport type { ControllerAPI_SetFeatures_Response } from \"./api\";\nimport type { ControllerAPI_SetFeatures_Request } from \"./api\";\nimport type { ControllerAPI_GetUrl_Response } from \"./api\";\nimport type { ControllerAPI_GetUrl_Request } from \"./api\";\nimport type { ControllerAPI_RemoveAliasesAndUrls_Response } from \"./api\";\nimport type { ControllerAPI_RemoveAliasesAndUrls_Request } from \"./api\";\nimport type { ControllerAPI_WriteAliasesAndUrls_Response } from \"./api\";\nimport type { ControllerAPI_WriteAliasesAndUrls_Request } from \"./api\";\nimport type { ControllerAPI_GetNotifications_Response } from \"./api\";\nimport type { ControllerAPI_GetNotifications_Request } from \"./api\";\nimport type { ControllerAPI_AttachSubscription_Response } from \"./api\";\nimport type { ControllerAPI_AttachSubscription_Request } from \"./api\";\nimport type { ControllerAPI_Update_Response } from \"./api\";\nimport type { ControllerAPI_Update_Request } from \"./api\";\nimport type { ControllerAPI_Get_Response } from \"./api\";\nimport type { ControllerAPI_Get_Request } from \"./api\";\nimport type { ControllerAPI_Exists_Response } from \"./api\";\nimport type { ControllerAPI_Exists_Request } from \"./api\";\nimport type { ControllerAPI_Create_Response } from \"./api\";\nimport type { ControllerAPI_Create_Request } from \"./api\";\nimport type { ControllerAPI_Deregister_Response } from \"./api\";\nimport type { ControllerAPI_Deregister_Request } from \"./api\";\nimport type { ControllerAPI_Register_Response } from \"./api\";\nimport type { ControllerAPI_Register_Request } from \"./api\";\nimport type { NotificationAPI_Get_Response } from \"./api\";\nimport type { NotificationAPI_Get_Request } from \"./api\";\nimport type { SubscriptionAPI_DetachFilter_Response } from \"./api\";\nimport type { SubscriptionAPI_DetachFilter_Request } from \"./api\";\nimport type { SubscriptionAPI_AttachFilter_Response } from \"./api\";\nimport type { SubscriptionAPI_AttachFilter_Request } from \"./api\";\nimport type { TxAPI_Sync_Response } from \"./api\";\nimport type { TxAPI_Sync_Request } from \"./api\";\nimport type { UnaryCall } from \"@protobuf-ts/runtime-rpc\";\nimport { stackIntercept } from \"@protobuf-ts/runtime-rpc\";\nimport type { TxAPI_ServerMessage } from \"./api\";\nimport type { TxAPI_ClientMessage } from \"./api\";\nimport type { DuplexStreamingCall } from \"@protobuf-ts/runtime-rpc\";\nimport type { RpcOptions } from \"@protobuf-ts/runtime-rpc\";\n/**\n * @generated from protobuf service MiLaboratories.PL.API.Platform\n */\nexport interface IPlatformClient {\n /**\n *\n * Transactions\n *\n *\n * @generated from protobuf rpc: Tx\n */\n tx(options?: RpcOptions): DuplexStreamingCall<TxAPI_ClientMessage, TxAPI_ServerMessage>;\n /**\n * @generated from protobuf rpc: TxSync\n */\n txSync(input: TxAPI_Sync_Request, options?: RpcOptions): UnaryCall<TxAPI_Sync_Request, TxAPI_Sync_Response>;\n /**\n *\n * Subscriptions\n *\n *\n * @generated from protobuf rpc: SubscriptionAttachFilter\n */\n subscriptionAttachFilter(input: SubscriptionAPI_AttachFilter_Request, options?: RpcOptions): UnaryCall<SubscriptionAPI_AttachFilter_Request, SubscriptionAPI_AttachFilter_Response>;\n /**\n * @generated from protobuf rpc: SubscriptionDetachFilter\n */\n subscriptionDetachFilter(input: SubscriptionAPI_DetachFilter_Request, options?: RpcOptions): UnaryCall<SubscriptionAPI_DetachFilter_Request, SubscriptionAPI_DetachFilter_Response>;\n /**\n * @generated from protobuf rpc: NotificationsGet\n */\n notificationsGet(input: NotificationAPI_Get_Request, options?: RpcOptions): UnaryCall<NotificationAPI_Get_Request, NotificationAPI_Get_Response>;\n /**\n *\n * Controllers\n *\n *\n * @generated from protobuf rpc: ControllerRegister\n */\n controllerRegister(input: ControllerAPI_Register_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Register_Request, ControllerAPI_Register_Response>;\n /**\n * @generated from protobuf rpc: ControllerDeregister\n */\n controllerDeregister(input: ControllerAPI_Deregister_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Deregister_Request, ControllerAPI_Deregister_Response>;\n /**\n * @generated from protobuf rpc: ControllerCreate\n */\n controllerCreate(input: ControllerAPI_Create_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Create_Request, ControllerAPI_Create_Response>;\n /**\n * @generated from protobuf rpc: ControllerExists\n */\n controllerExists(input: ControllerAPI_Exists_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Exists_Request, ControllerAPI_Exists_Response>;\n /**\n * @generated from protobuf rpc: ControllerGet\n */\n controllerGet(input: ControllerAPI_Get_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Get_Request, ControllerAPI_Get_Response>;\n /**\n * @generated from protobuf rpc: ControllerUpdate\n */\n controllerUpdate(input: ControllerAPI_Update_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Update_Request, ControllerAPI_Update_Response>;\n /**\n * @generated from protobuf rpc: ControllerAttachSubscription\n */\n controllerAttachSubscription(input: ControllerAPI_AttachSubscription_Request, options?: RpcOptions): UnaryCall<ControllerAPI_AttachSubscription_Request, ControllerAPI_AttachSubscription_Response>;\n /**\n * @generated from protobuf rpc: GetControllerNotifications\n */\n getControllerNotifications(input: ControllerAPI_GetNotifications_Request, options?: RpcOptions): UnaryCall<ControllerAPI_GetNotifications_Request, ControllerAPI_GetNotifications_Response>;\n /**\n * @generated from protobuf rpc: WriteControllerAliasesAndUrls\n */\n writeControllerAliasesAndUrls(input: ControllerAPI_WriteAliasesAndUrls_Request, options?: RpcOptions): UnaryCall<ControllerAPI_WriteAliasesAndUrls_Request, ControllerAPI_WriteAliasesAndUrls_Response>;\n /**\n * @generated from protobuf rpc: RemoveControllerAliasesAndUrls\n */\n removeControllerAliasesAndUrls(input: ControllerAPI_RemoveAliasesAndUrls_Request, options?: RpcOptions): UnaryCall<ControllerAPI_RemoveAliasesAndUrls_Request, ControllerAPI_RemoveAliasesAndUrls_Response>;\n /**\n * @generated from protobuf rpc: GetControllerUrl\n */\n getControllerUrl(input: ControllerAPI_GetUrl_Request, options?: RpcOptions): UnaryCall<ControllerAPI_GetUrl_Request, ControllerAPI_GetUrl_Response>;\n /**\n * @generated from protobuf rpc: ControllerSetFeatures\n */\n controllerSetFeatures(input: ControllerAPI_SetFeatures_Request, options?: RpcOptions): UnaryCall<ControllerAPI_SetFeatures_Request, ControllerAPI_SetFeatures_Response>;\n /**\n * @generated from protobuf rpc: ControllerClearFeatures\n */\n controllerClearFeatures(input: ControllerAPI_ClearFeatures_Request, options?: RpcOptions): UnaryCall<ControllerAPI_ClearFeatures_Request, ControllerAPI_ClearFeatures_Response>;\n // \n // Locks\n // \n\n /**\n * LockFieldValues gets the resource and obtains a lock on all resolved values of listed fields:\n * - get the resource that will take the lock ('FOR' resource) (lock cannot be obtained 'FOR' or 'ON' deleted resource)\n * - list resource's fields, take fields with names set in request\n * - get resolved values of listed fields (IDs of 'ON' resources).\n * - acquire lock on all 'ON' resources, marking 'FOR' resource as an owner.\n *\n * Lock logic constraints:\n * - Locking is optimistic: if two processes try to obtain a lock on the same resource, one of them\n * succeeds, while the other fails with an error (no long waiting)\n * - Only resolved reference can be locked: to obtain a lock for a particular field's value, the backend needs to know\n * the resource ID this field points to. Unless all listed field references are resolved to a final ID, the lock will fail.\n * - Only an original resource can be locked: if a resource is 'pure' (supports deduplication), it has to pass deduplication before\n * being lockable. An attempt to lock a resource that has not become original will fail.\n * - Locking is a one-way operation: it cannot be 'released' or 'revoked'.\n *\n * @generated from protobuf rpc: LockFieldValues\n */\n lockFieldValues(input: LocksAPI_LockFieldValues_Create_Request, options?: RpcOptions): UnaryCall<LocksAPI_LockFieldValues_Create_Request, LocksAPI_LockFieldValues_Create_Response>;\n /**\n * LeaseResource creates a lease for a resource. A lease is a temporary lock that needs periodic renewal to stay valid.\n * Leases are a separate mechanism from locks: leases are focused on 'clients', while locks are focused on 'resources'.\n * To keep the lease active, the client needs the lease ID that is generated when a lease is created and used for lease updates.\n *\n * @generated from protobuf rpc: LeaseResource\n */\n leaseResource(input: LocksAPI_Lease_Create_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Create_Request, LocksAPI_Lease_Create_Response>;\n /**\n * @generated from protobuf rpc: UpdateLease\n */\n updateLease(input: LocksAPI_Lease_Update_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Update_Request, LocksAPI_Lease_Update_Response>;\n /**\n * @generated from protobuf rpc: ReleaseLease\n */\n releaseLease(input: LocksAPI_Lease_Release_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Release_Request, LocksAPI_Lease_Release_Response>;\n /**\n *\n * Authentication\n *\n *\n * @generated from protobuf rpc: AuthMethods\n */\n authMethods(input: AuthAPI_ListMethods_Request, options?: RpcOptions): UnaryCall<AuthAPI_ListMethods_Request, AuthAPI_ListMethods_Response>;\n /**\n * Deprecated: Use Login for session creation and role transitions,\n * and RefreshToken for token renewal. Backends implementing this API always return\n * codes.Unimplemented. Kept here so clients can still call old backends.\n *\n * @deprecated\n * @generated from protobuf rpc: GetJWTToken\n */\n getJWTToken(input: AuthAPI_GetJWTToken_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetJWTToken_Request, AuthAPI_GetJWTToken_Response>;\n /**\n * Login authenticates with the given credentials and returns a new Platforma JWT.\n * Every Login call creates a new session. Use RefreshToken to renew an existing one.\n * This method is public: no Authorization header is required.\n *\n * @generated from protobuf rpc: Login\n */\n login(input: AuthAPI_Login_Request, options?: RpcOptions): UnaryCall<AuthAPI_Login_Request, AuthAPI_Login_Response>;\n /**\n * BeginSSOLogin returns a fresh one-time nonce that the desktop must place\n * into the OIDC auth-request before redirecting to the IdP. Used by the SSO\n * login flow. This method is public: no Authorization header is required.\n *\n * @generated from protobuf rpc: BeginSSOLogin\n */\n beginSSOLogin(input: AuthAPI_BeginSSOLogin_Request, options?: RpcOptions): UnaryCall<AuthAPI_BeginSSOLogin_Request, AuthAPI_BeginSSOLogin_Response>;\n /**\n * RefreshToken accepts a valid Platforma JWT and re-issues it with the same\n * session ID and role. Only the token expiration may be changed.\n * Workflow-scoped tokens cannot be refreshed; call Login instead.\n * This method is public: no Authorization header is required.\n *\n * @generated from protobuf rpc: RefreshToken\n */\n refreshToken(input: AuthAPI_RefreshToken_Request, options?: RpcOptions): UnaryCall<AuthAPI_RefreshToken_Request, AuthAPI_RefreshToken_Response>;\n /**\n * @generated from protobuf rpc: GetSessionInfo\n */\n getSessionInfo(input: AuthAPI_GetSessionInfo_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetSessionInfo_Request, AuthAPI_GetSessionInfo_Response>;\n /**\n * @generated from protobuf rpc: GrantAccess\n */\n grantAccess(input: AuthAPI_GrantAccess_Request, options?: RpcOptions): UnaryCall<AuthAPI_GrantAccess_Request, AuthAPI_GrantAccess_Response>;\n /**\n * @generated from protobuf rpc: RevokeAccess\n */\n revokeAccess(input: AuthAPI_RevokeAccess_Request, options?: RpcOptions): UnaryCall<AuthAPI_RevokeAccess_Request, AuthAPI_RevokeAccess_Response>;\n /**\n * @generated from protobuf rpc: ListGrants\n */\n listGrants(input: AuthAPI_ListGrants_Request, options?: RpcOptions): ServerStreamingCall<AuthAPI_ListGrants_Request, AuthAPI_ListGrants_Response>;\n /**\n * MintSignature creates a resource signature bound to a target session.\n * Controllers use it during workflow bootstrap to pre-sign resources\n * so the workflow can access them under its own isolated session.\n *\n * @generated from protobuf rpc: MintSignature\n */\n mintSignature(input: AuthAPI_MintSignature_Request, options?: RpcOptions): UnaryCall<AuthAPI_MintSignature_Request, AuthAPI_MintSignature_Response>;\n /**\n * @generated from protobuf rpc: GetUserRoot\n */\n getUserRoot(input: AuthAPI_GetUserRoot_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetUserRoot_Request, AuthAPI_GetUserRoot_Response>;\n /**\n * @generated from protobuf rpc: ListUserResources\n */\n listUserResources(input: AuthAPI_ListUserResources_Request, options?: RpcOptions): ServerStreamingCall<AuthAPI_ListUserResources_Request, AuthAPI_ListUserResources_Response>;\n /**\n *\n * Other stuff\n *\n *\n * @generated from protobuf rpc: ListResourceTypes\n */\n listResourceTypes(input: MiscAPI_ListResourceTypes_Request, options?: RpcOptions): UnaryCall<MiscAPI_ListResourceTypes_Request, MiscAPI_ListResourceTypes_Response>;\n /**\n *\n * Various service requests\n *\n *\n * @generated from protobuf rpc: Ping\n */\n ping(input: MaintenanceAPI_Ping_Request, options?: RpcOptions): UnaryCall<MaintenanceAPI_Ping_Request, MaintenanceAPI_Ping_Response>;\n /**\n * @generated from protobuf rpc: License\n */\n license(input: MaintenanceAPI_License_Request, options?: RpcOptions): UnaryCall<MaintenanceAPI_License_Request, MaintenanceAPI_License_Response>;\n}\n/**\n * @generated from protobuf service MiLaboratories.PL.API.Platform\n */\nexport class PlatformClient implements IPlatformClient, ServiceInfo {\n typeName = Platform.typeName;\n methods = Platform.methods;\n options = Platform.options;\n constructor(private readonly _transport: RpcTransport) {\n }\n /**\n *\n * Transactions\n *\n *\n * @generated from protobuf rpc: Tx\n */\n tx(options?: RpcOptions): DuplexStreamingCall<TxAPI_ClientMessage, TxAPI_ServerMessage> {\n const method = this.methods[0], opt = this._transport.mergeOptions(options);\n return stackIntercept<TxAPI_ClientMessage, TxAPI_ServerMessage>(\"duplex\", this._transport, method, opt);\n }\n /**\n * @generated from protobuf rpc: TxSync\n */\n txSync(input: TxAPI_Sync_Request, options?: RpcOptions): UnaryCall<TxAPI_Sync_Request, TxAPI_Sync_Response> {\n const method = this.methods[1], opt = this._transport.mergeOptions(options);\n return stackIntercept<TxAPI_Sync_Request, TxAPI_Sync_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n *\n * Subscriptions\n *\n *\n * @generated from protobuf rpc: SubscriptionAttachFilter\n */\n subscriptionAttachFilter(input: SubscriptionAPI_AttachFilter_Request, options?: RpcOptions): UnaryCall<SubscriptionAPI_AttachFilter_Request, SubscriptionAPI_AttachFilter_Response> {\n const method = this.methods[2], opt = this._transport.mergeOptions(options);\n return stackIntercept<SubscriptionAPI_AttachFilter_Request, SubscriptionAPI_AttachFilter_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: SubscriptionDetachFilter\n */\n subscriptionDetachFilter(input: SubscriptionAPI_DetachFilter_Request, options?: RpcOptions): UnaryCall<SubscriptionAPI_DetachFilter_Request, SubscriptionAPI_DetachFilter_Response> {\n const method = this.methods[3], opt = this._transport.mergeOptions(options);\n return stackIntercept<SubscriptionAPI_DetachFilter_Request, SubscriptionAPI_DetachFilter_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: NotificationsGet\n */\n notificationsGet(input: NotificationAPI_Get_Request, options?: RpcOptions): UnaryCall<NotificationAPI_Get_Request, NotificationAPI_Get_Response> {\n const method = this.methods[4], opt = this._transport.mergeOptions(options);\n return stackIntercept<NotificationAPI_Get_Request, NotificationAPI_Get_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n *\n * Controllers\n *\n *\n * @generated from protobuf rpc: ControllerRegister\n */\n controllerRegister(input: ControllerAPI_Register_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Register_Request, ControllerAPI_Register_Response> {\n const method = this.methods[5], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Register_Request, ControllerAPI_Register_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerDeregister\n */\n controllerDeregister(input: ControllerAPI_Deregister_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Deregister_Request, ControllerAPI_Deregister_Response> {\n const method = this.methods[6], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Deregister_Request, ControllerAPI_Deregister_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerCreate\n */\n controllerCreate(input: ControllerAPI_Create_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Create_Request, ControllerAPI_Create_Response> {\n const method = this.methods[7], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Create_Request, ControllerAPI_Create_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerExists\n */\n controllerExists(input: ControllerAPI_Exists_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Exists_Request, ControllerAPI_Exists_Response> {\n const method = this.methods[8], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Exists_Request, ControllerAPI_Exists_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerGet\n */\n controllerGet(input: ControllerAPI_Get_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Get_Request, ControllerAPI_Get_Response> {\n const method = this.methods[9], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Get_Request, ControllerAPI_Get_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerUpdate\n */\n controllerUpdate(input: ControllerAPI_Update_Request, options?: RpcOptions): UnaryCall<ControllerAPI_Update_Request, ControllerAPI_Update_Response> {\n const method = this.methods[10], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_Update_Request, ControllerAPI_Update_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerAttachSubscription\n */\n controllerAttachSubscription(input: ControllerAPI_AttachSubscription_Request, options?: RpcOptions): UnaryCall<ControllerAPI_AttachSubscription_Request, ControllerAPI_AttachSubscription_Response> {\n const method = this.methods[11], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_AttachSubscription_Request, ControllerAPI_AttachSubscription_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GetControllerNotifications\n */\n getControllerNotifications(input: ControllerAPI_GetNotifications_Request, options?: RpcOptions): UnaryCall<ControllerAPI_GetNotifications_Request, ControllerAPI_GetNotifications_Response> {\n const method = this.methods[12], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_GetNotifications_Request, ControllerAPI_GetNotifications_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: WriteControllerAliasesAndUrls\n */\n writeControllerAliasesAndUrls(input: ControllerAPI_WriteAliasesAndUrls_Request, options?: RpcOptions): UnaryCall<ControllerAPI_WriteAliasesAndUrls_Request, ControllerAPI_WriteAliasesAndUrls_Response> {\n const method = this.methods[13], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_WriteAliasesAndUrls_Request, ControllerAPI_WriteAliasesAndUrls_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: RemoveControllerAliasesAndUrls\n */\n removeControllerAliasesAndUrls(input: ControllerAPI_RemoveAliasesAndUrls_Request, options?: RpcOptions): UnaryCall<ControllerAPI_RemoveAliasesAndUrls_Request, ControllerAPI_RemoveAliasesAndUrls_Response> {\n const method = this.methods[14], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_RemoveAliasesAndUrls_Request, ControllerAPI_RemoveAliasesAndUrls_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GetControllerUrl\n */\n getControllerUrl(input: ControllerAPI_GetUrl_Request, options?: RpcOptions): UnaryCall<ControllerAPI_GetUrl_Request, ControllerAPI_GetUrl_Response> {\n const method = this.methods[15], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_GetUrl_Request, ControllerAPI_GetUrl_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerSetFeatures\n */\n controllerSetFeatures(input: ControllerAPI_SetFeatures_Request, options?: RpcOptions): UnaryCall<ControllerAPI_SetFeatures_Request, ControllerAPI_SetFeatures_Response> {\n const method = this.methods[16], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_SetFeatures_Request, ControllerAPI_SetFeatures_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ControllerClearFeatures\n */\n controllerClearFeatures(input: ControllerAPI_ClearFeatures_Request, options?: RpcOptions): UnaryCall<ControllerAPI_ClearFeatures_Request, ControllerAPI_ClearFeatures_Response> {\n const method = this.methods[17], opt = this._transport.mergeOptions(options);\n return stackIntercept<ControllerAPI_ClearFeatures_Request, ControllerAPI_ClearFeatures_Response>(\"unary\", this._transport, method, opt, input);\n }\n // \n // Locks\n // \n\n /**\n * LockFieldValues gets the resource and obtains a lock on all resolved values of listed fields:\n * - get the resource that will take the lock ('FOR' resource) (lock cannot be obtained 'FOR' or 'ON' deleted resource)\n * - list resource's fields, take fields with names set in request\n * - get resolved values of listed fields (IDs of 'ON' resources).\n * - acquire lock on all 'ON' resources, marking 'FOR' resource as an owner.\n *\n * Lock logic constraints:\n * - Locking is optimistic: if two processes try to obtain a lock on the same resource, one of them\n * succeeds, while the other fails with an error (no long waiting)\n * - Only resolved reference can be locked: to obtain a lock for a particular field's value, the backend needs to know\n * the resource ID this field points to. Unless all listed field references are resolved to a final ID, the lock will fail.\n * - Only an original resource can be locked: if a resource is 'pure' (supports deduplication), it has to pass deduplication before\n * being lockable. An attempt to lock a resource that has not become original will fail.\n * - Locking is a one-way operation: it cannot be 'released' or 'revoked'.\n *\n * @generated from protobuf rpc: LockFieldValues\n */\n lockFieldValues(input: LocksAPI_LockFieldValues_Create_Request, options?: RpcOptions): UnaryCall<LocksAPI_LockFieldValues_Create_Request, LocksAPI_LockFieldValues_Create_Response> {\n const method = this.methods[18], opt = this._transport.mergeOptions(options);\n return stackIntercept<LocksAPI_LockFieldValues_Create_Request, LocksAPI_LockFieldValues_Create_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * LeaseResource creates a lease for a resource. A lease is a temporary lock that needs periodic renewal to stay valid.\n * Leases are a separate mechanism from locks: leases are focused on 'clients', while locks are focused on 'resources'.\n * To keep the lease active, the client needs the lease ID that is generated when a lease is created and used for lease updates.\n *\n * @generated from protobuf rpc: LeaseResource\n */\n leaseResource(input: LocksAPI_Lease_Create_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Create_Request, LocksAPI_Lease_Create_Response> {\n const method = this.methods[19], opt = this._transport.mergeOptions(options);\n return stackIntercept<LocksAPI_Lease_Create_Request, LocksAPI_Lease_Create_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: UpdateLease\n */\n updateLease(input: LocksAPI_Lease_Update_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Update_Request, LocksAPI_Lease_Update_Response> {\n const method = this.methods[20], opt = this._transport.mergeOptions(options);\n return stackIntercept<LocksAPI_Lease_Update_Request, LocksAPI_Lease_Update_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ReleaseLease\n */\n releaseLease(input: LocksAPI_Lease_Release_Request, options?: RpcOptions): UnaryCall<LocksAPI_Lease_Release_Request, LocksAPI_Lease_Release_Response> {\n const method = this.methods[21], opt = this._transport.mergeOptions(options);\n return stackIntercept<LocksAPI_Lease_Release_Request, LocksAPI_Lease_Release_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n *\n * Authentication\n *\n *\n * @generated from protobuf rpc: AuthMethods\n */\n authMethods(input: AuthAPI_ListMethods_Request, options?: RpcOptions): UnaryCall<AuthAPI_ListMethods_Request, AuthAPI_ListMethods_Response> {\n const method = this.methods[22], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_ListMethods_Request, AuthAPI_ListMethods_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * Deprecated: Use Login for session creation and role transitions,\n * and RefreshToken for token renewal. Backends implementing this API always return\n * codes.Unimplemented. Kept here so clients can still call old backends.\n *\n * @deprecated\n * @generated from protobuf rpc: GetJWTToken\n */\n getJWTToken(input: AuthAPI_GetJWTToken_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetJWTToken_Request, AuthAPI_GetJWTToken_Response> {\n const method = this.methods[23], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_GetJWTToken_Request, AuthAPI_GetJWTToken_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * Login authenticates with the given credentials and returns a new Platforma JWT.\n * Every Login call creates a new session. Use RefreshToken to renew an existing one.\n * This method is public: no Authorization header is required.\n *\n * @generated from protobuf rpc: Login\n */\n login(input: AuthAPI_Login_Request, options?: RpcOptions): UnaryCall<AuthAPI_Login_Request, AuthAPI_Login_Response> {\n const method = this.methods[24], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_Login_Request, AuthAPI_Login_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * BeginSSOLogin returns a fresh one-time nonce that the desktop must place\n * into the OIDC auth-request before redirecting to the IdP. Used by the SSO\n * login flow. This method is public: no Authorization header is required.\n *\n * @generated from protobuf rpc: BeginSSOLogin\n */\n beginSSOLogin(input: AuthAPI_BeginSSOLogin_Request, options?: RpcOptions): UnaryCall<AuthAPI_BeginSSOLogin_Request, AuthAPI_BeginSSOLogin_Response> {\n const method = this.methods[25], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_BeginSSOLogin_Request, AuthAPI_BeginSSOLogin_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * RefreshToken accepts a valid Platforma JWT and re-issues it with the same\n * session ID and role. Only the token expiration may be changed.\n * Workflow-scoped tokens cannot be refreshed; call Login instead.\n * This method is public: no Authorization header is required.\n *\n * @generated from protobuf rpc: RefreshToken\n */\n refreshToken(input: AuthAPI_RefreshToken_Request, options?: RpcOptions): UnaryCall<AuthAPI_RefreshToken_Request, AuthAPI_RefreshToken_Response> {\n const method = this.methods[26], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_RefreshToken_Request, AuthAPI_RefreshToken_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GetSessionInfo\n */\n getSessionInfo(input: AuthAPI_GetSessionInfo_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetSessionInfo_Request, AuthAPI_GetSessionInfo_Response> {\n const method = this.methods[27], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_GetSessionInfo_Request, AuthAPI_GetSessionInfo_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GrantAccess\n */\n grantAccess(input: AuthAPI_GrantAccess_Request, options?: RpcOptions): UnaryCall<AuthAPI_GrantAccess_Request, AuthAPI_GrantAccess_Response> {\n const method = this.methods[28], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_GrantAccess_Request, AuthAPI_GrantAccess_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: RevokeAccess\n */\n revokeAccess(input: AuthAPI_RevokeAccess_Request, options?: RpcOptions): UnaryCall<AuthAPI_RevokeAccess_Request, AuthAPI_RevokeAccess_Response> {\n const method = this.methods[29], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_RevokeAccess_Request, AuthAPI_RevokeAccess_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ListGrants\n */\n listGrants(input: AuthAPI_ListGrants_Request, options?: RpcOptions): ServerStreamingCall<AuthAPI_ListGrants_Request, AuthAPI_ListGrants_Response> {\n const method = this.methods[30], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_ListGrants_Request, AuthAPI_ListGrants_Response>(\"serverStreaming\", this._transport, method, opt, input);\n }\n /**\n * MintSignature creates a resource signature bound to a target session.\n * Controllers use it during workflow bootstrap to pre-sign resources\n * so the workflow can access them under its own isolated session.\n *\n * @generated from protobuf rpc: MintSignature\n */\n mintSignature(input: AuthAPI_MintSignature_Request, options?: RpcOptions): UnaryCall<AuthAPI_MintSignature_Request, AuthAPI_MintSignature_Response> {\n const method = this.methods[31], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_MintSignature_Request, AuthAPI_MintSignature_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: GetUserRoot\n */\n getUserRoot(input: AuthAPI_GetUserRoot_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetUserRoot_Request, AuthAPI_GetUserRoot_Response> {\n const method = this.methods[32], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_GetUserRoot_Request, AuthAPI_GetUserRoot_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: ListUserResources\n */\n listUserResources(input: AuthAPI_ListUserResources_Request, options?: RpcOptions): ServerStreamingCall<AuthAPI_ListUserResources_Request, AuthAPI_ListUserResources_Response> {\n const method = this.methods[33], opt = this._transport.mergeOptions(options);\n return stackIntercept<AuthAPI_ListUserResources_Request, AuthAPI_ListUserResources_Response>(\"serverStreaming\", this._transport, method, opt, input);\n }\n /**\n *\n * Other stuff\n *\n *\n * @generated from protobuf rpc: ListResourceTypes\n */\n listResourceTypes(input: MiscAPI_ListResourceTypes_Request, options?: RpcOptions): UnaryCall<MiscAPI_ListResourceTypes_Request, MiscAPI_ListResourceTypes_Response> {\n const method = this.methods[34], opt = this._transport.mergeOptions(options);\n return stackIntercept<MiscAPI_ListResourceTypes_Request, MiscAPI_ListResourceTypes_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n *\n * Various service requests\n *\n *\n * @generated from protobuf rpc: Ping\n */\n ping(input: MaintenanceAPI_Ping_Request, options?: RpcOptions): UnaryCall<MaintenanceAPI_Ping_Request, MaintenanceAPI_Ping_Response> {\n const method = this.methods[35], opt = this._transport.mergeOptions(options);\n return stackIntercept<MaintenanceAPI_Ping_Request, MaintenanceAPI_Ping_Response>(\"unary\", this._transport, method, opt, input);\n }\n /**\n * @generated from protobuf rpc: License\n */\n license(input: MaintenanceAPI_License_Request, options?: RpcOptions): UnaryCall<MaintenanceAPI_License_Request, MaintenanceAPI_License_Response> {\n const method = this.methods[36], opt = this._transport.mergeOptions(options);\n return stackIntercept<MaintenanceAPI_License_Request, MaintenanceAPI_License_Response>(\"unary\", this._transport, method, opt, input);\n }\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AuthAPI_GetJWTToken_Request, AuthAPI_GetJWTToken_Response, AuthAPI_GetSessionInfo_Request, AuthAPI_GetSessionInfo_Response, AuthAPI_GetUserRoot_Request, AuthAPI_GetUserRoot_Response, AuthAPI_GrantAccess_Request, AuthAPI_GrantAccess_Response, AuthAPI_ListGrants_Request, AuthAPI_ListGrants_Response, AuthAPI_ListMethods_Request, AuthAPI_ListMethods_Response, AuthAPI_ListUserResources_Request, AuthAPI_ListUserResources_Response, AuthAPI_MintSignature_Request, AuthAPI_MintSignature_Response, AuthAPI_RevokeAccess_Request, AuthAPI_RevokeAccess_Response, ControllerAPI_AttachSubscription_Request, ControllerAPI_AttachSubscription_Response, ControllerAPI_ClearFeatures_Request, ControllerAPI_ClearFeatures_Response, ControllerAPI_Create_Request, ControllerAPI_Create_Response, ControllerAPI_Deregister_Request, ControllerAPI_Deregister_Response, ControllerAPI_Exists_Request, ControllerAPI_Exists_Response, ControllerAPI_GetNotifications_Request, ControllerAPI_GetNotifications_Response, ControllerAPI_GetUrl_Request, ControllerAPI_GetUrl_Response, ControllerAPI_Get_Request, ControllerAPI_Get_Response, ControllerAPI_Register_Request, ControllerAPI_Register_Response, ControllerAPI_RemoveAliasesAndUrls_Request, ControllerAPI_RemoveAliasesAndUrls_Response, ControllerAPI_SetFeatures_Request, ControllerAPI_SetFeatures_Response, ControllerAPI_Update_Request, ControllerAPI_Update_Response, ControllerAPI_WriteAliasesAndUrls_Request, ControllerAPI_WriteAliasesAndUrls_Response, LocksAPI_Lease_Create_Request, LocksAPI_Lease_Create_Response, LocksAPI_Lease_Release_Request, LocksAPI_Lease_Release_Response, LocksAPI_Lease_Update_Request, LocksAPI_Lease_Update_Response, LocksAPI_LockFieldValues_Create_Request, LocksAPI_LockFieldValues_Create_Response, MaintenanceAPI_License_Request, MaintenanceAPI_License_Response, MaintenanceAPI_Ping_Request, MaintenanceAPI_Ping_Response, MiscAPI_ListResourceTypes_Request, MiscAPI_ListResourceTypes_Response, NotificationAPI_Get_Request, NotificationAPI_Get_Response, SubscriptionAPI_AttachFilter_Request, SubscriptionAPI_AttachFilter_Response, SubscriptionAPI_DetachFilter_Request, SubscriptionAPI_DetachFilter_Response, TxAPI_ClientMessage, TxAPI_ServerMessage, TxAPI_Sync_Request, TxAPI_Sync_Response } from "./api.js";
1
+ import { AuthAPI_BeginSSOLogin_Request, AuthAPI_BeginSSOLogin_Response, AuthAPI_GetJWTToken_Request, AuthAPI_GetJWTToken_Response, AuthAPI_GetSessionInfo_Request, AuthAPI_GetSessionInfo_Response, AuthAPI_GetUserRoot_Request, AuthAPI_GetUserRoot_Response, AuthAPI_GrantAccess_Request, AuthAPI_GrantAccess_Response, AuthAPI_ListGrants_Request, AuthAPI_ListGrants_Response, AuthAPI_ListMethods_Request, AuthAPI_ListMethods_Response, AuthAPI_ListUserResources_Request, AuthAPI_ListUserResources_Response, AuthAPI_Login_Request, AuthAPI_Login_Response, AuthAPI_MintSignature_Request, AuthAPI_MintSignature_Response, AuthAPI_RefreshToken_Request, AuthAPI_RefreshToken_Response, AuthAPI_RevokeAccess_Request, AuthAPI_RevokeAccess_Response, ControllerAPI_AttachSubscription_Request, ControllerAPI_AttachSubscription_Response, ControllerAPI_ClearFeatures_Request, ControllerAPI_ClearFeatures_Response, ControllerAPI_Create_Request, ControllerAPI_Create_Response, ControllerAPI_Deregister_Request, ControllerAPI_Deregister_Response, ControllerAPI_Exists_Request, ControllerAPI_Exists_Response, ControllerAPI_GetNotifications_Request, ControllerAPI_GetNotifications_Response, ControllerAPI_GetUrl_Request, ControllerAPI_GetUrl_Response, ControllerAPI_Get_Request, ControllerAPI_Get_Response, ControllerAPI_Register_Request, ControllerAPI_Register_Response, ControllerAPI_RemoveAliasesAndUrls_Request, ControllerAPI_RemoveAliasesAndUrls_Response, ControllerAPI_SetFeatures_Request, ControllerAPI_SetFeatures_Response, ControllerAPI_Update_Request, ControllerAPI_Update_Response, ControllerAPI_WriteAliasesAndUrls_Request, ControllerAPI_WriteAliasesAndUrls_Response, LocksAPI_Lease_Create_Request, LocksAPI_Lease_Create_Response, LocksAPI_Lease_Release_Request, LocksAPI_Lease_Release_Response, LocksAPI_Lease_Update_Request, LocksAPI_Lease_Update_Response, LocksAPI_LockFieldValues_Create_Request, LocksAPI_LockFieldValues_Create_Response, MaintenanceAPI_License_Request, MaintenanceAPI_License_Response, MaintenanceAPI_Ping_Request, MaintenanceAPI_Ping_Response, MiscAPI_ListResourceTypes_Request, MiscAPI_ListResourceTypes_Response, NotificationAPI_Get_Request, NotificationAPI_Get_Response, SubscriptionAPI_AttachFilter_Request, SubscriptionAPI_AttachFilter_Response, SubscriptionAPI_DetachFilter_Request, SubscriptionAPI_DetachFilter_Response, TxAPI_ClientMessage, TxAPI_ServerMessage, TxAPI_Sync_Request, TxAPI_Sync_Response } from "./api.js";
2
2
  import * as _$_protobuf_ts_runtime_rpc0 from "@protobuf-ts/runtime-rpc";
3
3
  import { DuplexStreamingCall, RpcOptions, RpcTransport, ServerStreamingCall, ServiceInfo, UnaryCall } from "@protobuf-ts/runtime-rpc";
4
4
  import * as _$_protobuf_ts_runtime0 from "@protobuf-ts/runtime";
@@ -136,9 +136,39 @@ interface IPlatformClient {
136
136
  */
137
137
  authMethods(input: AuthAPI_ListMethods_Request, options?: RpcOptions): UnaryCall<AuthAPI_ListMethods_Request, AuthAPI_ListMethods_Response>;
138
138
  /**
139
+ * Deprecated: Use Login for session creation and role transitions,
140
+ * and RefreshToken for token renewal. Backends implementing this API always return
141
+ * codes.Unimplemented. Kept here so clients can still call old backends.
142
+ *
143
+ * @deprecated
139
144
  * @generated from protobuf rpc: GetJWTToken
140
145
  */
141
146
  getJWTToken(input: AuthAPI_GetJWTToken_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetJWTToken_Request, AuthAPI_GetJWTToken_Response>;
147
+ /**
148
+ * Login authenticates with the given credentials and returns a new Platforma JWT.
149
+ * Every Login call creates a new session. Use RefreshToken to renew an existing one.
150
+ * This method is public: no Authorization header is required.
151
+ *
152
+ * @generated from protobuf rpc: Login
153
+ */
154
+ login(input: AuthAPI_Login_Request, options?: RpcOptions): UnaryCall<AuthAPI_Login_Request, AuthAPI_Login_Response>;
155
+ /**
156
+ * BeginSSOLogin returns a fresh one-time nonce that the desktop must place
157
+ * into the OIDC auth-request before redirecting to the IdP. Used by the SSO
158
+ * login flow. This method is public: no Authorization header is required.
159
+ *
160
+ * @generated from protobuf rpc: BeginSSOLogin
161
+ */
162
+ beginSSOLogin(input: AuthAPI_BeginSSOLogin_Request, options?: RpcOptions): UnaryCall<AuthAPI_BeginSSOLogin_Request, AuthAPI_BeginSSOLogin_Response>;
163
+ /**
164
+ * RefreshToken accepts a valid Platforma JWT and re-issues it with the same
165
+ * session ID and role. Only the token expiration may be changed.
166
+ * Workflow-scoped tokens cannot be refreshed; call Login instead.
167
+ * This method is public: no Authorization header is required.
168
+ *
169
+ * @generated from protobuf rpc: RefreshToken
170
+ */
171
+ refreshToken(input: AuthAPI_RefreshToken_Request, options?: RpcOptions): UnaryCall<AuthAPI_RefreshToken_Request, AuthAPI_RefreshToken_Response>;
142
172
  /**
143
173
  * @generated from protobuf rpc: GetSessionInfo
144
174
  */
@@ -331,9 +361,39 @@ declare class PlatformClient implements IPlatformClient, ServiceInfo {
331
361
  */
332
362
  authMethods(input: AuthAPI_ListMethods_Request, options?: RpcOptions): UnaryCall<AuthAPI_ListMethods_Request, AuthAPI_ListMethods_Response>;
333
363
  /**
364
+ * Deprecated: Use Login for session creation and role transitions,
365
+ * and RefreshToken for token renewal. Backends implementing this API always return
366
+ * codes.Unimplemented. Kept here so clients can still call old backends.
367
+ *
368
+ * @deprecated
334
369
  * @generated from protobuf rpc: GetJWTToken
335
370
  */
336
371
  getJWTToken(input: AuthAPI_GetJWTToken_Request, options?: RpcOptions): UnaryCall<AuthAPI_GetJWTToken_Request, AuthAPI_GetJWTToken_Response>;
372
+ /**
373
+ * Login authenticates with the given credentials and returns a new Platforma JWT.
374
+ * Every Login call creates a new session. Use RefreshToken to renew an existing one.
375
+ * This method is public: no Authorization header is required.
376
+ *
377
+ * @generated from protobuf rpc: Login
378
+ */
379
+ login(input: AuthAPI_Login_Request, options?: RpcOptions): UnaryCall<AuthAPI_Login_Request, AuthAPI_Login_Response>;
380
+ /**
381
+ * BeginSSOLogin returns a fresh one-time nonce that the desktop must place
382
+ * into the OIDC auth-request before redirecting to the IdP. Used by the SSO
383
+ * login flow. This method is public: no Authorization header is required.
384
+ *
385
+ * @generated from protobuf rpc: BeginSSOLogin
386
+ */
387
+ beginSSOLogin(input: AuthAPI_BeginSSOLogin_Request, options?: RpcOptions): UnaryCall<AuthAPI_BeginSSOLogin_Request, AuthAPI_BeginSSOLogin_Response>;
388
+ /**
389
+ * RefreshToken accepts a valid Platforma JWT and re-issues it with the same
390
+ * session ID and role. Only the token expiration may be changed.
391
+ * Workflow-scoped tokens cannot be refreshed; call Login instead.
392
+ * This method is public: no Authorization header is required.
393
+ *
394
+ * @generated from protobuf rpc: RefreshToken
395
+ */
396
+ refreshToken(input: AuthAPI_RefreshToken_Request, options?: RpcOptions): UnaryCall<AuthAPI_RefreshToken_Request, AuthAPI_RefreshToken_Response>;
337
397
  /**
338
398
  * @generated from protobuf rpc: GetSessionInfo
339
399
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api.client.d.ts","names":[],"sources":["../../../../../../../src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.ts"],"mappings":"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"}
1
+ {"version":3,"file":"api.client.d.ts","names":[],"sources":["../../../../../../../src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.ts"],"mappings":"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"}
@@ -208,6 +208,11 @@ var PlatformClient = class {
208
208
  return stackIntercept("unary", this._transport, method, opt, input);
209
209
  }
210
210
  /**
211
+ * Deprecated: Use Login for session creation and role transitions,
212
+ * and RefreshToken for token renewal. Backends implementing this API always return
213
+ * codes.Unimplemented. Kept here so clients can still call old backends.
214
+ *
215
+ * @deprecated
211
216
  * @generated from protobuf rpc: GetJWTToken
212
217
  */
213
218
  getJWTToken(input, options) {
@@ -215,31 +220,65 @@ var PlatformClient = class {
215
220
  return stackIntercept("unary", this._transport, method, opt, input);
216
221
  }
217
222
  /**
223
+ * Login authenticates with the given credentials and returns a new Platforma JWT.
224
+ * Every Login call creates a new session. Use RefreshToken to renew an existing one.
225
+ * This method is public: no Authorization header is required.
226
+ *
227
+ * @generated from protobuf rpc: Login
228
+ */
229
+ login(input, options) {
230
+ const method = this.methods[24], opt = this._transport.mergeOptions(options);
231
+ return stackIntercept("unary", this._transport, method, opt, input);
232
+ }
233
+ /**
234
+ * BeginSSOLogin returns a fresh one-time nonce that the desktop must place
235
+ * into the OIDC auth-request before redirecting to the IdP. Used by the SSO
236
+ * login flow. This method is public: no Authorization header is required.
237
+ *
238
+ * @generated from protobuf rpc: BeginSSOLogin
239
+ */
240
+ beginSSOLogin(input, options) {
241
+ const method = this.methods[25], opt = this._transport.mergeOptions(options);
242
+ return stackIntercept("unary", this._transport, method, opt, input);
243
+ }
244
+ /**
245
+ * RefreshToken accepts a valid Platforma JWT and re-issues it with the same
246
+ * session ID and role. Only the token expiration may be changed.
247
+ * Workflow-scoped tokens cannot be refreshed; call Login instead.
248
+ * This method is public: no Authorization header is required.
249
+ *
250
+ * @generated from protobuf rpc: RefreshToken
251
+ */
252
+ refreshToken(input, options) {
253
+ const method = this.methods[26], opt = this._transport.mergeOptions(options);
254
+ return stackIntercept("unary", this._transport, method, opt, input);
255
+ }
256
+ /**
218
257
  * @generated from protobuf rpc: GetSessionInfo
219
258
  */
220
259
  getSessionInfo(input, options) {
221
- const method = this.methods[24], opt = this._transport.mergeOptions(options);
260
+ const method = this.methods[27], opt = this._transport.mergeOptions(options);
222
261
  return stackIntercept("unary", this._transport, method, opt, input);
223
262
  }
224
263
  /**
225
264
  * @generated from protobuf rpc: GrantAccess
226
265
  */
227
266
  grantAccess(input, options) {
228
- const method = this.methods[25], opt = this._transport.mergeOptions(options);
267
+ const method = this.methods[28], opt = this._transport.mergeOptions(options);
229
268
  return stackIntercept("unary", this._transport, method, opt, input);
230
269
  }
231
270
  /**
232
271
  * @generated from protobuf rpc: RevokeAccess
233
272
  */
234
273
  revokeAccess(input, options) {
235
- const method = this.methods[26], opt = this._transport.mergeOptions(options);
274
+ const method = this.methods[29], opt = this._transport.mergeOptions(options);
236
275
  return stackIntercept("unary", this._transport, method, opt, input);
237
276
  }
238
277
  /**
239
278
  * @generated from protobuf rpc: ListGrants
240
279
  */
241
280
  listGrants(input, options) {
242
- const method = this.methods[27], opt = this._transport.mergeOptions(options);
281
+ const method = this.methods[30], opt = this._transport.mergeOptions(options);
243
282
  return stackIntercept("serverStreaming", this._transport, method, opt, input);
244
283
  }
245
284
  /**
@@ -250,21 +289,21 @@ var PlatformClient = class {
250
289
  * @generated from protobuf rpc: MintSignature
251
290
  */
252
291
  mintSignature(input, options) {
253
- const method = this.methods[28], opt = this._transport.mergeOptions(options);
292
+ const method = this.methods[31], opt = this._transport.mergeOptions(options);
254
293
  return stackIntercept("unary", this._transport, method, opt, input);
255
294
  }
256
295
  /**
257
296
  * @generated from protobuf rpc: GetUserRoot
258
297
  */
259
298
  getUserRoot(input, options) {
260
- const method = this.methods[29], opt = this._transport.mergeOptions(options);
299
+ const method = this.methods[32], opt = this._transport.mergeOptions(options);
261
300
  return stackIntercept("unary", this._transport, method, opt, input);
262
301
  }
263
302
  /**
264
303
  * @generated from protobuf rpc: ListUserResources
265
304
  */
266
305
  listUserResources(input, options) {
267
- const method = this.methods[30], opt = this._transport.mergeOptions(options);
306
+ const method = this.methods[33], opt = this._transport.mergeOptions(options);
268
307
  return stackIntercept("serverStreaming", this._transport, method, opt, input);
269
308
  }
270
309
  /**
@@ -275,7 +314,7 @@ var PlatformClient = class {
275
314
  * @generated from protobuf rpc: ListResourceTypes
276
315
  */
277
316
  listResourceTypes(input, options) {
278
- const method = this.methods[31], opt = this._transport.mergeOptions(options);
317
+ const method = this.methods[34], opt = this._transport.mergeOptions(options);
279
318
  return stackIntercept("unary", this._transport, method, opt, input);
280
319
  }
281
320
  /**
@@ -286,14 +325,14 @@ var PlatformClient = class {
286
325
  * @generated from protobuf rpc: Ping
287
326
  */
288
327
  ping(input, options) {
289
- const method = this.methods[32], opt = this._transport.mergeOptions(options);
328
+ const method = this.methods[35], opt = this._transport.mergeOptions(options);
290
329
  return stackIntercept("unary", this._transport, method, opt, input);
291
330
  }
292
331
  /**
293
332
  * @generated from protobuf rpc: License
294
333
  */
295
334
  license(input, options) {
296
- const method = this.methods[33], opt = this._transport.mergeOptions(options);
335
+ const method = this.methods[36], opt = this._transport.mergeOptions(options);
297
336
  return stackIntercept("unary", this._transport, method, opt, input);
298
337
  }
299
338
  };