partnermax 0.2.0 → 0.2.2

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 (179) hide show
  1. package/CHANGELOG.md +75 -47
  2. package/LICENSE +201 -201
  3. package/README.md +394 -370
  4. package/api-promise.js +1 -1
  5. package/client.d.mts +9 -3
  6. package/client.d.mts.map +1 -1
  7. package/client.d.ts +9 -3
  8. package/client.d.ts.map +1 -1
  9. package/client.js +12 -2
  10. package/client.js.map +1 -1
  11. package/client.mjs +12 -2
  12. package/client.mjs.map +1 -1
  13. package/core/api-promise.js +1 -1
  14. package/core/api-promise.mjs +1 -1
  15. package/core/pagination.d.mts +57 -0
  16. package/core/pagination.d.mts.map +1 -0
  17. package/core/pagination.d.ts +57 -0
  18. package/core/pagination.d.ts.map +1 -0
  19. package/core/pagination.js +108 -0
  20. package/core/pagination.js.map +1 -0
  21. package/core/pagination.mjs +102 -0
  22. package/core/pagination.mjs.map +1 -0
  23. package/error.js +1 -1
  24. package/index.d.mts +1 -0
  25. package/index.d.mts.map +1 -1
  26. package/index.d.ts +1 -0
  27. package/index.d.ts.map +1 -1
  28. package/index.js +3 -1
  29. package/index.js.map +1 -1
  30. package/index.mjs +1 -0
  31. package/index.mjs.map +1 -1
  32. package/internal/tslib.js +17 -17
  33. package/package.json +19 -15
  34. package/pagination.d.mts +3 -0
  35. package/pagination.d.mts.map +1 -0
  36. package/pagination.d.ts +3 -0
  37. package/pagination.d.ts.map +1 -0
  38. package/pagination.js +6 -0
  39. package/pagination.js.map +1 -0
  40. package/pagination.mjs +3 -0
  41. package/pagination.mjs.map +1 -0
  42. package/resource.js +1 -1
  43. package/resources/dealers/dealers.d.mts +7 -71
  44. package/resources/dealers/dealers.d.mts.map +1 -1
  45. package/resources/dealers/dealers.d.ts +7 -71
  46. package/resources/dealers/dealers.d.ts.map +1 -1
  47. package/resources/dealers/dealers.js +3 -16
  48. package/resources/dealers/dealers.js.map +1 -1
  49. package/resources/dealers/dealers.mjs +2 -15
  50. package/resources/dealers/dealers.mjs.map +1 -1
  51. package/resources/dealers/index.d.mts +2 -2
  52. package/resources/dealers/index.d.mts.map +1 -1
  53. package/resources/dealers/index.d.ts +2 -2
  54. package/resources/dealers/index.d.ts.map +1 -1
  55. package/resources/dealers/index.js.map +1 -1
  56. package/resources/dealers/index.mjs.map +1 -1
  57. package/resources/dealers/nlt/index.d.mts +1 -1
  58. package/resources/dealers/nlt/index.d.mts.map +1 -1
  59. package/resources/dealers/nlt/index.d.ts +1 -1
  60. package/resources/dealers/nlt/index.d.ts.map +1 -1
  61. package/resources/dealers/nlt/nlt.d.mts +2 -2
  62. package/resources/dealers/nlt/nlt.d.mts.map +1 -1
  63. package/resources/dealers/nlt/nlt.d.ts +2 -2
  64. package/resources/dealers/nlt/nlt.d.ts.map +1 -1
  65. package/resources/dealers/nlt/nlt.js +1 -1
  66. package/resources/dealers/nlt/offers.d.mts +55 -78
  67. package/resources/dealers/nlt/offers.d.mts.map +1 -1
  68. package/resources/dealers/nlt/offers.d.ts +55 -78
  69. package/resources/dealers/nlt/offers.d.ts.map +1 -1
  70. package/resources/dealers/nlt/offers.js +9 -11
  71. package/resources/dealers/nlt/offers.js.map +1 -1
  72. package/resources/dealers/nlt/offers.mjs +9 -11
  73. package/resources/dealers/nlt/offers.mjs.map +1 -1
  74. package/resources/dealers/nlt-settings.d.mts +24 -64
  75. package/resources/dealers/nlt-settings.d.mts.map +1 -1
  76. package/resources/dealers/nlt-settings.d.ts +24 -64
  77. package/resources/dealers/nlt-settings.d.ts.map +1 -1
  78. package/resources/dealers/nlt-settings.js +4 -13
  79. package/resources/dealers/nlt-settings.js.map +1 -1
  80. package/resources/dealers/nlt-settings.mjs +4 -13
  81. package/resources/dealers/nlt-settings.mjs.map +1 -1
  82. package/resources/dealers/nlt.js +1 -1
  83. package/resources/dealers/vehicles/images.d.mts +3 -2
  84. package/resources/dealers/vehicles/images.d.mts.map +1 -1
  85. package/resources/dealers/vehicles/images.d.ts +3 -2
  86. package/resources/dealers/vehicles/images.d.ts.map +1 -1
  87. package/resources/dealers/vehicles/images.js +3 -2
  88. package/resources/dealers/vehicles/images.js.map +1 -1
  89. package/resources/dealers/vehicles/images.mjs +3 -2
  90. package/resources/dealers/vehicles/images.mjs.map +1 -1
  91. package/resources/dealers/vehicles/index.d.mts +1 -1
  92. package/resources/dealers/vehicles/index.d.mts.map +1 -1
  93. package/resources/dealers/vehicles/index.d.ts +1 -1
  94. package/resources/dealers/vehicles/index.d.ts.map +1 -1
  95. package/resources/dealers/vehicles/index.js.map +1 -1
  96. package/resources/dealers/vehicles/index.mjs.map +1 -1
  97. package/resources/dealers/vehicles/vehicles.d.mts +57 -70
  98. package/resources/dealers/vehicles/vehicles.d.mts.map +1 -1
  99. package/resources/dealers/vehicles/vehicles.d.ts +57 -70
  100. package/resources/dealers/vehicles/vehicles.d.ts.map +1 -1
  101. package/resources/dealers/vehicles/vehicles.js +19 -19
  102. package/resources/dealers/vehicles/vehicles.js.map +1 -1
  103. package/resources/dealers/vehicles/vehicles.mjs +18 -18
  104. package/resources/dealers/vehicles/vehicles.mjs.map +1 -1
  105. package/resources/dealers/vehicles.js +1 -1
  106. package/resources/dealers.js +1 -1
  107. package/resources/index.d.mts +1 -1
  108. package/resources/index.d.mts.map +1 -1
  109. package/resources/index.d.ts +1 -1
  110. package/resources/index.d.ts.map +1 -1
  111. package/resources/index.js.map +1 -1
  112. package/resources/index.mjs.map +1 -1
  113. package/resources/keys.d.mts +7 -6
  114. package/resources/keys.d.mts.map +1 -1
  115. package/resources/keys.d.ts +7 -6
  116. package/resources/keys.d.ts.map +1 -1
  117. package/resources/keys.js +7 -6
  118. package/resources/keys.js.map +1 -1
  119. package/resources/keys.mjs +7 -6
  120. package/resources/keys.mjs.map +1 -1
  121. package/resources.js +1 -1
  122. package/src/api-promise.ts +2 -2
  123. package/src/client.ts +868 -841
  124. package/src/core/README.md +3 -3
  125. package/src/core/api-promise.ts +92 -92
  126. package/src/core/error.ts +130 -130
  127. package/src/core/pagination.ts +170 -0
  128. package/src/core/resource.ts +11 -11
  129. package/src/core/uploads.ts +2 -2
  130. package/src/error.ts +2 -2
  131. package/src/index.ts +23 -22
  132. package/src/internal/README.md +3 -3
  133. package/src/internal/builtin-types.ts +93 -93
  134. package/src/internal/detect-platform.ts +196 -196
  135. package/src/internal/errors.ts +33 -33
  136. package/src/internal/headers.ts +97 -97
  137. package/src/internal/parse.ts +56 -56
  138. package/src/internal/request-options.ts +91 -91
  139. package/src/internal/shim-types.ts +26 -26
  140. package/src/internal/shims.ts +107 -107
  141. package/src/internal/to-file.ts +154 -154
  142. package/src/internal/types.ts +93 -93
  143. package/src/internal/uploads.ts +187 -187
  144. package/src/internal/utils/base64.ts +40 -40
  145. package/src/internal/utils/bytes.ts +32 -32
  146. package/src/internal/utils/env.ts +18 -18
  147. package/src/internal/utils/log.ts +128 -128
  148. package/src/internal/utils/path.ts +88 -88
  149. package/src/internal/utils/query.ts +23 -23
  150. package/src/internal/utils/sleep.ts +3 -3
  151. package/src/internal/utils/uuid.ts +17 -17
  152. package/src/internal/utils/values.ts +105 -105
  153. package/src/internal/utils.ts +9 -9
  154. package/src/lib/.keep +4 -4
  155. package/src/pagination.ts +2 -0
  156. package/src/resource.ts +2 -2
  157. package/src/resources/dealers/dealers.ts +260 -348
  158. package/src/resources/dealers/index.ts +28 -28
  159. package/src/resources/dealers/nlt/index.ts +11 -11
  160. package/src/resources/dealers/nlt/nlt.ts +29 -29
  161. package/src/resources/dealers/nlt/offers.ts +403 -427
  162. package/src/resources/dealers/nlt-settings.ts +229 -269
  163. package/src/resources/dealers/nlt.ts +3 -3
  164. package/src/resources/dealers/vehicles/images.ts +154 -153
  165. package/src/resources/dealers/vehicles/index.ts +26 -25
  166. package/src/resources/dealers/vehicles/vehicles.ts +786 -796
  167. package/src/resources/dealers/vehicles.ts +3 -3
  168. package/src/resources/dealers.ts +3 -3
  169. package/src/resources/index.ts +11 -12
  170. package/src/resources/keys.ts +129 -128
  171. package/src/resources.ts +1 -1
  172. package/src/tsconfig.json +11 -11
  173. package/src/uploads.ts +2 -2
  174. package/src/version.ts +1 -1
  175. package/uploads.js +1 -1
  176. package/version.d.mts +1 -1
  177. package/version.d.ts +1 -1
  178. package/version.js +1 -1
  179. package/version.mjs +1 -1
