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

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 (113) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/client.d.mts +15 -0
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +15 -0
  5. package/client.d.ts.map +1 -1
  6. package/client.js +17 -2
  7. package/client.js.map +1 -1
  8. package/client.mjs +17 -2
  9. package/client.mjs.map +1 -1
  10. package/internal/to-file.d.mts +1 -1
  11. package/internal/to-file.d.ts +1 -1
  12. package/internal/to-file.js +1 -1
  13. package/internal/to-file.mjs +1 -1
  14. package/internal/tslib.js +17 -17
  15. package/internal/utils/values.js +3 -3
  16. package/internal/utils/values.js.map +1 -1
  17. package/internal/utils/values.mjs +3 -3
  18. package/internal/utils/values.mjs.map +1 -1
  19. package/package.json +1 -1
  20. package/resources/employees.d.mts +463 -0
  21. package/resources/employees.d.mts.map +1 -0
  22. package/resources/employees.d.ts +463 -0
  23. package/resources/employees.d.ts.map +1 -0
  24. package/resources/employees.js +53 -0
  25. package/resources/employees.js.map +1 -0
  26. package/resources/employees.mjs +49 -0
  27. package/resources/employees.mjs.map +1 -0
  28. package/resources/employers/employers.d.mts +88 -0
  29. package/resources/employers/employers.d.mts.map +1 -0
  30. package/resources/employers/employers.d.ts +88 -0
  31. package/resources/employers/employers.d.ts.map +1 -0
  32. package/resources/employers/employers.js +41 -0
  33. package/resources/employers/employers.js.map +1 -0
  34. package/resources/employers/employers.mjs +36 -0
  35. package/resources/employers/employers.mjs.map +1 -0
  36. package/resources/employers/index.d.mts +3 -0
  37. package/resources/employers/index.d.mts.map +1 -0
  38. package/resources/employers/index.d.ts +3 -0
  39. package/resources/employers/index.d.ts.map +1 -0
  40. package/resources/employers/index.js +9 -0
  41. package/resources/employers/index.js.map +1 -0
  42. package/resources/employers/index.mjs +4 -0
  43. package/resources/employers/index.mjs.map +1 -0
  44. package/resources/employers/service-bundles.d.mts +110 -0
  45. package/resources/employers/service-bundles.d.mts.map +1 -0
  46. package/resources/employers/service-bundles.d.ts +110 -0
  47. package/resources/employers/service-bundles.d.ts.map +1 -0
  48. package/resources/employers/service-bundles.js +47 -0
  49. package/resources/employers/service-bundles.js.map +1 -0
  50. package/resources/employers/service-bundles.mjs +43 -0
  51. package/resources/employers/service-bundles.mjs.map +1 -0
  52. package/resources/employers.d.mts +2 -0
  53. package/resources/employers.d.mts.map +1 -0
  54. package/resources/employers.d.ts +2 -0
  55. package/resources/employers.d.ts.map +1 -0
  56. package/resources/employers.js +6 -0
  57. package/resources/employers.js.map +1 -0
  58. package/resources/employers.mjs +3 -0
  59. package/resources/employers.mjs.map +1 -0
  60. package/resources/fax.d.mts +3 -1
  61. package/resources/fax.d.mts.map +1 -1
  62. package/resources/fax.d.ts +3 -1
  63. package/resources/fax.d.ts.map +1 -1
  64. package/resources/hl7.d.mts +82 -0
  65. package/resources/hl7.d.mts.map +1 -0
  66. package/resources/hl7.d.ts +82 -0
  67. package/resources/hl7.d.ts.map +1 -0
  68. package/resources/hl7.js +22 -0
  69. package/resources/hl7.js.map +1 -0
  70. package/resources/hl7.mjs +18 -0
  71. package/resources/hl7.mjs.map +1 -0
  72. package/resources/index.d.mts +5 -0
  73. package/resources/index.d.mts.map +1 -1
  74. package/resources/index.d.ts +5 -0
  75. package/resources/index.d.ts.map +1 -1
  76. package/resources/index.js +11 -1
  77. package/resources/index.js.map +1 -1
  78. package/resources/index.mjs +5 -0
  79. package/resources/index.mjs.map +1 -1
  80. package/resources/integrations.d.mts +42 -0
  81. package/resources/integrations.d.mts.map +1 -0
  82. package/resources/integrations.d.ts +42 -0
  83. package/resources/integrations.d.ts.map +1 -0
  84. package/resources/integrations.js +33 -0
  85. package/resources/integrations.js.map +1 -0
  86. package/resources/integrations.mjs +29 -0
  87. package/resources/integrations.mjs.map +1 -0
  88. package/resources/orders.d.mts +554 -0
  89. package/resources/orders.d.mts.map +1 -0
  90. package/resources/orders.d.ts +554 -0
  91. package/resources/orders.d.ts.map +1 -0
  92. package/resources/orders.js +71 -0
  93. package/resources/orders.js.map +1 -0
  94. package/resources/orders.mjs +67 -0
  95. package/resources/orders.mjs.map +1 -0
  96. package/src/client.ts +129 -2
  97. package/src/internal/to-file.ts +1 -1
  98. package/src/internal/utils/values.ts +3 -3
  99. package/src/resources/employees.ts +633 -0
  100. package/src/resources/employers/employers.ts +160 -0
  101. package/src/resources/employers/index.ts +21 -0
  102. package/src/resources/employers/service-bundles.ts +204 -0
  103. package/src/resources/employers.ts +3 -0
  104. package/src/resources/fax.ts +1 -1
  105. package/src/resources/hl7.ts +109 -0
  106. package/src/resources/index.ts +55 -0
  107. package/src/resources/integrations.ts +72 -0
  108. package/src/resources/orders.ts +874 -0
  109. package/src/version.ts +1 -1
  110. package/version.d.mts +1 -1
  111. package/version.d.ts +1 -1
  112. package/version.js +1 -1
  113. 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,48 @@ import {
25
40
  FaxSendResponse,
26
41
  } from './resources/fax';
