@agent-native/toolkit 0.198.3 → 0.198.5

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.
Files changed (157) hide show
  1. package/dist/app/agentkit/react/components.d.ts +8 -3
  2. package/dist/app/agentkit/react/components.d.ts.map +1 -1
  3. package/dist/app/agentkit/react/components.js +24 -10
  4. package/dist/app/agentkit/react/components.js.map +1 -1
  5. package/dist/app/chat/AgentKitAssistantChat.d.ts.map +1 -1
  6. package/dist/app/chat/AgentKitAssistantChat.js +65 -33
  7. package/dist/app/chat/AgentKitAssistantChat.js.map +1 -1
  8. package/dist/app/chat/AgentSidebar.d.ts.map +1 -1
  9. package/dist/app/chat/AgentSidebar.js +2 -0
  10. package/dist/app/chat/AgentSidebar.js.map +1 -1
  11. package/dist/app/chat/FileStorageSetupPopover.js +2 -2
  12. package/dist/app/chat/FileStorageSetupPopover.js.map +1 -1
  13. package/dist/app/chat/MultiTabAssistantChat.js +1 -1
  14. package/dist/app/chat/agentkit-chat/connections.d.ts +1 -4
  15. package/dist/app/chat/agentkit-chat/connections.d.ts.map +1 -1
  16. package/dist/app/chat/agentkit-chat/connections.js +1 -26
  17. package/dist/app/chat/agentkit-chat/connections.js.map +1 -1
  18. package/dist/app/chat/agentkit-chat/history.d.ts +4 -1
  19. package/dist/app/chat/agentkit-chat/history.d.ts.map +1 -1
  20. package/dist/app/chat/agentkit-chat/history.js +17 -5
  21. package/dist/app/chat/agentkit-chat/history.js.map +1 -1
  22. package/dist/app/chat/chat/history-types.d.ts +1 -1
  23. package/dist/app/chat/chat/history-types.d.ts.map +1 -1
  24. package/dist/app/chat/chat-first/copy.d.ts +1 -2
  25. package/dist/app/chat/chat-first/copy.d.ts.map +1 -1
  26. package/dist/app/chat/chat-first/copy.js +1 -121
  27. package/dist/app/chat/chat-first/copy.js.map +1 -1
  28. package/dist/app/chat/chat-first-copy.d.ts +3 -0
  29. package/dist/app/chat/chat-first-copy.d.ts.map +1 -0
  30. package/dist/app/chat/chat-first-copy.js +122 -0
  31. package/dist/app/chat/chat-first-copy.js.map +1 -0
  32. package/dist/app/feature-flags/FeatureFlagsPanel.d.ts.map +1 -1
  33. package/dist/app/feature-flags/FeatureFlagsPanel.js +1 -0
  34. package/dist/app/feature-flags/FeatureFlagsPanel.js.map +1 -1
  35. package/dist/app/i18n/catalogs/ar-SA.d.ts.map +1 -1
  36. package/dist/app/i18n/catalogs/ar-SA.js +2 -1
  37. package/dist/app/i18n/catalogs/ar-SA.js.map +1 -1
  38. package/dist/app/i18n/catalogs/de-DE.d.ts.map +1 -1
  39. package/dist/app/i18n/catalogs/de-DE.js +2 -1
  40. package/dist/app/i18n/catalogs/de-DE.js.map +1 -1
  41. package/dist/app/i18n/catalogs/en-US.d.ts +2 -1
  42. package/dist/app/i18n/catalogs/en-US.d.ts.map +1 -1
  43. package/dist/app/i18n/catalogs/en-US.js +2 -1
  44. package/dist/app/i18n/catalogs/en-US.js.map +1 -1
  45. package/dist/app/i18n/catalogs/es-ES.d.ts.map +1 -1
  46. package/dist/app/i18n/catalogs/es-ES.js +2 -1
  47. package/dist/app/i18n/catalogs/es-ES.js.map +1 -1
  48. package/dist/app/i18n/catalogs/fr-FR.d.ts.map +1 -1
  49. package/dist/app/i18n/catalogs/fr-FR.js +2 -1
  50. package/dist/app/i18n/catalogs/fr-FR.js.map +1 -1
  51. package/dist/app/i18n/catalogs/hi-IN.d.ts.map +1 -1
  52. package/dist/app/i18n/catalogs/hi-IN.js +2 -1
  53. package/dist/app/i18n/catalogs/hi-IN.js.map +1 -1
  54. package/dist/app/i18n/catalogs/ja-JP.d.ts.map +1 -1
  55. package/dist/app/i18n/catalogs/ja-JP.js +2 -1
  56. package/dist/app/i18n/catalogs/ja-JP.js.map +1 -1
  57. package/dist/app/i18n/catalogs/ko-KR.d.ts.map +1 -1
  58. package/dist/app/i18n/catalogs/ko-KR.js +2 -1
  59. package/dist/app/i18n/catalogs/ko-KR.js.map +1 -1
  60. package/dist/app/i18n/catalogs/pt-BR.d.ts.map +1 -1
  61. package/dist/app/i18n/catalogs/pt-BR.js +2 -1
  62. package/dist/app/i18n/catalogs/pt-BR.js.map +1 -1
  63. package/dist/app/i18n/catalogs/zh-CN.d.ts.map +1 -1
  64. package/dist/app/i18n/catalogs/zh-CN.js +2 -1
  65. package/dist/app/i18n/catalogs/zh-CN.js.map +1 -1
  66. package/dist/app/i18n/catalogs/zh-TW.d.ts.map +1 -1
  67. package/dist/app/i18n/catalogs/zh-TW.js +2 -1
  68. package/dist/app/i18n/catalogs/zh-TW.js.map +1 -1
  69. package/dist/app/labs/LabsSettings.d.ts.map +1 -1
  70. package/dist/app/labs/LabsSettings.js +7 -3
  71. package/dist/app/labs/LabsSettings.js.map +1 -1
  72. package/dist/app/org/OrgGeneralSection.d.ts.map +1 -1
  73. package/dist/app/org/OrgGeneralSection.js +21 -18
  74. package/dist/app/org/OrgGeneralSection.js.map +1 -1
  75. package/dist/app/org/OrgSwitcher.d.ts.map +1 -1
  76. package/dist/app/org/OrgSwitcher.js +3 -2
  77. package/dist/app/org/OrgSwitcher.js.map +1 -1
  78. package/dist/app/org/workspace-app-links.d.ts +1 -0
  79. package/dist/app/org/workspace-app-links.d.ts.map +1 -1
  80. package/dist/app/org/workspace-app-links.js +3 -0
  81. package/dist/app/org/workspace-app-links.js.map +1 -1
  82. package/dist/app/resources/McpAgentKitConnectionRequest.d.ts +7 -2
  83. package/dist/app/resources/McpAgentKitConnectionRequest.d.ts.map +1 -1
  84. package/dist/app/resources/McpAgentKitConnectionRequest.js +132 -13
  85. package/dist/app/resources/McpAgentKitConnectionRequest.js.map +1 -1
  86. package/dist/composer/PromptComposer.d.ts +3 -0
  87. package/dist/composer/PromptComposer.d.ts.map +1 -1
  88. package/dist/composer/PromptComposer.js +2 -2
  89. package/dist/composer/PromptComposer.js.map +1 -1
  90. package/dist/composer/TiptapComposer.d.ts +4 -1
  91. package/dist/composer/TiptapComposer.d.ts.map +1 -1
  92. package/dist/composer/TiptapComposer.js +8 -4
  93. package/dist/composer/TiptapComposer.js.map +1 -1
  94. package/dist/icons/ResourceIconPicker.d.ts +6 -1
  95. package/dist/icons/ResourceIconPicker.d.ts.map +1 -1
  96. package/dist/icons/ResourceIconPicker.js +45 -6
  97. package/dist/icons/ResourceIconPicker.js.map +1 -1
  98. package/package.json +6 -4
  99. package/src/app/agentkit/react/components.interaction.spec.tsx +93 -0
  100. package/src/app/agentkit/react/components.spec.tsx +4 -5
  101. package/src/app/agentkit/react/components.tsx +51 -8
  102. package/src/app/agentkit/react/composer-context.spec.tsx +7 -0
  103. package/src/app/agentkit/react/lifecycle.spec.tsx +42 -0
  104. package/src/app/chat/AgentKitAssistantChat.spec.tsx +151 -11
  105. package/src/app/chat/AgentKitAssistantChat.tsx +110 -28
  106. package/src/app/chat/AgentPanel.header.spec.ts +59 -22
  107. package/src/app/chat/AgentSidebar.tsx +2 -0
  108. package/src/app/chat/FileStorageSetupPopover.tsx +2 -2
  109. package/src/app/chat/MultiTabAssistantChat.messageCount.spec.tsx +3 -1
  110. package/src/app/chat/MultiTabAssistantChat.spec.tsx +8 -4
  111. package/src/app/chat/MultiTabAssistantChat.tsx +1 -1
  112. package/src/app/chat/agentkit-chat/action-widget.spec.tsx +5 -17
  113. package/src/app/chat/agentkit-chat/connections.spec.tsx +137 -0
  114. package/src/app/chat/agentkit-chat/connections.ts +2 -37
  115. package/src/app/chat/agentkit-chat/history.tsx +23 -8
  116. package/src/app/chat/chat/history-types.ts +1 -1
  117. package/src/app/chat/chat/tool-call-display.spec.tsx +2 -2
  118. package/src/app/chat/chat/widgets/record-change-widget.spec.tsx +20 -29
  119. package/src/app/chat/chat-first/copy.ts +1 -133
  120. package/src/app/chat/chat-first-copy.ts +133 -0
  121. package/src/app/chat/composer/use-agentkit-capabilities.hardening.spec.tsx +3 -2
  122. package/src/app/feature-flags/FeatureFlagsPanel.tsx +1 -0
  123. package/src/app/i18n/catalogs/ar-SA.ts +2 -1
  124. package/src/app/i18n/catalogs/de-DE.ts +3 -1
  125. package/src/app/i18n/catalogs/en-US.ts +2 -1
  126. package/src/app/i18n/catalogs/es-ES.ts +2 -1
  127. package/src/app/i18n/catalogs/fr-FR.ts +3 -1
  128. package/src/app/i18n/catalogs/hi-IN.ts +2 -1
  129. package/src/app/i18n/catalogs/ja-JP.ts +2 -1
  130. package/src/app/i18n/catalogs/ko-KR.ts +2 -1
  131. package/src/app/i18n/catalogs/pt-BR.ts +3 -1
  132. package/src/app/i18n/catalogs/zh-CN.ts +2 -1
  133. package/src/app/i18n/catalogs/zh-TW.ts +2 -1
  134. package/src/app/integrations/IntegrationDetailPage.spec.tsx +1 -1
  135. package/src/app/labs/LabsSettings.tsx +46 -10
  136. package/src/app/observability/ThumbsFeedback.spec.tsx +15 -0
  137. package/src/app/onboarding/FirstRunOnboarding.spec.tsx +4 -0
  138. package/src/app/org/OrgGeneralSection.tsx +32 -22
  139. package/src/app/org/OrgSwitcher.tsx +3 -2
  140. package/src/app/org/workspace-app-links.spec.ts +4 -0
  141. package/src/app/org/workspace-app-links.ts +8 -1
  142. package/src/app/resources/McpAgentKitConnectionRequest.spec.tsx +371 -2
  143. package/src/app/resources/McpAgentKitConnectionRequest.tsx +171 -11
  144. package/src/app/settings/SettingsTabsPage.spec.tsx +4 -2
  145. package/src/app/settings/shell/SettingsShell.spec.tsx +14 -8
  146. package/src/app/settings/shell/pages/app-group-pages.spec.tsx +35 -5
  147. package/src/app/settings/shell/pages/resource-pages.spec.tsx +3 -0
  148. package/src/app/settings/usage/UsagePage.spec.tsx +3 -3
  149. package/src/app/shared/lazy-chunk-error-boundary.spec.tsx +2 -0
  150. package/src/app-shell/sidebar-overflow.spec.tsx +4 -1
  151. package/src/composer/PromptComposer.tsx +7 -0
  152. package/src/composer/TiptapComposer.spec.ts +26 -4
  153. package/src/composer/TiptapComposer.tsx +12 -3
  154. package/src/design-tweaks/visual-style-controls.spec.tsx +38 -0
  155. package/src/editor/useCollabReconcile.concurrent.spec.ts +2 -1
  156. package/src/icons/ResourceIconPicker.spec.tsx +270 -0
  157. package/src/icons/ResourceIconPicker.tsx +72 -4
