infrawrench-sdk 1.82.0 → 1.85.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: 93dac4c6860e3b35f999f9e108e55730b71187a2d9505d3427f1b5f53cdf8368
4
- data.tar.gz: f236a69cc07c82ebddaeb2c4c0d7db8f93ee26a64c16f1eab3f65b5028dcb644
3
+ metadata.gz: ab87dafcd7c12cac8a244e452c023c98dbd60ee1e10ecbf5c588f418676b1a84
4
+ data.tar.gz: 59a5f35f4ea7bd3022b4a370789b67056a62fa33de2e182263c68a4641fef2a2
5
5
  SHA512:
6
- metadata.gz: d9e83207d048d86fcb1c9eb99c33164afa713ebd7e9bab0acd67424174421d867939e18cbc309639af89345c4efa3d95e311f37b3450e87c6f29d37522361734
7
- data.tar.gz: c96308af83e27a1307f87858b98cc787f1ae97f19084d5d8b8fd6aaf35689aa6056e9a9a1802ad193ef43441f46db37a726ffa7025f85adaf4b604326bf92be3
6
+ metadata.gz: 25ff2c4264572a2ac1dce7b13b3235b749c59ef107a749d967ab3cbea4d986b0f5a75064ddaff835a2535ab7c8b3b686fac7a92f2b1753aa0893eda768a1373f
7
+ data.tar.gz: 20223e66ea8c5e3d0eed41b05d929de0c27ea3206c346f123961cd440cdfc75cebf85d61e0b99fa91681d51469dc0b9048be5ad749092c2e9e037e5377ac71d1
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.82.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.85.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
- 1243 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 1263 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.82.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.85.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.82.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.85.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.82.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.82.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.85.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.85.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.82.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.85.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.82.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.85.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1061,6 +1061,404 @@ module Infrawrench
1061
1061
  end
1062
1062
  end
1063
1063
 
