@joai/sdk 5.0.0 → 7.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 +41 -5
- package/dist/index.mjs +110 -10
- 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, AgentTrustedActionRule, 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
|
|
@@ -43,6 +43,12 @@ declare class AgentsResource {
|
|
|
43
43
|
error?: string;
|
|
44
44
|
meta?: Record<string, any>;
|
|
45
45
|
}): Promise<_$_joai_core0.IAppResponse<unknown>>;
|
|
46
|
+
listTrustedActions(uuid: string): Promise<_$_joai_core0.IAppResponse<{
|
|
47
|
+
rules: AgentTrustedActionRule[];
|
|
48
|
+
}>>;
|
|
49
|
+
removeTrustedAction(uuid: string, ruleId: string): Promise<_$_joai_core0.IAppResponse<{
|
|
50
|
+
rules: AgentTrustedActionRule[];
|
|
51
|
+
}>>;
|
|
46
52
|
}
|
|
47
53
|
//#endregion
|
|
48
54
|
//#region src/address/addresses.d.ts
|
|
@@ -182,11 +188,16 @@ type GuestCheckoutDraft<TCart = unknown> = {
|
|
|
182
188
|
fulfillmentMethod: FulfillmentMethod;
|
|
183
189
|
shippingRateId: number | null;
|
|
184
190
|
fulfillmentLocationId: number | null;
|
|
191
|
+
couponCode?: string | null;
|
|
185
192
|
};
|
|
186
193
|
type GuestCommerceStorageOptions = {
|
|
187
194
|
namespace: string;
|
|
188
195
|
maxOrders?: number;
|
|
189
196
|
};
|
|
197
|
+
declare function buildGuestOrderReturnUrl(ordersPageUrl: string, orderId: string, accessToken: string): string;
|
|
198
|
+
declare function readGuestOrderReturnAccess(search: string | URLSearchParams): GuestOrderAccess | null;
|
|
199
|
+
declare function stripGuestOrderReturnToken(pathname: string, search: string | URLSearchParams): string;
|
|
200
|
+
type GuestCommerceStorage = ReturnType<typeof createGuestCommerceStorage>;
|
|
190
201
|
declare function createGuestCommerceStorage(options: GuestCommerceStorageOptions): {
|
|
191
202
|
saveCheckoutDraft<TCart>(draft: GuestCheckoutDraft<TCart>): void;
|
|
192
203
|
readCheckoutDraft<TCart>(fallback: GuestCheckoutDraft<TCart>): GuestCheckoutDraft<TCart>;
|
|
@@ -195,7 +206,10 @@ declare function createGuestCommerceStorage(options: GuestCommerceStorageOptions
|
|
|
195
206
|
accessToken
|
|
196
207
|
}: GuestOrderAccess): void;
|
|
197
208
|
readOrderAccess(orderId: string): string | null;
|
|
198
|
-
listOrderAccess(): GuestOrderAccess[];
|
|
209
|
+
listOrderAccess(): GuestOrderAccess[]; /** Absolute shop URL from a path or full URL (e.g. orders page). */
|
|
210
|
+
shopUrl(ordersPage: string): string; /** Thank-you → shop handoff URL with capability token query params. */
|
|
211
|
+
orderReturnUrl(ordersPage: string, orderId: string, accessToken: string): string; /** Persist `order` + `orderAccessToken` from the shop handoff query, then strip the token. */
|
|
212
|
+
claimOrderReturn(): GuestOrderAccess | null;
|
|
199
213
|
};
|
|
200
214
|
//#endregion
|
|
201
215
|
//#region src/commerce/guestCheckout.d.ts
|
|
@@ -279,7 +293,8 @@ type PlaceGuestCheckoutOrderResult = {
|
|
|
279
293
|
*
|
|
280
294
|
* When `pay` is enabled (default), `paymentUrl` is only set from a successful `orders.pay`
|
|
281
295
|
* response. `order.paymentUrl` from create is the JoAi thank-you URL and must not be used
|
|
282
|
-
* as a gateway redirect.
|
|
296
|
+
* as a gateway redirect. After payment, the thank-you page redirects to the team's shop
|
|
297
|
+
* site URL when one is configured (`sites.type = shop`).
|
|
283
298
|
*/
|
|
284
299
|
declare function placeGuestCheckoutOrder(options: {
|
|
285
300
|
client: GuestCheckoutClient;
|
|
@@ -468,6 +483,7 @@ declare class AppointmentsResource {
|
|
|
468
483
|
timezone?: string;
|
|
469
484
|
attendeeEmail?: string;
|
|
470
485
|
attendeeName?: string;
|
|
486
|
+
contactIds?: string[];
|
|
471
487
|
attendees?: {
|
|
472
488
|
email: string;
|
|
473
489
|
name?: string;
|
|
@@ -1293,7 +1309,7 @@ declare class OrdersResource {
|
|
|
1293
1309
|
pay(id: string, provider?: PaymentProvider, accessToken?: string): Promise<_$_joai_core0.IAppResponse<{
|
|
1294
1310
|
url: string;
|
|
1295
1311
|
}>>;
|
|
1296
|
-
notify(id: string, type
|
|
1312
|
+
notify(id: string, type: string | undefined, agentId: string): Promise<_$_joai_core0.IAppResponse<{
|
|
1297
1313
|
message: string;
|
|
1298
1314
|
}>>;
|
|
1299
1315
|
}
|
|
@@ -1494,6 +1510,7 @@ declare class SitesResource {
|
|
|
1494
1510
|
create(teamSlug: string, data: {
|
|
1495
1511
|
name: string;
|
|
1496
1512
|
url?: string | null;
|
|
1513
|
+
type?: SiteType;
|
|
1497
1514
|
contactId?: string | null;
|
|
1498
1515
|
metricsSource?: string | null;
|
|
1499
1516
|
metricsResource?: string | null;
|
|
@@ -1510,6 +1527,7 @@ declare class SitesResource {
|
|
|
1510
1527
|
modules?: string[];
|
|
1511
1528
|
name?: string | null;
|
|
1512
1529
|
url?: string | null;
|
|
1530
|
+
type?: SiteType;
|
|
1513
1531
|
contactId?: string | null;
|
|
1514
1532
|
metricsSource?: string | null;
|
|
1515
1533
|
metricsResource?: string | null;
|
|
@@ -1826,6 +1844,23 @@ declare class UpdatesResource {
|
|
|
1826
1844
|
stats(): Promise<_$_joai_core0.IAppResponse<UpdateStats>>;
|
|
1827
1845
|
}
|
|
1828
1846
|
//#endregion
|
|
1847
|
+
//#region src/resources/social-posts.d.ts
|
|
1848
|
+
declare class SocialPostsResource {
|
|
1849
|
+
private readonly http;
|
|
1850
|
+
constructor(http: IHttpService);
|
|
1851
|
+
connections(): Promise<_$_joai_core0.IAppResponse<SocialPostConnection[]>>;
|
|
1852
|
+
list(params?: {
|
|
1853
|
+
status?: SocialPostStatus;
|
|
1854
|
+
platform?: SocialPostPlatform;
|
|
1855
|
+
}): Promise<_$_joai_core0.IAppResponse<SocialPost[]>>;
|
|
1856
|
+
create(payload: SocialPostCreatePayload): Promise<_$_joai_core0.IAppResponse<SocialPost>>;
|
|
1857
|
+
update(id: string, payload: SocialPostUpdatePayload): Promise<_$_joai_core0.IAppResponse<SocialPost>>;
|
|
1858
|
+
schedule(id: string, scheduledAt?: string | null): Promise<_$_joai_core0.IAppResponse<SocialPost>>;
|
|
1859
|
+
cancel(id: string): Promise<_$_joai_core0.IAppResponse<SocialPost>>;
|
|
1860
|
+
retry(id: string): Promise<_$_joai_core0.IAppResponse<SocialPost>>;
|
|
1861
|
+
delete(id: string): Promise<_$_joai_core0.IAppResponse<void>>;
|
|
1862
|
+
}
|
|
1863
|
+
//#endregion
|
|
1829
1864
|
//#region src/resources/upgrades.d.ts
|
|
1830
1865
|
declare class UpgradesResource {
|
|
1831
1866
|
private readonly http;
|
|
@@ -2127,6 +2162,7 @@ declare class JoAiClient {
|
|
|
2127
2162
|
readonly automations: AutomationsResource;
|
|
2128
2163
|
readonly segments: SegmentsResource;
|
|
2129
2164
|
readonly updates: UpdatesResource;
|
|
2165
|
+
readonly socialPosts: SocialPostsResource;
|
|
2130
2166
|
readonly upgrades: UpgradesResource;
|
|
2131
2167
|
readonly users: UsersResource;
|
|
2132
2168
|
readonly voice: VoiceResource;
|
|
@@ -2204,4 +2240,4 @@ declare class DistributionResource {
|
|
|
2204
2240
|
private fetchDistribution;
|
|
2205
2241
|
}
|
|
2206
2242
|
//#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 };
|
|
2243
|
+
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
|
@@ -88,6 +88,12 @@ var AgentsResource = class {
|
|
|
88
88
|
result
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
|
+
listTrustedActions(uuid) {
|
|
92
|
+
return this.http.get(`agents/${uuid}/trusted-actions`);
|
|
93
|
+
}
|
|
94
|
+
removeTrustedAction(uuid, ruleId) {
|
|
95
|
+
return this.http.delete(`agents/${uuid}/trusted-actions/${encodeURIComponent(ruleId)}`);
|
|
96
|
+
}
|
|
91
97
|
};
|
|
92
98
|
//#endregion
|
|
93
99
|
//#region src/address/addresses.ts
|
|
@@ -262,9 +268,41 @@ const readOrderList = (namespace) => {
|
|
|
262
268
|
return [];
|
|
263
269
|
}
|
|
264
270
|
};
|
|
271
|
+
function buildGuestOrderReturnUrl(ordersPageUrl, orderId, accessToken) {
|
|
272
|
+
try {
|
|
273
|
+
const url = new URL(ordersPageUrl);
|
|
274
|
+
if (url.protocol !== "http:" && url.protocol !== "https:") return ordersPageUrl;
|
|
275
|
+
url.searchParams.set("order", orderId);
|
|
276
|
+
url.searchParams.set("orderAccessToken", accessToken);
|
|
277
|
+
return url.toString();
|
|
278
|
+
} catch {
|
|
279
|
+
return ordersPageUrl;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
function readGuestOrderReturnAccess(search) {
|
|
283
|
+
const query = typeof search === "string" ? new URLSearchParams(search) : search;
|
|
284
|
+
const orderId = query.get("order");
|
|
285
|
+
const accessToken = query.get("orderAccessToken");
|
|
286
|
+
if (!orderId || !accessToken) return null;
|
|
287
|
+
return {
|
|
288
|
+
orderId,
|
|
289
|
+
accessToken
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
function stripGuestOrderReturnToken(pathname, search) {
|
|
293
|
+
const query = new URLSearchParams(typeof search === "string" ? search : search.toString());
|
|
294
|
+
query.delete("orderAccessToken");
|
|
295
|
+
const next = query.toString();
|
|
296
|
+
return `${pathname}${next ? `?${next}` : ""}`;
|
|
297
|
+
}
|
|
298
|
+
const absoluteOrdersPageUrl = (ordersPage) => {
|
|
299
|
+
if (/^https?:\/\//i.test(ordersPage)) return ordersPage;
|
|
300
|
+
const origin = typeof window !== "undefined" ? window.location.origin : "http://localhost";
|
|
301
|
+
return new URL(ordersPage, origin).toString();
|
|
302
|
+
};
|
|
265
303
|
function createGuestCommerceStorage(options) {
|
|
266
304
|
const maxOrders = options.maxOrders ?? 10;
|
|
267
|
-
|
|
305
|
+
const storage = {
|
|
268
306
|
saveCheckoutDraft(draft) {
|
|
269
307
|
safeSet(checkoutKey(options.namespace), JSON.stringify(draft));
|
|
270
308
|
},
|
|
@@ -301,8 +339,26 @@ function createGuestCommerceStorage(options) {
|
|
|
301
339
|
orderId: entry.orderId,
|
|
302
340
|
accessToken: entry.accessToken || safeGet(orderAccessKey(options.namespace, entry.orderId))
|
|
303
341
|
}));
|
|
342
|
+
},
|
|
343
|
+
/** Absolute shop URL from a path or full URL (e.g. orders page). */
|
|
344
|
+
shopUrl(ordersPage) {
|
|
345
|
+
return absoluteOrdersPageUrl(ordersPage);
|
|
346
|
+
},
|
|
347
|
+
/** Thank-you → shop handoff URL with capability token query params. */
|
|
348
|
+
orderReturnUrl(ordersPage, orderId, accessToken) {
|
|
349
|
+
return buildGuestOrderReturnUrl(absoluteOrdersPageUrl(ordersPage), orderId, accessToken);
|
|
350
|
+
},
|
|
351
|
+
/** Persist `order` + `orderAccessToken` from the shop handoff query, then strip the token. */
|
|
352
|
+
claimOrderReturn() {
|
|
353
|
+
if (typeof window === "undefined") return null;
|
|
354
|
+
const access = readGuestOrderReturnAccess(window.location.search);
|
|
355
|
+
if (!access?.accessToken) return null;
|
|
356
|
+
storage.saveOrderAccess(access);
|
|
357
|
+
window.history.replaceState({}, "", stripGuestOrderReturnToken(window.location.pathname, window.location.search));
|
|
358
|
+
return access;
|
|
304
359
|
}
|
|
305
360
|
};
|
|
361
|
+
return storage;
|
|
306
362
|
}
|
|
307
363
|
//#endregion
|
|
308
364
|
//#region src/commerce/guestCheckout.ts
|
|
@@ -330,13 +386,15 @@ const createEmptyGuestCheckoutState = (options = {}) => ({
|
|
|
330
386
|
phone: ""
|
|
331
387
|
},
|
|
332
388
|
shippingRateId: null,
|
|
333
|
-
fulfillmentLocationId: null
|
|
389
|
+
fulfillmentLocationId: null,
|
|
390
|
+
couponCode: null
|
|
334
391
|
});
|
|
335
392
|
const toGuestCheckoutDraft = (state) => ({
|
|
336
393
|
cart: state.cart,
|
|
337
394
|
fulfillmentMethod: state.fulfillmentMethod,
|
|
338
395
|
shippingRateId: state.shippingRateId,
|
|
339
|
-
fulfillmentLocationId: state.fulfillmentLocationId
|
|
396
|
+
fulfillmentLocationId: state.fulfillmentLocationId,
|
|
397
|
+
couponCode: state.couponCode ?? null
|
|
340
398
|
});
|
|
341
399
|
const assertGuestCheckoutReady = (state, pickupLocationIds = []) => {
|
|
342
400
|
if (!state.cart.length) throw new GuestCheckoutError("empty_cart");
|
|
@@ -375,13 +433,15 @@ const buildGuestCheckoutSnapshotRequest = (state, options = {}) => {
|
|
|
375
433
|
...address,
|
|
376
434
|
type: "shipping"
|
|
377
435
|
},
|
|
378
|
-
shippingRateId: rate.id
|
|
436
|
+
shippingRateId: rate.id,
|
|
437
|
+
couponCode: state.couponCode?.trim() || void 0
|
|
379
438
|
};
|
|
380
439
|
}
|
|
381
440
|
return {
|
|
382
441
|
fulfillmentMethod: "pickup",
|
|
383
442
|
items,
|
|
384
|
-
fulfillmentLocationId: state.fulfillmentLocationId || options.pickupLocationIds?.[0] || null
|
|
443
|
+
fulfillmentLocationId: state.fulfillmentLocationId || options.pickupLocationIds?.[0] || null,
|
|
444
|
+
couponCode: state.couponCode?.trim() || void 0
|
|
385
445
|
};
|
|
386
446
|
};
|
|
387
447
|
async function createGuestCheckoutSnapshot(options) {
|
|
@@ -430,7 +490,8 @@ async function createGuestCheckoutSnapshot(options) {
|
|
|
430
490
|
*
|
|
431
491
|
* When `pay` is enabled (default), `paymentUrl` is only set from a successful `orders.pay`
|
|
432
492
|
* response. `order.paymentUrl` from create is the JoAi thank-you URL and must not be used
|
|
433
|
-
* as a gateway redirect.
|
|
493
|
+
* as a gateway redirect. After payment, the thank-you page redirects to the team's shop
|
|
494
|
+
* site URL when one is configured (`sites.type = shop`).
|
|
434
495
|
*/
|
|
435
496
|
async function placeGuestCheckoutOrder(options) {
|
|
436
497
|
if (!options.acceptedTerms) throw new GuestCheckoutError("terms_required");
|
|
@@ -1898,10 +1959,13 @@ var OrdersResource = class {
|
|
|
1898
1959
|
return this.http.delete(`orders/${id}`);
|
|
1899
1960
|
}
|
|
1900
1961
|
pay(id, provider, accessToken) {
|
|
1901
|
-
return this.http.post(`orders/${id}/pay`, provider ? { provider } : {}, orderAccessHeaders(accessToken));
|
|
1962
|
+
return this.http.post(`orders/${id}/pay`, { ...provider ? { provider } : {} }, orderAccessHeaders(accessToken));
|
|
1902
1963
|
}
|
|
1903
|
-
notify(id, type = "confirmation") {
|
|
1904
|
-
return this.http.post(`orders/${id}/notify`, {
|
|
1964
|
+
notify(id, type = "confirmation", agentId) {
|
|
1965
|
+
return this.http.post(`orders/${id}/notify`, {
|
|
1966
|
+
type,
|
|
1967
|
+
agentId
|
|
1968
|
+
});
|
|
1905
1969
|
}
|
|
1906
1970
|
};
|
|
1907
1971
|
//#endregion
|
|
@@ -2674,6 +2738,41 @@ var UpdatesResource = class {
|
|
|
2674
2738
|
}
|
|
2675
2739
|
};
|
|
2676
2740
|
//#endregion
|
|
2741
|
+
//#region src/resources/social-posts.ts
|
|
2742
|
+
var SocialPostsResource = class {
|
|
2743
|
+
constructor(http) {
|
|
2744
|
+
this.http = http;
|
|
2745
|
+
}
|
|
2746
|
+
connections() {
|
|
2747
|
+
return this.http.get("social-posts/connections");
|
|
2748
|
+
}
|
|
2749
|
+
list(params) {
|
|
2750
|
+
const query = new URLSearchParams();
|
|
2751
|
+
if (params?.status) query.set("status", params.status);
|
|
2752
|
+
if (params?.platform) query.set("platform", params.platform);
|
|
2753
|
+
const qs = query.toString();
|
|
2754
|
+
return this.http.get(`social-posts${qs ? "?" + qs : ""}`);
|
|
2755
|
+
}
|
|
2756
|
+
create(payload) {
|
|
2757
|
+
return this.http.post("social-posts", payload);
|
|
2758
|
+
}
|
|
2759
|
+
update(id, payload) {
|
|
2760
|
+
return this.http.patch(`social-posts/${id}`, payload);
|
|
2761
|
+
}
|
|
2762
|
+
schedule(id, scheduledAt) {
|
|
2763
|
+
return this.http.post(`social-posts/${id}/schedule`, scheduledAt ? { scheduledAt } : {});
|
|
2764
|
+
}
|
|
2765
|
+
cancel(id) {
|
|
2766
|
+
return this.http.post(`social-posts/${id}/cancel`, {});
|
|
2767
|
+
}
|
|
2768
|
+
retry(id) {
|
|
2769
|
+
return this.http.post(`social-posts/${id}/retry`, {});
|
|
2770
|
+
}
|
|
2771
|
+
delete(id) {
|
|
2772
|
+
return this.http.delete(`social-posts/${id}`);
|
|
2773
|
+
}
|
|
2774
|
+
};
|
|
2775
|
+
//#endregion
|
|
2677
2776
|
//#region src/resources/upgrades.ts
|
|
2678
2777
|
var UpgradesResource = class {
|
|
2679
2778
|
constructor(http) {
|
|
@@ -3209,6 +3308,7 @@ var JoAiClient = class {
|
|
|
3209
3308
|
this.automations = new AutomationsResource(this.http);
|
|
3210
3309
|
this.segments = new SegmentsResource(this.http);
|
|
3211
3310
|
this.updates = new UpdatesResource(this.http);
|
|
3311
|
+
this.socialPosts = new SocialPostsResource(this.http);
|
|
3212
3312
|
this.upgrades = new UpgradesResource(this.http);
|
|
3213
3313
|
this.users = new UsersResource(this.http);
|
|
3214
3314
|
this.voice = new VoiceResource(this.http);
|
|
@@ -3322,4 +3422,4 @@ var DistributionResource = class {
|
|
|
3322
3422
|
}
|
|
3323
3423
|
};
|
|
3324
3424
|
//#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 };
|
|
3425
|
+
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": "7.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.15.0",
|
|
39
39
|
"@joai/warps": "*"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@joai/core": "^4.
|
|
42
|
+
"@joai/core": "^4.15.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"tsdown": "^0.21.0",
|