@pickaxeproject/react 6.20.0 → 6.21.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.
Files changed (91) hide show
  1. package/dist/cjs/common/actionApproval.js +1 -0
  2. package/dist/cjs/common/formInputOrder.js +1 -0
  3. package/dist/cjs/common/formQuestionValidation.js +1 -0
  4. package/dist/cjs/common/formatUserMessage.js +1 -0
  5. package/dist/cjs/components/Pickaxe/Addons/IceBreaker/Breaker.js +1 -1
  6. package/dist/cjs/components/Pickaxe/Addons/IceBreaker/index.js +1 -1
  7. package/dist/cjs/components/Pickaxe/Chat/History/Message.js +1 -1
  8. package/dist/cjs/components/Pickaxe/Chat/History/index.js +1 -1
  9. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  10. package/dist/cjs/components/Pickaxe/Form/Questions/Submit.js +1 -1
  11. package/dist/cjs/components/Pickaxe/Form/Questions/index.js +1 -1
  12. package/dist/cjs/components/Pickaxe/Provider.js +1 -1
  13. package/dist/cjs/components/Pickaxe/ResponseProvider.js +1 -1
  14. package/dist/cjs/components/Pickaxe/common/EndUserModelPicker.js +1 -0
  15. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -1
  16. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart.js +1 -0
  17. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/index.js +1 -1
  18. package/dist/cjs/hooks/pickaxe/useActionApprovals.js +1 -0
  19. package/dist/cjs/hooks/pickaxe/useEndUserModel.js +1 -0
  20. package/dist/cjs/hooks/pickaxe/useSpeechToText.js +1 -1
  21. package/dist/cjs/index.js +1 -1
  22. package/dist/cjs/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
  23. package/dist/cjs/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
  24. package/dist/cjs/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
  25. package/dist/cjs/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
  26. package/dist/cjs/src/common/actionApproval.d.ts +16 -0
  27. package/dist/cjs/src/common/formInputOrder.d.ts +4 -0
  28. package/dist/cjs/src/common/formQuestionValidation.d.ts +2 -0
  29. package/dist/cjs/src/common/formatUserMessage.d.ts +2 -0
  30. package/dist/cjs/src/components/Pickaxe/Addons/IceBreaker/Breaker.d.ts +1 -3
  31. package/dist/cjs/src/components/Pickaxe/Addons/IceBreaker/index.d.ts +1 -3
  32. package/dist/cjs/src/components/Pickaxe/Form/Questions/Submit.d.ts +5 -1
  33. package/dist/cjs/src/components/Pickaxe/Provider.d.ts +2 -0
  34. package/dist/cjs/src/components/Pickaxe/ResponseProvider.d.ts +3 -0
  35. package/dist/cjs/src/components/Pickaxe/common/EndUserModelPicker.d.ts +3 -0
  36. package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart.d.ts +6 -0
  37. package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageParts/index.d.ts +4 -1
  38. package/dist/cjs/src/hooks/pickaxe/useActionApprovals.d.ts +10 -0
  39. package/dist/cjs/src/hooks/pickaxe/useEndUserModel.d.ts +10 -0
  40. package/dist/cjs/src/hooks/pickaxe/usePickaxeContext.d.ts +2 -0
  41. package/dist/cjs/src/hooks/pickaxe/useResponseContext.d.ts +10 -0
  42. package/dist/cjs/src/index.d.ts +2 -0
  43. package/dist/cjs/src/types/form.d.ts +2 -0
  44. package/dist/cjs/src/types/history.d.ts +11 -3
  45. package/dist/cjs/src/types/pickaxe.d.ts +18 -0
  46. package/dist/esm/common/actionApproval.js +1 -0
  47. package/dist/esm/common/formInputOrder.js +1 -0
  48. package/dist/esm/common/formQuestionValidation.js +1 -0
  49. package/dist/esm/common/formatUserMessage.js +1 -0
  50. package/dist/esm/components/Pickaxe/Addons/IceBreaker/Breaker.js +1 -1
  51. package/dist/esm/components/Pickaxe/Addons/IceBreaker/index.js +1 -1
  52. package/dist/esm/components/Pickaxe/Chat/History/Message.js +1 -1
  53. package/dist/esm/components/Pickaxe/Chat/History/index.js +1 -1
  54. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  55. package/dist/esm/components/Pickaxe/Form/Questions/Submit.js +1 -1
  56. package/dist/esm/components/Pickaxe/Form/Questions/index.js +1 -1
  57. package/dist/esm/components/Pickaxe/Provider.js +1 -1
  58. package/dist/esm/components/Pickaxe/ResponseProvider.js +1 -1
  59. package/dist/esm/components/Pickaxe/common/EndUserModelPicker.js +1 -0
  60. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -1
  61. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart.js +1 -0
  62. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/index.js +1 -1
  63. package/dist/esm/hooks/pickaxe/useActionApprovals.js +1 -0
  64. package/dist/esm/hooks/pickaxe/useEndUserModel.js +1 -0
  65. package/dist/esm/hooks/pickaxe/useSpeechToText.js +1 -1
  66. package/dist/esm/index.js +1 -1
  67. package/dist/esm/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
  68. package/dist/esm/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
  69. package/dist/esm/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
  70. package/dist/esm/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
  71. package/dist/esm/src/common/actionApproval.d.ts +16 -0
  72. package/dist/esm/src/common/formInputOrder.d.ts +4 -0
  73. package/dist/esm/src/common/formQuestionValidation.d.ts +2 -0
  74. package/dist/esm/src/common/formatUserMessage.d.ts +2 -0
  75. package/dist/esm/src/components/Pickaxe/Addons/IceBreaker/Breaker.d.ts +1 -3
  76. package/dist/esm/src/components/Pickaxe/Addons/IceBreaker/index.d.ts +1 -3
  77. package/dist/esm/src/components/Pickaxe/Form/Questions/Submit.d.ts +5 -1
  78. package/dist/esm/src/components/Pickaxe/Provider.d.ts +2 -0
  79. package/dist/esm/src/components/Pickaxe/ResponseProvider.d.ts +3 -0
  80. package/dist/esm/src/components/Pickaxe/common/EndUserModelPicker.d.ts +3 -0
  81. package/dist/esm/src/components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart.d.ts +6 -0
  82. package/dist/esm/src/components/Pickaxe/common/PickaxeMessageParts/index.d.ts +4 -1
  83. package/dist/esm/src/hooks/pickaxe/useActionApprovals.d.ts +10 -0
  84. package/dist/esm/src/hooks/pickaxe/useEndUserModel.d.ts +10 -0
  85. package/dist/esm/src/hooks/pickaxe/usePickaxeContext.d.ts +2 -0
  86. package/dist/esm/src/hooks/pickaxe/useResponseContext.d.ts +10 -0
  87. package/dist/esm/src/index.d.ts +2 -0
  88. package/dist/esm/src/types/form.d.ts +2 -0
  89. package/dist/esm/src/types/history.d.ts +11 -3
  90. package/dist/esm/src/types/pickaxe.d.ts +18 -0
  91. package/package.json +1 -1
@@ -1,8 +1,12 @@
1
+ import type { ReactNode } from "react";
1
2
  import type { MemoryStoredQuestionField } from "../../../../types/form";
2
3
  interface SubmitProps {
4
+ navigation?: ReactNode;
5
+ paged?: boolean;
6
+ onInvalidQuestion?: (id: string) => void;
3
7
  questions: MemoryStoredQuestionField[];
4
8
  update: (questions: MemoryStoredQuestionField) => void;
5
9
  resetQuestions: () => void;
6
10
  }
7
- declare const Submit: ({ questions, resetQuestions }: SubmitProps) => import("react/jsx-runtime").JSX.Element;
11
+ declare const Submit: ({ navigation, paged, questions, resetQuestions, onInvalidQuestion, }: SubmitProps) => import("react/jsx-runtime").JSX.Element;
8
12
  export default Submit;