1064
+ # `client.agent_link.agents`
1065
+ class AgentLinkAgentsNamespace
1066
+ # @api private
1067
+ # @param transport [Transport]
1068
+ def initialize(transport)
1069
+ @transport = transport
1070
+ end
1071
+
1072
+ # Create an agent with its own `iwa_` credential
1073
+ #
1074
+ # POST /api/agent-link/agents
1075
+ #
1076
+ # Raises on 400: `scope_not_allowed` (with `scopes`), `invalid_provider`, or
1077
+ # malformed
1078
+ #
1079
+ # Raises on 401: Unknown or revoked link credential
1080
+ #
1081
+ # Raises on 403: The approving person no longer exists
1082
+ #
1083
+ # Raises on 409: `exists`: a live agent with this `externalId` (with
1084
+ # `agentId`)
1085
+ #
1086
+ # @param body [Hash, nil] Request body, shaped as `CreatePlatformAgent`.
1087
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1088
+ # @return [Hash] Parsed JSON, shaped as `PlatformAgentWithCredential` — see
1089
+ # `sig/infrawrench/sdk.rbs`.
1090
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1091
+ def create(body: nil, request_options: nil)
1092
+ @transport.request(
1093
+ http_method: "POST",
1094
+ path: "/api/agent-link/agents",
1095
+ body: body,
1096
+ request_options: request_options
1097
+ )
1098
+ end
1099
+
1100
+ # Revoke an agent (idempotent; the row is kept for the audit log)
1101
+ #
1102
+ # DELETE /api/agent-link/agents/{id}
1103
+ #
1104
+ # Raises on 401: Unknown or revoked link credential
1105
+ #
1106
+ # Raises on 404: Not an agent of this link
1107
+ #
1108
+ # @param id [String]
1109
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1110
+ # @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
1111
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1112
+ def delete(id:, request_options: nil)
1113
+ @transport.request(
1114
+ http_method: "DELETE",
1115
+ path: "/api/agent-link/agents/{id}",
1116
+ path_params: { "id" => id },
1117
+ request_options: request_options
1118
+ )
1119
+ end
1120
+
1121
+ # List the agents this link made, newest first, revoked included
1122
+ #
1123
+ # GET /api/agent-link/agents
1124
+ #
1125
+ # Raises on 401: Unknown or revoked link credential
1126
+ #
1127
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1128
+ # @return [Array<Hash>] Parsed JSON, shaped as `Array<PlatformAgent>` — see
1129
+ # `sig/infrawrench/sdk.rbs`.
1130
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1131
+ def list(request_options: nil)
1132
+ @transport.request(
1133
+ http_method: "GET",
1134
+ path: "/api/agent-link/agents",
1135
+ request_options: request_options
1136
+ )
1137
+ end
1138
+
1139
+ # Replace an agent's credential; the old one stops working immediately
1140
+ #
1141
+ # POST /api/agent-link/agents/{id}/rotate
1142
+ #
1143
+ # Raises on 401: Unknown or revoked link credential
1144
+ #
1145
+ # Raises on 404: Not an agent of this link, or revoked
1146
+ #
1147
+ # @param id [String]
1148
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1149
+ # @return [Hash] Parsed JSON, shaped as `PlatformAgentWithCredential` — see
1150
+ # `sig/infrawrench/sdk.rbs`.
1151
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1152
+ def rotate(id:, request_options: nil)
1153
+ @transport.request(
1154
+ http_method: "POST",
1155
+ path: "/api/agent-link/agents/{id}/rotate",
1156
+ path_params: { "id" => id },
1157
+ request_options: request_options
1158
+ )
1159
+ end
1160
+
1161
+ # Edit an agent's label, scopes or providers
1162
+ #
1163
+ # PATCH /api/agent-link/agents/{id}
1164
+ #
1165
+ # Raises on 400: `scope_not_allowed`, `invalid_provider`, or malformed
1166
+ #
1167
+ # Raises on 401: Unknown or revoked link credential
1168
+ #
1169
+ # Raises on 404: Not an agent of this link, or revoked
1170
+ #
1171
+ # @param id [String]
1172
+ # @param body [Hash, nil] Request body, shaped as `PatchPlatformAgent`.
1173
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1174
+ # @return [Hash] Parsed JSON, shaped as `PlatformAgentEnvelope` — see
1175
+ # `sig/infrawrench/sdk.rbs`.
1176
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1177
+ def update(id:, body: nil, request_options: nil)
1178
+ @transport.request(
1179
+ http_method: "PATCH",
1180
+ path: "/api/agent-link/agents/{id}",
1181
+ path_params: { "id" => id },
1182
+ body: body,
1183
+ request_options: request_options
1184
+ )
1185
+ end
1186
+ end
1187
+
1188
+ # `client.agent_link`
1189
+ class AgentLinkNamespace
1190
+ # @return [AgentLinkAgentsNamespace] `client.agent_link.agents`
1191
+ attr_reader :agents
1192
+
1193
+ # @api private
1194
+ # @param transport [Transport]
1195
+ def initialize(transport)
1196
+ @transport = transport
1197
+ @agents = AgentLinkAgentsNamespace.new(@transport)
1198
+ end
1199
+
1200
+ # Unlink, revoking every agent this link made
1201
+ #
1202
+ # DELETE /api/agent-link
1203
+ #
1204
+ # Raises on 401: Unknown or revoked link credential
1205
+ #
1206
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1207
+ # @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
1208
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1209
+ def delete(request_options: nil)
1210
+ @transport.request(
1211
+ http_method: "DELETE",
1212
+ path: "/api/agent-link",
1213
+ request_options: request_options
1214
+ )
1215
+ end
1216
+
1217
+ # Describe this link
1218
+ #
1219
+ # GET /api/agent-link
1220
+ #
1221
+ # Raises on 401: Unknown or revoked link credential
1222
+ #
1223
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1224
+ # @return [Hash] Parsed JSON, shaped as `AgentLinkInfo` — see `sig/infrawrench/sdk.rbs`.
1225
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1226
+ def get(request_options: nil)
1227
+ @transport.request(
1228
+ http_method: "GET",
1229
+ path: "/api/agent-link",
1230
+ request_options: request_options
1231
+ )
1232
+ end
1233
+ end
1234
+
1235
+ # `client.agent_links.requests`
1236
+ class AgentLinksRequestsNamespace
1237
+ # @api private
1238
+ # @param transport [Transport]
1239
+ def initialize(transport)
1240
+ @transport = transport
1241
+ end
1242
+
1243
+ # Approve a link request into an organization
1244
+ #
1245
+ # Session only. Needs `team:invite` in the organization; `scopes` (the
1246
+ # ceiling) must be within what you hold there, break-glass elevation
1247
+ # excluded, minus permissions no agent may hold.
1248
+ #
1249
+ # POST /api/agent-links/requests/approve
1250
+ #
1251
+ # Raises on 400: Bad code, or `scope_not_allowed`
1252
+ #
1253
+ # Raises on 401: Unauthenticated
1254
+ #
1255
+ # Raises on 403: You lack `team:invite` there
1256
+ #
1257
+ # Raises on 409: Already decided or expired
1258
+ #
1259
+ # Raises on 429: Too many attempts
1260
+ #
1261
+ # @param body [Hash, nil] Request body, shaped as `AgentLinkApprove`.
1262
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1263
+ # @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
1264
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1265
+ def approve(body: nil, request_options: nil)
1266
+ @transport.request(
1267
+ http_method: "POST",
1268
+ path: "/api/agent-links/requests/approve",
1269
+ body: body,
1270
+ request_options: request_options
1271
+ )
1272
+ end
1273
+
1274
+ # Start linking a platform (device flow)
1275
+ #
1276
+ # Unauthenticated, rate limited per source address.
1277
+ #
1278
+ # POST /api/agent-links/requests
1279
+ #
1280
+ # Raises on 400: Malformed platform, label or scopes
1281
+ #
1282
+ # Raises on 429: Too many requests from this address
1283
+ #
1284
+ # @param body [Hash, nil] Request body, shaped as `AgentLinkRequest`.
1285
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1286
+ # @return [Hash] Parsed JSON, shaped as `AgentLinkRequestStarted` — see
1287
+ # `sig/infrawrench/sdk.rbs`.
1288
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1289
+ def create(body: nil, request_options: nil)
1290
+ @transport.request(
1291
+ http_method: "POST",
1292
+ path: "/api/agent-links/requests",
1293
+ body: body,
1294
+ request_options: request_options
1295
+ )
1296
+ end
1297
+
1298
+ # Deny a link request
1299
+ #
1300
+ # POST /api/agent-links/requests/deny
1301
+ #
1302
+ # Raises on 400: Bad code
1303
+ #
1304
+ # Raises on 401: Unauthenticated
1305
+ #
1306
+ # @param body [Hash, nil] Request body, shaped as `AgentLinkCode`.
1307
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1308
+ # @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
1309
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1310
+ def deny(body: nil, request_options: nil)
1311
+ @transport.request(
1312
+ http_method: "POST",
1313
+ path: "/api/agent-links/requests/deny",
1314
+ body: body,
1315
+ request_options: request_options
1316
+ )
1317
+ end
1318
+
1319
+ # Resolve a user code for the approval page
1320
+ #
1321
+ # Session only. A POST with the code in the body rather than a query string:
1322
+ # the code is a live bearer secret. Rate limited per user.
1323
+ #
1324
+ # POST /api/agent-links/requests/lookup
1325
+ #
1326
+ # Raises on 400: Malformed, unknown or expired code
1327
+ #
1328
+ # Raises on 401: Unauthenticated
1329
+ #
1330
+ # Raises on 429: Too many attempts
1331
+ #
1332
+ # @param body [Hash, nil] Request body, shaped as `AgentLinkCode`.
1333
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1334
+ # @return [Hash] Parsed JSON, shaped as `AgentLinkLookup` — see `sig/infrawrench/sdk.rbs`.
1335
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1336
+ def lookup(body: nil, request_options: nil)
1337
+ @transport.request(
1338
+ http_method: "POST",
1339
+ path: "/api/agent-links/requests/lookup",
1340
+ body: body,
1341
+ request_options: request_options
1342
+ )
1343
+ end
1344
+
1345
+ # Poll a link request
1346
+ #
1347
+ # POST /api/agent-links/requests/token
1348
+ #
1349
+ # Raises on 429: Polling faster than `interval`: `{ error: "slow_down" }`
1350
+ #
1351
+ # @param body [Hash, nil] Request body, shaped as `Hash`.
1352
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1353
+ # @return [Hash] Parsed JSON, shaped as `AgentLinkPoll` — see `sig/infrawrench/sdk.rbs`.
1354
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1355
+ def token(body: nil, request_options: nil)
1356
+ @transport.request(
1357
+ http_method: "POST",
1358
+ path: "/api/agent-links/requests/token",
1359
+ body: body,
1360
+ request_options: request_options
1361
+ )
1362
+ end
1363
+ end
1364
+
1365
+ # `client.agent_links`
1366
+ class AgentLinksNamespace
1367
+ # @return [AgentLinksRequestsNamespace] `client.agent_links.requests`
1368
+ attr_reader :requests
1369
+
1370
+ # @api private
1371
+ # @param transport [Transport]
1372
+ def initialize(transport)
1373
+ @transport = transport
1374
+ @requests = AgentLinksRequestsNamespace.new(@transport)
1375
+ end
1376
+
1377
+ # Revoke a platform link and every agent it made
1378
+ #
1379
+ # Closed to agent credentials.
1380
+ #
1381
+ # _Requires permission: `team:invite`._
1382
+ #
1383
+ # DELETE /api/org/{orgId}/agent-links/{id}
1384
+ #
1385
+ # Raises on 400: Bad request
1386
+ #
1387
+ # Raises on 401: Unauthenticated
1388
+ #
1389
+ # Raises on 402: Payment required: the organization's plan does not include
1390
+ # this
1391
+ #
1392
+ # Raises on 403: Forbidden
1393
+ #
1394
+ # Raises on 404: Not found
1395
+ #
1396
+ # Raises on 409: Conflict
1397
+ #
1398
+ # Raises on 500: Server error
1399
+ #
1400
+ # Raises on 503: A backing service this endpoint depends on is not available
1401
+ #
1402
+ # Raises on reauth: Recent sign-in required. Send the user through sign-in
1403
+ # again and retry; the request itself was well-formed.
1404
+ #
1405
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1406
+ # constructed with.
1407
+ # @param id [String]
1408
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1409
+ # @return [Hash] Parsed JSON, shaped as `AgentLinkRevoked` — see `sig/infrawrench/sdk.rbs`.
1410
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1411
+ def delete(id:, org_id: nil, request_options: nil)
1412
+ @transport.request(
1413
+ http_method: "DELETE",
1414
+ path: "/api/org/{orgId}/agent-links/{id}",
1415
+ path_params: { "orgId" => org_id, "id" => id },
1416
+ request_options: request_options
1417
+ )
1418
+ end
1419
+
1420
+ # List the platforms linked to this organization
1421
+ #
1422
+ # _Requires permission: `team:read`._
1423
+ #
1424
+ # GET /api/org/{orgId}/agent-links
1425
+ #
1426
+ # Raises on 400: Bad request
1427
+ #
1428
+ # Raises on 401: Unauthenticated
1429
+ #
1430
+ # Raises on 402: Payment required: the organization's plan does not include
1431
+ # this
1432
+ #
1433
+ # Raises on 403: Forbidden
1434
+ #
1435
+ # Raises on 404: Not found
1436
+ #
1437
+ # Raises on 409: Conflict
1438
+ #
1439
+ # Raises on 500: Server error
1440
+ #
1441
+ # Raises on 503: A backing service this endpoint depends on is not available
1442
+ #
1443
+ # Raises on reauth: Recent sign-in required. Send the user through sign-in
1444
+ # again and retry; the request itself was well-formed.
1445
+ #
1446
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1447
+ # constructed with.
1448
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1449
+ # @return [Array<Hash>] Parsed JSON, shaped as `Array<AgentLinkSummary>` — see
1450
+ # `sig/infrawrench/sdk.rbs`.
1451
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1452
+ def list(org_id: nil, request_options: nil)
1453
+ @transport.request(
1454
+ http_method: "GET",
1455
+ path: "/api/org/{orgId}/agent-links",
1456
+ path_params: { "orgId" => org_id },
1457
+ request_options: request_options
1458
+ )
1459
+ end
1460
+ end
1461
+
1064
1462
  # `client.agent_registrations`
