@joai/sdk 5.0.0 → 6.0.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/dist/index.d.mts +33 -5
- package/dist/index.mjs +96 -6
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _$_joai_core0 from "@joai/core";
|
|
2
|
-
import { Address, AddressCreatePayload, AddressInput, AddressType, AddressUpdatePayload, Affiliate, AffiliateTier, Agent, AgentActionHistoryEntry, AgentPrivate, AgentSettings, AiCostsResponse, Alert, ApiToken, AppEnv, AppIngestion, AppendKvEntryResult, AppointmentAvailability, AppointmentBooking, AppointmentPolicy, AppointmentRequest, Artifact, ArtifactCreatePayload, ArtifactDeliverPayload, ArtifactDelivery, ArtifactStatus, ArtifactType, ArtifactUpdatePayload, AuthUser, AuthUser as AuthUser$1, Automation, AutomationActionInput, AutomationAudiencePreview, AutomationCreatePayload, AutomationEnrollment, AutomationStats, AutomationUpdatePayload, Blueprint, BlueprintSettings, BrandBackend, BrandSiteConfig, BrandSourceConfig, CalendarStatus, Campaign, CampaignAudiencePreview, CampaignAudiencePreviewPayload, CampaignCreatePayload, CampaignRecipient, CampaignRecipientStatus, CampaignStats, CampaignUpdatePayload, Card, Cart, Cart as Cart$1, ChangelogEntry, Character, CheckoutSnapshot, CheckoutSnapshot as CheckoutSnapshot$1, CheckoutSnapshotRequest, CommissionAgreement, Configuration, Contact, ContactActivity, ContactCreatePayload, ContactFormData, ContactRelation, ContactRelationPayload, ContactRelationUpdatePayload, Content, ContentVersion, Contract, ContractCategoryName, ContractVersion, Coupon, CouponCondition, CouponRestrictedItem, CreateContentInput, CreateHookPayload, CreateHookPayload as CreateHookPayload$1, CreateInboundHookPayload, CreateInternalHookPayload, CreateKvFieldPayload, CreateWarpLinkedHookPayload, CreateWebHookPayload, Document, EarnResponse, Element, ElementSpec, ElementVariation, EmbedStatus, Entity, Flow, Fulfillment, FulfillmentLocation, FulfillmentLocation as FulfillmentLocation$1, FulfillmentMethod, GamificationData, Goal, GoalCreatePayload, GuestBuyer, GuestBuyer as GuestBuyer$1, Hook, Hook as Hook$1, HookSample, HookSample as HookSample$1, HookTrigger, HookTriggerCondition, HookTriggerInput, IAppResponse, IHttpService, IRequestOptions, Inquiry, InquiryType, Integration, IntegrationType, Intent, Item, ItemCreatePayload, ItemUpdatePayload, JsonValue, KvEntryPayload, KvField, KvFieldWithEntries, Link, LinkCreatePayload, LinkStats, LinkUpdatePayload, LinkVariation, LinkVariationBatchCreatePayload, LinkVariationCreatePayload, LoyaltyAccount, LoyaltyMember, LoyaltyProgram, LoyaltyPromotion, LoyaltyReward, LoyaltyTier, LoyaltyTransaction, McpToolCall, Media, MediaAspectRatio, Meeting, MeetingJoinInfo, MeetingSpeakerAssignment, MeetingSummary, Memory, Message, MetricSource, MetricsResult, Mission, MissionCreatePayload, Notification, NotificationChannel, NotificationSetting, OfficeSnapshot, Order, Order as Order$1, OrderContext, OrderPriceMode, OrderPriceMode as OrderPriceMode$1, OrderStatus, OrderStatus as OrderStatus$1, OrderType, PaginatedResponse, Pass, PatchContentInput, PaymentAccount, PaymentAccountOnboarding, PaymentProvider, Plan, PlanFeature, Product, Product as Product$1, ProductRelation, ProductVariation, ProgramSettings, Project, ProjectExportResponse, ProjectInputAssistIntent, ProjectInputAssistResponse, ProjectMutation, ProjectOutputPreset, ProjectOutputType, ProjectStudioHistoryEntry, Proposal, ProposalAction, ProposalPollOption, PublicFormResults, PurchaseResult, RampProviderInfo, Reactions, RedeemResponse, Reminder, Return, ReturnStatus, Room, RoomKind, Segment, SegmentCountPayload, SegmentCountResult, SegmentCreatePayload, Service, SetKvEntryResult, ShippingRate, ShippingRate as ShippingRate$1, ShippingZone, Shortcut, Site, SiteBrand, Skill, SkillScopeValue, SocialAuthProvider, SocialBot, SocialPlatform, StampResponse, StoreAgent, StoreData, StorePriceTier, StorePurchaseResult, Subscription, Swarm, Tag, TagType, Task, Team, TeamAccessConfig, TeamCategory, TeamEarning, TeamEarningsBalance, TeamFeature, TeamFeatureUsage, TeamMember, TeamMeta, TeamPayout, TeamPayoutAddress, TeamPrivate, TeamUsage, TerminalConnectionToken, TerminalPaymentIntent, ToggleKvFieldResult, TranslatableValue, Update, UpdateCreatePayload, UpdateRelation, UpdateStats, UpdateType, UpdateUpdatePayload, Upgrade, UpgradeStatus, UserPrivate, UserRole, UserSettings, VolumePrice, WarpBackend, WarpBackendStatus, WarpExecutionBackend, WebHookTriggerEvent, WorkspaceCloudFile, WorkspaceInfo, XIntegrationStatus } from "@joai/core";
|
|
2
|
+
import { Address, AddressCreatePayload, AddressInput, AddressType, AddressUpdatePayload, Affiliate, AffiliateTier, Agent, AgentActionHistoryEntry, AgentPrivate, AgentSettings, AiCostsResponse, Alert, ApiToken, AppEnv, AppIngestion, AppendKvEntryResult, AppointmentAvailability, AppointmentBooking, AppointmentPolicy, AppointmentRequest, Artifact, ArtifactCreatePayload, ArtifactDeliverPayload, ArtifactDelivery, ArtifactStatus, ArtifactType, ArtifactUpdatePayload, AuthUser, AuthUser as AuthUser$1, Automation, AutomationActionInput, AutomationAudiencePreview, AutomationCreatePayload, AutomationEnrollment, AutomationStats, AutomationUpdatePayload, Blueprint, BlueprintSettings, BrandBackend, BrandSiteConfig, BrandSourceConfig, CalendarStatus, Campaign, CampaignAudiencePreview, CampaignAudiencePreviewPayload, CampaignCreatePayload, CampaignRecipient, CampaignRecipientStatus, CampaignStats, CampaignUpdatePayload, Card, Cart, Cart as Cart$1, ChangelogEntry, Character, CheckoutSnapshot, CheckoutSnapshot as CheckoutSnapshot$1, CheckoutSnapshotRequest, CommissionAgreement, Configuration, Contact, ContactActivity, ContactCreatePayload, ContactFormData, ContactRelation, ContactRelationPayload, ContactRelationUpdatePayload, Content, ContentVersion, Contract, ContractCategoryName, ContractVersion, Coupon, CouponCondition, CouponRestrictedItem, CreateContentInput, CreateHookPayload, CreateHookPayload as CreateHookPayload$1, CreateInboundHookPayload, CreateInternalHookPayload, CreateKvFieldPayload, CreateWarpLinkedHookPayload, CreateWebHookPayload, Document, EarnResponse, Element, ElementSpec, ElementVariation, EmbedStatus, Entity, Flow, Fulfillment, FulfillmentLocation, FulfillmentLocation as FulfillmentLocation$1, FulfillmentMethod, GamificationData, Goal, GoalCreatePayload, GuestBuyer, GuestBuyer as GuestBuyer$1, Hook, Hook as Hook$1, HookSample, HookSample as HookSample$1, HookTrigger, HookTriggerCondition, HookTriggerInput, IAppResponse, IHttpService, IRequestOptions, Inquiry, InquiryType, Integration, IntegrationType, Intent, Item, ItemCreatePayload, ItemUpdatePayload, JsonValue, KvEntryPayload, KvField, KvFieldWithEntries, Link, LinkCreatePayload, LinkStats, LinkUpdatePayload, LinkVariation, LinkVariationBatchCreatePayload, LinkVariationCreatePayload, LoyaltyAccount, LoyaltyMember, LoyaltyProgram, LoyaltyPromotion, LoyaltyReward, LoyaltyTier, LoyaltyTransaction, McpToolCall, Media, MediaAspectRatio, Meeting, MeetingJoinInfo, MeetingSpeakerAssignment, MeetingSummary, Memory, Message, MetricSource, MetricsResult, Mission, MissionCreatePayload, Notification, NotificationChannel, NotificationSetting, OfficeSnapshot, Order, Order as Order$1, OrderContext, OrderPriceMode, OrderPriceMode as OrderPriceMode$1, OrderStatus, OrderStatus as OrderStatus$1, OrderType, PaginatedResponse, Pass, PatchContentInput, PaymentAccount, PaymentAccountOnboarding, PaymentProvider, Plan, PlanFeature, Product, Product as Product$1, ProductRelation, ProductVariation, ProgramSettings, Project, ProjectExportResponse, ProjectInputAssistIntent, ProjectInputAssistResponse, ProjectMutation, ProjectOutputPreset, ProjectOutputType, ProjectStudioHistoryEntry, Proposal, ProposalAction, ProposalPollOption, PublicFormResults, PurchaseResult, RampProviderInfo, Reactions, RedeemResponse, Reminder, Return, ReturnStatus, Room, RoomKind, Segment, SegmentCountPayload, SegmentCountResult, SegmentCreatePayload, Service, SetKvEntryResult, ShippingRate, ShippingRate as ShippingRate$1, ShippingZone, Shortcut, Site, SiteBrand, SiteType, Skill, SkillScopeValue, SocialAuthProvider, SocialBot, SocialPlatform, SocialPost, SocialPostConnection, SocialPostCreatePayload, SocialPostPlatform, SocialPostStatus, SocialPostUpdatePayload, StampResponse, StoreAgent, StoreData, StorePriceTier, StorePurchaseResult, Subscription, Swarm, Tag, TagType, Task, Team, TeamAccessConfig, TeamCategory, TeamEarning, TeamEarningsBalance, TeamFeature, TeamFeatureUsage, TeamMember, TeamMeta, TeamPayout, TeamPayoutAddress, TeamPrivate, TeamUsage, TerminalConnectionToken, TerminalPaymentIntent, ToggleKvFieldResult, TranslatableValue, Update, UpdateCreatePayload, UpdateRelation, UpdateStats, UpdateType, UpdateUpdatePayload, Upgrade, UpgradeStatus, UserPrivate, UserRole, UserSettings, VolumePrice, WarpBackend, WarpBackendStatus, WarpExecutionBackend, WebHookTriggerEvent, WorkspaceCloudFile, WorkspaceInfo, XIntegrationStatus } from "@joai/core";
|
|
3
3
|
import { WarpChainName, WarpClient, WarpLocale, WarpText, WarpWalletProvider } from "@joai/warps";
|
|
4
4
|
|
|
5
5
|
//#region src/resources/agents.d.ts
|
|
@@ -187,6 +187,10 @@ type GuestCommerceStorageOptions = {
|
|
|
187
187
|
namespace: string;
|
|
188
188
|
maxOrders?: number;
|
|
189
189
|
};
|
|
190
|
+
declare function buildGuestOrderReturnUrl(ordersPageUrl: string, orderId: string, accessToken: string): string;
|
|
191
|
+
declare function readGuestOrderReturnAccess(search: string | URLSearchParams): GuestOrderAccess | null;
|
|
192
|
+
declare function stripGuestOrderReturnToken(pathname: string, search: string | URLSearchParams): string;
|
|
193
|
+
type GuestCommerceStorage = ReturnType<typeof createGuestCommerceStorage>;
|
|
190
194
|
declare function createGuestCommerceStorage(options: GuestCommerceStorageOptions): {
|
|
191
195
|
saveCheckoutDraft<TCart>(draft: GuestCheckoutDraft<TCart>): void;
|
|
192
196
|
readCheckoutDraft<TCart>(fallback: GuestCheckoutDraft<TCart>): GuestCheckoutDraft<TCart>;
|
|
@@ -195,7 +199,10 @@ declare function createGuestCommerceStorage(options: GuestCommerceStorageOptions
|
|
|
195
199
|
accessToken
|
|
196
200
|
}: GuestOrderAccess): void;
|
|
197
201
|
readOrderAccess(orderId: string): string | null;
|
|
198
|
-
listOrderAccess(): GuestOrderAccess[];
|
|
202
|
+
listOrderAccess(): GuestOrderAccess[]; /** Absolute shop URL from a path or full URL (e.g. orders page). */
|
|
203
|
+
shopUrl(ordersPage: string): string; /** Thank-you → shop handoff URL with capability token query params. */
|
|
204
|
+
orderReturnUrl(ordersPage: string, orderId: string, accessToken: string): string; /** Persist `order` + `orderAccessToken` from the shop handoff query, then strip the token. */
|
|
205
|
+
claimOrderReturn(): GuestOrderAccess | null;
|
|
199
206
|
};
|
|
200
207
|
//#endregion
|
|
201
208
|
//#region src/commerce/guestCheckout.d.ts
|
|
@@ -279,7 +286,8 @@ type PlaceGuestCheckoutOrderResult = {
|
|
|
279
286
|
*
|
|
280
287
|
* When `pay` is enabled (default), `paymentUrl` is only set from a successful `orders.pay`
|
|
281
288
|
* response. `order.paymentUrl` from create is the JoAi thank-you URL and must not be used
|
|
282
|
-
* as a gateway redirect.
|
|
289
|
+
* as a gateway redirect. After payment, the thank-you page redirects to the team's shop
|
|
290
|
+
* site URL when one is configured (`sites.type = shop`).
|
|
283
291
|
*/
|
|
284
292
|
declare function placeGuestCheckoutOrder(options: {
|
|
285
293
|
client: GuestCheckoutClient;
|
|
@@ -1293,7 +1301,7 @@ declare class OrdersResource {
|
|
|
1293
1301
|
pay(id: string, provider?: PaymentProvider, accessToken?: string): Promise<_$_joai_core0.IAppResponse<{
|
|
1294
1302
|
url: string;
|
|
1295
1303
|
}>>;
|
|
1296
|
-
notify(id: string, type?: string): Promise<_$_joai_core0.IAppResponse<{
|
|
1304
|
+
notify(id: string, type?: string, agentId?: string): Promise<_$_joai_core0.IAppResponse<{
|
|
1297
1305
|
message: string;
|
|
1298
1306
|
}>>;
|
|
1299
1307
|
}
|
|
@@ -1494,6 +1502,7 @@ declare class SitesResource {
|
|
|
1494
1502
|
create(teamSlug: string, data: {
|
|
1495
1503
|
name: string;
|
|
1496
1504
|
url?: string | null;
|
|
1505
|
+
type?: SiteType;
|
|
1497
1506
|
contactId?: string | null;
|
|
1498
1507
|
metricsSource?: string | null;
|
|
1499
1508
|
metricsResource?: string | null;
|
|
@@ -1510,6 +1519,7 @@ declare class SitesResource {
|
|
|
1510
1519
|
modules?: string[];
|
|
1511
1520
|
name?: string | null;
|
|
1512
1521
|
url?: string | null;
|
|
1522
|
+
type?: SiteType;
|
|
1513
1523
|
contactId?: string | null;
|
|
1514
1524
|
metricsSource?: string | null;
|
|
1515
1525
|
metricsResource?: string | null;
|
|
@@ -1826,6 +1836,23 @@ declare class UpdatesResource {
|
|
|
1826
1836
|
stats(): Promise<_$_joai_core0.IAppResponse<UpdateStats>>;
|
|
1827
1837
|
}
|
|
1828
1838
|
//#endregion
|
|
1839
|
+
//#region src/resources/social-posts.d.ts
|
|
1840
|
+
declare class SocialPostsResource {
|
|
1841
|
+
private readonly http;
|
|
1842
|
+
constructor(http: IHttpService);
|
|
1843
|
+
connections(): Promise<_$_joai_core0.IAppResponse<SocialPostConnection[]>>;
|
|
1844
|
+
list(params?: {
|
|
1845
|
+
status?: SocialPostStatus;
|
|
1846
|
+
platform?: SocialPostPlatform;
|
|
1847
|
+
}): Promise<_$_joai_core0.IAppResponse<SocialPost[]>>;
|
|
1848
|
+
create(payload: SocialPostCreatePayload): Promise<_$_joai_core0.IAppResponse<SocialPost>>;
|
|
1849
|
+
update(id: string, payload: SocialPostUpdatePayload): Promise<_$_joai_core0.IAppResponse<SocialPost>>;
|
|
1850
|
+
schedule(id: string, scheduledAt?: string | null): Promise<_$_joai_core0.IAppResponse<SocialPost>>;
|
|
1851
|
+
cancel(id: string): Promise<_$_joai_core0.IAppResponse<SocialPost>>;
|
|
1852
|
+
retry(id: string): Promise<_$_joai_core0.IAppResponse<SocialPost>>;
|
|
1853
|
+
delete(id: string): Promise<_$_joai_core0.IAppResponse<void>>;
|
|
1854
|
+
}
|
|
1855
|
+
//#endregion
|
|
1829
1856
|
//#region src/resources/upgrades.d.ts
|
|
1830
1857
|
declare class UpgradesResource {
|
|
1831
1858
|
private readonly http;
|
|
@@ -2127,6 +2154,7 @@ declare class JoAiClient {
|
|
|
2127
2154
|
readonly automations: AutomationsResource;
|
|
2128
2155
|
readonly segments: SegmentsResource;
|
|
2129
2156
|
readonly updates: UpdatesResource;
|
|
2157
|
+
readonly socialPosts: SocialPostsResource;
|
|
2130
2158
|
readonly upgrades: UpgradesResource;
|
|
2131
2159
|
readonly users: UsersResource;
|
|
2132
2160
|
readonly voice: VoiceResource;
|
|
@@ -2204,4 +2232,4 @@ declare class DistributionResource {
|
|
|
2204
2232
|
private fetchDistribution;
|
|
2205
2233
|
}
|
|
2206
2234
|
//#endregion
|
|
2207
|
-
export { AddressesResource, AgentsResource, AlertsResource, ApiTokensResource, AppointmentsResource, type AttachedMedia, type AuthConfirmCodeRequest, type AuthConfirmCodeResponse, type AuthNativeSessionResponse, type AuthPortalSessionResponse, AuthResource, type AuthSendCodeRequest, type AuthUser, AutomationsResource, type BackendWarp, type BackendWarpBrand, BillingResource, BlueprintsResource, type CacheConfig, CachedHttpService, CampaignsResource, CardsResource, type Cart, CartsResource, ChangelogResource, CharactersResource, CheckoutResource, type CheckoutSnapshot, CommerceResource, ContactsResource, ContentResource, ContractsResource, type CreateEmptyGuestCheckoutOptions, type CreateHookPayload, type CreateInboundHookPayload, type CreateInternalHookPayload, type CreateWarpLinkedHookPayload, type CreateWebHookPayload, DeskResource, DistributionResource, DocumentsResource, ElementsResource, EntitiesResource, FlowsResource, type FulfillmentLocation, type FulfillmentLocationInput, FulfillmentsResource, GoalsResource, type GuestBuyer, type GuestCheckoutCartItem, type GuestCheckoutClient, type GuestCheckoutDraft, GuestCheckoutError, type GuestCheckoutErrorCode, type GuestCheckoutSnapshotResult, type GuestCheckoutState, type GuestCommerceStorageOptions, type GuestOrderAccess, type Hook, type HookSample, type HookTrigger, type HookTriggerCondition, type HookTriggerInput, HooksResource, IngestionsResource, InquiriesResource, IntegrationsResource, IntentsResource, ItemsResource, JoAiClient, type JoAiClientConfig, KvResource, LinksResource, LoyaltyResource, McpResource, type MediaUploadType, MeetingsResource, MemoriesResource, MessagesResource, MetricsResource, MissionsResource, NotificationsResource, OfficeResource, type OpenPortalSessionOptions, type OpeningHoursEntry, type OpeningHoursFormatOptions, type Order, type OrderPriceMode, type OrderStatus, OrdersResource, PersonaResource, type PlaceCheckoutOrderRequest, type PlaceGuestCheckoutOrderResult, type Product, type ProductVariation, ProductsResource, ProjectsResource, RemindersResource, ReturnsResource, SegmentsResource, ServicesResource, type ShippingRate, type ShippingRateInput, ShippingResource, type ShippingZoneInput, ShortcutsResource, SitesResource, SkillsResource, StatsResource, StoreResource, SubscriptionsResource, SwarmsResource, TagsResource, TasksResource, type TeamInviteInfo, TeamsResource, UpdatesResource, UpgradesResource, UsersResource, VoiceResource, WalletsResource, WarpsResource, type WebHookTriggerEvent, WorkspaceResource, assertGuestCheckoutReady, buildGuestCheckoutSnapshotRequest, completePortalSession, createClient, createEmptyGuestCheckoutState, createGuestCheckoutSnapshot, createGuestCommerceStorage, formatOpeningHours, getAuthFragmentToken, isAllowedRedirectUrl, isGuestCheckoutError, isPortalCallbackUrl, openPortalSession, placeGuestCheckoutOrder, sanitizePortalCallbackUrl, toGuestCheckoutDraft };
|
|
2235
|
+
export { AddressesResource, AgentsResource, AlertsResource, ApiTokensResource, AppointmentsResource, type AttachedMedia, type AuthConfirmCodeRequest, type AuthConfirmCodeResponse, type AuthNativeSessionResponse, type AuthPortalSessionResponse, AuthResource, type AuthSendCodeRequest, type AuthUser, AutomationsResource, type BackendWarp, type BackendWarpBrand, BillingResource, BlueprintsResource, type CacheConfig, CachedHttpService, CampaignsResource, CardsResource, type Cart, CartsResource, ChangelogResource, CharactersResource, CheckoutResource, type CheckoutSnapshot, CommerceResource, ContactsResource, ContentResource, ContractsResource, type CreateEmptyGuestCheckoutOptions, type CreateHookPayload, type CreateInboundHookPayload, type CreateInternalHookPayload, type CreateWarpLinkedHookPayload, type CreateWebHookPayload, DeskResource, DistributionResource, DocumentsResource, ElementsResource, EntitiesResource, FlowsResource, type FulfillmentLocation, type FulfillmentLocationInput, FulfillmentsResource, GoalsResource, type GuestBuyer, type GuestCheckoutCartItem, type GuestCheckoutClient, type GuestCheckoutDraft, GuestCheckoutError, type GuestCheckoutErrorCode, type GuestCheckoutSnapshotResult, type GuestCheckoutState, type GuestCommerceStorage, type GuestCommerceStorageOptions, type GuestOrderAccess, type Hook, type HookSample, type HookTrigger, type HookTriggerCondition, type HookTriggerInput, HooksResource, IngestionsResource, InquiriesResource, IntegrationsResource, IntentsResource, ItemsResource, JoAiClient, type JoAiClientConfig, KvResource, LinksResource, LoyaltyResource, McpResource, type MediaUploadType, MeetingsResource, MemoriesResource, MessagesResource, MetricsResource, MissionsResource, NotificationsResource, OfficeResource, type OpenPortalSessionOptions, type OpeningHoursEntry, type OpeningHoursFormatOptions, type Order, type OrderPriceMode, type OrderStatus, OrdersResource, PersonaResource, type PlaceCheckoutOrderRequest, type PlaceGuestCheckoutOrderResult, type Product, type ProductVariation, ProductsResource, ProjectsResource, RemindersResource, ReturnsResource, SegmentsResource, ServicesResource, type ShippingRate, type ShippingRateInput, ShippingResource, type ShippingZoneInput, ShortcutsResource, SitesResource, SkillsResource, SocialPostsResource, StatsResource, StoreResource, SubscriptionsResource, SwarmsResource, TagsResource, TasksResource, type TeamInviteInfo, TeamsResource, UpdatesResource, UpgradesResource, UsersResource, VoiceResource, WalletsResource, WarpsResource, type WebHookTriggerEvent, WorkspaceResource, assertGuestCheckoutReady, buildGuestCheckoutSnapshotRequest, buildGuestOrderReturnUrl, completePortalSession, createClient, createEmptyGuestCheckoutState, createGuestCheckoutSnapshot, createGuestCommerceStorage, formatOpeningHours, getAuthFragmentToken, isAllowedRedirectUrl, isGuestCheckoutError, isPortalCallbackUrl, openPortalSession, placeGuestCheckoutOrder, readGuestOrderReturnAccess, sanitizePortalCallbackUrl, stripGuestOrderReturnToken, toGuestCheckoutDraft };
|
package/dist/index.mjs
CHANGED
|
@@ -262,9 +262,41 @@ const readOrderList = (namespace) => {
|
|
|
262
262
|
return [];
|
|
263
263
|
}
|
|
264
264
|
};
|
|
265
|
+
function buildGuestOrderReturnUrl(ordersPageUrl, orderId, accessToken) {
|
|
266
|
+
try {
|
|
267
|
+
const url = new URL(ordersPageUrl);
|
|
268
|
+
if (url.protocol !== "http:" && url.protocol !== "https:") return ordersPageUrl;
|
|
269
|
+
url.searchParams.set("order", orderId);
|
|
270
|
+
url.searchParams.set("orderAccessToken", accessToken);
|
|
271
|
+
return url.toString();
|
|
272
|
+
} catch {
|
|
273
|
+
return ordersPageUrl;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
function readGuestOrderReturnAccess(search) {
|
|
277
|
+
const query = typeof search === "string" ? new URLSearchParams(search) : search;
|
|
278
|
+
const orderId = query.get("order");
|
|
279
|
+
const accessToken = query.get("orderAccessToken");
|
|
280
|
+
if (!orderId || !accessToken) return null;
|
|
281
|
+
return {
|
|
282
|
+
orderId,
|
|
283
|
+
accessToken
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
function stripGuestOrderReturnToken(pathname, search) {
|
|
287
|
+
const query = new URLSearchParams(typeof search === "string" ? search : search.toString());
|
|
288
|
+
query.delete("orderAccessToken");
|
|
289
|
+
const next = query.toString();
|
|
290
|
+
return `${pathname}${next ? `?${next}` : ""}`;
|
|
291
|
+
}
|
|
292
|
+
const absoluteOrdersPageUrl = (ordersPage) => {
|
|
293
|
+
if (/^https?:\/\//i.test(ordersPage)) return ordersPage;
|
|
294
|
+
const origin = typeof window !== "undefined" ? window.location.origin : "http://localhost";
|
|
295
|
+
return new URL(ordersPage, origin).toString();
|
|
296
|
+
};
|
|
265
297
|
function createGuestCommerceStorage(options) {
|
|
266
298
|
const maxOrders = options.maxOrders ?? 10;
|
|
267
|
-
|
|
299
|
+
const storage = {
|
|
268
300
|
saveCheckoutDraft(draft) {
|
|
269
301
|
safeSet(checkoutKey(options.namespace), JSON.stringify(draft));
|
|
270
302
|
},
|
|
@@ -301,8 +333,26 @@ function createGuestCommerceStorage(options) {
|
|
|
301
333
|
orderId: entry.orderId,
|
|
302
334
|
accessToken: entry.accessToken || safeGet(orderAccessKey(options.namespace, entry.orderId))
|
|
303
335
|
}));
|
|
336
|
+
},
|
|
337
|
+
/** Absolute shop URL from a path or full URL (e.g. orders page). */
|
|
338
|
+
shopUrl(ordersPage) {
|
|
339
|
+
return absoluteOrdersPageUrl(ordersPage);
|
|
340
|
+
},
|
|
341
|
+
/** Thank-you → shop handoff URL with capability token query params. */
|
|
342
|
+
orderReturnUrl(ordersPage, orderId, accessToken) {
|
|
343
|
+
return buildGuestOrderReturnUrl(absoluteOrdersPageUrl(ordersPage), orderId, accessToken);
|
|
344
|
+
},
|
|
345
|
+
/** Persist `order` + `orderAccessToken` from the shop handoff query, then strip the token. */
|
|
346
|
+
claimOrderReturn() {
|
|
347
|
+
if (typeof window === "undefined") return null;
|
|
348
|
+
const access = readGuestOrderReturnAccess(window.location.search);
|
|
349
|
+
if (!access?.accessToken) return null;
|
|
350
|
+
storage.saveOrderAccess(access);
|
|
351
|
+
window.history.replaceState({}, "", stripGuestOrderReturnToken(window.location.pathname, window.location.search));
|
|
352
|
+
return access;
|
|
304
353
|
}
|
|
305
354
|
};
|
|
355
|
+
return storage;
|
|
306
356
|
}
|
|
307
357
|
//#endregion
|
|
308
358
|
//#region src/commerce/guestCheckout.ts
|
|
@@ -430,7 +480,8 @@ async function createGuestCheckoutSnapshot(options) {
|
|
|
430
480
|
*
|
|
431
481
|
* When `pay` is enabled (default), `paymentUrl` is only set from a successful `orders.pay`
|
|
432
482
|
* response. `order.paymentUrl` from create is the JoAi thank-you URL and must not be used
|
|
433
|
-
* as a gateway redirect.
|
|
483
|
+
* as a gateway redirect. After payment, the thank-you page redirects to the team's shop
|
|
484
|
+
* site URL when one is configured (`sites.type = shop`).
|
|
434
485
|
*/
|
|
435
486
|
async function placeGuestCheckoutOrder(options) {
|
|
436
487
|
if (!options.acceptedTerms) throw new GuestCheckoutError("terms_required");
|
|
@@ -1898,10 +1949,13 @@ var OrdersResource = class {
|
|
|
1898
1949
|
return this.http.delete(`orders/${id}`);
|
|
1899
1950
|
}
|
|
1900
1951
|
pay(id, provider, accessToken) {
|
|
1901
|
-
return this.http.post(`orders/${id}/pay`, provider ? { provider } : {}, orderAccessHeaders(accessToken));
|
|
1952
|
+
return this.http.post(`orders/${id}/pay`, { ...provider ? { provider } : {} }, orderAccessHeaders(accessToken));
|
|
1902
1953
|
}
|
|
1903
|
-
notify(id, type = "confirmation") {
|
|
1904
|
-
return this.http.post(`orders/${id}/notify`, {
|
|
1954
|
+
notify(id, type = "confirmation", agentId) {
|
|
1955
|
+
return this.http.post(`orders/${id}/notify`, {
|
|
1956
|
+
type,
|
|
1957
|
+
...agentId ? { agentId } : {}
|
|
1958
|
+
});
|
|
1905
1959
|
}
|
|
1906
1960
|
};
|
|
1907
1961
|
//#endregion
|
|
@@ -2674,6 +2728,41 @@ var UpdatesResource = class {
|
|
|
2674
2728
|
}
|
|
2675
2729
|
};
|
|
2676
2730
|
//#endregion
|
|
2731
|
+
//#region src/resources/social-posts.ts
|
|
2732
|
+
var SocialPostsResource = class {
|
|
2733
|
+
constructor(http) {
|
|
2734
|
+
this.http = http;
|
|
2735
|
+
}
|
|
2736
|
+
connections() {
|
|
2737
|
+
return this.http.get("social-posts/connections");
|
|
2738
|
+
}
|
|
2739
|
+
list(params) {
|
|
2740
|
+
const query = new URLSearchParams();
|
|
2741
|
+
if (params?.status) query.set("status", params.status);
|
|
2742
|
+
if (params?.platform) query.set("platform", params.platform);
|
|
2743
|
+
const qs = query.toString();
|
|
2744
|
+
return this.http.get(`social-posts${qs ? "?" + qs : ""}`);
|
|
2745
|
+
}
|
|
2746
|
+
create(payload) {
|
|
2747
|
+
return this.http.post("social-posts", payload);
|
|
2748
|
+
}
|
|
2749
|
+
update(id, payload) {
|
|
2750
|
+
return this.http.patch(`social-posts/${id}`, payload);
|
|
2751
|
+
}
|
|
2752
|
+
schedule(id, scheduledAt) {
|
|
2753
|
+
return this.http.post(`social-posts/${id}/schedule`, scheduledAt ? { scheduledAt } : {});
|
|
2754
|
+
}
|
|
2755
|
+
cancel(id) {
|
|
2756
|
+
return this.http.post(`social-posts/${id}/cancel`, {});
|
|
2757
|
+
}
|
|
2758
|
+
retry(id) {
|
|
2759
|
+
return this.http.post(`social-posts/${id}/retry`, {});
|
|
2760
|
+
}
|
|
2761
|
+
delete(id) {
|
|
2762
|
+
return this.http.delete(`social-posts/${id}`);
|
|
2763
|
+
}
|
|
2764
|
+
};
|
|
2765
|
+
//#endregion
|
|
2677
2766
|
//#region src/resources/upgrades.ts
|
|
2678
2767
|
var UpgradesResource = class {
|
|
2679
2768
|
constructor(http) {
|
|
@@ -3209,6 +3298,7 @@ var JoAiClient = class {
|
|
|
3209
3298
|
this.automations = new AutomationsResource(this.http);
|
|
3210
3299
|
this.segments = new SegmentsResource(this.http);
|
|
3211
3300
|
this.updates = new UpdatesResource(this.http);
|
|
3301
|
+
this.socialPosts = new SocialPostsResource(this.http);
|
|
3212
3302
|
this.upgrades = new UpgradesResource(this.http);
|
|
3213
3303
|
this.users = new UsersResource(this.http);
|
|
3214
3304
|
this.voice = new VoiceResource(this.http);
|
|
@@ -3322,4 +3412,4 @@ var DistributionResource = class {
|
|
|
3322
3412
|
}
|
|
3323
3413
|
};
|
|
3324
3414
|
//#endregion
|
|
3325
|
-
export { AddressesResource, AgentsResource, AlertsResource, ApiTokensResource, AppointmentsResource, AuthResource, AutomationsResource, BillingResource, BlueprintsResource, CachedHttpService, CampaignsResource, CardsResource, CartsResource, ChangelogResource, CharactersResource, CheckoutResource, CommerceResource, ContactsResource, ContentResource, ContractsResource, DeskResource, DistributionResource, DocumentsResource, ElementsResource, EntitiesResource, FlowsResource, FulfillmentsResource, GoalsResource, GuestCheckoutError, HooksResource, IngestionsResource, InquiriesResource, IntegrationsResource, IntentsResource, ItemsResource, JoAiClient, KvResource, LinksResource, LoyaltyResource, McpResource, MeetingsResource, MemoriesResource, MessagesResource, MetricsResource, MissionsResource, NotificationsResource, OfficeResource, OrdersResource, PersonaResource, ProductsResource, ProjectsResource, RemindersResource, ReturnsResource, SegmentsResource, ServicesResource, ShippingResource, ShortcutsResource, SitesResource, SkillsResource, StatsResource, StoreResource, SubscriptionsResource, SwarmsResource, TagsResource, TasksResource, TeamsResource, UpdatesResource, UpgradesResource, UsersResource, VoiceResource, WalletsResource, WarpsResource, WorkspaceResource, assertGuestCheckoutReady, buildGuestCheckoutSnapshotRequest, completePortalSession, createClient, createEmptyGuestCheckoutState, createGuestCheckoutSnapshot, createGuestCommerceStorage, formatOpeningHours, getAuthFragmentToken, isAllowedRedirectUrl, isGuestCheckoutError, isPortalCallbackUrl, openPortalSession, placeGuestCheckoutOrder, sanitizePortalCallbackUrl, toGuestCheckoutDraft };
|
|
3415
|
+
export { AddressesResource, AgentsResource, AlertsResource, ApiTokensResource, AppointmentsResource, AuthResource, AutomationsResource, BillingResource, BlueprintsResource, CachedHttpService, CampaignsResource, CardsResource, CartsResource, ChangelogResource, CharactersResource, CheckoutResource, CommerceResource, ContactsResource, ContentResource, ContractsResource, DeskResource, DistributionResource, DocumentsResource, ElementsResource, EntitiesResource, FlowsResource, FulfillmentsResource, GoalsResource, GuestCheckoutError, HooksResource, IngestionsResource, InquiriesResource, IntegrationsResource, IntentsResource, ItemsResource, JoAiClient, KvResource, LinksResource, LoyaltyResource, McpResource, MeetingsResource, MemoriesResource, MessagesResource, MetricsResource, MissionsResource, NotificationsResource, OfficeResource, OrdersResource, PersonaResource, ProductsResource, ProjectsResource, RemindersResource, ReturnsResource, SegmentsResource, ServicesResource, ShippingResource, ShortcutsResource, SitesResource, SkillsResource, SocialPostsResource, StatsResource, StoreResource, SubscriptionsResource, SwarmsResource, TagsResource, TasksResource, TeamsResource, UpdatesResource, UpgradesResource, UsersResource, VoiceResource, WalletsResource, WarpsResource, WorkspaceResource, assertGuestCheckoutReady, buildGuestCheckoutSnapshotRequest, buildGuestOrderReturnUrl, completePortalSession, createClient, createEmptyGuestCheckoutState, createGuestCheckoutSnapshot, createGuestCommerceStorage, formatOpeningHours, getAuthFragmentToken, isAllowedRedirectUrl, isGuestCheckoutError, isPortalCallbackUrl, openPortalSession, placeGuestCheckoutOrder, readGuestOrderReturnAccess, sanitizePortalCallbackUrl, stripGuestOrderReturnToken, toGuestCheckoutDraft };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@joai/sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "JoAi public API SDK — build with your AI agents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -35,11 +35,11 @@
|
|
|
35
35
|
"test": "jest --config jest.config.js"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@joai/core": "^4.
|
|
38
|
+
"@joai/core": "^4.14.0",
|
|
39
39
|
"@joai/warps": "*"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@joai/core": "^4.
|
|
42
|
+
"@joai/core": "^4.14.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"tsdown": "^0.21.0",
|