27
42
  import { Health, HealthCheckResponse } from './resources/health';
43
+ import {
44
+ Hl7,
45
+ Hl7ProcessParams,
46
+ Hl7ProcessResponse,
47
+ Hl7SendResultsParams,
48
+ Hl7SendResultsResponse,
49
+ } from './resources/hl7';
50
+ import {
51
+ IntegrationCheckActiveParams,
52
+ IntegrationCheckActiveResponse,
53
+ IntegrationListParams,
54
+ IntegrationListResponse,
55
+ Integrations,
56
+ } from './resources/integrations';
57
+ import {
58
+ OrderCreateParams,
59
+ OrderCreateResponse,
60
+ OrderRetrieveResponse,
61
+ OrderRetrieveResultsParams,
62
+ OrderRetrieveResultsResponse,
63
+ OrderScheduleAppointmentParams,
64
+ OrderScheduleAppointmentResponse,
65
+ OrderSendForEmployeeParams,
66
+ OrderSendForEmployeeResponse,
67
+ OrderUpdateParams,
68
+ OrderUpdateResponse,
69
+ OrderUpdateStatusParams,
70
+ OrderUpdateStatusResponse,
71
+ OrderUploadResultsParams,
72
+ OrderUploadResultsResponse,
73
+ Orders,
74
+ } from './resources/orders';
28
75
  import { ProviderLookupParams, ProviderLookupResponse, Providers } from './resources/providers';
29
76
  import { Version, VersionRetrieveResponse } from './resources/version';
77
+ import {
78
+ EmployerCreateParams,
79
+ EmployerCreateResponse,
80
+ EmployerListParams,
81
+ EmployerListResponse,
82
+ EmployerRetrieveResponse,
83
+ Employers,
84
+ } from './resources/employers/employers';
30
85
  import { type Fetch } from './internal/builtin-types';
31
86
  import { HeadersLike, NullableHeaders, buildHeaders } from './internal/headers';
32
87
  import { FinalRequestOptions, RequestOptions } from './internal/request-options';