1065
1463
  class AgentRegistrationsNamespace
1066
1464
  # @api private
@@ -1074,6 +1472,8 @@ module Infrawrench
1074
1472
  # The row is kept so audit entries naming this agent stay legible; its
1075
1473
  # credential stops working on the next request. Closed to agent credentials.
1076
1474
  #
1475
+ # _Requires permission: `team:invite`._
1476
+ #
1077
1477
  # DELETE /api/org/{orgId}/agent-registrations/{id}
1078
1478
  #
1079
1479
  # Raises on 400: Bad request
@@ -1113,6 +1513,8 @@ module Infrawrench
1113
1513
 
1114
1514
  # List the agent registrations acting in this organization
1115
1515
  #
1516
+ # _Requires permission: `team:read`._
1517
+ #
1116
1518
  # GET /api/org/{orgId}/agent-registrations
1117
1519
  #
1118
1520
  # Raises on 400: Bad request
@@ -1149,6 +1551,54 @@ module Infrawrench
1149
1551
  request_options: request_options
1150
1552
  )
1151
1553
  end
1554
+
1555
+ # Edit a platform agent's label, scopes or providers
1556
+ #
1557
+ # Platform agents only (`kind: platform`). Scopes must be within the link's
1558
+ # current ceiling, and you may only add scopes you hold yourself. Closed to
1559
+ # agent credentials.
1560
+ #
1561
+ # _Requires permission: `team:invite`._
1562
+ #
1563
+ # PATCH /api/org/{orgId}/agent-registrations/{id}
1564
+ #
1565
+ # Raises on 400: Bad request
1566
+ #
1567
+ # Raises on 401: Unauthenticated
1568
+ #
1569
+ # Raises on 402: Payment required: the organization's plan does not include
1570
+ # this
1571
+ #
1572
+ # Raises on 403: Forbidden
1573
+ #
1574
+ # Raises on 404: Not found
1575
+ #
1576
+ # Raises on 409: The agent or its link has been revoked
1577
+ #
1578
+ # Raises on 500: Server error
1579
+ #
1580
+ # Raises on 503: A backing service this endpoint depends on is not available
1581
+ #
1582
+ # Raises on reauth: Recent sign-in required. Send the user through sign-in
1583
+ # again and retry; the request itself was well-formed.
1584
+ #
1585
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1586
+ # constructed with.
1587
+ # @param id [String]
1588
+ # @param body [Hash, nil] Request body, shaped as `PatchPlatformAgent`.
1589
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1590
+ # @return [Hash] Parsed JSON, shaped as `PlatformAgentEnvelope` — see
1591
+ # `sig/infrawrench/sdk.rbs`.
1592
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1593
+ def update(id:, org_id: nil, body: nil, request_options: nil)
1594
+ @transport.request(
1595
+ http_method: "PATCH",
1596
+ path: "/api/org/{orgId}/agent-registrations/{id}",
1597
+ path_params: { "orgId" => org_id, "id" => id },
1598
+ body: body,
1599
+ request_options: request_options
1600
+ )
1601
+ end
1152
1602
  end
