infrawrench-sdk 1.13.0 → 1.14.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe82c9ffcd03c219b43a54d621c17d764bf016082c3690c1c330d3fb51a89eb2
4
- data.tar.gz: f128050bb920aab571400145b812bcba3f660591cd36a5797686f46d8098e369
3
+ metadata.gz: c947d74d37069573fb9534ab1665a9ebcef67ad271943d690f1474ef27eb1913
4
+ data.tar.gz: 7b44c470da3df84fe8d0dbb39a253a0c30ab8a9bfb980bd2c4b1958c370b7b63
5
5
  SHA512:
6
- metadata.gz: 10437ca09c7ead9e234342793c2b64bec369b50987aa2477462804250446c8b3b2fcb10b59f2025f7c7ad1b45b6a21ab7219b23378d7f520dea6b9aae7f7e6a6
7
- data.tar.gz: 5e2c48172ce7b220f845f7f5480b30f17fc14b351afc0dd3c0d0372bba6b8c9e77f27a5ab27cf191dcb8181eafc494545632ec59a9547a5afa28002c22de2cea
6
+ metadata.gz: 2e314cc1ca73c8c0603ab5109e692215734058d3d5b412abe75e43debcc22952443e76820c0fdb90dcd9d66fe63a02c42e52496049b3d148a74e0d8161ad180c
7
+ data.tar.gz: '087ba4da5d3ab0ec9cf77f7aebdef7ee8af0dbc0911ea86b1ffbf0692e481107bf7061de81b627bd606ab56334470c6603e04fe4e6e3d0f0358f1eac8a8c3347'
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # infrawrench-sdk
2
2
 
3
- Generated Ruby client for the Infrawrench API (API version `1.13.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.14.0`).
4
4
 
5
5
  **Do not edit this gem by hand** — it is regenerated from `openapi.json` and is
6
6
  not checked into the repository. Run
