@bluehive/sdk 0.1.0-alpha.10 → 0.1.0-alpha.12

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 (114) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +2 -6
  3. package/client.d.mts +15 -0
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +15 -0
  6. package/client.d.ts.map +1 -1
  7. package/client.js +17 -2
  8. package/client.js.map +1 -1
  9. package/client.mjs +17 -2
  10. package/client.mjs.map +1 -1
  11. package/internal/to-file.d.mts +1 -1
  12. package/internal/to-file.d.ts +1 -1
  13. package/internal/to-file.js +1 -1
  14. package/internal/to-file.mjs +1 -1
  15. package/internal/tslib.js +17 -17
  16. package/internal/utils/values.js +3 -3
  17. package/internal/utils/values.js.map +1 -1
  18. package/internal/utils/values.mjs +3 -3
  19. package/internal/utils/values.mjs.map +1 -1
  20. package/package.json +1 -1
  21. package/resources/employees.d.mts +463 -0
  22. package/resources/employees.d.mts.map +1 -0
  23. package/resources/employees.d.ts +463 -0
  24. package/resources/employees.d.ts.map +1 -0
  25. package/resources/employees.js +54 -0
  26. package/resources/employees.js.map +1 -0
  27. package/resources/employees.mjs +50 -0
  28. package/resources/employees.mjs.map +1 -0
  29. package/resources/employers/employers.d.mts +88 -0
  30. package/resources/employers/employers.d.mts.map +1 -0
  31. package/resources/employers/employers.d.ts +88 -0
  32. package/resources/employers/employers.d.ts.map +1 -0
  33. package/resources/employers/employers.js +41 -0
  34. package/resources/employers/employers.js.map +1 -0
  35. package/resources/employers/employers.mjs +36 -0
  36. package/resources/employers/employers.mjs.map +1 -0
  37. package/resources/employers/index.d.mts +3 -0
  38. package/resources/employers/index.d.mts.map +1 -0
  39. package/resources/employers/index.d.ts +3 -0
  40. package/resources/employers/index.d.ts.map +1 -0
  41. package/resources/employers/index.js +9 -0
  42. package/resources/employers/index.js.map +1 -0
  43. package/resources/employers/index.mjs +4 -0
  44. package/resources/employers/index.mjs.map +1 -0
  45. package/resources/employers/service-bundles.d.mts +110 -0
  46. package/resources/employers/service-bundles.d.mts.map +1 -0
  47. package/resources/employers/service-bundles.d.ts +110 -0
  48. package/resources/employers/service-bundles.d.ts.map +1 -0
  49. package/resources/employers/service-bundles.js +47 -0
  50. package/resources/employers/service-bundles.js.map +1 -0
  51. package/resources/employers/service-bundles.mjs +43 -0
  52. package/resources/employers/service-bundles.mjs.map +1 -0
  53. package/resources/employers.d.mts +2 -0
  54. package/resources/employers.d.mts.map +1 -0
  55. package/resources/employers.d.ts +2 -0
  56. package/resources/employers.d.ts.map +1 -0
  57. package/resources/employers.js +6 -0
  58. package/resources/employers.js.map +1 -0
  59. package/resources/employers.mjs +3 -0
  60. package/resources/employers.mjs.map +1 -0
  61. package/resources/fax.d.mts +3 -1
  62. package/resources/fax.d.mts.map +1 -1
  63. package/resources/fax.d.ts +3 -1
  64. package/resources/fax.d.ts.map +1 -1
  65. package/resources/hl7.d.mts +46 -0
  66. package/resources/hl7.d.mts.map +1 -0
  67. package/resources/hl7.d.ts +46 -0
  68. package/resources/hl7.d.ts.map +1 -0
  69. package/resources/hl7.js +15 -0
  70. package/resources/hl7.js.map +1 -0
  71. package/resources/hl7.mjs +11 -0
  72. package/resources/hl7.mjs.map +1 -0
  73. package/resources/index.d.mts +5 -0
  74. package/resources/index.d.mts.map +1 -1
  75. package/resources/index.d.ts +5 -0
  76. package/resources/index.d.ts.map +1 -1
  77. package/resources/index.js +11 -1
  78. package/resources/index.js.map +1 -1
  79. package/resources/index.mjs +5 -0
  80. package/resources/index.mjs.map +1 -1
  81. package/resources/integrations.d.mts +42 -0
  82. package/resources/integrations.d.mts.map +1 -0
  83. package/resources/integrations.d.ts +42 -0
  84. package/resources/integrations.d.ts.map +1 -0
  85. package/resources/integrations.js +33 -0
  86. package/resources/integrations.js.map +1 -0
  87. package/resources/integrations.mjs +29 -0
  88. package/resources/integrations.mjs.map +1 -0
  89. package/resources/orders.d.mts +554 -0
  90. package/resources/orders.d.mts.map +1 -0
  91. package/resources/orders.d.ts +554 -0
  92. package/resources/orders.d.ts.map +1 -0
  93. package/resources/orders.js +71 -0
  94. package/resources/orders.js.map +1 -0
  95. package/resources/orders.mjs +67 -0
  96. package/resources/orders.mjs.map +1 -0
  97. package/src/client.ts +121 -2
  98. package/src/internal/to-file.ts +1 -1
  99. package/src/internal/utils/values.ts +3 -3
  100. package/src/resources/employees.ts +634 -0
  101. package/src/resources/employers/employers.ts +160 -0
  102. package/src/resources/employers/index.ts +21 -0
  103. package/src/resources/employers/service-bundles.ts +204 -0
  104. package/src/resources/employers.ts +3 -0
  105. package/src/resources/fax.ts +1 -1
  106. package/src/resources/hl7.ts +60 -0
  107. package/src/resources/index.ts +49 -0
  108. package/src/resources/integrations.ts +72 -0
  109. package/src/resources/orders.ts +874 -0
  110. package/src/version.ts +1 -1
  111. package/version.d.mts +1 -1
  112. package/version.d.ts +1 -1
  113. package/version.js +1 -1
  114. package/version.mjs +1 -1