1153
1603
 
1154
1604
  # `client.agents.sessions`
@@ -1167,6 +1617,8 @@ module Infrawrench
1167
1617
  #
1168
1618
  # Raises on 400: Bad request
1169
1619
  #
1620
+ # Raises on 403: Forbidden
1621
+ #
1170
1622
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1171
1623
  # constructed with.
1172
1624
  # @param body [Hash] Request body, shaped as `CreateAgentSession`.
@@ -1364,6 +1816,29 @@ module Infrawrench
1364
1816
  request_options: request_options
1365
1817
  )
1366
1818
  end
1819
+
1820
+ # What you could give a Nibblets session's agent link
1821
+ #
1822
+ # `scopes` is null when you cannot approve links here (no `team:invite`).
1823
+ #
1824
+ # _Requires permission: `resources:write`._
1825
+ #
1826
+ # GET /api/org/{orgId}/agents/link-scopes
1827
+ #
1828
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1829
+ # constructed with.
1830
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1831
+ # @return [Hash] Parsed JSON, shaped as `AgentLinkableScopes` — see
1832
+ # `sig/infrawrench/sdk.rbs`.
1833
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1834
+ def link_scopes(org_id: nil, request_options: nil)
1835
+ @transport.request(
1836
+ http_method: "GET",
1837
+ path: "/api/org/{orgId}/agents/link-scopes",
1838
+ path_params: { "orgId" => org_id },
1839
+ request_options: request_options
1840
+ )
1841
+ end
1367
1842
  end
