@stackable-labs/sdk-extension-contracts 2.15.1 → 2.16.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.ts +22 -1
- package/dist/index.js +4 -3
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -659,10 +659,31 @@ interface InstanceConfig {
|
|
|
659
659
|
identityKey?: string;
|
|
660
660
|
} & Record<string, unknown>;
|
|
661
661
|
}
|
|
662
|
+
/**
|
|
663
|
+
* ExtensionGroup — an ordered slice of an Instance's authorized extensions with shared collapse behavior.
|
|
664
|
+
*
|
|
665
|
+
* Renders to end users as either an always-open stack (collapsible=false) or one of two
|
|
666
|
+
* collapsible modes controlled by `oneAtATime`:
|
|
667
|
+
* - oneAtATime=true → accordion: one row open at a time, at least one must stay open
|
|
668
|
+
* - oneAtATime=false → free-form: any combination open/closed, user can collapse all
|
|
669
|
+
* Max 4 groups per instance. Single-extension instances do NOT use groups — they render
|
|
670
|
+
* always-open via the hard-rule fallback.
|
|
671
|
+
*
|
|
672
|
+
* Immutability rule: once a group is persisted with a given `id`, that id is stable across all
|
|
673
|
+
* subsequent updates. Renderer + admin UI key off `id` for collapse-state tracking.
|
|
674
|
+
*/
|
|
675
|
+
interface ExtensionGroup {
|
|
676
|
+
id: string;
|
|
677
|
+
label?: string;
|
|
678
|
+
collapsible: boolean;
|
|
679
|
+
oneAtATime: boolean;
|
|
680
|
+
extensionIds: string[];
|
|
681
|
+
}
|
|
662
682
|
interface InstanceOption {
|
|
663
683
|
id: string;
|
|
664
684
|
name: string;
|
|
665
685
|
config?: InstanceConfig;
|
|
686
|
+
extensionGroups?: ExtensionGroup[];
|
|
666
687
|
}
|
|
667
688
|
|
|
668
689
|
/**
|
|
@@ -1087,4 +1108,4 @@ interface Order {
|
|
|
1087
1108
|
declare const TEMPLATE_FLAVORS: readonly ["minimal", "starter", "kitchen-sink"];
|
|
1088
1109
|
type TemplateFlavor = typeof TEMPLATE_FLAVORS[number];
|
|
1089
1110
|
|
|
1090
|
-
export { ACTIVITY_EVENT, ALLOWED_ICONS, type ActionInvokePayload, type ActionPayloadMap, type ActivityEvent, type ActivityEventHandler, type ActivityEventType, type Address, type AllowedIconName, type ApiError, type ApiRequest, type ApiResponse, CAPABILITY_PERMISSION_MAP, type Capability, type CapabilityCall, type CapabilityRequest, type CapabilityResponse, type CapabilityType, type ContextData, type ConversationField, type ConversationTags, type Customer, type DataField, type DataFieldType, EVENT_HOOK_PERMISSION_MAP, type EncryptedPayload, type EventDomain, type EventHook, type EventType, type ExtendIdentityHandler, type ExtendIdentityRequest, type ExtendIdentityResponse, type ExtensionManifest, type ExtensionRegistryEntry, type FetchRequest, type FetchRequestInit, type FetchResponse, type HostToSandboxMessage, IDENTITY_EVENT, INVOKE_ACTION, type IdentityBaseClaims, type IdentityEvent, type IdentityEventType, type IdentityState, type InstanceConfig, type InstanceOption, type InvokeAction, type MarketplaceExtension, type MessagingContext, type MessagingEvent, type MessagingEventHandler, type MessagingEventType, type MessagingPostbackEvent, type MessengerCommand, type NamedEntity, type NewConversationPayload, type Order, type OrderAction, type OrderItem, type OrderStatus, type OrderStatuses, PERMISSIONS, type Permission, type Price, RESERVED_CONTEXT_KEYS, type ReservedContextKey, SURFACE_TARGET, type SandboxToHostMessage, type Shipment, type SurfaceContext, type SurfaceLifecycleMessage, type SurfaceTarget, TEMPLATE_FLAVORS, type Target, type TemplateFlavor, type Theme, type ToastPayload, type UITag, type UITagCategory, UI_TAGS, UI_TAG_ATTRIBUTES, UI_TAG_ATTRIBUTE_VALUES, UI_TAG_CATEGORIES, UI_TAG_CHILDREN, UI_TAG_CHILD_ONLY, UI_TAG_COMPOUND, UI_TAG_DEFINITIONS, UI_TAG_SELF_CLOSING, type UserIdentity, type WellKnownActivityEvent, type WidgetAction, tagToComponentName };
|
|
1111
|
+
export { ACTIVITY_EVENT, ALLOWED_ICONS, type ActionInvokePayload, type ActionPayloadMap, type ActivityEvent, type ActivityEventHandler, type ActivityEventType, type Address, type AllowedIconName, type ApiError, type ApiRequest, type ApiResponse, CAPABILITY_PERMISSION_MAP, type Capability, type CapabilityCall, type CapabilityRequest, type CapabilityResponse, type CapabilityType, type ContextData, type ConversationField, type ConversationTags, type Customer, type DataField, type DataFieldType, EVENT_HOOK_PERMISSION_MAP, type EncryptedPayload, type EventDomain, type EventHook, type EventType, type ExtendIdentityHandler, type ExtendIdentityRequest, type ExtendIdentityResponse, type ExtensionGroup, type ExtensionManifest, type ExtensionRegistryEntry, type FetchRequest, type FetchRequestInit, type FetchResponse, type HostToSandboxMessage, IDENTITY_EVENT, INVOKE_ACTION, type IdentityBaseClaims, type IdentityEvent, type IdentityEventType, type IdentityState, type InstanceConfig, type InstanceOption, type InvokeAction, type MarketplaceExtension, type MessagingContext, type MessagingEvent, type MessagingEventHandler, type MessagingEventType, type MessagingPostbackEvent, type MessengerCommand, type NamedEntity, type NewConversationPayload, type Order, type OrderAction, type OrderItem, type OrderStatus, type OrderStatuses, PERMISSIONS, type Permission, type Price, RESERVED_CONTEXT_KEYS, type ReservedContextKey, SURFACE_TARGET, type SandboxToHostMessage, type Shipment, type SurfaceContext, type SurfaceLifecycleMessage, type SurfaceTarget, TEMPLATE_FLAVORS, type Target, type TemplateFlavor, type Theme, type ToastPayload, type UITag, type UITagCategory, UI_TAGS, UI_TAG_ATTRIBUTES, UI_TAG_ATTRIBUTE_VALUES, UI_TAG_CATEGORIES, UI_TAG_CHILDREN, UI_TAG_CHILD_ONLY, UI_TAG_COMPOUND, UI_TAG_DEFINITIONS, UI_TAG_SELF_CLOSING, type UserIdentity, type WellKnownActivityEvent, type WidgetAction, tagToComponentName };
|
package/dist/index.js
CHANGED
|
@@ -6,10 +6,11 @@ var asClerkOrgId = (value) => value;
|
|
|
6
6
|
// ../../../lib/contracts/src/marketplace.ts
|
|
7
7
|
var EXTENSION_CATEGORY = {
|
|
8
8
|
COMMERCE: "commerce",
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
LOYALTY: "loyalty",
|
|
10
|
+
CRM: "crm",
|
|
11
11
|
PRODUCTIVITY: "productivity",
|
|
12
|
-
|
|
12
|
+
MARKETING: "marketing",
|
|
13
|
+
EMPLOYEE: "employee",
|
|
13
14
|
OTHER: "other"
|
|
14
15
|
};
|
|
15
16
|
var EXTENSION_VISIBILITY = {
|