@@ -0,0 +1,67 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { APIResource } from "../core/resource.mjs";
3
+ import { buildHeaders } from "../internal/headers.mjs";
4
+ import { path } from "../internal/utils/path.mjs";
5
+ export class Orders extends APIResource {
6
+ /**
7
+ * Create orders for consumers (self-pay or employer-sponsored), employers, or bulk
8
+ * orders. Consolidates functionality from legacy Order.createOrder and
9
+ * Order.SendOrder methods.
10
+ */
11
+ create(body, options) {
12
+ return this._client.post('/v1/orders', { body, ...options });
13
+ }
14
+ /**
15
+ * Retrieve details for a specific order
16
+ */
17
+ retrieve(orderID, options) {
18
+ return this._client.get(path `/v1/orders/${orderID}`, options);
19
+ }
20
+ /**
21
+ * Update order details and associated order items. Allows updating order status,
22
+ * metadata, and modifying order item services.
23
+ */
24
+ update(orderID, body = {}, options) {
25
+ return this._client.post(path `/v1/orders/${orderID}`, { body, ...options });
26
+ }
27
+ /**
28
+ * Retrieve results for an order. Supports filtering by serviceId, status, date
29
+ * window, and pagination.
30
+ */
31
+ retrieveResults(orderID, query = {}, options) {
32
+ return this._client.get(path `/v1/orders/${orderID}/results`, { query, ...options });
33
+ }
34
+ /**
35
+ * Schedule an appointment or walk-in for an existing order. Sends HL7 SIU^S12
36
+ * message for appointment booking.
37
+ */
38
+ scheduleAppointment(orderID, body, options) {
39
+ return this._client.post(path `/v1/orders/${orderID}/schedule-appointment`, { body, ...options });
40
+ }
41
+ /**
42
+ * Send an order for a specific employee. Requires API key, login token, and user
43
+ * ID. This endpoint specifically handles employer-to-employee order sending.
44
+ */
45
+ sendForEmployee(params, options) {
46
+ const { 'login-token': loginToken, 'user-id': userID, ...body } = params;
47
+ return this._client.post('/v1/orders/send', {
48
+ body,
49
+ ...options,
50
+ headers: buildHeaders([{ 'login-token': loginToken, 'user-id': userID }, options?.headers]),
51
+ });
52
+ }
53
+ /**
54
+ * Update the status of an existing order
55
+ */
56
+ updateStatus(orderID, body, options) {
57
+ return this._client.put(path `/v1/orders/${orderID}/status`, { body, ...options });
58
+ }
59
+ /**
60
+ * Upload test results for a specific order item. Supports both existing fileIds
61
+ * and base64 encoded files. Requires order access code and employee verification.
62
+ */
63
+ uploadResults(orderID, body, options) {
64
+ return this._client.post(path `/v1/orders/${orderID}/upload-results`, { body, ...options });
65
+ }
66
+ }
67
+ //# sourceMappingURL=orders.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orders.mjs","sourceRoot":"","sources":["../src/resources/orders.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,MAAO,SAAQ,WAAW;IACrC;;;;OAIG;IACH,MAAM,CAAC,IAAuB,EAAE,OAAwB;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAe,EAAE,OAAwB;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,cAAc,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,MAAM,CACJ,OAAe,EACf,OAA6C,EAAE,EAC/C,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,cAAc,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,eAAe,CACb,OAAe,EACf,QAAuD,EAAE,EACzD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,cAAc,OAAO,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,OAAe,EACf,IAAoC,EACpC,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,cAAc,OAAO,uBAAuB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACnG,CAAC;IAED;;;OAGG;IACH,eAAe,CACb,MAAkC,EAClC,OAAwB;QAExB,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC1C,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC5F,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CACV,OAAe,EACf,IAA6B,EAC7B,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,cAAc,OAAO,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACH,aAAa,CACX,OAAe,EACf,IAA8B,EAC9B,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,cAAc,OAAO,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7F,CAAC;CACF"}
package/src/client.ts CHANGED
@@ -17,6 +17,21 @@ import * as Uploads from './core/uploads';
17
17
  import * as API from './resources/index';