1368
1843
 
1369
1844
  # `client.ai_attribution.dimensions`
@@ -26977,6 +27452,38 @@ module Infrawrench
26977
27452
  end
26978
27453
  end
26979
27454
 
27455
+ # `client.whoami`
27456
+ class WhoamiNamespace
27457
+ # @api private
27458
+ # @param transport [Transport]
27459
+ def initialize(transport)
27460
+ @transport = transport
27461
+ end
27462
+
27463
+ # Identify a bearer credential
27464
+ #
27465
+ # Reports who an `Authorization: Bearer` credential belongs to: an API key,
27466
+ # an agent credential, or a WorkOS access token. Needs no scope; a 401 means
27467
+ # the credential is unknown, revoked, expired or no longer backed by an
27468
+ # organization membership. Use it to check a key before relying on it, or to
27469
+ # gate a service of your own on Infrawrench sign-in.
27470
+ #
27471
+ # GET /api/v1/whoami
27472
+ #
27473
+ # Raises on 401: Unauthenticated
27474
+ #
27475
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
27476
+ # @return [Hash] Parsed JSON, shaped as `Whoami` — see `sig/infrawrench/sdk.rbs`.
27477
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
27478
+ def get(request_options: nil)
27479
+ @transport.request(
27480
+ http_method: "GET",
27481
+ path: "/api/v1/whoami",
27482
+ request_options: request_options
27483
+ )
27484
+ end
27485
+ end
27486
+
26980
27487
  # `client.workflow_approvals`
26981
27488
  class WorkflowApprovalsNamespace
26982
27489
  # @api private
@@ -27449,6 +27956,10 @@ module Infrawrench
27449
27956
  attr_reader :accounts
27450
27957
  # @return [AgentNamespace] `client.agent`
27451
27958
  attr_reader :agent
27959
+ # @return [AgentLinkNamespace] `client.agent_link`
27960
+ attr_reader :agent_link
27961
+ # @return [AgentLinksNamespace] `client.agent_links`
27962
+ attr_reader :agent_links
27452
27963
  # @return [AgentRegistrationsNamespace] `client.agent_registrations`
27453
27964
  attr_reader :agent_registrations
27454
27965
  # @return [AgentsNamespace] `client.agents`
@@ -27703,6 +28214,8 @@ module Infrawrench
27703
28214
  attr_reader :vulnerabilities
27704
28215
  # @return [WallboardNamespace] `client.wallboard`
27705
28216
  attr_reader :wallboard
28217
+ # @return [WhoamiNamespace] `client.whoami`
28218
+ attr_reader :whoami
27706
28219
  # @return [WorkflowApprovalsNamespace] `client.workflow_approvals`
27707
28220
  attr_reader :workflow_approvals
27708
28221
  # @return [WorkflowSecretsNamespace] `client.workflow_secrets`
@@ -27719,6 +28232,8 @@ module Infrawrench
27719
28232
  @access_review = AccessReviewNamespace.new(@transport)
27720
28233
  @accounts = AccountsNamespace.new(@transport)
27721
28234
  @agent = AgentNamespace.new(@transport)
28235
+ @agent_link = AgentLinkNamespace.new(@transport)
28236
+ @agent_links = AgentLinksNamespace.new(@transport)
27722
28237
  @agent_registrations = AgentRegistrationsNamespace.new(@transport)
27723
28238
  @agents = AgentsNamespace.new(@transport)
27724
28239
  @ai_attribution = AiAttributionNamespace.new(@transport)
@@ -27846,6 +28361,7 @@ module Infrawrench
27846
28361
  @virtual_tags = VirtualTagsNamespace.new(@transport)
27847
28362
  @vulnerabilities = VulnerabilitiesNamespace.new(@transport)
27848
28363
  @wallboard = WallboardNamespace.new(@transport)
28364
+ @whoami = WhoamiNamespace.new(@transport)
27849
28365
  @workflow_approvals = WorkflowApprovalsNamespace.new(@transport)
27850
28366
  @workflow_secrets = WorkflowSecretsNamespace.new(@transport)
27851
28367
  @workflows = WorkflowsNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.82.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.85.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.82.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.85.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.82.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.85.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.82.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.85.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.82.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.85.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.82.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.85.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.82.0"
