@pickaxeproject/react 6.23.11 → 6.24.1

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 (53) hide show
  1. package/dist/cjs/common/chatMessages.js +1 -1
  2. package/dist/cjs/common/embedAccessRequest.js +1 -0
  3. package/dist/cjs/common/formatUserMessage.js +1 -1
  4. package/dist/cjs/components/Pickaxe/Chat/History/Message.js +1 -1
  5. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  6. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRender.js +1 -0
  7. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRenderCatalog.js +1 -0
  8. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/VisualizationPart.js +1 -0
  9. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/index.js +1 -1
  10. package/dist/cjs/components/Pickaxe/index.js +1 -1
  11. package/dist/cjs/hooks/pickaxe/useConversation.js +1 -1
  12. package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +1 -1
  13. package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1 -1
  14. package/dist/cjs/src/common/embedAccessRequest.d.ts +1 -0
  15. package/dist/cjs/src/common/formatUserMessage.d.ts +1 -0
  16. package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRender.d.ts +20 -0
  17. package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRenderCatalog.d.ts +116 -0
  18. package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageParts/VisualizationPart.d.ts +15 -0
  19. package/dist/cjs/src/types/history.d.ts +30 -2
  20. package/dist/esm/common/chatMessages.js +1 -1
  21. package/dist/esm/common/embedAccessRequest.js +1 -0
  22. package/dist/esm/common/formatUserMessage.js +1 -1
  23. package/dist/esm/components/Pickaxe/Chat/History/Message.js +1 -1
  24. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  25. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRender.js +1 -0
  26. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRenderCatalog.js +1 -0
  27. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/VisualizationPart.js +1 -0
  28. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/index.js +1 -1
  29. package/dist/esm/components/Pickaxe/index.js +1 -1
  30. package/dist/esm/hooks/pickaxe/useConversation.js +1 -1
  31. package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +1 -1
  32. package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1 -1
  33. package/dist/esm/src/common/embedAccessRequest.d.ts +1 -0
  34. package/dist/esm/src/common/formatUserMessage.d.ts +1 -0
  35. package/dist/esm/src/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRender.d.ts +20 -0
  36. package/dist/esm/src/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRenderCatalog.d.ts +116 -0
  37. package/dist/esm/src/components/Pickaxe/common/PickaxeMessageParts/VisualizationPart.d.ts +15 -0
  38. package/dist/esm/src/types/history.d.ts +30 -2
  39. package/package.json +4 -2
  40. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +0 -1
  41. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +0 -1
  42. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +0 -1
  43. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +0 -1
  44. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +0 -1
  45. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +0 -1
  46. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +0 -1
  47. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +0 -1
  48. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +0 -1
  49. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +0 -1
  50. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +0 -1
  51. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +0 -1
  52. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +0 -1
  53. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../zod@3.25.76/node_modules/zod/v3/types.js");const t="2025-06-18",o=[t,"2025-03-26","2024-11-05","2024-10-07"],s="2.0",r=e.union([e.string(),e.number().int()]),a=e.string(),n=e.object({progressToken:e.optional(r)}).passthrough(),i=e.object({_meta:e.optional(n)}).passthrough(),p=e.object({method:e.string(),params:e.optional(i)}),l=e.object({_meta:e.optional(e.object({}).passthrough())}).passthrough(),c=e.object({method:e.string(),params:e.optional(l)}),m=e.object({_meta:e.optional(e.object({}).passthrough())}).passthrough(),h=e.union([e.string(),e.number().int()]),u=e.object({jsonrpc:e.literal(s),id:h}).merge(p).strict(),g=e.object({jsonrpc:e.literal(s)}).merge(c).strict(),d=e.object({jsonrpc:e.literal(s),id:h,result:m}).strict();var x;exports.ErrorCode=void 0,(x=exports.ErrorCode||(exports.ErrorCode={}))[x.ConnectionClosed=-32e3]="ConnectionClosed",x[x.RequestTimeout=-32001]="RequestTimeout",x[x.ParseError=-32700]="ParseError",x[x.InvalidRequest=-32600]="InvalidRequest",x[x.MethodNotFound=-32601]="MethodNotFound",x[x.InvalidParams=-32602]="InvalidParams",x[x.InternalError=-32603]="InternalError";const b=e.object({jsonrpc:e.literal(s),id:h,error:e.object({code:e.number().int(),message:e.string(),data:e.optional(e.unknown())})}).strict(),S=e.union([u,g,d,b]),R=m.strict(),j=c.extend({method:e.literal("notifications/cancelled"),params:l.extend({requestId:h,reason:e.string().optional()})}),y=e.object({src:e.string(),mimeType:e.optional(e.string()),sizes:e.optional(e.array(e.string()))}).passthrough(),C=e.object({icons:e.array(y).optional()}).passthrough(),P=e.object({name:e.string(),title:e.optional(e.string())}).passthrough(),f=P.extend({version:e.string(),websiteUrl:e.optional(e.string())}).merge(C),q=e.object({experimental:e.optional(e.object({}).passthrough()),sampling:e.optional(e.object({}).passthrough()),elicitation:e.optional(e.object({}).passthrough()),roots:e.optional(e.object({listChanged:e.optional(e.boolean())}).passthrough())}).passthrough(),T=p.extend({method:e.literal("initialize"),params:i.extend({protocolVersion:e.string(),capabilities:q,clientInfo:f})}),N=e.object({experimental:e.optional(e.object({}).passthrough()),logging:e.optional(e.object({}).passthrough()),completions:e.optional(e.object({}).passthrough()),prompts:e.optional(e.object({listChanged:e.optional(e.boolean())}).passthrough()),resources:e.optional(e.object({subscribe:e.optional(e.boolean()),listChanged:e.optional(e.boolean())}).passthrough()),tools:e.optional(e.object({listChanged:e.optional(e.boolean())}).passthrough())}).passthrough(),_=m.extend({protocolVersion:e.string(),capabilities:N,serverInfo:f,instructions:e.optional(e.string())}),L=c.extend({method:e.literal("notifications/initialized")}),v=p.extend({method:e.literal("ping")}),E=e.object({progress:e.number(),total:e.optional(e.number()),message:e.optional(e.string())}).passthrough(),I=c.extend({method:e.literal("notifications/progress"),params:l.merge(E).extend({progressToken:r})}),O=p.extend({params:i.extend({cursor:e.optional(a)}).optional()}),M=m.extend({nextCursor:e.optional(a)}),k=e.object({uri:e.string(),mimeType:e.optional(e.string()),_meta:e.optional(e.object({}).passthrough())}).passthrough(),J=k.extend({text:e.string()}),z=e.string().refine((e=>{try{return atob(e),!0}catch(e){return!1}}),{message:"Invalid Base64 string"}),w=k.extend({blob:z}),B=P.extend({uri:e.string(),description:e.optional(e.string()),mimeType:e.optional(e.string()),_meta:e.optional(e.object({}).passthrough())}).merge(C),H=P.extend({uriTemplate:e.string(),description:e.optional(e.string()),mimeType:e.optional(e.string()),_meta:e.optional(e.object({}).passthrough())}).merge(C),U=O.extend({method:e.literal("resources/list")}),V=M.extend({resources:e.array(B)}),A=O.extend({method:e.literal("resources/templates/list")}),D=M.extend({resourceTemplates:e.array(H)}),F=p.extend({method:e.literal("resources/read"),params:i.extend({uri:e.string()})}),G=m.extend({contents:e.array(e.union([J,w]))}),W=c.extend({method:e.literal("notifications/resources/list_changed")}),$=p.extend({method:e.literal("resources/subscribe"),params:i.extend({uri:e.string()})}),K=p.extend({method:e.literal("resources/unsubscribe"),params:i.extend({uri:e.string()})}),Q=c.extend({method:e.literal("notifications/resources/updated"),params:l.extend({uri:e.string()})}),X=e.object({name:e.string(),description:e.optional(e.string()),required:e.optional(e.boolean())}).passthrough(),Y=P.extend({description:e.optional(e.string()),arguments:e.optional(e.array(X)),_meta:e.optional(e.object({}).passthrough())}).merge(C),Z=O.extend({method:e.literal("prompts/list")}),ee=M.extend({prompts:e.array(Y)}),te=p.extend({method:e.literal("prompts/get"),params:i.extend({name:e.string(),arguments:e.optional(e.record(e.string()))})}),oe=e.object({type:e.literal("text"),text:e.string(),_meta:e.optional(e.object({}).passthrough())}).passthrough(),se=e.object({type:e.literal("image"),data:z,mimeType:e.string(),_meta:e.optional(e.object({}).passthrough())}).passthrough(),re=e.object({type:e.literal("audio"),data:z,mimeType:e.string(),_meta:e.optional(e.object({}).passthrough())}).passthrough(),ae=e.object({type:e.literal("resource"),resource:e.union([J,w]),_meta:e.optional(e.object({}).passthrough())}).passthrough(),ne=B.extend({type:e.literal("resource_link")}),ie=e.union([oe,se,re,ne,ae]),pe=e.object({role:e.enum(["user","assistant"]),content:ie}).passthrough(),le=m.extend({description:e.optional(e.string()),messages:e.array(pe)}),ce=c.extend({method:e.literal("notifications/prompts/list_changed")}),me=e.object({title:e.optional(e.string()),readOnlyHint:e.optional(e.boolean()),destructiveHint:e.optional(e.boolean()),idempotentHint:e.optional(e.boolean()),openWorldHint:e.optional(e.boolean())}).passthrough(),he=P.extend({description:e.optional(e.string()),inputSchema:e.object({type:e.literal("object"),properties:e.optional(e.object({}).passthrough()),required:e.optional(e.array(e.string()))}).passthrough(),outputSchema:e.optional(e.object({type:e.literal("object"),properties:e.optional(e.object({}).passthrough()),required:e.optional(e.array(e.string()))}).passthrough()),annotations:e.optional(me),_meta:e.optional(e.object({}).passthrough())}).merge(C),ue=O.extend({method:e.literal("tools/list")}),ge=M.extend({tools:e.array(he)}),de=m.extend({content:e.array(ie).default([]),structuredContent:e.object({}).passthrough().optional(),isError:e.optional(e.boolean())});de.or(m.extend({toolResult:e.unknown()}));const xe=p.extend({method:e.literal("tools/call"),params:i.extend({name:e.string(),arguments:e.optional(e.record(e.unknown()))})}),be=c.extend({method:e.literal("notifications/tools/list_changed")}),Se=e.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),Re=p.extend({method:e.literal("logging/setLevel"),params:i.extend({level:Se})}),je=c.extend({method:e.literal("notifications/message"),params:l.extend({level:Se,logger:e.optional(e.string()),data:e.unknown()})}),ye=e.object({name:e.string().optional()}).passthrough(),Ce=e.object({hints:e.optional(e.array(ye)),costPriority:e.optional(e.number().min(0).max(1)),speedPriority:e.optional(e.number().min(0).max(1)),intelligencePriority:e.optional(e.number().min(0).max(1))}).passthrough(),Pe=e.object({role:e.enum(["user","assistant"]),content:e.union([oe,se,re])}).passthrough(),fe=p.extend({method:e.literal("sampling/createMessage"),params:i.extend({messages:e.array(Pe),systemPrompt:e.optional(e.string()),includeContext:e.optional(e.enum(["none","thisServer","allServers"])),temperature:e.optional(e.number()),maxTokens:e.number().int(),stopSequences:e.optional(e.array(e.string())),metadata:e.optional(e.object({}).passthrough()),modelPreferences:e.optional(Ce)})}),qe=m.extend({model:e.string(),stopReason:e.optional(e.enum(["endTurn","stopSequence","maxTokens"]).or(e.string())),role:e.enum(["user","assistant"]),content:e.discriminatedUnion("type",[oe,se,re])}),Te=e.object({type:e.literal("boolean"),title:e.optional(e.string()),description:e.optional(e.string()),default:e.optional(e.boolean())}).passthrough(),Ne=e.object({type:e.literal("string"),title:e.optional(e.string()),description:e.optional(e.string()),minLength:e.optional(e.number()),maxLength:e.optional(e.number()),format:e.optional(e.enum(["email","uri","date","date-time"]))}).passthrough(),_e=e.object({type:e.enum(["number","integer"]),title:e.optional(e.string()),description:e.optional(e.string()),minimum:e.optional(e.number()),maximum:e.optional(e.number())}).passthrough(),Le=e.object({type:e.literal("string"),title:e.optional(e.string()),description:e.optional(e.string()),enum:e.array(e.string()),enumNames:e.optional(e.array(e.string()))}).passthrough(),ve=e.union([Te,Ne,_e,Le]),Ee=p.extend({method:e.literal("elicitation/create"),params:i.extend({message:e.string(),requestedSchema:e.object({type:e.literal("object"),properties:e.record(e.string(),ve),required:e.optional(e.array(e.string()))}).passthrough()})}),Ie=m.extend({action:e.enum(["accept","decline","cancel"]),content:e.optional(e.record(e.string(),e.unknown()))}),Oe=e.object({type:e.literal("ref/resource"),uri:e.string()}).passthrough(),Me=e.object({type:e.literal("ref/prompt"),name:e.string()}).passthrough(),ke=p.extend({method:e.literal("completion/complete"),params:i.extend({ref:e.union([Me,Oe]),argument:e.object({name:e.string(),value:e.string()}).passthrough(),context:e.optional(e.object({arguments:e.optional(e.record(e.string(),e.string()))}))})}),Je=m.extend({completion:e.object({values:e.array(e.string()).max(100),total:e.optional(e.number().int()),hasMore:e.optional(e.boolean())}).passthrough()}),ze=e.object({uri:e.string().startsWith("file://"),name:e.optional(e.string()),_meta:e.optional(e.object({}).passthrough())}).passthrough(),we=p.extend({method:e.literal("roots/list")}),Be=m.extend({roots:e.array(ze)}),He=c.extend({method:e.literal("notifications/roots/list_changed")});e.union([v,T,ke,Re,te,Z,U,A,F,$,K,xe,ue]),e.union([j,I,L,He]),e.union([R,qe,Ie,Be]),e.union([v,fe,Ee,we]),e.union([j,I,je,Q,W,be,ce]),e.union([R,_,Je,le,ee,V,D,G,de,ge]);class Ue extends Error{constructor(e,t,o){super(`MCP error ${e}: ${t}`),this.code=e,this.data=o,this.name="McpError"}}exports.AudioContentSchema=re,exports.BaseMetadataSchema=P,exports.BlobResourceContentsSchema=w,exports.BooleanSchemaSchema=Te,exports.CallToolRequestSchema=xe,exports.CallToolResultSchema=de,exports.CancelledNotificationSchema=j,exports.ClientCapabilitiesSchema=q,exports.CompleteRequestSchema=ke,exports.CompleteResultSchema=Je,exports.ContentBlockSchema=ie,exports.CreateMessageRequestSchema=fe,exports.CreateMessageResultSchema=qe,exports.CursorSchema=a,exports.ElicitRequestSchema=Ee,exports.ElicitResultSchema=Ie,exports.EmbeddedResourceSchema=ae,exports.EmptyResultSchema=R,exports.EnumSchemaSchema=Le,exports.GetPromptRequestSchema=te,exports.GetPromptResultSchema=le,exports.IconSchema=y,exports.IconsSchema=C,exports.ImageContentSchema=se,exports.ImplementationSchema=f,exports.InitializeRequestSchema=T,exports.InitializeResultSchema=_,exports.InitializedNotificationSchema=L,exports.JSONRPCErrorSchema=b,exports.JSONRPCMessageSchema=S,exports.JSONRPCNotificationSchema=g,exports.JSONRPCRequestSchema=u,exports.JSONRPCResponseSchema=d,exports.JSONRPC_VERSION=s,exports.LATEST_PROTOCOL_VERSION=t,exports.ListPromptsRequestSchema=Z,exports.ListPromptsResultSchema=ee,exports.ListResourceTemplatesRequestSchema=A,exports.ListResourceTemplatesResultSchema=D,exports.ListResourcesRequestSchema=U,exports.ListResourcesResultSchema=V,exports.ListRootsRequestSchema=we,exports.ListRootsResultSchema=Be,exports.ListToolsRequestSchema=ue,exports.ListToolsResultSchema=ge,exports.LoggingLevelSchema=Se,exports.LoggingMessageNotificationSchema=je,exports.McpError=Ue,exports.ModelHintSchema=ye,exports.ModelPreferencesSchema=Ce,exports.NotificationSchema=c,exports.NumberSchemaSchema=_e,exports.PaginatedRequestSchema=O,exports.PaginatedResultSchema=M,exports.PingRequestSchema=v,exports.PrimitiveSchemaDefinitionSchema=ve,exports.ProgressNotificationSchema=I,exports.ProgressSchema=E,exports.ProgressTokenSchema=r,exports.PromptArgumentSchema=X,exports.PromptListChangedNotificationSchema=ce,exports.PromptMessageSchema=pe,exports.PromptReferenceSchema=Me,exports.PromptSchema=Y,exports.ReadResourceRequestSchema=F,exports.ReadResourceResultSchema=G,exports.RequestIdSchema=h,exports.RequestSchema=p,exports.ResourceContentsSchema=k,exports.ResourceLinkSchema=ne,exports.ResourceListChangedNotificationSchema=W,exports.ResourceSchema=B,exports.ResourceTemplateReferenceSchema=Oe,exports.ResourceTemplateSchema=H,exports.ResourceUpdatedNotificationSchema=Q,exports.ResultSchema=m,exports.RootSchema=ze,exports.RootsListChangedNotificationSchema=He,exports.SUPPORTED_PROTOCOL_VERSIONS=o,exports.SamplingMessageSchema=Pe,exports.ServerCapabilitiesSchema=N,exports.SetLevelRequestSchema=Re,exports.StringSchemaSchema=Ne,exports.SubscribeRequestSchema=$,exports.TextContentSchema=oe,exports.TextResourceContentsSchema=J,exports.ToolAnnotationsSchema=me,exports.ToolListChangedNotificationSchema=be,exports.ToolSchema=he,exports.UnsubscribeRequestSchema=K,exports.isInitializedNotification=e=>L.safeParse(e).success,exports.isJSONRPCError=e=>b.safeParse(e).success,exports.isJSONRPCNotification=e=>g.safeParse(e).success,exports.isJSONRPCRequest=e=>u.safeParse(e).success,exports.isJSONRPCResponse=e=>d.safeParse(e).success;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("zod");const t="2025-06-18",o=[t,"2025-03-26","2024-11-05","2024-10-07"],s="2.0",r=e.z.union([e.z.string(),e.z.number().int()]),a=e.z.string(),n=e.z.object({progressToken:e.z.optional(r)}).passthrough(),i=e.z.object({_meta:e.z.optional(n)}).passthrough(),p=e.z.object({method:e.z.string(),params:e.z.optional(i)}),z=e.z.object({_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),l=e.z.object({method:e.z.string(),params:e.z.optional(z)}),c=e.z.object({_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),m=e.z.union([e.z.string(),e.z.number().int()]),h=e.z.object({jsonrpc:e.z.literal(s),id:m}).merge(p).strict(),u=e.z.object({jsonrpc:e.z.literal(s)}).merge(l).strict(),g=e.z.object({jsonrpc:e.z.literal(s),id:m,result:c}).strict();var d;exports.ErrorCode=void 0,(d=exports.ErrorCode||(exports.ErrorCode={}))[d.ConnectionClosed=-32e3]="ConnectionClosed",d[d.RequestTimeout=-32001]="RequestTimeout",d[d.ParseError=-32700]="ParseError",d[d.InvalidRequest=-32600]="InvalidRequest",d[d.MethodNotFound=-32601]="MethodNotFound",d[d.InvalidParams=-32602]="InvalidParams",d[d.InternalError=-32603]="InternalError";const x=e.z.object({jsonrpc:e.z.literal(s),id:m,error:e.z.object({code:e.z.number().int(),message:e.z.string(),data:e.z.optional(e.z.unknown())})}).strict(),b=e.z.union([h,u,g,x]),S=c.strict(),R=l.extend({method:e.z.literal("notifications/cancelled"),params:z.extend({requestId:m,reason:e.z.string().optional()})}),j=e.z.object({src:e.z.string(),mimeType:e.z.optional(e.z.string()),sizes:e.z.optional(e.z.array(e.z.string()))}).passthrough(),y=e.z.object({icons:e.z.array(j).optional()}).passthrough(),C=e.z.object({name:e.z.string(),title:e.z.optional(e.z.string())}).passthrough(),P=C.extend({version:e.z.string(),websiteUrl:e.z.optional(e.z.string())}).merge(y),f=e.z.object({experimental:e.z.optional(e.z.object({}).passthrough()),sampling:e.z.optional(e.z.object({}).passthrough()),elicitation:e.z.optional(e.z.object({}).passthrough()),roots:e.z.optional(e.z.object({listChanged:e.z.optional(e.z.boolean())}).passthrough())}).passthrough(),q=p.extend({method:e.z.literal("initialize"),params:i.extend({protocolVersion:e.z.string(),capabilities:f,clientInfo:P})}),T=e.z.object({experimental:e.z.optional(e.z.object({}).passthrough()),logging:e.z.optional(e.z.object({}).passthrough()),completions:e.z.optional(e.z.object({}).passthrough()),prompts:e.z.optional(e.z.object({listChanged:e.z.optional(e.z.boolean())}).passthrough()),resources:e.z.optional(e.z.object({subscribe:e.z.optional(e.z.boolean()),listChanged:e.z.optional(e.z.boolean())}).passthrough()),tools:e.z.optional(e.z.object({listChanged:e.z.optional(e.z.boolean())}).passthrough())}).passthrough(),N=c.extend({protocolVersion:e.z.string(),capabilities:T,serverInfo:P,instructions:e.z.optional(e.z.string())}),L=l.extend({method:e.z.literal("notifications/initialized")}),_=p.extend({method:e.z.literal("ping")}),v=e.z.object({progress:e.z.number(),total:e.z.optional(e.z.number()),message:e.z.optional(e.z.string())}).passthrough(),E=l.extend({method:e.z.literal("notifications/progress"),params:z.merge(v).extend({progressToken:r})}),I=p.extend({params:i.extend({cursor:e.z.optional(a)}).optional()}),O=c.extend({nextCursor:e.z.optional(a)}),M=e.z.object({uri:e.z.string(),mimeType:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),k=M.extend({text:e.z.string()}),J=e.z.string().refine((e=>{try{return atob(e),!0}catch(e){return!1}}),{message:"Invalid Base64 string"}),w=M.extend({blob:J}),B=C.extend({uri:e.z.string(),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}).merge(y),H=C.extend({uriTemplate:e.z.string(),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}).merge(y),U=I.extend({method:e.z.literal("resources/list")}),V=O.extend({resources:e.z.array(B)}),A=I.extend({method:e.z.literal("resources/templates/list")}),D=O.extend({resourceTemplates:e.z.array(H)}),F=p.extend({method:e.z.literal("resources/read"),params:i.extend({uri:e.z.string()})}),G=c.extend({contents:e.z.array(e.z.union([k,w]))}),W=l.extend({method:e.z.literal("notifications/resources/list_changed")}),$=p.extend({method:e.z.literal("resources/subscribe"),params:i.extend({uri:e.z.string()})}),K=p.extend({method:e.z.literal("resources/unsubscribe"),params:i.extend({uri:e.z.string()})}),Q=l.extend({method:e.z.literal("notifications/resources/updated"),params:z.extend({uri:e.z.string()})}),X=e.z.object({name:e.z.string(),description:e.z.optional(e.z.string()),required:e.z.optional(e.z.boolean())}).passthrough(),Y=C.extend({description:e.z.optional(e.z.string()),arguments:e.z.optional(e.z.array(X)),_meta:e.z.optional(e.z.object({}).passthrough())}).merge(y),Z=I.extend({method:e.z.literal("prompts/list")}),ee=O.extend({prompts:e.z.array(Y)}),te=p.extend({method:e.z.literal("prompts/get"),params:i.extend({name:e.z.string(),arguments:e.z.optional(e.z.record(e.z.string()))})}),oe=e.z.object({type:e.z.literal("text"),text:e.z.string(),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),se=e.z.object({type:e.z.literal("image"),data:J,mimeType:e.z.string(),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),re=e.z.object({type:e.z.literal("audio"),data:J,mimeType:e.z.string(),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),ae=e.z.object({type:e.z.literal("resource"),resource:e.z.union([k,w]),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),ne=B.extend({type:e.z.literal("resource_link")}),ie=e.z.union([oe,se,re,ne,ae]),pe=e.z.object({role:e.z.enum(["user","assistant"]),content:ie}).passthrough(),ze=c.extend({description:e.z.optional(e.z.string()),messages:e.z.array(pe)}),le=l.extend({method:e.z.literal("notifications/prompts/list_changed")}),ce=e.z.object({title:e.z.optional(e.z.string()),readOnlyHint:e.z.optional(e.z.boolean()),destructiveHint:e.z.optional(e.z.boolean()),idempotentHint:e.z.optional(e.z.boolean()),openWorldHint:e.z.optional(e.z.boolean())}).passthrough(),me=C.extend({description:e.z.optional(e.z.string()),inputSchema:e.z.object({type:e.z.literal("object"),properties:e.z.optional(e.z.object({}).passthrough()),required:e.z.optional(e.z.array(e.z.string()))}).passthrough(),outputSchema:e.z.optional(e.z.object({type:e.z.literal("object"),properties:e.z.optional(e.z.object({}).passthrough()),required:e.z.optional(e.z.array(e.z.string()))}).passthrough()),annotations:e.z.optional(ce),_meta:e.z.optional(e.z.object({}).passthrough())}).merge(y),he=I.extend({method:e.z.literal("tools/list")}),ue=O.extend({tools:e.z.array(me)}),ge=c.extend({content:e.z.array(ie).default([]),structuredContent:e.z.object({}).passthrough().optional(),isError:e.z.optional(e.z.boolean())});ge.or(c.extend({toolResult:e.z.unknown()}));const de=p.extend({method:e.z.literal("tools/call"),params:i.extend({name:e.z.string(),arguments:e.z.optional(e.z.record(e.z.unknown()))})}),xe=l.extend({method:e.z.literal("notifications/tools/list_changed")}),be=e.z.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),Se=p.extend({method:e.z.literal("logging/setLevel"),params:i.extend({level:be})}),Re=l.extend({method:e.z.literal("notifications/message"),params:z.extend({level:be,logger:e.z.optional(e.z.string()),data:e.z.unknown()})}),je=e.z.object({name:e.z.string().optional()}).passthrough(),ye=e.z.object({hints:e.z.optional(e.z.array(je)),costPriority:e.z.optional(e.z.number().min(0).max(1)),speedPriority:e.z.optional(e.z.number().min(0).max(1)),intelligencePriority:e.z.optional(e.z.number().min(0).max(1))}).passthrough(),Ce=e.z.object({role:e.z.enum(["user","assistant"]),content:e.z.union([oe,se,re])}).passthrough(),Pe=p.extend({method:e.z.literal("sampling/createMessage"),params:i.extend({messages:e.z.array(Ce),systemPrompt:e.z.optional(e.z.string()),includeContext:e.z.optional(e.z.enum(["none","thisServer","allServers"])),temperature:e.z.optional(e.z.number()),maxTokens:e.z.number().int(),stopSequences:e.z.optional(e.z.array(e.z.string())),metadata:e.z.optional(e.z.object({}).passthrough()),modelPreferences:e.z.optional(ye)})}),fe=c.extend({model:e.z.string(),stopReason:e.z.optional(e.z.enum(["endTurn","stopSequence","maxTokens"]).or(e.z.string())),role:e.z.enum(["user","assistant"]),content:e.z.discriminatedUnion("type",[oe,se,re])}),qe=e.z.object({type:e.z.literal("boolean"),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),default:e.z.optional(e.z.boolean())}).passthrough(),Te=e.z.object({type:e.z.literal("string"),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),minLength:e.z.optional(e.z.number()),maxLength:e.z.optional(e.z.number()),format:e.z.optional(e.z.enum(["email","uri","date","date-time"]))}).passthrough(),Ne=e.z.object({type:e.z.enum(["number","integer"]),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),minimum:e.z.optional(e.z.number()),maximum:e.z.optional(e.z.number())}).passthrough(),Le=e.z.object({type:e.z.literal("string"),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),enum:e.z.array(e.z.string()),enumNames:e.z.optional(e.z.array(e.z.string()))}).passthrough(),_e=e.z.union([qe,Te,Ne,Le]),ve=p.extend({method:e.z.literal("elicitation/create"),params:i.extend({message:e.z.string(),requestedSchema:e.z.object({type:e.z.literal("object"),properties:e.z.record(e.z.string(),_e),required:e.z.optional(e.z.array(e.z.string()))}).passthrough()})}),Ee=c.extend({action:e.z.enum(["accept","decline","cancel"]),content:e.z.optional(e.z.record(e.z.string(),e.z.unknown()))}),Ie=e.z.object({type:e.z.literal("ref/resource"),uri:e.z.string()}).passthrough(),Oe=e.z.object({type:e.z.literal("ref/prompt"),name:e.z.string()}).passthrough(),Me=p.extend({method:e.z.literal("completion/complete"),params:i.extend({ref:e.z.union([Oe,Ie]),argument:e.z.object({name:e.z.string(),value:e.z.string()}).passthrough(),context:e.z.optional(e.z.object({arguments:e.z.optional(e.z.record(e.z.string(),e.z.string()))}))})}),ke=c.extend({completion:e.z.object({values:e.z.array(e.z.string()).max(100),total:e.z.optional(e.z.number().int()),hasMore:e.z.optional(e.z.boolean())}).passthrough()}),Je=e.z.object({uri:e.z.string().startsWith("file://"),name:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),we=p.extend({method:e.z.literal("roots/list")}),Be=c.extend({roots:e.z.array(Je)}),He=l.extend({method:e.z.literal("notifications/roots/list_changed")});e.z.union([_,q,Me,Se,te,Z,U,A,F,$,K,de,he]),e.z.union([R,E,L,He]),e.z.union([S,fe,Ee,Be]),e.z.union([_,Pe,ve,we]),e.z.union([R,E,Re,Q,W,xe,le]),e.z.union([S,N,ke,ze,ee,V,D,G,ge,ue]);class Ue extends Error{constructor(e,t,o){super(`MCP error ${e}: ${t}`),this.code=e,this.data=o,this.name="McpError"}}exports.AudioContentSchema=re,exports.BaseMetadataSchema=C,exports.BlobResourceContentsSchema=w,exports.BooleanSchemaSchema=qe,exports.CallToolRequestSchema=de,exports.CallToolResultSchema=ge,exports.CancelledNotificationSchema=R,exports.ClientCapabilitiesSchema=f,exports.CompleteRequestSchema=Me,exports.CompleteResultSchema=ke,exports.ContentBlockSchema=ie,exports.CreateMessageRequestSchema=Pe,exports.CreateMessageResultSchema=fe,exports.CursorSchema=a,exports.ElicitRequestSchema=ve,exports.ElicitResultSchema=Ee,exports.EmbeddedResourceSchema=ae,exports.EmptyResultSchema=S,exports.EnumSchemaSchema=Le,exports.GetPromptRequestSchema=te,exports.GetPromptResultSchema=ze,exports.IconSchema=j,exports.IconsSchema=y,exports.ImageContentSchema=se,exports.ImplementationSchema=P,exports.InitializeRequestSchema=q,exports.InitializeResultSchema=N,exports.InitializedNotificationSchema=L,exports.JSONRPCErrorSchema=x,exports.JSONRPCMessageSchema=b,exports.JSONRPCNotificationSchema=u,exports.JSONRPCRequestSchema=h,exports.JSONRPCResponseSchema=g,exports.JSONRPC_VERSION=s,exports.LATEST_PROTOCOL_VERSION=t,exports.ListPromptsRequestSchema=Z,exports.ListPromptsResultSchema=ee,exports.ListResourceTemplatesRequestSchema=A,exports.ListResourceTemplatesResultSchema=D,exports.ListResourcesRequestSchema=U,exports.ListResourcesResultSchema=V,exports.ListRootsRequestSchema=we,exports.ListRootsResultSchema=Be,exports.ListToolsRequestSchema=he,exports.ListToolsResultSchema=ue,exports.LoggingLevelSchema=be,exports.LoggingMessageNotificationSchema=Re,exports.McpError=Ue,exports.ModelHintSchema=je,exports.ModelPreferencesSchema=ye,exports.NotificationSchema=l,exports.NumberSchemaSchema=Ne,exports.PaginatedRequestSchema=I,exports.PaginatedResultSchema=O,exports.PingRequestSchema=_,exports.PrimitiveSchemaDefinitionSchema=_e,exports.ProgressNotificationSchema=E,exports.ProgressSchema=v,exports.ProgressTokenSchema=r,exports.PromptArgumentSchema=X,exports.PromptListChangedNotificationSchema=le,exports.PromptMessageSchema=pe,exports.PromptReferenceSchema=Oe,exports.PromptSchema=Y,exports.ReadResourceRequestSchema=F,exports.ReadResourceResultSchema=G,exports.RequestIdSchema=m,exports.RequestSchema=p,exports.ResourceContentsSchema=M,exports.ResourceLinkSchema=ne,exports.ResourceListChangedNotificationSchema=W,exports.ResourceSchema=B,exports.ResourceTemplateReferenceSchema=Ie,exports.ResourceTemplateSchema=H,exports.ResourceUpdatedNotificationSchema=Q,exports.ResultSchema=c,exports.RootSchema=Je,exports.RootsListChangedNotificationSchema=He,exports.SUPPORTED_PROTOCOL_VERSIONS=o,exports.SamplingMessageSchema=Ce,exports.ServerCapabilitiesSchema=T,exports.SetLevelRequestSchema=Se,exports.StringSchemaSchema=Te,exports.SubscribeRequestSchema=$,exports.TextContentSchema=oe,exports.TextResourceContentsSchema=k,exports.ToolAnnotationsSchema=ce,exports.ToolListChangedNotificationSchema=xe,exports.ToolSchema=me,exports.UnsubscribeRequestSchema=K,exports.isInitializedNotification=e=>L.safeParse(e).success,exports.isJSONRPCError=e=>x.safeParse(e).success,exports.isJSONRPCNotification=e=>u.safeParse(e).success,exports.isJSONRPCRequest=e=>h.safeParse(e).success,exports.isJSONRPCResponse=e=>g.safeParse(e).success;
