{"version":3,"sources":["../src/lib/copilotkit-backend.ts"],"sourcesContent":["import { AnnotatedFunction } from \"@copilotkit/shared\";\nimport { CopilotKitServiceAdapter } from \"../types\";\n\ninterface CopilotBackendConstructorParams {\n  functions?: AnnotatedFunction<any[]>[];\n}\n\nexport class CopilotBackend {\n  private functions: AnnotatedFunction<any[]>[] = [];\n\n  constructor(params?: CopilotBackendConstructorParams) {\n    this.functions = params?.functions || [];\n  }\n\n  addFunction(func: AnnotatedFunction<any[]>): void {\n    this.removeFunction(func.name);\n    this.functions.push(func);\n  }\n\n  removeFunction(funcName: string): void {\n    this.functions = this.functions.filter((f) => f.name !== funcName);\n  }\n\n  stream(forwardedProps: any, serviceAdapter: CopilotKitServiceAdapter): ReadableStream {\n    return serviceAdapter.stream(this.functions, forwardedProps);\n  }\n\n  async response(req: Request, serviceAdapter: CopilotKitServiceAdapter): Promise<Response> {\n    try {\n      return new Response(this.stream(await req.json(), serviceAdapter));\n    } catch (error: any) {\n      return new Response(\"\", { status: 500, statusText: error.error.message });\n    }\n  }\n}\n"],"mappings":";AAOO,IAAM,iBAAN,MAAqB;AAAA,EAG1B,YAAY,QAA0C;AAFtD,SAAQ,YAAwC,CAAC;AAG/C,SAAK,aAAY,iCAAQ,cAAa,CAAC;AAAA,EACzC;AAAA,EAEA,YAAY,MAAsC;AAChD,SAAK,eAAe,KAAK,IAAI;AAC7B,SAAK,UAAU,KAAK,IAAI;AAAA,EAC1B;AAAA,EAEA,eAAe,UAAwB;AACrC,SAAK,YAAY,KAAK,UAAU,OAAO,CAAC,MAAM,EAAE,SAAS,QAAQ;AAAA,EACnE;AAAA,EAEA,OAAO,gBAAqB,gBAA0D;AACpF,WAAO,eAAe,OAAO,KAAK,WAAW,cAAc;AAAA,EAC7D;AAAA,EAEA,MAAM,SAAS,KAAc,gBAA6D;AACxF,QAAI;AACF,aAAO,IAAI,SAAS,KAAK,OAAO,MAAM,IAAI,KAAK,GAAG,cAAc,CAAC;AAAA,IACnE,SAAS,OAAP;AACA,aAAO,IAAI,SAAS,IAAI,EAAE,QAAQ,KAAK,YAAY,MAAM,MAAM,QAAQ,CAAC;AAAA,IAC1E;AAAA,EACF;AACF;","names":[]}