@bifrostsoftware/sdk 0.0.2-alpha.0

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.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # @bifrostsoftware/sdk
2
+
3
+ TypeScript client SDK for Bifröst Kaupa
@@ -0,0 +1,3 @@
1
+ export { KaupaClient } from "./kaupa-client";
2
+ export type { KaupaClientConfig } from "./kaupa-client";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { KaupaClient } from "./kaupa-client";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,64 @@
1
+ import type { AddCartItemInput, Cart, CatalogCategory, CatalogProduct, CatalogProductVariant, CreateCategoryInput, CreateProductInput, CreateProductVariantInput, GetOrCreateCartInput, HealthStatus, UpdateCategoryInput, UpdateCartItemQuantityInput, UpdateProductInput, UpdateProductVariantInput } from "../types";
2
+ export interface KaupaClientConfig {
3
+ baseUrl: string;
4
+ }
5
+ /**
6
+ * Minimal SDK client for Bifrost Kaupa API endpoints.
7
+ */
8
+ export declare class KaupaClient {
9
+ private readonly baseUrl;
10
+ constructor(config: KaupaClientConfig);
11
+ /**
12
+ * Returns API health information from the backend.
13
+ */
14
+ getHealth(): Promise<HealthStatus>;
15
+ /**
16
+ * Returns the catalog product list.
17
+ */
18
+ getCatalogProducts(): Promise<CatalogProduct[]>;
19
+ /**
20
+ * Returns the catalog category list.
21
+ */
22
+ getCatalogCategories(): Promise<CatalogCategory[]>;
23
+ /**
24
+ * Creates a catalog category.
25
+ */
26
+ createCatalogCategory(payload: CreateCategoryInput): Promise<CatalogCategory>;
27
+ /**
28
+ * Updates a catalog category.
29
+ */
30
+ updateCatalogCategory(id: string, payload: UpdateCategoryInput): Promise<CatalogCategory>;
31
+ /**
32
+ * Creates a catalog product.
33
+ */
34
+ createCatalogProduct(payload: CreateProductInput): Promise<CatalogProduct>;
35
+ /**
36
+ * Updates a catalog product.
37
+ */
38
+ updateCatalogProduct(id: string, payload: UpdateProductInput): Promise<CatalogProduct>;
39
+ /**
40
+ * Creates a product variant.
41
+ */
42
+ createCatalogVariant(payload: CreateProductVariantInput): Promise<CatalogProductVariant>;
43
+ /**
44
+ * Updates a product variant.
45
+ */
46
+ updateCatalogVariant(id: string, payload: UpdateProductVariantInput): Promise<CatalogProductVariant>;
47
+ /**
48
+ * Returns the active cart for a user or guest, creating one if needed.
49
+ */
50
+ getOrCreateCart(input: GetOrCreateCartInput): Promise<Cart>;
51
+ /**
52
+ * Adds an item to a cart.
53
+ */
54
+ addCartItem(cartId: string, payload: AddCartItemInput): Promise<Cart>;
55
+ /**
56
+ * Updates quantity for an existing cart item.
57
+ */
58
+ updateCartItemQuantity(cartId: string, itemId: string, payload: UpdateCartItemQuantityInput): Promise<Cart>;
59
+ /**
60
+ * Removes an item from a cart.
61
+ */
62
+ removeCartItem(cartId: string, itemId: string): Promise<Cart>;
63
+ }
64
+ //# sourceMappingURL=kaupa-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kaupa-client.d.ts","sourceRoot":"","sources":["../../src/client/kaupa-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,IAAI,EAGJ,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAgHD;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAEd,MAAM,EAAE,iBAAiB;IAI5C;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAgB/C;;OAEG;IACU,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAgB5D;;OAEG;IACU,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAgB/D;;OAEG;IACU,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsB1F;;OAEG;IACU,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsBtG;;OAEG;IACU,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAsBvF;;OAEG;IACU,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAsBnG;;OAEG;IACU,oBAAoB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsBrG;;OAEG;IACU,oBAAoB,CAC/B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,qBAAqB,CAAC;IAsBjC;;OAEG;IACU,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCxE;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlF;;OAEG;IACU,sBAAsB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC;IAsBhB;;OAEG;IACU,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiB3E"}
@@ -0,0 +1,340 @@
1
+ function isHealthStatus(payload) {
2
+ if (typeof payload !== "object" || payload === null) {
3
+ return false;
4
+ }
5
+ const maybeHealth = payload;
6
+ return typeof maybeHealth.status === "string" && typeof maybeHealth.service === "string";
7
+ }
8
+ function isCatalogCategory(payload) {
9
+ if (typeof payload !== "object" || payload === null) {
10
+ return false;
11
+ }
12
+ const maybeCategory = payload;
13
+ return (typeof maybeCategory.id === "string" &&
14
+ typeof maybeCategory.name === "string" &&
15
+ typeof maybeCategory.slug === "string" &&
16
+ (typeof maybeCategory.description === "string" || maybeCategory.description === null) &&
17
+ typeof maybeCategory.isActive === "boolean" &&
18
+ typeof maybeCategory.productCount === "number");
19
+ }
20
+ function isCatalogProductVariant(payload) {
21
+ if (typeof payload !== "object" || payload === null) {
22
+ return false;
23
+ }
24
+ const maybeVariant = payload;
25
+ return (typeof maybeVariant.id === "string" &&
26
+ typeof maybeVariant.sku === "string" &&
27
+ typeof maybeVariant.name === "string" &&
28
+ typeof maybeVariant.priceCents === "number" &&
29
+ (typeof maybeVariant.compareAtCents === "number" || maybeVariant.compareAtCents === null) &&
30
+ typeof maybeVariant.stockQuantity === "number" &&
31
+ typeof maybeVariant.isActive === "boolean");
32
+ }
33
+ function isCatalogProduct(payload) {
34
+ if (typeof payload !== "object" || payload === null) {
35
+ return false;
36
+ }
37
+ const maybeProduct = payload;
38
+ return (typeof maybeProduct.id === "string" &&
39
+ typeof maybeProduct.name === "string" &&
40
+ typeof maybeProduct.slug === "string" &&
41
+ typeof maybeProduct.sku === "string" &&
42
+ (typeof maybeProduct.description === "string" || maybeProduct.description === null) &&
43
+ typeof maybeProduct.basePriceCents === "number" &&
44
+ typeof maybeProduct.currencyCode === "string" &&
45
+ typeof maybeProduct.isActive === "boolean" &&
46
+ Array.isArray(maybeProduct.categories) &&
47
+ maybeProduct.categories.every((category) => isCatalogCategory(category)) &&
48
+ Array.isArray(maybeProduct.variants) &&
49
+ maybeProduct.variants.every((variant) => isCatalogProductVariant(variant)));
50
+ }
51
+ function isCartStatus(payload) {
52
+ return payload === "ACTIVE" || payload === "SAVED" || payload === "ABANDONED" || payload === "CONVERTED";
53
+ }
54
+ function isCartItem(payload) {
55
+ if (typeof payload !== "object" || payload === null) {
56
+ return false;
57
+ }
58
+ const maybeItem = payload;
59
+ return (typeof maybeItem.id === "string" &&
60
+ typeof maybeItem.productId === "string" &&
61
+ (typeof maybeItem.productVariantId === "string" || maybeItem.productVariantId === null) &&
62
+ typeof maybeItem.sku === "string" &&
63
+ typeof maybeItem.name === "string" &&
64
+ typeof maybeItem.unitPriceCents === "number" &&
65
+ typeof maybeItem.quantity === "number" &&
66
+ typeof maybeItem.lineTotalCents === "number");
67
+ }
68
+ function isCart(payload) {
69
+ if (typeof payload !== "object" || payload === null) {
70
+ return false;
71
+ }
72
+ const maybeCart = payload;
73
+ return (typeof maybeCart.id === "string" &&
74
+ (typeof maybeCart.userId === "string" || maybeCart.userId === null) &&
75
+ (typeof maybeCart.guestToken === "string" || maybeCart.guestToken === null) &&
76
+ isCartStatus(maybeCart.status) &&
77
+ typeof maybeCart.currencyCode === "string" &&
78
+ Array.isArray(maybeCart.items) &&
79
+ maybeCart.items.every((item) => isCartItem(item)) &&
80
+ typeof maybeCart.subtotalCents === "number" &&
81
+ typeof maybeCart.createdAt === "string" &&
82
+ typeof maybeCart.updatedAt === "string");
83
+ }
84
+ async function parseJson(response) {
85
+ return response.json();
86
+ }
87
+ /**
88
+ * Minimal SDK client for Bifrost Kaupa API endpoints.
89
+ */
90
+ export class KaupaClient {
91
+ baseUrl;
92
+ constructor(config) {
93
+ this.baseUrl = config.baseUrl.replace(/\/$/, "");
94
+ }
95
+ /**
96
+ * Returns API health information from the backend.
97
+ */
98
+ async getHealth() {
99
+ const response = await fetch(`${this.baseUrl}/health`);
100
+ if (!response.ok) {
101
+ throw new Error(`Health request failed with status ${response.status}`);
102
+ }
103
+ const payload = await parseJson(response);
104
+ if (!isHealthStatus(payload)) {
105
+ throw new Error("Invalid health response payload");
106
+ }
107
+ return payload;
108
+ }
109
+ /**
110
+ * Returns the catalog product list.
111
+ */
112
+ async getCatalogProducts() {
113
+ const response = await fetch(`${this.baseUrl}/catalog/products`);
114
+ if (!response.ok) {
115
+ throw new Error(`Catalog products request failed with status ${response.status}`);
116
+ }
117
+ const payload = await parseJson(response);
118
+ if (!Array.isArray(payload) || !payload.every((item) => isCatalogProduct(item))) {
119
+ throw new Error("Invalid catalog products response payload");
120
+ }
121
+ return payload;
122
+ }
123
+ /**
124
+ * Returns the catalog category list.
125
+ */
126
+ async getCatalogCategories() {
127
+ const response = await fetch(`${this.baseUrl}/catalog/categories`);
128
+ if (!response.ok) {
129
+ throw new Error(`Catalog categories request failed with status ${response.status}`);
130
+ }
131
+ const payload = await parseJson(response);
132
+ if (!Array.isArray(payload) || !payload.every((item) => isCatalogCategory(item))) {
133
+ throw new Error("Invalid catalog categories response payload");
134
+ }
135
+ return payload;
136
+ }
137
+ /**
138
+ * Creates a catalog category.
139
+ */
140
+ async createCatalogCategory(payload) {
141
+ const response = await fetch(`${this.baseUrl}/catalog/categories`, {
142
+ method: "POST",
143
+ headers: {
144
+ "Content-Type": "application/json",
145
+ },
146
+ body: JSON.stringify(payload),
147
+ });
148
+ if (!response.ok) {
149
+ throw new Error(`Create category request failed with status ${response.status}`);
150
+ }
151
+ const responsePayload = await parseJson(response);
152
+ if (!isCatalogCategory(responsePayload)) {
153
+ throw new Error("Invalid create category response payload");
154
+ }
155
+ return responsePayload;
156
+ }
157
+ /**
158
+ * Updates a catalog category.
159
+ */
160
+ async updateCatalogCategory(id, payload) {
161
+ const response = await fetch(`${this.baseUrl}/catalog/categories/${id}`, {
162
+ method: "PATCH",
163
+ headers: {
164
+ "Content-Type": "application/json",
165
+ },
166
+ body: JSON.stringify(payload),
167
+ });
168
+ if (!response.ok) {
169
+ throw new Error(`Update category request failed with status ${response.status}`);
170
+ }
171
+ const responsePayload = await parseJson(response);
172
+ if (!isCatalogCategory(responsePayload)) {
173
+ throw new Error("Invalid update category response payload");
174
+ }
175
+ return responsePayload;
176
+ }
177
+ /**
178
+ * Creates a catalog product.
179
+ */
180
+ async createCatalogProduct(payload) {
181
+ const response = await fetch(`${this.baseUrl}/catalog/products`, {
182
+ method: "POST",
183
+ headers: {
184
+ "Content-Type": "application/json",
185
+ },
186
+ body: JSON.stringify(payload),
187
+ });
188
+ if (!response.ok) {
189
+ throw new Error(`Create product request failed with status ${response.status}`);
190
+ }
191
+ const responsePayload = await parseJson(response);
192
+ if (!isCatalogProduct(responsePayload)) {
193
+ throw new Error("Invalid create product response payload");
194
+ }
195
+ return responsePayload;
196
+ }
197
+ /**
198
+ * Updates a catalog product.
199
+ */
200
+ async updateCatalogProduct(id, payload) {
201
+ const response = await fetch(`${this.baseUrl}/catalog/products/${id}`, {
202
+ method: "PATCH",
203
+ headers: {
204
+ "Content-Type": "application/json",
205
+ },
206
+ body: JSON.stringify(payload),
207
+ });
208
+ if (!response.ok) {
209
+ throw new Error(`Update product request failed with status ${response.status}`);
210
+ }
211
+ const responsePayload = await parseJson(response);
212
+ if (!isCatalogProduct(responsePayload)) {
213
+ throw new Error("Invalid update product response payload");
214
+ }
215
+ return responsePayload;
216
+ }
217
+ /**
218
+ * Creates a product variant.
219
+ */
220
+ async createCatalogVariant(payload) {
221
+ const response = await fetch(`${this.baseUrl}/catalog/variants`, {
222
+ method: "POST",
223
+ headers: {
224
+ "Content-Type": "application/json",
225
+ },
226
+ body: JSON.stringify(payload),
227
+ });
228
+ if (!response.ok) {
229
+ throw new Error(`Create variant request failed with status ${response.status}`);
230
+ }
231
+ const responsePayload = await parseJson(response);
232
+ if (!isCatalogProductVariant(responsePayload)) {
233
+ throw new Error("Invalid create variant response payload");
234
+ }
235
+ return responsePayload;
236
+ }
237
+ /**
238
+ * Updates a product variant.
239
+ */
240
+ async updateCatalogVariant(id, payload) {
241
+ const response = await fetch(`${this.baseUrl}/catalog/variants/${id}`, {
242
+ method: "PATCH",
243
+ headers: {
244
+ "Content-Type": "application/json",
245
+ },
246
+ body: JSON.stringify(payload),
247
+ });
248
+ if (!response.ok) {
249
+ throw new Error(`Update variant request failed with status ${response.status}`);
250
+ }
251
+ const responsePayload = await parseJson(response);
252
+ if (!isCatalogProductVariant(responsePayload)) {
253
+ throw new Error("Invalid update variant response payload");
254
+ }
255
+ return responsePayload;
256
+ }
257
+ /**
258
+ * Returns the active cart for a user or guest, creating one if needed.
259
+ */
260
+ async getOrCreateCart(input) {
261
+ const params = new URLSearchParams();
262
+ if (input.userId) {
263
+ params.set("userId", input.userId);
264
+ }
265
+ if (input.guestToken) {
266
+ params.set("guestToken", input.guestToken);
267
+ }
268
+ if (input.currencyCode) {
269
+ params.set("currencyCode", input.currencyCode);
270
+ }
271
+ const query = params.toString();
272
+ const url = query.length > 0 ? `${this.baseUrl}/cart?${query}` : `${this.baseUrl}/cart`;
273
+ const response = await fetch(url);
274
+ if (!response.ok) {
275
+ throw new Error(`Get or create cart request failed with status ${response.status}`);
276
+ }
277
+ const responsePayload = await parseJson(response);
278
+ if (!isCart(responsePayload)) {
279
+ throw new Error("Invalid cart response payload");
280
+ }
281
+ return responsePayload;
282
+ }
283
+ /**
284
+ * Adds an item to a cart.
285
+ */
286
+ async addCartItem(cartId, payload) {
287
+ const response = await fetch(`${this.baseUrl}/cart/${cartId}/items`, {
288
+ method: "POST",
289
+ headers: {
290
+ "Content-Type": "application/json",
291
+ },
292
+ body: JSON.stringify(payload),
293
+ });
294
+ if (!response.ok) {
295
+ throw new Error(`Add cart item request failed with status ${response.status}`);
296
+ }
297
+ const responsePayload = await parseJson(response);
298
+ if (!isCart(responsePayload)) {
299
+ throw new Error("Invalid add cart item response payload");
300
+ }
301
+ return responsePayload;
302
+ }
303
+ /**
304
+ * Updates quantity for an existing cart item.
305
+ */
306
+ async updateCartItemQuantity(cartId, itemId, payload) {
307
+ const response = await fetch(`${this.baseUrl}/cart/${cartId}/items/${itemId}`, {
308
+ method: "PATCH",
309
+ headers: {
310
+ "Content-Type": "application/json",
311
+ },
312
+ body: JSON.stringify(payload),
313
+ });
314
+ if (!response.ok) {
315
+ throw new Error(`Update cart item request failed with status ${response.status}`);
316
+ }
317
+ const responsePayload = await parseJson(response);
318
+ if (!isCart(responsePayload)) {
319
+ throw new Error("Invalid update cart item response payload");
320
+ }
321
+ return responsePayload;
322
+ }
323
+ /**
324
+ * Removes an item from a cart.
325
+ */
326
+ async removeCartItem(cartId, itemId) {
327
+ const response = await fetch(`${this.baseUrl}/cart/${cartId}/items/${itemId}`, {
328
+ method: "DELETE",
329
+ });
330
+ if (!response.ok) {
331
+ throw new Error(`Remove cart item request failed with status ${response.status}`);
332
+ }
333
+ const responsePayload = await parseJson(response);
334
+ if (!isCart(responsePayload)) {
335
+ throw new Error("Invalid remove cart item response payload");
336
+ }
337
+ return responsePayload;
338
+ }
339
+ }
340
+ //# sourceMappingURL=kaupa-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kaupa-client.js","sourceRoot":"","sources":["../../src/client/kaupa-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { KaupaClient } from "./client";
2
+ export type { KaupaClientConfig } from "./client";
3
+ export type { AddCartItemInput, Cart, CartItem, CartStatus, CatalogCategory, CatalogProduct, CatalogProductVariant, CreateCategoryInput, CreateProductInput, CreateProductVariantInput, GetOrCreateCartInput, UpdateCategoryInput, UpdateCartItemQuantityInput, UpdateProductInput, UpdateProductVariantInput, } from "./types";
4
+ export type { HealthStatus } from "./types";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,YAAY,EACX,gBAAgB,EAChB,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAClB,yBAAyB,GACzB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { KaupaClient } from "./client";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,39 @@
1
+ export type CartStatus = "ACTIVE" | "SAVED" | "ABANDONED" | "CONVERTED";
2
+ export interface CartItem {
3
+ id: string;
4
+ productId: string;
5
+ productVariantId: string | null;
6
+ sku: string;
7
+ name: string;
8
+ unitPriceCents: number;
9
+ quantity: number;
10
+ lineTotalCents: number;
11
+ }
12
+ export interface Cart {
13
+ id: string;
14
+ userId: string | null;
15
+ guestToken: string | null;
16
+ status: CartStatus;
17
+ currencyCode: string;
18
+ items: CartItem[];
19
+ subtotalCents: number;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ }
23
+ export interface GetOrCreateCartInput {
24
+ userId?: string;
25
+ guestToken?: string;
26
+ currencyCode?: string;
27
+ }
28
+ export interface AddCartItemInput {
29
+ productId: string;
30
+ productVariantId?: string;
31
+ sku: string;
32
+ name: string;
33
+ unitPriceCents: number;
34
+ quantity: number;
35
+ }
36
+ export interface UpdateCartItemQuantityInput {
37
+ quantity: number;
38
+ }
39
+ //# sourceMappingURL=cart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart.d.ts","sourceRoot":"","sources":["../../src/types/cart.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;AAExE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart.js","sourceRoot":"","sources":["../../src/types/cart.ts"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ export interface CatalogCategory {
2
+ id: string;
3
+ name: string;
4
+ slug: string;
5
+ description: string | null;
6
+ isActive: boolean;
7
+ productCount: number;
8
+ }
9
+ export interface CatalogProductVariant {
10
+ id: string;
11
+ sku: string;
12
+ name: string;
13
+ priceCents: number;
14
+ compareAtCents: number | null;
15
+ stockQuantity: number;
16
+ isActive: boolean;
17
+ }
18
+ export interface CatalogProduct {
19
+ id: string;
20
+ name: string;
21
+ slug: string;
22
+ sku: string;
23
+ description: string | null;
24
+ basePriceCents: number;
25
+ currencyCode: string;
26
+ isActive: boolean;
27
+ categories: CatalogCategory[];
28
+ variants: CatalogProductVariant[];
29
+ }
30
+ export interface CreateCategoryInput {
31
+ name: string;
32
+ slug: string;
33
+ description?: string;
34
+ isActive?: boolean;
35
+ }
36
+ export interface UpdateCategoryInput {
37
+ name?: string;
38
+ slug?: string;
39
+ description?: string;
40
+ isActive?: boolean;
41
+ }
42
+ export interface CreateProductInput {
43
+ name: string;
44
+ slug: string;
45
+ sku: string;
46
+ description?: string;
47
+ basePriceCents: number;
48
+ currencyCode: string;
49
+ isActive?: boolean;
50
+ categoryIds?: string[];
51
+ }
52
+ export interface UpdateProductInput {
53
+ name?: string;
54
+ slug?: string;
55
+ sku?: string;
56
+ description?: string;
57
+ basePriceCents?: number;
58
+ currencyCode?: string;
59
+ isActive?: boolean;
60
+ categoryIds?: string[];
61
+ }
62
+ export interface CreateProductVariantInput {
63
+ productId: string;
64
+ sku: string;
65
+ name: string;
66
+ optionValues: Record<string, unknown>;
67
+ priceCents: number;
68
+ compareAtCents?: number;
69
+ stockQuantity?: number;
70
+ isActive?: boolean;
71
+ }
72
+ export interface UpdateProductVariantInput {
73
+ sku?: string;
74
+ name?: string;
75
+ optionValues?: Record<string, unknown>;
76
+ priceCents?: number;
77
+ compareAtCents?: number;
78
+ stockQuantity?: number;
79
+ isActive?: boolean;
80
+ }
81
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/types/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/types/catalog.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface HealthStatus {
2
+ status: string;
3
+ service: string;
4
+ }
5
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/types/health.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/types/health.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type { CatalogCategory, CatalogProduct, CatalogProductVariant, CreateCategoryInput, CreateProductInput, CreateProductVariantInput, UpdateCategoryInput, UpdateProductInput, UpdateProductVariantInput, } from "./catalog";
2
+ export type { AddCartItemInput, Cart, CartItem, CartStatus, GetOrCreateCartInput, UpdateCartItemQuantityInput, } from "./cart";
3
+ export type { HealthStatus } from "./health";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,GACzB,MAAM,WAAW,CAAC;AACnB,YAAY,EACX,gBAAgB,EAChB,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,2BAA2B,GAC3B,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@bifrostsoftware/sdk",
3
+ "version": "0.0.2-alpha.0",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "default": "./dist/index.js"
17
+ }
18
+ },
19
+ "scripts": {
20
+ "build": "tsc -p tsconfig.json"
21
+ },
22
+ "devDependencies": {
23
+ "typescript": "^5.7.2"
24
+ }
25
+ }