@@ -18,7 +18,9 @@ export interface ResourceIconPickerLabels {
18
18
  saveError?: string;
19
19
  retry?: string;
20
20
  uploadHint?: string;
21
+ uploadFailed?: string;
21
22
  uploadTooLarge?: string;
23
+ uploadUnsupportedType?: string;
22
24
  allCategories?: string;
23
25
  colorNames?: Partial<Record<ResourceIconColor, string>>;
24
26
  categoryNames?: Record<string, string>;
@@ -31,8 +33,11 @@ export interface ResourceIconPickerProps {
31
33
  recentValues?: readonly ResourceIconValue[];
32
34
  onRecentsChange?: (recents: ResourceIconValue[]) => void;
33
35
  uploadedImages?: readonly ResourceIconImage[];
36
+ uploadedImagesError?: boolean;
37
+ onUploadedImagesRetry?: () => void;
34
38
  onUpload?: (file: File) => Promise<ResourceIconImage>;
35
39
  onUploadError?: (error: unknown) => void;
40
+ formatUploadError?: (error: unknown) => string;
36
41
  resolveImageUrl?: (image: Extract<ResourceIconValue, {
37
42
  kind: "image";
38
43
  }>) => string | undefined;
@@ -48,5 +53,5 @@ export interface ResourceIconPickerProps {
48
53
  children?: React.ReactNode;
49
54
  }
50
55
  export declare function persistedIconValue(value: ResourceIconValue): ResourceIconValue;
51
- export declare function ResourceIconPicker({ value, onValueChange, labels, recentValues, onRecentsChange, uploadedImages, onUpload, onUploadError, resolveImageUrl, disabled, className, contentClassName, portalled, container, open: controlledOpen, onOpenChange, anchored, anchorElement, children, }: ResourceIconPickerProps): React.JSX.Element;
56
+ export declare function ResourceIconPicker({ value, onValueChange, labels, recentValues, onRecentsChange, uploadedImages, uploadedImagesError, onUploadedImagesRetry, onUpload, onUploadError, formatUploadError, resolveImageUrl, disabled, className, contentClassName, portalled, container, open: controlledOpen, onOpenChange, anchored, anchorElement, children, }: ResourceIconPickerProps): React.JSX.Element;
52
57
  //# sourceMappingURL=ResourceIconPicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceIconPicker.d.ts","sourceRoot":"","sources":["../../src/icons/ResourceIconPicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResourceIconPicker.d.ts","sourceRoot":"","sources":["../../src/icons/ResourceIconPicker.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAGL,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAiB1B,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA4CpB,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,EAAE,wBAAwB,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC5C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACzD,cAAc,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC9C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IAC/C,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,OAAO,CAAC,iBAAiB,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,KACjD,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,GACvB,iBAAiB,CASnB;AA6MD,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,aAAa,EACb,MAAM,EACN,YAAY,EACZ,eAAe,EACf,cAAmB,EACnB,mBAA2B,EAC3B,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,EAAE,uBAAuB,qBAsgBzB"}
@@ -28,6 +28,34 @@ const colors = [
28
28
  const columns = 7;
29
29
  const rowHeight = 36;
30
30
  const MAX_ICON_UPLOAD_BYTES = 5 * 1024 * 1024;
31
+ const ICON_UPLOAD_MIME_TYPES = new Set([
32
+ "image/png",
33
+ "image/jpeg",
34
+ "image/webp",
35
+ "image/svg+xml",
36
+ ]);
37
+ const ICON_UPLOAD_EXTENSION_TYPES = {
38
+ png: "image/png",
39
+ jpg: "image/jpeg",
40
+ jpeg: "image/jpeg",
41
+ webp: "image/webp",
42
+ svg: "image/svg+xml",
43
+ };
44
+ function supportedIconUpload(file) {
45
+ const mimeType = file.type.split(";")[0]?.trim().toLowerCase() ?? "";
46
+ if (ICON_UPLOAD_MIME_TYPES.has(mimeType))
47
+ return file;
48
+ if (mimeType && mimeType !== "application/octet-stream")
49
+ return null;
50
+ const extension = file.name.split(".").pop()?.toLowerCase() ?? "";
51
+ const inferredType = ICON_UPLOAD_EXTENSION_TYPES[extension];
52
+ if (!inferredType)
53
+ return null;
54
+ return new File([file], file.name, {
55
+ type: inferredType,
56
+ lastModified: file.lastModified,
57
+ });
58
+ }
31
59
  export function persistedIconValue(value) {
32
60
  if (value.kind !== "image")
33
61
  return value;
@@ -127,7 +155,7 @@ function IconGrid({ items, sections, labels, recents, query, selectedKey, resolv
127
155
  }), className: cn("flex h-full w-full items-end gap-1 rounded px-1 pb-1 text-start text-xs font-medium text-muted-foreground hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring", row.depth > 0 && "ps-4"), children: [_jsx(IconChevronRight, { "aria-hidden": true, className: cn("size-3.5 shrink-0 transition-transform", !row.collapsed && "rotate-90") }), row.label] })) : (_jsx("div", { className: "grid h-full grid-cols-7 gap-1", children: row.items.map((item) => (_jsx("button", { type: "button", title: item.label, "aria-label": item.label, "aria-pressed": selectedKey === JSON.stringify(item.value), onClick: () => onSelect(item.value), className: cn("flex h-9 min-w-0 items-center justify-center rounded-md hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring", selectedKey === JSON.stringify(item.value) &&
128
156
  "bg-accent ring-1 ring-inset ring-ring"), children: _jsx(ResourceIcon, { value: item.value, size: 20, resolveImageUrl: resolveImageUrl }) }, JSON.stringify(item.value)))) })) }, first + index))) })) }));