@@ -378,7 +433,7 @@ export class BlueHive {
378
433
  const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(castToError);
379
434
  const headersTime = Date.now();
380
435
 
381
- if (response instanceof Error) {
436
+ if (response instanceof globalThis.Error) {
382
437
  const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;
383
438
  if (options.signal?.aborted) {
384
439
  throw new Errors.APIUserAbortError();
@@ -685,7 +740,7 @@ export class BlueHive {
685
740
  // Preserve legacy string encoding behavior for now
686
741
  headers.values.has('content-type')) ||
687
742
  // `Blob` is superset of `File`
688
- body instanceof Blob ||
743
+ ((globalThis as any).Blob && body instanceof (globalThis as any).Blob) ||
689
744
  // `FormData` -> `multipart/form-data`
690
745
  body instanceof FormData ||
691
746
  // `URLSearchParams` -> `application/x-www-form-urlencoded`
@@ -729,12 +784,24 @@ export class BlueHive {
729
784
  providers: API.Providers = new API.Providers(this);
730
785
  database: API.Database = new API.Database(this);
731
786
  fax: API.Fax = new API.Fax(this);
787
+ employers: API.Employers = new API.Employers(this);
788
+ hl7: API.Hl7 = new API.Hl7(this);
789
+ orders: API.Orders = new API.Orders(this);
790
+ employees: API.Employees = new API.Employees(this);
791
+ integrations: API.Integrations = new API.Integrations(this);
732
792
  }
793
+
733
794
  BlueHive.Health = Health;
734
795
  BlueHive.Version = Version;
735
796
  BlueHive.Providers = Providers;
736
797
  BlueHive.Database = Database;
737
798
  BlueHive.Fax = Fax;
799
+ BlueHive.Employers = Employers;
800
+ BlueHive.Hl7 = Hl7;
801
+ BlueHive.Orders = Orders;
802
+ BlueHive.Employees = Employees;
803
+ BlueHive.Integrations = Integrations;
804
+
738
805
  export declare namespace BlueHive {
739
806
  export type RequestOptions = Opts.RequestOptions;
740
807
 
@@ -757,4 +824,64 @@ export declare namespace BlueHive {
757
824
  type FaxSendResponse as FaxSendResponse,
758
825
  type FaxSendParams as FaxSendParams,
759
826
  };
827
+
828
+ export {
829
+ Employers as Employers,
830
+ type EmployerCreateResponse as EmployerCreateResponse,
831
+ type EmployerRetrieveResponse as EmployerRetrieveResponse,
832
+ type EmployerListResponse as EmployerListResponse,
833
+ type EmployerCreateParams as EmployerCreateParams,
834
+ type EmployerListParams as EmployerListParams,
835
+ };
836
+
837
+ export {
838
+ Hl7 as Hl7,
839
+ type Hl7ProcessResponse as Hl7ProcessResponse,
840
+ type Hl7SendResultsResponse as Hl7SendResultsResponse,
841
+ type Hl7ProcessParams as Hl7ProcessParams,
842
+ type Hl7SendResultsParams as Hl7SendResultsParams,
843
+ };
844
+
845
+ export {
846
+ Orders as Orders,
847
+ type OrderCreateResponse as OrderCreateResponse,
848
+ type OrderRetrieveResponse as OrderRetrieveResponse,
849
+ type OrderUpdateResponse as OrderUpdateResponse,
850
+ type OrderRetrieveResultsResponse as OrderRetrieveResultsResponse,
851
+ type OrderScheduleAppointmentResponse as OrderScheduleAppointmentResponse,
852
+ type OrderSendForEmployeeResponse as OrderSendForEmployeeResponse,
853
+ type OrderUpdateStatusResponse as OrderUpdateStatusResponse,
854
+ type OrderUploadResultsResponse as OrderUploadResultsResponse,
855
+ type OrderCreateParams as OrderCreateParams,
856
+ type OrderUpdateParams as OrderUpdateParams,
857
+ type OrderRetrieveResultsParams as OrderRetrieveResultsParams,
858
+ type OrderScheduleAppointmentParams as OrderScheduleAppointmentParams,
859
+ type OrderSendForEmployeeParams as OrderSendForEmployeeParams,
860
+ type OrderUpdateStatusParams as OrderUpdateStatusParams,
861
+ type OrderUploadResultsParams as OrderUploadResultsParams,
862
+ };
863
+
864
+ export {
865
+ Employees as Employees,
866
+ type EmployeeCreateResponse as EmployeeCreateResponse,
867
+ type EmployeeRetrieveResponse as EmployeeRetrieveResponse,
868
+ type EmployeeUpdateResponse as EmployeeUpdateResponse,
869
+ type EmployeeListResponse as EmployeeListResponse,
870
+ type EmployeeDeleteResponse as EmployeeDeleteResponse,
871
+ type EmployeeLinkUserResponse as EmployeeLinkUserResponse,
872
+ type EmployeeUnlinkUserResponse as EmployeeUnlinkUserResponse,
873
+ type EmployeeCreateParams as EmployeeCreateParams,
874
+ type EmployeeUpdateParams as EmployeeUpdateParams,
875
+ type EmployeeListParams as EmployeeListParams,
876
+ type EmployeeLinkUserParams as EmployeeLinkUserParams,
877
+ type EmployeeUnlinkUserParams as EmployeeUnlinkUserParams,
878
+ };
879
+
880
+ export {
881
+ Integrations as Integrations,
882
+ type IntegrationListResponse as IntegrationListResponse,
883
+ type IntegrationCheckActiveResponse as IntegrationCheckActiveResponse,
884
+ type IntegrationListParams as IntegrationListParams,
885
+ type IntegrationCheckActiveParams as IntegrationCheckActiveParams,
886
+ };
760
887
  }
@@ -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);