18
+ VERSION = "1.85.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.82.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.85.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.82.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.85.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.82.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.85.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.82.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.85.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -355,6 +355,97 @@ module Infrawrench
355
355
  "trial_expires_in_ms" => Integer | nil
356
356
  }
357
357
 
358
+ # Spec schema: `AgentLinkApprove`.
359
+ type agent_link_approve = { "code" => String, "organizationId" => String, "scopes" => Array[String] }
360
+
361
+ # Spec schema: `AgentLinkCode`.
362
+ type agent_link_code = { "code" => String }
363
+
364
+ # Spec schema: `AgentLinkError`.
365
+ type agent_link_error = {
366
+ "error" => String,
367
+ ?"code" => String,
368
+ ?"scopes" => Array[String],
369
+ ?"agentId" => String,
370
+ ?"providers" => Array[String]
371
+ }
372
+
373
+ # Spec schema: `AgentLinkInfo`.
374
+ type agent_link_info = {
375
+ "id" => String,
376
+ "organizationId" => String,
377
+ "organizationName" => String,
378
+ "platform" => String,
379
+ "label" => String,
380
+ "scopes" => Array[String],
381
+ "effectiveScopes" => Array[String],
382
+ "narrowableScopes" => Array[String],
383
+ "scopeGroups" => Array[agent_link_scope_group],
384
+ "providers" => Array[agent_link_provider],
385
+ "approvedBy" => { "email" => String } | nil,
386
+ "createdAt" => String
387
+ }
388
+
389
+ # Spec schema: `AgentLinkLookup`.
390
+ type agent_link_lookup = {
391
+ "platform" => String,
392
+ "label" => String,
393
+ "requestedScopes" => Array[String],
394
+ "expiresAt" => String,
395
+ "organizations" => Array[agent_link_lookup_organization]
396
+ }
397
+
398
+ # Spec schema: `AgentLinkLookupOrganization`.
399
+ type agent_link_lookup_organization = { "id" => String, "name" => String, "canApprove" => bool, "grantableScopes" => Array[String] }
400
+
401
+ # Spec schema: `AgentLinkPoll`.
402
+ type agent_link_poll = { "status" => "pending" | "denied" | "expired" }
403
+ | { "status" => "approved", "credential" => String, "link" => agent_link_info }
404
+
405
+ # Spec schema: `AgentLinkProvider`.
406
+ type agent_link_provider = { "id" => String, "displayName" => String }
407
+
408
+ # Spec schema: `AgentLinkRequest`.
409
+ type agent_link_request = { "platform" => String, "label" => String, ?"requestedScopes" => Array[String] }
410
+
411
+ # Spec schema: `AgentLinkRequestStarted`.
412
+ type agent_link_request_started = {
413
+ "deviceCode" => String,
414
+ "userCode" => String,
415
+ "verificationUrl" => String,
416
+ "verificationUrlComplete" => String,
417
+ "expiresIn" => Integer,
418
+ "interval" => Integer
419
+ }
420
+
421
+ # Spec schema: `AgentLinkRevoked`.
422
+ type agent_link_revoked = { "ok" => bool, "revoked" => bool }
423
+
424
+ # Spec schema: `AgentLinkScopeGroup`.
425
+ type agent_link_scope_group = { "title" => String, "scopes" => Array[{ "value" => String, "label" => String }] }
426
+
427
+ # Spec schema: `AgentLinkSummary`.
428
+ type agent_link_summary = {
429
+ "id" => String,
430
+ "organizationId" => String,
431
+ "organizationName" => String,
432
+ "platform" => String,
433
+ "label" => String,
434
+ "scopes" => Array[String],
435
+ "effectiveScopes" => Array[String],
436
+ "narrowableScopes" => Array[String],
437
+ "scopeGroups" => Array[agent_link_scope_group],
438
+ "providers" => Array[agent_link_provider],
439
+ "approvedBy" => { "email" => String } | nil,
440
+ "createdAt" => String,
441
+ "credentialPrefix" => String | nil,
442
+ "lastSeenAt" => String | nil,
443
+ "revokedAt" => String | nil
444
+ }
445
+
446
+ # Spec schema: `AgentLinkableScopes`.
447
+ type agent_linkable_scopes = { "scopes" => Array[String] | nil }
448
+
358
449
  # Spec schema: `AgentRegisterRequest`.
359
450
  type agent_register_request = { ?"label" => String }
360
451
 
@@ -362,14 +453,18 @@ module Infrawrench
362
453
  type agent_registration = {
363
454
  "id" => String,
364
455
  "label" => String | nil,
365
- "kind" => "anonymous" | "service_auth",
456
+ "kind" => "anonymous" | "service_auth" | "platform",
366
457
  "prefix" => String | nil,
367
458
  "claimedAt" => String | nil,
368
459
  "claimedByUserId" => String | nil,
369
460
  "claimedByEmail" => String | nil,
370
461
  "lastSeenAt" => String | nil,
371
462
  "revokedAt" => String | nil,
372
- "createdAt" => String
463
+ "createdAt" => String,
464
+ "linkId" => String | nil,
465
+ "externalId" => String | nil,
466
+ "scopes" => Array[String] | nil,
467
+ "providers" => Array[String] | nil
373
468
  }