129
157
  }
130
- export function ResourceIconPicker({ value, onValueChange, labels, recentValues, onRecentsChange, uploadedImages = [], onUpload, onUploadError, resolveImageUrl, disabled, className, contentClassName, portalled, container, open: controlledOpen, onOpenChange, anchored, anchorElement, children, }) {
158
+ export function ResourceIconPicker({ value, onValueChange, labels, recentValues, onRecentsChange, uploadedImages = [], uploadedImagesError = false, onUploadedImagesRetry, onUpload, onUploadError, formatUploadError, resolveImageUrl, disabled, className, contentClassName, portalled, container, open: controlledOpen, onOpenChange, anchored, anchorElement, children, }) {
131
159
  const [localRecents, setLocalRecents] = React.useState([]);
132
160
  const [internalOpen, setInternalOpen] = React.useState(false);
133
161
  const open = controlledOpen ?? internalOpen;
@@ -256,14 +284,22 @@ export function ResourceIconPicker({ value, onValueChange, labels, recentValues,
256
284
  fileInput.current.value = "";
257
285
  return;
258
286
  }
287
+ const supportedFile = supportedIconUpload(file);
288
+ if (!supportedFile) {
289
+ setSaveFailed(false);
290
+ setUploadError(labels.uploadUnsupportedType ?? labels.saveError);
291
+ if (fileInput.current)
292
+ fileInput.current.value = "";
293
+ return;
294
+ }
259
295
  setUploading(true);
260
296
  setSaveFailed(false);
261
297
  setUploadError(undefined);
262
298
  try {
263
- await select(await onUpload(file));
299
+ await select(await onUpload(supportedFile));
264
300
  }
265
301
  catch (error) {
266
- setSaveFailed(true);
302
+ setUploadError(formatUploadError?.(error) || labels.uploadFailed || labels.saveError);
267
303
  onUploadError?.(error);
268
304
  }
269
305
  finally {
@@ -300,7 +336,10 @@ export function ResourceIconPicker({ value, onValueChange, labels, recentValues,
300
336
  }));
301
337
  const uploadChoices = [
302
338
  ...uploadedImages,
303
- ...effectiveRecents.filter((entry) => entry.kind === "image"),
339
+ ...effectiveRecents.filter((entry) => entry.kind === "image" &&
340
+ (entry.authority !== "private-icon" ||
341
+ uploadedImages.some((uploaded) => uploaded.authority === entry.authority &&
342
+ uploaded.assetId === entry.assetId))),
304
343
  ].filter((entry, index, all) => all.findIndex((other) => other.assetId === entry.assetId &&
305
344
  other.authority === entry.authority) === index);
306
345
  const showUploadTab = !!onUpload || uploadChoices.length > 0;
@@ -336,11 +375,11 @@ export function ResourceIconPicker({ value, onValueChange, labels, recentValues,
336
375
  const file = event.dataTransfer.files[0];
337
376
  if (file && !uploading)
338
377
  void upload(file);
339
- }, children: [_jsx(IconPhotoPlus, { className: "size-6 text-muted-foreground" }), _jsx("span", { children: uploading ? labels.uploading : labels.upload }), labels.uploadHint && (_jsx("span", { className: "text-xs text-muted-foreground", children: labels.uploadHint }))] })), _jsx("input", { ref: fileInput, type: "file", accept: "image/png,image/jpeg,image/webp,image/svg+xml", className: "hidden", disabled: uploading, onChange: (event) => {
378
+ }, children: [_jsx(IconPhotoPlus, { className: "size-6 text-muted-foreground" }), _jsx("span", { children: uploading ? labels.uploading : labels.upload }), labels.uploadHint && (_jsx("span", { className: "text-xs text-muted-foreground", children: labels.uploadHint }))] })), _jsx("input", { ref: fileInput, type: "file", accept: "image/png,image/jpeg,image/webp,image/svg+xml,.png,.jpg,.jpeg,.webp,.svg", className: "hidden", disabled: uploading, onChange: (event) => {
340
379
  const file = event.target.files?.[0];
341
380
  if (file)
342
381
  void upload(file);
343
- } }), uploadChoices.length > 0 && (_jsx("div", { className: "grid grid-cols-7 gap-1", children: uploadChoices.map((entry) => (_jsx("button", { type: "button", title: entry.alt, "aria-label": entry.alt ?? labels.upload, className: "flex size-9 items-center justify-center rounded-md hover:bg-accent", onClick: () => void select(entry), children: _jsx(ResourceIcon, { value: entry, size: 24, resolveImageUrl: resolveImageUrl }) }, `${entry.authority}:${entry.assetId}`))) }))] })) : loadFailed ? (_jsxs("div", { role: "alert", className: "grid h-64 content-center justify-items-center gap-3 px-4 text-sm", children: [_jsx("p", { children: labels.loadError }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => setRetry((current) => current + 1), children: labels.retry })] })) : loading ? (_jsx("div", { "aria-busy": "true", className: "grid h-64 grid-cols-7 content-start gap-2 p-3", children: Array.from({ length: 28 }, (_, index) => (_jsx("div", { className: "size-7 animate-pulse rounded-md bg-muted" }, index))) })) : (_jsx(IconGrid, { items: tab === "icons" ? coloredCatalog : emoji, sections: category === "all" || query
382
+ } }), uploadedImagesError && (_jsxs("div", { role: "alert", className: "flex items-center justify-between gap-2 text-sm text-destructive", children: [_jsx("span", { children: labels.loadError }), onUploadedImagesRetry && (_jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: onUploadedImagesRetry, children: labels.retry }))] })), uploadChoices.length > 0 && (_jsx("div", { className: "grid grid-cols-7 gap-1", children: uploadChoices.map((entry) => (_jsx("button", { type: "button", title: entry.alt, "aria-label": entry.alt ?? labels.upload, className: "flex size-9 items-center justify-center rounded-md hover:bg-accent", onClick: () => void select(entry), children: _jsx(ResourceIcon, { value: entry, size: 24, resolveImageUrl: resolveImageUrl }) }, `${entry.authority}:${entry.assetId}`))) }))] })) : loadFailed ? (_jsxs("div", { role: "alert", className: "grid h-64 content-center justify-items-center gap-3 px-4 text-sm", children: [_jsx("p", { children: labels.loadError }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => setRetry((current) => current + 1), children: labels.retry })] })) : loading ? (_jsx("div", { "aria-busy": "true", className: "grid h-64 grid-cols-7 content-start gap-2 p-3", children: Array.from({ length: 28 }, (_, index) => (_jsx("div", { className: "size-7 animate-pulse rounded-md bg-muted" }, index))) })) : (_jsx(IconGrid, { items: tab === "icons" ? coloredCatalog : emoji, sections: category === "all" || query
344
383
  ? sections
345
384
  : sections.filter((section) => section.id === category), labels: labels, recents: category === "all"
346
385
  ? effectiveRecents.filter((entry) => entry.kind === (tab === "icons" ? "library" : "emoji"))
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceIconPicker.js","sourceRoot":"","sources":["../../src/icons/ResourceIconPicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOxD,MAAM,MAAM,GAAyC;IACnD,SAAS;IACT,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;CACN,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAkD9C,MAAM,UAAU,kBAAkB,CAChC,KAAwB;IAExB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC;AAkBD,SAAS,WAAW,CAAC,KAAwB;IAC3C,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO;QAC3B,CAAC,CAAC,KAAK,CAAC,KAAK;QACb,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;YACxB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;YACjC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,QAAQ,CAAC,EAChB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,WAAW,EACX,eAAe,EACf,QAAQ,GAUT;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC9C,GAAG,EAAE,CACH,IAAI,GAAG,CACL,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5B,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;aACxB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC;aAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;KAC5B,CAAC,CACH,CACJ,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,CAAC,OAAqB,EAAE,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,OAAO;gBAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,CAAC,OAAuB,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;YACxD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3C,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO;YAC5B,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,KAAK;aACN,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAE,OAAO;YACtC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ;oBAAE,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACrE,CAAC;;gBAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,IAAI,UAAU;YACZ,OAAO,CACL,KAAK,CAAC,MAAM,CACV,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;gBAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBACpC,UAAU;qBACP,KAAK,CAAC,MAAM,CAAC;qBACb,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACjD,CACF,CAAC;aACC,CAAC;YACJ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,QAAQ;oBACZ,KAAK,EAAE,MAAM,CAAC,OAAO;oBACrB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAClC,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAC1B,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACxC,KAAK;wBACL,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;wBACzB,QAAQ,EAAE,QAAQ;wBAClB,MAAM,EAAE,EAAE;qBACX,CAAC,CAAC,CACJ,CAAC;YACN,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,QAAQ;gBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACvC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAC9D,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IAC/C,OAAO,CACL,cACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,8CAA8C,EACxD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,YAE/D,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,YACE,SAAS,EAAC,iDAAiD,EAC3D,IAAI,EAAC,QAAQ,YAEZ,MAAM,CAAC,SAAS,GACf,CACL,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,UAAU,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,YACjE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,cAEE,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,YAE7D,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAChB,kBACE,IAAI,EAAC,QAAQ,mBACE,CAAC,GAAG,CAAC,SAAS,EAC7B,OAAO,EAAE,GAAG,EAAE,CACZ,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE;wBACvB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;;4BACrC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACtB,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,EAEJ,SAAS,EAAE,EAAE,CACX,4NAA4N,EAC5N,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CACxB,aAED,KAAC,gBAAgB,yBAEf,SAAS,EAAE,EAAE,CACX,wCAAwC,EACxC,CAAC,GAAG,CAAC,SAAS,IAAI,WAAW,CAC9B,GACD,EACD,GAAG,CAAC,KAAK,IACH,CACV,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,+BAA+B,YAC3C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACvB,iBAEE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,KAAK,gBACL,IAAI,CAAC,KAAK,kBACR,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EACxD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,EAAE,CACX,0KAA0K,EAC1K,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;4BACxC,uCAAuC,CAC1C,YAED,KAAC,YAAY,IACX,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,EAAE,EACR,eAAe,EAAE,eAAe,GAChC,IAhBG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAiBxB,CACV,CAAC,GACE,CACP,IAtDI,KAAK,GAAG,KAAK,CAuDd,CACP,CAAC,GACE,CACP,GACG,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EACjC,KAAK,EACL,aAAa,EACb,MAAM,EACN,YAAY,EACZ,eAAe,EACf,cAAc,GAAG,EAAE,EACnB,QAAQ,EACR,aAAa,EACb,eAAe,EACf,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,QAAQ,GACgB;IACxB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,EAAE,CACH,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,cAAc,IAAI,YAAY,CAAC;IAC5C,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;QACnC,IAAI,cAAc,KAAK,SAAS;YAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QACxD,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAe,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAe,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CACtC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CACpD,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAgB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,YAAY,IAAI,YAAY,CAAC;IACtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAChC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oCAAoC,CAAC;gBAC/D,IAAI,CACP,CAAC;YACF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACvB,eAAe,CACb,MAAM;qBACH,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK;oBACL,KAAK,CAAC,OAAO,KAAK,CAAC;oBACnB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CACrD;qBACA,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;qBACZ,GAAG,CAAC,kBAAkB,CAAC,CAC3B,CAAC;YACJ,+FAA+F;QACjG,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,MAAM,QAAQ,GAAG,sBAAsB,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;QACjE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,CAAC,YAAY,CAAC,OAAO,CACzB,oCAAoC,EACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACrB,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,+FAA+F;YACjG,CAAC;QACH,CAAC;QACD,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO;QACtC,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,OAAO,GACX,GAAG,KAAK,OAAO;YACb,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACnC,OAAO,CAAC,GAAG,CACT,CAAC,KAAK,EAAc,EAAE,CAAC,CAAC;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;gBACtC,KAAK,EAAE;oBACL,OAAO,EAAE,CAAC;oBACV,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAClC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACzB,CAAC,CAAC,KAAK,CAAC,IAAI;oBACd,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAChC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;wBACvB,CAAC,CAAC,EAAE,CAAC;iBACR;aACF,CAAC,CACH,CACF;YACH,CAAC,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,OAAO,CAAC,GAAG,CACT,CAAC,KAAK,EAAc,EAAE,CAAC,CAAC;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;aACzD,CAAC,CACH,CACF,CAAC;QACR,KAAK,OAAO;aACT,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,MAAM;gBAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxE,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,MAAM;gBAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,MAAM;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,KAAK,EAAE,IAA8B,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE;QACpE,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC;YACX,IAAI,SAAS;gBAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,KAAK;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;QAClC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,IAAI,CAAC,IAAI,GAAG,qBAAqB,EAAE,CAAC;YACtC,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,cAAc,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,SAAS,CAAC,OAAO;gBAAE,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,SAAS,CAAC,OAAO;gBAAE,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QACtD,CAAC;IACH,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CACH,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrB,GAAG,IAAI;QACP,KAAK,EACH,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;KACxE,CAAC,CAAC,EACL,CAAC,OAAO,EAAE,KAAK,CAAC,CACjB,CAAC;IACF,MAAM,QAAQ,GACZ,GAAG,KAAK,OAAO;QACb,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK;YACnD,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,kBAAkB,EAAE,QAAQ,KAAK,KAAK;YACtC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM;gBACrB,CAAC,CAAC;oBACE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;wBAClD,EAAE,EAAE,cAAc;wBAClB,KAAK,EACH,MAAM,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,IAAI,cAAc;wBAC1D,UAAU,EAAE,CAAC,cAAc,CAAC;wBAC5B,kBAAkB,EAAE,IAAI;qBACzB,CAAC,CAAC;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACL,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACxC,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,IAAI,cAAc;YAC/D,UAAU,EAAE,CAAC,cAAc,CAAC;SAC7B,CAAC,CAAC,CAAC;IACV,MAAM,aAAa,GAAG;QACpB,GAAG,cAAc;QACjB,GAAG,gBAAgB,CAAC,MAAM,CACxB,CAAC,KAAK,EAA8B,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAC9D;KACF,CAAC,MAAM,CACN,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CACpB,GAAG,CAAC,SAAS,CACX,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAC/B,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CACtC,KAAK,KAAK,CACd,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,aAAa,IAAI,GAAG,KAAK,QAAQ;YAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;IACzB,OAAO,CACL,MAAC,OAAO,IACN,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACb,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,cAAc,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,aAEA,QAAQ,CAAC,CAAC,CAAC,CACV,aAAa,CAAC,CAAC,CAAC,CACd,KAAC,aAAa,IAAC,UAAU,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,GAAI,CAC1D,CAAC,CAAC,CAAC,IAAI,CACT,CAAC,CAAC,CAAC,CACF,KAAC,cAAc,IAAC,OAAO,QAAC,QAAQ,EAAE,QAAQ,YACvC,QAAQ,IAAI,CACX,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,gBACC,MAAM,CAAC,OAAO,YAE1B,KAAC,YAAY,IACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAC,aAAa,KAAG,EAC3B,eAAe,EAAE,eAAe,GAChC,GACK,CACV,GACc,CAClB,EACD,MAAC,cAAc,IACb,KAAK,EAAC,OAAO,EACb,gBAAgB,EAAE,CAAC,EACnB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,EAAE,CACX,yGAAyG,EACzG,SAAS,EACT,gBAAgB,CACjB,aAED,MAAC,IAAI,IACH,KAAK,EAAE,GAAG,EACV,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;4BACtB,MAAM,CAAC,IAAI,CAAC,CAAC;4BACb,QAAQ,CAAC,EAAE,CAAC,CAAC;4BACb,WAAW,CAAC,KAAK,CAAC,CAAC;4BACnB,aAAa,CAAC,KAAK,CAAC,CAAC;4BACrB,cAAc,CAAC,SAAS,CAAC,CAAC;wBAC5B,CAAC,aAED,cAAK,SAAS,EAAC,KAAK,YAClB,MAAC,QAAQ,IACP,SAAS,EAAE,EAAE,CACX,aAAa,EACb,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAC9C,aAED,KAAC,WAAW,IAAC,KAAK,EAAC,OAAO,YAAE,MAAM,CAAC,QAAQ,GAAe,EAC1D,KAAC,WAAW,IAAC,KAAK,EAAC,OAAO,YAAE,MAAM,CAAC,QAAQ,GAAe,EACzD,aAAa,IAAI,CAChB,KAAC,WAAW,IAAC,KAAK,EAAC,QAAQ,YAAE,MAAM,CAAC,SAAS,GAAe,CAC7D,IACQ,GACP,EACL,GAAG,KAAK,QAAQ,IAAI,CACnB,eAAK,SAAS,EAAC,oBAAoB,aACjC,KAAC,UAAU,yBAET,SAAS,EAAC,yEAAyE,GACnF,EACF,KAAC,KAAK,IACJ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,gBACrC,MAAM,CAAC,MAAM,EACzB,WAAW,EAAE,MAAM,CAAC,MAAM,EAC1B,SAAS,EAAC,+BAA+B,GACzC,IACE,CACP,EACA,GAAG,KAAK,OAAO,IAAI,CAClB,cACE,SAAS,EAAC,6CAA6C,gBAC3C,MAAM,CAAC,MAAM,YAExB,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CACzB,iBAEE,IAAI,EAAC,QAAQ,EACb,KAAK,EACH,SAAS;wCACP,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;wCAC/C,CAAC,CAAC,MAAM,CAAC,YAAY,gBAGvB,SAAS;wCACP,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;wCAC/C,CAAC,CAAC,MAAM,CAAC,YAAY,kBAEX,KAAK,KAAK,SAAS,EACjC,OAAO,EAAE,GAAG,EAAE;wCACZ,QAAQ,CAAC,SAAS,CAAC,CAAC;wCACpB,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS;4CAC3B,KAAK,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;oCACvD,CAAC,EACD,SAAS,EAAE,EAAE,CACX,wLAAwL,EACxL,KAAK,KAAK,SAAS,IAAI,yBAAyB,CACjD,YAED,eACE,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE,SAAS;4CACP,CAAC,CAAC,wBAAwB,CAAC,SAAS,CAAC;4CACrC,CAAC,CAAC,iBAAiB,CACtB,YAEA,KAAK,KAAK,SAAS,IAAI,CACtB,KAAC,SAAS,IACR,SAAS,EAAC,wBAAwB,EAClC,MAAM,EAAE,CAAC,GACT,CACH,GACI,IArCF,SAAS,IAAI,SAAS,CAsCpB,CACV,CAAC,GACE,CACP,EACA,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAC7B,cAAK,SAAS,EAAC,WAAW,YACxB,MAAC,MAAM,IAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,aACjD,KAAC,aAAa,IACZ,SAAS,EAAC,6DAA6D,gBAC3D,MAAM,CAAC,aAAa,YAEhC,KAAC,WAAW,KAAG,GACD,EAChB,KAAC,aAAa,IAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAE,SAAS,YACrD,MAAC,WAAW,eACV,KAAC,UAAU,IAAC,KAAK,EAAC,KAAK,YAAE,MAAM,CAAC,aAAa,GAAc,EAC1D,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACzB,KAAC,UAAU,IAAkB,KAAK,EAAE,OAAO,CAAC,EAAE,YAC3C,OAAO,CAAC,KAAK,IADC,OAAO,CAAC,EAAE,CAEd,CACd,CAAC,IACU,GACA,IACT,GACL,CACP,EACA,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAClB,eAAK,SAAS,EAAC,qBAAqB,aACjC,QAAQ,IAAI,CACX,kBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAC,2NAA2N,EACrO,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,EACzC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAC7C,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;4CAChB,KAAK,CAAC,cAAc,EAAE,CAAC;4CACvB,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4CACzC,IAAI,IAAI,IAAI,CAAC,SAAS;gDAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;wCAC5C,CAAC,aAED,KAAC,aAAa,IAAC,SAAS,EAAC,8BAA8B,GAAG,EAC1D,yBAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAQ,EAC1D,MAAM,CAAC,UAAU,IAAI,CACpB,eAAM,SAAS,EAAC,+BAA+B,YAC5C,MAAM,CAAC,UAAU,GACb,CACR,IACM,CACV,EACD,gBACE,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,+CAA+C,EACtD,SAAS,EAAC,QAAQ,EAClB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4CAClB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;4CACrC,IAAI,IAAI;gDAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;wCAC9B,CAAC,GACD,EACD,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,cAAK,SAAS,EAAC,wBAAwB,YACpC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC5B,iBAEE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAK,CAAC,GAAG,gBACJ,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EACtC,SAAS,EAAC,oEAAoE,EAC9E,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,YAEjC,KAAC,YAAY,IACX,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,EAAE,EACR,eAAe,EAAE,eAAe,GAChC,IAXG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAYnC,CACV,CAAC,GACE,CACP,IACG,CACP,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,eACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,kEAAkE,aAE5E,sBAAI,MAAM,CAAC,SAAS,GAAK,EACzB,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,YAEhD,MAAM,CAAC,KAAK,GACN,IACL,CACP,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACZ,2BACY,MAAM,EAChB,SAAS,EAAC,+CAA+C,YAExD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,cAEE,SAAS,EAAC,0CAA0C,IAD/C,KAAK,CAEV,CACH,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAEP,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAC/C,QAAQ,EACN,QAAQ,KAAK,KAAK,IAAI,KAAK;oCACzB,CAAC,CAAC,QAAQ;oCACV,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,EAE3D,MAAM,EAAE,MAAM,EACd,OAAO,EACL,QAAQ,KAAK,KAAK;oCAChB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CACrB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CACzD;oCACH,CAAC,CAAC,EAAE,EAER,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAC/C,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAnBhC,GAAG,GAAG,IAAI,QAAQ,EAAE,CAoBzB,CACH,IACI,EACN,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,CAC9B,YAAG,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,oCAAoC,YAC3D,WAAW,IAAI,MAAM,CAAC,SAAS,GAC9B,CACL,EACA,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,cAAc,YAC3B,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,0CAA0C,EACpD,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,YAE/B,MAAM,CAAC,MAAM,GACP,GACL,CACP,IACc,IACT,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ResourceIconPicker.js","sourceRoot":"","sources":["../../src/icons/ResourceIconPicker.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/toolkit",
3
- "version": "0.198.3",
3
+ "version": "0.198.5",
4
4
  "description": "Reusable app-building UI and helpers for Agent-Native apps.",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -665,7 +665,7 @@
665
665
  "y-protocols": "^1.0.7",
666
666
  "yjs": "^13.6.33",
667
667
  "zod": "^4.3.6",
668
- "@agent-native/agentkit": "^0.198.3"
668
+ "@agent-native/agentkit": "^0.198.5"
669
669
  },
670
670
  "devDependencies": {
671
671
  "@excalidraw/excalidraw": "0.18.1",
@@ -678,13 +678,15 @@
678
678
  "@xterm/addon-fit": "^0.11.0",
679
679
  "@xterm/addon-web-links": "^0.12.0",
680
680
  "@xterm/xterm": "^6.0.0",
681
+ "i18next": "26.3.1",
681
682
  "mermaid": "11.15.0",
682
683
  "playwright": "1.63.0",
683
- "react-router": "^8.1.0",
684
+ "react-i18next": "17.0.8",
685
+ "react-router": "8.1.0",
684
686
  "typescript-7": "npm:typescript@^7.0.2",
685
687
  "vite": "8.1.0",
686
688
  "vitest": "^4.1.5",
687
- "@agent-native/core": "^0.198.3"
689
+ "@agent-native/core": "^0.198.5"
688
690
  },
689
691
  "peerDependencies": {
690
692
  "@agent-native/core": ">=0.196.0",
@@ -95,6 +95,97 @@ describe("AgentKitChat interactions", () => {
95
95
  }
96
96
  });
97
97
 
98
+ it("announces async preflight when the transcript slot is custom", async () => {
99
+ const preflight = Promise.withResolvers<boolean>();
100
+ const client = new AgentKitClient({
101
+ transport: {
102
+ async startRun() {
103
+ return { runId: "run-preflight" };
104
+ },
105
+ async *subscribeToRun() {},
106
+ async cancelRun() {},
107
+ },
108
+ });
109
+ const composerRef = createRef<TiptapComposerHandle>();
110
+ const container = document.createElement("div");
111
+ document.body.appendChild(container);
112
+ const root = createRoot(container);
113
+ const actEnvironment = globalThis as typeof globalThis & {
114
+ IS_REACT_ACT_ENVIRONMENT?: boolean;
115
+ };
116
+ const previousActEnvironment = actEnvironment.IS_REACT_ACT_ENVIRONMENT;
117
+ actEnvironment.IS_REACT_ACT_ENVIRONMENT = true;
118
+
119
+ try {
120
+ await act(async () => {
121
+ root.render(
122
+ <AgentKitProvider
123
+ controller={client}
124
+ threadId="thread-preflight"
125
+ slots={{
126
+ transcript: ({ children }) =>
127
+ createElement(
128
+ "div",
129
+ { "data-custom-transcript": true },
130
+ children,
131
+ ),
132
+ }}
133
+ >
134
+ <AgentKitChat
135
+ composerProps={{
136
+ composerRef,
137
+ autoFocus: false,
138
+ modelStatusChecksEnabled: false,
139
+ onBeforeSubmit: () => preflight.promise,
140
+ voiceEnabled: false,
141
+ }}
142
+ />
143
+ </AgentKitProvider>,
144
+ );
145
+ });
146
+ await act(async () => composerRef.current!.setText("Check this message"));
147
+
148
+ const editor = container.querySelector<HTMLElement>(
149
+ '[contenteditable="true"]',
150
+ )!;
151
+ const send = container.querySelector<HTMLButtonElement>(
152
+ '[data-agent-composer-slot="send-button"]',
153
+ )!;
154
+ await act(async () => {
155
+ send.click();
156
+ await Promise.resolve();
157
+ });
158
+
159
+ expect(editor.textContent).toBe("");
160
+ expect(container.querySelector('[role="status"]')?.textContent).toBe(
161
+ "Thinking",
162
+ );
163
+ expect(send.disabled).toBe(true);
164
+ expect(send.getAttribute("aria-busy")).toBeNull();
165
+ expect(send.querySelector(".animate-spin")).toBeNull();
166
+
167
+ await act(async () => {
168
+ preflight.resolve(false);
169
+ await preflight.promise;
170
+ });
171
+
172
+ expect(editor.textContent).toBe("Check this message");
173
+ expect(send.disabled).toBe(false);
174
+ expect(container.querySelector('[role="status"]')).toBeNull();
175
+ } finally {
176
+ preflight.resolve(false);
177
+ await act(async () => root.unmount());
178
+ await client.shutdown();
179
+ container.remove();
180
+ localStorage.removeItem(getComposerDraftKey("agentkit:thread-preflight"));
181
+ if (previousActEnvironment === undefined) {
182
+ delete actEnvironment.IS_REACT_ACT_ENVIRONMENT;
183
+ } else {
184
+ actEnvironment.IS_REACT_ACT_ENVIRONMENT = previousActEnvironment;
185
+ }
186
+ }
187
+ });
188
+
98
189
  it.each(["default", "compact"] as const)(
99
190
  "clears the %s composer before startRun resolves and preserves the next draft",
100
191
  async (layoutVariant) => {
@@ -160,6 +251,8 @@ describe("AgentKitChat interactions", () => {
160
251
  ).toContain("First prompt");
161
252
  expect(client.getThread("thread-latency").activeRunIds).toEqual([]);
162
253
  expect(editor.textContent).toBe("");
254
+ expect(send.getAttribute("aria-busy")).toBeNull();
255
+ expect(send.querySelector(".animate-spin")).toBeNull();
163
256
 
164
257
  await act(async () => composerRef.current!.setText("Next draft"));
165
258
  await act(async () => started.resolve({ runId: "run-latency" }));
@@ -110,7 +110,7 @@ describe("AgentMessageActions layout", () => {
110
110
  const styles = readFileSync(
111
111
  new URL("./styles.css", import.meta.url),
112
112
  "utf8",
113
- );
113
+ ).replace(/\r\n/g, "\n");
114
114
  const rules = Array.from(styles.matchAll(/([^{}]+)\{([^{}]*)\}/g));
115
115
  const rule = (selector: string) =>
116
116
  rules.find((match) => match[1].trim() === selector)?.[2];
@@ -273,7 +273,7 @@ describe("AgentKitChat", () => {
273
273
  const styles = readFileSync(
274
274
  new URL("./styles.css", import.meta.url),
275
275
  "utf8",
276
- );
276
+ ).replace(/\r\n/g, "\n");
277
277
 
278
278
  expect(styles).toContain('[data-agent-composer-slot="root"]');
279
279
  expect(styles).toContain('[data-agent-message-queue="true"]');
@@ -434,7 +434,7 @@ describe("AgentKitChat", () => {
434
434
  const source = readFileSync(
435
435
  join(process.cwd(), "src/app/agentkit/react/components.tsx"),
436
436
  "utf8",
437
- );
437
+ ).replace(/\r\n/g, "\n");
438
438
  for (const prop of ["slashCommands", "slashSkills", "onSlashCommand"]) {
439
439
  expect(source).toContain(`${prop}={${prop}}`);
440
440
  }
@@ -476,8 +476,7 @@ describe("AgentKitChat", () => {
476
476
  expect(source).toContain(
477
477
  "const submissionBlocked = Boolean(submissionDisabled) || command.pending",
478
478
  );
479
- expect(source).toContain("submitting={command.pending}");
480
- expect(source).toContain("submissionDisabled={submissionBlocked}");
479
+ expect(source).not.toContain("submitting={command.pending}");
481
480
  expect(source).toContain("if (disabled)");
482
481
  expect(source).toContain(
483
482
  "willQueue={active && queueWhileRunning && canQueue}",
@@ -1726,15 +1726,29 @@ export function AgentApprovalPrompt({
1726
1726
  export function AgentConnectionRequestCard({
1727
1727
  request,
1728
1728
  runId,
1729
+ providerLabel,
1730
+ retry = false,
1731
+ onConnect,
1729
1732
  }: {
1730
1733
  request: AgentConnectionRequest;
1731
1734
  runId: string;
1735
+ providerLabel?: string;
1736
+ retry?: boolean;
1737
+ onConnect?: (
1738
+ request: AgentConnectionRequest,
1739
+ ) => boolean | void | Promise<boolean | void>;
1732
1740
  }) {
1733
1741
  const { labels, onConnectionRequest, requestComposerFocus, threadId } =
1734
1742
  useAgentKit();
1735
1743
  const control = useAgentKitControl();
1736
1744
  const resolution = useAgentKitMutation(
1737
1745
  async (decision: "connect" | "decline") => {
1746
+ if (decision === "connect" && onConnect) {
1747
+ if ((await onConnect(request)) === false) {
1748
+ throw new Error(labels.connectionFailed);
1749
+ }
1750
+ return;
1751
+ }
1738
1752
  const response =
1739
1753
  decision === "decline"
1740
1754
  ? { status: "declined" as const }
@@ -1762,7 +1776,7 @@ export function AgentConnectionRequestCard({
1762
1776
  ? labels.connectionFailed
1763
1777
  : request.reason === "admin_required"
1764
1778
  ? labels.connectionAdminRequired
1765
- : `${labels.connectionConnect} ${request.provider}`;
1779
+ : `${labels.connectionConnect} ${providerLabel ?? request.provider}`;
1766
1780
  return (
1767
1781
  <Surface
1768
1782
  as="section"
@@ -1793,16 +1807,20 @@ export function AgentConnectionRequestCard({
1793
1807
  className="agentkit-primary-button"
1794
1808
  intent="primary"
1795
1809
  size="compact"
1796
- disabled={resolution.pending || !onConnectionRequest}
1810
+ disabled={
1811
+ resolution.pending || (!onConnectionRequest && !onConnect)
1812
+ }
1797
1813
  pending={resolution.pending}
1798
1814
  onPress={() => resolve("connect")}
1799
1815
  >
1800
1816
  {resolution.pending
1801
1817
  ? labels.connectionConnecting
1802
- : labels.connectionConnect}
1818
+ : retry
1819
+ ? labels.connectionRetry
1820
+ : labels.connectionConnect}
1803
1821
  </ActionButton>
1804
1822
  </div>
1805
- ) : request.status === "failed" && onConnectionRequest ? (
1823
+ ) : request.status === "failed" && (onConnectionRequest || onConnect) ? (
1806
1824
  <div className="agentkit-connection-request-actions">
1807
1825
  <ActionButton
1808
1826
  emphasis="outline"
@@ -3036,6 +3054,7 @@ export interface AgentKitComposerProps extends Omit<
3036
3054
  | "extraActionButton"
3037
3055
  | "onSubmit"
3038
3056
  | "onBeforeSubmit"
3057
+ | "onSubmissionPendingChange"
3039
3058
  | "onAttachmentError"
3040
3059
  | "interceptBuildRequestsForBuilder"
3041
3060
  | "planModeDisabled"
@@ -3050,6 +3069,8 @@ export interface AgentKitComposerProps extends Omit<
3050
3069
  composerRef?: { current: TiptapComposerHandle | null };
3051
3070
  threadId?: string;
3052
3071
  className?: string;
3072
+ /** The host transcript renders its own accessible submission status. */
3073
+ announcePendingSubmission?: boolean;
3053
3074
  queueWhileRunning?: boolean;
3054
3075
  showModelSelector?: boolean;
3055
3076
  /** Controlled execution mode for agent-native act/plan workflows. */
@@ -3069,6 +3090,7 @@ function hasActiveRuns(thread: AgentThreadState): boolean {
3069
3090
  export function AgentKitComposer({
3070
3091
  threadId: requestedThreadId,
3071
3092
  className,
3093
+ announcePendingSubmission = true,
3072
3094
  queueWhileRunning = true,
3073
3095
  showModelSelector = true,
3074
3096
  slashCommands,
@@ -3117,6 +3139,7 @@ export function AgentKitComposer({
3117
3139
  extraActionButton,
3118
3140
  onSubmit: onSubmitOverride,
3119
3141
  onBeforeSubmit,
3142
+ onSubmissionPendingChange,
3120
3143
  onAttachmentError,
3121
3144
  interceptBuildRequestsForBuilder,
3122
3145
  planModeDisabled,
@@ -3173,6 +3196,15 @@ export function AgentKitComposer({
3173
3196
  threadId,
3174
3197
  );
3175
3198
  const submissionBlocked = Boolean(submissionDisabled) || command.pending;
3199
+ const [submissionPending, setSubmissionPending] = useState(false);
3200
+ const handleSubmissionPendingChange = useCallback(
3201
+ (pending: boolean) => {
3202
+ setSubmissionPending(pending);
3203
+ onSubmissionPendingChange?.(pending);
3204
+ },
3205
+ [onSubmissionPendingChange],
3206
+ );
3207
+ const suggestionSubmitBlocked = submissionBlocked || submissionPending;
3176
3208
  const localComposerRef = useRef<TiptapComposerHandle>(null);
3177
3209
  const composerRef = hostComposerRef ?? localComposerRef;
3178
3210
  const selectedSuggestionRef = useRef<
@@ -3495,7 +3527,7 @@ export function AgentKitComposer({
3495
3527
  ) => {
3496
3528
  if (
3497
3529
  disabled ||
3498
- submissionBlocked ||
3530
+ suggestionSubmitBlocked ||
3499
3531
  !suggestionsCapability.enabled ||
3500
3532
  selectedSuggestionRef.current ||
3501
3533
  !isCurrentAgentSuggestion(controller.getThread(threadId), suggestion)
@@ -3518,6 +3550,15 @@ export function AgentKitComposer({
3518
3550
  const suggestions = selectAgentSuggestions(thread);
3519
3551
  return (
3520
3552
  <div className={`agentkit-composer-stack ${className ?? ""}`}>
3553
+ {announcePendingSubmission && submissionPending ? (
3554
+ <span
3555
+ className="agentkit-visually-hidden"
3556
+ role="status"
3557
+ aria-live="polite"
3558
+ >
3559
+ {labels.activityBuckets?.thinking ?? "Thinking"}
3560
+ </span>
3561
+ ) : null}
3521
3562
  {queueCapability.visible ? (
3522
3563
  Queue ? (
3523
3564
  <Queue
@@ -3593,14 +3634,14 @@ export function AgentKitComposer({
3593
3634
  <Suggestions
3594
3635
  suggestions={suggestions}
3595
3636
  threadId={threadId}
3596
- pending={submissionBlocked}
3637
+ pending={suggestionSubmitBlocked}
3597
3638
  onSelect={selectSuggestion}
3598
3639
  />
3599
3640
  ) : (
3600
3641
  <AgentSuggestionBar
3601
3642
  suggestions={suggestions.map((suggestion) => ({
3602
3643
  ...suggestion,
3603
- disabled: submissionBlocked || Boolean(disabled),
3644
+ disabled: suggestionSubmitBlocked || Boolean(disabled),
3604
3645
  }))}
3605
3646
  ariaLabel={labels.suggestions}
3606
3647
  onSelect={selectSuggestion}
@@ -3628,7 +3669,6 @@ export function AgentKitComposer({
3628
3669
  imageModelMenu={imageModelMenu}
3629
3670
  autoFocus={autoFocus}
3630
3671
  composerRef={composerRef}
3631
- submitting={command.pending}
3632
3672
  willQueue={active && queueWhileRunning && canQueue}
3633
3673
  showModelSelector={showModelSelector && canSelectModel}
3634
3674
  availableModels={availableModels}
@@ -3651,8 +3691,11 @@ export function AgentKitComposer({
3651
3691
  initialTextKey={composerInitialTextKey}
3652
3692
  onTextChange={onTextChange}
3653
3693
  extraActionButton={extraActionButton}
3694
+ sendButtonDisabled={submissionPending}
3654
3695
  onBeforeSubmit={onBeforeSubmit}
3696
+ onSubmissionPendingChange={handleSubmissionPendingChange}
3655
3697
  getSubmitFailureDraftScope={getSubmitFailureDraftScope}
3698
+ clearOnSubmitImmediately
3656
3699
  onAttachmentError={reportAttachmentError}
3657
3700
  interceptBuildRequestsForBuilder={interceptBuildRequestsForBuilder}
3658
3701
  planModeDisabled={planModeDisabled}
@@ -317,6 +317,7 @@ describe("AgentKit composer context submission", () => {
317
317
  expect(capture.props).toMatchObject({
318
318
  contextItems: source,
319
319
  contextMenuItems,
320
+ clearOnSubmitImmediately: true,
320
321
  onRemoveContextItem,
321
322
  onInspectContextItem,
322
323
  onRetryContextItem,
@@ -332,6 +333,7 @@ describe("AgentKit composer context submission", () => {
332
333
  ];
333
334
  let pending: void | Promise<void>;
334
335
  await act(async () => {
336
+ capture.props!.onSubmissionPendingChange?.(true);
335
337
  pending = capture.props!.onSubmit("Review", [], references, {
336
338
  contextItems: source,
337
339
  composerModeContext: "Use scheduling tools for this request.",
@@ -341,6 +343,9 @@ describe("AgentKit composer context submission", () => {
341
343
  expect(beforeSend).toHaveBeenCalledOnce();
342
344
  expect(runtime.startRun).not.toHaveBeenCalled();
343
345
  expect(runtime.queueMessage).not.toHaveBeenCalled();
346
+ expect(container.querySelector('[role="status"]')?.textContent).toBe(
347
+ "Thinking",
348
+ );
344
349
  expect(Object.isFrozen(saved)).toBe(true);
345
350
  expect(Object.isFrozen(saved!.contextItems![0])).toBe(true);
346
351
  expect(Object.isFrozen(saved!.references[0].metadata)).toBe(true);
@@ -349,7 +354,9 @@ describe("AgentKit composer context submission", () => {
349
354
  await act(async () => {
350
355
  release();
351
356
  await pending;
357
+ capture.props!.onSubmissionPendingChange?.(false);
352
358
  });
359
+ expect(container.querySelector('[role="status"]')).toBeNull();
353
360
  const input =
354
361
  intent === "queued"
355
362
  ? runtime.queueMessage.mock.calls[0][0]