@reflag/rest-api-sdk 0.0.2 → 0.0.5

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 (153) hide show
  1. package/README.md +12 -308
  2. package/index.d.ts +1 -0
  3. package/index.js +1 -0
  4. package/index.mjs +1 -0
  5. package/package.json +19 -28
  6. package/dist/api.js +0 -127
  7. package/dist/api.js.map +0 -1
  8. package/dist/generated/apis/DefaultApi.js +0 -620
  9. package/dist/generated/apis/DefaultApi.js.map +0 -1
  10. package/dist/generated/apis/index.js +0 -20
  11. package/dist/generated/apis/index.js.map +0 -1
  12. package/dist/generated/index.js +0 -22
  13. package/dist/generated/index.js.map +0 -1
  14. package/dist/generated/models/App.js +0 -84
  15. package/dist/generated/models/App.js.map +0 -1
  16. package/dist/generated/models/AppHeader.js +0 -74
  17. package/dist/generated/models/AppHeader.js.map +0 -1
  18. package/dist/generated/models/AppHeaderCollection.js +0 -52
  19. package/dist/generated/models/AppHeaderCollection.js.map +0 -1
  20. package/dist/generated/models/CreateFlag200Response.js +0 -52
  21. package/dist/generated/models/CreateFlag200Response.js.map +0 -1
  22. package/dist/generated/models/CreateFlag200ResponseFlag.js +0 -89
  23. package/dist/generated/models/CreateFlag200ResponseFlag.js.map +0 -1
  24. package/dist/generated/models/CreateFlagRequest.js +0 -65
  25. package/dist/generated/models/CreateFlagRequest.js.map +0 -1
  26. package/dist/generated/models/EntityFlag.js +0 -99
  27. package/dist/generated/models/EntityFlag.js.map +0 -1
  28. package/dist/generated/models/EntityFlagUpdate.js +0 -62
  29. package/dist/generated/models/EntityFlagUpdate.js.map +0 -1
  30. package/dist/generated/models/EntityFlagsResponse.js +0 -64
  31. package/dist/generated/models/EntityFlagsResponse.js.map +0 -1
  32. package/dist/generated/models/Environment.js +0 -68
  33. package/dist/generated/models/Environment.js.map +0 -1
  34. package/dist/generated/models/EnvironmentHeader.js +0 -63
  35. package/dist/generated/models/EnvironmentHeader.js.map +0 -1
  36. package/dist/generated/models/EnvironmentHeaderCollection.js +0 -62
  37. package/dist/generated/models/EnvironmentHeaderCollection.js.map +0 -1
  38. package/dist/generated/models/EnvironmentHeaderSortByColumn.js +0 -52
  39. package/dist/generated/models/EnvironmentHeaderSortByColumn.js.map +0 -1
  40. package/dist/generated/models/EnvironmentSdkAccess.js +0 -55
  41. package/dist/generated/models/EnvironmentSdkAccess.js.map +0 -1
  42. package/dist/generated/models/ErrorResponse.js +0 -54
  43. package/dist/generated/models/ErrorResponse.js.map +0 -1
  44. package/dist/generated/models/ErrorResponseError.js +0 -69
  45. package/dist/generated/models/ErrorResponseError.js.map +0 -1
  46. package/dist/generated/models/FlagHeader.js +0 -85
  47. package/dist/generated/models/FlagHeader.js.map +0 -1
  48. package/dist/generated/models/FlagHeaderCollection.js +0 -90
  49. package/dist/generated/models/FlagHeaderCollection.js.map +0 -1
  50. package/dist/generated/models/FlagKeyFormat.js +0 -57
  51. package/dist/generated/models/FlagKeyFormat.js.map +0 -1
  52. package/dist/generated/models/FlagTargeting.js +0 -65
  53. package/dist/generated/models/FlagTargeting.js.map +0 -1
  54. package/dist/generated/models/FlagValue.js +0 -51
  55. package/dist/generated/models/FlagValue.js.map +0 -1
  56. package/dist/generated/models/FlagValueTargeting.js +0 -55
  57. package/dist/generated/models/FlagValueTargeting.js.map +0 -1
  58. package/dist/generated/models/OrgHeader.js +0 -55
  59. package/dist/generated/models/OrgHeader.js.map +0 -1
  60. package/dist/generated/models/ReflagUserHeader.js +0 -61
  61. package/dist/generated/models/ReflagUserHeader.js.map +0 -1
  62. package/dist/generated/models/SegmentHeader.js +0 -60
  63. package/dist/generated/models/SegmentHeader.js.map +0 -1
  64. package/dist/generated/models/SegmentType.js +0 -52
  65. package/dist/generated/models/SegmentType.js.map +0 -1
  66. package/dist/generated/models/SortOrder.js +0 -52
  67. package/dist/generated/models/SortOrder.js.map +0 -1
  68. package/dist/generated/models/StageHeader.js +0 -63
  69. package/dist/generated/models/StageHeader.js.map +0 -1
  70. package/dist/generated/models/UpdateEntityFlagsBody.js +0 -56
  71. package/dist/generated/models/UpdateEntityFlagsBody.js.map +0 -1
  72. package/dist/generated/models/UpdateFlagRequest.js +0 -61
  73. package/dist/generated/models/UpdateFlagRequest.js.map +0 -1
  74. package/dist/generated/models/index.js +0 -49
  75. package/dist/generated/models/index.js.map +0 -1
  76. package/dist/generated/runtime.js +0 -351
  77. package/dist/generated/runtime.js.map +0 -1
  78. package/dist/index.js +0 -23
  79. package/dist/index.js.map +0 -1
  80. package/dist/types/api.d.ts +0 -21
  81. package/dist/types/api.d.ts.map +0 -1
  82. package/dist/types/generated/apis/DefaultApi.d.ts +0 -399
  83. package/dist/types/generated/apis/DefaultApi.d.ts.map +0 -1
  84. package/dist/types/generated/apis/index.d.ts +0 -2
  85. package/dist/types/generated/apis/index.d.ts.map +0 -1
  86. package/dist/types/generated/index.d.ts +0 -4
  87. package/dist/types/generated/index.d.ts.map +0 -1
  88. package/dist/types/generated/models/App.d.ts +0 -80
  89. package/dist/types/generated/models/App.d.ts.map +0 -1
  90. package/dist/types/generated/models/AppHeader.d.ts +0 -66
  91. package/dist/types/generated/models/AppHeader.d.ts.map +0 -1
  92. package/dist/types/generated/models/AppHeaderCollection.d.ts +0 -34
  93. package/dist/types/generated/models/AppHeaderCollection.d.ts.map +0 -1
  94. package/dist/types/generated/models/CreateFlag200Response.d.ts +0 -34
  95. package/dist/types/generated/models/CreateFlag200Response.d.ts.map +0 -1
  96. package/dist/types/generated/models/CreateFlag200ResponseFlag.d.ts +0 -113
  97. package/dist/types/generated/models/CreateFlag200ResponseFlag.d.ts.map +0 -1
  98. package/dist/types/generated/models/CreateFlagRequest.d.ts +0 -69
  99. package/dist/types/generated/models/CreateFlagRequest.d.ts.map +0 -1
  100. package/dist/types/generated/models/EntityFlag.d.ts +0 -105
  101. package/dist/types/generated/models/EntityFlag.d.ts.map +0 -1
  102. package/dist/types/generated/models/EntityFlagUpdate.d.ts +0 -46
  103. package/dist/types/generated/models/EntityFlagUpdate.d.ts.map +0 -1
  104. package/dist/types/generated/models/EntityFlagsResponse.d.ts +0 -52
  105. package/dist/types/generated/models/EntityFlagsResponse.d.ts.map +0 -1
  106. package/dist/types/generated/models/Environment.d.ts +0 -58
  107. package/dist/types/generated/models/Environment.d.ts.map +0 -1
  108. package/dist/types/generated/models/EnvironmentHeader.d.ts +0 -51
  109. package/dist/types/generated/models/EnvironmentHeader.d.ts.map +0 -1
  110. package/dist/types/generated/models/EnvironmentHeaderCollection.d.ts +0 -48
  111. package/dist/types/generated/models/EnvironmentHeaderCollection.d.ts.map +0 -1
  112. package/dist/types/generated/models/EnvironmentHeaderSortByColumn.d.ts +0 -26
  113. package/dist/types/generated/models/EnvironmentHeaderSortByColumn.d.ts.map +0 -1
  114. package/dist/types/generated/models/EnvironmentSdkAccess.d.ts +0 -39
  115. package/dist/types/generated/models/EnvironmentSdkAccess.d.ts.map +0 -1
  116. package/dist/types/generated/models/ErrorResponse.d.ts +0 -42
  117. package/dist/types/generated/models/ErrorResponse.d.ts.map +0 -1
  118. package/dist/types/generated/models/ErrorResponseError.d.ts +0 -53
  119. package/dist/types/generated/models/ErrorResponseError.d.ts.map +0 -1
  120. package/dist/types/generated/models/FlagHeader.d.ts +0 -101
  121. package/dist/types/generated/models/FlagHeader.d.ts.map +0 -1
  122. package/dist/types/generated/models/FlagHeaderCollection.d.ts +0 -82
  123. package/dist/types/generated/models/FlagHeaderCollection.d.ts.map +0 -1
  124. package/dist/types/generated/models/FlagKeyFormat.d.ts +0 -31
  125. package/dist/types/generated/models/FlagKeyFormat.d.ts.map +0 -1
  126. package/dist/types/generated/models/FlagTargeting.d.ts +0 -54
  127. package/dist/types/generated/models/FlagTargeting.d.ts.map +0 -1
  128. package/dist/types/generated/models/FlagValue.d.ts +0 -25
  129. package/dist/types/generated/models/FlagValue.d.ts.map +0 -1
  130. package/dist/types/generated/models/FlagValueTargeting.d.ts +0 -39
  131. package/dist/types/generated/models/FlagValueTargeting.d.ts.map +0 -1
  132. package/dist/types/generated/models/OrgHeader.d.ts +0 -39
  133. package/dist/types/generated/models/OrgHeader.d.ts.map +0 -1
  134. package/dist/types/generated/models/ReflagUserHeader.d.ts +0 -51
  135. package/dist/types/generated/models/ReflagUserHeader.d.ts.map +0 -1
  136. package/dist/types/generated/models/SegmentHeader.d.ts +0 -46
  137. package/dist/types/generated/models/SegmentHeader.d.ts.map +0 -1
  138. package/dist/types/generated/models/SegmentType.d.ts +0 -26
  139. package/dist/types/generated/models/SegmentType.d.ts.map +0 -1
  140. package/dist/types/generated/models/SortOrder.d.ts +0 -26
  141. package/dist/types/generated/models/SortOrder.d.ts.map +0 -1
  142. package/dist/types/generated/models/StageHeader.d.ts +0 -51
  143. package/dist/types/generated/models/StageHeader.d.ts.map +0 -1
  144. package/dist/types/generated/models/UpdateEntityFlagsBody.d.ts +0 -46
  145. package/dist/types/generated/models/UpdateEntityFlagsBody.d.ts.map +0 -1
  146. package/dist/types/generated/models/UpdateFlagRequest.d.ts +0 -69
  147. package/dist/types/generated/models/UpdateFlagRequest.d.ts.map +0 -1
  148. package/dist/types/generated/models/index.d.ts +0 -31
  149. package/dist/types/generated/models/index.d.ts.map +0 -1
  150. package/dist/types/generated/runtime.d.ts +0 -185
  151. package/dist/types/generated/runtime.d.ts.map +0 -1
  152. package/dist/types/index.d.ts +0 -4
  153. package/dist/types/index.d.ts.map +0 -1