18
18
  import { APIPromise } from './core/api-promise';
19
19
  import { Database, DatabaseCheckHealthResponse } from './resources/database';
20
+ import {
21
+ EmployeeCreateParams,
22
+ EmployeeCreateResponse,
23
+ EmployeeDeleteResponse,
24
+ EmployeeLinkUserParams,
25
+ EmployeeLinkUserResponse,
26
+ EmployeeListParams,
27
+ EmployeeListResponse,
28
+ EmployeeRetrieveResponse,
29
+ EmployeeUnlinkUserParams,
30
+ EmployeeUnlinkUserResponse,
31
+ EmployeeUpdateParams,
32
+ EmployeeUpdateResponse,
33
+ Employees,
34
+ } from './resources/employees';
20
35
  import {
21
36
  Fax,
22
37
  FaxListProvidersResponse,
@@ -25,8 +40,42 @@ import {
25
40
  FaxSendResponse,
26
41
  } from './resources/fax';
27
42
  import { Health, HealthCheckResponse } from './resources/health';
43
+ import { Hl7, Hl7SendResultsParams, Hl7SendResultsResponse } from './resources/hl7';
44
+ import {
45
+ IntegrationCheckActiveParams,
46
+ IntegrationCheckActiveResponse,
47
+ IntegrationListParams,
48
+ IntegrationListResponse,
49
+ Integrations,
50
+ } from './resources/integrations';
51
+ import {
52
+ OrderCreateParams,
53
+ OrderCreateResponse,
54
+ OrderRetrieveResponse,
55
+ OrderRetrieveResultsParams,
56
+ OrderRetrieveResultsResponse,
57
+ OrderScheduleAppointmentParams,
58
+ OrderScheduleAppointmentResponse,
59
+ OrderSendForEmployeeParams,
60
+ OrderSendForEmployeeResponse,
61
+ OrderUpdateParams,
62
+ OrderUpdateResponse,
63
+ OrderUpdateStatusParams,
64
+ OrderUpdateStatusResponse,
65
+ OrderUploadResultsParams,
66
+ OrderUploadResultsResponse,
67
+ Orders,
68
+ } from './resources/orders';
28
69
  import { ProviderLookupParams, ProviderLookupResponse, Providers } from './resources/providers';
29
70
  import { Version, VersionRetrieveResponse } from './resources/version';
71
+ import {
72
+ EmployerCreateParams,
73
+ EmployerCreateResponse,
74
+ EmployerListParams,
75
+ EmployerListResponse,
76
+ EmployerRetrieveResponse,
77
+ Employers,
78
+ } from './resources/employers/employers';
30
79
  import { type Fetch } from './internal/builtin-types';
31
80
  import { HeadersLike, NullableHeaders, buildHeaders } from './internal/headers';
32
81
  import { FinalRequestOptions, RequestOptions } from './internal/request-options';
@@ -378,7 +427,7 @@ export class BlueHive {
378
427
  const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(castToError);
379
428
  const headersTime = Date.now();
380
429
 
381
- if (response instanceof Error) {
430
+ if (response instanceof globalThis.Error) {
382
431
  const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;
383
432
  if (options.signal?.aborted) {
384
433
  throw new Errors.APIUserAbortError();
@@ -685,7 +734,7 @@ export class BlueHive {
685
734
  // Preserve legacy string encoding behavior for now
686
735
  headers.values.has('content-type')) ||
687
736
  // `Blob` is superset of `File`
688
- body instanceof Blob ||
737
+ ((globalThis as any).Blob && body instanceof (globalThis as any).Blob) ||
689
738
  // `FormData` -> `multipart/form-data`
690
739
  body instanceof FormData ||
691
740
  // `URLSearchParams` -> `application/x-www-form-urlencoded`
@@ -729,12 +778,24 @@ export class BlueHive {
729
778
  providers: API.Providers = new API.Providers(this);
730
779
  database: API.Database = new API.Database(this);
731
780
  fax: API.Fax = new API.Fax(this);
781
+ employers: API.Employers = new API.Employers(this);
782
+ hl7: API.Hl7 = new API.Hl7(this);
783
+ orders: API.Orders = new API.Orders(this);
784
+ employees: API.Employees = new API.Employees(this);
785
+ integrations: API.Integrations = new API.Integrations(this);
732
786
  }
787
+
733
788
  BlueHive.Health = Health;
734
789
  BlueHive.Version = Version;
735
790
  BlueHive.Providers = Providers;
736
791
  BlueHive.Database = Database;
737
792
  BlueHive.Fax = Fax;
793
+ BlueHive.Employers = Employers;
794
+ BlueHive.Hl7 = Hl7;
795
+ BlueHive.Orders = Orders;
796
+ BlueHive.Employees = Employees;
797
+ BlueHive.Integrations = Integrations;
798
+
738
799
  export declare namespace BlueHive {
739
800
  export type RequestOptions = Opts.RequestOptions;
740
801
 
@@ -757,4 +818,62 @@ export declare namespace BlueHive {
757
818
  type FaxSendResponse as FaxSendResponse,
758
819
  type FaxSendParams as FaxSendParams,
759
820
  };
821
+
822
+ export {
823
+ Employers as Employers,
824
+ type EmployerCreateResponse as EmployerCreateResponse,
825
+ type EmployerRetrieveResponse as EmployerRetrieveResponse,
826
+ type EmployerListResponse as EmployerListResponse,
827
+ type EmployerCreateParams as EmployerCreateParams,
828
+ type EmployerListParams as EmployerListParams,
829
+ };
830
+
831
+ export {
832
+ Hl7 as Hl7,
833
+ type Hl7SendResultsResponse as Hl7SendResultsResponse,
834
+ type Hl7SendResultsParams as Hl7SendResultsParams,
835
+ };
836
+
837
+ export {
838
+ Orders as Orders,
839
+ type OrderCreateResponse as OrderCreateResponse,
840
+ type OrderRetrieveResponse as OrderRetrieveResponse,
841
+ type OrderUpdateResponse as OrderUpdateResponse,
842
+ type OrderRetrieveResultsResponse as OrderRetrieveResultsResponse,
843
+ type OrderScheduleAppointmentResponse as OrderScheduleAppointmentResponse,
844
+ type OrderSendForEmployeeResponse as OrderSendForEmployeeResponse,
845
+ type OrderUpdateStatusResponse as OrderUpdateStatusResponse,
846
+ type OrderUploadResultsResponse as OrderUploadResultsResponse,
847
+ type OrderCreateParams as OrderCreateParams,
848
+ type OrderUpdateParams as OrderUpdateParams,
849
+ type OrderRetrieveResultsParams as OrderRetrieveResultsParams,
850
+ type OrderScheduleAppointmentParams as OrderScheduleAppointmentParams,
851
+ type OrderSendForEmployeeParams as OrderSendForEmployeeParams,
852
+ type OrderUpdateStatusParams as OrderUpdateStatusParams,
853
+ type OrderUploadResultsParams as OrderUploadResultsParams,
854
+ };
855
+
856
+ export {
857
+ Employees as Employees,
858
+ type EmployeeCreateResponse as EmployeeCreateResponse,
859
+ type EmployeeRetrieveResponse as EmployeeRetrieveResponse,
860
+ type EmployeeUpdateResponse as EmployeeUpdateResponse,
861
+ type EmployeeListResponse as EmployeeListResponse,
862
+ type EmployeeDeleteResponse as EmployeeDeleteResponse,
863
+ type EmployeeLinkUserResponse as EmployeeLinkUserResponse,
864
+ type EmployeeUnlinkUserResponse as EmployeeUnlinkUserResponse,
865
+ type EmployeeCreateParams as EmployeeCreateParams,
866
+ type EmployeeUpdateParams as EmployeeUpdateParams,
867
+ type EmployeeListParams as EmployeeListParams,
868
+ type EmployeeLinkUserParams as EmployeeLinkUserParams,
869
+ type EmployeeUnlinkUserParams as EmployeeUnlinkUserParams,
870
+ };
871
+
872
+ export {
873
+ Integrations as Integrations,
874
+ type IntegrationListResponse as IntegrationListResponse,
875
+ type IntegrationCheckActiveResponse as IntegrationCheckActiveResponse,
876
+ type IntegrationListParams as IntegrationListParams,
877
+ type IntegrationCheckActiveParams as IntegrationCheckActiveParams,
878
+ };
760
879
  }
@@ -73,7 +73,7 @@ export type ToFileInput =
73
73
 
74
74
  /**
75
75
  * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
76
- * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s
76
+ * @param value the raw content of the file. Can be an {@link Uploadable}, BlobLikePart, or AsyncIterable of BlobLikeParts
77
77
  * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible
78
78
  * @param {Object=} options additional properties
79
79
  * @param {string=} options.type the MIME type of the content
@@ -76,21 +76,21 @@ export const coerceBoolean = (value: unknown): boolean => {
76
76
  };
77
77
 
78
78
  export const maybeCoerceInteger = (value: unknown): number | undefined => {
79
- if (value === undefined) {
79
+ if (value == null) {
80
80
  return undefined;
81
81
  }
82
82
  return coerceInteger(value);
83
83
  };
84
84
 
85
85
  export const maybeCoerceFloat = (value: unknown): number | undefined => {
86
- if (value === undefined) {
86
+ if (value == null) {
87
87
  return undefined;
88
88
  }
89
89
  return coerceFloat(value);
90
90
  };
91
91
 
92
92
  export const maybeCoerceBoolean = (value: unknown): boolean | undefined => {
93
- if (value === undefined) {
93
+ if (value == null) {
94
94
  return undefined;
95
95
  }
96
96
  return coerceBoolean(value);