@composio/client 2.0.0-rc.2 → 2.0.0-rc.3

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 (164) hide show
  1. package/README.md +32 -0
  2. package/dist/{api-key-revocation-BqiqlJh6.mjs → api-key-revocation-Cbokr5zZ.mjs} +4 -3
  3. package/dist/{auth-ClFXmN5T.mjs → auth-CNDyZgjw.mjs} +1 -1
  4. package/dist/{auth-configs-COkEdwlP.mjs → auth-configs-4u-8I2K7.mjs} +17 -11
  5. package/dist/{clanker-1ptspWLR.mjs → clanker-D6FjS8Lj.mjs} +4 -3
  6. package/dist/{cli-BWTXVRT4.mjs → cli-LIRIGe7k.mjs} +11 -8
  7. package/dist/{client-D5v0_f-k.d.mts → client-ByIYmMzt.d.mts} +30 -2
  8. package/dist/{connected-accounts-DK24qYIM.mjs → connected-accounts-Bqtl42g0.mjs} +23 -15
  9. package/dist/{consumer-Do3lg_vI.mjs → consumer-BauHsJXO.mjs} +5 -4
  10. package/dist/{custom-CH7n4Dyd.mjs → custom-CGqEBUWj.mjs} +4 -3
  11. package/dist/{files-DoNtYu2Q.mjs → files-BYEsIET1.mjs} +7 -5
  12. package/dist/{files-lfGzAnJ_.mjs → files-DkH2-irQ.mjs} +13 -9
  13. package/dist/{generate-B7ClqhN0.mjs → generate-DTodgjHD.mjs} +4 -3
  14. package/dist/{request-zLX87M09.mjs → generated-operations-WtSYnmW0.mjs} +843 -16
  15. package/dist/index.d.mts +3 -3
  16. package/dist/index.mjs +127 -800
  17. package/dist/{link-NsFv9L3R.mjs → link-DL53IiYh.mjs} +4 -3
  18. package/dist/{logs-BhCTVSZE.mjs → logs-DPgNkEde.mjs} +8 -6
  19. package/dist/{manage-7vQYn-gu.mjs → manage-DDmuMlFb.mjs} +6 -4
  20. package/dist/mcp-CS9s4sDK.mjs +82 -0
  21. package/dist/{org-C12wx9QM.mjs → org-9gTqtmtc.mjs} +9 -8
  22. package/dist/{owner-D4ghEkrK.mjs → owner-EZzWtfQx.mjs} +1 -1
  23. package/dist/{project-By-OBe-4.mjs → project-4Ol46ZwD.mjs} +4 -3
  24. package/dist/project-CKmDHyu_.mjs +47 -0
  25. package/dist/{project-DgdqyoZJ.mjs → project-DeRwedA-.mjs} +1 -1
  26. package/dist/{project-Cnr9eceg.mjs → project-uN9dGkls.mjs} +4 -3
  27. package/dist/realtime-C8DEUgai.mjs +28 -0
  28. package/dist/resources/api-key-revocation.d.mts +1 -1
  29. package/dist/resources/api-key-revocation.mjs +1 -1
  30. package/dist/resources/auth/auth.d.mts +1 -1
  31. package/dist/resources/auth/auth.mjs +1 -1
  32. package/dist/resources/auth/index.d.mts +1 -1
  33. package/dist/resources/auth/index.mjs +2 -2
  34. package/dist/resources/auth/session.d.mts +1 -1
  35. package/dist/resources/auth/session.mjs +1 -1
  36. package/dist/resources/auth-configs.d.mts +1 -1
  37. package/dist/resources/auth-configs.mjs +1 -1
  38. package/dist/resources/auth.d.mts +1 -1
  39. package/dist/resources/auth.mjs +2 -2
  40. package/dist/resources/cli/cli.d.mts +1 -1
  41. package/dist/resources/cli/cli.mjs +1 -1
  42. package/dist/resources/cli/index.d.mts +1 -1
  43. package/dist/resources/cli/index.mjs +2 -2
  44. package/dist/resources/cli/realtime.d.mts +1 -1
  45. package/dist/resources/cli/realtime.mjs +1 -1
  46. package/dist/resources/cli.d.mts +1 -1
  47. package/dist/resources/cli.mjs +2 -2
  48. package/dist/resources/connected-accounts.d.mts +1 -1
  49. package/dist/resources/connected-accounts.mjs +1 -1
  50. package/dist/resources/files.d.mts +1 -1
  51. package/dist/resources/files.mjs +1 -1
  52. package/dist/resources/index.d.mts +1 -1
  53. package/dist/resources/index.mjs +13 -13
  54. package/dist/resources/link.d.mts +1 -1
  55. package/dist/resources/link.mjs +1 -1
  56. package/dist/resources/logs/index.d.mts +1 -1
  57. package/dist/resources/logs/index.mjs +3 -3
  58. package/dist/resources/logs/logs.d.mts +1 -1
  59. package/dist/resources/logs/logs.mjs +1 -1
  60. package/dist/resources/logs/tools.d.mts +1 -1
  61. package/dist/resources/logs/tools.mjs +1 -1
  62. package/dist/resources/logs/triggers.d.mts +1 -1
  63. package/dist/resources/logs/triggers.mjs +1 -1
  64. package/dist/resources/logs.d.mts +1 -1
  65. package/dist/resources/logs.mjs +3 -3
  66. package/dist/resources/mcp/custom.d.mts +1 -1
  67. package/dist/resources/mcp/custom.mjs +1 -1
  68. package/dist/resources/mcp/generate.d.mts +1 -1
  69. package/dist/resources/mcp/generate.mjs +1 -1
  70. package/dist/resources/mcp/index.d.mts +1 -1
  71. package/dist/resources/mcp/index.mjs +3 -3
  72. package/dist/resources/mcp/mcp.d.mts +1 -1
  73. package/dist/resources/mcp/mcp.mjs +1 -1
  74. package/dist/resources/mcp.d.mts +1 -1
  75. package/dist/resources/mcp.mjs +3 -3
  76. package/dist/resources/org/clanker.d.mts +1 -1
  77. package/dist/resources/org/clanker.mjs +1 -1
  78. package/dist/resources/org/consumer/consumer.d.mts +1 -1
  79. package/dist/resources/org/consumer/consumer.mjs +1 -1
  80. package/dist/resources/org/consumer/index.d.mts +1 -1
  81. package/dist/resources/org/consumer/index.mjs +2 -2
  82. package/dist/resources/org/consumer/project.d.mts +1 -1
  83. package/dist/resources/org/consumer/project.mjs +1 -1
  84. package/dist/resources/org/consumer.d.mts +1 -1
  85. package/dist/resources/org/consumer.mjs +2 -2
  86. package/dist/resources/org/index.d.mts +1 -1
  87. package/dist/resources/org/index.mjs +6 -6
  88. package/dist/resources/org/org.d.mts +1 -1
  89. package/dist/resources/org/org.mjs +1 -1
  90. package/dist/resources/org/owner/index.d.mts +1 -1
  91. package/dist/resources/org/owner/index.mjs +2 -2
  92. package/dist/resources/org/owner/owner.d.mts +1 -1
  93. package/dist/resources/org/owner/owner.mjs +1 -1
  94. package/dist/resources/org/owner/project.d.mts +1 -1
  95. package/dist/resources/org/owner/project.mjs +1 -1
  96. package/dist/resources/org/owner.d.mts +1 -1
  97. package/dist/resources/org/owner.mjs +2 -2
  98. package/dist/resources/org/project.d.mts +1 -1
  99. package/dist/resources/org/project.mjs +1 -1
  100. package/dist/resources/org/usage.d.mts +1 -1
  101. package/dist/resources/org/usage.mjs +1 -1
  102. package/dist/resources/org.d.mts +1 -1
  103. package/dist/resources/org.mjs +6 -6
  104. package/dist/resources/project/index.d.mts +1 -1
  105. package/dist/resources/project/index.mjs +1 -1
  106. package/dist/resources/project/project.d.mts +1 -1
  107. package/dist/resources/project/project.mjs +1 -1
  108. package/dist/resources/project/usage.d.mts +1 -1
  109. package/dist/resources/project/usage.mjs +1 -1
  110. package/dist/resources/project.d.mts +1 -1
  111. package/dist/resources/project.mjs +1 -1
  112. package/dist/resources/tool-router/index.d.mts +1 -1
  113. package/dist/resources/tool-router/index.mjs +2 -2
  114. package/dist/resources/tool-router/session/files.d.mts +1 -1
  115. package/dist/resources/tool-router/session/files.mjs +1 -1
  116. package/dist/resources/tool-router/session/index.d.mts +1 -1
  117. package/dist/resources/tool-router/session/index.mjs +2 -2
  118. package/dist/resources/tool-router/session/session.d.mts +1 -1
  119. package/dist/resources/tool-router/session/session.mjs +1 -1
  120. package/dist/resources/tool-router/session.d.mts +1 -1
  121. package/dist/resources/tool-router/session.mjs +2 -2
  122. package/dist/resources/tool-router/tool-router.d.mts +1 -1
  123. package/dist/resources/tool-router/tool-router.mjs +1 -1
  124. package/dist/resources/tool-router.d.mts +1 -1
  125. package/dist/resources/tool-router.mjs +2 -2
  126. package/dist/resources/toolkits.d.mts +1 -1
  127. package/dist/resources/toolkits.mjs +1 -1
  128. package/dist/resources/tools.d.mts +1 -1
  129. package/dist/resources/tools.mjs +1 -1
  130. package/dist/resources/trigger-instances/index.d.mts +1 -1
  131. package/dist/resources/trigger-instances/index.mjs +2 -2
  132. package/dist/resources/trigger-instances/manage.d.mts +1 -1
  133. package/dist/resources/trigger-instances/manage.mjs +1 -1
  134. package/dist/resources/trigger-instances/trigger-instances.d.mts +1 -1
  135. package/dist/resources/trigger-instances/trigger-instances.mjs +1 -1
  136. package/dist/resources/trigger-instances.d.mts +1 -1
  137. package/dist/resources/trigger-instances.mjs +2 -2
  138. package/dist/resources/triggers-types.d.mts +1 -1
  139. package/dist/resources/triggers-types.mjs +1 -1
  140. package/dist/resources/webhook-endpoints.d.mts +1 -1
  141. package/dist/resources/webhook-endpoints.mjs +1 -1
  142. package/dist/resources/webhook-subscriptions.d.mts +1 -1
  143. package/dist/resources/webhook-subscriptions.mjs +1 -1
  144. package/dist/{session-CmqSfXtq.mjs → session-DWQaRfV_.mjs} +39 -26
  145. package/dist/{session-Ci0MoTTn.mjs → session-EJK1YmKD.mjs} +3 -2
  146. package/dist/{tool-router-DbmIxiU5.mjs → tool-router-CqRP0_gv.mjs} +1 -1
  147. package/dist/toolkits-B3eGuBu0.mjs +48 -0
  148. package/dist/tools-B4uip2mE.mjs +33 -0
  149. package/dist/{tools-BO1wTIiE.mjs → tools-fb-vXe-l.mjs} +21 -14
  150. package/dist/{trigger-instances-CoEohjcv.mjs → trigger-instances-BCL5DJ0o.mjs} +8 -6
  151. package/dist/{triggers-BwsETpsM.mjs → triggers-DnDhI69h.mjs} +6 -4
  152. package/dist/triggers-types-HHDB0mLH.mjs +34 -0
  153. package/dist/{usage-D6ahTV_Y.mjs → usage-B6vtknow.mjs} +7 -5
  154. package/dist/{usage-BJsJ4nsd.mjs → usage-CzAfsIc4.mjs} +7 -5
  155. package/dist/{webhook-endpoints-CyWYVPMe.mjs → webhook-endpoints-DRJgQ6s0.mjs} +15 -10
  156. package/dist/webhook-subscriptions-WcdnIkGU.mjs +55 -0
  157. package/package.json +3 -1
  158. package/dist/mcp-r-SWyCDh.mjs +0 -73
  159. package/dist/project-DzrdSIis.mjs +0 -42
  160. package/dist/realtime-DHJnO2Ye.mjs +0 -26
  161. package/dist/toolkits-BUWB3p_C.mjs +0 -43
  162. package/dist/tools-B4kHPHbe.mjs +0 -30
  163. package/dist/triggers-types-DmOurxxx.mjs +0 -31
  164. package/dist/webhook-subscriptions-BgnCTUGn.mjs +0 -48
