@thorprovider/medusa-extended 1.11.5 → 1.11.6
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/dist/index.d.mts +22 -5
- package/dist/index.d.ts +22 -5
- package/dist/index.js +57 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +57 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/dropshipper.test.ts +4 -4
- package/src/dropshipper.ts +70 -6
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GetChannelCustomersOptions, GetChannelCustomersResponse, GetChannelApiKeysResponse, GetChannelCategoriesOptions, GetChannelCategoriesResponse, GetCategorySalesChannelsResponse, AssignCategoriesToChannelsBody, AssignCategoriesToChannelsResponse, UnassignCategoriesFromChannelsBody, UnassignCategoriesFromChannelsResponse, GetCollectionSalesChannelsResponse, AssignCollectionsToChannelsBody, AssignCollectionsToChannelsResponse, UnassignCollectionsFromChannelsBody, UnassignCollectionsFromChannelsResponse, GetAdminStorefrontConfigResponse, UpdateStorefrontConfigBody, UpdateStorefrontConfigResponse, GetAdminSiteConfigResponse, UpdateSiteConfigBody, UpdateSiteConfigResponse, GetAdminSiteConfigHistoryOptions, GetAdminSiteConfigHistoryResponse, RestoreSiteConfigResponse, ChatIntent, ChatSource, DropshipperDashboardCapabilities, GetMyProfileResponse, ChatRequest, ChatResponse, GetNotificationsOptions, GetNotificationsResponse, OnboardDropshipperBody, OnboardDropshipperResponse, GetDropshipperProductsOptions, GetDropshipperProductsResponse, ValidateCheckoutItemsRequest, ValidateCheckoutItemsResponse, CostPriceChangesCheckResponse, CostPriceChangesResponse, AcknowledgeCostPriceChangesResponse, UpdateDropshipperProductStatusBody, UpdateDropshipperProductStatusResponse, GetProductAttributesResponse, GetDropshipperAttributesResponse, UpdateDropshipperPricesBody, UpdateDropshipperPricesResponse, GetDropshipperOrdersOptions, GetDropshipperOrdersResponse, GetDropshipperOrderDetailResponse, GetDropshipperShippingOptionsParams, GetDropshipperShippingOptionsResponse, ExtendedCreateDropshipperOrderBody, ExtendedCreateDropshipperOrderResponse, SetPaymentCollectorBody, SetPaymentCollectorResponse, SetPaymentMethodBody, SetPaymentMethodResponse, CancelDropshipperOrderResponse, CreateOrderEditBody, CreateOrderEditResponse, AddOrderEditItemBody, AddOrderEditItemResponse, ConfirmOrderEditResponse, GetOrderNotesResponse, CreateOrderNoteBody, CreateOrderNoteResponse, DeleteOrderNoteResponse, GetProviderCategoriesResponse, GetDropshipperCategoriesOptions, GetDropshipperCategoriesResponse, CreateDropshipperCategoryBody, DropshipperCategory, UpdateDropshipperCategoryBody, DeleteDropshipperCategoryResponse, GetCategoryMappingsOptions, GetCategoryMappingsResponse, CreateCategoryMappingBody, CreateCategoryMappingResponse, DeleteCategoryMappingResponse, GetDropshipperCustomersOptions, GetDropshipperCustomersResponse, GetDropshipperCustomerDetailResponse, CreateDropshipperCustomerBody, CreateDropshipperCustomerResponse, UpdateDropshipperCustomerBody, UpdateDropshipperCustomerResponse, GetDropshipperAddressesResponse, DropshipperAddressBody, DropshipperAddressResponse, GetDropshipperAccountResponse, GetDropshipperPayableResponse, GetDropshipperReceivableResponse, GetSettlementsOptions, GetSettlementsResponse, GetSettlementDetailResponse, GetDropshipperAccountBalanceResponse, GetDropshipperAccountOrdersOptions, GetDropshipperAccountOrdersResponse, CreateSettlementBody, CreateSettlementResponse, ConfirmSettlementBody, UpdateSettlementStatusResponse, CancelSettlementBody, GetAdminDropshipperAccountsResponse, GetAdminAccountBalanceResponse, GetAdminPriceListsResponse, GetUserChannelResponse, GetAdminDropshipperAccountOrdersResponse, GetAdminDropshipperAccountSettlementsOptions, GetAdminDropshipperAccountSettlementsResponse, ResolveGuaranteeBody, ResolveGuaranteeResponse, CreateCompensacionBody, CreateCompensacionResponse, CreateAjusteBody, CreateAjusteResponse, CreateCobroBody, CreateCobroResponse, CreatePagoBody, CreatePagoResponse, CreateReversoBody, CreateReversoResponse, ConfirmMovementBody, ConfirmMovementResponse, CancelMovementBody, CancelMovementResponse, GetFinancialAnalysisResponse, RegisterPaymentBody, RegisterPaymentResponse, GetDropshipperPromotionsOptions, GetDropshipperPromotionsResponse, CreateDropshipperPromotionBody, DropshipperPromotion, UpdateDropshipperPromotionBody, DeleteDropshipperPromotionResponse, GetDashboardStatsOptions, GetDashboardStatsResponse, GetStorefrontDropshipperCategoriesResponse, GetDropshipperDraftOrdersOptions, GetDropshipperDraftOrdersResponse, GetDropshipperDraftOrderDetailResponse, CreateDropshipperDraftOrderBody, CreateDropshipperDraftOrderResponse, UpdateDropshipperDraftOrderBody, UpdateDropshipperDraftOrderResponse, ConvertDropshipperDraftOrderBody, ConvertDropshipperDraftOrderResponse, DeleteDropshipperDraftOrderResponse, GetGeoCountriesResponse, GetGeoProvincesResponse, GetGeoCitiesResponse } from '@thorprovider/types';
|
|
1
|
+
import { GetChannelCustomersOptions, GetChannelCustomersResponse, GetChannelApiKeysResponse, GetChannelCategoriesOptions, GetChannelCategoriesResponse, GetCategorySalesChannelsResponse, AssignCategoriesToChannelsBody, AssignCategoriesToChannelsResponse, UnassignCategoriesFromChannelsBody, UnassignCategoriesFromChannelsResponse, GetCollectionSalesChannelsResponse, AssignCollectionsToChannelsBody, AssignCollectionsToChannelsResponse, UnassignCollectionsFromChannelsBody, UnassignCollectionsFromChannelsResponse, GetAdminStorefrontConfigResponse, UpdateStorefrontConfigBody, UpdateStorefrontConfigResponse, GetAdminSiteConfigResponse, UpdateSiteConfigBody, UpdateSiteConfigResponse, GetAdminSiteConfigHistoryOptions, GetAdminSiteConfigHistoryResponse, RestoreSiteConfigResponse, ChatIntent, ChatSource, DropshipperDashboardCapabilities, GetMyProfileResponse, ChatRequest, ChatResponse, ChatAssistantHealthResponse, GetNotificationsOptions, GetNotificationsResponse, OnboardDropshipperBody, OnboardDropshipperResponse, GetDropshipperProductsOptions, GetDropshipperProductsResponse, ValidateCheckoutItemsRequest, ValidateCheckoutItemsResponse, CostPriceChangesCheckResponse, CostPriceChangesResponse, AcknowledgeCostPriceChangesResponse, UpdateDropshipperProductStatusBody, UpdateDropshipperProductStatusResponse, GetProductAttributesResponse, GetDropshipperAttributesResponse, UpdateDropshipperPricesBody, UpdateDropshipperPricesResponse, GetDropshipperOrdersOptions, GetDropshipperOrdersResponse, GetDropshipperOrderDetailResponse, GetDropshipperShippingOptionsParams, GetDropshipperShippingOptionsResponse, ExtendedCreateDropshipperOrderBody, ExtendedCreateDropshipperOrderResponse, SetPaymentCollectorBody, SetPaymentCollectorResponse, SetPaymentMethodBody, SetPaymentMethodResponse, CancelDropshipperOrderResponse, CreateOrderEditBody, CreateOrderEditResponse, AddOrderEditItemBody, AddOrderEditItemResponse, ConfirmOrderEditResponse, GetOrderNotesResponse, CreateOrderNoteBody, CreateOrderNoteResponse, DeleteOrderNoteResponse, GetProviderCategoriesResponse, GetDropshipperCategoriesOptions, GetDropshipperCategoriesResponse, CreateDropshipperCategoryBody, DropshipperCategory, UpdateDropshipperCategoryBody, DeleteDropshipperCategoryResponse, GetCategoryMappingsOptions, GetCategoryMappingsResponse, CreateCategoryMappingBody, CreateCategoryMappingResponse, DeleteCategoryMappingResponse, GetDropshipperCustomersOptions, GetDropshipperCustomersResponse, GetDropshipperCustomerDetailResponse, CreateDropshipperCustomerBody, CreateDropshipperCustomerResponse, UpdateDropshipperCustomerBody, UpdateDropshipperCustomerResponse, GetDropshipperAddressesResponse, DropshipperAddressBody, DropshipperAddressResponse, GetDropshipperAccountResponse, GetDropshipperPayableResponse, GetDropshipperReceivableResponse, GetSettlementsOptions, GetSettlementsResponse, GetSettlementDetailResponse, GetDropshipperAccountBalanceResponse, GetDropshipperAccountOrdersOptions, GetDropshipperAccountOrdersResponse, CreateSettlementBody, CreateSettlementResponse, ConfirmSettlementBody, UpdateSettlementStatusResponse, CancelSettlementBody, GetAdminDropshipperAccountsResponse, GetAdminAccountBalanceResponse, GetAdminPriceListsResponse, GetUserChannelResponse, GetAdminDropshipperAccountOrdersResponse, GetAdminDropshipperAccountSettlementsOptions, GetAdminDropshipperAccountSettlementsResponse, ResolveGuaranteeBody, ResolveGuaranteeResponse, CreateCompensacionBody, CreateCompensacionResponse, CreateAjusteBody, CreateAjusteResponse, CreateCobroBody, CreateCobroResponse, CreatePagoBody, CreatePagoResponse, CreateReversoBody, CreateReversoResponse, ConfirmMovementBody, ConfirmMovementResponse, CancelMovementBody, CancelMovementResponse, GetFinancialAnalysisResponse, RegisterPaymentBody, RegisterPaymentResponse, GetDropshipperPromotionsOptions, GetDropshipperPromotionsResponse, CreateDropshipperPromotionBody, DropshipperPromotion, UpdateDropshipperPromotionBody, DeleteDropshipperPromotionResponse, GetDashboardStatsOptions, GetDashboardStatsResponse, GetStorefrontDropshipperCategoriesResponse, GetDropshipperDraftOrdersOptions, GetDropshipperDraftOrdersResponse, GetDropshipperDraftOrderDetailResponse, CreateDropshipperDraftOrderBody, CreateDropshipperDraftOrderResponse, UpdateDropshipperDraftOrderBody, UpdateDropshipperDraftOrderResponse, ConvertDropshipperDraftOrderBody, ConvertDropshipperDraftOrderResponse, DeleteDropshipperDraftOrderResponse, GetGeoCountriesResponse, GetGeoProvincesResponse, GetGeoCitiesResponse } from '@thorprovider/types';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileoverview Medusa Multi-Tenant Admin Client
|
|
@@ -167,8 +167,8 @@ declare class MedusaAdminClient {
|
|
|
167
167
|
* One event from the streamed AI assistant chat (`chatAssistantStream`).
|
|
168
168
|
*
|
|
169
169
|
* The backend returns a UI-message stream (SSE over `text/event-stream`) for
|
|
170
|
-
* catalog searches, and a plain JSON `ChatResponse` for
|
|
171
|
-
*
|
|
170
|
+
* catalog searches, and a plain JSON `ChatResponse` for `default` intents.
|
|
171
|
+
* `chatAssistantStream` normalizes both into this single event type so
|
|
172
172
|
* consumers can render incremental text and update the "thinking" label as the
|
|
173
173
|
* model progresses without knowing the transport details.
|
|
174
174
|
*/
|
|
@@ -183,7 +183,7 @@ type ChatStreamEvent = {
|
|
|
183
183
|
} | {
|
|
184
184
|
type: 'finish';
|
|
185
185
|
intent: ChatIntent;
|
|
186
|
-
/** Products referenced by the answer (empty for
|
|
186
|
+
/** Products referenced by the answer (empty for `default` intents). */
|
|
187
187
|
sources: ChatSource[];
|
|
188
188
|
} | {
|
|
189
189
|
type: 'error';
|
|
@@ -261,13 +261,30 @@ declare class DropshipperClient {
|
|
|
261
261
|
*
|
|
262
262
|
* Unlike `chatAssistant`, this surfaces the model's progress: the backend
|
|
263
263
|
* resolves the intent first and then streams the answer token by token
|
|
264
|
-
* (catalog searches) or returns the full answer in one shot (
|
|
264
|
+
* (catalog searches) or returns the full answer in one shot (`default`).
|
|
265
265
|
* The response is normalized into a single `ReadableStream<ChatStreamEvent>`
|
|
266
266
|
* so callers can show a live "thinking" label and render text incrementally.
|
|
267
267
|
*
|
|
268
268
|
* `POST /admin/thor/dropshipper/ai/chat`
|
|
269
269
|
*/
|
|
270
270
|
chatAssistantStream(body: ChatRequest): Promise<ReadableStream<ChatStreamEvent>>;
|
|
271
|
+
/**
|
|
272
|
+
* Cheap liveness probe for the AI assistant.
|
|
273
|
+
*
|
|
274
|
+
* The backend performs no LLM or retrieval work, so this is safe to poll
|
|
275
|
+
* (e.g. from a dashboard availability indicator). Returns 200 with
|
|
276
|
+
* `available: true` when the assistant is configured; the backend answers
|
|
277
|
+
* HTTP 503 with `available: false` when `AI_GATEWAY_API_KEY` is missing.
|
|
278
|
+
*
|
|
279
|
+
* Deliberately does NOT go through `fetchBackendWithResilience`: that layer
|
|
280
|
+
* funnels every call through the SHARED `backendCircuitBreaker`, and the
|
|
281
|
+
* definitive 503 "not configured" answer would count as failures and could
|
|
282
|
+
* open the circuit, taking down all dropshipper API traffic. A health probe
|
|
283
|
+
* must stay isolated, with no retries and a short timeout.
|
|
284
|
+
*
|
|
285
|
+
* `GET /admin/thor/dropshipper/ai/health`
|
|
286
|
+
*/
|
|
287
|
+
chatAssistantHealth(): Promise<ChatAssistantHealthResponse>;
|
|
271
288
|
/**
|
|
272
289
|
* List feed notifications for the authenticated dropshipper.
|
|
273
290
|
*
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GetChannelCustomersOptions, GetChannelCustomersResponse, GetChannelApiKeysResponse, GetChannelCategoriesOptions, GetChannelCategoriesResponse, GetCategorySalesChannelsResponse, AssignCategoriesToChannelsBody, AssignCategoriesToChannelsResponse, UnassignCategoriesFromChannelsBody, UnassignCategoriesFromChannelsResponse, GetCollectionSalesChannelsResponse, AssignCollectionsToChannelsBody, AssignCollectionsToChannelsResponse, UnassignCollectionsFromChannelsBody, UnassignCollectionsFromChannelsResponse, GetAdminStorefrontConfigResponse, UpdateStorefrontConfigBody, UpdateStorefrontConfigResponse, GetAdminSiteConfigResponse, UpdateSiteConfigBody, UpdateSiteConfigResponse, GetAdminSiteConfigHistoryOptions, GetAdminSiteConfigHistoryResponse, RestoreSiteConfigResponse, ChatIntent, ChatSource, DropshipperDashboardCapabilities, GetMyProfileResponse, ChatRequest, ChatResponse, GetNotificationsOptions, GetNotificationsResponse, OnboardDropshipperBody, OnboardDropshipperResponse, GetDropshipperProductsOptions, GetDropshipperProductsResponse, ValidateCheckoutItemsRequest, ValidateCheckoutItemsResponse, CostPriceChangesCheckResponse, CostPriceChangesResponse, AcknowledgeCostPriceChangesResponse, UpdateDropshipperProductStatusBody, UpdateDropshipperProductStatusResponse, GetProductAttributesResponse, GetDropshipperAttributesResponse, UpdateDropshipperPricesBody, UpdateDropshipperPricesResponse, GetDropshipperOrdersOptions, GetDropshipperOrdersResponse, GetDropshipperOrderDetailResponse, GetDropshipperShippingOptionsParams, GetDropshipperShippingOptionsResponse, ExtendedCreateDropshipperOrderBody, ExtendedCreateDropshipperOrderResponse, SetPaymentCollectorBody, SetPaymentCollectorResponse, SetPaymentMethodBody, SetPaymentMethodResponse, CancelDropshipperOrderResponse, CreateOrderEditBody, CreateOrderEditResponse, AddOrderEditItemBody, AddOrderEditItemResponse, ConfirmOrderEditResponse, GetOrderNotesResponse, CreateOrderNoteBody, CreateOrderNoteResponse, DeleteOrderNoteResponse, GetProviderCategoriesResponse, GetDropshipperCategoriesOptions, GetDropshipperCategoriesResponse, CreateDropshipperCategoryBody, DropshipperCategory, UpdateDropshipperCategoryBody, DeleteDropshipperCategoryResponse, GetCategoryMappingsOptions, GetCategoryMappingsResponse, CreateCategoryMappingBody, CreateCategoryMappingResponse, DeleteCategoryMappingResponse, GetDropshipperCustomersOptions, GetDropshipperCustomersResponse, GetDropshipperCustomerDetailResponse, CreateDropshipperCustomerBody, CreateDropshipperCustomerResponse, UpdateDropshipperCustomerBody, UpdateDropshipperCustomerResponse, GetDropshipperAddressesResponse, DropshipperAddressBody, DropshipperAddressResponse, GetDropshipperAccountResponse, GetDropshipperPayableResponse, GetDropshipperReceivableResponse, GetSettlementsOptions, GetSettlementsResponse, GetSettlementDetailResponse, GetDropshipperAccountBalanceResponse, GetDropshipperAccountOrdersOptions, GetDropshipperAccountOrdersResponse, CreateSettlementBody, CreateSettlementResponse, ConfirmSettlementBody, UpdateSettlementStatusResponse, CancelSettlementBody, GetAdminDropshipperAccountsResponse, GetAdminAccountBalanceResponse, GetAdminPriceListsResponse, GetUserChannelResponse, GetAdminDropshipperAccountOrdersResponse, GetAdminDropshipperAccountSettlementsOptions, GetAdminDropshipperAccountSettlementsResponse, ResolveGuaranteeBody, ResolveGuaranteeResponse, CreateCompensacionBody, CreateCompensacionResponse, CreateAjusteBody, CreateAjusteResponse, CreateCobroBody, CreateCobroResponse, CreatePagoBody, CreatePagoResponse, CreateReversoBody, CreateReversoResponse, ConfirmMovementBody, ConfirmMovementResponse, CancelMovementBody, CancelMovementResponse, GetFinancialAnalysisResponse, RegisterPaymentBody, RegisterPaymentResponse, GetDropshipperPromotionsOptions, GetDropshipperPromotionsResponse, CreateDropshipperPromotionBody, DropshipperPromotion, UpdateDropshipperPromotionBody, DeleteDropshipperPromotionResponse, GetDashboardStatsOptions, GetDashboardStatsResponse, GetStorefrontDropshipperCategoriesResponse, GetDropshipperDraftOrdersOptions, GetDropshipperDraftOrdersResponse, GetDropshipperDraftOrderDetailResponse, CreateDropshipperDraftOrderBody, CreateDropshipperDraftOrderResponse, UpdateDropshipperDraftOrderBody, UpdateDropshipperDraftOrderResponse, ConvertDropshipperDraftOrderBody, ConvertDropshipperDraftOrderResponse, DeleteDropshipperDraftOrderResponse, GetGeoCountriesResponse, GetGeoProvincesResponse, GetGeoCitiesResponse } from '@thorprovider/types';
|
|
1
|
+
import { GetChannelCustomersOptions, GetChannelCustomersResponse, GetChannelApiKeysResponse, GetChannelCategoriesOptions, GetChannelCategoriesResponse, GetCategorySalesChannelsResponse, AssignCategoriesToChannelsBody, AssignCategoriesToChannelsResponse, UnassignCategoriesFromChannelsBody, UnassignCategoriesFromChannelsResponse, GetCollectionSalesChannelsResponse, AssignCollectionsToChannelsBody, AssignCollectionsToChannelsResponse, UnassignCollectionsFromChannelsBody, UnassignCollectionsFromChannelsResponse, GetAdminStorefrontConfigResponse, UpdateStorefrontConfigBody, UpdateStorefrontConfigResponse, GetAdminSiteConfigResponse, UpdateSiteConfigBody, UpdateSiteConfigResponse, GetAdminSiteConfigHistoryOptions, GetAdminSiteConfigHistoryResponse, RestoreSiteConfigResponse, ChatIntent, ChatSource, DropshipperDashboardCapabilities, GetMyProfileResponse, ChatRequest, ChatResponse, ChatAssistantHealthResponse, GetNotificationsOptions, GetNotificationsResponse, OnboardDropshipperBody, OnboardDropshipperResponse, GetDropshipperProductsOptions, GetDropshipperProductsResponse, ValidateCheckoutItemsRequest, ValidateCheckoutItemsResponse, CostPriceChangesCheckResponse, CostPriceChangesResponse, AcknowledgeCostPriceChangesResponse, UpdateDropshipperProductStatusBody, UpdateDropshipperProductStatusResponse, GetProductAttributesResponse, GetDropshipperAttributesResponse, UpdateDropshipperPricesBody, UpdateDropshipperPricesResponse, GetDropshipperOrdersOptions, GetDropshipperOrdersResponse, GetDropshipperOrderDetailResponse, GetDropshipperShippingOptionsParams, GetDropshipperShippingOptionsResponse, ExtendedCreateDropshipperOrderBody, ExtendedCreateDropshipperOrderResponse, SetPaymentCollectorBody, SetPaymentCollectorResponse, SetPaymentMethodBody, SetPaymentMethodResponse, CancelDropshipperOrderResponse, CreateOrderEditBody, CreateOrderEditResponse, AddOrderEditItemBody, AddOrderEditItemResponse, ConfirmOrderEditResponse, GetOrderNotesResponse, CreateOrderNoteBody, CreateOrderNoteResponse, DeleteOrderNoteResponse, GetProviderCategoriesResponse, GetDropshipperCategoriesOptions, GetDropshipperCategoriesResponse, CreateDropshipperCategoryBody, DropshipperCategory, UpdateDropshipperCategoryBody, DeleteDropshipperCategoryResponse, GetCategoryMappingsOptions, GetCategoryMappingsResponse, CreateCategoryMappingBody, CreateCategoryMappingResponse, DeleteCategoryMappingResponse, GetDropshipperCustomersOptions, GetDropshipperCustomersResponse, GetDropshipperCustomerDetailResponse, CreateDropshipperCustomerBody, CreateDropshipperCustomerResponse, UpdateDropshipperCustomerBody, UpdateDropshipperCustomerResponse, GetDropshipperAddressesResponse, DropshipperAddressBody, DropshipperAddressResponse, GetDropshipperAccountResponse, GetDropshipperPayableResponse, GetDropshipperReceivableResponse, GetSettlementsOptions, GetSettlementsResponse, GetSettlementDetailResponse, GetDropshipperAccountBalanceResponse, GetDropshipperAccountOrdersOptions, GetDropshipperAccountOrdersResponse, CreateSettlementBody, CreateSettlementResponse, ConfirmSettlementBody, UpdateSettlementStatusResponse, CancelSettlementBody, GetAdminDropshipperAccountsResponse, GetAdminAccountBalanceResponse, GetAdminPriceListsResponse, GetUserChannelResponse, GetAdminDropshipperAccountOrdersResponse, GetAdminDropshipperAccountSettlementsOptions, GetAdminDropshipperAccountSettlementsResponse, ResolveGuaranteeBody, ResolveGuaranteeResponse, CreateCompensacionBody, CreateCompensacionResponse, CreateAjusteBody, CreateAjusteResponse, CreateCobroBody, CreateCobroResponse, CreatePagoBody, CreatePagoResponse, CreateReversoBody, CreateReversoResponse, ConfirmMovementBody, ConfirmMovementResponse, CancelMovementBody, CancelMovementResponse, GetFinancialAnalysisResponse, RegisterPaymentBody, RegisterPaymentResponse, GetDropshipperPromotionsOptions, GetDropshipperPromotionsResponse, CreateDropshipperPromotionBody, DropshipperPromotion, UpdateDropshipperPromotionBody, DeleteDropshipperPromotionResponse, GetDashboardStatsOptions, GetDashboardStatsResponse, GetStorefrontDropshipperCategoriesResponse, GetDropshipperDraftOrdersOptions, GetDropshipperDraftOrdersResponse, GetDropshipperDraftOrderDetailResponse, CreateDropshipperDraftOrderBody, CreateDropshipperDraftOrderResponse, UpdateDropshipperDraftOrderBody, UpdateDropshipperDraftOrderResponse, ConvertDropshipperDraftOrderBody, ConvertDropshipperDraftOrderResponse, DeleteDropshipperDraftOrderResponse, GetGeoCountriesResponse, GetGeoProvincesResponse, GetGeoCitiesResponse } from '@thorprovider/types';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileoverview Medusa Multi-Tenant Admin Client
|
|
@@ -167,8 +167,8 @@ declare class MedusaAdminClient {
|
|
|
167
167
|
* One event from the streamed AI assistant chat (`chatAssistantStream`).
|
|
168
168
|
*
|
|
169
169
|
* The backend returns a UI-message stream (SSE over `text/event-stream`) for
|
|
170
|
-
* catalog searches, and a plain JSON `ChatResponse` for
|
|
171
|
-
*
|
|
170
|
+
* catalog searches, and a plain JSON `ChatResponse` for `default` intents.
|
|
171
|
+
* `chatAssistantStream` normalizes both into this single event type so
|
|
172
172
|
* consumers can render incremental text and update the "thinking" label as the
|
|
173
173
|
* model progresses without knowing the transport details.
|
|
174
174
|
*/
|
|
@@ -183,7 +183,7 @@ type ChatStreamEvent = {
|
|
|
183
183
|
} | {
|
|
184
184
|
type: 'finish';
|
|
185
185
|
intent: ChatIntent;
|
|
186
|
-
/** Products referenced by the answer (empty for
|
|
186
|
+
/** Products referenced by the answer (empty for `default` intents). */
|
|
187
187
|
sources: ChatSource[];
|
|
188
188
|
} | {
|
|
189
189
|
type: 'error';
|
|
@@ -261,13 +261,30 @@ declare class DropshipperClient {
|
|
|
261
261
|
*
|
|
262
262
|
* Unlike `chatAssistant`, this surfaces the model's progress: the backend
|
|
263
263
|
* resolves the intent first and then streams the answer token by token
|
|
264
|
-
* (catalog searches) or returns the full answer in one shot (
|
|
264
|
+
* (catalog searches) or returns the full answer in one shot (`default`).
|
|
265
265
|
* The response is normalized into a single `ReadableStream<ChatStreamEvent>`
|
|
266
266
|
* so callers can show a live "thinking" label and render text incrementally.
|
|
267
267
|
*
|
|
268
268
|
* `POST /admin/thor/dropshipper/ai/chat`
|
|
269
269
|
*/
|
|
270
270
|
chatAssistantStream(body: ChatRequest): Promise<ReadableStream<ChatStreamEvent>>;
|
|
271
|
+
/**
|
|
272
|
+
* Cheap liveness probe for the AI assistant.
|
|
273
|
+
*
|
|
274
|
+
* The backend performs no LLM or retrieval work, so this is safe to poll
|
|
275
|
+
* (e.g. from a dashboard availability indicator). Returns 200 with
|
|
276
|
+
* `available: true` when the assistant is configured; the backend answers
|
|
277
|
+
* HTTP 503 with `available: false` when `AI_GATEWAY_API_KEY` is missing.
|
|
278
|
+
*
|
|
279
|
+
* Deliberately does NOT go through `fetchBackendWithResilience`: that layer
|
|
280
|
+
* funnels every call through the SHARED `backendCircuitBreaker`, and the
|
|
281
|
+
* definitive 503 "not configured" answer would count as failures and could
|
|
282
|
+
* open the circuit, taking down all dropshipper API traffic. A health probe
|
|
283
|
+
* must stay isolated, with no retries and a short timeout.
|
|
284
|
+
*
|
|
285
|
+
* `GET /admin/thor/dropshipper/ai/health`
|
|
286
|
+
*/
|
|
287
|
+
chatAssistantHealth(): Promise<ChatAssistantHealthResponse>;
|
|
271
288
|
/**
|
|
272
289
|
* List feed notifications for the authenticated dropshipper.
|
|
273
290
|
*
|
package/dist/index.js
CHANGED
|
@@ -481,7 +481,7 @@ var DropshipperClient = class {
|
|
|
481
481
|
*
|
|
482
482
|
* Unlike `chatAssistant`, this surfaces the model's progress: the backend
|
|
483
483
|
* resolves the intent first and then streams the answer token by token
|
|
484
|
-
* (catalog searches) or returns the full answer in one shot (
|
|
484
|
+
* (catalog searches) or returns the full answer in one shot (`default`).
|
|
485
485
|
* The response is normalized into a single `ReadableStream<ChatStreamEvent>`
|
|
486
486
|
* so callers can show a live "thinking" label and render text incrementally.
|
|
487
487
|
*
|
|
@@ -559,6 +559,61 @@ var DropshipperClient = class {
|
|
|
559
559
|
}
|
|
560
560
|
});
|
|
561
561
|
}
|
|
562
|
+
/**
|
|
563
|
+
* Cheap liveness probe for the AI assistant.
|
|
564
|
+
*
|
|
565
|
+
* The backend performs no LLM or retrieval work, so this is safe to poll
|
|
566
|
+
* (e.g. from a dashboard availability indicator). Returns 200 with
|
|
567
|
+
* `available: true` when the assistant is configured; the backend answers
|
|
568
|
+
* HTTP 503 with `available: false` when `AI_GATEWAY_API_KEY` is missing.
|
|
569
|
+
*
|
|
570
|
+
* Deliberately does NOT go through `fetchBackendWithResilience`: that layer
|
|
571
|
+
* funnels every call through the SHARED `backendCircuitBreaker`, and the
|
|
572
|
+
* definitive 503 "not configured" answer would count as failures and could
|
|
573
|
+
* open the circuit, taking down all dropshipper API traffic. A health probe
|
|
574
|
+
* must stay isolated, with no retries and a short timeout.
|
|
575
|
+
*
|
|
576
|
+
* `GET /admin/thor/dropshipper/ai/health`
|
|
577
|
+
*/
|
|
578
|
+
async chatAssistantHealth() {
|
|
579
|
+
const url = `${this.baseUrl}/admin/thor/dropshipper/ai/health`;
|
|
580
|
+
const controller = new AbortController();
|
|
581
|
+
const timeoutId = setTimeout(() => controller.abort(), 5e3);
|
|
582
|
+
let response;
|
|
583
|
+
try {
|
|
584
|
+
response = await fetch(url, {
|
|
585
|
+
method: "GET",
|
|
586
|
+
headers: { Authorization: `Bearer ${this.token}` },
|
|
587
|
+
signal: controller.signal,
|
|
588
|
+
cache: "no-store"
|
|
589
|
+
});
|
|
590
|
+
} catch (error) {
|
|
591
|
+
clearTimeout(timeoutId);
|
|
592
|
+
throw new import_adapters3.ProviderAPIError(
|
|
593
|
+
`[dropshipper] Network error on GET /admin/thor/dropshipper/ai/health: ${error.message}`,
|
|
594
|
+
"NETWORK_ERROR",
|
|
595
|
+
0
|
|
596
|
+
);
|
|
597
|
+
}
|
|
598
|
+
clearTimeout(timeoutId);
|
|
599
|
+
if (response.status === 503) {
|
|
600
|
+
try {
|
|
601
|
+
const body = await response.json();
|
|
602
|
+
if (body && typeof body.available === "boolean") {
|
|
603
|
+
return body;
|
|
604
|
+
}
|
|
605
|
+
} catch {
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
if (!response.ok) {
|
|
609
|
+
throw new import_adapters3.ProviderAPIError(
|
|
610
|
+
`[dropshipper] GET /admin/thor/dropshipper/ai/health failed: HTTP ${response.status}`,
|
|
611
|
+
`DROPSHIPPER_API_${response.status}`,
|
|
612
|
+
response.status
|
|
613
|
+
);
|
|
614
|
+
}
|
|
615
|
+
return response.json();
|
|
616
|
+
}
|
|
562
617
|
// -------------------------------------------------------------------------
|
|
563
618
|
// Notifications
|
|
564
619
|
// -------------------------------------------------------------------------
|
|
@@ -1785,7 +1840,7 @@ function mapUiMessageStreamToEvents(stream, logger) {
|
|
|
1785
1840
|
case "finish":
|
|
1786
1841
|
controller.enqueue({
|
|
1787
1842
|
type: "finish",
|
|
1788
|
-
intent: chunk.messageMetadata?.intent ?? "
|
|
1843
|
+
intent: chunk.messageMetadata?.intent ?? "default",
|
|
1789
1844
|
sources: chunk.messageMetadata?.sources ?? []
|
|
1790
1845
|
});
|
|
1791
1846
|
eventCount += 1;
|