374
469
 
375
470
  # Spec schema: `AgentRevoked`.
@@ -388,10 +483,11 @@ module Infrawrench
388
483
  "pluginId" => String,
389
484
  "resourceTypeId" => String,
390
485
  "tool" => "codex" | "claude-code",
391
- ?"surface" => "terminal" | "t3-code",
486
+ ?"surface" => "terminal" | "t3-code" | "nibblets",
392
487
  ?"serviceAccountIds" => Array[String],
393
488
  ?"t3Access" => "t3-connect" | "tailscale",
394
489
  ?"serviceInstalls" => Array[agent_service_install],
490
+ ?"agentLinkId" => String | nil,
395
491
  "branchName" => String,
396
492
  "status" => "pending" | "provisioning" | "setting-up" | "up" | "failed" | "stopped",
397
493
  "vmResourceId" => String | nil,
@@ -406,7 +502,7 @@ module Infrawrench
406
502
  "pluginId" => String,
407
503
  "resourceTypeId" => String,
408
504
  "tool" => "codex" | "claude-code",
409
- ?"surface" => "terminal" | "t3-code",
505
+ ?"surface" => "terminal" | "t3-code" | "nibblets",
410
506
  "fields" => Hash[String, String],
411
507
  ?"serviceAccountIds" => Array[String],
412
508
  ?"t3Access" => "t3-connect" | "tailscale"
@@ -3708,7 +3804,8 @@ module Infrawrench
3708
3804
  ?"repo" => String,
3709
3805
  ?"projectName" => String,
3710
3806
  ?"workspaceName" => String,
3711
- "settings" => agent_settings & Hash[String, untyped]
3807
+ "settings" => agent_settings & Hash[String, untyped],
3808
+ ?"nibbletsLink" => { "scopes" => Array[String] }
3712
3809
  }
3713
3810
 
3714
3811
  # Spec schema: `CreateApiKeyRequest`.
@@ -3762,6 +3859,14 @@ module Infrawrench
3762
3859
  # Spec schema: `CreateOrgRequest`.
3763
3860
  type create_org_request = { "displayName" => String }
3764
3861
 
3862
+ # Spec schema: `CreatePlatformAgent`.
3863
+ type create_platform_agent = {
3864
+ "externalId" => String,
3865
+ "label" => String,
3866
+ "scopes" => Array[String],
3867
+ ?"providers" => Array[String]
3868
+ }
3869
+
3765
3870
  # Spec schema: `CreatePricingRequest`.
3766
3871
  type create_pricing_request = {
3767
3872
  "accountId" => String,
@@ -9527,6 +9632,9 @@ module Infrawrench
9527
9632
  # Spec schema: `PagingSyncResult`.
9528
9633
  type paging_sync_result = { "synced" => Integer }
9529
9634
 
9635
+ # Spec schema: `PatchPlatformAgent`.
9636
+ type patch_platform_agent = { ?"label" => String, ?"scopes" => Array[String], ?"providers" => Array[String] }
9637
+
9530
9638
  # Spec schema: `PeerPane`.
9531
9639
  type peer_pane = peer_pane_stub & { "schema" => json_object }
9532
9640
 
@@ -9667,6 +9775,25 @@ module Infrawrench
9667
9775
  ?"gridY" => Integer
9668
9776
  }
9669
9777
 
9778
+ # Spec schema: `PlatformAgent`.
9779
+ type platform_agent = {
9780
+ "id" => String,
9781
+ "externalId" => String,
9782
+ "label" => String,
9783
+ "scopes" => Array[String],
9784
+ "providers" => Array[String],
9785
+ "credentialPrefix" => String | nil,
9786
+ "lastSeenAt" => String | nil,
9787
+ "revokedAt" => String | nil,
9788
+ "createdAt" => String
9789
+ }
9790
+
9791
+ # Spec schema: `PlatformAgentEnvelope`.
9792
+ type platform_agent_envelope = { "agent" => platform_agent }
9793
+
9794
+ # Spec schema: `PlatformAgentWithCredential`.
9795
+ type platform_agent_with_credential = { "agent" => platform_agent, "credential" => String }
9796
+
9670
9797
  # Manifest id of an installed plugin.
9671
9798
  #
9672
9799
  # Spec schema: `PluginId`.
@@ -14677,6 +14804,13 @@ module Infrawrench
14677
14804
  "status" => "ok" | "degraded" | "down"
14678
14805
  }
14679
14806
 
14807
+ # Spec schema: `Whoami`.
14808
+ type whoami = {
14809
+ "userId" => String,
14810
+ "organizationId" => String,
14811
+ "principal" => "user" | "api_key" | "agent"
14812
+ }
14813
+
14680
14814
  # Spec schema: `WorkflowApproval`.