@@ -115,6 +115,7 @@ const mergeHeaders = (sources) => {
115
115
  const values = new Headers();
116
116
  const nulls = /* @__PURE__ */ new Set();
117
117
  for (const source of sources) {
118
+ if (!source) continue;
118
119
  const seen = /* @__PURE__ */ new Set();
119
120
  for (const [name, value] of iterateHeaders(source)) {
120
121
  const lowerName = name.toLowerCase();
@@ -417,6 +418,7 @@ const FOREIGN_CREDENTIAL_HEADERS = ["x-user-api-key", "x-org-api-key"];
417
418
  * may carry `null` to delete what an earlier one set (`buildHeaders`).
418
419
  */
419
420
  const callerPlacedCredential = (sources) => {
421
+ if (!sources.some(Boolean)) return false;
420
422
  const headers = buildHeaders(sources);
421
423
  return FOREIGN_CREDENTIAL_HEADERS.some((name) => headers.has(name));
422
424
  };
@@ -803,17 +805,20 @@ const isTemplateParam = (segment) => segment.startsWith("{") && segment.endsWith
803
805
  * (`/toolkits/{slug}` against `/toolkits/categories`) the literal wins, which
804
806
  * is the same most-specific-first rule the server routes by.
805
807
  *
806
- * **Known limit of recovering identity from the path.** Two accessors can emit
807
- * byte-identical requests — `client.toolkits.retrieve('categories')` and
808
+ * **Known limit of recovering identity from the path**, and who still pays
809
+ * it. Two accessors can emit byte-identical requests —
810
+ * `client.toolkits.retrieve('categories')` and
808
811
  * `client.toolkits.retrieveCategories()` both dispatch
809
812
  * `GET /api/v3.1/toolkits/categories` — so nothing observable distinguishes
810
- * them here and the literal sibling is always the one named. The warning text
811
- * can therefore name the sibling rather than the accessor the caller wrote,
812
- * and the warn-once record is charged to that same sibling. This is
813
- * inherent to reverse-matching, not a bug in the matcher: the only fix is to
814
- * thread operation identity through dispatch, which this design deliberately
815
- * declined (wayfinder ticket 34). The affected pairs are few and the
816
- * consequence is a misnamed advisory, never a wrong call.
813
+ * them here and the literal sibling is always the one named. That is inherent
814
+ * to reverse-matching, not a bug in the matcher.
815
+ *
816
+ * Generated calls no longer reach this function at all: each one carries its
817
+ * own descriptor through dispatch (`withOperation` in `request.ts`), so
818
+ * `toolkits.retrieve('categories')` is now named as itself. What is left here
819
+ * is the escape hatch `client.get('/api/v3.1/toolkits/categories')` whose
820
+ * identity genuinely is not knowable before runtime, and for which naming the
821
+ * literal sibling remains the honest answer.
817
822
  */
818
823
  const matchOperation = (method, path, operations) => {
819
824
  const segments = pathSegments(path);
@@ -896,10 +901,10 @@ const noticeKey = (notice) => [
896
901
  * same `Response` to `asResponse()`, `withResponse()` and the parsed path
897
902
  * alike.
898
903
  */
899
- const inspectDeprecation = ({ response, method, path, baseURL, operations, seen, warn }) => {
904
+ const inspectDeprecation = ({ response, method, path, operation: known, baseURL, operations, seen, warn }) => {
900
905
  const notice = parseDeprecation(response.headers, response.url || baseURL, baseURL);
901
906
  if (notice === null) return;
902
- const operation = matchOperation(method, path, operations);
907
+ const operation = known ?? matchOperation(method, path, operations);
903
908
  const key = `${operation === null ? `${method} ${pathSegments(path).join("/")}` : operation.chain.join(".")}${KEY_SEPARATOR}${noticeKey(notice)}`;
904
909
  if (seen.has(key)) return;
905
910
  if (seen.size >= MAX_TRACKED_NOTICES) return;
@@ -962,6 +967,46 @@ const inspectDeprecatedInputs = ({ operation, query, body, headers, table, seen,
962
967
 
963
968
  //#endregion
964
969
  //#region src/compat/request.ts
970
+ /**
971
+ * Where a generated call records *which operation it is*.
972
+ *
973
+ * A resource method knows its own identity at code-generation time, and until
974
+ * now threw it away: dispatch carried only a method and a substituted path, so
975
+ * the kernel recovered the operation by matching that path back against all
976
+ * 104 templates on every single request (`matchOperation`). Recovery is still
977
+ * the right answer for an escape-hatch `client.get('/api/v3.1/…')`, whose
978
+ * identity genuinely is not knowable until runtime — but for a generated call
979
+ * it re-derives a fact the call site already had.
980
+ *
981
+ * The channel is a module-private symbol rather than a `RequestOptions`
982
+ * property, because `RequestOptions` is the Stainless options bag and its
983
+ * shape is the product (`test/types/*.test-d.ts` pins it structurally). A
984
+ * symbol key is invisible to that pinning, to `Object.keys`, to
985
+ * `JSON.stringify`, and to every serializer in this file — the descriptor
986
+ * reaches the kernel without becoming part of any public type or any byte on
987
+ * the wire.
988
+ *
989
+ * It is deliberately *enumerable*: `client.get()` re-spreads the options bag
990
+ * into `request()`, and object spread copies enumerable own symbols. A
991
+ * non-enumerable definition would silently drop the descriptor there and
992
+ * degrade every generated call back to matching, which is exactly the kind of
993
+ * regression that measures fine and reports nothing.
994
+ */
995
+ const OPERATION = Symbol("composio.operation");
996
+ /**
997
+ * Attach a generated call's operation to the options bag it dispatches with.
998
+ *
999
+ * Called with the freshly built literal — never with the caller's own object —
1000
+ * and *after* the caller's options have been spread into it, so a caller
1001
+ * cannot pre-empt the descriptor: the write happens last, and the key it
1002
+ * writes to is not one a caller can name.
1003
+ */
1004
+ const withOperation = (operation, options) => {
1005
+ options[OPERATION] = operation;
1006
+ return options;
1007
+ };
1008
+ /** The operation a generated call recorded, or `undefined` for a raw one. */
1009
+ const readOperation = (options) => options[OPERATION];
965
1010
  /** A request label safe to print: dynamic path values and URL secrets are excluded. */
966
1011
  const printableURL = (url, operation) => `${new URL(url).origin}${operation?.path ?? "/<custom>"}`;
967
1012
  const emitLog = (config, level, message, metadata) => {
@@ -1208,6 +1253,14 @@ const kernelInternals = { sleep };
1208
1253
  */
1209
1254
  const buildRequestHeaders = (config, options, requestURL, bodyHeaders, withdrawn, scheme, callerPlaced) => {
1210
1255
  const credential = withdrawn || callerPlaced ? null : credentialForRequest(config.baseURL, scheme, config.credentials, requestURL);
1256
+ if (!withdrawn && bodyHeaders === void 0 && !config.defaultHeaders && !options.headers) {
1257
+ const direct = new Headers({
1258
+ accept: "application/json",
1259
+ "user-agent": config.userAgent
1260
+ });
1261
+ if (credential !== null) direct.set(credential.name, credential.value);
1262
+ return direct;
1263
+ }
1211
1264
  const headers = buildHeaders([
1212
1265
  {
1213
1266
  accept: "application/json",
@@ -1271,7 +1324,7 @@ const dispatchWithRedirects = async (config, options, initialURL, initialBody, i
1271
1324
  for (let hop = 0;; hop++) {
1272
1325
  const headers = buildRequestHeaders(config, options, url, bodyHeaders, withdrawn, scheme, callerPlaced);
1273
1326
  const delegated = hop === 0 && !carriesCredentials(headers);
1274
- const response = await config.fetch.call(void 0, url, {
1327
+ const init = {
1275
1328
  method,
1276
1329
  headers,
1277
1330
  ...body !== void 0 ? { body } : {},
@@ -1279,7 +1332,8 @@ const dispatchWithRedirects = async (config, options, initialURL, initialBody, i
1279
1332
  ...options.fetchOptions,
1280
1333
  redirect: delegated ? "follow" : "manual",
1281
1334
  signal
1282
- });
1335
+ };
1336
+ const response = config.transport === void 0 ? await config.fetch.call(void 0, url, init) : await config.transport.send(new Request(url, init));
1283
1337
  if (delegated) return response;
1284
1338
  if (isOpaqueRedirect(response)) throw new APIConnectionError({ message: OPAQUE_REDIRECT });
1285
1339
  if (!REDIRECT_STATUSES.has(response.status)) return response;
@@ -1322,14 +1376,15 @@ async function makeRequest(config, options) {
1322
1376
  const { body, bodyHeaders } = buildBody(options);
1323
1377
  const userSignal = options.signal ?? void 0;
1324
1378
  const method = options.method.toUpperCase();
1325
- const operation = matchOperation(options.method, options.path, config.operations ?? []);
1379
+ const threaded = readOperation(options);
1380
+ const operation = threaded ?? matchOperation(options.method, options.path, config.operations ?? []);
1326
1381
  const requestLog = config.onLog === void 0 ? void 0 : {
1327
1382
  method,
1328
1383
  url: printableURL(url, operation),
1329
1384
  maxAttempts: maxRetries + 1
1330
1385
  };
1331
1386
  const scheme = schemeForRequest(config, operation);
1332
- config.onRequest?.(operation, query, options.body, buildHeaders([config.defaultHeaders, options.headers]));
1387
+ if (config.onRequest !== void 0 && (threaded === void 0 || threaded.hasDeprecatedInputs === true)) config.onRequest(operation, query, options.body, buildHeaders([config.defaultHeaders, options.headers]));
1333
1388
  for (let numRetries = 0;; numRetries++) {
1334
1389
  if (userSignal?.aborted) throw new APIUserAbortError();
1335
1390
  const attempt = numRetries + 1;
@@ -1420,4 +1475,776 @@ async function makeRequest(config, options) {
1420
1475
  }
1421
1476
 
1422
1477
  //#endregion
1423
- export { InternalServerError as _, inspectDeprecatedInputs as a, RateLimitError as b, mergeHeaders as c, APIError as d, APIUserAbortError as f, ConflictError as g, ComposioError as h, safeJSON as i, APIConnectionError as l, BadRequestError as m, makeRequest as n, inspectDeprecation as o, AuthenticationError as p, path as r, assertCredentialTransport as s, castToError as t, APIConnectionTimeoutError as u, NotFoundError as v, UnprocessableEntityError as x, PermissionDeniedError as y };
1478
+ //#region src/compat/generated-operations.ts
1479
+ const GENERATED_OPERATIONS = [
1480
+ {
1481
+ method: "delete",
1482
+ path: "/api/v3.1/auth_configs/{nanoid}",
1483
+ chain: ["authConfigs", "delete"],
1484
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1485
+ },
1486
+ {
1487
+ method: "delete",
1488
+ path: "/api/v3.1/connected_accounts/{nanoid}",
1489
+ chain: ["connectedAccounts", "delete"],
1490
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1491
+ },
1492
+ {
1493
+ method: "delete",
1494
+ path: "/api/v3.1/mcp/servers/{serverId}/instances/{instanceId}",
1495
+ chain: ["mcp", "deleteInstance"]
1496
+ },
1497
+ {
1498
+ method: "delete",
1499
+ path: "/api/v3.1/mcp/{id}",
1500
+ chain: ["mcp", "delete"]
1501
+ },
1502
+ {
1503
+ method: "delete",
1504
+ path: "/api/v3.1/org/owner/project/{nano_id}",
1505
+ chain: [
1506
+ "org",
1507
+ "owner",
1508
+ "project",
1509
+ "delete"
1510
+ ],
1511
+ schemes: ["OrgApiKeyAuth"]
1512
+ },
1513
+ {
1514
+ method: "delete",
1515
+ path: "/api/v3.1/tool_router/session/{session_id}",
1516
+ chain: [
1517
+ "toolRouter",
1518
+ "session",
1519
+ "delete"
1520
+ ]
1521
+ },
1522
+ {
1523
+ method: "delete",
1524
+ path: "/api/v3.1/trigger_instances/manage/{triggerId}",
1525
+ chain: [
1526
+ "triggerInstances",
1527
+ "manage",
1528
+ "delete"
1529
+ ],
1530
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1531
+ },
1532
+ {
1533
+ method: "delete",
1534
+ path: "/api/v3.1/webhook_subscriptions/{id}",
1535
+ chain: ["webhookSubscriptions", "delete"]
1536
+ },
1537
+ {
1538
+ method: "get",
1539
+ path: "/api/v3.1/auth/session/info",
1540
+ chain: [
1541
+ "auth",
1542
+ "session",
1543
+ "retrieveInfo"
1544
+ ],
1545
+ schemes: ["UserApiKeyAuth"]
1546
+ },
1547
+ {
1548
+ method: "get",
1549
+ path: "/api/v3.1/auth_configs",
1550
+ chain: ["authConfigs", "list"],
1551
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"],
1552
+ hasDeprecatedInputs: true
1553
+ },
1554
+ {
1555
+ method: "get",
1556
+ path: "/api/v3.1/auth_configs/{nanoid}",
1557
+ chain: ["authConfigs", "retrieve"],
1558
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1559
+ },
1560
+ {
1561
+ method: "get",
1562
+ path: "/api/v3.1/cli/get-session",
1563
+ chain: ["cli", "getSession"],
1564
+ schemes: ["no_auth"]
1565
+ },
1566
+ {
1567
+ method: "get",
1568
+ path: "/api/v3.1/cli/realtime/credentials",
1569
+ chain: [
1570
+ "cli",
1571
+ "realtime",
1572
+ "credentials"
1573
+ ],
1574
+ schemes: ["UserApiKeyAuth"]
1575
+ },
1576
+ {
1577
+ method: "get",
1578
+ path: "/api/v3.1/connected_accounts",
1579
+ chain: ["connectedAccounts", "list"],
1580
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1581
+ },
1582
+ {
1583
+ method: "get",
1584
+ path: "/api/v3.1/connected_accounts/{nanoid}",
1585
+ chain: ["connectedAccounts", "retrieve"],
1586
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1587
+ },
1588
+ {
1589
+ method: "get",
1590
+ path: "/api/v3.1/files/list",
1591
+ chain: ["files", "list"]
1592
+ },
1593
+ {
1594
+ method: "get",
1595
+ path: "/api/v3.1/internal/action_execution/fields",
1596
+ chain: [
1597
+ "logs",
1598
+ "tools",
1599
+ "listFields"
1600
+ ]
1601
+ },
1602
+ {
1603
+ method: "get",
1604
+ path: "/api/v3.1/internal/action_execution/log/{id}",
1605
+ chain: [
1606
+ "logs",
1607
+ "tools",
1608
+ "retrieve"
1609
+ ]
1610
+ },
1611
+ {
1612
+ method: "get",
1613
+ path: "/api/v3.1/internal/trigger/log/{id}",
1614
+ chain: [
1615
+ "logs",
1616
+ "triggers",
1617
+ "retrieve"
1618
+ ]
1619
+ },
1620
+ {
1621
+ method: "get",
1622
+ path: "/api/v3.1/logs/tool_execution/{id}",
1623
+ chain: ["logs", "retrieveToolExecution"]
1624
+ },
1625
+ {
1626
+ method: "get",
1627
+ path: "/api/v3.1/mcp/app/{appKey}",
1628
+ chain: ["mcp", "retrieveApp"]
1629
+ },
1630
+ {
1631
+ method: "get",
1632
+ path: "/api/v3.1/mcp/servers",
1633
+ chain: ["mcp", "list"]
1634
+ },
1635
+ {
1636
+ method: "get",
1637
+ path: "/api/v3.1/mcp/servers/{serverId}/instances",
1638
+ chain: ["mcp", "listInstances"]
1639
+ },
1640
+ {
1641
+ method: "get",
1642
+ path: "/api/v3.1/mcp/{id}",
1643
+ chain: ["mcp", "retrieve"]
1644
+ },
1645
+ {
1646
+ method: "get",
1647
+ path: "/api/v3.1/org/consumer/connected_toolkits",
1648
+ chain: [
1649
+ "org",
1650
+ "consumer",
1651
+ "listConnectedToolkits"
1652
+ ],
1653
+ schemes: ["UserApiKeyAuth"]
1654
+ },
1655
+ {
1656
+ method: "get",
1657
+ path: "/api/v3.1/org/list",
1658
+ chain: ["org", "list"],
1659
+ schemes: ["UserApiKeyAuth"]
1660
+ },
1661
+ {
1662
+ method: "get",
1663
+ path: "/api/v3.1/org/owner/project/list",
1664
+ chain: [
1665
+ "org",
1666
+ "owner",
1667
+ "project",
1668
+ "list"
1669
+ ],
1670
+ schemes: ["OrgApiKeyAuth"]
1671
+ },
1672
+ {
1673
+ method: "get",
1674
+ path: "/api/v3.1/org/owner/project/{nano_id}",
1675
+ chain: [
1676
+ "org",
1677
+ "owner",
1678
+ "project",
1679
+ "retrieve"
1680
+ ],
1681
+ schemes: ["OrgApiKeyAuth"]
1682
+ },
1683
+ {
1684
+ method: "get",
1685
+ path: "/api/v3.1/org/project/list",
1686
+ chain: [
1687
+ "org",
1688
+ "project",
1689
+ "list"
1690
+ ],
1691
+ schemes: ["UserApiKeyAuth"]
1692
+ },
1693
+ {
1694
+ method: "get",
1695
+ path: "/api/v3.1/tool_router/session/{session_id}",
1696
+ chain: [
1697
+ "toolRouter",
1698
+ "session",
1699
+ "retrieve"
1700
+ ]
1701
+ },
1702
+ {
1703
+ method: "get",
1704
+ path: "/api/v3.1/tool_router/session/{session_id}/config_history",
1705
+ chain: [
1706
+ "toolRouter",
1707
+ "session",
1708
+ "configHistory"
1709
+ ]
1710
+ },
1711
+ {
1712
+ method: "get",
1713
+ path: "/api/v3.1/tool_router/session/{session_id}/mounts/{mount_id}/items",
1714
+ chain: [
1715
+ "toolRouter",
1716
+ "session",
1717
+ "files",
1718
+ "list"
1719
+ ]
1720
+ },
1721
+ {
1722
+ method: "get",
1723
+ path: "/api/v3.1/tool_router/session/{session_id}/toolkits",
1724
+ chain: [
1725
+ "toolRouter",
1726
+ "session",
1727
+ "toolkits"
1728
+ ]
1729
+ },
1730
+ {
1731
+ method: "get",
1732
+ path: "/api/v3.1/tool_router/session/{session_id}/tools",
1733
+ chain: [
1734
+ "toolRouter",
1735
+ "session",
1736
+ "tools"
1737
+ ]
1738
+ },
1739
+ {
1740
+ method: "get",
1741
+ path: "/api/v3.1/toolkits",
1742
+ chain: ["toolkits", "list"],
1743
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1744
+ },
1745
+ {
1746
+ method: "get",
1747
+ path: "/api/v3.1/toolkits/categories",
1748
+ chain: ["toolkits", "retrieveCategories"]
1749
+ },
1750
+ {
1751
+ method: "get",
1752
+ path: "/api/v3.1/toolkits/changelog",
1753
+ chain: ["toolkits", "retrieveChangelog"]
1754
+ },
1755
+ {
1756
+ method: "get",
1757
+ path: "/api/v3.1/toolkits/{slug}",
1758
+ chain: ["toolkits", "retrieve"],
1759
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1760
+ },
1761
+ {
1762
+ method: "get",
1763
+ path: "/api/v3.1/tools",
1764
+ chain: ["tools", "list"],
1765
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"],
1766
+ hasDeprecatedInputs: true
1767
+ },
1768
+ {
1769
+ method: "get",
1770
+ path: "/api/v3.1/tools/enum",
1771
+ chain: ["tools", "retrieveEnum"],
1772
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1773
+ },
1774
+ {
1775
+ method: "get",
1776
+ path: "/api/v3.1/tools/{tool_slug}",
1777
+ chain: ["tools", "retrieve"],
1778
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1779
+ },
1780
+ {
1781
+ method: "get",
1782
+ path: "/api/v3.1/trigger_instances/active",
1783
+ chain: ["triggerInstances", "listActive"],
1784
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"],
1785
+ hasDeprecatedInputs: true
1786
+ },
1787
+ {
1788
+ method: "get",
1789
+ path: "/api/v3.1/triggers_types",
1790
+ chain: ["triggersTypes", "list"],
1791
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1792
+ },
1793
+ {
1794
+ method: "get",
1795
+ path: "/api/v3.1/triggers_types/list/enum",
1796
+ chain: ["triggersTypes", "retrieveEnum"],
1797
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1798
+ },
1799
+ {
1800
+ method: "get",
1801
+ path: "/api/v3.1/triggers_types/{slug}",
1802
+ chain: ["triggersTypes", "retrieve"],
1803
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1804
+ },
1805
+ {
1806
+ method: "get",
1807
+ path: "/api/v3.1/webhook_endpoints",
1808
+ chain: ["webhookEndpoints", "list"]
1809
+ },
1810
+ {
1811
+ method: "get",
1812
+ path: "/api/v3.1/webhook_endpoints/{nano_id}",
1813
+ chain: ["webhookEndpoints", "retrieve"]
1814
+ },
1815
+ {
1816
+ method: "get",
1817
+ path: "/api/v3.1/webhook_subscriptions",
1818
+ chain: ["webhookSubscriptions", "list"]
1819
+ },
1820
+ {
1821
+ method: "get",
1822
+ path: "/api/v3.1/webhook_subscriptions/event_types",
1823
+ chain: ["webhookSubscriptions", "listEventTypes"]
1824
+ },
1825
+ {
1826
+ method: "get",
1827
+ path: "/api/v3.1/webhook_subscriptions/{id}",
1828
+ chain: ["webhookSubscriptions", "retrieve"]
1829
+ },
1830
+ {
1831
+ method: "patch",
1832
+ path: "/api/v3.1/auth_configs/{nanoid}",
1833
+ chain: ["authConfigs", "update"],
1834
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"],
1835
+ hasDeprecatedInputs: true
1836
+ },
1837
+ {
1838
+ method: "patch",
1839
+ path: "/api/v3.1/auth_configs/{nanoid}/{status}",
1840
+ chain: ["authConfigs", "updateStatus"]
1841
+ },
1842
+ {
1843
+ method: "patch",
1844
+ path: "/api/v3.1/connected_accounts/{nanoId}/status",
1845
+ chain: ["connectedAccounts", "updateStatus"]
1846
+ },
1847
+ {
1848
+ method: "patch",
1849
+ path: "/api/v3.1/connected_accounts/{nanoid}",
1850
+ chain: ["connectedAccounts", "patch"]
1851
+ },
1852
+ {
1853
+ method: "patch",
1854
+ path: "/api/v3.1/mcp/{id}",
1855
+ chain: ["mcp", "update"]
1856
+ },
1857
+ {
1858
+ method: "patch",
1859
+ path: "/api/v3.1/tool_router/session/{session_id}",
1860
+ chain: [
1861
+ "toolRouter",
1862
+ "session",
1863
+ "patch"
1864
+ ]
1865
+ },
1866
+ {
1867
+ method: "patch",
1868
+ path: "/api/v3.1/trigger_instances/manage/{triggerId}",
1869
+ chain: [
1870
+ "triggerInstances",
1871
+ "manage",
1872
+ "update"
1873
+ ],
1874
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1875
+ },
1876
+ {
1877
+ method: "patch",
1878
+ path: "/api/v3.1/webhook_endpoints/{nano_id}",
1879
+ chain: ["webhookEndpoints", "update"]
1880
+ },
1881
+ {
1882
+ method: "patch",
1883
+ path: "/api/v3.1/webhook_subscriptions/{id}",
1884
+ chain: ["webhookSubscriptions", "update"]
1885
+ },
1886
+ {
1887
+ method: "post",
1888
+ path: "/api/v3.1/api_key_revocation",
1889
+ chain: ["apiKeyRevocation", "create"],
1890
+ schemes: ["no_auth"]
1891
+ },
1892
+ {
1893
+ method: "post",
1894
+ path: "/api/v3.1/auth_configs",
1895
+ chain: ["authConfigs", "create"],
1896
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1897
+ },
1898
+ {
1899
+ method: "post",
1900
+ path: "/api/v3.1/cli/codact_failures",
1901
+ chain: ["cli", "createCodactFailure"],
1902
+ schemes: ["UserApiKeyAuth"]
1903
+ },
1904
+ {
1905
+ method: "post",
1906
+ path: "/api/v3.1/cli/create-session",
1907
+ chain: ["cli", "createSession"],
1908
+ schemes: ["no_auth"]
1909
+ },
1910
+ {
1911
+ method: "post",
1912
+ path: "/api/v3.1/cli/realtime/auth",
1913
+ chain: [
1914
+ "cli",
1915
+ "realtime",
1916
+ "auth"
1917
+ ],
1918
+ schemes: ["UserApiKeyAuth"]
1919
+ },
1920
+ {
1921
+ method: "post",
1922
+ path: "/api/v3.1/connected_accounts",
1923
+ chain: ["connectedAccounts", "create"]
1924
+ },
1925
+ {
1926
+ method: "post",
1927
+ path: "/api/v3.1/connected_accounts/link",
1928
+ chain: ["link", "create"],
1929
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
1930
+ },
1931
+ {
1932
+ method: "post",
1933
+ path: "/api/v3.1/connected_accounts/{nanoid}/refresh",
1934
+ chain: ["connectedAccounts", "refresh"]
1935
+ },
1936
+ {
1937
+ method: "post",
1938
+ path: "/api/v3.1/connected_accounts/{nanoid}/revoke",
1939
+ chain: ["connectedAccounts", "revoke"]
1940
+ },
1941
+ {
1942
+ method: "post",
1943
+ path: "/api/v3.1/files/upload/request",
1944
+ chain: ["files", "createPresignedURL"]
1945
+ },
1946
+ {
1947
+ method: "post",
1948
+ path: "/api/v3.1/internal/action_execution/logs",
1949
+ chain: [
1950
+ "logs",
1951
+ "tools",
1952
+ "list"
1953
+ ]
1954
+ },
1955
+ {
1956
+ method: "post",
1957
+ path: "/api/v3.1/internal/trigger/logs",
1958
+ chain: [
1959
+ "logs",
1960
+ "triggers",
1961
+ "list"
1962
+ ]
1963
+ },
1964
+ {
1965
+ method: "post",
1966
+ path: "/api/v3.1/logs/tool_execution",
1967
+ chain: ["logs", "createToolExecution"]
1968
+ },
1969
+ {
1970
+ method: "post",
1971
+ path: "/api/v3.1/mcp/servers",
1972
+ chain: ["mcp", "create"]
1973
+ },
1974
+ {
1975
+ method: "post",
1976
+ path: "/api/v3.1/mcp/servers/custom",
1977
+ chain: [
1978
+ "mcp",
1979
+ "custom",
1980
+ "create"
1981
+ ]
1982
+ },
1983
+ {
1984
+ method: "post",
1985
+ path: "/api/v3.1/mcp/servers/generate",
1986
+ chain: [
1987
+ "mcp",
1988
+ "generate",
1989
+ "url"
1990
+ ]
1991
+ },
1992
+ {
1993
+ method: "post",
1994
+ path: "/api/v3.1/mcp/servers/{serverId}/instances",
1995
+ chain: ["mcp", "createInstance"]
1996
+ },
1997
+ {
1998
+ method: "post",
1999
+ path: "/api/v3.1/org/clanker/create_claim",
2000
+ chain: [
2001
+ "org",
2002
+ "clanker",
2003
+ "createClaim"
2004
+ ],
2005
+ schemes: ["OrgApiKeyAuth"]
2006
+ },
2007
+ {
2008
+ method: "post",
2009
+ path: "/api/v3.1/org/consumer/project/resolve",
2010
+ chain: [
2011
+ "org",
2012
+ "consumer",
2013
+ "project",
2014
+ "resolve"
2015
+ ],
2016
+ schemes: ["UserApiKeyAuth"]
2017
+ },
2018
+ {
2019
+ method: "post",
2020
+ path: "/api/v3.1/org/owner/project/new",
2021
+ chain: [
2022
+ "org",
2023
+ "owner",
2024
+ "project",
2025
+ "create"
2026
+ ],
2027
+ schemes: ["OrgApiKeyAuth"]
2028
+ },
2029
+ {
2030
+ method: "post",
2031
+ path: "/api/v3.1/org/owner/project/{nano_id}/regenerate_api_key",
2032
+ chain: [
2033
+ "org",
2034
+ "owner",
2035
+ "project",
2036
+ "regenerateAPIKey"
2037
+ ],
2038
+ schemes: ["OrgApiKeyAuth"]
2039
+ },
2040
+ {
2041
+ method: "post",
2042
+ path: "/api/v3.1/org/usage/summary",
2043
+ chain: [
2044
+ "org",
2045
+ "usage",
2046
+ "retrieveSummary"
2047
+ ],
2048
+ schemes: ["OrgApiKeyAuth"]
2049
+ },
2050
+ {
2051
+ method: "post",
2052
+ path: "/api/v3.1/org/usage/{entity_type}",
2053
+ chain: [
2054
+ "org",
2055
+ "usage",
2056
+ "retrieve"
2057
+ ],
2058
+ schemes: ["OrgApiKeyAuth"]
2059
+ },
2060
+ {
2061
+ method: "post",
2062
+ path: "/api/v3.1/project/usage/summary",
2063
+ chain: [
2064
+ "project",
2065
+ "usage",
2066
+ "retrieveSummary"
2067
+ ]
2068
+ },
2069
+ {
2070
+ method: "post",
2071
+ path: "/api/v3.1/project/usage/{entity_type}",
2072
+ chain: [
2073
+ "project",
2074
+ "usage",
2075
+ "retrieve"
2076
+ ]
2077
+ },
2078
+ {
2079
+ method: "post",
2080
+ path: "/api/v3.1/tool_router/session",
2081
+ chain: [
2082
+ "toolRouter",
2083
+ "session",
2084
+ "create"
2085
+ ]
2086
+ },
2087
+ {
2088
+ method: "post",
2089
+ path: "/api/v3.1/tool_router/session/{session_id}/attach",
2090
+ chain: [
2091
+ "toolRouter",
2092
+ "session",
2093
+ "attach"
2094
+ ]
2095
+ },
2096
+ {
2097
+ method: "post",
2098
+ path: "/api/v3.1/tool_router/session/{session_id}/execute",
2099
+ chain: [
2100
+ "toolRouter",
2101
+ "session",
2102
+ "execute"
2103
+ ],
2104
+ schemes: ["ApiKeyAuth", "workbench_access_key"]
2105
+ },
2106
+ {
2107
+ method: "post",
2108
+ path: "/api/v3.1/tool_router/session/{session_id}/execute_meta",
2109
+ chain: [
2110
+ "toolRouter",
2111
+ "session",
2112
+ "executeMeta"
2113
+ ]
2114
+ },
2115
+ {
2116
+ method: "post",
2117
+ path: "/api/v3.1/tool_router/session/{session_id}/link",
2118
+ chain: [
2119
+ "toolRouter",
2120
+ "session",
2121
+ "link"
2122
+ ]
2123
+ },
2124
+ {
2125
+ method: "post",
2126
+ path: "/api/v3.1/tool_router/session/{session_id}/mounts/{mount_id}/delete",
2127
+ chain: [
2128
+ "toolRouter",
2129
+ "session",
2130
+ "files",
2131
+ "delete"
2132
+ ]
2133
+ },
2134
+ {
2135
+ method: "post",
2136
+ path: "/api/v3.1/tool_router/session/{session_id}/mounts/{mount_id}/download_url",
2137
+ chain: [
2138
+ "toolRouter",
2139
+ "session",
2140
+ "files",
2141
+ "createDownloadURL"
2142
+ ]
2143
+ },
2144
+ {
2145
+ method: "post",
2146
+ path: "/api/v3.1/tool_router/session/{session_id}/mounts/{mount_id}/upload_url",
2147
+ chain: [
2148
+ "toolRouter",
2149
+ "session",
2150
+ "files",
2151
+ "createUploadURL"
2152
+ ]
2153
+ },
2154
+ {
2155
+ method: "post",
2156
+ path: "/api/v3.1/tool_router/session/{session_id}/proxy_execute",
2157
+ chain: [
2158
+ "toolRouter",
2159
+ "session",
2160
+ "proxyExecute"
2161
+ ],
2162
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"]
2163
+ },
2164
+ {
2165
+ method: "post",
2166
+ path: "/api/v3.1/tool_router/session/{session_id}/search",
2167
+ chain: [
2168
+ "toolRouter",
2169
+ "session",
2170
+ "search"
2171
+ ]
2172
+ },
2173
+ {
2174
+ method: "post",
2175
+ path: "/api/v3.1/toolkits/multi",
2176
+ chain: ["toolkits", "retrieveMulti"]
2177
+ },
2178
+ {
2179
+ method: "post",
2180
+ path: "/api/v3.1/tools/execute/proxy",
2181
+ chain: ["tools", "proxy"],
2182
+ hasDeprecatedInputs: true
2183
+ },
2184
+ {
2185
+ method: "post",
2186
+ path: "/api/v3.1/tools/execute/{tool_slug}",
2187
+ chain: ["tools", "execute"],
2188
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"],
2189
+ hasDeprecatedInputs: true
2190
+ },
2191
+ {
2192
+ method: "post",
2193
+ path: "/api/v3.1/tools/execute/{tool_slug}/input",
2194
+ chain: ["tools", "getInput"]
2195
+ },
2196
+ {
2197
+ method: "post",
2198
+ path: "/api/v3.1/tools/scopes/required",
2199
+ chain: ["tools", "retrieveRequiredScopes"]
2200
+ },
2201
+ {
2202
+ method: "post",
2203
+ path: "/api/v3.1/trigger_instances/{slug}/upsert",
2204
+ chain: ["triggerInstances", "upsert"],
2205
+ schemes: ["ApiKeyAuth", "UserApiKeyAuth"],
2206
+ hasDeprecatedInputs: true
2207
+ },
2208
+ {
2209
+ method: "post",
2210
+ path: "/api/v3.1/webhook_endpoints",
2211
+ chain: ["webhookEndpoints", "create"]
2212
+ },
2213
+ {
2214
+ method: "post",
2215
+ path: "/api/v3.1/webhook_endpoints/{nano_id}",
2216
+ chain: ["webhookEndpoints", "replace"]
2217
+ },
2218
+ {
2219
+ method: "post",
2220
+ path: "/api/v3.1/webhook_subscriptions",
2221
+ chain: ["webhookSubscriptions", "create"]
2222
+ },
2223
+ {
2224
+ method: "post",
2225
+ path: "/api/v3.1/webhook_subscriptions/{id}/rotate_secret",
2226
+ chain: ["webhookSubscriptions", "rotateSecret"]
2227
+ }
2228
+ ];
2229
+ /**
2230
+ * The same descriptors, indexed by public chain — what a generated resource
2231
+ * resolves its own operation from at module load, so the kernel reads
2232
+ * identity off the call instead of recovering it from the URL.
2233
+ *
2234
+ * Built from the array rather than emitted a second time, so the two indexes
2235
+ * hold the *same objects* and cannot drift apart.
2236
+ */
2237
+ const GENERATED_OPERATIONS_BY_KEY = new Map(GENERATED_OPERATIONS.map((operation) => [operation.chain.join("."), operation]));
2238
+ /**
2239
+ * The descriptor a generated method dispatches with. A miss is a generator
2240
+ * defect, not a runtime condition, so it fails at import time rather than
2241
+ * silently degrading that method back to path matching.
2242
+ */
2243
+ const generatedOperation = (chainKey) => {
2244
+ const operation = GENERATED_OPERATIONS_BY_KEY.get(chainKey);
2245
+ if (operation === void 0) throw new Error(`generated-operations: no operation for chain '${chainKey}'`);
2246
+ return operation;
2247
+ };
2248
+
2249
+ //#endregion
2250
+ export { PermissionDeniedError as C, NotFoundError as S, UnprocessableEntityError as T, AuthenticationError as _, path as a, ConflictError as b, withOperation as c, assertCredentialTransport as d, mergeHeaders as f, APIUserAbortError as g, APIError as h, makeRequest as i, inspectDeprecatedInputs as l, APIConnectionTimeoutError as m, generatedOperation as n, readOperation as o, APIConnectionError as p, castToError as r, safeJSON as s, GENERATED_OPERATIONS as t, inspectDeprecation as u, BadRequestError as v, RateLimitError as w, InternalServerError as x, ComposioError as y };