@@ -1,3 +1,3 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- export * from './vehicles/index';
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './vehicles/index';
@@ -1,3 +1,3 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- export * from './dealers/index';
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './dealers/index';
@@ -1,12 +1,11 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- export {
4
- Dealers,
5
- type DealerDetail,
6
- type DealerSummary,
7
- type DealerListResponse,
8
- type DealerCreateParams,
9
- type DealerUpdateParams,
10
- type DealerListParams,
11
- } from './dealers/dealers';
12
- export { Keys, type KeyListResponse, type KeyIssueResponse, type KeyIssueParams } from './keys';
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ Dealers,
5
+ type DealerDetail,
6
+ type DealerSummary,
7
+ type DealerUpdateParams,
8
+ type DealerListParams,
9
+ type DealerSummariesCursorPage,
10
+ } from './dealers/dealers';
11
+ export { Keys, type KeyListResponse, type KeyIssueResponse, type KeyIssueParams } from './keys';
@@ -1,128 +1,129 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { APIResource } from '../core/resource';
4
- import { APIPromise } from '../core/api-promise';
5
- import { buildHeaders } from '../internal/headers';
6
- import { RequestOptions } from '../internal/request-options';
7
- import { path } from '../internal/utils/path';
8
-
9
- /**
10
- * API key lifecycle management issue, list, revoke. The partner authenticates every request with `X-Api-Key` (preferred) or `Authorization: Bearer <key>`; the server identifies the partner from the key and scopes all reads/writes to dealers owned by that partner.
11
- */
12
- export class Keys extends APIResource {
13
- /**
14
- * List metadata for keys owned by the calling partner.
15
- *
16
- * Returns both active and revoked keys — partners can audit revoked keys via the
17
- * `is_active` flag. Key material is never returned.
18
- */
19
- list(options?: RequestOptions): APIPromise<KeyListResponse> {
20
- return this._client.get('/v1/keys', options);
21
- }
22
-
23
- /**
24
- * Issue a new API key. Plaintext returned exactly once.
25
- *
26
- * Capability gate: caller's key must hold `can_issue_keys`. The bootstrap key
27
- * handed to a partner by DealerMAX support carries this capability; keys minted
28
- * here inherit the _same_ capabilities as the caller, so partners can never
29
- * accidentally widen their own scope.
30
- */
31
- issue(params: KeyIssueParams, options?: RequestOptions): APIPromise<KeyIssueResponse> {
32
- const { 'Idempotency-Key': idempotencyKey, ...body } = params;
33
- return this._client.post('/v1/keys/issue', {
34
- body,
35
- ...options,
36
- headers: buildHeaders([
37
- { ...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined) },
38
- options?.headers,
39
- ]),
40
- });
41
- }
42
-
43
- /**
44
- * Revoke a key. Cannot revoke the key currently authenticating the request.
45
- */
46
- revoke(keyID: string, options?: RequestOptions): APIPromise<void> {
47
- return this._client.delete(path`/v1/keys/${keyID}`, {
48
- ...options,
49
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
50
- });
51
- }
52
- }
53
-
54
- /**
55
- * Response envelope for `GET /v1/keys`.
56
- */
57
- export interface KeyListResponse {
58
- data: Array<KeyListResponse.Data>;
59
- }
60
-
61
- export namespace KeyListResponse {
62
- /**
63
- * Metadata-only representation of an API key. Safe to return on list calls.
64
- */
65
- export interface Data {
66
- created_at: string;
67
-
68
- expires_at: string | null;
69
-
70
- is_active: boolean;
71
-
72
- key_id: string;
73
-
74
- key_prefix: string;
75
-
76
- label: string;
77
-
78
- last_used_at: string | null;
79
- }
80
- }
81
-
82
- /**
83
- * One-time response for `POST /v1/keys/issue`.
84
- *
85
- * The `key` field is plaintext and is never retrievable again. Callers must
86
- * persist it immediately on receipt.
87
- */
88
- export interface KeyIssueResponse {
89
- created_at: string;
90
-
91
- expires_at: string | null;
92
-
93
- /**
94
- * Plaintext key material. Returned ONCE — never retrievable again.
95
- */
96
- key: string;
97
-
98
- key_id: string;
99
-
100
- key_prefix: string;
101
-
102
- label: string;
103
- }
104
-
105
- export interface KeyIssueParams {
106
- /**
107
- * Body param: Human-readable identifier for this key, used for safe logging.
108
- */
109
- label: string;
110
-
111
- /**
112
- * Body param: Optional expiry timestamp. Null = never expires until revoked.
113
- */
114
- expires_at?: string | null;
115
-
116
- /**
117
- * Header param
118
- */
119
- 'Idempotency-Key'?: string;
120
- }
121
-
122
- export declare namespace Keys {
123
- export {
124
- type KeyListResponse as KeyListResponse,
125
- type KeyIssueResponse as KeyIssueResponse,
126
- type KeyIssueParams as KeyIssueParams,
127
- };
128
- }
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { buildHeaders } from '../internal/headers';
6
+ import { RequestOptions } from '../internal/request-options';
7
+ import { path } from '../internal/utils/path';
8
+
9
+ /**
10
+ * API key lifecycle management. PartnerMAX v1 allows one active API key per partner/environment; partners authenticate every request with `X-Api-Key` (preferred) or `Authorization: Bearer <key>`, and replacement is handled through DealerMAX support.
11
+ */
12
+ export class Keys extends APIResource {
13
+ /**
14
+ * List metadata for keys owned by the calling partner.
15
+ *
16
+ * Returns both active and revoked keys — partners can audit revoked keys via the
17
+ * `is_active` flag. Key material is never returned.
18
+ */
19
+ list(options?: RequestOptions): APIPromise<KeyListResponse> {
20
+ return this._client.get('/v1/keys', options);
21
+ }
22
+
23
+ /**
24
+ * Rotate the partner API key during a DealerMAX support flow.
25
+ *
26
+ * Plaintext is returned exactly once. The key authenticating this request is
27
+ * deactivated in the same transaction that inserts the replacement, preserving
28
+ * PartnerMAX v1's one-active-key invariant. Callers must not use this endpoint for
29
+ * per-deployment, CI, or engineer credentials. Capability gate: caller's key must
30
+ * hold `can_issue_keys`.
31
+ */
32
+ issue(params: KeyIssueParams, options?: RequestOptions): APIPromise<KeyIssueResponse> {
33
+ const { 'Idempotency-Key': idempotencyKey, ...body } = params;
34
+ return this._client.post('/v1/keys/issue', {
35
+ body,
36
+ ...options,
37
+ headers: buildHeaders([
38
+ { ...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined) },
39
+ options?.headers,
40
+ ]),
41
+ });
42
+ }
43
+
44
+ /**
45
+ * Revoke a key. Cannot revoke the key currently authenticating the request.
46
+ */
47
+ revoke(keyID: string, options?: RequestOptions): APIPromise<void> {
48
+ return this._client.delete(path`/v1/keys/${keyID}`, {
49
+ ...options,
50
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
51
+ });
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Response envelope for `GET /v1/keys`.
57
+ */
58
+ export interface KeyListResponse {
59
+ data: Array<KeyListResponse.Data>;
60
+ }
61
+
62
+ export namespace KeyListResponse {
63
+ /**
64
+ * Metadata-only representation of an API key. Safe to return on list calls.
65
+ */
66
+ export interface Data {
67
+ created_at: string;
68
+
69
+ expires_at: string | null;
70
+
71
+ is_active: boolean;
72
+
73
+ key_id: string;
74
+
75
+ key_prefix: string;
76
+
77
+ label: string;
78
+
79
+ last_used_at: string | null;
80
+ }
81
+ }
82
+
83
+ /**
84
+ * One-time response for `POST /v1/keys/issue`.
85
+ *
86
+ * The `key` field is plaintext and is never retrievable again. Callers must
87
+ * persist it immediately on receipt.
88
+ */
89
+ export interface KeyIssueResponse {
90
+ created_at: string;
91
+
92
+ expires_at: string | null;
93
+
94
+ /**
95
+ * Plaintext key material. Returned ONCE — never retrievable again.
96
+ */
97
+ key: string;
98
+
99
+ key_id: string;
100
+
101
+ key_prefix: string;
102
+
103
+ label: string;
104
+ }
105
+
106
+ export interface KeyIssueParams {
107
+ /**
108
+ * Body param: Human-readable identifier for this key, used for safe logging.
109
+ */
110
+ label: string;
111
+
112
+ /**
113
+ * Body param: Optional expiry timestamp. Null = never expires until revoked.
114
+ */
115
+ expires_at?: string | null;
116
+
117
+ /**
118
+ * Header param
119
+ */
120
+ 'Idempotency-Key'?: string;
121
+ }
122
+
123
+ export declare namespace Keys {
124
+ export {
125
+ type KeyListResponse as KeyListResponse,
126
+ type KeyIssueResponse as KeyIssueResponse,
127
+ type KeyIssueParams as KeyIssueParams,
128
+ };
129
+ }
package/src/resources.ts CHANGED
@@ -1 +1 @@
1
- export * from './resources/index';
1
+ export * from './resources/index';
package/src/tsconfig.json CHANGED
@@ -1,11 +1,11 @@
1
- {
2
- // this config is included in the published src directory to prevent TS errors
3
- // from appearing when users go to source, and VSCode opens the source .ts file
4
- // via declaration maps
5
- "include": ["index.ts"],
6
- "compilerOptions": {
7
- "target": "ES2015",
8
- "lib": ["DOM", "DOM.Iterable", "ES2018"],
9
- "moduleResolution": "node"
10
- }
11
- }
1
+ {
2
+ // this config is included in the published src directory to prevent TS errors
3
+ // from appearing when users go to source, and VSCode opens the source .ts file
4
+ // via declaration maps
5
+ "include": ["index.ts"],
6
+ "compilerOptions": {
7
+ "target": "ES2015",
8
+ "lib": ["DOM", "DOM.Iterable", "ES2018"],
9
+ "moduleResolution": "node"
10
+ }
11
+ }
package/src/uploads.ts CHANGED
@@ -1,2 +1,2 @@
1
- /** @deprecated Import from ./core/uploads instead */
2
- export * from './core/uploads';
1
+ /** @deprecated Import from ./core/uploads instead */
2
+ export * from './core/uploads';
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.2.0'; // x-release-please-version
1
+ export const VERSION = '0.2.2'; // x-release-please-version
package/uploads.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("./internal\\tslib.js");
3
+ const tslib_1 = require("./internal/tslib.js");
4
4
  /** @deprecated Import from ./core/uploads instead */
5
5
  tslib_1.__exportStar(require("./core/uploads.js"), exports);
6
6
  //# sourceMappingURL=uploads.js.map
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.2.0";
1
+ export declare const VERSION = "0.2.2";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.2.0";
1
+ export declare const VERSION = "0.2.2";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.2.0'; // x-release-please-version
4
+ exports.VERSION = '0.2.2'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.2.0'; // x-release-please-version
1
+ export const VERSION = '0.2.2'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map