@@ -0,0 +1 @@
1
+ export declare const getEmbedAccessRequestReturnUrl: () => string | undefined;
@@ -1,2 +1,3 @@
1
+ export declare function stripUploadedDocumentAnnotations(value: string): string;
1
2
  /** Format pasted code for display only; never change the submitted message. */
2
3
  export declare function formatUserMessage(value: string): string;
@@ -0,0 +1,20 @@
1
+ export type JsonRenderElement = {
2
+ type: string;
3
+ props: Record<string, unknown>;
4
+ children: string[];
5
+ visible?: unknown;
6
+ on?: Record<string, JsonRenderActionBinding>;
7
+ };
8
+ type JsonRenderActionBinding = {
9
+ action: "setState" | "pushState" | "removeState";
10
+ params: Record<string, unknown>;
11
+ };
12
+ export type JsonRenderSpec = {
13
+ root: string;
14
+ elements: Record<string, JsonRenderElement>;
15
+ state?: Record<string, unknown>;
16
+ };
17
+ export declare const PickaxeJsonRender: ({ spec }: {
18
+ spec: JsonRenderSpec;
19
+ }) => import("react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,116 @@
1
+ export declare const PICKAXE_JSON_RENDER_CATALOG: {
2
+ readonly Column: {
3
+ readonly container: true;
4
+ readonly description: "Vertical stack layout";
5
+ };
6
+ readonly Row: {
7
+ readonly container: true;
8
+ readonly description: "Wrapping horizontal layout";
9
+ };
10
+ readonly Grid: {
11
+ readonly container: true;
12
+ readonly description: "Responsive grid layout";
13
+ };
14
+ readonly Card: {
15
+ readonly container: true;
16
+ readonly description: "Elevated content group";
17
+ };
18
+ readonly Section: {
19
+ readonly container: true;
20
+ readonly description: "Titled content section";
21
+ };
22
+ readonly Accordion: {
23
+ readonly container: true;
24
+ readonly description: "Collapsible content section";
25
+ };
26
+ readonly Text: {
27
+ readonly container: false;
28
+ readonly description: "Body or caption text";
29
+ };
30
+ readonly Heading: {
31
+ readonly container: false;
32
+ readonly description: "Semantic heading";
33
+ };
34
+ readonly Divider: {
35
+ readonly container: false;
36
+ readonly description: "Visual separator";
37
+ };
38
+ readonly Spacer: {
39
+ readonly container: false;
40
+ readonly description: "Responsive empty space";
41
+ };
42
+ readonly Badge: {
43
+ readonly container: false;
44
+ readonly description: "Compact status label";
45
+ };
46
+ readonly Alert: {
47
+ readonly container: false;
48
+ readonly description: "Highlighted message";
49
+ };
50
+ readonly Image: {
51
+ readonly container: false;
52
+ readonly description: "Remote image with alt text";
53
+ };
54
+ readonly Link: {
55
+ readonly container: false;
56
+ readonly description: "Safe external link";
57
+ };
58
+ readonly List: {
59
+ readonly container: false;
60
+ readonly description: "Ordered or unordered text list";
61
+ };
62
+ readonly Table: {
63
+ readonly container: false;
64
+ readonly description: "Tabular records with columns";
65
+ };
66
+ readonly NumberInput: {
67
+ readonly container: false;
68
+ readonly description: "Bound numeric input";
69
+ };
70
+ readonly Slider: {
71
+ readonly container: false;
72
+ readonly description: "Bound numeric range input";
73
+ };
74
+ readonly TextInput: {
75
+ readonly container: false;
76
+ readonly description: "Bound single-line text input";
77
+ };
78
+ readonly TextArea: {
79
+ readonly container: false;
80
+ readonly description: "Bound multiline text input";
81
+ };
82
+ readonly Select: {
83
+ readonly container: false;
84
+ readonly description: "Bound option selector";
85
+ };
86
+ readonly Checkbox: {
87
+ readonly container: false;
88
+ readonly description: "Bound boolean checkbox";
89
+ };
90
+ readonly Toggle: {
91
+ readonly container: false;
92
+ readonly description: "Bound boolean switch";
93
+ };
94
+ readonly Button: {
95
+ readonly container: false;
96
+ readonly description: "Local state action button";
97
+ };
98
+ readonly Tabs: {
99
+ readonly container: false;
100
+ readonly description: "Bound tab selector";
101
+ };
102
+ readonly Metric: {
103
+ readonly container: false;
104
+ readonly description: "Key performance indicator";
105
+ };
106
+ readonly ProgressBar: {
107
+ readonly container: false;
108
+ readonly description: "Progress toward a maximum";
109
+ };
110
+ readonly Chart: {
111
+ readonly container: false;
112
+ readonly description: "Bar, line, area, scatter, pie, or labeled ternary positioning chart";
113
+ };
114
+ };
115
+ export type PickaxeJsonRenderComponentType = keyof typeof PICKAXE_JSON_RENDER_CATALOG;
116
+ export declare const PICKAXE_JSON_RENDER_COMPONENT_TYPES: Set<string>;
@@ -0,0 +1,15 @@
1
+ import type { PickaxeVisualizationData } from "../../../../types/history";
2
+ type VisualizationResult = {
3
+ data: PickaxeVisualizationData;
4
+ error?: never;
5
+ } | {
6
+ data?: never;
7
+ error: string;
8
+ fallbackText: string;
9
+ title?: string;
10
+ };
11
+ export declare const parseVisualizationPart: (content: string) => VisualizationResult;
12
+ declare const VisualizationPart: ({ content }: {
13
+ content: string;
14
+ }) => import("react/jsx-runtime").JSX.Element;
15
+ export default VisualizationPart;
@@ -40,7 +40,7 @@ export type PickaxeHistoryMessage = {
40
40
  createdAt: string;
41
41
  area?: PickaxeHistoryMessageArea;
42
42
  };
43
- export type PickaxeHistoryMessagePartsType = "text" | "reasoning" | "data-action-tool-caption" | "data-reasoning-caption" | "data-tool-assets" | "data-action-approval";
43
+ export type PickaxeHistoryMessagePartsType = "text" | "reasoning" | "data-action-tool-caption" | "data-reasoning-caption" | "data-tool-assets" | "data-visualization" | "data-action-approval";
44
44
  export type PickaxeHistoryMessagePart = {
45
45
  type: PickaxeHistoryMessagePartsType;
46
46
  content: string;
@@ -73,10 +73,38 @@ export type PickaxeHistoryStreamDataReasoningCaption = {
73
73
  caption: string;
74
74
  };
75
75
  };
76
+ export type PickaxeVisualizationData = {
77
+ visualizationId: string;
78
+ title: string;
79
+ fallbackText: string;
80
+ protocol: "json-render";
81
+ protocolVersion: "0.21";
82
+ surfaceId: string;
83
+ status: "ready" | "error";
84
+ spec: {
85
+ root: string;
86
+ elements: Record<string, {
87
+ type: string;
88
+ props: Record<string, unknown>;
89
+ children: string[];
90
+ visible?: unknown;
91
+ }>;
92
+ state?: Record<string, unknown>;
93
+ };
94
+ errors?: Array<{
95
+ code: string;
96
+ path: string;
97
+ message: string;
98
+ }>;
99
+ };
100
+ export type PickaxeHistoryStreamDataVisualization = {
101
+ type: "data-visualization";
102
+ data: PickaxeVisualizationData;
103
+ };
76
104
  export type PickaxeHistoryStreamDataActionApproval = {
77
105
  type: "data-action-approval";
78
106
  data: ActionApprovalData;
79
107
  };
80
- export type PickaxeHistoryStreamData = PickaxeHistoryStreamDataActionApproval | PickaxeHistoryStreamDataActionToolCaption | PickaxeHistoryStreamDataReasoningCaption;
108
+ export type PickaxeHistoryStreamData = PickaxeHistoryStreamDataActionApproval | PickaxeHistoryStreamDataActionToolCaption | PickaxeHistoryStreamDataReasoningCaption | PickaxeHistoryStreamDataVisualization;
81
109
  export type PickaxeHistoryStream = PickaxeHistoryStreamPartStartEnd | PickaxeHistoryStreamPartDelta | PickaxeHistoryStreamFinish | PickaxeHistoryStreamData;
82
110
  export {};
@@ -1 +1 @@
1
- const t=t=>{if("string"==typeof t)return t;if(null==t)return"";try{return JSON.stringify(t)}catch(e){return String(t)}},e=e=>{if(!e||"object"!=typeof e)return null;const r=e;return"string"!=typeof r.type?null:{type:r.type,content:t(r.content),isVisible:!1!==r.isVisible}},r=(t,r)=>{let n=t;if("string"==typeof n)try{const t=JSON.parse(n);Array.isArray(t)&&(n=t)}catch(t){}if(Array.isArray(n))return n.map(e).filter((t=>null!==t));const s=e(n);if(s)return[s];const i="string"==typeof n?n:r;return"string"==typeof i&&i?[{type:"text",content:i,isVisible:!0}]:[]},n=t=>Array.isArray(t)?t.flatMap((t=>{var e;if(!t||"object"!=typeof t)return[];const n=t;return"user"!==n.role&&"assistant"!==n.role?[]:[Object.assign(Object.assign({},n),{documentIds:Array.isArray(n.documentIds)?n.documentIds.filter((t=>"string"==typeof t)):[],parts:r(n.parts,null!==(e=n.content)&&void 0!==e?e:n.message)})]})):[],s=t=>{var e,n;const s=r(t.parts).filter((t=>!1!==t.isVisible)),i=s.filter((t=>"text"===t.type)).map((t=>{var e;return null!==(e=t.content)&&void 0!==e?e:""})).join(""),l=i.replace(/\s+/g," ").replace(/\s*([.,!?;:])\s*/g,"$1").trim();return l?JSON.stringify({role:t.role,text:l,documentIds:null!==(e=t.documentIds)&&void 0!==e?e:[]}):JSON.stringify({role:t.role,documentIds:null!==(n=t.documentIds)&&void 0!==n?n:[],parts:s.map((t=>{var e;return{type:t.type,content:null!==(e=t.content)&&void 0!==e?e:""}}))})},i=(t,e)=>{if(!t.length)return e;if(!e.length)return t;const r=e.map(s),n=t.map(s),i=((t,e)=>{const r=Array.from({length:t.length+1},(()=>Array(e.length+1).fill(0)));for(let n=t.length-1;n>=0;n-=1)for(let s=e.length-1;s>=0;s-=1)r[n][s]=t[n]===e[s]?r[n+1][s+1]+1:Math.max(r[n+1][s],r[n][s+1]);return r})(r,n),l=[];let o=0,u=0;for(;o<e.length&&u<t.length;){const s=i[o][u];if(r[o]===n[u]){if(i[o+1][u]===s){l.push(e[o]),o+=1;continue}if(i[o][u+1]===s){l.push(t[u]),u+=1;continue}l.push(e[o]),o+=1,u+=1}else i[o+1][u]>=i[o][u+1]?(l.push(e[o]),o+=1):(l.push(t[u]),u+=1)}return[...l,...e.slice(o),...t.slice(u)]};export{i as mergeConversationMessages,n as normalizeHistoryMessages,r as normalizeMessageParts};
1
+ import{stripUploadedDocumentAnnotations as t}from"./formatUserMessage.js";const e=t=>{if("string"==typeof t)return t;if(null==t)return"";try{return JSON.stringify(t)}catch(e){return String(t)}},r=t=>{if(!t||"object"!=typeof t)return null;const r=t;return"string"!=typeof r.type?null:{type:r.type,content:e(r.content),isVisible:!1!==r.isVisible}},n=(t,e)=>{let n=t;if("string"==typeof n)try{const t=JSON.parse(n);Array.isArray(t)&&(n=t)}catch(t){}if(Array.isArray(n))return n.map(r).filter((t=>null!==t));const s=r(n);if(s)return[s];const i="string"==typeof n?n:e;return"string"==typeof i&&i?[{type:"text",content:i,isVisible:!0}]:[]},s=t=>Array.isArray(t)?t.flatMap((t=>{var e;if(!t||"object"!=typeof t)return[];const r=t;return"user"!==r.role&&"assistant"!==r.role?[]:[Object.assign(Object.assign({},r),{documentIds:Array.isArray(r.documentIds)?r.documentIds.filter((t=>"string"==typeof t)):[],parts:n(r.parts,null!==(e=r.content)&&void 0!==e?e:r.message)})]})):[],i=e=>{var r;const s=n(e.parts).filter((t=>!1!==t.isVisible)).map((r=>{var n,s;return{type:r.type,content:"user"===e.role&&"text"===r.type?t(null!==(n=r.content)&&void 0!==n?n:""):null!==(s=r.content)&&void 0!==s?s:""}})),i=s.filter((t=>"text"===t.type)).map((t=>t.content)).join(""),o=i.replace(/\s+/g," ").replace(/\s*([.,!?;:])\s*/g,"$1").trim();const l=[...new Set(null!==(r=e.documentIds)&&void 0!==r?r:[])].sort();return o?JSON.stringify({role:e.role,text:o,documentIds:l}):JSON.stringify({role:e.role,documentIds:l,parts:s})},o=(t,e)=>{if(!t.length)return e;if(!e.length)return t;const r=e.map(i),n=t.map(i),s=((t,e)=>{const r=Array.from({length:t.length+1},(()=>Array(e.length+1).fill(0)));for(let n=t.length-1;n>=0;n-=1)for(let s=e.length-1;s>=0;s-=1)r[n][s]=t[n]===e[s]?r[n+1][s+1]+1:Math.max(r[n+1][s],r[n][s+1]);return r})(r,n),o=[];let l=0,u=0;for(;l<e.length&&u<t.length;){const i=s[l][u];if(r[l]===n[u]){if(s[l+1][u]===i){o.push(e[l]),l+=1;continue}if(s[l][u+1]===i){o.push(t[u]),u+=1;continue}o.push(e[l]),l+=1,u+=1}else s[l+1][u]>=s[l][u+1]?(o.push(e[l]),l+=1):(o.push(t[u]),u+=1)}return[...o,...e.slice(l),...t.slice(u)]};export{o as mergeConversationMessages,s as normalizeHistoryMessages,n as normalizeMessageParts};
@@ -0,0 +1 @@
1
+ const e=["pxtoken","px_checkout_scope","px_checkout_id","px_checkout_session_id","px_checkout_parent_origin","px_embed_return_url","px_embed_deployment_id"],t=()=>{if("undefined"!=typeof window)try{const t=new URL(window.location.href),r=t.searchParams.get("px_embed_return_url")||(window.parent!==window?document.referrer:t.toString());if(!r)return;const n=new URL(r);if(r.length>8192||!["http:","https:"].includes(n.protocol)||n.username||n.password)return;return e.forEach((e=>n.searchParams.delete(e))),n.toString()}catch(e){return}};export{t as getEmbedAccessRequestReturnUrl};
@@ -1 +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
+ function s(s){return s.replace(/<!--\s*UPLOADED DOCUMENT:[\s\S]*?(?:-->|$)(?:\r?\n)*/g,"")}function t(t){var e;const n=s(t),l=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`},o=[];let r="",c=null;for(const s of null!==(e=n.match(/[^\n]*\n|[^\n]+$/g))&&void 0!==e?e:[]){const t=/^ {0,3}(`{3,}|~{3,})(.*)/.exec(s);c?(o.push(s),t&&t[1][0]===c.char&&t[1].length>=c.length&&!t[2].trim()&&(c=null)):t?(o.push(l(r),s),r="",c={char:t[1][0],length:t[1].length}):r+=s}return o.push(l(r)),o.join("")}export{t as formatUserMessage,s as stripUploadedDocumentAnnotations};
@@ -1 +1 @@
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 r}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleFontSize as a}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:R,pickaxe:A,styles:P,colors:S,misc:M,responsiveBy:L,disableHtml:H,disableJs:T,disableCss:J,isNewChat:V,isRtl:B}=r(),{isGenerating:D}=n(),{onLoadArtifact:F}=m(),U=a(),z=null!==(I=null==A?void 0:A.chaticon)&&void 0!==I?I:`https://cdn.mail.studio/chaticons/${R}.png`,E=N&&D,G=null==A?void 0:A.enablereadout,{isLoading:$,isSpeaking:q,speak:K,stop:Q}=v(G&&"assistant"===y.role,{provider:null==A?void 0:A.readoutprovider,pickaxeId:R,voiceName:null==A?void 0:A.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:P.theme,colors:S,isStreaming:E},B&&{rtl:!0},H&&{disableHtml:!0},T&&{disableJs:!0},J&&{disableCss:!0},{disableReasoning:null!==(C=null==A?void 0:A.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({responseReference:y.responseReference,content:y.parts.filter((e=>e.isVisible&&"text"===e.type)).map((e=>e.content)).join("\n"),index:k},"intromessage"===y.area&&{isHideFeedback:!0,isHideResponseAction:!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:P.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:P.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
+ 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:R,pickaxe:A,styles:P,colors:S,misc:M,responsiveBy:L,disableHtml:H,disableJs:T,disableCss:J,isNewChat:V,isRtl:z}=a(),{isGenerating:B}=n(),{onLoadArtifact:D}=m(),F=r(),U=null!==(I=null==A?void 0:A.chaticon)&&void 0!==I?I:`https://cdn.mail.studio/chaticons/${R}.png`,E=N&&B,G=null==A?void 0:A.enablereadout,{isLoading:$,isSpeaking:q,speak:K,stop:Q}=v(G&&"assistant"===y.role,{provider:null==A?void 0:A.readoutprovider,pickaxeId:R,voiceName:null==A?void 0:A.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","data-visualization"].includes(e.type)));return"assistant"===y.role?e("div",Object.assign({className:f("flex w-full",z?"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",z&&"flex-row-reverse")},{children:[M.isChatImage&&"NONE"!==U&&e(c,{src:U,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",z?"items-end":"items-start")},{children:[s("div",Object.assign({className:f(F.b2,"chat-message pt-3 w-full",z?"text-right":"text-left")},{children:[e(l,Object.assign({theme:P.theme,colors:S,isStreaming:E},z&&{rtl:!0},H&&{disableHtml:!0},T&&{disableJs:!0},J&&{disableCss:!0},{disableReasoning:null!==(C=null==A?void 0:A.enablereasoningdisplay)&&void 0!==C&&C,onArtifactClick:D},{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({responseReference:y.responseReference,content:y.parts.filter((e=>e.isVisible&&"text"===e.type)).map((e=>e.content)).join("\n"),index:k},"intromessage"===y.area&&{isHideFeedback:!0,isHideResponseAction:!0},{onReadOut:W,isReadOut:G||!1,isReadOutLoading:$,isReading:q}))}))]}))]}))}))})):"user"===y.role?e("div",Object.assign({className:f("flex w-full",z?"justify-start":"justify-end")},{children:e("div",Object.assign({className:f("flex gap-x-3 max-w-[80%]",z?"pr-9":"pl-9","viewport"===L?z?"min-[767px]:pr-0":"min-[767px]:pl-0":z?"@[767px]/pickaxe-root:pr-0":"@[767px]/pickaxe-root:pl-0")},{children:s("div",Object.assign({className:f(F.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",z?"text-right":"text-left"),style:{backgroundColor:S.secondary+"80",color:S.secondaryText,borderRadius:P.cornerRadius}},{children:[y.documentIds&&y.documentIds.length>0&&e("div",Object.assign({className:f("flex flex-col gap-y-2",z?"items-start":"items-end")},{children:y.documentIds.map((s=>e(o,{children:e(d,{documentId:s})},s)))})),e(l,Object.assign({theme:P.theme,colors:S},z&&{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{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as o,Fragment as s}from"react/jsx-runtime";import{canChat as i}from"../../../common/canChat.js";import{useEndUserModel as r}from"../../../hooks/pickaxe/useEndUserModel.js";import a from"../common/EndUserModelPicker.js";import{updateStreamTextPart as l,upsertActionApprovalPart as d}from"../../../common/actionApproval.js";import{forwardRef as c,useState as u,useRef as p,useCallback as m,useEffect as g,useMemo as f,useImperativeHandle as v}from"react";import{usePickaxeContext as h}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as b}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as y}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as x}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as j}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as I}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as w}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as k}from"../Addons/Document/hooks/useDocument.js";import{useScroll as O}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as N}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as S}from"../../../hooks/core/useHover.js";import{useMediaQuery as C}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as E,allowedImageMimeTypes as _,additionalAllowedFileExtensions as T}from"../../../common/documents.js";import{createParser as U}from"eventsource-parser";import A from"../../Icons/attach-vertical.svg.js";import P from"../../Icons/arrow-right.svg.js";import D from"../../Icons/microphone.svg.js";import L from"../../Icons/message-clock.svg.js";import M from"../../Icons/stop.svg.js";import R from"../../Icons/trash.svg.js";import $ from"../../Icons/pencil.svg.js";import B from"../Addons/Document/List.js";import X from"../../Core/Textarea.js";import K from"../../Core/ErrorAlert.js";import F from"../../Core/Menu/index.js";import G from"../../Core/Menu/Button.js";import V from"../../Core/Menu/List.js";import H from"../../../common/error.js";import{pickaxeApi2 as W}from"../../../common/api/pickaxe.js";import{getValidationFailure as q}from"../../../common/validation.js";import J from"../../../common/cn.js";import{buildUpgradeUrl as z,openAuthenticatedPricingUrl as Q,initializeEmbedUserId as Y}from"../../../common/utils.js";import{getPickaxeConfigMetadata as Z}from"../../../common/pickaxeConfig.js";import{readAgentPrefill as ee}from"../../../common/agentPrefill.js";import{fireDeploymentSessionInitializedWebhook as te,fireDeploymentFirstMessageSubmittedWebhook as ne}from"../../../common/deploymentWebhooks.js";import{useStudio as oe}from"../../../hooks/studio/useStudio.js";import{useSpeechToText as se}from"../../../hooks/pickaxe/useSpeechToText.js";import{STUDIO_INFINITY_VALUE as ie}from"../common/PickaxeCommon.js";const re=(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},ae=e=>"string"==typeof e&&e.trim().length>0,le=()=>"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`,de=e=>e.map((e=>Object.assign({},e))),ce=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),ue=(e,t)=>{if(e&&"object"==typeof e)return e[t]},pe=(e,t)=>{const n=ue(e,t);return ae(n)?n:null},me=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ge=({studioUser:e,deploymentId:t,portalId:n})=>{var o,s;const i=Array.isArray(ue(e,"uses"))?ue(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>ae(e)?{type:"deployment",id:e}:ae(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(s=null!==(o=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==o?o:i.find((e=>e.id===r.id)))&&void 0!==s?s:null;return{scope:r,record:a}},fe=c((({resubmitPrompt:c,onFocus:ue,onBlur:fe,onInputHeightChange:ve,initSmitheryAuthData:he},be)=>{var ye,xe,je,Ie,we,ke,Oe,Ne,Se,Ce,Ee,_e,Te,Ue,Ae,Pe,De,Le;const{origin:Me,pickaxeId:Re,sessionId:$e,sender:Be,senderType:Xe,portalId:Ke,deploymentId:Fe,deploymentType:Ge,pickaxe:Ve,styles:He,colors:We,translations:qe,locale:Je,forceMobile:ze,isNewChat:Qe,isRtl:Ye,isEmbed:Ze,isShowFeedbackMessage:et,accessGroup:tt,setIsNewChat:nt,setIsShowIceBreaker:ot,setValidationStatus:st,setValidationUpgradeGroups:it,setValidationUpgradeUrl:rt,setAccessGroup:at,onUpgrade:lt,onGenerateComplete:dt}=h(),{value:ct,enabled:ut}=r(),{token:pt,isLoggedOut:mt,isSent:gt,isPricingAuth:ft}=w(),{messages:vt,isGenerating:ht,setMessages:bt,setStatus:yt,setLimitData:xt,setError:jt,setActionApprovalToken:It}=b(),{documents:wt,isUploading:kt,documentError:Ot,onFileUpload:Nt,setDocuments:St,setDocumentError:Ct}=k(),{studio:Et}=oe(),[_t]=C("(max-width: 480px)"),{scrollStartSession:Tt,scrollEndSession:Ut,scrollToBottom:At}=O({auto:!0,smooth:!(ze||_t)}),{artifacts:Pt,currentPopupType:Dt,setArtifacts:Lt,setCurrentArtifact:Mt}=N(),{height:Rt}=I(),$t=j(),[Bt,Xt]=u((()=>ee([Fe,Re]).chatInput)),[Kt,Ft]=u(!1),[Gt,Vt]=u(!1),[Ht,Wt]=u(!1),[qt,Jt]=u(!1),[zt,Qt]=u([]),[Yt,Zt]=u(!1),[en,tn]=u(null),[nn,on]=u(null),[sn,rn]=u(null),[an,ln]=u(null),[dn,cn]=u(!1),[un,pn]=u(!1),[mn,gn]=u(0),fn=p(null),vn=p(""),hn=p(null),bn=p(null),yn=p(null),xn=p([]),jn=p(null),In=p(null),wn=p(null),kn=p(null),On=p(new Set),Nn=p(null),Sn=Math.max(.4*Rt,100),{speechTranscript:Cn,isSpeechListening:En,isSpeechProcessing:_n,isSpeechSupported:Tn,onStartListening:Un,onStopListening:An}=se(),Pn=S(),{isHover:Dn}=Pn,Ln=e(Pn,["isHover"]),Mn=S(),{isHover:Rn}=Mn,$n=e(Mn,["isHover"]),Bn=S(),{isHover:Xn}=Bn,Kn=e(Bn,["isHover"]),Fn=x(),Gn=y(),Vn="undefined"!=typeof window?window.location.hostname:"",Hn="undefined"!=typeof window?window.location.href:"",Wn="undefined"!=typeof window&&window.self!==window.top,qn=Vn.includes("pickaxe.co")&&!Hn.includes("https://studio.pickaxe.co/_embed")&&!Wn,Jn=null!==(xe=null===(ye=null==Ve?void 0:Ve.documentuploadtype)||void 0===ye?void 0:ye.startsWith("enduserupload"))&&void 0!==xe&&xe,zn=Tn&&(null==Ve?void 0:Ve.enablevoicetotext),Qn=En&&!Bt.trim(),Yn=ae(Fe),Zn="chat-input"===Ge&&Qe&&!gt,eo="chat-input"===Ge&&ft&&mt&&gt,to=m((e=>{const t=q(e);return!!t&&(jt(""),xt(null),st(t.status),at(t.accessGroup),it(t.upgradeGroups),rt(t.upgradeUrl),!0)}),[jt,It,xt,st,it,rt,at]),no=null!==(je=null==Ve?void 0:Ve.placeholdertext)&&void 0!==je?je:Ye?"بماذا تريد أن تتحدث؟":(null==qe?void 0:qe["what-do-you-want-to-talk-about"])||"What do you want to talk about?",oo=Kt||Gt,so=m((()=>t(void 0,void 0,void 0,(function*(){cn(!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==Ve?void 0:Ve.studioid},pt?{studioSessionToken:pt}:Be?{sender:Be}:{sender:Y()}))},(!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}})),qn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(rn(t.studioUser),ln(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{cn(!0)}}))),[qn,null==Ve?void 0:Ve.studioid,Be,pt]);g((()=>{so()}),[so]);const io=Number(null!==(Ie=null==tt?void 0:tt.limit)&&void 0!==Ie?Ie:0),ro="string"==typeof(null==tt?void 0:tt.limitInterval)?tt.limitInterval:null,ao=!!(null==Et?void 0:Et.data.usage)&&Et.data.usage.isCredits,lo=f((()=>{var e,t,n,o,s;return null!==(s=null!==(o=null!==(n=null!==(t=null!==(e=null!=Ke?Ke:pe(sn,"portalId"))&&void 0!==e?e:pe(sn,"portalid"))&&void 0!==t?t:pe(tt,"portalId"))&&void 0!==n?n:pe(tt,"portalid"))&&void 0!==o?o:pe(Ve,"portalId"))&&void 0!==s?s:pe(Ve,"portalid")}),[tt,Ke,Ve,sn]),co=f((()=>ge({studioUser:sn,deploymentId:Fe,portalId:lo})),[Fe,lo,sn]);g((()=>{Yn&&Qe&&$e&&On.current.add($e)}),[Qe,$e,Yn]);const uo=m((()=>{var e,t,n;return{studioId:null==Ve?void 0:Ve.studioid,userEmail:pe(sn,"email"),userId:null!==(e=pe(sn,"userId"))&&void 0!==e?e:pe(sn,"userid"),sessionId:$e,deploymentId:Fe,deploymentType:Ge,portalId:lo,accessGroupId:null!==(t=null==tt?void 0:tt.accessGroupId)&&void 0!==t?t:null,pickaxeId:Re,sender:Be,senderType:Xe,origin:Me,metadata:null!==(n=Z(Fe))&&void 0!==n?n:null}}),[null==tt?void 0:tt.accessGroupId,Fe,Ge,Me,null==Ve?void 0:Ve.studioid,Re,lo,Be,Xe,$e,sn]),po=m((()=>!!(Yn&&dn&&$e)&&(!!On.current.has($e)&&(te(uo()),On.current.delete($e),!0))),[uo,dn,$e,Yn]);g((()=>{if(!dn||!$e)return;po();const e=Nn.current;(null==e?void 0:e.sessionId)===$e&&(ne(Object.assign(Object.assign(Object.assign({},e),uo()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Nn.current=null)}),[po,uo,dn,$e]);const mo={currentUses:me(null==sn?void 0:sn.currentUses),extraUses:me(null==sn?void 0:sn.extraUses)},go=co.scope?{currentUses:null!==(ke=me(null===(we=co.record)||void 0===we?void 0:we.currentUses))&&void 0!==ke?ke:0,extraUses:null!==(Ne=me(null===(Oe=co.record)||void 0===Oe?void 0:Oe.extraUses))&&void 0!==Ne?Ne:0}:{currentUses:0,extraUses:0},fo=pe(sn,"type"),vo="guest"===fo||!fo&&mt?go:mo;g((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(ao&&(null===(t=null==Et?void 0:Et.data)||void 0===t?void 0:t.workspaceId))try{const t=yield W.get(`/cost_per_run?workspaceId=${Et.data.workspaceId}`,{withCredentials:!1});e&&gn(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&gn(0)}else e&&gn(0)})),()=>{e=!1}}),[ao,null===(Se=null==Et?void 0:Et.data)||void 0===Se?void 0:Se.workspaceId]);const ho=(({accessGroupType:e,currentUses:t,extraUses:n,limit:o,limitInterval:s})=>{const i=Number(null!=t?t:0),r=Number(null!=n?n:0);return"public"===e&&"one_time"===s?o===ie?ie:Math.max(0,o-i):o===ie||r===ie?ie:"one_time"===s?Math.max(0,r-i):Math.max(0,o-i)+r})({accessGroupType:null==tt?void 0:tt.type,currentUses:vo.currentUses,extraUses:vo.extraUses,limit:io,limitInterval:ro}),bo=ho===ie?ie:Math.max(0,Math.ceil(ho)),yo=(({accessGroupType:e,extraUses:t,limit:n,limitInterval:o})=>{const s=Number(null!=t?t:0);return"public"===e&&"one_time"===o?n===ie?ie:Math.max(0,n):n===ie||s===ie?ie:"one_time"===o?Math.max(0,s):Math.max(0,n)+Math.max(0,s)})({accessGroupType:null==tt?void 0:tt.type,extraUses:vo.extraUses,limit:io,limitInterval:ro}),xo=yo===ie?ie:Math.ceil(.05*yo),jo=ao?Math.ceil(5*mn):5,Io=xo===ie?ie:Math.max(xo,jo),wo=f((()=>!!sn&&(!un&&(bo!==ie&&(!(yo<=0||bo>=yo)&&bo<=Io)))),[un,Io,bo,sn,yo]),ko=Boolean(null==tt?void 0:tt.hideUpgradeOptions),Oo=Boolean(!ko&&((null===(Ce=null==tt?void 0:tt.upgrade)||void 0===Ce?void 0:Ce.isBuyMoreUses)||(null===(Ee=null==tt?void 0:tt.upgrade)||void 0===Ee?void 0:Ee.isLinkToCustomURL)||(null===(_e=null==tt?void 0:tt.upgrade)||void 0===_e?void 0:_e.isUpgradeToAnotherGroup)&&(null===(Te=tt.upgrade.accessGroupIds)||void 0===Te?void 0:Te.length))),No=!ko&&(null===(Ue=null==tt?void 0:tt.upgrade)||void 0===Ue?void 0:Ue.isLinkToCustomURL)&&"string"==typeof tt.upgrade.limitLink&&tt.upgrade.limitLink.trim().length>0?tt.upgrade.limitLink.trim():null,So=No&&"string"==typeof(null===(Ae=null==tt?void 0:tt.upgrade)||void 0===Ae?void 0:Ae.limitCTA)&&tt.upgrade.limitCTA.trim().length>0?tt.upgrade.limitCTA:(null==qe?void 0:qe["pricing.upgrade"])||(null==qe?void 0:qe.upgrade)||"Upgrade",Co=f((()=>{var e,t,n;return!!Qe&&(!!Ve&&(!$t.isLoading&&(!((null!==(t=null===(e=$t.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Ve.icebreakers)||void 0===n?void 0:n.length)&&(!et&&!Zn)))))}),[Ve,Qe,et,Zn,$t.data,$t.isLoading]),Eo=f((()=>{if(kt||Ht)return!1;const e=Jn&&wt.length>0&&wt.every((e=>"finished"===e.status));return!(!Bt.trim()&&!e)&&wt.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Jn,kt,Ht,Bt,wt]);v(be,(()=>({onSubmit:Po}))),g((()=>{ot(Co)}),[Co]),g((()=>{var e;if(c){const t=Array.from(vt),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Po(n,!0)}}),[c]),g((()=>{if(!wn.current||!ve)return;const e=new ResizeObserver((e=>{for(const t of e)ve(t.contentRect.height)}));return e.observe(wn.current),()=>{e.disconnect()}}),[ve]),g((()=>{if(!En)return;const e=vn.current?`${vn.current} `:"";Xt(`${e}${Cn}`)}),[Cn,En]),g((()=>{if(!jn.current)return;(()=>{if(!jn.current)return;let e=jn.current.scrollHeight>52;Bt.includes("\n")||wt.length?e=!0:Bt.trim()||(e=!1),Ft(e)})()}),[Bt,wt]),g((()=>{const e=jn.current,t=In.current;if(!e||!t||ut||Kt||Bt.includes("\n"))return void Vt(!1);const n=window.getComputedStyle(e),o=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,s=document.createElement("span");Object.assign(s.style,{font:o,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),s.textContent=Bt||no,document.body.appendChild(s);const i=s.offsetWidth;s.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;Vt(i>l)}),[Bt,Kt,no,ut]);const _o=e=>t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:bn.current))return!1;const t=de(xn.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})},qn&&{credentials:"include"}))).ok}catch(e){return console.warn("Failed to cancel submission",e),!1}})),To=e=>{yn.current=e,kn.current&&(kn.current.abort(),kn.current=null),hn.current&&(hn.current.cancel().catch((()=>{})),hn.current=null)},Uo=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}))},qn&&{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})),Ao=()=>{const e=bn.current;e&&!Ht&&!kt&&Bt.trim()&&(Qt((t=>{var n,o;return[...t,{id:le(),message:Bt,predecessorSubmissionId:null!==(o=null===(n=t[t.length-1])||void 0===n?void 0:n.id)&&void 0!==o?o:e}]})),Xt(""))},Po=(e,n=!1,o=!1,s,r=!1)=>t(void 0,void 0,void 0,(function*(){var t,a,c,u,p;if(!i(Ve))return;let m=null;try{if(ht&&!o||kt)return;const i=wt.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),g=i.map((e=>e.documentId)).filter(Boolean),f=i.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),v=null!=e?e:Bt,h=null!==(a=null===(t=null==Ve?void 0:Ve.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==a&&a&&g.length>0;if(!v&&!h)return;jt(""),Ct(""),xt(null),Xt(""),nt(!1),Jt(!1),yt("fetching"),Tt(),At();const b=n?vt.slice(0,vt.length-1):vt,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];bt(I),At(),h&&St([]);const w=Z(Fe),k=null!=s?s:le();m=k,bn.current=k,yn.current=null,xn.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:ct||void 0,origin:Me,pickaxeId:Re,sessionId:$e,submissionId:k},r&&{interactionType:"steer"}),{senderType:Xe,value:v}),h&&{documentIds:g}),Be&&{sender:Be}),pt&&{studioSessionToken:pt}),!pt&&!Be&&{sender:Y()}),lo&&{portalId:lo}),Fe&&{deploymentId:Fe}),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()})},qn&&{credentials:"include"})),N=yield O.json();if(!N.success){if(N.limitData){const e=new Error(N.error||N.message||(null==qe?void 0:qe["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=N.limitData,e}if(to(N))return;throw new Error(N.error||N.message||(null==qe?void 0:qe["failed-to-start-generation"])||"Failed to start generation")}It(null!==(c=N.actionApprovalToken)&&void 0!==c?c:null);const S=null!==(u=N.submissionId)&&void 0!==u?u:k;m=S,bn.current=S;const C=()=>yn.current===S;if(C())return;Yn&&Qe&&$e&&On.current.add($e);const E=Object.assign(Object.assign({},uo()),{message:v,documentIds:h?g:[],uploadedModelImages:h?f:[],hasUploadedDocuments:h,isHidden:n,metadata:null!=w?w:null});dn?(po(),ne(E)):Nn.current=E,yt("streaming"),kn.current=new AbortController;const _=[];let T=[...null!=Pt?Pt:[]],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===(p=kn.current)||void 0===p?void 0:p.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();hn.current=t;const n=new TextDecoder,o=U({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 xt(t.limitData),jt(""),void(P=!0);const n=t.error||t.message||(null==qe?void 0:qe["something-went-wrong"])||"Something went wrong.";return to(t)||jt(n),void(P=!0)}if("delta"===e.event){const o=JSON.parse(e.data);if("finish"===o.type)return void Jt(!0);if("data-error"===o.type&&he){const e=o.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*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw P=!0,he({provider:"smithery",smitheryId:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}else if(n){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw P=!0,he({provider:"composio",toolkitSlug:t[1],serverId:n[1],name:o[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,he({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,he({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===o.type)D="",_.push({type:"text",content:"",isVisible:null===(t=o.isVisible)||void 0===t||t});else if("text-delta"===o.type)D+=o.delta,l(_,"text",D);else if("text-end"===o.type)D="";else if("reasoning-start"===o.type)D="",_.push({type:"reasoning",content:"",isVisible:null===(n=o.isVisible)||void 0===n||n});else if("reasoning-delta"===o.type)D+=o.delta,l(_,"reasoning",D);else if("reasoning-end"===o.type)D="";else if(o.type.startsWith("data-")){const e=o;"data-action-approval"===e.type?d(_,e.data):_.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}xn.current=de(_);const s=de(_);bt((e=>{const t=e.findIndex((e=>e.id===x)),n=Object.assign(Object.assign({},j),{parts:s});return-1===t?[...e,n]:e.map(((e,o)=>o===t?n:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Lt([...T]),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Lt(T),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Lt(T),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");T=T.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),Lt(T)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Lt(T.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 xt(t.limitData),jt(""),void(P=!0);const n=t.error||t.message||(null==qe?void 0:qe["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(to(t))return void(P=!0);jt(n)}else"stop"===e.event&&(P=!0)}else P=!0}});for(;;){if(C()){P=!0,t.cancel().catch((()=>{}));break}const{value:e,done:s}=yield t.read();if(C()){P=!0,t.cancel().catch((()=>{}));break}if(s)break;o.feed(n.decode(e))}P||C()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||ce(e)||C())return void(P=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==dt||dt($e)}catch(e){if(ce(e))return;if(e.limitData)xt(e.limitData),jt("");else{let t=H(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==qe?void 0:qe["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),to(t)||jt(t)}}finally{const e=!m||bn.current===m;At(),e&&(yt("idle"),Ut(),hn.current=null),m&&e&&(bn.current=null,xn.current=[]),yield so()}}));return g((()=>{if(ht||Ht||Yt||0===zt.length)return;const e=zt[0];Zt(!0),tn(e.id),t(void 0,void 0,void 0,(function*(){try{if(!(yield Uo(e.predecessorSubmissionId)))return void jt((null==qe?void 0:qe["queued-message-waiting"])||"A queued message is waiting for the previous response to finish.");Qt((t=>t.filter((t=>t.id!==e.id)))),yield Po(e.message,!1,!0,e.id)}finally{Zt(!1),tn(null)}}))}),[ht,Yt,Ht,zt]),eo?null:n("div",Object.assign({className:J("flex w-full flex-shrink-0 flex-col items-center",!Zn&&"px-4 pb-8"),dir:Ye?"rtl":"ltr"},{children:o("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[zt.length>0&&n("div",Object.assign({className:"mx-3 -mb-3 overflow-hidden border pb-3",style:{borderColor:We.text+"18",backgroundColor:null!==(Pe=Gn.backgroundColor)&&void 0!==Pe?Pe:We.text+"08",color:We.text,borderTopLeftRadius:Math.max(He.cornerRadius-4,12),borderTopRightRadius:Math.max(He.cornerRadius-4,12)}},{children:zt.map(((e,i)=>{var r;return o("div",Object.assign({className:"flex min-h-10 items-center gap-2 px-3 py-2",style:i<zt.length-1?{borderBottom:`1px solid ${We.text}12`}:void 0},{children:[n(L,{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})),nn===e.id||en===e.id?o("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"}),nn===e.id?(null==qe?void 0:qe.steering)||"Steering...":(null==qe?void 0:qe.starting)||"Starting..."]})):o(s,{children:[o("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:Ht||!ht,onClick:()=>{(e=>{t(void 0,void 0,void 0,(function*(){const t=bn.current;if(!t||Ht)return;const n=zt.findIndex((t=>t.id===e.id));if(-1===n)return;Wt(!0),on(e.id),jt(""),To(t);let o=!1;try{if(!(yield _o(t)))throw new Error((null==qe?void 0:qe["failed-to-interrupt-current-response"])||"Failed to interrupt the current response.");if(!(yield Uo(t)))throw new Error((null==qe?void 0:qe["current-response-still-stopping"])||"The current response is still stopping. Please send your message again in a moment.");yt("idle"),Qt((t=>t.filter((t=>t.id!==e.id)))),o=!0,Wt(!1),on(null),yield Po(e.message,!1,!0,e.id,!0)}catch(t){yt("idle"),o&&Qt((t=>{if(t.some((t=>t.id===e.id)))return t;const o=[...t];return o.splice(n,0,e),o})),jt(H(t))}finally{Wt(!1),on(null)}}))})(e)},"aria-label":`${(null==qe?void 0:qe["steer-with"])||"Steer with"}: ${e.message}`},{children:[n("span",Object.assign({"aria-hidden":"true"},{children:"↳ "})),(null==qe?void 0:qe.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:Ht,onClick:()=>{return t=e.id,void Qt((e=>re(e,t)));var t},"aria-label":`${(null==qe?void 0:qe["remove-queued-message"])||"Remove queued message"}: ${e.message}`},{children:n(R,{className:"h-4 w-4","aria-hidden":"true"})})),o(F,Object.assign({id:`queued-message-menu-${e.id}`,className:"shrink-0"},{children:[n(G,Object.assign({className:"flex h-7 w-7 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100",isDisabled:Ht,role:"button",tabIndex:Ht?-1:0,"aria-haspopup":"menu","aria-label":(null==qe?void 0:qe["more-options"])||"More options",onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.currentTarget.click())}},{children:o("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(V,Object.assign({role:"menu",align:Ye?"bottom-start":"bottom-end",positionStrategy:Ze?"absolute":"fixed",width:"auto",className:"p-1 text-sm shadow-xl",style:{backgroundColor:null!==(r=Gn.backgroundColor)&&void 0!==r?r:We.primary,color:We.text,borderRadius:"12px"},border:`1px solid ${We.text}20`},{children:o("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=>{Qt((t=>re(t,e.id))),Xt(e.message),requestAnimationFrame((()=>{const t=jn.current;t&&(t.focus(),t.setSelectionRange(e.message.length,e.message.length))}))})(e)},{children:[n($,{className:"h-4 w-4 shrink-0"}),(null==qe?void 0:qe["edit-message"])||"Edit message"]}))}))]}))]})]}),e.id)}))})),o("div",Object.assign({ref:wn,className:J("relative z-10 flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===He.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Gn),{maxHeight:`${Sn}px`,overflowY:"auto"})},{children:[wo&&o("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:Gn.backgroundColor?`${Gn.backgroundColor}E6`:void 0,borderColor:We.text+"20",color:We.text,borderTopRightRadius:He.cornerRadius+"px",borderTopLeftRadius:He.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:o("span",{children:[bo.toLocaleString()," ",ao?(null==qe?void 0:qe.credits)||"Credits":(null==qe?void 0:qe.uses)||"Uses"," ",(null==qe?void 0:qe.remaining)||"remaining"]})})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[Oo&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:We.accent,color:We.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),No)return void window.open(No,"_blank","noopener,noreferrer");if(lt)return void lt();const t=z({baseUrl:an,accessGroupId:null==tt?void 0:tt.accessGroupId});t&&Q({deploymentId:Fe,pricingUrl:t,studioId:null==Ve?void 0:Ve.studioid,studioSessionToken:pt})}},{children:So})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>pn(!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"})}))}))]}))]})),!ht&&wt.length>0&&n(B,{className:"p-4 pb-0",isDisabled:ht}),o("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Qn&&o("div",Object.assign({className:J(ut?"top-6":"top-1/2","pointer-events-none absolute z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Ye?"right-4":"left-4")},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(De=We.accent)&&void 0!==De?De:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:We.text+"90"}},{children:(null==qe?void 0:qe.listening)||"Listening..."}))]})),n(X,Object.assign({ref:jn,className:J(Fn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Bt.trim()&&!Bt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Ye?"text-right":"text-left",!ut&&oo&&"mb-12"),value:Bt,placeholder:Qn?"":no,onChange:e=>{Xt(e)},onKeyDown:e=>{ze||_t||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),kt||Ht||(ht?Ao():Po())))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!Jn)return;e.preventDefault(),nt(!1),yield Nt(t)}}))},ue&&{onFocus:ue},fe&&{onBlur:fe},{dir:Ye?"rtl":"ltr"})),o("div",Object.assign({ref:In,className:ut?"relative flex w-full items-center gap-2 px-3 pb-2 [&>button]:shrink-0 [&>button]:mr-0":J("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",oo?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!oo&&Gn.backgroundColor&&{backgroundColor:Gn.backgroundColor}),{borderTopRightRadius:He.cornerRadius+"px",borderBottomRightRadius:He.cornerRadius+"px"})},{children:[!ht&&!En&&Jn&&o("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:Rn?We.accent+"10":void 0,color:Rn?We.accent:We.accent+"80"},disabled:kt||ht,"aria-label":null!==(Le=null==qe?void 0:qe["attach-files"])&&void 0!==Le?Le:"Attach files",onClick:()=>{var e;return null===(e=fn.current)||void 0===e?void 0:e.click()}},$n,{children:[n("input",{id:"file-upload",ref:fn,type:"file",accept:[...E,..._,...T].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){nt(!1),yield Nt(Array.from(e.target.files||[])),e.target.value=""}))}),n(A,{className:"h-6 w-6 shrink-0"})]})),n(a,{compact:!0}),ht&&!qt?o(s,{children:[n("button",Object.assign({"aria-label":(null==qe?void 0:qe["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=bn.current;e&&(To(e),_o(e)),yt("idle")},style:{backgroundColor:We.accent+"10",color:We.accent}},{children:n(M,{className:"h-4 w-4 shrink-0"})})),n("button",Object.assign({"aria-label":(null==qe?void 0:qe["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:Ht||kt||!Bt.trim(),onClick:Ao,style:{backgroundColor:Bt.trim()?We.accent:We.accent+"10",color:Bt.trim()?We.accentText:We.accent+"80"}},{children:n(P,{className:J("h-6 w-6 shrink-0",Ye&&"scale-x-[-1] transform")})}))]}):En?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:An,style:{backgroundColor:We.accent,color:We.accentText}},{children:n(M,{className:"h-4 w-4 shrink-0"})})):o(s,{children:[zn&&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:En?We.accent:Xn?We.accent+"10":void 0,color:En?We.accentText:Xn?We.accent:We.accent+"80"},disabled:kt||ht||_n,onClick:()=>{En?An():(vn.current=Bt,Un(Je||"en-US"))}},Kn,{children:n(D,{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:Dn||Eo?We.accent:We.accent+"10",color:Dn||Eo?We.accentText:We.accent+"80"},disabled:!Eo,onClick:()=>Po()},Ln,{children:n(P,{className:J("h-6 w-6 shrink-0",Ye&&"scale-x-[-1] transform")})}))]})]}))]}))]})),Ot&&n(K,{error:Ot,className:"mt-3"})]}))}))}));fe.displayName="Input";export{fe as default};
1
+ import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as o,Fragment as s}from"react/jsx-runtime";import{canChat as i}from"../../../common/canChat.js";import{useEndUserModel as r}from"../../../hooks/pickaxe/useEndUserModel.js";import a from"../common/EndUserModelPicker.js";import{updateStreamTextPart as l,upsertActionApprovalPart as d}from"../../../common/actionApproval.js";import{forwardRef as c,useState as u,useRef as p,useCallback as m,useEffect as g,useMemo as f,useImperativeHandle as v}from"react";import{usePickaxeContext as h}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as b}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as y}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as x}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as j}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as I}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as w}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as k}from"../Addons/Document/hooks/useDocument.js";import{useScroll as O}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as N}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as S}from"../../../hooks/core/useHover.js";import{useMediaQuery as C}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as E,allowedImageMimeTypes as _,additionalAllowedFileExtensions as T}from"../../../common/documents.js";import{createParser as U}from"eventsource-parser";import A from"../../Icons/attach-vertical.svg.js";import P from"../../Icons/arrow-right.svg.js";import D from"../../Icons/microphone.svg.js";import L from"../../Icons/message-clock.svg.js";import M from"../../Icons/stop.svg.js";import R from"../../Icons/trash.svg.js";import $ from"../../Icons/pencil.svg.js";import B from"../Addons/Document/List.js";import X from"../../Core/Textarea.js";import K from"../../Core/ErrorAlert.js";import F from"../../Core/Menu/index.js";import G from"../../Core/Menu/Button.js";import V from"../../Core/Menu/List.js";import H from"../../../common/error.js";import{pickaxeApi2 as W}from"../../../common/api/pickaxe.js";import{getValidationFailure as q}from"../../../common/validation.js";import J from"../../../common/cn.js";import{buildUpgradeUrl as z,openAuthenticatedPricingUrl as Q,initializeEmbedUserId as Y}from"../../../common/utils.js";import{getPickaxeConfigMetadata as Z}from"../../../common/pickaxeConfig.js";import{readAgentPrefill as ee}from"../../../common/agentPrefill.js";import{fireDeploymentSessionInitializedWebhook as te,fireDeploymentFirstMessageSubmittedWebhook as ne}from"../../../common/deploymentWebhooks.js";import{useStudio as oe}from"../../../hooks/studio/useStudio.js";import{useSpeechToText as se}from"../../../hooks/pickaxe/useSpeechToText.js";import{STUDIO_INFINITY_VALUE as ie}from"../common/PickaxeCommon.js";const re=(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},ae=e=>"string"==typeof e&&e.trim().length>0,le=()=>"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`,de=e=>e.map((e=>Object.assign({},e))),ce=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),ue=(e,t)=>{if(e&&"object"==typeof e)return e[t]},pe=(e,t)=>{const n=ue(e,t);return ae(n)?n:null},me=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ge=({studioUser:e,deploymentId:t,portalId:n})=>{var o,s;const i=Array.isArray(ue(e,"uses"))?ue(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>ae(e)?{type:"deployment",id:e}:ae(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(s=null!==(o=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==o?o:i.find((e=>e.id===r.id)))&&void 0!==s?s:null;return{scope:r,record:a}},fe=c((({resubmitPrompt:c,onFocus:ue,onBlur:fe,onInputHeightChange:ve,initSmitheryAuthData:he},be)=>{var ye,xe,je,Ie,we,ke,Oe,Ne,Se,Ce,Ee,_e,Te,Ue,Ae,Pe,De,Le;const{origin:Me,pickaxeId:Re,sessionId:$e,sender:Be,senderType:Xe,portalId:Ke,deploymentId:Fe,deploymentType:Ge,pickaxe:Ve,styles:He,colors:We,translations:qe,locale:Je,forceMobile:ze,isNewChat:Qe,isRtl:Ye,isEmbed:Ze,isShowFeedbackMessage:et,accessGroup:tt,setIsNewChat:nt,setIsShowIceBreaker:ot,setValidationStatus:st,setValidationUpgradeGroups:it,setValidationUpgradeUrl:rt,setAccessGroup:at,onUpgrade:lt,onGenerateComplete:dt}=h(),{value:ct,enabled:ut}=r(),{token:pt,isLoggedOut:mt,isSent:gt,isPricingAuth:ft}=w(),{messages:vt,isGenerating:ht,setMessages:bt,setStatus:yt,setLimitData:xt,setError:jt,setActionApprovalToken:It}=b(),{documents:wt,isUploading:kt,documentError:Ot,onFileUpload:Nt,setDocuments:St,setDocumentError:Ct}=k(),{studio:Et}=oe(),[_t]=C("(max-width: 480px)"),{scrollStartSession:Tt,scrollEndSession:Ut,scrollToBottom:At}=O({auto:!0,smooth:!(ze||_t)}),{artifacts:Pt,currentPopupType:Dt,setArtifacts:Lt,setCurrentArtifact:Mt}=N(),{height:Rt}=I(),$t=j(),[Bt,Xt]=u((()=>ee([Fe,Re]).chatInput)),[Kt,Ft]=u(!1),[Gt,Vt]=u(!1),[Ht,Wt]=u(!1),[qt,Jt]=u(!1),[zt,Qt]=u([]),[Yt,Zt]=u(!1),[en,tn]=u(null),[nn,on]=u(null),[sn,rn]=u(null),[an,ln]=u(null),[dn,cn]=u(!1),[un,pn]=u(!1),[mn,gn]=u(0),fn=p(null),vn=p(""),hn=p(null),bn=p(null),yn=p(null),xn=p([]),jn=p(null),In=p(null),wn=p(null),kn=p(null),On=p(new Set),Nn=p(null),Sn=Math.max(.4*Rt,100),{speechTranscript:Cn,isSpeechListening:En,isSpeechProcessing:_n,isSpeechSupported:Tn,onStartListening:Un,onStopListening:An}=se(),Pn=S(),{isHover:Dn}=Pn,Ln=e(Pn,["isHover"]),Mn=S(),{isHover:Rn}=Mn,$n=e(Mn,["isHover"]),Bn=S(),{isHover:Xn}=Bn,Kn=e(Bn,["isHover"]),Fn=x(),Gn=y(),Vn="undefined"!=typeof window?window.location.hostname:"",Hn="undefined"!=typeof window?window.location.href:"",Wn="undefined"!=typeof window&&window.self!==window.top,qn=Vn.includes("pickaxe.co")&&!Hn.includes("https://studio.pickaxe.co/_embed")&&!Wn,Jn=null!==(xe=null===(ye=null==Ve?void 0:Ve.documentuploadtype)||void 0===ye?void 0:ye.startsWith("enduserupload"))&&void 0!==xe&&xe,zn=Tn&&(null==Ve?void 0:Ve.enablevoicetotext),Qn=En&&!Bt.trim(),Yn=ae(Fe),Zn="chat-input"===Ge&&Qe&&!gt,eo="chat-input"===Ge&&ft&&mt&&gt,to=m((e=>{const t=q(e);return!!t&&(jt(""),xt(null),st(t.status),at(t.accessGroup),it(t.upgradeGroups),rt(t.upgradeUrl),!0)}),[jt,It,xt,st,it,rt,at]),no=null!==(je=null==Ve?void 0:Ve.placeholdertext)&&void 0!==je?je:Ye?"بماذا تريد أن تتحدث؟":(null==qe?void 0:qe["what-do-you-want-to-talk-about"])||"What do you want to talk about?",oo=Kt||Gt,so=m((()=>t(void 0,void 0,void 0,(function*(){cn(!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==Ve?void 0:Ve.studioid},pt?{studioSessionToken:pt}:Be?{sender:Be}:{sender:Y()}))},(!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}})),qn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(rn(t.studioUser),ln(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{cn(!0)}}))),[qn,null==Ve?void 0:Ve.studioid,Be,pt]);g((()=>{so()}),[so]);const io=Number(null!==(Ie=null==tt?void 0:tt.limit)&&void 0!==Ie?Ie:0),ro="string"==typeof(null==tt?void 0:tt.limitInterval)?tt.limitInterval:null,ao=!!(null==Et?void 0:Et.data.usage)&&Et.data.usage.isCredits,lo=f((()=>{var e,t,n,o,s;return null!==(s=null!==(o=null!==(n=null!==(t=null!==(e=null!=Ke?Ke:pe(sn,"portalId"))&&void 0!==e?e:pe(sn,"portalid"))&&void 0!==t?t:pe(tt,"portalId"))&&void 0!==n?n:pe(tt,"portalid"))&&void 0!==o?o:pe(Ve,"portalId"))&&void 0!==s?s:pe(Ve,"portalid")}),[tt,Ke,Ve,sn]),co=f((()=>ge({studioUser:sn,deploymentId:Fe,portalId:lo})),[Fe,lo,sn]);g((()=>{Yn&&Qe&&$e&&On.current.add($e)}),[Qe,$e,Yn]);const uo=m((()=>{var e,t,n;return{studioId:null==Ve?void 0:Ve.studioid,userEmail:pe(sn,"email"),userId:null!==(e=pe(sn,"userId"))&&void 0!==e?e:pe(sn,"userid"),sessionId:$e,deploymentId:Fe,deploymentType:Ge,portalId:lo,accessGroupId:null!==(t=null==tt?void 0:tt.accessGroupId)&&void 0!==t?t:null,pickaxeId:Re,sender:Be,senderType:Xe,origin:Me,metadata:null!==(n=Z(Fe))&&void 0!==n?n:null}}),[null==tt?void 0:tt.accessGroupId,Fe,Ge,Me,null==Ve?void 0:Ve.studioid,Re,lo,Be,Xe,$e,sn]),po=m((()=>!!(Yn&&dn&&$e)&&(!!On.current.has($e)&&(te(uo()),On.current.delete($e),!0))),[uo,dn,$e,Yn]);g((()=>{if(!dn||!$e)return;po();const e=Nn.current;(null==e?void 0:e.sessionId)===$e&&(ne(Object.assign(Object.assign(Object.assign({},e),uo()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Nn.current=null)}),[po,uo,dn,$e]);const mo={currentUses:me(null==sn?void 0:sn.currentUses),extraUses:me(null==sn?void 0:sn.extraUses)},go=co.scope?{currentUses:null!==(ke=me(null===(we=co.record)||void 0===we?void 0:we.currentUses))&&void 0!==ke?ke:0,extraUses:null!==(Ne=me(null===(Oe=co.record)||void 0===Oe?void 0:Oe.extraUses))&&void 0!==Ne?Ne:0}:{currentUses:0,extraUses:0},fo=pe(sn,"type"),vo="guest"===fo||!fo&&mt?go:mo;g((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(ao&&(null===(t=null==Et?void 0:Et.data)||void 0===t?void 0:t.workspaceId))try{const t=yield W.get(`/cost_per_run?workspaceId=${Et.data.workspaceId}`,{withCredentials:!1});e&&gn(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&gn(0)}else e&&gn(0)})),()=>{e=!1}}),[ao,null===(Se=null==Et?void 0:Et.data)||void 0===Se?void 0:Se.workspaceId]);const ho=(({accessGroupType:e,currentUses:t,extraUses:n,limit:o,limitInterval:s})=>{const i=Number(null!=t?t:0),r=Number(null!=n?n:0);return"public"===e&&"one_time"===s?o===ie?ie:Math.max(0,o-i):o===ie||r===ie?ie:"one_time"===s?Math.max(0,r):Math.max(0,o-i)+r})({accessGroupType:null==tt?void 0:tt.type,currentUses:vo.currentUses,extraUses:vo.extraUses,limit:io,limitInterval:ro}),bo=ho===ie?ie:Math.max(0,Math.ceil(ho)),yo=(({accessGroupType:e,extraUses:t,limit:n,limitInterval:o})=>{const s=Number(null!=t?t:0);return"public"===e&&"one_time"===o?n===ie?ie:Math.max(0,n):n===ie||s===ie?ie:"one_time"===o?Math.max(0,s):Math.max(0,n)+Math.max(0,s)})({accessGroupType:null==tt?void 0:tt.type,extraUses:vo.extraUses,limit:io,limitInterval:ro}),xo=yo===ie?ie:Math.ceil(.05*yo),jo=ao?Math.ceil(5*mn):5,Io=xo===ie?ie:Math.max(xo,jo),wo=f((()=>!!sn&&(!un&&(bo!==ie&&(!(yo<=0||bo>=yo)&&bo<=Io)))),[un,Io,bo,sn,yo]),ko=Boolean(null==tt?void 0:tt.hideUpgradeOptions),Oo=Boolean(!ko&&((null===(Ce=null==tt?void 0:tt.upgrade)||void 0===Ce?void 0:Ce.isBuyMoreUses)||(null===(Ee=null==tt?void 0:tt.upgrade)||void 0===Ee?void 0:Ee.isLinkToCustomURL)||(null===(_e=null==tt?void 0:tt.upgrade)||void 0===_e?void 0:_e.isUpgradeToAnotherGroup)&&(null===(Te=tt.upgrade.accessGroupIds)||void 0===Te?void 0:Te.length))),No=!ko&&(null===(Ue=null==tt?void 0:tt.upgrade)||void 0===Ue?void 0:Ue.isLinkToCustomURL)&&"string"==typeof tt.upgrade.limitLink&&tt.upgrade.limitLink.trim().length>0?tt.upgrade.limitLink.trim():null,So=No&&"string"==typeof(null===(Ae=null==tt?void 0:tt.upgrade)||void 0===Ae?void 0:Ae.limitCTA)&&tt.upgrade.limitCTA.trim().length>0?tt.upgrade.limitCTA:(null==qe?void 0:qe["pricing.upgrade"])||(null==qe?void 0:qe.upgrade)||"Upgrade",Co=f((()=>{var e,t,n;return!!Qe&&(!!Ve&&(!$t.isLoading&&(!((null!==(t=null===(e=$t.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Ve.icebreakers)||void 0===n?void 0:n.length)&&(!et&&!Zn)))))}),[Ve,Qe,et,Zn,$t.data,$t.isLoading]),Eo=f((()=>{if(kt||Ht)return!1;const e=Jn&&wt.length>0&&wt.every((e=>"finished"===e.status));return!(!Bt.trim()&&!e)&&wt.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Jn,kt,Ht,Bt,wt]);v(be,(()=>({onSubmit:Po}))),g((()=>{ot(Co)}),[Co]),g((()=>{var e;if(c){const t=Array.from(vt),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Po(n,!0)}}),[c]),g((()=>{if(!wn.current||!ve)return;const e=new ResizeObserver((e=>{for(const t of e)ve(t.contentRect.height)}));return e.observe(wn.current),()=>{e.disconnect()}}),[ve]),g((()=>{if(!En)return;const e=vn.current?`${vn.current} `:"";Xt(`${e}${Cn}`)}),[Cn,En]),g((()=>{if(!jn.current)return;(()=>{if(!jn.current)return;let e=jn.current.scrollHeight>52;Bt.includes("\n")||wt.length?e=!0:Bt.trim()||(e=!1),Ft(e)})()}),[Bt,wt]),g((()=>{const e=jn.current,t=In.current;if(!e||!t||ut||Kt||Bt.includes("\n"))return void Vt(!1);const n=window.getComputedStyle(e),o=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,s=document.createElement("span");Object.assign(s.style,{font:o,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),s.textContent=Bt||no,document.body.appendChild(s);const i=s.offsetWidth;s.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;Vt(i>l)}),[Bt,Kt,no,ut]);const _o=e=>t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:bn.current))return!1;const t=de(xn.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})},qn&&{credentials:"include"}))).ok}catch(e){return console.warn("Failed to cancel submission",e),!1}})),To=e=>{yn.current=e,kn.current&&(kn.current.abort(),kn.current=null),hn.current&&(hn.current.cancel().catch((()=>{})),hn.current=null)},Uo=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}))},qn&&{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})),Ao=()=>{const e=bn.current;e&&!Ht&&!kt&&Bt.trim()&&(Qt((t=>{var n,o;return[...t,{id:le(),message:Bt,predecessorSubmissionId:null!==(o=null===(n=t[t.length-1])||void 0===n?void 0:n.id)&&void 0!==o?o:e}]})),Xt(""))},Po=(e,n=!1,o=!1,s,r=!1)=>t(void 0,void 0,void 0,(function*(){var t,a,c,u,p;if(!i(Ve))return;let m=null;try{if(ht&&!o||kt)return;const i=wt.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),g=i.map((e=>e.documentId)).filter(Boolean),f=i.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),v=null!=e?e:Bt,h=null!==(a=null===(t=null==Ve?void 0:Ve.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==a&&a&&g.length>0;if(!v&&!h)return;jt(""),Ct(""),xt(null),Xt(""),nt(!1),Jt(!1),yt("fetching"),Tt(),At();const b=n?vt.slice(0,vt.length-1):vt,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];bt(I),At(),h&&St([]);const w=Z(Fe),k=null!=s?s:le();m=k,bn.current=k,yn.current=null,xn.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:ct||void 0,origin:Me,pickaxeId:Re,sessionId:$e,submissionId:k},r&&{interactionType:"steer"}),{senderType:Xe,value:v}),h&&{documentIds:g}),Be&&{sender:Be}),pt&&{studioSessionToken:pt}),!pt&&!Be&&{sender:Y()}),lo&&{portalId:lo}),Fe&&{deploymentId:Fe}),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()})},qn&&{credentials:"include"})),N=yield O.json();if(!N.success){if(N.limitData){const e=new Error(N.error||N.message||(null==qe?void 0:qe["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=N.limitData,e}if(to(N))return;throw new Error(N.error||N.message||(null==qe?void 0:qe["failed-to-start-generation"])||"Failed to start generation")}It(null!==(c=N.actionApprovalToken)&&void 0!==c?c:null);const S=null!==(u=N.submissionId)&&void 0!==u?u:k;m=S,bn.current=S;const C=()=>yn.current===S;if(C())return;Yn&&Qe&&$e&&On.current.add($e);const E=Object.assign(Object.assign({},uo()),{message:v,documentIds:h?g:[],uploadedModelImages:h?f:[],hasUploadedDocuments:h,isHidden:n,metadata:null!=w?w:null});dn?(po(),ne(E)):Nn.current=E,yt("streaming"),kn.current=new AbortController;const _=[];let T=[...null!=Pt?Pt:[]],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===(p=kn.current)||void 0===p?void 0:p.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();hn.current=t;const n=new TextDecoder,o=U({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 xt(t.limitData),jt(""),void(P=!0);const n=t.error||t.message||(null==qe?void 0:qe["something-went-wrong"])||"Something went wrong.";return to(t)||jt(n),void(P=!0)}if("delta"===e.event){const o=JSON.parse(e.data);if("finish"===o.type)return void Jt(!0);if("data-error"===o.type&&he){const e=o.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*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw P=!0,he({provider:"smithery",smitheryId:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}else if(n){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw P=!0,he({provider:"composio",toolkitSlug:t[1],serverId:n[1],name:o[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,he({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,he({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===o.type)D="",_.push({type:"text",content:"",isVisible:null===(t=o.isVisible)||void 0===t||t});else if("text-delta"===o.type)D+=o.delta,l(_,"text",D);else if("text-end"===o.type)D="";else if("reasoning-start"===o.type)D="",_.push({type:"reasoning",content:"",isVisible:null===(n=o.isVisible)||void 0===n||n});else if("reasoning-delta"===o.type)D+=o.delta,l(_,"reasoning",D);else if("reasoning-end"===o.type)D="";else if(o.type.startsWith("data-")){const e=o;"data-action-approval"===e.type?d(_,e.data):_.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}xn.current=de(_);const s=de(_);bt((e=>{const t=e.findIndex((e=>e.id===x)),n=Object.assign(Object.assign({},j),{parts:s});return-1===t?[...e,n]:e.map(((e,o)=>o===t?n:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Lt([...T]),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Lt(T),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Lt(T),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");T=T.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),Lt(T)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Lt(T.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 xt(t.limitData),jt(""),void(P=!0);const n=t.error||t.message||(null==qe?void 0:qe["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(to(t))return void(P=!0);jt(n)}else"stop"===e.event&&(P=!0)}else P=!0}});for(;;){if(C()){P=!0,t.cancel().catch((()=>{}));break}const{value:e,done:s}=yield t.read();if(C()){P=!0,t.cancel().catch((()=>{}));break}if(s)break;o.feed(n.decode(e))}P||C()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||ce(e)||C())return void(P=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==dt||dt($e)}catch(e){if(ce(e))return;if(e.limitData)xt(e.limitData),jt("");else{let t=H(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==qe?void 0:qe["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),to(t)||jt(t)}}finally{const e=!m||bn.current===m;At(),e&&(yt("idle"),Ut(),hn.current=null),m&&e&&(bn.current=null,xn.current=[]),yield so()}}));return g((()=>{if(ht||Ht||Yt||0===zt.length)return;const e=zt[0];Zt(!0),tn(e.id),t(void 0,void 0,void 0,(function*(){try{if(!(yield Uo(e.predecessorSubmissionId)))return void jt((null==qe?void 0:qe["queued-message-waiting"])||"A queued message is waiting for the previous response to finish.");Qt((t=>t.filter((t=>t.id!==e.id)))),yield Po(e.message,!1,!0,e.id)}finally{Zt(!1),tn(null)}}))}),[ht,Yt,Ht,zt]),eo?null:n("div",Object.assign({className:J("flex w-full flex-shrink-0 flex-col items-center",!Zn&&"px-4 pb-8"),dir:Ye?"rtl":"ltr"},{children:o("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[zt.length>0&&n("div",Object.assign({className:"mx-3 -mb-3 overflow-hidden border pb-3",style:{borderColor:We.text+"18",backgroundColor:null!==(Pe=Gn.backgroundColor)&&void 0!==Pe?Pe:We.text+"08",color:We.text,borderTopLeftRadius:Math.max(He.cornerRadius-4,12),borderTopRightRadius:Math.max(He.cornerRadius-4,12)}},{children:zt.map(((e,i)=>{var r;return o("div",Object.assign({className:"flex min-h-10 items-center gap-2 px-3 py-2",style:i<zt.length-1?{borderBottom:`1px solid ${We.text}12`}:void 0},{children:[n(L,{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})),nn===e.id||en===e.id?o("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"}),nn===e.id?(null==qe?void 0:qe.steering)||"Steering...":(null==qe?void 0:qe.starting)||"Starting..."]})):o(s,{children:[o("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:Ht||!ht,onClick:()=>{(e=>{t(void 0,void 0,void 0,(function*(){const t=bn.current;if(!t||Ht)return;const n=zt.findIndex((t=>t.id===e.id));if(-1===n)return;Wt(!0),on(e.id),jt(""),To(t);let o=!1;try{if(!(yield _o(t)))throw new Error((null==qe?void 0:qe["failed-to-interrupt-current-response"])||"Failed to interrupt the current response.");if(!(yield Uo(t)))throw new Error((null==qe?void 0:qe["current-response-still-stopping"])||"The current response is still stopping. Please send your message again in a moment.");yt("idle"),Qt((t=>t.filter((t=>t.id!==e.id)))),o=!0,Wt(!1),on(null),yield Po(e.message,!1,!0,e.id,!0)}catch(t){yt("idle"),o&&Qt((t=>{if(t.some((t=>t.id===e.id)))return t;const o=[...t];return o.splice(n,0,e),o})),jt(H(t))}finally{Wt(!1),on(null)}}))})(e)},"aria-label":`${(null==qe?void 0:qe["steer-with"])||"Steer with"}: ${e.message}`},{children:[n("span",Object.assign({"aria-hidden":"true"},{children:"↳ "})),(null==qe?void 0:qe.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:Ht,onClick:()=>{return t=e.id,void Qt((e=>re(e,t)));var t},"aria-label":`${(null==qe?void 0:qe["remove-queued-message"])||"Remove queued message"}: ${e.message}`},{children:n(R,{className:"h-4 w-4","aria-hidden":"true"})})),o(F,Object.assign({id:`queued-message-menu-${e.id}`,className:"shrink-0"},{children:[n(G,Object.assign({className:"flex h-7 w-7 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100",isDisabled:Ht,role:"button",tabIndex:Ht?-1:0,"aria-haspopup":"menu","aria-label":(null==qe?void 0:qe["more-options"])||"More options",onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.currentTarget.click())}},{children:o("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(V,Object.assign({role:"menu",align:Ye?"bottom-start":"bottom-end",positionStrategy:Ze?"absolute":"fixed",width:"auto",className:"p-1 text-sm shadow-xl",style:{backgroundColor:null!==(r=Gn.backgroundColor)&&void 0!==r?r:We.primary,color:We.text,borderRadius:"12px"},border:`1px solid ${We.text}20`},{children:o("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=>{Qt((t=>re(t,e.id))),Xt(e.message),requestAnimationFrame((()=>{const t=jn.current;t&&(t.focus(),t.setSelectionRange(e.message.length,e.message.length))}))})(e)},{children:[n($,{className:"h-4 w-4 shrink-0"}),(null==qe?void 0:qe["edit-message"])||"Edit message"]}))}))]}))]})]}),e.id)}))})),o("div",Object.assign({ref:wn,className:J("relative z-10 flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===He.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Gn),{maxHeight:`${Sn}px`,overflowY:"auto"})},{children:[wo&&o("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:Gn.backgroundColor?`${Gn.backgroundColor}E6`:void 0,borderColor:We.text+"20",color:We.text,borderTopRightRadius:He.cornerRadius+"px",borderTopLeftRadius:He.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:o("span",{children:[bo.toLocaleString()," ",ao?(null==qe?void 0:qe.credits)||"Credits":(null==qe?void 0:qe.uses)||"Uses"," ",(null==qe?void 0:qe.remaining)||"remaining"]})})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[Oo&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:We.accent,color:We.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),No)return void window.open(No,"_blank","noopener,noreferrer");if(lt)return void lt();const t=z({baseUrl:an,accessGroupId:null==tt?void 0:tt.accessGroupId});t&&Q({deploymentId:Fe,pricingUrl:t,studioId:null==Ve?void 0:Ve.studioid,studioSessionToken:pt})}},{children:So})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>pn(!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"})}))}))]}))]})),!ht&&wt.length>0&&n(B,{className:"p-4 pb-0",isDisabled:ht}),o("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Qn&&o("div",Object.assign({className:J(ut?"top-6":"top-1/2","pointer-events-none absolute z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Ye?"right-4":"left-4")},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(De=We.accent)&&void 0!==De?De:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:We.text+"90"}},{children:(null==qe?void 0:qe.listening)||"Listening..."}))]})),n(X,Object.assign({ref:jn,className:J(Fn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Bt.trim()&&!Bt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Ye?"text-right":"text-left",!ut&&oo&&"mb-12"),value:Bt,placeholder:Qn?"":no,onChange:e=>{Xt(e)},onKeyDown:e=>{ze||_t||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),kt||Ht||(ht?Ao():Po())))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!Jn)return;e.preventDefault(),nt(!1),yield Nt(t)}}))},ue&&{onFocus:ue},fe&&{onBlur:fe},{dir:Ye?"rtl":"ltr"})),o("div",Object.assign({ref:In,className:ut?"relative flex w-full items-center gap-2 px-3 pb-2 [&>button]:shrink-0 [&>button]:mr-0":J("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",oo?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!oo&&Gn.backgroundColor&&{backgroundColor:Gn.backgroundColor}),{borderTopRightRadius:He.cornerRadius+"px",borderBottomRightRadius:He.cornerRadius+"px"})},{children:[!ht&&!En&&Jn&&o("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:Rn?We.accent+"10":void 0,color:Rn?We.accent:We.accent+"80"},disabled:kt||ht,"aria-label":null!==(Le=null==qe?void 0:qe["attach-files"])&&void 0!==Le?Le:"Attach files",onClick:()=>{var e;return null===(e=fn.current)||void 0===e?void 0:e.click()}},$n,{children:[n("input",{id:"file-upload",ref:fn,type:"file",accept:[...E,..._,...T].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){nt(!1),yield Nt(Array.from(e.target.files||[])),e.target.value=""}))}),n(A,{className:"h-6 w-6 shrink-0"})]})),n(a,{compact:!0}),ht&&!qt?o(s,{children:[n("button",Object.assign({"aria-label":(null==qe?void 0:qe["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=bn.current;e&&(To(e),_o(e)),yt("idle")},style:{backgroundColor:We.accent+"10",color:We.accent}},{children:n(M,{className:"h-4 w-4 shrink-0"})})),n("button",Object.assign({"aria-label":(null==qe?void 0:qe["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:Ht||kt||!Bt.trim(),onClick:Ao,style:{backgroundColor:Bt.trim()?We.accent:We.accent+"10",color:Bt.trim()?We.accentText:We.accent+"80"}},{children:n(P,{className:J("h-6 w-6 shrink-0",Ye&&"scale-x-[-1] transform")})}))]}):En?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:An,style:{backgroundColor:We.accent,color:We.accentText}},{children:n(M,{className:"h-4 w-4 shrink-0"})})):o(s,{children:[zn&&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:En?We.accent:Xn?We.accent+"10":void 0,color:En?We.accentText:Xn?We.accent:We.accent+"80"},disabled:kt||ht||_n,onClick:()=>{En?An():(vn.current=Bt,Un(Je||"en-US"))}},Kn,{children:n(D,{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:Dn||Eo?We.accent:We.accent+"10",color:Dn||Eo?We.accentText:We.accent+"80"},disabled:!Eo,onClick:()=>Po()},Ln,{children:n(P,{className:J("h-6 w-6 shrink-0",Ye&&"scale-x-[-1] transform")})}))]})]}))]}))]})),Ot&&n(K,{error:Ot,className:"mt-3"})]}))}))}));fe.displayName="Input";export{fe as default};