@@ -41,7 +41,7 @@ Every method takes an optional trailing `request_options:` hash (`:headers`,
41
41
  Responses are the plain `Hash`/`Array` that `JSON.parse` returns, with String
42
42
  keys spelled exactly as the wire spells them. There are no model classes — see
43
43
  [`sig/infrawrench/sdk.rbs`](./sig/infrawrench/sdk.rbs) for the shape of every one of the
44
- 565 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 573 schemas, as RBS type aliases that steep and TypeProf can read.
45
45
 
46
46
  Non-2xx responses raise `Infrawrench::ApiError`, which carries `#status`,
47
47
  the parsed `#body`, and the machine-readable `#code` when the API sends one —
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.13.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
4
4
  # https://github.com/Infrawrench/Infrawrench
5
5
  #
6
- # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.13.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.14.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -17,8 +17,8 @@ require_relative "lib/infrawrench/version"
17
17
  Gem::Specification.new do |spec|
18
18
  spec.name = "infrawrench-sdk"
19
19
  spec.version = Infrawrench::VERSION
20
- spec.summary = "Generated Ruby client for the Infrawrench API (v1.13.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.13.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
20
+ spec.summary = "Generated Ruby client for the Infrawrench API (v1.14.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.14.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
22
22
  spec.authors = ["Infrawrench LLC", "Astrid Gealer"]
23
23
  spec.email = ["astrid@infrawrench.com"]
24
24
  spec.homepage = "https://infrawrench.com/docs/team-and-billing/client-sdks"
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.13.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
4
4
  # https://github.com/Infrawrench/Infrawrench
5
5
  #
6
- # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.13.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.14.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -11075,6 +11075,435 @@ module Infrawrench
11075
11075
  end
11076
11076
  end
11077
11077
 
11078
+ # `client.shared_consoles.invites`
11079
+ class SharedConsolesInvitesNamespace
11080
+ # @api private
11081
+ # @param transport [Transport]
11082
+ def initialize(transport)
11083
+ @transport = transport
11084
+ end
11085
+
11086
+ # Mint a replacement invite
11087
+ #
11088
+ # An invite is spent by the first person it admits, so inviting a second
11089
+ # guest means minting a second link. Replaces any outstanding one. Sharer or
11090
+ # `org:settings:write`.
11091
+ #
11092
+ # POST /api/org/{orgId}/shared-consoles/{consoleId}/invites
11093
+ #
11094
+ # Raises on 403: Forbidden
11095
+ #
11096
+ # Raises on 404: Not found
11097
+ #
11098
+ # Raises on 409: Conflict
11099
+ #
11100
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11101
+ # constructed with.
11102
+ # @param console_id [String]
11103
+ # @param body [Hash, nil] Request body, shaped as `Hash`.
11104
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11105
+ # @return [Hash] Parsed JSON, shaped as `SharedConsoleCreated` — see
11106
+ # `sig/infrawrench/sdk.rbs`.
11107
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11108
+ def create(console_id:, org_id: nil, body: nil, request_options: nil)
11109
+ @transport.request(
11110
+ http_method: "POST",
11111
+ path: "/api/org/{orgId}/shared-consoles/{consoleId}/invites",
11112
+ path_params: { "orgId" => org_id, "consoleId" => console_id },
11113
+ body: body,
11114
+ request_options: request_options
11115
+ )
11116
+ end
11117
+
11118
+ # Withdraw the outstanding invite
11119
+ #
11120
+ # Kills the link without touching the session or anyone already on it.
11121
+ #
11122
+ # DELETE /api/org/{orgId}/shared-consoles/{consoleId}/invites
11123
+ #
11124
+ # Raises on 403: Forbidden
11125
+ #
11126
+ # Raises on 404: Not found
11127
+ #
11128
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11129
+ # constructed with.
11130
+ # @param console_id [String]
11131
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11132
+ # @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
11133
+ # `sig/infrawrench/sdk.rbs`.
11134
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11135
+ def delete(console_id:, org_id: nil, request_options: nil)
11136
+ @transport.request(
11137
+ http_method: "DELETE",
11138
+ path: "/api/org/{orgId}/shared-consoles/{consoleId}/invites",
11139
+ path_params: { "orgId" => org_id, "consoleId" => console_id },
11140
+ request_options: request_options
11141
+ )
11142
+ end
11143
+
11144
+ # Preview what an invite link points at
11145
+ #
11146
+ # What the join screen shows before anyone commits: which host, whose
11147
+ # session, and whether you may join it. Reachable with a valid token by a
11148
+ # signed-in member who already holds `resources:execute` — the token says
11149
+ # *which* session, never *whether*. Returns nothing from the session itself.
11150
+ #
11151
+ # _Requires permission: `resources:execute`._
11152
+ #
11153
+ # GET /api/org/{orgId}/shared-consoles/invites/{token}
11154
+ #
11155
+ # Raises on 404: Not found
11156
+ #
11157
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11158
+ # constructed with.
11159
+ # @param token [String]
11160
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11161
+ # @return [Hash] Parsed JSON, shaped as `SharedConsoleInvitePreview` — see
11162
+ # `sig/infrawrench/sdk.rbs`.
11163
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11164
+ def get(token:, org_id: nil, request_options: nil)
11165
+ @transport.request(
11166
+ http_method: "GET",
11167
+ path: "/api/org/{orgId}/shared-consoles/invites/{token}",
11168
+ path_params: { "orgId" => org_id, "token" => token },
11169
+ request_options: request_options
11170
+ )
11171
+ end
11172
+ end
11173
+
11174
+ # `client.shared_consoles.participants`
11175
+ class SharedConsolesParticipantsNamespace
11176
+ # @api private
11177
+ # @param transport [Transport]
11178
+ def initialize(transport)
11179
+ @transport = transport
11180
+ end
11181
+
11182
+ # Remove somebody from a shared console
11183
+ #
11184
+ # Their socket is closed immediately on the replica holding the pty, and
11185
+ # within one two-second sweep on any other. They are marked `removed` rather
11186
+ # than `left`, so they cannot resume without a fresh invite. The sharer
11187
+ # cannot be removed — revoke the share.
11188
+ #
11189
+ # DELETE
11190
+ # /api/org/{orgId}/shared-consoles/{consoleId}/participants/{participantId}
11191
+ #
11192
+ # Raises on 403: Forbidden
11193
+ #
11194
+ # Raises on 404: Not found
11195
+ #
11196
+ # Raises on 409: Conflict
11197
+ #
11198
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11199
+ # constructed with.
11200
+ # @param console_id [String]
11201
+ # @param participant_id [String]
11202
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11203
+ # @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
11204
+ # `sig/infrawrench/sdk.rbs`.
11205
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11206
+ def delete(console_id:, participant_id:, org_id: nil, request_options: nil)
11207
+ @transport.request(
11208
+ http_method: "DELETE",
11209
+ path: "/api/org/{orgId}/shared-consoles/{consoleId}/participants/{participantId}",
11210
+ path_params: {
11211
+ "orgId" => org_id,
11212
+ "consoleId" => console_id,
11213
+ "participantId" => participant_id
11214
+ },
11215
+ request_options: request_options
11216
+ )
11217
+ end
11218
+ end
11219
+
11220
+ # `client.shared_consoles`
11221
+ class SharedConsolesNamespace
11222
+ # @return [SharedConsolesInvitesNamespace] `client.shared_consoles.invites`
11223
+ attr_reader :invites
11224
+ # @return [SharedConsolesParticipantsNamespace] `client.shared_consoles.participants`
11225
+ attr_reader :participants
11226
+
11227
+ # @api private
11228
+ # @param transport [Transport]
11229
+ def initialize(transport)
11230
+ @transport = transport
11231
+ @invites = SharedConsolesInvitesNamespace.new(@transport)
11232
+ @participants = SharedConsolesParticipantsNamespace.new(@transport)
11233
+ end
11234
+
11235
+ # Share a live SSH session
11236
+ #
11237
+ # Opens a share on a session you already have running and mints its first
11238
+ # invite. You become the driver.
11239
+ #
11240
+ # Returns 409 `console_not_here` when the pty is held by a different server
11241
+ # replica than the one answering this call — reopen the terminal and share
11242
+ # again. Writing the share anyway would produce a link that authorises
11243
+ # correctly and then finds nothing to attach to.
11244
+ #
11245
+ # Requires `resources:execute` — the same permission as opening the
11246
+ # terminal. Closed to API keys: sharing a shell is an act a person performs.
11247
+ #
11248
+ # _Requires permission: `resources:execute`._
11249
+ #
11250
+ # POST /api/org/{orgId}/shared-consoles
11251
+ #
11252
+ # Raises on 400: Bad request
11253
+ #
11254
+ # Raises on 404: Not found
11255
+ #
11256
+ # Raises on 409: Conflict
11257
+ #
11258
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11259
+ # constructed with.
11260
+ # @param body [Hash, nil] Request body, shaped as `CreateSharedConsole`.
11261
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11262
+ # @return [Hash] Parsed JSON, shaped as `SharedConsoleCreated` — see
11263
+ # `sig/infrawrench/sdk.rbs`.
11264
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11265
+ def create(org_id: nil, body: nil, request_options: nil)
11266
+ @transport.request(
11267
+ http_method: "POST",
11268
+ path: "/api/org/{orgId}/shared-consoles",
11269
+ path_params: { "orgId" => org_id },
11270
+ body: body,
11271
+ request_options: request_options
11272
+ )
11273
+ end
11274
+
11275
+ # Revoke a share
11276
+ #
11277
+ # Disconnects every guest and stops the fan-out. The sharer's own SSH
11278
+ # session carries on — revoking a share is not killing a terminal.
11279
+ #
11280
+ # The sharer or a holder of `org:settings:write`. Deliberately does **not**
11281
+ # require `resources:execute`: ending access must never be gated on still
11282
+ # holding the access, or an owner whose role was narrowed mid-incident could
11283
+ # not close the session they opened.
11284
+ #
11285
+ # DELETE /api/org/{orgId}/shared-consoles/{consoleId}
11286
+ #
11287
+ # Raises on 403: Forbidden
11288
+ #
11289
+ # Raises on 404: Not found
11290
+ #
11291
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11292
+ # constructed with.
11293
+ # @param console_id [String]
11294
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11295
+ # @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
11296
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11297
+ def delete(console_id:, org_id: nil, request_options: nil)
11298
+ @transport.request(
11299
+ http_method: "DELETE",
11300
+ path: "/api/org/{orgId}/shared-consoles/{consoleId}",
11301
+ path_params: { "orgId" => org_id, "consoleId" => console_id },
11302
+ request_options: request_options
11303
+ )
11304
+ end
11305
+
11306
+ # Get one shared console
11307
+ #
11308
+ # Visible to participants and to anyone who could revoke it (the sharer, or
11309
+ # a holder of `org:settings:write`). Others get 404 — that a named colleague
11310
+ # has a root shell open on a named production host right now is operational
11311
+ # information.
11312
+ #
11313
+ # _Requires permission: `resources:execute`._
11314
+ #
11315
+ # GET /api/org/{orgId}/shared-consoles/{consoleId}
11316
+ #
11317
+ # Raises on 404: Not found
11318
+ #
11319
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11320
+ # constructed with.
11321
+ # @param console_id [String]
11322
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11323
+ # @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
11324
+ # `sig/infrawrench/sdk.rbs`.
11325
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11326
+ def get(console_id:, org_id: nil, request_options: nil)
11327
+ @transport.request(
11328
+ http_method: "GET",
11329
+ path: "/api/org/{orgId}/shared-consoles/{consoleId}",
11330
+ path_params: { "orgId" => org_id, "consoleId" => console_id },
11331
+ request_options: request_options
11332
+ )
11333
+ end
11334
+
11335
+ # Move the keyboard to another participant
11336
+ #
11337
+ # Authorised by the **current driver** (the keyboard is theirs to give) or
11338
+ # by the **sharer** (it is their box, and asking permission from somebody
11339
+ # who has stopped responding is not a control). An observer cannot promote
11340
+ # themselves — that is `/request-driver`.
11341
+ #
11342
+ # Two simultaneous grants cannot both win: the database's partial unique
11343
+ # index decides the order, and the loser gets 409 `driver-race-lost`.
11344
+ #
11345
+ # The pty resizes to the new driver's viewport; everyone else letterboxes.
11346
+ #
11347
+ # _Requires permission: `resources:execute`._
11348
+ #
11349
+ # POST /api/org/{orgId}/shared-consoles/{consoleId}/handover
11350
+ #
11351
+ # Raises on 400: Bad request
11352
+ #
11353
+ # Raises on 403: Forbidden
11354
+ #
11355
+ # Raises on 404: Not found
11356
+ #
11357
+ # Raises on 409: Conflict
11358
+ #
11359
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11360
+ # constructed with.
11361
+ # @param console_id [String]
11362
+ # @param body [Hash, nil] Request body, shaped as `Hash`.
11363
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11364
+ # @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
11365
+ # `sig/infrawrench/sdk.rbs`.
11366
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11367
+ def handover(console_id:, org_id: nil, body: nil, request_options: nil)
11368
+ @transport.request(
11369
+ http_method: "POST",
11370
+ path: "/api/org/{orgId}/shared-consoles/{consoleId}/handover",
11371
+ path_params: { "orgId" => org_id, "consoleId" => console_id },
11372
+ body: body,
11373
+ request_options: request_options
11374
+ )
11375
+ end
11376
+
11377
+ # Redeem an invite and join
11378
+ #
11379
+ # Admission needs live org membership **and** `resources:execute` — the
11380
+ # invite is a locator, never a capability, so a leaked link admits nobody
11381
+ # who could not have opened the shell themselves.
11382
+ #
11383
+ # The invite is consumed by the first person it admits. Somebody already on
11384
+ # the console resumes their own row without a token, so a reload costs them
11385
+ # nothing and obliges the sharer to mint nothing. New joiners always start
11386
+ # as observers whatever the link said.
11387
+ #
11388
+ # Audit-logged as `shared_console.join`, and written onto the recording's
11389
+ # timeline as an asciicast marker.
11390
+ #
11391
+ # _Requires permission: `resources:execute`._
11392
+ #
11393
+ # POST /api/org/{orgId}/shared-consoles/{consoleId}/join
11394
+ #
11395
+ # Raises on 400: Bad request
11396
+ #
11397
+ # Raises on 403: Forbidden
11398
+ #
11399
+ # Raises on 404: Not found
11400
+ #
11401
+ # Raises on 409: Conflict
11402
+ #
11403
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11404
+ # constructed with.
11405
+ # @param console_id [String]
11406
+ # @param body [Hash, nil] Request body, shaped as `Hash`.
11407
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11408
+ # @return [Hash] Parsed JSON, shaped as `SharedConsoleJoined` — see
11409
+ # `sig/infrawrench/sdk.rbs`.
11410
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11411
+ def join(console_id:, org_id: nil, body: nil, request_options: nil)
11412
+ @transport.request(
11413
+ http_method: "POST",
11414
+ path: "/api/org/{orgId}/shared-consoles/{consoleId}/join",
11415
+ path_params: { "orgId" => org_id, "consoleId" => console_id },
11416
+ body: body,
11417
+ request_options: request_options
11418
+ )
11419
+ end
11420
+
11421
+ # Leave a shared console
11422
+ #
11423
+ # Steps you off without ending the session. Your row survives, so the same
11424
+ # invite is not needed again. Deliberately does not require
11425
+ # `resources:execute`: giving access up must never be gated on still holding
11426
+ # it.
11427
+ #
11428
+ # POST /api/org/{orgId}/shared-consoles/{consoleId}/leave
11429
+ #
11430
+ # Raises on 404: Not found
11431
+ #
11432
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11433
+ # constructed with.
11434
+ # @param console_id [String]
11435
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11436
+ # @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
11437
+ # `sig/infrawrench/sdk.rbs`.
11438
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11439
+ def leave(console_id:, org_id: nil, request_options: nil)
11440
+ @transport.request(
11441
+ http_method: "POST",
11442
+ path: "/api/org/{orgId}/shared-consoles/{consoleId}/leave",
11443
+ path_params: { "orgId" => org_id, "consoleId" => console_id },
11444
+ request_options: request_options
11445
+ )
11446
+ end
11447
+
11448
+ # List sessions currently shared
11449
+ #
11450
+ # Live shared SSH sessions in this organization, with who is on each. Only
11451
+ # cloud SSH can be shared: those sessions are already proxied by the server,
11452
+ # so fanning the pty out to a second socket is a consumer of a stream it
11453
+ # holds. A desktop session dialling a host directly never reaches the server
11454
+ # and cannot be shared.
11455
+ #
11456
+ # _Requires permission: `resources:execute`._
11457
+ #
11458
+ # GET /api/org/{orgId}/shared-consoles
11459
+ #
11460
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11461
+ # constructed with.
11462
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11463
+ # @return [Array<Hash>] Parsed JSON, shaped as `Array<SharedConsoleSummary>` — see
11464
+ # `sig/infrawrench/sdk.rbs`.
11465
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11466
+ def list(org_id: nil, request_options: nil)
11467
+ @transport.request(
11468
+ http_method: "GET",
11469
+ path: "/api/org/{orgId}/shared-consoles",
11470
+ path_params: { "orgId" => org_id },
11471
+ request_options: request_options
11472
+ )
11473
+ end
11474
+
11475
+ # Ask for the keyboard
11476
+ #
11477
+ # Raises a flag the driver and the sharer can see. Grants nothing on its own
11478
+ # — that is the point.
11479
+ #
11480
+ # _Requires permission: `resources:execute`._
11481
+ #
11482
+ # POST /api/org/{orgId}/shared-consoles/{consoleId}/request-driver
11483
+ #
11484
+ # Raises on 403: Forbidden
11485
+ #
11486
+ # Raises on 404: Not found
11487
+ #
11488
+ # Raises on 409: Conflict
11489
+ #
11490
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
11491
+ # constructed with.
11492
+ # @param console_id [String]
11493
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
11494
+ # @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
11495
+ # `sig/infrawrench/sdk.rbs`.
11496
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
11497
+ def request_driver(console_id:, org_id: nil, request_options: nil)
11498
+ @transport.request(
11499
+ http_method: "POST",
11500
+ path: "/api/org/{orgId}/shared-consoles/{consoleId}/request-driver",
11501
+ path_params: { "orgId" => org_id, "consoleId" => console_id },
11502
+ request_options: request_options
11503
+ )
11504
+ end
11505
+ end
11506
+
11078
11507
  # `client.slack.channels`
11079
11508
  class SlackChannelsNamespace
11080
11509
  # @api private
@@ -12929,6 +13358,8 @@ module Infrawrench
12929
13358
  attr_reader :session_recordings
12930
13359
  # @return [SftpNamespace] `client.sftp`
12931
13360
  attr_reader :sftp
13361
+ # @return [SharedConsolesNamespace] `client.shared_consoles`
13362
+ attr_reader :shared_consoles
12932
13363
  # @return [SlackNamespace] `client.slack`
12933
13364
  attr_reader :slack
12934
13365
  # @return [SqlNamespace] `client.sql`
@@ -13029,6 +13460,7 @@ module Infrawrench
13029
13460
  @search = SearchNamespace.new(@transport)
13030
13461
  @session_recordings = SessionRecordingsNamespace.new(@transport)
13031
13462
  @sftp = SftpNamespace.new(@transport)
13463
+ @shared_consoles = SharedConsolesNamespace.new(@transport)
13032
13464
  @slack = SlackNamespace.new(@transport)
13033
13465
  @sql = SqlNamespace.new(@transport)
13034
13466
  @ssh_fanout = SshFanoutNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.13.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
4
4
  # https://github.com/Infrawrench/Infrawrench
5
5
  #
6
- # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.13.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.14.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.13.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
4
4
  # https://github.com/Infrawrench/Infrawrench
5
5
  #
6
- # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.13.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.14.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.13.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
4
4
  # https://github.com/Infrawrench/Infrawrench
5
5
  #
6
- # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.13.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.14.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -15,5 +15,5 @@
15
15
  # Kept in its own file so the gemspec can read the version without loading the
16
16
  # client — a gemspec that pulls in net/http is a gemspec that can fail to parse.
17
17
  module Infrawrench
18
- VERSION = "1.13.0"
18
+ VERSION = "1.14.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.13.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
4
4
  # https://github.com/Infrawrench/Infrawrench
5
5
  #
6
- # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.13.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.14.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1,7 +1,7 @@
1
- # infrawrench-sdk v1.13.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
2
2
  # https://github.com/Infrawrench/Infrawrench
3
3
  #
4
- # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.13.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.14.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1727,6 +1727,14 @@ module Infrawrench
1727
1727
  # Spec schema: `CreateResourceResponse`.
1728
1728
  type create_resource_response = { "id" => resource_id, "displayName" => String, ?"warnings" => Array[String] }
1729
1729
 
1730
+ # Spec schema: `CreateSharedConsole`.
1731
+ type create_shared_console = {
1732
+ "liveConsoleId" => String,
1733
+ "routingKey" => String,
1734
+ ?"allowHandover" => bool,
1735
+ ?"inviteTtlMinutes" => Integer
1736
+ }
1737
+
1730
1738
  # Spec schema: `CreateWidgetRequest`.
1731
1739
  type create_widget_request = {
1732
1740
  "dashboardId" => String,
@@ -5061,6 +5069,15 @@ module Infrawrench
5061
5069
  "cols" => Integer,
5062
5070
  "rows" => Integer,
5063
5071
  "hasInput" => bool,
5072
+ ?"sharedConsoleId" => String | nil,
5073
+ ?"participants" => Array[{
5074
+ "userId" => String | nil,
5075
+ "userName" => String | nil,
5076
+ "role" => "observer" | "driver",
5077
+ "joinedAt" => String,
5078
+ "leftAt" => String | nil
5079
+ }]
5080
+ | nil,
5064
5081
  "status" => "recording" | "complete" | "truncated" | "abandoned",
5065
5082
  "outputBytes" => Integer,
5066
5083
  "eventCount" => Integer,
@@ -5129,6 +5146,69 @@ module Infrawrench
5129
5146
  ?"sshUsername" => String
5130
5147
  }
5131
5148
 
5149
+ # Spec schema: `SharedConsole`.
5150
+ type shared_console = {
5151
+ "id" => String,
5152
+ "routingKey" => String,
5153
+ "ownerUserId" => String | nil,
5154
+ "ownerName" => String | nil,
5155
+ "accountId" => String | nil,
5156
+ "resourceId" => String | nil,
5157
+ "host" => String,
5158
+ "port" => Integer,
5159
+ "username" => String,
5160
+ "allowHandover" => bool,
5161
+ "status" => "active" | "revoked" | "ended",
5162
+ "inviteTokenPrefix" => String | nil,
5163
+ "inviteExpiresAt" => String | nil,
5164
+ "inviteConsumedAt" => String | nil,
5165
+ "recordingId" => String | nil,
5166
+ "ptyCols" => Integer,
5167
+ "ptyRows" => Integer,
5168
+ "createdAt" => String
5169
+ }
5170
+
5171
+ # Spec schema: `SharedConsoleCreated`.
5172
+ type shared_console_created = {
5173
+ "share" => shared_console,
5174
+ "participants" => Array[shared_console_participant],
5175
+ "inviteToken" => String
5176
+ }
5177
+
5178
+ # Spec schema: `SharedConsoleInvitePreview`.
5179
+ type shared_console_invite_preview = {
5180
+ "share" => shared_console,
5181
+ "joinable" => bool,
5182
+ ?"rejoin" => bool,
5183
+ ?"error" => String,
5184
+ ?"code" => String
5185
+ }
5186
+
5187
+ # Spec schema: `SharedConsoleJoined`.
5188
+ type shared_console_joined = {
5189
+ "share" => shared_console,
5190
+ "participants" => Array[shared_console_participant],
5191
+ "you" => shared_console_participant,
5192
+ "routingKey" => String
5193
+ }
5194
+
5195
+ # Spec schema: `SharedConsoleParticipant`.
5196
+ type shared_console_participant = {
5197
+ "id" => String,
5198
+ "userId" => String,
5199
+ "userName" => String | nil,
5200
+ "role" => "observer" | "driver",
5201
+ "status" => "joined" | "left" | "removed",
5202
+ "driverRequestedAt" => String | nil,
5203
+ "joinedAt" => String
5204
+ }
5205
+
5206
+ # Spec schema: `SharedConsoleState`.
5207
+ type shared_console_state = { "share" => shared_console, "participants" => Array[shared_console_participant] }
5208
+
5209
+ # Spec schema: `SharedConsoleSummary`.
5210
+ type shared_console_summary = shared_console & { "participants" => Array[shared_console_participant] }
5211
+
5132
5212
  # Spec schema: `ShowbackReport`.
5133
5213
  type showback_report = {
5134
5214
  "from" => String,
@@ -6624,6 +6704,32 @@ module Infrawrench
6624
6704
  def upload: (body: sftp_upload_form, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
6625
6705
  end
6626
6706
 
6707
+ class SharedConsolesInvitesNamespace
6708
+ def initialize: (Transport) -> void
6709
+ def create: (console_id: String, ?org_id: String?, ?body: { ?"inviteTtlMinutes" => Integer }?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_created
6710
+ def delete: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
6711
+ def get: (token: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_invite_preview
6712
+ end
6713
+
6714
+ class SharedConsolesParticipantsNamespace
6715
+ def initialize: (Transport) -> void
6716
+ def delete: (console_id: String, participant_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
6717
+ end
6718
+
6719
+ class SharedConsolesNamespace
6720
+ attr_reader invites: SharedConsolesInvitesNamespace
6721
+ attr_reader participants: SharedConsolesParticipantsNamespace
6722
+ def initialize: (Transport) -> void
6723
+ def create: (?org_id: String?, ?body: create_shared_console?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_created
6724
+ def delete: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
6725
+ def get: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
6726
+ def handover: (console_id: String, ?org_id: String?, ?body: { "participantId" => String }?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
6727
+ def join: (console_id: String, ?org_id: String?, ?body: { "token" => String }?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_joined
6728
+ def leave: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
6729
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[shared_console_summary]
6730
+ def request_driver: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
6731
+ end
6732
+
6627
6733
  class SlackChannelsNamespace
6628
6734
  def initialize: (Transport) -> void
6629
6735
  def create: (?org_id: String?, ?body: slack_channel_create?, ?request_options: Hash[Symbol, untyped]?) -> slack_channel
@@ -6840,6 +6946,7 @@ module Infrawrench
6840
6946
  attr_reader search: SearchNamespace
6841
6947
  attr_reader session_recordings: SessionRecordingsNamespace
6842
6948
  attr_reader sftp: SftpNamespace
6949
+ attr_reader shared_consoles: SharedConsolesNamespace
6843
6950
  attr_reader slack: SlackNamespace
6844
6951
  attr_reader sql: SqlNamespace
6845
6952
  attr_reader ssh_fanout: SshFanoutNamespace
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infrawrench-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.0
4
+ version: 1.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infrawrench LLC
@@ -9,9 +9,9 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2026-08-11 00:00:00.000000000 Z
12
+ date: 2026-08-12 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.13.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.14.0). Covers the published
15
15
  API surface only — operations marked x-internal in the spec are not generated. No
16
16
  runtime dependencies.
17
17
  email:
@@ -58,5 +58,5 @@ requirements: []
58
58
  rubygems_version: 3.5.22
59
59
  signing_key:
60
60
  specification_version: 4
61
- summary: Generated Ruby client for the Infrawrench API (v1.13.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.14.0).
62
62
  test_files: []