14681
14815
  type workflow_approval = {
14682
14816
  "id" => String,
@@ -14825,10 +14959,43 @@ module Infrawrench
14825
14959
  def initialize: (Transport) -> void
14826
14960
  end
14827
14961
 
14962
+ class AgentLinkAgentsNamespace
14963
+ def initialize: (Transport) -> void
14964
+ def create: (?body: create_platform_agent?, ?request_options: Hash[Symbol, untyped]?) -> platform_agent_with_credential
14965
+ def delete: (id: String, ?request_options: Hash[Symbol, untyped]?) -> ok
14966
+ def list: (?request_options: Hash[Symbol, untyped]?) -> Array[platform_agent]
14967
+ def rotate: (id: String, ?request_options: Hash[Symbol, untyped]?) -> platform_agent_with_credential
14968
+ def update: (id: String, ?body: patch_platform_agent?, ?request_options: Hash[Symbol, untyped]?) -> platform_agent_envelope
14969
+ end
14970
+
14971
+ class AgentLinkNamespace
14972
+ attr_reader agents: AgentLinkAgentsNamespace
14973
+ def initialize: (Transport) -> void
14974
+ def delete: (?request_options: Hash[Symbol, untyped]?) -> ok
14975
+ def get: (?request_options: Hash[Symbol, untyped]?) -> agent_link_info
14976
+ end
14977
+
14978
+ class AgentLinksRequestsNamespace
14979
+ def initialize: (Transport) -> void
14980
+ def approve: (?body: agent_link_approve?, ?request_options: Hash[Symbol, untyped]?) -> ok
14981
+ def create: (?body: agent_link_request?, ?request_options: Hash[Symbol, untyped]?) -> agent_link_request_started
14982
+ def deny: (?body: agent_link_code?, ?request_options: Hash[Symbol, untyped]?) -> ok
14983
+ def lookup: (?body: agent_link_code?, ?request_options: Hash[Symbol, untyped]?) -> agent_link_lookup
14984
+ def token: (?body: { "deviceCode" => String }?, ?request_options: Hash[Symbol, untyped]?) -> agent_link_poll
14985
+ end
14986
+
14987
+ class AgentLinksNamespace
14988
+ attr_reader requests: AgentLinksRequestsNamespace
14989
+ def initialize: (Transport) -> void
14990
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> agent_link_revoked
14991
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[agent_link_summary]
14992
+ end
14993
+
14828
14994
  class AgentRegistrationsNamespace
14829
14995
  def initialize: (Transport) -> void
14830
14996
  def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> agent_revoked
14831
14997
  def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[agent_registration]
14998
+ def update: (id: String, ?org_id: String?, ?body: patch_platform_agent?, ?request_options: Hash[Symbol, untyped]?) -> platform_agent_envelope
14832
14999
  end
14833
15000
 
14834
15001
  class AgentsSessionsNamespace
@@ -14851,6 +15018,7 @@ module Infrawrench
14851
15018
  attr_reader settings: AgentsSettingsNamespace
14852
15019
  def initialize: (Transport) -> void
14853
15020
  def accounts: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[agent_vm_account]
15021
+ def link_scopes: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> agent_linkable_scopes
14854
15022
  end
14855
15023
 
14856
15024
  class AiAttributionDimensionsNamespace
@@ -16752,6 +16920,11 @@ module Infrawrench
16752
16920
  def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> wallboard_response
16753
16921
  end
16754
16922
 
16923
+ class WhoamiNamespace
16924
+ def initialize: (Transport) -> void
16925
+ def get: (?request_options: Hash[Symbol, untyped]?) -> whoami
16926
+ end
16927
+
16755
16928
  class WorkflowApprovalsNamespace
16756
16929
  def initialize: (Transport) -> void
16757
16930
  def approve: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> workflow_approval
@@ -16794,6 +16967,8 @@ module Infrawrench
16794
16967
  attr_reader access_review: AccessReviewNamespace
16795
16968
  attr_reader accounts: AccountsNamespace
16796
16969
  attr_reader agent: AgentNamespace
16970
+ attr_reader agent_link: AgentLinkNamespace
16971
+ attr_reader agent_links: AgentLinksNamespace
16797
16972
  attr_reader agent_registrations: AgentRegistrationsNamespace
16798
16973
  attr_reader agents: AgentsNamespace
16799
16974
  attr_reader ai_attribution: AiAttributionNamespace
@@ -16921,6 +17096,7 @@ module Infrawrench
16921
17096
  attr_reader virtual_tags: VirtualTagsNamespace
16922
17097
  attr_reader vulnerabilities: VulnerabilitiesNamespace
16923
17098
  attr_reader wallboard: WallboardNamespace
17099
+ attr_reader whoami: WhoamiNamespace
16924
17100
  attr_reader workflow_approvals: WorkflowApprovalsNamespace
16925
17101
  attr_reader workflow_secrets: WorkflowSecretsNamespace
16926
17102
  attr_reader workflows: WorkflowsNamespace
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.82.0
4
+ version: 1.85.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-10-16 00:00:00.000000000 Z
12
+ date: 2026-10-29 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.82.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.85.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.82.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.85.0).
62
62
  test_files: []