@@ -89,6 +89,8 @@ type PickaxeContextType = {
89
89
  portalId?: string;
90
90
  accessGroup?: AccessGroup | null;
91
91
  pickaxe: LimitedPickaxe | null;
92
+ selectedModel: string;
93
+ setSelectedModel: SetState<string>;
92
94
  styles: PickaxeProviderStyles;
93
95
  colors: PickaxeProviderColors;
94
96
  misc: PickaxeMisc;
@@ -1,3 +1,4 @@
1
+ import { useActionApprovals } from "../../hooks/pickaxe/useActionApprovals";
1
2
  import type { SetState } from "../../types/common";
2
3
  import type { MemoryStoredChatMessage, MemoryStoredFormResponse } from "../../types/response";
3
4
  import { type ReactNode } from "react";
@@ -27,6 +28,8 @@ type ResponseContextType = {
27
28
  setStatus: SetState<ResponseStatus>;
28
29
  setLimitData: SetState<PickaxeLimitData | null>;
29
30
  setError: SetState<string>;
31
+ actionApproval: ReturnType<typeof useActionApprovals>;
32
+ setActionApprovalToken: (token: string | null) => void;
30
33
  setIsGuestLimitReached: SetState<boolean>;
31
34
  setIsSwitchedToChat: SetState<boolean>;
32
35
  };
@@ -0,0 +1,3 @@
1
+ export default function EndUserModelPicker({ compact, }: {
2
+ compact?: boolean;
3
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,6 @@
1
+ import type { useActionApprovals } from "../../../../hooks/pickaxe/useActionApprovals";
2
+ export declare function ActionApprovalPart({ content, isStreaming, approval, }: {
3
+ content: string;
4
+ isStreaming?: boolean;
5
+ approval?: ReturnType<typeof useActionApprovals>;
6
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,10 +1,13 @@
1
+ import type { useActionApprovals } from "../../../../hooks/pickaxe/useActionApprovals";
1
2
  import type { PickaxeHistoryMessagePart } from "../../../../types/history";
2
3
  import { type SuppressedRichPreviewUrls } from "../PickaxeMarkdown/Components/A/FilePreview";
3
4
  interface PickaxeMessagePartsProps {
4
5
  className?: string;
5
6
  parts: PickaxeHistoryMessagePart[];
6
7
  isStreaming?: boolean;
8
+ /** Supply the host response controller when rendering outside ResponseProvider. */
9
+ actionApproval?: ReturnType<typeof useActionApprovals>;
7
10
  }
8
11
  export declare const getSuppressedRichPreviewUrls: (parts: PickaxeHistoryMessagePart[]) => SuppressedRichPreviewUrls;
9
- declare const PickaxeMessageParts: ({ className, parts, isStreaming, }: PickaxeMessagePartsProps) => import("react/jsx-runtime").JSX.Element;
12
+ declare const PickaxeMessageParts: ({ className, parts, isStreaming, actionApproval: suppliedActionApproval, }: PickaxeMessagePartsProps) => import("react/jsx-runtime").JSX.Element;
10
13
  export default PickaxeMessageParts;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ /** The decision capability stays in memory, never in saved response parts. */
3
+ export declare function useActionApprovals(active: boolean): {
4
+ setToken: import("react").Dispatch<import("react").SetStateAction<string | null>>;
5
+ enabled: boolean;
6
+ busyId: string | null;
7
+ errors: Record<string, string>;
8
+ decisions: Record<string, "approved" | "declined">;
9
+ decide: (id: string, decision: "approved" | "declined") => Promise<void>;
10
+ };
@@ -0,0 +1,10 @@
1
+ export declare function useEndUserModel(): {
2
+ options: {
3
+ id: string;
4
+ label: string;
5
+ }[];
6
+ enabled: boolean;
7
+ value: string;
8
+ setValue: import("../../types/common").SetState<string>;
9
+ defaultModel: import("../../types/pickaxe").PickaxeModel | undefined;
10
+ };
@@ -16,6 +16,8 @@ export declare const usePickaxeContext: () => {
16
16
  portalId?: string | undefined;
17
17
  accessGroup?: import("../../components/Pickaxe/Provider").AccessGroup | null | undefined;
18
18
  pickaxe: import("../../types/pickaxe").LimitedPickaxe | null;
19
+ selectedModel: string;
20
+ setSelectedModel: import("../../types/common").SetState<string>;
19
21
  styles: import("../../components/Pickaxe/Provider").PickaxeProviderStyles;
20
22
  colors: import("../../components/Pickaxe/Provider").PickaxeProviderColors;
21
23
  misc: import("../../components/Pickaxe/Provider").PickaxeMisc;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const useResponseContext: () => {
2
3
  messages: import("../../types/response").MemoryStoredChatMessage[];
3
4
  response: import("../../types/response").MemoryStoredFormResponse | null;
@@ -13,6 +14,15 @@ export declare const useResponseContext: () => {
13
14
  setStatus: import("../../types/common").SetState<import("../../components/Pickaxe/ResponseProvider").ResponseStatus>;
14
15
  setLimitData: import("../../types/common").SetState<import("../../components/Pickaxe/ResponseProvider").PickaxeLimitData | null>;
15
16
  setError: import("../../types/common").SetState<string>;
17
+ actionApproval: {
18
+ setToken: import("react").Dispatch<import("react").SetStateAction<string | null>>;
19
+ enabled: boolean;
20
+ busyId: string | null;
21
+ errors: Record<string, string>;
22
+ decisions: Record<string, "approved" | "declined">;
23
+ decide: (id: string, decision: "approved" | "declined") => Promise<void>;
24
+ };
25
+ setActionApprovalToken: (token: string | null) => void;
16
26
  setIsGuestLimitReached: import("../../types/common").SetState<boolean>;
17
27
  setIsSwitchedToChat: import("../../types/common").SetState<boolean>;
18
28
  };
@@ -22,3 +22,5 @@ export { default as PickaxeArtifactRenderer } from "./components/Pickaxe/Addons/
22
22
  export * from "./components/Pickaxe/Addons/Artifact/Provider";
23
23
  export * from "./components/Pickaxe/Addons/Artifact/hooks/useArtifactContext";
24
24
  export * from "./components/Pickaxe/Addons/Artifact/hooks/useArtifact";
25
+ export { ActionApprovalPart } from "./components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart";
26
+ export type { ActionApprovalData, ActionApprovalStatus, } from "./common/actionApproval";
@@ -1,5 +1,7 @@
1
1
  export type PickaxeQuestionType = "Short Answer" | "short" | "Long Answer" | "long" | "Multiple Choice" | "multiple" | "Checkbox" | "Knowledge Upload";
2
2
  export type PickaxeQuestion = {
3
+ /** Optional form display order; prompt placement stays independent. */
4
+ order?: number;
3
5
  id: string;
4
6
  answerlength: string;
5
7
  example: string;
@@ -1,3 +1,4 @@
1
+ import type { ActionApprovalData } from "../common/actionApproval";
1
2
  export type PickaxeHistoryOriginType = "TEST" | "BUILDER" | "PICKAXE" | "STUDIO" | "EMBED" | "EMAIL" | "WHATSAPP" | "MAKE" | "SLACK" | "API";
2
3
  export type PickaxeHistoryPickaxeType = "CHAT" | "FORM";
3
4
  export type PickaxeHistorySenderType = "PICKAXE_USER" | "STUDIO_USER" | "DEPLOYMENT_USER";
@@ -36,7 +37,7 @@ export type PickaxeHistoryMessage = {
36
37
  createdAt: string;
37
38
  area?: PickaxeHistoryMessageArea;
38
39
  };
39
- export type PickaxeHistoryMessagePartsType = "text" | "reasoning" | "data-action-tool-caption" | "data-reasoning-caption" | "data-tool-assets";
40
+ export type PickaxeHistoryMessagePartsType = "text" | "reasoning" | "data-action-tool-caption" | "data-reasoning-caption" | "data-tool-assets" | "data-action-approval";
40
41
  export type PickaxeHistoryMessagePart = {
41
42
  type: PickaxeHistoryMessagePartsType;
42
43
  content: string;
@@ -52,6 +53,9 @@ type PickaxeHistoryStreamPartDelta = {
52
53
  id: string;
53
54
  delta: string;
54
55
  };
56
+ type PickaxeHistoryStreamFinish = {
57
+ type: "finish-step";
58
+ };
55
59
  export type PickaxeHistoryStreamDataActionToolCaption = {
56
60
  type: "data-action-tool-caption";
57
61
  data: {
@@ -66,6 +70,10 @@ export type PickaxeHistoryStreamDataReasoningCaption = {
66
70
  caption: string;
67
71
  };
68
72
  };
69
- export type PickaxeHistoryStreamData = PickaxeHistoryStreamDataActionToolCaption | PickaxeHistoryStreamDataReasoningCaption;
70
- export type PickaxeHistoryStream = PickaxeHistoryStreamPartStartEnd | PickaxeHistoryStreamPartDelta | PickaxeHistoryStreamData;
73
+ export type PickaxeHistoryStreamDataActionApproval = {
74
+ type: "data-action-approval";
75
+ data: ActionApprovalData;
76
+ };
77
+ export type PickaxeHistoryStreamData = PickaxeHistoryStreamDataActionApproval | PickaxeHistoryStreamDataActionToolCaption | PickaxeHistoryStreamDataReasoningCaption;
78
+ export type PickaxeHistoryStream = PickaxeHistoryStreamPartStartEnd | PickaxeHistoryStreamPartDelta | PickaxeHistoryStreamFinish | PickaxeHistoryStreamData;
71
79
  export {};
@@ -2,6 +2,8 @@ import type { PickaxeQuestion } from "./form";
2
2
  export type PickaxeImageOrText = "text" | "image";
3
3
  export type PickaxePrivacySetting = "public" | "unlisted" | "private" | "deleted";
4
4
  export type PickaxeCloneable = "true" | "false";
5
+ export type PickaxeFormLayout = "single" | "paged";
6
+ export type PickaxeEndUserModelSelectionMode = "all" | "select";
5
7
  export type PickaxeDocumentUploadType = "ownerupload" | "enduserupload" | "enduserupload-user";
6
8
  export type PickaxeModel = "gpt-3.5-turbo" | "gpt-4-1106-preview" | "mistral-small" | "gpt-5.1" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-5-chat-latest" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4o-mini" | "gpt-4o" | "gpt-4" | "o3-mini" | "o1" | "o3" | "o4-mini" | "gemini-3-pro" | "gemini-2.5-flash" | "gemini-2.5-flash-preview-05-20" | "gemini-2.5-pro" | "gemini-2.5-pro-preview-05-06" | "gemini-2.0-flash" | "gemini-2.0-flash-lite" | "gemini-1.5-pro" | "gemini-1.5-flash" | "deepseek-chat" | "mistral-large-latest" | "claude-sonnet-4-5-20250929" | "claude-haiku-4-5-20251001" | "claude-opus-4-1-20250805" | "claude-opus-4-20250514" | "claude-opus-4-5-20251101" | "claude-sonnet-4-20250514" | "claude-3-7-sonnet-20250219" | "claude-3-opus-20240229" | "grok-4-fast-reasoning-latest" | "grok-4-fast-non-reasoning-latest" | "grok-4-1-fast-reasoning" | "grok-4-1-fast-non-reasoning" | "grok-4-latest" | "grok-3-latest" | "llama-3-uncensored" | "sonar" | "sonar-pro" | "sonar-reasoning" | "sonar-reasoning-pro" | "sonar-deep-research";
7
9
  export type Pickaxe = {
@@ -36,6 +38,14 @@ export type Pickaxe = {
36
38
  maxlength: number;
37
39
  membuffer: number;
38
40
  model: PickaxeModel;
41
+ formLayout?: PickaxeFormLayout;
42
+ allowEndUserModelSelection?: boolean;
43
+ endUserModelSelectionMode?: PickaxeEndUserModelSelectionMode;
44
+ allowedEndUserModels?: string[];
45
+ availableEndUserModels?: {
46
+ id: string;
47
+ label: string;
48
+ }[];
39
49
  owner: string;
40
50
  placeholdertext: string;
41
51
  prespenalty: number;
@@ -80,6 +90,14 @@ export type LimitedPickaxe = {
80
90
  formtitle: string;
81
91
  intromessage?: string;
82
92
  model: PickaxeModel;
93
+ formLayout?: PickaxeFormLayout;
94
+ allowEndUserModelSelection?: boolean;
95
+ endUserModelSelectionMode?: PickaxeEndUserModelSelectionMode;
96
+ allowedEndUserModels?: string[];
97
+ availableEndUserModels?: {
98
+ id: string;
99
+ label: string;
100
+ }[];
83
101
  placeholdertext: string;
84
102
  icebreakers: string[];
85
103
  submittext?: string;
@@ -0,0 +1 @@
1
+ function n(n){try{const t=JSON.parse(n);return t&&"string"==typeof t.id&&"string"==typeof t.name&&"string"==typeof t.pickaxeId&&"number"==typeof t.expiresAt&&["action","mcp"].includes(t.kind)&&["pending","approved","declined","expired","cancelled"].includes(t.status)&&(void 0===t.arguments||"string"==typeof t.arguments)?t:null}catch(n){return null}}function t(t,e){const i=t.findIndex((t=>{var i;return"data-action-approval"===t.type&&(null===(i=n(t.content))||void 0===i?void 0:i.id)===e.id})),r={type:"data-action-approval",content:JSON.stringify(e),isVisible:!0};i<0?t.push(r):t[i]=r}function e(n,t,e){for(let i=n.length-1;i>=0;i--)if(n[i].type===t)return void(n[i].content=e)}export{n as parseActionApproval,e as updateStreamTextPart,t as upsertActionApprovalPart};
@@ -0,0 +1 @@
1
+ function r(r){const e=r=>"number"==typeof r.order&&Number.isFinite(r.order)&&r.order>=0?r.order:1/0;return[...r].sort(((r,o)=>e(r)-e(o)))}export{r as sortFormInputs};
@@ -0,0 +1 @@
1
+ import{encode as e}from"@nem035/gpt-3-encoder";function n(n){return"Knowledge Upload"===n.type||"userinput:documentupload"===n.id?null:!["Multiple Choice","Checkbox"].includes(n.type)&&e(n.input).length>n.maxLength?"response-too-long":n.isRequired&&!n.input.trim()?"required-fields-missing":null}export{n as getFormQuestionError};
@@ -0,0 +1 @@
1
+ function s(s){var t;const e=s.replace(/<!--\s*UPLOADED DOCUMENT:[\s\S]*?(?:-->|$)(?:\r?\n)*/g,""),n=s=>{var t;const e=s.replace(/(`+)[^`]*?\1/g,"");let n=null;if(/<\/?[a-z][\w:-]*(?:\s[^<>]*|\s*)\/?>|<!doctype\b|<!--/i.test(e))n="html";else if(/^\s*(?:(?:export\s+)?(?:const|let|var)\s+\w+\s*=|(?:export\s+)?(?:async\s+)?function\b|import\s+.+\s+from\s+["']|(?:console\.log|document\.\w+|window\.\w+)\s*\()/m.test(e))n="javascript";else if(/^\s*(?:(?:async\s+)?def\s+\w+\s*\(.*\)\s*:|from\s+[\w.]+\s+import\s+|class\s+\w+(?:\([^\n]*\))?\s*:)/m.test(e))n="python";else if(/^\s*[^{}\n]+\{\s*[\w-]+\s*:\s*[^{}]+[;}]/m.test(e))n="css";else if(/^\s*(?:SELECT\s+.+\s+FROM\s+|INSERT\s+INTO\s+|CREATE\s+TABLE\s+)/im.test(e))n="sql";else if(/^\s*(?:\[|{)/.test(e))try{const s=JSON.parse(e);null!==s&&"object"==typeof s&&(n="json")}catch(s){}if(!n)return s;const l=Math.max(2,...(null!==(t=s.match(/`+/g))&&void 0!==t?t:[]).map((s=>s.length))),o="`".repeat(l+1);return`${o}${n}\n${s}${s.endsWith("\n")?"":"\n"}${o}\n`},l=[];let o="",c=null;for(const s of null!==(t=e.match(/[^\n]*\n|[^\n]+$/g))&&void 0!==t?t:[]){const t=/^ {0,3}(`{3,}|~{3,})(.*)/.exec(s);c?(l.push(s),t&&t[1][0]===c.char&&t[1].length>=c.length&&!t[2].trim()&&(c=null)):t?(l.push(n(o),s),o="",c={char:t[1][0],length:t[1].length}):o+=s}return l.push(n(o)),l.join("")}export{s as formatUserMessage};
@@ -1 +1 @@
1
- import{__rest as e}from"../../../../_virtual/_tslib.js";import{jsxs as o,jsx as r}from"react/jsx-runtime";import{useHover as t}from"../../../../hooks/core/useHover.js";import{usePickaxeContext as i}from"../../../../hooks/pickaxe/usePickaxeContext.js";import s from"../../../../common/cn.js";const n=({type:n,text:a,onSend:l})=>{const{colors:c,styles:m,forceMobile:p,responsiveBy:x}=i(),d=t(),{isHover:u}=d,f=e(d,["isHover"]);return o("div",Object.assign({className:s("relative text-sm group flex flex-grow cursor-pointer overflow-hidden font-semilight w-full select-none px-[1em] py-[9px] duration-200 transition-colors border w-full ease-in-out","right"===n&&("viewport"===x?"min-[767px]:justify-end min-[767px]:max-w-max":"@[767px]/pickaxe-root:justify-end @[767px]/pickaxe-root:max-w-max"),p&&"max-w-full"),onClick:()=>null==l?void 0:l(a),style:{background:u?c.secondary:"transparent",borderColor:c.secondaryText+"30",borderRadius:m.cornerRadius}},f,{children:[r("div",{className:"absolute inset-0 backdrop-blur-md z-0",style:{background:u?c.secondary:c.primary+"10",borderRadius:m.cornerRadius}}),r("p",Object.assign({className:s("line-clamp-2 duration-200 transition-colors ease-in-out relative","center"===n&&"line-clamp-3","right"===n&&("viewport"===x?"min-[767px]:text-right":"@[767px]/pickaxe-root:text-right"),p&&"text-left"),style:{color:u?c.secondaryText:c.secondaryText+"60"}},{children:a}))]}))};export{n as default};
1
+ import{__rest as o}from"../../../../_virtual/_tslib.js";import{jsx as e}from"react/jsx-runtime";import{useHover as t}from"../../../../hooks/core/useHover.js";import{usePickaxeContext as r}from"../../../../hooks/pickaxe/usePickaxeContext.js";const s=({text:s,onSend:i})=>{const{colors:n}=r(),l=t(),{isHover:a}=l,c=o(l,["isHover"]);return e("button",Object.assign({type:"button",className:"flex min-h-12 min-w-0 w-full items-center cursor-pointer whitespace-normal rounded-2xl border px-4 py-3 text-sm font-normal transition-opacity duration-200 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2",onClick:()=>i(s),style:{background:"transparent",opacity:a?.7:1,borderColor:n.secondaryText+"30",color:n.secondaryText,textAlign:"start",overflowWrap:"anywhere"}},c,{children:e("span",Object.assign({className:"line-clamp-2 min-w-0 w-full"},{children:s}))}))};export{s as default};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t}from"react/jsx-runtime";import r from"./Breaker.js";const o=({type:o,data:a,onSend:n})=>e(t,{children:a.map(((t,a)=>e(r,{type:o,text:t,onSend:n},a)))});export{o as default};
1
+ import{jsx as o}from"react/jsx-runtime";import{usePickaxeContext as e}from"../../../../hooks/pickaxe/usePickaxeContext.js";import r from"../../../../common/cn.js";import i from"./Breaker.js";const t=({data:t,onSend:n})=>{const{forceMobile:s,responsiveBy:c}=e();return t.length?o("div",Object.assign({className:r("grid w-full min-w-0 grid-cols-1 gap-3",!s&&("viewport"===c?"min-[640px]:grid-cols-2":"@[640px]/pickaxe-root:grid-cols-2"))},{children:t.map(((e,r)=>o(i,{text:e,onSend:n},r)))})):null};export{t as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as s}from"react/jsx-runtime";import{Fragment as t}from"react";import{usePickaxeContext as i}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleFontSize as o}from"../../../../hooks/studio/useStyleFontSize.js";import{useResponseContext as a}from"../../../../hooks/pickaxe/useResponseContext.js";import{useArtifact as r}from"../../Addons/Artifact/hooks/useArtifact.js";import{PickaxeMarkdown as n}from"../../common/PickaxeMarkdown/index.js";import l from"../../common/PickaxeIcon.js";import m from"./Document.js";import c from"../../common/PickaxeMessageActions.js";import d from"../../common/PickaxeMessageParts/index.js";import p from"../../../../common/cn.js";import{convertToIso1 as x}from"../../../../common/isoMap.js";import{franc as f}from"franc-min";import u from"../../common/ComposioConnectView.js";import g from"../../common/SmitheryConnectView.js";import{useTextToSpeech as h}from"../../../../hooks/pickaxe/useTextToSpeech.js";import b from"remove-markdown";const v=({index:v,message:j,smitheryData:k,resubmitPrompt:y,isLastMessage:w=!1})=>{var O,N;const{pickaxeId:I,pickaxe:C,styles:A,colors:P,misc:R,responsiveBy:S,disableHtml:L,disableJs:M,disableCss:T,isNewChat:H,isRtl:J}=i(),{isGenerating:V}=a(),{onLoadArtifact:B}=r(),D=o(),F=null!==(O=null==C?void 0:C.chaticon)&&void 0!==O?O:`https://cdn.mail.studio/chaticons/${I}.png`,z=w&&V,E=null==C?void 0:C.enablereadout,{isLoading:G,isSpeaking:U,speak:$,stop:q}=h(E&&"assistant"===j.role,{provider:null==C?void 0:C.readoutprovider,pickaxeId:I,voiceName:null==C?void 0:C.readoutvoice}),K=()=>{if(G||U)return void q();const e=j.parts.filter((e=>"text"===e.type)).map((e=>e.content)).join(" ");if(!e)return;const s=b(e,{stripListLeaders:!0,listUnicodeChar:"",gfm:!0,useImgAltText:!1}),t=f(s),i=x(t);$(s,i)},Q=!j.parts.some((e=>["text","reasoning","data-action-tool-caption"].includes(e.type)));return"assistant"===j.role?e("div",Object.assign({className:p("flex w-full",J?"justify-end":"justify-start")},{children:e("div",Object.assign({className:p("flex flex-col w-full",0===v&&H&&"viewport"===S&&"min-[767px]:max-w-[80%]",0===v&&H&&"container"===S&&"@[767px]/pickaxe-root:max-w-[80%]")},{children:s("div",Object.assign({className:p("flex gap-x-3",J&&"flex-row-reverse")},{children:[R.isChatImage&&"NONE"!==F&&e(l,{src:F,alt:"Assistant",width:24,height:24,className:"my-3 h-6 w-6",textColor:P.text}),s("div",Object.assign({className:p("flex flex-col flex-grow",J?"items-end":"items-start")},{children:[s("div",Object.assign({className:p(D.b2,"chat-message pt-3 w-full",J?"text-right":"text-left")},{children:[e(n,Object.assign({theme:A.theme,colors:P,isStreaming:z},J&&{rtl:!0},L&&{disableHtml:!0},M&&{disableJs:!0},T&&{disableCss:!0},{disableReasoning:null!==(N=null==C?void 0:C.enablereasoningdisplay)&&void 0!==N&&N,onArtifactClick:B},{children:e(d,{parts:j.parts,isStreaming:z})})),w&&k&&y&&("composio"===k.provider?e("div",Object.assign({className:"mt-4 px-1"},{children:e(u,{serverId:k.serverId,toolkitSlug:k.toolkitSlug||"",name:k.name,resubmitPrompt:()=>y()})})):e("div",Object.assign({className:"mt-4 px-1"},{children:e(g,{serverId:k.serverId,smitheryId:k.smitheryId||"",name:k.name||k.smitheryId,resubmitPrompt:()=>y()})})))]})),e("div",Object.assign({className:p("flex flex-col gap-6 my-4",Q&&"mt-2")},{children:z?e("div",Object.assign({className:"flex items-center gap-x-2 rounded"},{children:Array.from({length:3}).map(((s,t)=>e("div",{className:p("h-1.5 w-1.5 animate-dot rounded-full",1===t&&"animate-dot-down"),style:{backgroundColor:P.secondaryText}},t)))})):e(c,Object.assign({content:j.parts.filter((e=>e.isVisible&&"text"===e.type)).map((e=>e.content)).join("\n"),index:v},"intromessage"===j.area&&{isHideFeedback:!0},{onReadOut:K,isReadOut:E||!1,isReadOutLoading:G,isReading:U}))}))]}))]}))}))})):"user"===j.role?e("div",Object.assign({className:p("flex w-full",J?"justify-start":"justify-end")},{children:e("div",Object.assign({className:p("flex gap-x-3 max-w-[80%]",J?"pr-9":"pl-9","viewport"===S?J?"min-[767px]:pr-0":"min-[767px]:pl-0":J?"@[767px]/pickaxe-root:pr-0":"@[767px]/pickaxe-root:pl-0")},{children:s("div",Object.assign({className:p(D.b2,"overflow-x-auto overflow-y-hidden px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B] flex flex-col gap-y-3",J?"text-right":"text-left"),style:{backgroundColor:P.secondary+"80",color:P.secondaryText,borderRadius:A.cornerRadius}},{children:[j.documentIds&&j.documentIds.length>0&&e("div",Object.assign({className:p("flex flex-col gap-y-2",J?"items-start":"items-end")},{children:j.documentIds.map((s=>e(t,{children:e(m,{documentId:s})},s)))})),e(n,Object.assign({theme:A.theme,colors:P},J&&{rtl:!0},L&&{disableHtml:!0},M&&{disableJs:!0},T&&{disableCss:!0},{children:e(d,{parts:j.parts})}))]}))}))})):e("div",{})};export{v as default};
1
+ import{jsx as e,jsxs as s}from"react/jsx-runtime";import{formatUserMessage as t}from"../../../../common/formatUserMessage.js";import{PickaxeMarkdownRenderer as i}from"../../common/PickaxeMarkdown/Renderer.js";import{Fragment as o}from"react";import{usePickaxeContext as a}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleFontSize as r}from"../../../../hooks/studio/useStyleFontSize.js";import{useResponseContext as n}from"../../../../hooks/pickaxe/useResponseContext.js";import{useArtifact as m}from"../../Addons/Artifact/hooks/useArtifact.js";import{PickaxeMarkdown as l}from"../../common/PickaxeMarkdown/index.js";import c from"../../common/PickaxeIcon.js";import d from"./Document.js";import p from"../../common/PickaxeMessageActions.js";import x from"../../common/PickaxeMessageParts/index.js";import f from"../../../../common/cn.js";import{convertToIso1 as u}from"../../../../common/isoMap.js";import{franc as g}from"franc-min";import h from"../../common/ComposioConnectView.js";import b from"../../common/SmitheryConnectView.js";import{useTextToSpeech as v}from"../../../../hooks/pickaxe/useTextToSpeech.js";import j from"remove-markdown";const k=({index:k,message:y,smitheryData:w,resubmitPrompt:O,isLastMessage:N=!1})=>{var I,C;const{pickaxeId:A,pickaxe:P,styles:R,colors:S,misc:M,responsiveBy:L,disableHtml:T,disableJs:H,disableCss:J,isNewChat:V,isRtl:B}=a(),{isGenerating:D}=n(),{onLoadArtifact:F}=m(),U=r(),z=null!==(I=null==P?void 0:P.chaticon)&&void 0!==I?I:`https://cdn.mail.studio/chaticons/${A}.png`,E=N&&D,G=null==P?void 0:P.enablereadout,{isLoading:$,isSpeaking:q,speak:K,stop:Q}=v(G&&"assistant"===y.role,{provider:null==P?void 0:P.readoutprovider,pickaxeId:A,voiceName:null==P?void 0:P.readoutvoice}),W=()=>{if($||q)return void Q();const e=y.parts.filter((e=>"text"===e.type)).map((e=>e.content)).join(" ");if(!e)return;const s=j(e,{stripListLeaders:!0,listUnicodeChar:"",gfm:!0,useImgAltText:!1}),t=g(s),i=u(t);K(s,i)},X=!y.parts.some((e=>["text","reasoning","data-action-tool-caption"].includes(e.type)));return"assistant"===y.role?e("div",Object.assign({className:f("flex w-full",B?"justify-end":"justify-start")},{children:e("div",Object.assign({className:f("flex flex-col w-full",0===k&&V&&"viewport"===L&&"min-[767px]:max-w-[80%]",0===k&&V&&"container"===L&&"@[767px]/pickaxe-root:max-w-[80%]")},{children:s("div",Object.assign({className:f("flex gap-x-3",B&&"flex-row-reverse")},{children:[M.isChatImage&&"NONE"!==z&&e(c,{src:z,alt:"Assistant",width:24,height:24,className:"my-3 h-6 w-6",textColor:S.text}),s("div",Object.assign({className:f("flex flex-col flex-grow",B?"items-end":"items-start")},{children:[s("div",Object.assign({className:f(U.b2,"chat-message pt-3 w-full",B?"text-right":"text-left")},{children:[e(l,Object.assign({theme:R.theme,colors:S,isStreaming:E},B&&{rtl:!0},T&&{disableHtml:!0},H&&{disableJs:!0},J&&{disableCss:!0},{disableReasoning:null!==(C=null==P?void 0:P.enablereasoningdisplay)&&void 0!==C&&C,onArtifactClick:F},{children:e(x,{parts:y.parts,isStreaming:E})})),N&&w&&O&&("composio"===w.provider?e("div",Object.assign({className:"mt-4 px-1"},{children:e(h,{serverId:w.serverId,toolkitSlug:w.toolkitSlug||"",name:w.name,resubmitPrompt:()=>O()})})):e("div",Object.assign({className:"mt-4 px-1"},{children:e(b,{serverId:w.serverId,smitheryId:w.smitheryId||"",name:w.name||w.smitheryId,resubmitPrompt:()=>O()})})))]})),e("div",Object.assign({className:f("flex flex-col gap-6 my-4",X&&"mt-2")},{children:E?e("div",Object.assign({className:"flex items-center gap-x-2 rounded"},{children:Array.from({length:3}).map(((s,t)=>e("div",{className:f("h-1.5 w-1.5 animate-dot rounded-full",1===t&&"animate-dot-down"),style:{backgroundColor:S.secondaryText}},t)))})):e(p,Object.assign({content:y.parts.filter((e=>e.isVisible&&"text"===e.type)).map((e=>e.content)).join("\n"),index:k},"intromessage"===y.area&&{isHideFeedback:!0},{onReadOut:W,isReadOut:G||!1,isReadOutLoading:$,isReading:q}))}))]}))]}))}))})):"user"===y.role?e("div",Object.assign({className:f("flex w-full",B?"justify-start":"justify-end")},{children:e("div",Object.assign({className:f("flex gap-x-3 max-w-[80%]",B?"pr-9":"pl-9","viewport"===L?B?"min-[767px]:pr-0":"min-[767px]:pl-0":B?"@[767px]/pickaxe-root:pr-0":"@[767px]/pickaxe-root:pl-0")},{children:s("div",Object.assign({className:f(U.b2,"overflow-x-auto overflow-y-hidden px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B] flex flex-col gap-y-3",B?"text-right":"text-left"),style:{backgroundColor:S.secondary+"80",color:S.secondaryText,borderRadius:R.cornerRadius}},{children:[y.documentIds&&y.documentIds.length>0&&e("div",Object.assign({className:f("flex flex-col gap-y-2",B?"items-start":"items-end")},{children:y.documentIds.map((s=>e(o,{children:e(d,{documentId:s})},s)))})),e(l,Object.assign({theme:R.theme,colors:S},B&&{rtl:!0},{disableHtml:!0,disableJs:!0,disableCss:!0},{children:y.parts.map(((s,o)=>"text"===s.type?e(i,{value:t(s.content)},o):null))}))]}))}))})):e("div",{})};export{k as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{useMemo as t,useLayoutEffect as o}from"react";import{usePickaxeContext as a}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as n}from"../../Addons/Auth/hooks/useAuthContext.js";import{useAuth as l}from"../../Addons/Auth/hooks/useAuth.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as c}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as m}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as d}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as p}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as u}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{AnimatePresence as h,motion as f}from"framer-motion";import g from"../../../Icons/lock.svg.js";import x from"../../../Core/ErrorAlert.js";import j from"../../common/PickaxeHead.js";import v from"../../common/PickaxeEmbedHead.js";import b from"../../common/PickaxeUpgradeCard.js";import y from"../../common/PickaxeSkeleton.js";import k from"../../common/PickaxeHistoryButton.js";import w from"../../Addons/Scroll/ScrollLockView.js";import N from"../../Addons/Artifact/Renderer/index.js";import O from"./Message.js";import C from"./CustomMessage.js";import A from"../../Addons/IceBreaker/index.js";import S from"../../common/PickaxeBranding.js";import P from"../../../../common/cn.js";import{mergeConversationMessages as I}from"../../../../common/chatMessages.js";import H from"../../Addons/Auth/VerificationCodeForm.js";const L=({additionalScrollHeight:L,smitheryAuthData:R,isForceHideInfo:D,isInputFocused:B,onSubmit:T,resubmitPrompt:E})=>{var F,M,z,W,$;const{sessionId:V,deploymentType:U,pickaxe:_,translations:q,misc:G,isNewChat:J,isRtl:K,isEmbed:Q,isShowIceBreaker:X,setSessionId:Y,setLastSessionId:Z}=a(),{emailInput:ee,isLoggedOut:se,isSending:ie,isResendDisabled:te,isSent:oe,isPricingAuth:ae}=n(),{onSend:ne}=l(),{scrollContainerRef:le,isLocked:re}=m(),{messages:ce,limitData:me,error:de}=r(),{height:pe,width:ue}=c(),{currentArtifact:he,chatPopupType:fe,currentPopupType:ge}=u(),xe=p(),je=d(),ve=t((()=>(null==_?void 0:_.icebreakers)?_.icebreakers.slice(0,3):[]),[null==_?void 0:_.icebreakers]),be=t((()=>{const e=!!xe.data&&xe.data.messages.length>1;return!D&&xe.isSuccess&&J&&!e}),[D,xe.isSuccess,J,xe.data]),ye=t((()=>!(null==_?void 0:_.chatflag)&&(null==_?void 0:_.enablechatresponses)&&ce.length>0),[_,ce]),ke=t((()=>!!xe.data&&xe.data.messages.some((e=>"intromessage"===e.area))),[xe.data]),we="chat-input"===U&&ae&&se&&oe,Ne=X&&!B&&!ke&&be&&ue>767,Oe=X&&!B&&(ke||ue<=767),Ce=t((()=>{var e,s;const i=null!==(s=null===(e=xe.data)||void 0===e?void 0:e.messages)&&void 0!==s?s:[];return I(ce,i)}),[null===(F=xe.data)||void 0===F?void 0:F.messages,ce]),Ae=()=>{Z(V),Y("")};return o((()=>{if(!re)return;const e=le.current;e&&(e.scrollTop=e.scrollHeight)}),[L,null===(M=xe.data)||void 0===M?void 0:M.messages.length,re,le,Ce.length]),e("div",Object.assign({ref:le,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4 [overflow-anchor:none]"},{children:[s(h,{children:!!he&&"inline"===ge&&s(f.div,Object.assign({className:P("absolute top-0 z-20 w-full px-4 py-2",fe),style:{height:`calc(${pe-L}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:s(N,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:he.id,version:he.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[be&&Q&&s("div",Object.assign({className:P("absolute right-4 top-3 flex items-center gap-2","popup"===U&&"right-12")},{children:s(k,{tip:(null==q?void 0:q["chat-history"])||"Chat History",onClick:Ae})})),s(j,Object.assign({className:P("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",be&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!we&&{onIconClick:Ae})),Q&&!xe.isLoading&&s(v,Object.assign({className:P("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!be&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==q?void 0:q["chat-history"])||"Chat History"},!we&&{onIconClick:Ae,onHistoryClick:Ae})),e("div",Object.assign({className:P("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",Q&&!xe.isLoading&&!be&&"mt-0")},{children:[Ne&&s("div",Object.assign({className:P("grid grid-cols-3 gap-4",2===ve.length&&"grid-cols-2",1===ve.length&&"grid-cols-1")},{children:s(A,{type:"center",data:ve,onSend:T})})),we?s("div",Object.assign({className:"flex flex-col w-full"},{children:e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[s(C,Object.assign({chatRole:"user"},{children:e("div",Object.assign({className:"flex items-center gap-x-3"},{children:[s(g,{className:"h-6 w-6 shrink-0"}),s("p",Object.assign({className:"font-semilight"},{children:ee}))]}))})),e(C,Object.assign({chatRole:"assistant"},{children:[e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(z=null==q?void 0:q["we-sent-your-an-activation-link"])&&void 0!==z?z:"We sent you an activation link. Please be sure to check your spam folder too."} `,s("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{te||ie||ne(!0)}},{children:ie?null!==(W=null==q?void 0:q.resending)&&void 0!==W?W:"Resending...":null!==($=null==q?void 0:q.resend)&&void 0!==$?$:"Resend"}))]})),s(H,{compact:!0})]}))]}))})):s(i,{children:xe.isLoading&&!(null==_?void 0:_.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[J&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(y,{className:"w-[72px] h-[72px]"}),s(y,{className:"h-[20px] mt-6 w-full"}),s(y,{className:"h-[20px] mt-2 w-full"}),s(y,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(y,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(y,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(y,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):xe.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:P(je.b2,"text-center font-semibold")},{children:[(null==q?void 0:q["something-went-wrong-please-try-again"])||"Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:(null==q?void 0:q["contact-us"])||"contact us"}))," ",(null==q?void 0:q["for-help"])||"for help."]}))})):xe.data||ye?e("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[Ce.map(((e,i)=>s(O,{smitheryData:R,resubmitPrompt:E,index:i,message:e,isLastMessage:i===Ce.length-1},`message-${i}`))),me?s("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:s(b,{})})):de?s("div",Object.assign({className:P("flex items-center gap-x-3",K?"justify-end":"justify-start")},{children:s(x,{error:de})})):null]})),e("div",Object.assign({className:P("flex flex-col",!G.isWhiteLabel||Oe&&"mt-4")},{children:[!G.isWhiteLabel&&s(S,{containerClassName:P("justify-end",Oe&&"mb-2")}),Oe&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(A,{type:"right",data:ve,onSend:T})})),s(w,{})]}))]})):null})]}))]}))]}))};export{L as default};
1
+ import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{useMemo as t,useLayoutEffect as o}from"react";import{usePickaxeContext as a}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as n}from"../../Addons/Auth/hooks/useAuthContext.js";import{useAuth as l}from"../../Addons/Auth/hooks/useAuth.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as c}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as m}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as d}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as p}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as u}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{AnimatePresence as h,motion as f}from"framer-motion";import g from"../../../Icons/lock.svg.js";import x from"../../../Core/ErrorAlert.js";import j from"../../common/PickaxeHead.js";import v from"../../common/PickaxeEmbedHead.js";import b from"../../common/PickaxeUpgradeCard.js";import y from"../../common/PickaxeSkeleton.js";import w from"../../common/PickaxeHistoryButton.js";import k from"../../Addons/Scroll/ScrollLockView.js";import N from"../../Addons/Artifact/Renderer/index.js";import O from"./Message.js";import C from"./CustomMessage.js";import A from"../../Addons/IceBreaker/index.js";import S from"../../common/PickaxeBranding.js";import P from"../../../../common/cn.js";import{mergeConversationMessages as I}from"../../../../common/chatMessages.js";import H from"../../Addons/Auth/VerificationCodeForm.js";const L=({additionalScrollHeight:L,smitheryAuthData:R,isForceHideInfo:D,isInputFocused:B,onSubmit:T,resubmitPrompt:E})=>{var F,M,z,W,$;const{sessionId:V,deploymentType:U,pickaxe:_,translations:q,misc:G,isNewChat:J,isRtl:K,isEmbed:Q,isShowIceBreaker:X,setSessionId:Y,setLastSessionId:Z}=a(),{emailInput:ee,isLoggedOut:se,isSending:ie,isResendDisabled:te,isSent:oe,isPricingAuth:ae}=n(),{onSend:ne}=l(),{scrollContainerRef:le,isLocked:re}=m(),{messages:ce,limitData:me,error:de}=r(),{height:pe,width:ue}=c(),{currentArtifact:he,chatPopupType:fe,currentPopupType:ge}=u(),xe=p(),je=d(),ve=t((()=>(null==_?void 0:_.icebreakers)?_.icebreakers.slice(0,3):[]),[null==_?void 0:_.icebreakers]),be=t((()=>{const e=!!xe.data&&xe.data.messages.length>1;return!D&&xe.isSuccess&&J&&!e}),[D,xe.isSuccess,J,xe.data]),ye=t((()=>!(null==_?void 0:_.chatflag)&&(null==_?void 0:_.enablechatresponses)&&ce.length>0),[_,ce]),we=t((()=>!!xe.data&&xe.data.messages.some((e=>"intromessage"===e.area))),[xe.data]),ke="chat-input"===U&&ae&&se&&oe,Ne=X&&!B&&!we&&be&&ue>767,Oe=X&&!B&&(we||ue<=767),Ce=t((()=>{var e,s;const i=null!==(s=null===(e=xe.data)||void 0===e?void 0:e.messages)&&void 0!==s?s:[];return I(ce,i)}),[null===(F=xe.data)||void 0===F?void 0:F.messages,ce]),Ae=()=>{Z(V),Y("")};return o((()=>{if(!re)return;const e=le.current;e&&(e.scrollTop=e.scrollHeight)}),[L,null===(M=xe.data)||void 0===M?void 0:M.messages.length,re,le,Ce.length]),e("div",Object.assign({ref:le,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4 [overflow-anchor:none]"},{children:[s(h,{children:!!he&&"inline"===ge&&s(f.div,Object.assign({className:P("absolute top-0 z-20 w-full px-4 py-2",fe),style:{height:`calc(${pe-L}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:s(N,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:he.id,version:he.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[be&&Q&&s("div",Object.assign({className:P("absolute right-4 top-3 flex items-center gap-2","popup"===U&&"right-12")},{children:s(w,{tip:(null==q?void 0:q["chat-history"])||"Chat History",onClick:Ae})})),s(j,Object.assign({className:P("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",be&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!ke&&{onIconClick:Ae})),Q&&!xe.isLoading&&s(v,Object.assign({className:P("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!be&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==q?void 0:q["chat-history"])||"Chat History"},!ke&&{onIconClick:Ae,onHistoryClick:Ae})),e("div",Object.assign({className:P("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",Q&&!xe.isLoading&&!be&&"mt-0")},{children:[Ne&&s("div",Object.assign({className:"w-full"},{children:s(A,{data:ve,onSend:T})})),ke?s("div",Object.assign({className:"flex flex-col w-full"},{children:e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[s(C,Object.assign({chatRole:"user"},{children:e("div",Object.assign({className:"flex items-center gap-x-3"},{children:[s(g,{className:"h-6 w-6 shrink-0"}),s("p",Object.assign({className:"font-semilight"},{children:ee}))]}))})),e(C,Object.assign({chatRole:"assistant"},{children:[e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(z=null==q?void 0:q["we-sent-your-an-activation-link"])&&void 0!==z?z:"We sent you an activation link. Please be sure to check your spam folder too."} `,s("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{te||ie||ne(!0)}},{children:ie?null!==(W=null==q?void 0:q.resending)&&void 0!==W?W:"Resending...":null!==($=null==q?void 0:q.resend)&&void 0!==$?$:"Resend"}))]})),s(H,{compact:!0})]}))]}))})):s(i,{children:xe.isLoading&&!(null==_?void 0:_.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[J&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(y,{className:"w-[72px] h-[72px]"}),s(y,{className:"h-[20px] mt-6 w-full"}),s(y,{className:"h-[20px] mt-2 w-full"}),s(y,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(y,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(y,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(y,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):xe.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:P(je.b2,"text-center font-semibold")},{children:[(null==q?void 0:q["something-went-wrong-please-try-again"])||"Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:(null==q?void 0:q["contact-us"])||"contact us"}))," ",(null==q?void 0:q["for-help"])||"for help."]}))})):xe.data||ye?e("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[Ce.map(((e,i)=>s(O,{smitheryData:R,resubmitPrompt:E,index:i,message:e,isLastMessage:i===Ce.length-1},`message-${i}`))),me?s("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:s(b,{})})):de?s("div",Object.assign({className:P("flex items-center gap-x-3",K?"justify-end":"justify-start")},{children:s(x,{error:de})})):null]})),e("div",Object.assign({className:P("flex flex-col",!G.isWhiteLabel||Oe&&"mt-4")},{children:[!G.isWhiteLabel&&s(S,{containerClassName:P("justify-end",Oe&&"mb-2")}),Oe&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(A,{data:ve,onSend:T})})),s(k,{})]}))]})):null})]}))]}))]}))};export{L as default};
@@ -1 +1 @@
1
- import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as s,Fragment as o}from"react/jsx-runtime";import{forwardRef as i,useState as r,useRef as a,useCallback as l,useEffect as d,useMemo as c,useImperativeHandle as u}from"react";import{usePickaxeContext as m}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as p}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as g}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as f}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as v}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as h}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as b}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as y}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as j}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as I}from"../../../hooks/core/useHover.js";import{useMediaQuery as w}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as O,allowedImageMimeTypes as k,additionalAllowedFileExtensions as N}from"../../../common/documents.js";import{createParser as S}from"eventsource-parser";import C from"../../Icons/attach-vertical.svg.js";import E from"../../Icons/arrow-right.svg.js";import _ from"../../Icons/microphone.svg.js";import T from"../../Icons/message-clock.svg.js";import U from"../../Icons/stop.svg.js";import P from"../../Icons/trash.svg.js";import A from"../../Icons/pencil.svg.js";import D from"../Addons/Document/List.js";import L from"../../Core/Textarea.js";import R from"../../Core/ErrorAlert.js";import M from"../../Core/Menu/index.js";import $ from"../../Core/Menu/Button.js";import B from"../../Core/Menu/List.js";import X from"../../../common/error.js";import{pickaxeApi2 as K}from"../../../common/api/pickaxe.js";import{getValidationFailure as F}from"../../../common/validation.js";import G from"../../../common/cn.js";import{buildUpgradeUrl as V,openAuthenticatedPricingUrl as H,initializeEmbedUserId as W}from"../../../common/utils.js";import{getPickaxeConfigMetadata as q}from"../../../common/pickaxeConfig.js";import{readAgentPrefill as J}from"../../../common/agentPrefill.js";import{fireDeploymentSessionInitializedWebhook as z,fireDeploymentFirstMessageSubmittedWebhook as Q}from"../../../common/deploymentWebhooks.js";import{useStudio as Y}from"../../../hooks/studio/useStudio.js";import{useSpeechToText as Z}from"../../../hooks/pickaxe/useSpeechToText.js";import{STUDIO_INFINITY_VALUE as ee}from"../common/PickaxeCommon.js";const te=(e,t)=>{const n=e.find((e=>e.id===t));return n?e.filter((e=>e.id!==t)).map((e=>e.predecessorSubmissionId===t?Object.assign(Object.assign({},e),{predecessorSubmissionId:n.predecessorSubmissionId}):e)):e},ne=e=>"string"==typeof e&&e.trim().length>0,se=()=>"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`,oe=e=>e.map((e=>Object.assign({},e))),ie=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),re=(e,t)=>{if(e&&"object"==typeof e)return e[t]},ae=(e,t)=>{const n=re(e,t);return ne(n)?n:null},le=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},de=({studioUser:e,deploymentId:t,portalId:n})=>{var s,o;const i=Array.isArray(re(e,"uses"))?re(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>ne(e)?{type:"deployment",id:e}:ne(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(o=null!==(s=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==s?s:i.find((e=>e.id===r.id)))&&void 0!==o?o:null;return{scope:r,record:a}},ce=i((({resubmitPrompt:i,onFocus:re,onBlur:ce,onInputHeightChange:ue,initSmitheryAuthData:me},pe)=>{var ge,fe,ve,he,be,ye,xe,je,Ie,we,Oe,ke,Ne,Se,Ce,Ee,_e;const{origin:Te,pickaxeId:Ue,sessionId:Pe,sender:Ae,senderType:De,portalId:Le,deploymentId:Re,deploymentType:Me,pickaxe:$e,styles:Be,colors:Xe,translations:Ke,locale:Fe,forceMobile:Ge,isNewChat:Ve,isRtl:He,isEmbed:We,isShowFeedbackMessage:qe,accessGroup:Je,setIsNewChat:ze,setIsShowIceBreaker:Qe,setValidationStatus:Ye,setValidationUpgradeGroups:Ze,setValidationUpgradeUrl:et,setAccessGroup:tt,onUpgrade:nt,onGenerateComplete:st}=m(),{token:ot,isLoggedOut:it,isSent:rt,isPricingAuth:at}=b(),{messages:lt,isGenerating:dt,setMessages:ct,setStatus:ut,setLimitData:mt,setError:pt}=p(),{documents:gt,isUploading:ft,documentError:vt,onFileUpload:ht,setDocuments:bt,setDocumentError:yt}=y(),{studio:xt}=Y(),[jt]=w("(max-width: 480px)"),{scrollStartSession:It,scrollEndSession:wt,scrollToBottom:Ot}=x({auto:!0,smooth:!(Ge||jt)}),{artifacts:kt,currentPopupType:Nt,setArtifacts:St,setCurrentArtifact:Ct}=j(),{height:Et}=h(),_t=v(),[Tt,Ut]=r((()=>J([Re,Ue]).chatInput)),[Pt,At]=r(!1),[Dt,Lt]=r(!1),[Rt,Mt]=r(!1),[$t,Bt]=r([]),[Xt,Kt]=r(!1),[Ft,Gt]=r(null),[Vt,Ht]=r(null),[Wt,qt]=r(null),[Jt,zt]=r(null),[Qt,Yt]=r(!1),[Zt,en]=r(!1),[tn,nn]=r(0),sn=a(null),on=a(""),rn=a(null),an=a(null),ln=a(null),dn=a([]),cn=a(null),un=a(null),mn=a(null),pn=a(null),gn=a(new Set),fn=a(null),vn=Math.max(.4*Et,100),{speechTranscript:hn,isSpeechListening:bn,isSpeechProcessing:yn,isSpeechSupported:xn,onStartListening:jn,onStopListening:In}=Z(),wn=I(),{isHover:On}=wn,kn=e(wn,["isHover"]),Nn=I(),{isHover:Sn}=Nn,Cn=e(Nn,["isHover"]),En=I(),{isHover:_n}=En,Tn=e(En,["isHover"]),Un=f(),Pn=g(),An="undefined"!=typeof window?window.location.hostname:"",Dn="undefined"!=typeof window?window.location.href:"",Ln="undefined"!=typeof window&&window.self!==window.top,Rn=An.includes("pickaxe.co")&&!Dn.includes("https://studio.pickaxe.co/_embed")&&!Ln,Mn=null!==(fe=null===(ge=null==$e?void 0:$e.documentuploadtype)||void 0===ge?void 0:ge.startsWith("enduserupload"))&&void 0!==fe&&fe,$n=xn&&(null==$e?void 0:$e.enablevoicetotext),Bn=bn&&!Tt.trim(),Xn=ne(Re),Kn="chat-input"===Me&&Ve&&!rt,Fn="chat-input"===Me&&at&&it&&rt,Gn=l((e=>{const t=F(e);return!!t&&(pt(""),mt(null),Ye(t.status),tt(t.accessGroup),Ze(t.upgradeGroups),et(t.upgradeUrl),!0)}),[pt,mt,Ye,Ze,et,tt]),Vn=null!==(ve=null==$e?void 0:$e.placeholdertext)&&void 0!==ve?ve:He?"بماذا تريد أن تتحدث؟":(null==Ke?void 0:Ke["what-do-you-want-to-talk-about"])||"What do you want to talk about?",Hn=Pt||Dt,Wn=l((()=>t(void 0,void 0,void 0,(function*(){Yt(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==$e?void 0:$e.studioid},ot?{studioSessionToken:ot}:Ae?{sender:Ae}:{sender:W()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Rn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(qt(t.studioUser),zt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{Yt(!0)}}))),[Rn,null==$e?void 0:$e.studioid,Ae,ot]);d((()=>{Wn()}),[Wn]);const qn=Number(null!==(he=null==Je?void 0:Je.limit)&&void 0!==he?he:0),Jn="string"==typeof(null==Je?void 0:Je.limitInterval)?Je.limitInterval:null,zn=!!(null==xt?void 0:xt.data.usage)&&xt.data.usage.isCredits,Qn=c((()=>{var e,t,n,s,o;return null!==(o=null!==(s=null!==(n=null!==(t=null!==(e=null!=Le?Le:ae(Wt,"portalId"))&&void 0!==e?e:ae(Wt,"portalid"))&&void 0!==t?t:ae(Je,"portalId"))&&void 0!==n?n:ae(Je,"portalid"))&&void 0!==s?s:ae($e,"portalId"))&&void 0!==o?o:ae($e,"portalid")}),[Je,Le,$e,Wt]),Yn=c((()=>de({studioUser:Wt,deploymentId:Re,portalId:Qn})),[Re,Qn,Wt]);d((()=>{Xn&&Ve&&Pe&&gn.current.add(Pe)}),[Ve,Pe,Xn]);const Zn=l((()=>{var e,t,n;return{studioId:null==$e?void 0:$e.studioid,userEmail:ae(Wt,"email"),userId:null!==(e=ae(Wt,"userId"))&&void 0!==e?e:ae(Wt,"userid"),sessionId:Pe,deploymentId:Re,deploymentType:Me,portalId:Qn,accessGroupId:null!==(t=null==Je?void 0:Je.accessGroupId)&&void 0!==t?t:null,pickaxeId:Ue,sender:Ae,senderType:De,origin:Te,metadata:null!==(n=q(Re))&&void 0!==n?n:null}}),[null==Je?void 0:Je.accessGroupId,Re,Me,Te,null==$e?void 0:$e.studioid,Ue,Qn,Ae,De,Pe,Wt]),es=l((()=>!!(Xn&&Qt&&Pe)&&(!!gn.current.has(Pe)&&(z(Zn()),gn.current.delete(Pe),!0))),[Zn,Qt,Pe,Xn]);d((()=>{if(!Qt||!Pe)return;es();const e=fn.current;(null==e?void 0:e.sessionId)===Pe&&(Q(Object.assign(Object.assign(Object.assign({},e),Zn()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),fn.current=null)}),[es,Zn,Qt,Pe]);const ts={currentUses:le(null==Wt?void 0:Wt.currentUses),extraUses:le(null==Wt?void 0:Wt.extraUses)},ns=Yn.scope?{currentUses:null!==(ye=le(null===(be=Yn.record)||void 0===be?void 0:be.currentUses))&&void 0!==ye?ye:0,extraUses:null!==(je=le(null===(xe=Yn.record)||void 0===xe?void 0:xe.extraUses))&&void 0!==je?je:0}:{currentUses:0,extraUses:0},ss=ae(Wt,"type"),os="guest"===ss||!ss&&it?ns:ts;d((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(zn&&(null===(t=null==xt?void 0:xt.data)||void 0===t?void 0:t.workspaceId))try{const t=yield K.get(`/cost_per_run?workspaceId=${xt.data.workspaceId}`,{withCredentials:!1});e&&nn(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&nn(0)}else e&&nn(0)})),()=>{e=!1}}),[zn,null===(Ie=null==xt?void 0:xt.data)||void 0===Ie?void 0:Ie.workspaceId]);const is=(({accessGroupType:e,currentUses:t,extraUses:n,limit:s,limitInterval:o})=>{const i=Number(null!=t?t:0),r=Number(null!=n?n:0);return"public"===e&&"one_time"===o?s===ee?ee:Math.max(0,s-i):s===ee||r===ee?ee:"one_time"===o?Math.max(0,r-i):Math.max(0,s-i)+r})({accessGroupType:null==Je?void 0:Je.type,currentUses:os.currentUses,extraUses:os.extraUses,limit:qn,limitInterval:Jn}),rs=is===ee?ee:Math.max(0,Math.ceil(is)),as=(({accessGroupType:e,extraUses:t,limit:n,limitInterval:s})=>{const o=Number(null!=t?t:0);return"public"===e&&"one_time"===s?n===ee?ee:Math.max(0,n):n===ee||o===ee?ee:"one_time"===s?Math.max(0,o):Math.max(0,n)+Math.max(0,o)})({accessGroupType:null==Je?void 0:Je.type,extraUses:os.extraUses,limit:qn,limitInterval:Jn}),ls=as===ee?ee:Math.ceil(.05*as),ds=zn?Math.ceil(5*tn):5,cs=ls===ee?ee:Math.max(ls,ds),us=c((()=>!!Wt&&(!Zt&&(rs!==ee&&(!(as<=0||rs>=as)&&rs<=cs)))),[Zt,cs,rs,Wt,as]),ms=Boolean(null==Je?void 0:Je.hideUpgradeOptions),ps=Boolean(!ms&&((null===(we=null==Je?void 0:Je.upgrade)||void 0===we?void 0:we.isBuyMoreUses)||(null===(Oe=null==Je?void 0:Je.upgrade)||void 0===Oe?void 0:Oe.isLinkToCustomURL)||(null===(ke=null==Je?void 0:Je.upgrade)||void 0===ke?void 0:ke.isUpgradeToAnotherGroup)&&(null===(Ne=Je.upgrade.accessGroupIds)||void 0===Ne?void 0:Ne.length))),gs=!ms&&(null===(Se=null==Je?void 0:Je.upgrade)||void 0===Se?void 0:Se.isLinkToCustomURL)&&"string"==typeof Je.upgrade.limitLink&&Je.upgrade.limitLink.trim().length>0?Je.upgrade.limitLink.trim():null,fs=gs&&"string"==typeof(null===(Ce=null==Je?void 0:Je.upgrade)||void 0===Ce?void 0:Ce.limitCTA)&&Je.upgrade.limitCTA.trim().length>0?Je.upgrade.limitCTA:(null==Ke?void 0:Ke["pricing.upgrade"])||(null==Ke?void 0:Ke.upgrade)||"Upgrade",vs=c((()=>{var e,t,n;return!!Ve&&(!!$e&&(!_t.isLoading&&(!((null!==(t=null===(e=_t.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=$e.icebreakers)||void 0===n?void 0:n.length)&&(!qe&&!Kn)))))}),[$e,Ve,qe,Kn,_t.data,_t.isLoading]),hs=c((()=>{if(ft||Rt)return!1;const e=Mn&&gt.length>0&&gt.every((e=>"finished"===e.status));return!(!Tt.trim()&&!e)&&gt.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Mn,ft,Rt,Tt,gt]);u(pe,(()=>({onSubmit:Is}))),d((()=>{Qe(vs)}),[vs]),d((()=>{var e;if(i){const t=Array.from(lt),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Is(n,!0)}}),[i]),d((()=>{if(!mn.current||!ue)return;const e=new ResizeObserver((e=>{for(const t of e)ue(t.contentRect.height)}));return e.observe(mn.current),()=>{e.disconnect()}}),[ue]),d((()=>{if(!bn)return;const e=on.current?`${on.current} `:"";Ut(`${e}${hn}`)}),[hn,bn]),d((()=>{if(!cn.current)return;(()=>{if(!cn.current)return;let e=cn.current.scrollHeight>52;Tt.includes("\n")||gt.length?e=!0:Tt.trim()||(e=!1),At(e)})()}),[Tt,gt]),d((()=>{const e=cn.current,t=un.current;if(!e||!t||Pt||Tt.includes("\n"))return void Lt(!1);const n=window.getComputedStyle(e),s=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:s,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=Tt||Vn,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;Lt(i>l)}),[Tt,Pt,Vn]);const bs=e=>t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:an.current))return!1;const t=oe(dn.current);try{return(yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${e}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:t})},Rn&&{credentials:"include"}))).ok}catch(e){return console.warn("Failed to cancel submission",e),!1}})),ys=e=>{ln.current=e,pn.current&&(pn.current.abort(),pn.current=null),rn.current&&(rn.current.cancel().catch((()=>{})),rn.current=null)},xs=e=>t(void 0,void 0,void 0,(function*(){const t=Date.now()+3e4;for(;Date.now()<t;){try{const t=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/status/${e}`,Object.assign({headers:Object.assign({"Cache-Control":"no-cache"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}))},Rn&&{credentials:"include"}));if(t.ok){if((yield t.json()).terminal)return!0}}catch(e){console.warn("Failed to read submission status",e)}yield new Promise((e=>setTimeout(e,250)))}return!1})),js=()=>{const e=an.current;e&&!Rt&&!ft&&Tt.trim()&&(Bt((t=>{var n,s;return[...t,{id:se(),message:Tt,predecessorSubmissionId:null!==(s=null===(n=t[t.length-1])||void 0===n?void 0:n.id)&&void 0!==s?s:e}]})),Ut(""))},Is=(e,n=!1,s=!1,o,i=!1)=>t(void 0,void 0,void 0,(function*(){var t,r,a,l;let d=null;try{if(dt&&!s||ft)return;const c=gt.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),u=c.map((e=>e.documentId)).filter(Boolean),m=c.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),p=null!=e?e:Tt,g=null!==(r=null===(t=null==$e?void 0:$e.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==r&&r&&u.length>0;if(!p&&!g)return;pt(""),yt(""),mt(null),Ut(""),ze(!1),ut("fetching"),It(),Ot();const f=n?lt.slice(0,lt.length-1):lt,v=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(f),h=v+(n?0:1),b={id:h,role:"assistant",parts:[],documentIds:[]},y=[...f,...n?[]:[{id:v,role:"user",parts:[{type:"text",content:p,isVisible:!0}],documentIds:g?u:[]}],b];ct(y),Ot(),g&&bt([]);const x=q(Re),j=null!=o?o:se();d=j,an.current=j,ln.current=null,dn.current=[];const I=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:Te,pickaxeId:Ue,sessionId:Pe,submissionId:j},i&&{interactionType:"steer"}),{senderType:De,value:p}),g&&{documentIds:u}),Ae&&{sender:Ae}),ot&&{studioSessionToken:ot}),!ot&&!Ae&&{sender:W()}),Qn&&{portalId:Qn}),Re&&{deploymentId:Re}),x&&{metadata:x}),g&&m.length>0?{uploadedModelImages:m}:{})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},Rn&&{credentials:"include"})),w=yield I.json();if(!w.success){if(w.limitData){const e=new Error(w.error||w.message||(null==Ke?void 0:Ke["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=w.limitData,e}if(Gn(w))return;throw new Error(w.error||w.message||(null==Ke?void 0:Ke["failed-to-start-generation"])||"Failed to start generation")}const O=null!==(a=w.submissionId)&&void 0!==a?a:j;d=O,an.current=O;const k=()=>ln.current===O;if(k())return;Xn&&Ve&&Pe&&gn.current.add(Pe);const N=Object.assign(Object.assign({},Zn()),{message:p,documentIds:g?u:[],uploadedModelImages:g?m:[],hasUploadedDocuments:g,isHidden:n,metadata:null!=x?x:null});Qt?(es(),Q(N)):fn.current=N,ut("streaming"),pn.current=new AbortController;const C=[];let E=[...null!=kt?kt:[]],_=0,T=!1,U="";for(;!T;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${O}?index=${_}`,{signal:null===(l=pn.current)||void 0===l?void 0:l.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();rn.current=t;const n=new TextDecoder,s=S({onEvent:e=>{var t,n;if(k())T=!0;else if(e.event&&"ping"!==e.event&&_++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return mt(t.limitData),pt(""),void(T=!0);const n=t.error||t.message||(null==Ke?void 0:Ke["something-went-wrong"])||"Something went wrong.";return Gn(t)||pt(n),void(T=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("data-error"===s.type&&me){const e=s.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),n=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&s&&s[1])throw T=!0,me({provider:"smithery",smitheryId:t[1],serverId:n[1],name:s[1]}),new Error("STOP_STREAM")}else if(n){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&s&&s[1])throw T=!0,me({provider:"composio",toolkitSlug:t[1],serverId:n[1],name:s[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw T=!0,me({provider:"smithery",smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM");if("unauthorized_composio"===t.type&&t.toolkitSlug&&t.serverId&&t.name)throw T=!0,me({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)U="",C.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)U+=s.delta,C[C.length-1].content=U;else if("text-end"===s.type)U="";else if("reasoning-start"===s.type)U="",C.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)U+=s.delta,C[C.length-1].content=U;else if("reasoning-end"===s.type)U="";else if(s.type.startsWith("data-")){const e=s;C.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}dn.current=oe(C);const o=oe(C);ct((e=>{const t=e.findIndex((e=>e.id===h)),n=Object.assign(Object.assign({},b),{parts:o});return-1===t?[...e,n]:e.map(((e,s)=>s===t?n:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);E=E.filter((e=>!(e.id===t.id&&e.version===t.version))),E.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),St([...E]),Nt.startsWith("inline")||Ct({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);E=E.filter((e=>!(e.id===t.id&&e.version===t.version))),E.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),St(E),Nt.startsWith("inline")||Ct({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);E=E.filter((e=>!(e.id===t.id&&e.version===t.version))),E.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),St(E),Nt.startsWith("inline")||Ct({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");E=E.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),St(E)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);St(E.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return mt(t.limitData),pt(""),void(T=!0);const n=t.error||t.message||(null==Ke?void 0:Ke["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(Gn(t))return void(T=!0);pt(n)}else"stop"===e.event&&(T=!0)}else T=!0}});for(;;){if(k()){T=!0,t.cancel().catch((()=>{}));break}const{value:e,done:o}=yield t.read();if(k()){T=!0,t.cancel().catch((()=>{}));break}if(o)break;s.feed(n.decode(e))}T||k()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||ie(e)||k())return void(T=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==st||st(Pe)}catch(e){if(ie(e))return;if(e.limitData)mt(e.limitData),pt("");else{let t=X(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==Ke?void 0:Ke["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),Gn(t)||pt(t)}}finally{const e=!d||an.current===d;Ot(),e&&(ut("idle"),wt(),rn.current=null),d&&e&&(an.current=null,dn.current=[]),yield Wn()}}));return d((()=>{if(dt||Rt||Xt||0===$t.length)return;const e=$t[0];Kt(!0),Gt(e.id),t(void 0,void 0,void 0,(function*(){try{if(!(yield xs(e.predecessorSubmissionId)))return void pt((null==Ke?void 0:Ke["queued-message-waiting"])||"A queued message is waiting for the previous response to finish.");Bt((t=>t.filter((t=>t.id!==e.id)))),yield Is(e.message,!1,!0,e.id)}finally{Kt(!1),Gt(null)}}))}),[dt,Xt,Rt,$t]),Fn?null:n("div",Object.assign({className:G("flex w-full flex-shrink-0 flex-col items-center",!Kn&&"px-4 pb-8"),dir:He?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[$t.length>0&&n("div",Object.assign({className:"mx-3 -mb-3 overflow-hidden border pb-3",style:{borderColor:Xe.text+"18",backgroundColor:null!==(Ee=Pn.backgroundColor)&&void 0!==Ee?Ee:Xe.text+"08",color:Xe.text,borderTopLeftRadius:Math.max(Be.cornerRadius-4,12),borderTopRightRadius:Math.max(Be.cornerRadius-4,12)}},{children:$t.map(((e,i)=>{var r;return s("div",Object.assign({className:"flex min-h-10 items-center gap-2 px-3 py-2",style:i<$t.length-1?{borderBottom:`1px solid ${Xe.text}12`}:void 0},{children:[n(T,{className:"h-4 w-4 shrink-0 opacity-50","aria-hidden":"true"}),n("span",Object.assign({className:"min-w-0 flex-1 truncate text-sm",title:e.message},{children:e.message})),Vt===e.id||Ft===e.id?s("span",Object.assign({className:"flex shrink-0 items-center gap-1.5 px-2 py-1 text-xs opacity-60","aria-live":"polite"},{children:[n("span",{className:"h-3 w-3 animate-spin rounded-full border border-current border-r-transparent","aria-hidden":"true"}),Vt===e.id?(null==Ke?void 0:Ke.steering)||"Steering...":(null==Ke?void 0:Ke.starting)||"Starting..."]})):s(o,{children:[s("button",Object.assign({type:"button",className:"shrink-0 rounded-md px-2 py-1 text-xs font-medium opacity-70 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-40",disabled:Rt||!dt,onClick:()=>{(e=>{t(void 0,void 0,void 0,(function*(){const t=an.current;if(!t||Rt)return;const n=$t.findIndex((t=>t.id===e.id));if(-1===n)return;Mt(!0),Ht(e.id),pt(""),ys(t);let s=!1;try{if(!(yield bs(t)))throw new Error((null==Ke?void 0:Ke["failed-to-interrupt-current-response"])||"Failed to interrupt the current response.");if(!(yield xs(t)))throw new Error((null==Ke?void 0:Ke["current-response-still-stopping"])||"The current response is still stopping. Please send your message again in a moment.");ut("idle"),Bt((t=>t.filter((t=>t.id!==e.id)))),s=!0,Mt(!1),Ht(null),yield Is(e.message,!1,!0,e.id,!0)}catch(t){ut("idle"),s&&Bt((t=>{if(t.some((t=>t.id===e.id)))return t;const s=[...t];return s.splice(n,0,e),s})),pt(X(t))}finally{Mt(!1),Ht(null)}}))})(e)},"aria-label":`${(null==Ke?void 0:Ke["steer-with"])||"Steer with"}: ${e.message}`},{children:[n("span",Object.assign({"aria-hidden":"true"},{children:"↳ "})),(null==Ke?void 0:Ke.steer)||"Steer"]})),n("button",Object.assign({type:"button",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-30",disabled:Rt,onClick:()=>{return t=e.id,void Bt((e=>te(e,t)));var t},"aria-label":`${(null==Ke?void 0:Ke["remove-queued-message"])||"Remove queued message"}: ${e.message}`},{children:n(P,{className:"h-4 w-4","aria-hidden":"true"})})),s(M,Object.assign({id:`queued-message-menu-${e.id}`,className:"shrink-0"},{children:[n($,Object.assign({className:"flex h-7 w-7 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100",isDisabled:Rt,role:"button",tabIndex:Rt?-1:0,"aria-haspopup":"menu","aria-label":(null==Ke?void 0:Ke["more-options"])||"More options",onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.currentTarget.click())}},{children:s("svg",Object.assign({viewBox:"0 0 24 24",className:"h-4 w-4",fill:"currentColor","aria-hidden":"true"},{children:[n("circle",{cx:"5",cy:"12",r:"1.6"}),n("circle",{cx:"12",cy:"12",r:"1.6"}),n("circle",{cx:"19",cy:"12",r:"1.6"})]}))})),n(B,Object.assign({role:"menu",align:He?"bottom-start":"bottom-end",positionStrategy:We?"absolute":"fixed",width:"auto",className:"p-1 text-sm shadow-xl",style:{backgroundColor:null!==(r=Pn.backgroundColor)&&void 0!==r?r:Xe.primary,color:Xe.text,borderRadius:"12px"},border:`1px solid ${Xe.text}20`},{children:s("button",Object.assign({type:"button",role:"menuitem",className:"flex min-w-36 items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-black/5 dark:hover:bg-white/10",onClick:()=>(e=>{Bt((t=>te(t,e.id))),Ut(e.message),requestAnimationFrame((()=>{const t=cn.current;t&&(t.focus(),t.setSelectionRange(e.message.length,e.message.length))}))})(e)},{children:[n(A,{className:"h-4 w-4 shrink-0"}),(null==Ke?void 0:Ke["edit-message"])||"Edit message"]}))}))]}))]})]}),e.id)}))})),s("div",Object.assign({ref:mn,className:G("relative z-10 flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Be.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Pn),{maxHeight:`${vn}px`,overflowY:"auto"})},{children:[us&&s("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Pn.backgroundColor?`${Pn.backgroundColor}E6`:void 0,borderColor:Xe.text+"20",color:Xe.text,borderTopRightRadius:Be.cornerRadius+"px",borderTopLeftRadius:Be.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:s("span",{children:[rs.toLocaleString()," ",zn?(null==Ke?void 0:Ke.credits)||"Credits":(null==Ke?void 0:Ke.uses)||"Uses"," ",(null==Ke?void 0:Ke.remaining)||"remaining"]})})),s("div",Object.assign({className:"flex items-center gap-3"},{children:[ps&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:Xe.accent,color:Xe.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),gs)return void window.open(gs,"_blank","noopener,noreferrer");if(nt)return void nt();const t=V({baseUrl:Jt,accessGroupId:null==Je?void 0:Je.accessGroupId});t&&H({deploymentId:Re,pricingUrl:t,studioId:null==$e?void 0:$e.studioid,studioSessionToken:ot})}},{children:fs})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>en(!0)},{children:n("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!dt&&gt.length>0&&n(D,{className:"p-4 pb-0",isDisabled:dt}),s("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Bn&&s("div",Object.assign({className:G("pointer-events-none absolute top-1/2 z-10 flex -translate-y-1/2 select-none items-center gap-x-2",He?"right-4":"left-4")},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(_e=Xe.accent)&&void 0!==_e?_e:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Xe.text+"90"}},{children:(null==Ke?void 0:Ke.listening)||"Listening..."}))]})),n(L,Object.assign({ref:cn,className:G(Un.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Tt.trim()&&!Tt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",He?"text-right":"text-left",Hn&&"mb-12"),value:Tt,placeholder:Bn?"":Vn,onChange:e=>{Ut(e)},onKeyDown:e=>{Ge||jt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),ft||Rt||(dt?js():Is())))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!Mn)return;e.preventDefault(),ze(!1),yield ht(t)}}))},re&&{onFocus:re},ce&&{onBlur:ce},{dir:He?"rtl":"ltr"})),n("div",Object.assign({ref:un,className:G("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",Hn?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!Hn&&Pn.backgroundColor&&{backgroundColor:Pn.backgroundColor}),{borderTopRightRadius:Be.cornerRadius+"px",borderBottomRightRadius:Be.cornerRadius+"px"})},{children:dt?s(o,{children:[n("button",Object.assign({"aria-label":(null==Ke?void 0:Ke["stop-response"])||"Stop response",className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{const e=an.current;e&&(ys(e),bs(e)),ut("idle")},style:{backgroundColor:Xe.accent+"10",color:Xe.accent}},{children:n(U,{className:"h-4 w-4 shrink-0"})})),n("button",Object.assign({"aria-label":(null==Ke?void 0:Ke["queue-message"])||"Queue message",className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",disabled:Rt||ft||!Tt.trim(),onClick:js,style:{backgroundColor:Tt.trim()?Xe.accent:Xe.accent+"10",color:Tt.trim()?Xe.accentText:Xe.accent+"80"}},{children:n(E,{className:G("h-6 w-6 shrink-0",He&&"scale-x-[-1] transform")})}))]}):bn?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:In,style:{backgroundColor:Xe.accent,color:Xe.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[Mn&&s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Sn?Xe.accent+"10":void 0,color:Sn?Xe.accent:Xe.accent+"80"},disabled:ft||dt,onClick:()=>{var e;return null===(e=sn.current)||void 0===e?void 0:e.click()}},Cn,{children:[n("input",{id:"file-upload",ref:sn,type:"file",accept:[...O,...k,...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){ze(!1),yield ht(Array.from(e.target.files||[])),e.target.value=""}))}),n(C,{className:"h-6 w-6 shrink-0"})]})),$n&&n("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:bn?Xe.accent:_n?Xe.accent+"10":void 0,color:bn?Xe.accentText:_n?Xe.accent:Xe.accent+"80"},disabled:ft||dt||yn,onClick:()=>{bn?In():(on.current=Tt,jn(Fe||"en-US"))}},Tn,{children:n(_,{className:"h-5 w-5 shrink-0"})})),n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:On||hs?Xe.accent:Xe.accent+"10",color:On||hs?Xe.accentText:Xe.accent+"80"},disabled:!hs,onClick:()=>Is()},kn,{children:n(E,{className:G("h-6 w-6 shrink-0",He&&"scale-x-[-1] transform")})}))]})}))]}))]})),vt&&n(R,{error:vt,className:"mt-3"})]}))}))}));ce.displayName="Input";export{ce as default};
1
+ import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as s,Fragment as o}from"react/jsx-runtime";import{useEndUserModel as i}from"../../../hooks/pickaxe/useEndUserModel.js";import r from"../common/EndUserModelPicker.js";import{updateStreamTextPart as a,upsertActionApprovalPart as l}from"../../../common/actionApproval.js";import{forwardRef as d,useState as c,useRef as u,useCallback as p,useEffect as m,useMemo as g,useImperativeHandle as f}from"react";import{usePickaxeContext as v}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as h}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as b}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as y}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as x}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as j}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as I}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as w}from"../Addons/Document/hooks/useDocument.js";import{useScroll as k}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as O}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as N}from"../../../hooks/core/useHover.js";import{useMediaQuery as S}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as C,allowedImageMimeTypes as E,additionalAllowedFileExtensions as _}from"../../../common/documents.js";import{createParser as T}from"eventsource-parser";import U from"../../Icons/attach-vertical.svg.js";import A from"../../Icons/arrow-right.svg.js";import P from"../../Icons/microphone.svg.js";import D from"../../Icons/message-clock.svg.js";import L from"../../Icons/stop.svg.js";import M from"../../Icons/trash.svg.js";import R from"../../Icons/pencil.svg.js";import $ from"../Addons/Document/List.js";import B from"../../Core/Textarea.js";import X from"../../Core/ErrorAlert.js";import K from"../../Core/Menu/index.js";import F from"../../Core/Menu/Button.js";import G from"../../Core/Menu/List.js";import V from"../../../common/error.js";import{pickaxeApi2 as H}from"../../../common/api/pickaxe.js";import{getValidationFailure as W}from"../../../common/validation.js";import q from"../../../common/cn.js";import{buildUpgradeUrl as J,openAuthenticatedPricingUrl as z,initializeEmbedUserId as Q}from"../../../common/utils.js";import{getPickaxeConfigMetadata as Y}from"../../../common/pickaxeConfig.js";import{readAgentPrefill as Z}from"../../../common/agentPrefill.js";import{fireDeploymentSessionInitializedWebhook as ee,fireDeploymentFirstMessageSubmittedWebhook as te}from"../../../common/deploymentWebhooks.js";import{useStudio as ne}from"../../../hooks/studio/useStudio.js";import{useSpeechToText as se}from"../../../hooks/pickaxe/useSpeechToText.js";import{STUDIO_INFINITY_VALUE as oe}from"../common/PickaxeCommon.js";const ie=(e,t)=>{const n=e.find((e=>e.id===t));return n?e.filter((e=>e.id!==t)).map((e=>e.predecessorSubmissionId===t?Object.assign(Object.assign({},e),{predecessorSubmissionId:n.predecessorSubmissionId}):e)):e},re=e=>"string"==typeof e&&e.trim().length>0,ae=()=>"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`,le=e=>e.map((e=>Object.assign({},e))),de=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),ce=(e,t)=>{if(e&&"object"==typeof e)return e[t]},ue=(e,t)=>{const n=ce(e,t);return re(n)?n:null},pe=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},me=({studioUser:e,deploymentId:t,portalId:n})=>{var s,o;const i=Array.isArray(ce(e,"uses"))?ce(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>re(e)?{type:"deployment",id:e}:re(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(o=null!==(s=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==s?s:i.find((e=>e.id===r.id)))&&void 0!==o?o:null;return{scope:r,record:a}},ge=d((({resubmitPrompt:d,onFocus:ce,onBlur:ge,onInputHeightChange:fe,initSmitheryAuthData:ve},he)=>{var be,ye,xe,je,Ie,we,ke,Oe,Ne,Se,Ce,Ee,_e,Te,Ue,Ae,Pe,De;const{origin:Le,pickaxeId:Me,sessionId:Re,sender:$e,senderType:Be,portalId:Xe,deploymentId:Ke,deploymentType:Fe,pickaxe:Ge,styles:Ve,colors:He,translations:We,locale:qe,forceMobile:Je,isNewChat:ze,isRtl:Qe,isEmbed:Ye,isShowFeedbackMessage:Ze,accessGroup:et,setIsNewChat:tt,setIsShowIceBreaker:nt,setValidationStatus:st,setValidationUpgradeGroups:ot,setValidationUpgradeUrl:it,setAccessGroup:rt,onUpgrade:at,onGenerateComplete:lt}=v(),{value:dt,enabled:ct}=i(),{token:ut,isLoggedOut:pt,isSent:mt,isPricingAuth:gt}=I(),{messages:ft,isGenerating:vt,setMessages:ht,setStatus:bt,setLimitData:yt,setError:xt,setActionApprovalToken:jt}=h(),{documents:It,isUploading:wt,documentError:kt,onFileUpload:Ot,setDocuments:Nt,setDocumentError:St}=w(),{studio:Ct}=ne(),[Et]=S("(max-width: 480px)"),{scrollStartSession:_t,scrollEndSession:Tt,scrollToBottom:Ut}=k({auto:!0,smooth:!(Je||Et)}),{artifacts:At,currentPopupType:Pt,setArtifacts:Dt,setCurrentArtifact:Lt}=O(),{height:Mt}=j(),Rt=x(),[$t,Bt]=c((()=>Z([Ke,Me]).chatInput)),[Xt,Kt]=c(!1),[Ft,Gt]=c(!1),[Vt,Ht]=c(!1),[Wt,qt]=c(!1),[Jt,zt]=c([]),[Qt,Yt]=c(!1),[Zt,en]=c(null),[tn,nn]=c(null),[sn,on]=c(null),[rn,an]=c(null),[ln,dn]=c(!1),[cn,un]=c(!1),[pn,mn]=c(0),gn=u(null),fn=u(""),vn=u(null),hn=u(null),bn=u(null),yn=u([]),xn=u(null),jn=u(null),In=u(null),wn=u(null),kn=u(new Set),On=u(null),Nn=Math.max(.4*Mt,100),{speechTranscript:Sn,isSpeechListening:Cn,isSpeechProcessing:En,isSpeechSupported:_n,onStartListening:Tn,onStopListening:Un}=se(),An=N(),{isHover:Pn}=An,Dn=e(An,["isHover"]),Ln=N(),{isHover:Mn}=Ln,Rn=e(Ln,["isHover"]),$n=N(),{isHover:Bn}=$n,Xn=e($n,["isHover"]),Kn=y(),Fn=b(),Gn="undefined"!=typeof window?window.location.hostname:"",Vn="undefined"!=typeof window?window.location.href:"",Hn="undefined"!=typeof window&&window.self!==window.top,Wn=Gn.includes("pickaxe.co")&&!Vn.includes("https://studio.pickaxe.co/_embed")&&!Hn,qn=null!==(ye=null===(be=null==Ge?void 0:Ge.documentuploadtype)||void 0===be?void 0:be.startsWith("enduserupload"))&&void 0!==ye&&ye,Jn=_n&&(null==Ge?void 0:Ge.enablevoicetotext),zn=Cn&&!$t.trim(),Qn=re(Ke),Yn="chat-input"===Fe&&ze&&!mt,Zn="chat-input"===Fe&&gt&&pt&&mt,es=p((e=>{const t=W(e);return!!t&&(xt(""),yt(null),st(t.status),rt(t.accessGroup),ot(t.upgradeGroups),it(t.upgradeUrl),!0)}),[xt,jt,yt,st,ot,it,rt]),ts=null!==(xe=null==Ge?void 0:Ge.placeholdertext)&&void 0!==xe?xe:Qe?"بماذا تريد أن تتحدث؟":(null==We?void 0:We["what-do-you-want-to-talk-about"])||"What do you want to talk about?",ns=Xt||Ft,ss=p((()=>t(void 0,void 0,void 0,(function*(){dn(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==Ge?void 0:Ge.studioid},ut?{studioSessionToken:ut}:$e?{sender:$e}:{sender:Q()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Wn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(on(t.studioUser),an(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{dn(!0)}}))),[Wn,null==Ge?void 0:Ge.studioid,$e,ut]);m((()=>{ss()}),[ss]);const os=Number(null!==(je=null==et?void 0:et.limit)&&void 0!==je?je:0),is="string"==typeof(null==et?void 0:et.limitInterval)?et.limitInterval:null,rs=!!(null==Ct?void 0:Ct.data.usage)&&Ct.data.usage.isCredits,as=g((()=>{var e,t,n,s,o;return null!==(o=null!==(s=null!==(n=null!==(t=null!==(e=null!=Xe?Xe:ue(sn,"portalId"))&&void 0!==e?e:ue(sn,"portalid"))&&void 0!==t?t:ue(et,"portalId"))&&void 0!==n?n:ue(et,"portalid"))&&void 0!==s?s:ue(Ge,"portalId"))&&void 0!==o?o:ue(Ge,"portalid")}),[et,Xe,Ge,sn]),ls=g((()=>me({studioUser:sn,deploymentId:Ke,portalId:as})),[Ke,as,sn]);m((()=>{Qn&&ze&&Re&&kn.current.add(Re)}),[ze,Re,Qn]);const ds=p((()=>{var e,t,n;return{studioId:null==Ge?void 0:Ge.studioid,userEmail:ue(sn,"email"),userId:null!==(e=ue(sn,"userId"))&&void 0!==e?e:ue(sn,"userid"),sessionId:Re,deploymentId:Ke,deploymentType:Fe,portalId:as,accessGroupId:null!==(t=null==et?void 0:et.accessGroupId)&&void 0!==t?t:null,pickaxeId:Me,sender:$e,senderType:Be,origin:Le,metadata:null!==(n=Y(Ke))&&void 0!==n?n:null}}),[null==et?void 0:et.accessGroupId,Ke,Fe,Le,null==Ge?void 0:Ge.studioid,Me,as,$e,Be,Re,sn]),cs=p((()=>!!(Qn&&ln&&Re)&&(!!kn.current.has(Re)&&(ee(ds()),kn.current.delete(Re),!0))),[ds,ln,Re,Qn]);m((()=>{if(!ln||!Re)return;cs();const e=On.current;(null==e?void 0:e.sessionId)===Re&&(te(Object.assign(Object.assign(Object.assign({},e),ds()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),On.current=null)}),[cs,ds,ln,Re]);const us={currentUses:pe(null==sn?void 0:sn.currentUses),extraUses:pe(null==sn?void 0:sn.extraUses)},ps=ls.scope?{currentUses:null!==(we=pe(null===(Ie=ls.record)||void 0===Ie?void 0:Ie.currentUses))&&void 0!==we?we:0,extraUses:null!==(Oe=pe(null===(ke=ls.record)||void 0===ke?void 0:ke.extraUses))&&void 0!==Oe?Oe:0}:{currentUses:0,extraUses:0},ms=ue(sn,"type"),gs="guest"===ms||!ms&&pt?ps:us;m((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(rs&&(null===(t=null==Ct?void 0:Ct.data)||void 0===t?void 0:t.workspaceId))try{const t=yield H.get(`/cost_per_run?workspaceId=${Ct.data.workspaceId}`,{withCredentials:!1});e&&mn(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&mn(0)}else e&&mn(0)})),()=>{e=!1}}),[rs,null===(Ne=null==Ct?void 0:Ct.data)||void 0===Ne?void 0:Ne.workspaceId]);const fs=(({accessGroupType:e,currentUses:t,extraUses:n,limit:s,limitInterval:o})=>{const i=Number(null!=t?t:0),r=Number(null!=n?n:0);return"public"===e&&"one_time"===o?s===oe?oe:Math.max(0,s-i):s===oe||r===oe?oe:"one_time"===o?Math.max(0,r-i):Math.max(0,s-i)+r})({accessGroupType:null==et?void 0:et.type,currentUses:gs.currentUses,extraUses:gs.extraUses,limit:os,limitInterval:is}),vs=fs===oe?oe:Math.max(0,Math.ceil(fs)),hs=(({accessGroupType:e,extraUses:t,limit:n,limitInterval:s})=>{const o=Number(null!=t?t:0);return"public"===e&&"one_time"===s?n===oe?oe:Math.max(0,n):n===oe||o===oe?oe:"one_time"===s?Math.max(0,o):Math.max(0,n)+Math.max(0,o)})({accessGroupType:null==et?void 0:et.type,extraUses:gs.extraUses,limit:os,limitInterval:is}),bs=hs===oe?oe:Math.ceil(.05*hs),ys=rs?Math.ceil(5*pn):5,xs=bs===oe?oe:Math.max(bs,ys),js=g((()=>!!sn&&(!cn&&(vs!==oe&&(!(hs<=0||vs>=hs)&&vs<=xs)))),[cn,xs,vs,sn,hs]),Is=Boolean(null==et?void 0:et.hideUpgradeOptions),ws=Boolean(!Is&&((null===(Se=null==et?void 0:et.upgrade)||void 0===Se?void 0:Se.isBuyMoreUses)||(null===(Ce=null==et?void 0:et.upgrade)||void 0===Ce?void 0:Ce.isLinkToCustomURL)||(null===(Ee=null==et?void 0:et.upgrade)||void 0===Ee?void 0:Ee.isUpgradeToAnotherGroup)&&(null===(_e=et.upgrade.accessGroupIds)||void 0===_e?void 0:_e.length))),ks=!Is&&(null===(Te=null==et?void 0:et.upgrade)||void 0===Te?void 0:Te.isLinkToCustomURL)&&"string"==typeof et.upgrade.limitLink&&et.upgrade.limitLink.trim().length>0?et.upgrade.limitLink.trim():null,Os=ks&&"string"==typeof(null===(Ue=null==et?void 0:et.upgrade)||void 0===Ue?void 0:Ue.limitCTA)&&et.upgrade.limitCTA.trim().length>0?et.upgrade.limitCTA:(null==We?void 0:We["pricing.upgrade"])||(null==We?void 0:We.upgrade)||"Upgrade",Ns=g((()=>{var e,t,n;return!!ze&&(!!Ge&&(!Rt.isLoading&&(!((null!==(t=null===(e=Rt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Ge.icebreakers)||void 0===n?void 0:n.length)&&(!Ze&&!Yn)))))}),[Ge,ze,Ze,Yn,Rt.data,Rt.isLoading]),Ss=g((()=>{if(wt||Vt)return!1;const e=qn&&It.length>0&&It.every((e=>"finished"===e.status));return!(!$t.trim()&&!e)&&It.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[qn,wt,Vt,$t,It]);f(he,(()=>({onSubmit:Us}))),m((()=>{nt(Ns)}),[Ns]),m((()=>{var e;if(d){const t=Array.from(ft),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Us(n,!0)}}),[d]),m((()=>{if(!In.current||!fe)return;const e=new ResizeObserver((e=>{for(const t of e)fe(t.contentRect.height)}));return e.observe(In.current),()=>{e.disconnect()}}),[fe]),m((()=>{if(!Cn)return;const e=fn.current?`${fn.current} `:"";Bt(`${e}${Sn}`)}),[Sn,Cn]),m((()=>{if(!xn.current)return;(()=>{if(!xn.current)return;let e=xn.current.scrollHeight>52;$t.includes("\n")||It.length?e=!0:$t.trim()||(e=!1),Kt(e)})()}),[$t,It]),m((()=>{const e=xn.current,t=jn.current;if(!e||!t||ct||Xt||$t.includes("\n"))return void Gt(!1);const n=window.getComputedStyle(e),s=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:s,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=$t||ts,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;Gt(i>l)}),[$t,Xt,ts,ct]);const Cs=e=>t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:hn.current))return!1;const t=le(yn.current);try{return(yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${e}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:t})},Wn&&{credentials:"include"}))).ok}catch(e){return console.warn("Failed to cancel submission",e),!1}})),Es=e=>{bn.current=e,wn.current&&(wn.current.abort(),wn.current=null),vn.current&&(vn.current.cancel().catch((()=>{})),vn.current=null)},_s=e=>t(void 0,void 0,void 0,(function*(){const t=Date.now()+3e4;for(;Date.now()<t;){try{const t=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/status/${e}`,Object.assign({headers:Object.assign({"Cache-Control":"no-cache"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}))},Wn&&{credentials:"include"}));if(t.ok){if((yield t.json()).terminal)return!0}}catch(e){console.warn("Failed to read submission status",e)}yield new Promise((e=>setTimeout(e,250)))}return!1})),Ts=()=>{const e=hn.current;e&&!Vt&&!wt&&$t.trim()&&(zt((t=>{var n,s;return[...t,{id:ae(),message:$t,predecessorSubmissionId:null!==(s=null===(n=t[t.length-1])||void 0===n?void 0:n.id)&&void 0!==s?s:e}]})),Bt(""))},Us=(e,n=!1,s=!1,o,i=!1)=>t(void 0,void 0,void 0,(function*(){var t,r,d,c,u;let p=null;try{if(vt&&!s||wt)return;const m=It.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),g=m.map((e=>e.documentId)).filter(Boolean),f=m.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),v=null!=e?e:$t,h=null!==(r=null===(t=null==Ge?void 0:Ge.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==r&&r&&g.length>0;if(!v&&!h)return;xt(""),St(""),yt(null),Bt(""),tt(!1),qt(!1),bt("fetching"),_t(),Ut();const b=n?ft.slice(0,ft.length-1):ft,y=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(b),x=y+(n?0:1),j={id:x,role:"assistant",parts:[],documentIds:[]},I=[...b,...n?[]:[{id:y,role:"user",parts:[{type:"text",content:v,isVisible:!0}],documentIds:h?g:[]}],j];ht(I),Ut(),h&&Nt([]);const w=Y(Ke),k=null!=o?o:ae();p=k,hn.current=k,bn.current=null,yn.current=[];const O=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({supportsActionConfirmation:!0,selectedModel:dt||void 0,origin:Le,pickaxeId:Me,sessionId:Re,submissionId:k},i&&{interactionType:"steer"}),{senderType:Be,value:v}),h&&{documentIds:g}),$e&&{sender:$e}),ut&&{studioSessionToken:ut}),!ut&&!$e&&{sender:Q()}),as&&{portalId:as}),Ke&&{deploymentId:Ke}),w&&{metadata:w}),h&&f.length>0?{uploadedModelImages:f}:{})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},Wn&&{credentials:"include"})),N=yield O.json();if(!N.success){if(N.limitData){const e=new Error(N.error||N.message||(null==We?void 0:We["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=N.limitData,e}if(es(N))return;throw new Error(N.error||N.message||(null==We?void 0:We["failed-to-start-generation"])||"Failed to start generation")}jt(null!==(d=N.actionApprovalToken)&&void 0!==d?d:null);const S=null!==(c=N.submissionId)&&void 0!==c?c:k;p=S,hn.current=S;const C=()=>bn.current===S;if(C())return;Qn&&ze&&Re&&kn.current.add(Re);const E=Object.assign(Object.assign({},ds()),{message:v,documentIds:h?g:[],uploadedModelImages:h?f:[],hasUploadedDocuments:h,isHidden:n,metadata:null!=w?w:null});ln?(cs(),te(E)):On.current=E,bt("streaming"),wn.current=new AbortController;const _=[];let U=[...null!=At?At:[]],A=0,P=!1,D="";for(;!P;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${S}?index=${A}`,{signal:null===(u=wn.current)||void 0===u?void 0:u.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();vn.current=t;const n=new TextDecoder,s=T({onEvent:e=>{var t,n;if(C())P=!0;else if(e.event&&"ping"!==e.event&&A++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return yt(t.limitData),xt(""),void(P=!0);const n=t.error||t.message||(null==We?void 0:We["something-went-wrong"])||"Something went wrong.";return es(t)||xt(n),void(P=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("finish-step"===s.type)return void qt(!0);if("data-error"===s.type&&ve){const e=s.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),n=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&s&&s[1])throw P=!0,ve({provider:"smithery",smitheryId:t[1],serverId:n[1],name:s[1]}),new Error("STOP_STREAM")}else if(n){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&s&&s[1])throw P=!0,ve({provider:"composio",toolkitSlug:t[1],serverId:n[1],name:s[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw P=!0,ve({provider:"smithery",smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM");if("unauthorized_composio"===t.type&&t.toolkitSlug&&t.serverId&&t.name)throw P=!0,ve({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)D="",_.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)D+=s.delta,a(_,"text",D);else if("text-end"===s.type)D="";else if("reasoning-start"===s.type)D="",_.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)D+=s.delta,a(_,"reasoning",D);else if("reasoning-end"===s.type)D="";else if(s.type.startsWith("data-")){const e=s;"data-action-approval"===e.type?l(_,e.data):_.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}yn.current=le(_);const o=le(_);ht((e=>{const t=e.findIndex((e=>e.id===x)),n=Object.assign(Object.assign({},j),{parts:o});return-1===t?[...e,n]:e.map(((e,s)=>s===t?n:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Dt([...U]),Pt.startsWith("inline")||Lt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Dt(U),Pt.startsWith("inline")||Lt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Dt(U),Pt.startsWith("inline")||Lt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");U=U.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),Dt(U)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Dt(U.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return yt(t.limitData),xt(""),void(P=!0);const n=t.error||t.message||(null==We?void 0:We["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(es(t))return void(P=!0);xt(n)}else"stop"===e.event&&(P=!0)}else P=!0}});for(;;){if(C()){P=!0,t.cancel().catch((()=>{}));break}const{value:e,done:o}=yield t.read();if(C()){P=!0,t.cancel().catch((()=>{}));break}if(o)break;s.feed(n.decode(e))}P||C()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||de(e)||C())return void(P=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==lt||lt(Re)}catch(e){if(de(e))return;if(e.limitData)yt(e.limitData),xt("");else{let t=V(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==We?void 0:We["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),es(t)||xt(t)}}finally{const e=!p||hn.current===p;Ut(),e&&(bt("idle"),Tt(),vn.current=null),p&&e&&(hn.current=null,yn.current=[]),yield ss()}}));return m((()=>{if(vt||Vt||Qt||0===Jt.length)return;const e=Jt[0];Yt(!0),en(e.id),t(void 0,void 0,void 0,(function*(){try{if(!(yield _s(e.predecessorSubmissionId)))return void xt((null==We?void 0:We["queued-message-waiting"])||"A queued message is waiting for the previous response to finish.");zt((t=>t.filter((t=>t.id!==e.id)))),yield Us(e.message,!1,!0,e.id)}finally{Yt(!1),en(null)}}))}),[vt,Qt,Vt,Jt]),Zn?null:n("div",Object.assign({className:q("flex w-full flex-shrink-0 flex-col items-center",!Yn&&"px-4 pb-8"),dir:Qe?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[Jt.length>0&&n("div",Object.assign({className:"mx-3 -mb-3 overflow-hidden border pb-3",style:{borderColor:He.text+"18",backgroundColor:null!==(Ae=Fn.backgroundColor)&&void 0!==Ae?Ae:He.text+"08",color:He.text,borderTopLeftRadius:Math.max(Ve.cornerRadius-4,12),borderTopRightRadius:Math.max(Ve.cornerRadius-4,12)}},{children:Jt.map(((e,i)=>{var r;return s("div",Object.assign({className:"flex min-h-10 items-center gap-2 px-3 py-2",style:i<Jt.length-1?{borderBottom:`1px solid ${He.text}12`}:void 0},{children:[n(D,{className:"h-4 w-4 shrink-0 opacity-50","aria-hidden":"true"}),n("span",Object.assign({className:"min-w-0 flex-1 truncate text-sm",title:e.message},{children:e.message})),tn===e.id||Zt===e.id?s("span",Object.assign({className:"flex shrink-0 items-center gap-1.5 px-2 py-1 text-xs opacity-60","aria-live":"polite"},{children:[n("span",{className:"h-3 w-3 animate-spin rounded-full border border-current border-r-transparent","aria-hidden":"true"}),tn===e.id?(null==We?void 0:We.steering)||"Steering...":(null==We?void 0:We.starting)||"Starting..."]})):s(o,{children:[s("button",Object.assign({type:"button",className:"shrink-0 rounded-md px-2 py-1 text-xs font-medium opacity-70 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-40",disabled:Vt||!vt,onClick:()=>{(e=>{t(void 0,void 0,void 0,(function*(){const t=hn.current;if(!t||Vt)return;const n=Jt.findIndex((t=>t.id===e.id));if(-1===n)return;Ht(!0),nn(e.id),xt(""),Es(t);let s=!1;try{if(!(yield Cs(t)))throw new Error((null==We?void 0:We["failed-to-interrupt-current-response"])||"Failed to interrupt the current response.");if(!(yield _s(t)))throw new Error((null==We?void 0:We["current-response-still-stopping"])||"The current response is still stopping. Please send your message again in a moment.");bt("idle"),zt((t=>t.filter((t=>t.id!==e.id)))),s=!0,Ht(!1),nn(null),yield Us(e.message,!1,!0,e.id,!0)}catch(t){bt("idle"),s&&zt((t=>{if(t.some((t=>t.id===e.id)))return t;const s=[...t];return s.splice(n,0,e),s})),xt(V(t))}finally{Ht(!1),nn(null)}}))})(e)},"aria-label":`${(null==We?void 0:We["steer-with"])||"Steer with"}: ${e.message}`},{children:[n("span",Object.assign({"aria-hidden":"true"},{children:"↳ "})),(null==We?void 0:We.steer)||"Steer"]})),n("button",Object.assign({type:"button",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-30",disabled:Vt,onClick:()=>{return t=e.id,void zt((e=>ie(e,t)));var t},"aria-label":`${(null==We?void 0:We["remove-queued-message"])||"Remove queued message"}: ${e.message}`},{children:n(M,{className:"h-4 w-4","aria-hidden":"true"})})),s(K,Object.assign({id:`queued-message-menu-${e.id}`,className:"shrink-0"},{children:[n(F,Object.assign({className:"flex h-7 w-7 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100",isDisabled:Vt,role:"button",tabIndex:Vt?-1:0,"aria-haspopup":"menu","aria-label":(null==We?void 0:We["more-options"])||"More options",onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.currentTarget.click())}},{children:s("svg",Object.assign({viewBox:"0 0 24 24",className:"h-4 w-4",fill:"currentColor","aria-hidden":"true"},{children:[n("circle",{cx:"5",cy:"12",r:"1.6"}),n("circle",{cx:"12",cy:"12",r:"1.6"}),n("circle",{cx:"19",cy:"12",r:"1.6"})]}))})),n(G,Object.assign({role:"menu",align:Qe?"bottom-start":"bottom-end",positionStrategy:Ye?"absolute":"fixed",width:"auto",className:"p-1 text-sm shadow-xl",style:{backgroundColor:null!==(r=Fn.backgroundColor)&&void 0!==r?r:He.primary,color:He.text,borderRadius:"12px"},border:`1px solid ${He.text}20`},{children:s("button",Object.assign({type:"button",role:"menuitem",className:"flex min-w-36 items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-black/5 dark:hover:bg-white/10",onClick:()=>(e=>{zt((t=>ie(t,e.id))),Bt(e.message),requestAnimationFrame((()=>{const t=xn.current;t&&(t.focus(),t.setSelectionRange(e.message.length,e.message.length))}))})(e)},{children:[n(R,{className:"h-4 w-4 shrink-0"}),(null==We?void 0:We["edit-message"])||"Edit message"]}))}))]}))]})]}),e.id)}))})),s("div",Object.assign({ref:In,className:q("relative z-10 flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Ve.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Fn),{maxHeight:`${Nn}px`,overflowY:"auto"})},{children:[js&&s("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Fn.backgroundColor?`${Fn.backgroundColor}E6`:void 0,borderColor:He.text+"20",color:He.text,borderTopRightRadius:Ve.cornerRadius+"px",borderTopLeftRadius:Ve.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:s("span",{children:[vs.toLocaleString()," ",rs?(null==We?void 0:We.credits)||"Credits":(null==We?void 0:We.uses)||"Uses"," ",(null==We?void 0:We.remaining)||"remaining"]})})),s("div",Object.assign({className:"flex items-center gap-3"},{children:[ws&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:He.accent,color:He.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),ks)return void window.open(ks,"_blank","noopener,noreferrer");if(at)return void at();const t=J({baseUrl:rn,accessGroupId:null==et?void 0:et.accessGroupId});t&&z({deploymentId:Ke,pricingUrl:t,studioId:null==Ge?void 0:Ge.studioid,studioSessionToken:ut})}},{children:Os})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>un(!0)},{children:n("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!vt&&It.length>0&&n($,{className:"p-4 pb-0",isDisabled:vt}),s("div",Object.assign({className:"relative flex w-full flex-col"},{children:[zn&&s("div",Object.assign({className:q(ct?"top-6":"top-1/2","pointer-events-none absolute z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Qe?"right-4":"left-4")},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(Pe=He.accent)&&void 0!==Pe?Pe:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:He.text+"90"}},{children:(null==We?void 0:We.listening)||"Listening..."}))]})),n(B,Object.assign({ref:xn,className:q(Kn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!$t.trim()&&!$t.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Qe?"text-right":"text-left",!ct&&ns&&"mb-12"),value:$t,placeholder:zn?"":ts,onChange:e=>{Bt(e)},onKeyDown:e=>{Je||Et||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),wt||Vt||(vt?Ts():Us())))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!qn)return;e.preventDefault(),tt(!1),yield Ot(t)}}))},ce&&{onFocus:ce},ge&&{onBlur:ge},{dir:Qe?"rtl":"ltr"})),s("div",Object.assign({ref:jn,className:ct?"relative flex w-full items-center gap-2 px-3 pb-2 [&>button]:shrink-0 [&>button]:mr-0":q("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",ns?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!ns&&Fn.backgroundColor&&{backgroundColor:Fn.backgroundColor}),{borderTopRightRadius:Ve.cornerRadius+"px",borderBottomRightRadius:Ve.cornerRadius+"px"})},{children:[!vt&&!Cn&&qn&&s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Mn?He.accent+"10":void 0,color:Mn?He.accent:He.accent+"80"},disabled:wt||vt,"aria-label":null!==(De=null==We?void 0:We["attach-files"])&&void 0!==De?De:"Attach files",onClick:()=>{var e;return null===(e=gn.current)||void 0===e?void 0:e.click()}},Rn,{children:[n("input",{id:"file-upload",ref:gn,type:"file",accept:[...C,...E,..._].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){tt(!1),yield Ot(Array.from(e.target.files||[])),e.target.value=""}))}),n(U,{className:"h-6 w-6 shrink-0"})]})),n(r,{compact:!0}),vt&&!Wt?s(o,{children:[n("button",Object.assign({"aria-label":(null==We?void 0:We["stop-response"])||"Stop response",className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{const e=hn.current;e&&(Es(e),Cs(e)),bt("idle")},style:{backgroundColor:He.accent+"10",color:He.accent}},{children:n(L,{className:"h-4 w-4 shrink-0"})})),n("button",Object.assign({"aria-label":(null==We?void 0:We["queue-message"])||"Queue message",className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",disabled:Vt||wt||!$t.trim(),onClick:Ts,style:{backgroundColor:$t.trim()?He.accent:He.accent+"10",color:$t.trim()?He.accentText:He.accent+"80"}},{children:n(A,{className:q("h-6 w-6 shrink-0",Qe&&"scale-x-[-1] transform")})}))]}):Cn?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:Un,style:{backgroundColor:He.accent,color:He.accentText}},{children:n(L,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[Jn&&n("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Cn?He.accent:Bn?He.accent+"10":void 0,color:Cn?He.accentText:Bn?He.accent:He.accent+"80"},disabled:wt||vt||En,onClick:()=>{Cn?Un():(fn.current=$t,Tn(qe||"en-US"))}},Xn,{children:n(P,{className:"h-5 w-5 shrink-0"})})),n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Pn||Ss?He.accent:He.accent+"10",color:Pn||Ss?He.accentText:He.accent+"80"},disabled:!Ss,onClick:()=>Us()},Dn,{children:n(A,{className:q("h-6 w-6 shrink-0",Qe&&"scale-x-[-1] transform")})}))]})]}))]}))]})),kt&&n(X,{error:kt,className:"mt-3"})]}))}))}));ge.displayName="Input";export{ge as default};