@planqk/planqk-service-sdk 1.9.1 → 2.1.1

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 (221) hide show
  1. package/.devcontainer/devcontainer.json +32 -0
  2. package/.devcontainer/post-create.sh +7 -0
  3. package/.env.template +4 -0
  4. package/.gitlab-ci.yml +103 -0
  5. package/.python-version +1 -0
  6. package/.releaserc.json +45 -0
  7. package/LICENSE +201 -0
  8. package/README-node.md +41 -0
  9. package/README-python.md +52 -0
  10. package/README.md +42 -21
  11. package/dist/auth.js +12 -19
  12. package/dist/client.d.ts +2 -12
  13. package/dist/client.js +5 -76
  14. package/dist/sdk/Client.d.ts +4 -3
  15. package/dist/sdk/Client.js +4 -8
  16. package/dist/sdk/api/errors/BadRequestError.d.ts +1 -1
  17. package/dist/sdk/api/errors/BadRequestError.js +18 -8
  18. package/dist/sdk/api/errors/ForbiddenError.d.ts +1 -1
  19. package/dist/sdk/api/errors/ForbiddenError.js +18 -8
  20. package/dist/sdk/api/errors/InternalServerError.d.ts +1 -1
  21. package/dist/sdk/api/errors/InternalServerError.js +18 -8
  22. package/dist/sdk/api/errors/NotFoundError.d.ts +1 -1
  23. package/dist/sdk/api/errors/NotFoundError.js +18 -8
  24. package/dist/sdk/api/errors/UnauthorizedError.d.ts +1 -1
  25. package/dist/sdk/api/errors/UnauthorizedError.js +18 -8
  26. package/dist/sdk/api/resources/index.d.ts +0 -3
  27. package/dist/sdk/api/resources/index.js +18 -11
  28. package/dist/sdk/api/resources/serviceApi/client/Client.d.ts +65 -12
  29. package/dist/sdk/api/resources/serviceApi/client/Client.js +405 -261
  30. package/dist/sdk/api/resources/serviceApi/client/index.d.ts +1 -1
  31. package/dist/sdk/api/resources/serviceApi/client/index.js +0 -15
  32. package/dist/sdk/api/resources/serviceApi/types/GetResultResponse.d.ts +4 -1
  33. package/dist/sdk/api/resources/serviceApi/types/{GetInterimResultsResponse.d.ts → GetResultResponseEmbedded.d.ts} +3 -1
  34. package/dist/sdk/api/resources/serviceApi/types/GetResultResponseLinks.d.ts +7 -0
  35. package/dist/sdk/api/resources/{statusApi → serviceApi}/types/HealthCheckResponse.d.ts +1 -0
  36. package/dist/sdk/api/resources/serviceApi/types/index.d.ts +3 -1
  37. package/dist/sdk/api/resources/serviceApi/types/index.js +3 -1
  38. package/dist/sdk/api/types/HalLink.d.ts +21 -0
  39. package/dist/sdk/api/types/InputData.d.ts +1 -1
  40. package/dist/sdk/api/types/{InputRef.d.ts → InputDataRef.d.ts} +1 -1
  41. package/dist/sdk/api/types/InputParams.d.ts +1 -1
  42. package/dist/sdk/api/types/{Job.d.ts → ServiceExecution.d.ts} +2 -2
  43. package/dist/sdk/api/types/{JobStatus.d.ts → ServiceExecutionStatus.d.ts} +2 -2
  44. package/dist/sdk/api/types/{JobStatus.js → ServiceExecutionStatus.js} +2 -2
  45. package/dist/sdk/api/types/index.d.ts +4 -8
  46. package/dist/sdk/api/types/index.js +4 -8
  47. package/dist/sdk/core/fetcher/APIResponse.d.ts +1 -0
  48. package/dist/sdk/core/fetcher/Fetcher.d.ts +6 -5
  49. package/dist/sdk/core/fetcher/Fetcher.js +68 -112
  50. package/dist/sdk/core/fetcher/Supplier.js +2 -11
  51. package/dist/sdk/core/fetcher/createRequestUrl.d.ts +1 -0
  52. package/dist/sdk/core/fetcher/createRequestUrl.js +12 -0
  53. package/dist/sdk/core/fetcher/getFetchFn.d.ts +4 -0
  54. package/dist/sdk/core/fetcher/getFetchFn.js +57 -0
  55. package/dist/sdk/core/fetcher/getHeader.d.ts +1 -0
  56. package/dist/sdk/core/fetcher/getHeader.js +11 -0
  57. package/dist/sdk/core/fetcher/getRequestBody.d.ts +7 -0
  58. package/dist/sdk/core/fetcher/getRequestBody.js +11 -0
  59. package/dist/sdk/core/fetcher/getResponseBody.d.ts +1 -0
  60. package/dist/sdk/core/fetcher/getResponseBody.js +40 -0
  61. package/dist/sdk/core/fetcher/index.d.ts +1 -0
  62. package/dist/sdk/core/fetcher/index.js +3 -1
  63. package/dist/sdk/core/fetcher/makeRequest.d.ts +1 -0
  64. package/dist/sdk/core/fetcher/makeRequest.js +33 -0
  65. package/dist/sdk/core/fetcher/requestWithRetries.d.ts +1 -0
  66. package/dist/sdk/core/fetcher/requestWithRetries.js +20 -0
  67. package/dist/sdk/core/fetcher/signals.d.ts +11 -0
  68. package/dist/sdk/core/fetcher/signals.js +36 -0
  69. package/dist/sdk/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts +30 -0
  70. package/dist/sdk/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js +232 -0
  71. package/dist/sdk/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts +21 -0
  72. package/dist/sdk/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js +91 -0
  73. package/dist/sdk/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts +31 -0
  74. package/dist/sdk/core/fetcher/stream-wrappers/UndiciStreamWrapper.js +214 -0
  75. package/dist/sdk/core/fetcher/stream-wrappers/chooseStreamWrapper.d.ts +18 -0
  76. package/dist/sdk/core/fetcher/stream-wrappers/chooseStreamWrapper.js +48 -0
  77. package/dist/sdk/core/index.d.ts +1 -0
  78. package/dist/sdk/core/index.js +1 -0
  79. package/dist/sdk/core/runtime/index.d.ts +1 -0
  80. package/dist/sdk/core/runtime/index.js +5 -0
  81. package/dist/sdk/core/runtime/runtime.d.ts +9 -0
  82. package/dist/sdk/core/runtime/runtime.js +92 -0
  83. package/dist/sdk/errors/PlanqkServiceApiError.js +2 -0
  84. package/dist/sdk/index.js +17 -7
  85. package/eslint.config.mjs +11 -0
  86. package/fern/fern.config.json +4 -0
  87. package/fern/generators.yml +25 -0
  88. package/fern/openapi/openapi.yml +342 -0
  89. package/notebooks/python-sdk.ipynb +280 -0
  90. package/package.json +27 -28
  91. package/planqk/__init__.py +0 -0
  92. package/planqk/service/__init__.py +1 -0
  93. package/planqk/service/_version.py +1 -0
  94. package/planqk/service/auth.py +30 -0
  95. package/planqk/service/client.py +151 -0
  96. package/planqk/service/sdk/__init__.py +48 -0
  97. package/planqk/service/sdk/client.py +152 -0
  98. package/planqk/service/sdk/core/__init__.py +47 -0
  99. package/planqk/service/sdk/core/api_error.py +17 -0
  100. package/planqk/service/sdk/core/client_wrapper.py +74 -0
  101. package/planqk/service/sdk/core/datetime_utils.py +30 -0
  102. package/planqk/service/sdk/core/file.py +70 -0
  103. package/planqk/service/sdk/core/http_client.py +575 -0
  104. package/planqk/service/sdk/core/jsonable_encoder.py +103 -0
  105. package/planqk/service/sdk/core/pydantic_utilities.py +323 -0
  106. package/planqk/service/sdk/core/query_encoder.py +60 -0
  107. package/planqk/service/sdk/core/remove_none_from_dict.py +11 -0
  108. package/planqk/service/sdk/core/request_options.py +35 -0
  109. package/planqk/service/sdk/core/serialization.py +276 -0
  110. package/planqk/service/sdk/environment.py +7 -0
  111. package/planqk/service/sdk/errors/__init__.py +15 -0
  112. package/planqk/service/sdk/errors/bad_request_error.py +9 -0
  113. package/planqk/service/sdk/errors/forbidden_error.py +9 -0
  114. package/planqk/service/sdk/errors/internal_server_error.py +9 -0
  115. package/planqk/service/sdk/errors/not_found_error.py +9 -0
  116. package/planqk/service/sdk/errors/unauthorized_error.py +9 -0
  117. package/planqk/service/sdk/service_api/__init__.py +15 -0
  118. package/planqk/service/sdk/service_api/client.py +1257 -0
  119. package/planqk/service/sdk/service_api/types/__init__.py +13 -0
  120. package/planqk/service/sdk/service_api/types/get_result_response.py +30 -0
  121. package/planqk/service/sdk/service_api/types/get_result_response_embedded.py +22 -0
  122. package/planqk/service/sdk/service_api/types/get_result_response_links.py +22 -0
  123. package/planqk/service/sdk/service_api/types/health_check_response.py +24 -0
  124. package/planqk/service/sdk/types/__init__.py +17 -0
  125. package/planqk/service/sdk/types/hal_link.py +59 -0
  126. package/planqk/service/sdk/types/input_data.py +5 -0
  127. package/planqk/service/sdk/types/input_data_ref.py +27 -0
  128. package/planqk/service/sdk/types/input_params.py +5 -0
  129. package/planqk/service/sdk/types/service_execution.py +34 -0
  130. package/planqk/service/sdk/types/service_execution_status.py +8 -0
  131. package/pyproject.toml +51 -0
  132. package/scripts/update-version.sh +6 -0
  133. package/src/client.ts +4 -78
  134. package/src/index.test.ts +43 -0
  135. package/src/sdk/Client.ts +4 -7
  136. package/src/sdk/api/errors/BadRequestError.ts +1 -1
  137. package/src/sdk/api/errors/ForbiddenError.ts +1 -1
  138. package/src/sdk/api/errors/InternalServerError.ts +1 -1
  139. package/src/sdk/api/errors/NotFoundError.ts +1 -1
  140. package/src/sdk/api/errors/UnauthorizedError.ts +1 -1
  141. package/src/sdk/api/resources/index.ts +0 -3
  142. package/src/sdk/api/resources/serviceApi/client/Client.ts +205 -32
  143. package/src/sdk/api/resources/serviceApi/client/index.ts +1 -1
  144. package/src/sdk/api/resources/serviceApi/types/GetResultResponse.ts +4 -5
  145. package/src/sdk/api/resources/serviceApi/types/GetResultResponseEmbedded.ts +9 -0
  146. package/src/sdk/api/resources/serviceApi/types/GetResultResponseLinks.ts +9 -0
  147. package/src/sdk/api/resources/{statusApi → serviceApi}/types/HealthCheckResponse.ts +1 -0
  148. package/src/sdk/api/resources/serviceApi/types/index.ts +3 -1
  149. package/src/sdk/api/types/HalLink.ts +22 -0
  150. package/src/sdk/api/types/InputData.ts +1 -1
  151. package/src/sdk/api/types/{InputRef.ts → InputDataRef.ts} +1 -1
  152. package/src/sdk/api/types/InputParams.ts +1 -1
  153. package/src/sdk/api/types/{Job.ts → ServiceExecution.ts} +2 -2
  154. package/src/sdk/api/types/{JobStatus.ts → ServiceExecutionStatus.ts} +2 -2
  155. package/src/sdk/api/types/index.ts +4 -8
  156. package/src/sdk/core/fetcher/APIResponse.ts +1 -0
  157. package/src/sdk/core/fetcher/Fetcher.ts +55 -72
  158. package/src/sdk/core/fetcher/createRequestUrl.ts +10 -0
  159. package/src/sdk/core/fetcher/getFetchFn.ts +25 -0
  160. package/src/sdk/core/fetcher/getHeader.ts +8 -0
  161. package/src/sdk/core/fetcher/getRequestBody.ts +14 -0
  162. package/src/sdk/core/fetcher/getResponseBody.ts +32 -0
  163. package/src/sdk/core/fetcher/index.ts +1 -0
  164. package/src/sdk/core/fetcher/makeRequest.ts +44 -0
  165. package/src/sdk/core/fetcher/requestWithRetries.ts +21 -0
  166. package/src/sdk/core/fetcher/signals.ts +38 -0
  167. package/src/sdk/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.ts +252 -0
  168. package/src/sdk/core/fetcher/stream-wrappers/NodePre18StreamWrapper.ts +106 -0
  169. package/src/sdk/core/fetcher/stream-wrappers/UndiciStreamWrapper.ts +239 -0
  170. package/src/sdk/core/fetcher/stream-wrappers/chooseStreamWrapper.ts +33 -0
  171. package/src/sdk/core/index.ts +1 -0
  172. package/src/sdk/core/runtime/index.ts +1 -0
  173. package/src/sdk/core/runtime/runtime.ts +126 -0
  174. package/tsconfig.json +15 -107
  175. package/uv.lock +1109 -0
  176. package/.eslintignore +0 -3
  177. package/.eslintrc +0 -7
  178. package/dist/sdk/api/resources/serviceApi/client/requests/GetInterimResultsRequest.d.ts +0 -9
  179. package/dist/sdk/api/resources/serviceApi/client/requests/StartExecutionRequest.d.ts +0 -13
  180. package/dist/sdk/api/resources/serviceApi/client/requests/index.d.ts +0 -2
  181. package/dist/sdk/api/resources/serviceApi/client/requests/index.js +0 -2
  182. package/dist/sdk/api/resources/statusApi/client/Client.d.ts +0 -28
  183. package/dist/sdk/api/resources/statusApi/client/Client.js +0 -97
  184. package/dist/sdk/api/resources/statusApi/client/index.d.ts +0 -1
  185. package/dist/sdk/api/resources/statusApi/client/index.js +0 -2
  186. package/dist/sdk/api/resources/statusApi/index.d.ts +0 -2
  187. package/dist/sdk/api/resources/statusApi/index.js +0 -18
  188. package/dist/sdk/api/resources/statusApi/types/index.d.ts +0 -1
  189. package/dist/sdk/api/resources/statusApi/types/index.js +0 -17
  190. package/dist/sdk/api/types/ArrayResponse.d.ts +0 -4
  191. package/dist/sdk/api/types/InterimResultResponse.d.ts +0 -4
  192. package/dist/sdk/api/types/InterimResultResponse.js +0 -5
  193. package/dist/sdk/api/types/Job.js +0 -5
  194. package/dist/sdk/api/types/NumberResponse.d.ts +0 -4
  195. package/dist/sdk/api/types/NumberResponse.js +0 -5
  196. package/dist/sdk/api/types/ObjectResponse.d.ts +0 -4
  197. package/dist/sdk/api/types/ObjectResponse.js +0 -5
  198. package/dist/sdk/api/types/StringResponse.d.ts +0 -4
  199. package/dist/sdk/api/types/StringResponse.js +0 -5
  200. package/jest.config.js +0 -12
  201. package/src/sdk/api/resources/serviceApi/client/requests/GetInterimResultsRequest.ts +0 -10
  202. package/src/sdk/api/resources/serviceApi/client/requests/StartExecutionRequest.ts +0 -15
  203. package/src/sdk/api/resources/serviceApi/client/requests/index.ts +0 -2
  204. package/src/sdk/api/resources/serviceApi/types/GetInterimResultsResponse.ts +0 -9
  205. package/src/sdk/api/resources/statusApi/client/Client.ts +0 -75
  206. package/src/sdk/api/resources/statusApi/client/index.ts +0 -1
  207. package/src/sdk/api/resources/statusApi/index.ts +0 -2
  208. package/src/sdk/api/resources/statusApi/types/index.ts +0 -1
  209. package/src/sdk/api/types/ArrayResponse.ts +0 -5
  210. package/src/sdk/api/types/InterimResultResponse.ts +0 -5
  211. package/src/sdk/api/types/NumberResponse.ts +0 -5
  212. package/src/sdk/api/types/ObjectResponse.ts +0 -5
  213. package/src/sdk/api/types/StringResponse.ts +0 -5
  214. package/tests/fixtures/complex-input.ts +0 -477
  215. package/tests/integration.test.ts +0 -92
  216. /package/dist/sdk/api/resources/serviceApi/{client/requests/GetInterimResultsRequest.js → types/GetResultResponseEmbedded.js} +0 -0
  217. /package/dist/sdk/api/resources/serviceApi/{client/requests/StartExecutionRequest.js → types/GetResultResponseLinks.js} +0 -0
  218. /package/dist/sdk/api/resources/{statusApi → serviceApi}/types/HealthCheckResponse.js +0 -0
  219. /package/dist/sdk/api/{resources/serviceApi/types/GetInterimResultsResponse.js → types/HalLink.js} +0 -0
  220. /package/dist/sdk/api/types/{ArrayResponse.js → InputDataRef.js} +0 -0
  221. /package/dist/sdk/api/types/{InputRef.js → ServiceExecution.js} +0 -0