package/README.md CHANGED
@@ -1,315 +1,19 @@
1
- # @reflag/rest-api-sdk (beta)
1
+ # Moved: `@reflag/rest-api-sdk` → `@reflag/management-sdk`
2
2
 
3
- Typed SDK for Reflag's REST API.
3
+ This SDK has been renamed.
4
4
 
5
- ## Installation
5
+ - Old package: `@reflag/rest-api-sdk`
6
+ - New package: `@reflag/management-sdk`
7
+ - New location in this repo: [`packages/management-sdk`](../management-sdk/README.md)
6
8
 
7
- ```bash
8
- npm install @reflag/rest-api-sdk
9
- # or
10
- yarn add @reflag/rest-api-sdk
11
- ```
12
-
13
- ## Create a client
14
-
15
- Initialize the SDK with a [Reflag REST API Key](https://app.reflag.com/env-current/settings/org-api-access).
16
-
17
- ```typescript
18
- import { Api } from "@reflag/rest-api-sdk";
19
-
20
- const api = new Api({
21
- accessToken: process.env.REFLAG_API_KEY,
22
- });
23
- ```
24
-
25
- ## API surface
26
-
27
- Main exports:
28
-
29
- - `Api`: base client
30
- - `createAppClient(appId, config)`: app-scoped client
31
- - `ReflagApiError`: normalized API error type
32
- - Generated request/response types and models from `@reflag/rest-api-sdk`
33
-
34
- Core method groups:
35
-
36
- - Applications: `listApps`, `getApp`
37
- - Environments: `listEnvironments`, `getEnvironment`
38
- - Flags: `listFlags`, `createFlag`, `updateFlag`
39
- - User/company evaluation: `getUserFlags`, `updateUserFlags`, `getCompanyFlags`, `updateCompanyFlags`
40
-
41
- ## Quick start
42
-
43
- ```typescript
44
- const apps = await api.listApps();
45
- console.log(apps.data);
46
- // [
47
- // {
48
- // "org": { "id": "org-1", "name": "Acme Org" },
49
- // "id": "app-123",
50
- // "name": "Acme App",
51
- // "demo": false,
52
- // "flagKeyFormat": "kebabCaseLower",
53
- // "environments": [
54
- // { "id": "env-123", "name": "Development", "isProduction": false, "order": 0 },
55
- // { "id": "env-456", "name": "Production", "isProduction": true, "order": 1 }
56
- // ]
57
- // }
58
- // ]
59
-
60
- const app = apps.data[0];
61
- const appId = app?.id;
62
-
63
- if (appId) {
64
- const environments = await api.listEnvironments({
65
- appId,
66
- sortBy: "order",
67
- sortOrder: "asc",
68
- });
69
-
70
- console.log(environments.data);
71
- // [
72
- // { "id": "env-456", "name": "Production", "isProduction": true, "order": 1 }
73
- // ]
74
- }
75
- ```
76
-
77
- ## App-scoped client
78
-
79
- If most calls are for one app, use `createAppClient` to avoid repeating `appId`.
80
-
81
- ```typescript
82
- import { createAppClient } from "@reflag/rest-api-sdk";
83
-
84
- const appApi = createAppClient("app-123", {
85
- accessToken: process.env.REFLAG_API_KEY,
86
- });
87
-
88
- const environments = await appApi.listEnvironments({
89
- sortBy: "order",
90
- sortOrder: "asc",
91
- });
92
- console.log(environments.data);
93
- // [
94
- // { "id": "env-456", "name": "Production", "isProduction": true, "order": 1 }
95
- // ]
96
-
97
- const flags = await appApi.listFlags({});
98
- console.log(flags.data);
99
- // [
100
- // {
101
- // "id": "flag-1",
102
- // "key": "new-checkout",
103
- // "name": "New checkout",
104
- // "description": "Rollout for redesigned checkout flow",
105
- // "stage": { "id": "stage-1", "name": "Beta", "color": "#4f46e5", "order": 2 },
106
- // "owner": {
107
- // "id": "user-99",
108
- // "name": "Jane Doe",
109
- // "email": "jane@acme.com",
110
- // "avatarUrl": "https://example.com/avatar.png"
111
- // },
112
- // "archived": false,
113
- // "stale": false,
114
- // "permanent": false,
115
- // "createdAt": "2026-03-03T09:00:00.000Z",
116
- // "lastCheckAt": "2026-03-03T09:30:00.000Z",
117
- // "lastTrackAt": "2026-03-03T09:31:00.000Z"
118
- // }
119
- // ]
120
- ```
121
-
122
- ## Common workflows
123
-
124
- ### Create and update a flag
9
+ Please update your dependencies and imports:
125
10
 
126
- `createFlag` and `updateFlag` return `{ flag }` with the latest flag details.
127
-
128
- Use `null` to clear nullable fields like `description` or `ownerUserId` on update.
129
-
130
- ```typescript
131
- const created = await api.createFlag({
132
- appId: "app-123",
133
- key: "new-checkout",
134
- name: "New checkout",
135
- description: "Rollout for redesigned checkout flow",
136
- secret: false,
137
- });
138
-
139
- const updated = await api.updateFlag({
140
- appId: "app-123",
141
- flagId: created.flag.id,
142
- name: "New checkout experience",
143
- ownerUserId: null,
144
- });
145
- console.log(updated.flag);
146
- // {
147
- // "id": "flag-1",
148
- // "key": "new-checkout",
149
- // "name": "New checkout experience",
150
- // "description": "Rollout for redesigned checkout flow",
151
- // "stage": { "id": "stage-1", "name": "Beta", "color": "#4f46e5", "order": 2 },
152
- // "owner": {
153
- // "id": "user-99",
154
- // "name": "Jane Doe",
155
- // "email": "jane@acme.com",
156
- // "avatarUrl": "https://example.com/avatar.png"
157
- // },
158
- // "archived": false,
159
- // "stale": false,
160
- // "permanent": false,
161
- // "createdAt": "2026-03-03T09:00:00.000Z",
162
- // "lastCheckAt": "2026-03-03T09:35:00.000Z",
163
- // "lastTrackAt": "2026-03-03T09:36:00.000Z",
164
- // "rolledOutToEveryoneAt": "2026-03-10T12:00:00.000Z",
165
- // "parentFlagId": "flag-parent-1"
166
- // }
167
- ```
168
-
169
- ### Read user flags for an environment
170
-
171
- `getUserFlags` evaluates flag results for one user in one environment and returns
172
- the user’s current values plus exposure/check metadata for each flag.
173
-
174
- ```typescript
175
- const userFlags = await api.getUserFlags({
176
- appId: "app-123",
177
- envId: "env-456",
178
- userId: "user-1",
179
- });
180
-
181
- console.log(userFlags.data);
182
- // [
183
- // {
184
- // "id": "flag-1",
185
- // "key": "new-checkout",
186
- // "name": "New checkout",
187
- // "createdAt": "2026-03-03T09:00:00.000Z",
188
- // "value": true,
189
- // "specificTargetValue": true,
190
- // "firstExposureAt": "2026-03-03T09:05:00.000Z",
191
- // "lastExposureAt": "2026-03-03T09:30:00.000Z",
192
- // "lastCheckAt": "2026-03-03T09:31:00.000Z",
193
- // "exposureCount": 12,
194
- // "firstTrackAt": "2026-03-03T09:06:00.000Z",
195
- // "lastTrackAt": "2026-03-03T09:32:00.000Z",
196
- // "trackCount": 5
197
- // }
198
- // ]
199
- ```
200
-
201
- ### Toggle a user flag
202
-
203
- Use `true` to explicitly target on, and `null` to remove specific targeting.
204
-
205
- ```typescript
206
- const updatedUserFlags = await api.updateUserFlags({
207
- appId: "app-123",
208
- envId: "env-456",
209
- userId: "user-1",
210
- updates: [{ flagKey: "new-checkout", specificTargetValue: true }],
211
- });
212
- console.log(updatedUserFlags.data);
213
- // [
214
- // {
215
- // "id": "flag-1",
216
- // "key": "new-checkout",
217
- // "name": "New checkout",
218
- // "createdAt": "2026-03-03T09:00:00.000Z",
219
- // "value": true,
220
- // "specificTargetValue": true,
221
- // "firstExposureAt": "2026-03-03T09:05:00.000Z",
222
- // "lastExposureAt": "2026-03-03T09:35:00.000Z",
223
- // "lastCheckAt": "2026-03-03T09:36:00.000Z",
224
- // "exposureCount": 13,
225
- // "firstTrackAt": "2026-03-03T09:06:00.000Z",
226
- // "lastTrackAt": "2026-03-03T09:37:00.000Z",
227
- // "trackCount": 6
228
- // }
229
- // ]
230
- ```
231
-
232
- ### Read company flags for an environment
233
-
234
- ```typescript
235
- const companyFlags = await api.getCompanyFlags({
236
- appId: "app-123",
237
- envId: "env-456",
238
- companyId: "company-1",
239
- });
240
- console.log(companyFlags.data);
241
- // [
242
- // {
243
- // "id": "flag-1",
244
- // "key": "new-checkout",
245
- // "name": "New checkout",
246
- // "createdAt": "2026-03-03T09:00:00.000Z",
247
- // "value": false,
248
- // "specificTargetValue": null,
249
- // "firstExposureAt": null,
250
- // "lastExposureAt": null,
251
- // "lastCheckAt": "2026-03-03T09:31:00.000Z",
252
- // "exposureCount": 0,
253
- // "firstTrackAt": null,
254
- // "lastTrackAt": null,
255
- // "trackCount": 0
256
- // }
257
- // ]
11
+ ```diff
12
+ - npm install @reflag/rest-api-sdk
13
+ + npm install @reflag/management-sdk
258
14
  ```
259
15
 
260
- ### Toggle a company flag
261
-
262
- Use `true` to explicitly target on, and `null` to remove specific targeting.
263
-
264
- ```typescript
265
- const updatedCompanyFlags = await api.updateCompanyFlags({
266
- appId: "app-123",
267
- envId: "env-456",
268
- companyId: "company-1",
269
- // Use `null` to stop targeting the company specifically for that flag.
270
- updates: [{ flagKey: "new-checkout", specificTargetValue: null }],
271
- });
272
- console.log(updatedCompanyFlags.data);
273
- // [
274
- // {
275
- // "id": "flag-1",
276
- // "key": "new-checkout",
277
- // "name": "New checkout",
278
- // "createdAt": "2026-03-03T09:00:00.000Z",
279
- // "value": false,
280
- // "specificTargetValue": null,
281
- // "firstExposureAt": null,
282
- // "lastExposureAt": null,
283
- // "lastCheckAt": "2026-03-03T09:36:00.000Z",
284
- // "exposureCount": 0,
285
- // "firstTrackAt": null,
286
- // "lastTrackAt": null,
287
- // "trackCount": 0
288
- // }
289
- // ]
16
+ ```diff
17
+ - import { Api } from "@reflag/rest-api-sdk";
18
+ + import { Api } from "@reflag/management-sdk";
290
19
  ```
291
-
292
- ## Error handling
293
-
294
- The SDK throws `ReflagApiError` for non-2xx API responses.
295
-
296
- ```typescript
297
- import { ReflagApiError } from "@reflag/rest-api-sdk";
298
-
299
- try {
300
- await api.listApps();
301
- } catch (error) {
302
- if (error instanceof ReflagApiError) {
303
- console.error(error.status, error.code, error.message, error.details);
304
- }
305
- throw error;
306
- }
307
- ```
308
-
309
- ## Example app
310
-
311
- See `packages/rest-api-sdk/examples/customer-admin-panel/README.md` for a small Next.js app using this SDK in server actions.
312
-
313
- ## License
314
-
315
- MIT
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "@reflag/management-sdk";
package/index.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require("@reflag/management-sdk");
package/index.mjs ADDED
@@ -0,0 +1 @@
1
+ export * from "@reflag/management-sdk";
package/package.json CHANGED
@@ -1,41 +1,32 @@
1
1
  {
2
2
  "name": "@reflag/rest-api-sdk",
3
- "version": "0.0.2",
4
- "description": "Reflag REST API SDK",
3
+ "version": "0.0.5",
4
+ "description": "Deprecated alias package for @reflag/management-sdk",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/reflagcom/javascript.git"
9
9
  },
10
- "scripts": {
11
- "generate": "rm -rf src/generated && npx @openapitools/openapi-generator-cli generate -c openapi-generator.config.yaml",
12
- "build": "yarn generate && tsc --project tsconfig.build.json",
13
- "test": "vitest run --passWithNoTests",
14
- "test:watch": "vitest",
15
- "test:ci": "yarn test --reporter=default --reporter=junit --outputFile=junit.xml",
16
- "lint": "eslint .",
17
- "lint:ci": "eslint --max-warnings=0 --output-file eslint-report.json --format json .",
18
- "prettier": "prettier --check .",
19
- "format": "yarn lint --fix && yarn prettier --write",
20
- "preversion": "yarn lint && yarn prettier && yarn test && yarn build"
10
+ "publishConfig": {
11
+ "access": "public"
21
12
  },
22
13
  "files": [
23
- "dist"
14
+ "README.md",
15
+ "index.js",
16
+ "index.mjs",
17
+ "index.d.ts"
24
18
  ],
25
- "publishConfig": {
26
- "access": "public"
19
+ "main": "./index.js",
20
+ "types": "./index.d.ts",
21
+ "exports": {
22
+ ".": {
23
+ "types": "./index.d.ts",
24
+ "import": "./index.mjs",
25
+ "require": "./index.js",
26
+ "default": "./index.js"
27
+ }
27
28
  },
28
- "main": "./dist/index.js",
29
- "types": "./dist/types/index.d.ts",
30
- "devDependencies": {
31
- "@openapitools/openapi-generator-cli": "^2.13.5",
32
- "@reflag/eslint-config": "~0.0.2",
33
- "@reflag/tsconfig": "~0.0.2",
34
- "@types/node": "^22.12.0",
35
- "@vitest/coverage-v8": "~1.6.0",
36
- "eslint": "^9.21.0",
37
- "prettier": "^3.5.2",
38
- "typescript": "^5.7.3",
39
- "vitest": "~1.6.0"
29
+ "dependencies": {
30
+ "@reflag/management-sdk": "0.0.4"
40
31
  }
41
32
  }
package/dist/api.js DELETED
@@ -1,127 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Api = exports.ReflagApiError = void 0;
13
- exports.createAppClient = createAppClient;
14
- const runtime_1 = require("./generated/runtime");
15
- const generated_1 = require("./generated");
16
- class ReflagApiError extends Error {
17
- constructor(status, message, code, details) {
18
- super(message);
19
- this.name = "ReflagApiError";
20
- this.status = status;
21
- this.code = code;
22
- this.details = details;
23
- }
24
- }
25
- exports.ReflagApiError = ReflagApiError;
26
- function buildApiError(response) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- var _a;
29
- const status = response.status;
30
- const contentType = (_a = response.headers.get("content-type")) !== null && _a !== void 0 ? _a : "";
31
- let details = undefined;
32
- let message = `Request failed with ${status}`;
33
- let code;
34
- if (contentType.includes("application/json")) {
35
- try {
36
- details = yield response.clone().json();
37
- const maybeError = details === null || details === void 0 ? void 0 : details.error;
38
- if (maybeError === null || maybeError === void 0 ? void 0 : maybeError.message) {
39
- message = maybeError.message;
40
- }
41
- if (maybeError === null || maybeError === void 0 ? void 0 : maybeError.code) {
42
- code = maybeError.code;
43
- }
44
- }
45
- catch (_b) {
46
- details = undefined;
47
- }
48
- }
49
- else {
50
- try {
51
- const text = yield response.clone().text();
52
- if (text) {
53
- details = text;
54
- message = `Request failed with ${status}: ${text}`;
55
- }
56
- }
57
- catch (_c) {
58
- details = undefined;
59
- }
60
- }
61
- return new ReflagApiError(status, message, code, details);
62
- });
63
- }
64
- class Api extends generated_1.DefaultApi {
65
- constructor(config) {
66
- super(new generated_1.Configuration(config));
67
- }
68
- request(context, initOverrides) {
69
- const _super = Object.create(null, {
70
- request: { get: () => super.request }
71
- });
72
- return __awaiter(this, void 0, void 0, function* () {
73
- try {
74
- return yield _super.request.call(this, context, initOverrides);
75
- }
76
- catch (error) {
77
- if (error instanceof runtime_1.ResponseError) {
78
- throw yield buildApiError(error.response);
79
- }
80
- throw error;
81
- }
82
- });
83
- }
84
- }
85
- exports.Api = Api;
86
- function isPlainObject(value) {
87
- if (!value || typeof value !== "object" || Array.isArray(value)) {
88
- return false;
89
- }
90
- const prototype = Object.getPrototypeOf(value);
91
- return prototype === Object.prototype || prototype === null;
92
- }
93
- function scopeApiToAppId(api, appId, scopedCache = new WeakMap()) {
94
- const cached = scopedCache.get(api);
95
- if (cached) {
96
- return cached;
97
- }
98
- const scopedApi = new Proxy(api, {
99
- get(target, prop, receiver) {
100
- const value = Reflect.get(target, prop, receiver);
101
- if (typeof value !== "function")
102
- return value;
103
- const wrapResult = (result) => {
104
- if (result instanceof Api) {
105
- return scopeApiToAppId(result, appId, scopedCache);
106
- }
107
- return result;
108
- };
109
- return (arg1, ...rest) => {
110
- const isWithMethod = typeof prop === "string" && prop.startsWith("with");
111
- if (!isWithMethod && isPlainObject(arg1)) {
112
- const args = "appId" in arg1 ? arg1 : Object.assign(Object.assign({}, arg1), { appId });
113
- const result = value.call(target, args, ...rest);
114
- return wrapResult(result);
115
- }
116
- const result = value.call(target, arg1, ...rest);
117
- return wrapResult(result);
118
- };
119
- },
120
- });
121
- scopedCache.set(api, scopedApi);
122
- return scopedApi;
123
- }
124
- function createAppClient(appId, config) {
125
- return scopeApiToAppId(new Api(config), appId);
126
- }
127
- //# sourceMappingURL=api.js.map
package/dist/api.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}