@@ -1 +1 @@
1
- export * from "./requests";
1
+ export {};
@@ -1,17 +1,2 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./requests"), exports);
@@ -2,4 +2,7 @@
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
4
  import * as PlanqkServiceApi from "../../../index";
5
- export type GetResultResponse = PlanqkServiceApi.ObjectResponse | PlanqkServiceApi.StringResponse | PlanqkServiceApi.NumberResponse | PlanqkServiceApi.ArrayResponse;
5
+ export interface GetResultResponse {
6
+ _links?: PlanqkServiceApi.GetResultResponseLinks;
7
+ _embedded?: PlanqkServiceApi.GetResultResponseEmbedded;
8
+ }
@@ -2,4 +2,6 @@
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
4
  import * as PlanqkServiceApi from "../../../index";
5
- export type GetInterimResultsResponse = PlanqkServiceApi.InterimResultResponse[] | PlanqkServiceApi.InterimResultResponse;
5
+ export interface GetResultResponseEmbedded {
6
+ status?: PlanqkServiceApi.ServiceExecution;
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as PlanqkServiceApi from "../../../index";
5
+ export interface GetResultResponseLinks {
6
+ status?: PlanqkServiceApi.HalLink;
7
+ }
@@ -2,5 +2,6 @@
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
4
  export interface HealthCheckResponse {
5
+ /** Status of the service */
5
6
  status?: string;
6
7
  }
@@ -1,2 +1,4 @@
1
+ export * from "./HealthCheckResponse";
2
+ export * from "./GetResultResponseLinks";
3
+ export * from "./GetResultResponseEmbedded";
1
4
  export * from "./GetResultResponse";
2
- export * from "./GetInterimResultsResponse";
@@ -14,5 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./HealthCheckResponse"), exports);
18
+ __exportStar(require("./GetResultResponseLinks"), exports);
19
+ __exportStar(require("./GetResultResponseEmbedded"), exports);
17
20
  __exportStar(require("./GetResultResponse"), exports);
18
- __exportStar(require("./GetInterimResultsResponse"), exports);
@@ -0,0 +1,21 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ export interface HalLink {
5
+ /** The URL of the link */
6
+ href?: string;
7
+ /** Whether the link is templated (optional) */
8
+ templated?: boolean;
9
+ /** The media type of the link (optional) */
10
+ type?: string;
11
+ /** A URL that provides further information about the deprecation of the link (optional) */
12
+ deprecation?: string;
13
+ /** The name of the link (optional) */
14
+ name?: string;
15
+ /** A URL that provides further information about the profile of the link (optional) */
16
+ profile?: string;
17
+ /** The title of the link (optional) */
18
+ title?: string;
19
+ /** The language of the link's target resource (optional) */
20
+ hreflang?: string;
21
+ }
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- export type InputData = Record<string, any>;
4
+ export type InputData = Record<string, Record<string, any>>;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- export interface InputRef {
4
+ export interface InputDataRef {
5
5
  dataPoolId: string;
6
6
  dataSourceDescriptorId: string;
7
7
  fileId: string;
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- export type InputParams = Record<string, any>;
4
+ export type InputParams = Record<string, Record<string, any>>;
@@ -2,9 +2,9 @@
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
4
  import * as PlanqkServiceApi from "../index";
5
- export interface Job {
5
+ export interface ServiceExecution {
6
6
  id?: string;
7
- status?: PlanqkServiceApi.JobStatus;
7
+ status?: PlanqkServiceApi.ServiceExecutionStatus;
8
8
  createdAt?: string;
9
9
  startedAt?: string;
10
10
  endedAt?: string;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- export type JobStatus = "UNKNOWN" | "PENDING" | "RUNNING" | "SUCCEEDED" | "CANCELLED" | "FAILED";
5
- export declare const JobStatus: {
4
+ export type ServiceExecutionStatus = "UNKNOWN" | "PENDING" | "RUNNING" | "SUCCEEDED" | "CANCELLED" | "FAILED";
5
+ export declare const ServiceExecutionStatus: {
6
6
  readonly Unknown: "UNKNOWN";
7
7
  readonly Pending: "PENDING";
8
8
  readonly Running: "RUNNING";
@@ -3,8 +3,8 @@
3
3
  * This file was auto-generated by Fern from our API Definition.
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.JobStatus = void 0;
7
- exports.JobStatus = {
6
+ exports.ServiceExecutionStatus = void 0;
7
+ exports.ServiceExecutionStatus = {
8
8
  Unknown: "UNKNOWN",
9
9
  Pending: "PENDING",
10
10
  Running: "RUNNING",
@@ -1,10 +1,6 @@
1
1
  export * from "./InputData";
2
2
  export * from "./InputParams";
3
- export * from "./InputRef";
4
- export * from "./InterimResultResponse";
5
- export * from "./ObjectResponse";
6
- export * from "./StringResponse";
7
- export * from "./NumberResponse";
8
- export * from "./ArrayResponse";
9
- export * from "./JobStatus";
10
- export * from "./Job";
3
+ export * from "./InputDataRef";
4
+ export * from "./ServiceExecutionStatus";
5
+ export * from "./ServiceExecution";
6
+ export * from "./HalLink";
@@ -16,11 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./InputData"), exports);
18
18
  __exportStar(require("./InputParams"), exports);
19
- __exportStar(require("./InputRef"), exports);
20
- __exportStar(require("./InterimResultResponse"), exports);
21
- __exportStar(require("./ObjectResponse"), exports);
22
- __exportStar(require("./StringResponse"), exports);
23
- __exportStar(require("./NumberResponse"), exports);
24
- __exportStar(require("./ArrayResponse"), exports);
25
- __exportStar(require("./JobStatus"), exports);
26
- __exportStar(require("./Job"), exports);
19
+ __exportStar(require("./InputDataRef"), exports);
20
+ __exportStar(require("./ServiceExecutionStatus"), exports);
21
+ __exportStar(require("./ServiceExecution"), exports);
22
+ __exportStar(require("./HalLink"), exports);
@@ -2,6 +2,7 @@ export type APIResponse<Success, Failure> = SuccessfulResponse<Success> | Failed
2
2
  export interface SuccessfulResponse<T> {
3
3
  ok: true;
4
4
  body: T;
5
+ headers?: Record<string, any>;
5
6
  }
6
7
  export interface FailedResponse<T> {
7
8
  ok: false;
@@ -1,4 +1,3 @@
1
- import { AxiosAdapter } from "axios";
2
1
  import { APIResponse } from "./APIResponse";
3
2
  export type FetchFunction = <R = unknown>(args: Fetcher.Args) => Promise<APIResponse<R, Fetcher.Error>>;
4
3
  export declare namespace Fetcher {
@@ -7,14 +6,15 @@ export declare namespace Fetcher {
7
6
  method: string;
8
7
  contentType?: string;
9
8
  headers?: Record<string, string | undefined>;
10
- queryParameters?: Record<string, string | string[]>;
9
+ queryParameters?: Record<string, string | string[] | object | object[]>;
11
10
  body?: unknown;
12
11
  timeoutMs?: number;
13
12
  maxRetries?: number;
14
13
  withCredentials?: boolean;
15
- responseType?: "json" | "blob";
16
- adapter?: AxiosAdapter;
17
- onUploadProgress?: (event: ProgressEvent) => void;
14
+ abortSignal?: AbortSignal;
15
+ requestType?: "json" | "file" | "bytes";
16
+ responseType?: "json" | "blob" | "sse" | "streaming" | "text";
17
+ duplex?: "half";
18
18
  }
19
19
  type Error = FailedStatusCodeError | NonJsonError | TimeoutError | UnknownError;
20
20
  interface FailedStatusCodeError {
@@ -35,4 +35,5 @@ export declare namespace Fetcher {
35
35
  errorMessage: string;
36
36
  }
37
37
  }
38
+ export declare function fetcherImpl<R = unknown>(args: Fetcher.Args): Promise<APIResponse<R, Fetcher.Error>>;
38
39
  export declare const fetcher: FetchFunction;
@@ -1,122 +1,71 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.fetcher = void 0;
16
- const axios_1 = __importDefault(require("axios"));
17
- const qs_1 = __importDefault(require("qs"));
18
- const INITIAL_RETRY_DELAY = 1;
19
- const MAX_RETRY_DELAY = 60;
20
- const DEFAULT_MAX_RETRIES = 2;
21
- function fetcherImpl(args) {
22
- var _a, _b;
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const headers = {};
25
- if (args.body !== undefined && args.contentType != null) {
26
- headers["Content-Type"] = args.contentType;
27
- }
28
- if (args.headers != null) {
29
- for (const [key, value] of Object.entries(args.headers)) {
30
- if (value != null) {
31
- headers[key] = value;
32
- }
4
+ exports.fetcherImpl = fetcherImpl;
5
+ const createRequestUrl_1 = require("./createRequestUrl");
6
+ const getFetchFn_1 = require("./getFetchFn");
7
+ const getRequestBody_1 = require("./getRequestBody");
8
+ const getResponseBody_1 = require("./getResponseBody");
9
+ const makeRequest_1 = require("./makeRequest");
10
+ const requestWithRetries_1 = require("./requestWithRetries");
11
+ async function fetcherImpl(args) {
12
+ const headers = {};
13
+ if (args.body !== undefined && args.contentType != null) {
14
+ headers["Content-Type"] = args.contentType;
15
+ }
16
+ if (args.headers != null) {
17
+ for (const [key, value] of Object.entries(args.headers)) {
18
+ if (value != null) {
19
+ headers[key] = value;
33
20
  }
34
21
  }
35
- const makeRequest = () => __awaiter(this, void 0, void 0, function* () {
36
- var _d;
37
- return yield (0, axios_1.default)({
38
- url: args.url,
39
- params: args.queryParameters,
40
- paramsSerializer: (params) => {
41
- return qs_1.default.stringify(params, { arrayFormat: "repeat" });
22
+ }
23
+ const url = (0, createRequestUrl_1.createRequestUrl)(args.url, args.queryParameters);
24
+ let requestBody = await (0, getRequestBody_1.getRequestBody)({
25
+ body: args.body,
26
+ type: args.requestType === "json" ? "json" : "other",
27
+ });
28
+ const fetchFn = await (0, getFetchFn_1.getFetchFn)();
29
+ try {
30
+ const response = await (0, requestWithRetries_1.requestWithRetries)(async () => (0, makeRequest_1.makeRequest)(fetchFn, url, args.method, headers, requestBody, args.timeoutMs, args.abortSignal, args.withCredentials, args.duplex), args.maxRetries);
31
+ let responseBody = await (0, getResponseBody_1.getResponseBody)(response, args.responseType);
32
+ if (response.status >= 200 && response.status < 400) {
33
+ return {
34
+ ok: true,
35
+ body: responseBody,
36
+ headers: response.headers,
37
+ };
38
+ }
39
+ else {
40
+ return {
41
+ ok: false,
42
+ error: {
43
+ reason: "status-code",
44
+ statusCode: response.status,
45
+ body: responseBody,
42
46
  },
43
- method: args.method,
44
- headers,
45
- data: args.body,
46
- validateStatus: () => true,
47
- transformResponse: (response) => response,
48
- timeout: args.timeoutMs,
49
- transitional: {
50
- clarifyTimeoutError: true,
47
+ };
48
+ }
49
+ }
50
+ catch (error) {
51
+ if (args.abortSignal != null && args.abortSignal.aborted) {
52
+ return {
53
+ ok: false,
54
+ error: {
55
+ reason: "unknown",
56
+ errorMessage: "The user aborted a request",
51
57
  },
52
- withCredentials: args.withCredentials,
53
- adapter: args.adapter,
54
- onUploadProgress: args.onUploadProgress,
55
- maxBodyLength: Infinity,
56
- maxContentLength: Infinity,
57
- responseType: (_d = args.responseType) !== null && _d !== void 0 ? _d : "json",
58
- });
59
- });
60
- try {
61
- let response = yield makeRequest();
62
- for (let i = 0; i < ((_a = args.maxRetries) !== null && _a !== void 0 ? _a : DEFAULT_MAX_RETRIES); ++i) {
63
- if (response.status === 408 ||
64
- response.status === 409 ||
65
- response.status === 429 ||
66
- response.status >= 500) {
67
- const delay = Math.min(INITIAL_RETRY_DELAY * Math.pow(i, 2), MAX_RETRY_DELAY);
68
- yield new Promise((resolve) => setTimeout(resolve, delay));
69
- response = yield makeRequest();
70
- }
71
- else {
72
- break;
73
- }
74
- }
75
- let body;
76
- if (args.responseType === "blob") {
77
- body = response.data;
78
- }
79
- else if (response.data != null && response.data.length > 0) {
80
- try {
81
- body = (_b = JSON.parse(response.data)) !== null && _b !== void 0 ? _b : undefined;
82
- }
83
- catch (_c) {
84
- return {
85
- ok: false,
86
- error: {
87
- reason: "non-json",
88
- statusCode: response.status,
89
- rawBody: response.data,
90
- },
91
- };
92
- }
93
- }
94
- if (response.status >= 200 && response.status < 400) {
95
- return {
96
- ok: true,
97
- body: body,
98
- };
99
- }
100
- else {
101
- return {
102
- ok: false,
103
- error: {
104
- reason: "status-code",
105
- statusCode: response.status,
106
- body,
107
- },
108
- };
109
- }
58
+ };
110
59
  }
111
- catch (error) {
112
- if (error.code === "ETIMEDOUT") {
113
- return {
114
- ok: false,
115
- error: {
116
- reason: "timeout",
117
- },
118
- };
119
- }
60
+ else if (error instanceof Error && error.name === "AbortError") {
61
+ return {
62
+ ok: false,
63
+ error: {
64
+ reason: "timeout",
65
+ },
66
+ };
67
+ }
68
+ else if (error instanceof Error) {
120
69
  return {
121
70
  ok: false,
122
71
  error: {
@@ -125,6 +74,13 @@ function fetcherImpl(args) {
125
74
  },
126
75
  };
127
76
  }
128
- });
77
+ return {
78
+ ok: false,
79
+ error: {
80
+ reason: "unknown",
81
+ errorMessage: JSON.stringify(error),
82
+ },
83
+ };
84
+ }
129
85
  }
130
86
  exports.fetcher = fetcherImpl;
@@ -1,22 +1,13 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.Supplier = void 0;
13
4
  exports.Supplier = {
14
- get: (supplier) => __awaiter(void 0, void 0, void 0, function* () {
5
+ get: async (supplier) => {
15
6
  if (typeof supplier === "function") {
16
7
  return supplier();
17
8
  }
18
9
  else {
19
10
  return supplier;
20
11
  }
21
- }),
12
+ },
22
13
  };
@@ -0,0 +1 @@
1
+ export declare function createRequestUrl(baseUrl: string, queryParameters?: Record<string, string | string[] | object | object[]>): string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createRequestUrl = createRequestUrl;
7
+ const qs_1 = __importDefault(require("qs"));
8
+ function createRequestUrl(baseUrl, queryParameters) {
9
+ return Object.keys(queryParameters ?? {}).length > 0
10
+ ? `${baseUrl}?${qs_1.default.stringify(queryParameters, { arrayFormat: "repeat" })}`
11
+ : baseUrl;
12
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Returns a fetch function based on the runtime
3
+ */
4
+ export declare function getFetchFn(): Promise<any>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getFetchFn = getFetchFn;
37
+ const runtime_1 = require("../runtime");
38
+ /**
39
+ * Returns a fetch function based on the runtime
40
+ */
41
+ async function getFetchFn() {
42
+ // In Node.js 18+ environments, use native fetch
43
+ if (runtime_1.RUNTIME.type === "node" && runtime_1.RUNTIME.parsedVersion != null && runtime_1.RUNTIME.parsedVersion >= 18) {
44
+ return fetch;
45
+ }
46
+ // In Node.js 18 or lower environments, the SDK always uses`node-fetch`.
47
+ if (runtime_1.RUNTIME.type === "node") {
48
+ return (await Promise.resolve().then(() => __importStar(require("node-fetch")))).default;
49
+ }
50
+ // Otherwise the SDK uses global fetch if available,
51
+ // and falls back to node-fetch.
52
+ if (typeof fetch == "function") {
53
+ return fetch;
54
+ }
55
+ // Defaults to node `node-fetch` if global fetch isn't available
56
+ return (await Promise.resolve().then(() => __importStar(require("node-fetch")))).default;
57
+ }
@@ -0,0 +1 @@
1
+ export declare function getHeader(headers: Record<string, any>, header: string): string | undefined;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getHeader = getHeader;
4
+ function getHeader(headers, header) {
5
+ for (const [headerKey, headerValue] of Object.entries(headers)) {
6
+ if (headerKey.toLowerCase() === header.toLowerCase()) {
7
+ return headerValue;
8
+ }
9
+ }
10
+ return undefined;
11
+ }
@@ -0,0 +1,7 @@
1
+ export declare namespace GetRequestBody {
2
+ interface Args {
3
+ body: unknown;
4
+ type: "json" | "file" | "bytes" | "other";
5
+ }
6
+ }
7
+ export declare function getRequestBody({ body, type }: GetRequestBody.Args): Promise<BodyInit | undefined>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequestBody = getRequestBody;
4
+ async function getRequestBody({ body, type }) {
5
+ if (type.includes("json")) {
6
+ return JSON.stringify(body);
7
+ }
8
+ else {
9
+ return body;
10
+ }
11
+ }
@@ -0,0 +1 @@
1
+ export declare function getResponseBody(response: Response, responseType?: string): Promise<unknown>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getResponseBody = getResponseBody;
4
+ const chooseStreamWrapper_1 = require("./stream-wrappers/chooseStreamWrapper");
5
+ async function getResponseBody(response, responseType) {
6
+ if (response.body != null && responseType === "blob") {
7
+ return await response.blob();
8
+ }
9
+ else if (response.body != null && responseType === "sse") {
10
+ return response.body;
11
+ }
12
+ else if (response.body != null && responseType === "streaming") {
13
+ return (0, chooseStreamWrapper_1.chooseStreamWrapper)(response.body);
14
+ }
15
+ else if (response.body != null && responseType === "text") {
16
+ return await response.text();
17
+ }
18
+ else {
19
+ const text = await response.text();
20
+ if (text.length > 0) {
21
+ try {
22
+ let responseBody = JSON.parse(text);
23
+ return responseBody;
24
+ }
25
+ catch (err) {
26
+ return {
27
+ ok: false,
28
+ error: {
29
+ reason: "non-json",
30
+ statusCode: response.status,
31
+ rawBody: text,
32
+ },
33
+ };
34
+ }
35
+ }
36
+ else {
37
+ return undefined;
38
+ }
39
+ }
40
+ }
@@ -1,4 +1,5 @@
1
1
  export type { APIResponse } from "./APIResponse";
2
2
  export { fetcher } from "./Fetcher";
3
3
  export type { Fetcher, FetchFunction } from "./Fetcher";
4
+ export { getHeader } from "./getHeader";
4
5
  export { Supplier } from "./Supplier";
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Supplier = exports.fetcher = void 0;
3
+ exports.Supplier = exports.getHeader = exports.fetcher = void 0;
4
4
  var Fetcher_1 = require("./Fetcher");
5
5
  Object.defineProperty(exports, "fetcher", { enumerable: true, get: function () { return Fetcher_1.fetcher; } });
6
+ var getHeader_1 = require("./getHeader");
7
+ Object.defineProperty(exports, "getHeader", { enumerable: true, get: function () { return getHeader_1.getHeader; } });
6
8
  var Supplier_1 = require("./Supplier");
7
9
  Object.defineProperty(exports, "Supplier", { enumerable: true, get: function () { return Supplier_1.Supplier; } });
@@ -0,0 +1 @@
1
+ export declare const makeRequest: (fetchFn: (url: string, init: RequestInit) => Promise<Response>, url: string, method: string, headers: Record<string, string>, requestBody: BodyInit | undefined, timeoutMs?: number, abortSignal?: AbortSignal, withCredentials?: boolean, duplex?: "half") => Promise<Response>;