@copilotkitnext/runtime 0.0.22-alpha.1 → 0.0.22-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-PXQQQ6KP.mjs +23 -0
- package/dist/chunk-PXQQQ6KP.mjs.map +1 -0
- package/dist/express.js +366 -1002
- package/dist/express.js.map +1 -1
- package/dist/express.mjs +363 -315
- package/dist/express.mjs.map +1 -1
- package/dist/index.js +22 -1192
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -256
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/chunk-ELMYXVVN.mjs +0 -936
- package/dist/chunk-ELMYXVVN.mjs.map +0 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/endpoints/hono.ts","../src/endpoints/hono-single.ts","../src/runner/index.ts"],"sourcesContent":["import { Hono } from \"hono\";\nimport { cors } from \"hono/cors\";\nimport { CopilotRuntime } from \"../runtime\";\nimport { handleRunAgent } from \"../handlers/handle-run\";\nimport { handleGetRuntimeInfo } from \"../handlers/get-runtime-info\";\nimport { handleTranscribe } from \"../handlers/handle-transcribe\";\nimport { logger } from \"@copilotkitnext/shared\";\nimport { callBeforeRequestMiddleware, callAfterRequestMiddleware } from \"../middleware\";\nimport { handleConnectAgent } from \"../handlers/handle-connect\";\nimport { handleStopAgent } from \"../handlers/handle-stop\";\n\ninterface CopilotEndpointParams {\n runtime: CopilotRuntime;\n basePath: string;\n}\n\n// Define the context variables type\ntype CopilotEndpointContext = {\n Variables: {\n modifiedRequest?: Request;\n };\n};\n\nexport function createCopilotEndpoint({ runtime, basePath }: CopilotEndpointParams) {\n const app = new Hono<CopilotEndpointContext>();\n\n return app\n .basePath(basePath)\n .use(\n \"*\",\n cors({\n origin: \"*\",\n allowMethods: [\"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\", \"PATCH\", \"OPTIONS\"],\n allowHeaders: [\"*\"],\n }),\n )\n .use(\"*\", async (c, next) => {\n const request = c.req.raw;\n const path = c.req.path;\n\n try {\n const maybeModifiedRequest = await callBeforeRequestMiddleware({\n runtime,\n request,\n path,\n });\n if (maybeModifiedRequest) {\n c.set(\"modifiedRequest\", maybeModifiedRequest);\n }\n } catch (error) {\n logger.error({ err: error, url: request.url, path }, \"Error running before request middleware\");\n if (error instanceof Response) {\n return error;\n }\n throw error;\n }\n\n await next();\n })\n .use(\"*\", async (c, next) => {\n await next();\n\n const response = c.res;\n const path = c.req.path;\n\n // Non-blocking after middleware\n callAfterRequestMiddleware({\n runtime,\n response,\n path,\n }).catch((error) => {\n logger.error({ err: error, url: c.req.url, path }, \"Error running after request middleware\");\n });\n })\n .post(\"/agent/:agentId/run\", async (c) => {\n const agentId = c.req.param(\"agentId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleRunAgent({\n runtime,\n request,\n agentId,\n });\n } catch (error) {\n logger.error({ err: error, url: request.url, path: c.req.path }, \"Error running request handler\");\n throw error;\n }\n })\n .post(\"/agent/:agentId/connect\", async (c) => {\n const agentId = c.req.param(\"agentId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleConnectAgent({\n runtime,\n request,\n agentId,\n });\n } catch (error) {\n logger.error({ err: error, url: request.url, path: c.req.path }, \"Error running request handler\");\n throw error;\n }\n })\n\n .post(\"/agent/:agentId/stop/:threadId\", async (c) => {\n const agentId = c.req.param(\"agentId\");\n const threadId = c.req.param(\"threadId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleStopAgent({\n runtime,\n request,\n agentId,\n threadId,\n });\n } catch (error) {\n logger.error({ err: error, url: request.url, path: c.req.path }, \"Error running request handler\");\n throw error;\n }\n })\n .get(\"/info\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleGetRuntimeInfo({\n runtime,\n request,\n });\n } catch (error) {\n logger.error({ err: error, url: request.url, path: c.req.path }, \"Error running request handler\");\n throw error;\n }\n })\n .post(\"/transcribe\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleTranscribe({\n runtime,\n request,\n });\n } catch (error) {\n logger.error({ err: error, url: request.url, path: c.req.path }, \"Error running request handler\");\n throw error;\n }\n })\n .notFound((c) => {\n return c.json({ error: \"Not found\" }, 404);\n });\n\n // return app;\n}\n","import { Hono } from \"hono\";\nimport { cors } from \"hono/cors\";\n\nimport { CopilotRuntime } from \"../runtime\";\nimport { handleRunAgent } from \"../handlers/handle-run\";\nimport { handleConnectAgent } from \"../handlers/handle-connect\";\nimport { handleStopAgent } from \"../handlers/handle-stop\";\nimport { handleGetRuntimeInfo } from \"../handlers/get-runtime-info\";\nimport { handleTranscribe } from \"../handlers/handle-transcribe\";\nimport { logger } from \"@copilotkitnext/shared\";\nimport { callBeforeRequestMiddleware, callAfterRequestMiddleware } from \"../middleware\";\nimport {\n createJsonRequest,\n expectString,\n MethodCall,\n parseMethodCall,\n} from \"./single-route-helpers\";\n\ninterface CopilotSingleEndpointParams {\n runtime: CopilotRuntime;\n /**\n * Absolute path at which to mount the single-route endpoint (e.g. \"/api/copilotkit\").\n */\n basePath: string;\n}\n\ntype CopilotEndpointContext = {\n Variables: {\n modifiedRequest?: Request;\n };\n};\n\nexport function createCopilotEndpointSingleRoute({ runtime, basePath }: CopilotSingleEndpointParams) {\n const app = new Hono<CopilotEndpointContext>();\n const routePath = normalizePath(basePath);\n\n return app\n .basePath(routePath)\n .use(\n \"*\",\n cors({\n origin: \"*\",\n allowMethods: [\"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\", \"PATCH\", \"OPTIONS\"],\n allowHeaders: [\"*\"],\n }),\n )\n .use(\"*\", async (c, next) => {\n const request = c.req.raw;\n const path = c.req.path;\n\n try {\n const maybeModifiedRequest = await callBeforeRequestMiddleware({\n runtime,\n request,\n path,\n });\n if (maybeModifiedRequest) {\n c.set(\"modifiedRequest\", maybeModifiedRequest);\n }\n } catch (error) {\n logger.error({ err: error, url: request.url, path }, \"Error running before request middleware\");\n if (error instanceof Response) {\n return error;\n }\n throw error;\n }\n\n await next();\n })\n .use(\"*\", async (c, next) => {\n await next();\n\n const response = c.res;\n const path = c.req.path;\n\n callAfterRequestMiddleware({\n runtime,\n response,\n path,\n }).catch((error) => {\n logger.error({ err: error, url: c.req.url, path }, \"Error running after request middleware\");\n });\n })\n .post(\"/\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n let methodCall: MethodCall;\n try {\n methodCall = await parseMethodCall(request);\n } catch (error) {\n if (error instanceof Response) {\n logger.warn({ url: request.url }, \"Invalid single-route payload\");\n return error;\n }\n logger.warn({ err: error, url: request.url }, \"Invalid single-route payload\");\n return c.json(\n {\n error: \"invalid_request\",\n message: error instanceof Error ? error.message : \"Invalid request payload\",\n },\n 400,\n );\n }\n\n try {\n switch (methodCall.method) {\n case \"agent/run\": {\n const agentId = expectString(methodCall.params, \"agentId\");\n const handlerRequest = createJsonRequest(request, methodCall.body);\n return await handleRunAgent({ runtime, request: handlerRequest, agentId });\n }\n case \"agent/connect\": {\n const agentId = expectString(methodCall.params, \"agentId\");\n const handlerRequest = createJsonRequest(request, methodCall.body);\n return await handleConnectAgent({ runtime, request: handlerRequest, agentId });\n }\n case \"agent/stop\": {\n const agentId = expectString(methodCall.params, \"agentId\");\n const threadId = expectString(methodCall.params, \"threadId\");\n return await handleStopAgent({ runtime, request, agentId, threadId });\n }\n case \"info\": {\n return await handleGetRuntimeInfo({ runtime, request });\n }\n case \"transcribe\": {\n return await handleTranscribe({ runtime, request });\n }\n default: {\n const exhaustiveCheck: never = methodCall.method;\n return exhaustiveCheck;\n }\n }\n } catch (error) {\n if (error instanceof Response) {\n return error;\n }\n logger.error({ err: error, url: request.url, method: methodCall.method }, \"Error running single-route handler\");\n throw error;\n }\n })\n .notFound((c) => {\n return c.json({ error: \"Not found\" }, 404);\n });\n}\n\nfunction normalizePath(path: string): string {\n if (!path) {\n throw new Error(\"basePath must be provided for single-route endpoint\");\n }\n\n if (!path.startsWith(\"/\")) {\n return `/${path}`;\n }\n\n if (path.length > 1 && path.endsWith(\"/\")) {\n return path.slice(0, -1);\n }\n\n return path;\n}\n","export * from \"./agent-runner\";\nexport * from \"./in-memory\";\nexport { finalizeRunEvents } from \"@copilotkitnext/shared\";\n"],"mappings":"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","names":["Hono","cors","logger","Hono","cors","logger"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/compose.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/request/constants.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/utils/body.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/utils/url.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/request.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/utils/html.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/context.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/router.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/utils/constants.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/hono-base.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/router/reg-exp-router/node.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/router/reg-exp-router/trie.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/router/reg-exp-router/router.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/router/smart-router/router.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/router/trie-router/node.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/router/trie-router/router.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/hono.js","../../../node_modules/.pnpm/hono@4.8.10/node_modules/hono/dist/middleware/cors/index.js","../src/endpoints/hono.ts","../src/endpoints/hono-single.ts"],"names":["compose","middleware","onError","onNotFound","context","next","index","dispatch","i","res","isError","handler","err","GET_MATCH_RESULT","parseBody","request","options","all","dot","contentType","HonoRequest","parseFormData","formData","convertFormDataToBodyData","form","value","key","handleParsingAllValues","handleParsingNestedValues","nestedForm","keys","key2","splitPath","path","paths","splitRoutingPath","routePath","groups","extractGroupsFromPath","replaceGroupMarks","match","mark","j","patternCache","getPattern","label","cacheKey","tryDecode","str","decoder","tryDecodeURI","getPath","url","start","charCode","queryIndex","getPathNoStrict","result","mergePath","base","sub","rest","checkOptionalParameter","segments","results","basePath","segment","optionalSegment","v","a","_decodeURI","decodeURIComponent_","_getQueryParam","multiple","encoded","keyIndex2","trailingKeyCode","valueIndex","endIndex","keyIndex","nextKeyIndex","name","getQueryParam","getQueryParams","tryDecodeURIComponent","#validatedData","#matchResult","matchResult","#getDecodedParam","#getAllDecodedParams","paramKey","param","#getParamValue","decoded","headerData","#cachedBody","bodyCache","raw","cachedBody","anyCachedKey","body","text","target","data","route","HtmlEscapedCallbackPhase","callbacks","escapedString","resolveCallback","phase","preserveCallbacks","buffer","resStr","c","str2","TEXT_PLAIN","setDefaultContentType","headers","Context","#rawRequest","#req","#var","#status","#executionCtx","#res","#layout","#renderer","#notFoundHandler","#preparedHeaders","#path","req","_res","k","cookies","cookie","args","content","layout","renderer","status","#newResponse","arg","responseHeaders","argHeaders","v2","object","html","html2","location","locationString","METHOD_NAME_ALL","METHOD_NAME_ALL_LOWERCASE","METHODS","MESSAGE_MATCHER_IS_ALREADY_BUILT","UnsupportedPathError","COMPOSED_HANDLER","notFoundHandler","errorHandler","Hono","method","args1","#addRoute","handlers","p","m","arg1","strict","optionsWithoutStrict","#clone","clone","app","subApp","applicationHandler","replaceRequest","optionHandler","getOptions","options2","executionContext","mergedPath","pathPrefixLength","#handleError","#dispatch","executionCtx","env","resolved","composed","input","requestInit","Env","event","LABEL_REG_EXP_STR","ONLY_WILDCARD_REG_EXP_STR","TAIL_WILDCARD_REG_EXP_STR","PATH_ERROR","regExpMetaChars","compareKey","b","Node","#index","#varIndex","#children","tokens","paramMap","pathErrorCheckOnly","token","restTokens","pattern","node","regexpStr","strList","Trie","#context","#root","paramAssoc","replaced","regexp","captureIndex","indexReplacementMap","paramReplacementMap","_","handlerIndex","paramIndex","emptyParam","nullMatcher","wildcardRegExpCache","buildWildcardRegExp","metaChar","clearWildcardRegExpCache","buildMatcherFromPreprocessedRoutes","routes","trie","handlerData","routesWithStaticPathFlag","isStaticA","pathA","isStaticB","pathB","staticMap","len","h","e","paramCount","paramIndexMap","len2","map","len3","handlerMap","findMiddleware","RegExpRouter","#middleware","#routes","re","path2","matchers","#buildAllMatchers","method2","matcher","staticMatch","#buildMatcher","hasOwnRoute","ownRoute","SmartRouter","#routers","init","routers","router","i2","emptyParams","#methods","#patterns","#order","#params","children","curNode","parts","possibleKeys","nextP","#getHandlerSets","nodeParams","params","handlerSets","handlerSet","processedSet","processed","curNodes","curNodesQueue","part","isLast","tempNodes","nextNode","astNode","child","restPathString","componentCount","TrieRouter","#node","cors","opts","findAllowOrigin","optsOrigin","origin","findAllowMethods","optsAllowMethods","set","allowOrigin","existingVary","allowMethods","requestHeaders","createCopilotEndpoint","runtime","maybeModifiedRequest","callBeforeRequestMiddleware","error","logger","response","callAfterRequestMiddleware","agentId","handleRunAgent","handleConnectAgent","threadId","handleStopAgent","handleGetRuntimeInfo","handleTranscribe","createCopilotEndpointSingleRoute","normalizePath","methodCall","parseMethodCall","expectString","handlerRequest","createJsonRequest"],"mappings":"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","file":"index.mjs","sourcesContent":["// src/compose.ts\nvar compose = (middleware, onError, onNotFound) => {\n return (context, next) => {\n let index = -1;\n return dispatch(0);\n async function dispatch(i) {\n if (i <= index) {\n throw new Error(\"next() called multiple times\");\n }\n index = i;\n let res;\n let isError = false;\n let handler;\n if (middleware[i]) {\n handler = middleware[i][0][0];\n context.req.routeIndex = i;\n } else {\n handler = i === middleware.length && next || void 0;\n }\n if (handler) {\n try {\n res = await handler(context, () => dispatch(i + 1));\n } catch (err) {\n if (err instanceof Error && onError) {\n context.error = err;\n res = await onError(err, context);\n isError = true;\n } else {\n throw err;\n }\n }\n } else {\n if (context.finalized === false && onNotFound) {\n res = await onNotFound(context);\n }\n }\n if (res && (context.finalized === false || isError)) {\n context.res = res;\n }\n return context;\n }\n };\n};\nexport {\n compose\n};\n","// src/request/constants.ts\nvar GET_MATCH_RESULT = Symbol();\nexport {\n GET_MATCH_RESULT\n};\n","// src/utils/body.ts\nimport { HonoRequest } from \"../request.js\";\nvar parseBody = async (request, options = /* @__PURE__ */ Object.create(null)) => {\n const { all = false, dot = false } = options;\n const headers = request instanceof HonoRequest ? request.raw.headers : request.headers;\n const contentType = headers.get(\"Content-Type\");\n if (contentType?.startsWith(\"multipart/form-data\") || contentType?.startsWith(\"application/x-www-form-urlencoded\")) {\n return parseFormData(request, { all, dot });\n }\n return {};\n};\nasync function parseFormData(request, options) {\n const formData = await request.formData();\n if (formData) {\n return convertFormDataToBodyData(formData, options);\n }\n return {};\n}\nfunction convertFormDataToBodyData(formData, options) {\n const form = /* @__PURE__ */ Object.create(null);\n formData.forEach((value, key) => {\n const shouldParseAllValues = options.all || key.endsWith(\"[]\");\n if (!shouldParseAllValues) {\n form[key] = value;\n } else {\n handleParsingAllValues(form, key, value);\n }\n });\n if (options.dot) {\n Object.entries(form).forEach(([key, value]) => {\n const shouldParseDotValues = key.includes(\".\");\n if (shouldParseDotValues) {\n handleParsingNestedValues(form, key, value);\n delete form[key];\n }\n });\n }\n return form;\n}\nvar handleParsingAllValues = (form, key, value) => {\n if (form[key] !== void 0) {\n if (Array.isArray(form[key])) {\n ;\n form[key].push(value);\n } else {\n form[key] = [form[key], value];\n }\n } else {\n if (!key.endsWith(\"[]\")) {\n form[key] = value;\n } else {\n form[key] = [value];\n }\n }\n};\nvar handleParsingNestedValues = (form, key, value) => {\n let nestedForm = form;\n const keys = key.split(\".\");\n keys.forEach((key2, index) => {\n if (index === keys.length - 1) {\n nestedForm[key2] = value;\n } else {\n if (!nestedForm[key2] || typeof nestedForm[key2] !== \"object\" || Array.isArray(nestedForm[key2]) || nestedForm[key2] instanceof File) {\n nestedForm[key2] = /* @__PURE__ */ Object.create(null);\n }\n nestedForm = nestedForm[key2];\n }\n });\n};\nexport {\n parseBody\n};\n","// src/utils/url.ts\nvar splitPath = (path) => {\n const paths = path.split(\"/\");\n if (paths[0] === \"\") {\n paths.shift();\n }\n return paths;\n};\nvar splitRoutingPath = (routePath) => {\n const { groups, path } = extractGroupsFromPath(routePath);\n const paths = splitPath(path);\n return replaceGroupMarks(paths, groups);\n};\nvar extractGroupsFromPath = (path) => {\n const groups = [];\n path = path.replace(/\\{[^}]+\\}/g, (match, index) => {\n const mark = `@${index}`;\n groups.push([mark, match]);\n return mark;\n });\n return { groups, path };\n};\nvar replaceGroupMarks = (paths, groups) => {\n for (let i = groups.length - 1; i >= 0; i--) {\n const [mark] = groups[i];\n for (let j = paths.length - 1; j >= 0; j--) {\n if (paths[j].includes(mark)) {\n paths[j] = paths[j].replace(mark, groups[i][1]);\n break;\n }\n }\n }\n return paths;\n};\nvar patternCache = {};\nvar getPattern = (label, next) => {\n if (label === \"*\") {\n return \"*\";\n }\n const match = label.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n if (match) {\n const cacheKey = `${label}#${next}`;\n if (!patternCache[cacheKey]) {\n if (match[2]) {\n patternCache[cacheKey] = next && next[0] !== \":\" && next[0] !== \"*\" ? [cacheKey, match[1], new RegExp(`^${match[2]}(?=/${next})`)] : [label, match[1], new RegExp(`^${match[2]}$`)];\n } else {\n patternCache[cacheKey] = [label, match[1], true];\n }\n }\n return patternCache[cacheKey];\n }\n return null;\n};\nvar tryDecode = (str, decoder) => {\n try {\n return decoder(str);\n } catch {\n return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match) => {\n try {\n return decoder(match);\n } catch {\n return match;\n }\n });\n }\n};\nvar tryDecodeURI = (str) => tryDecode(str, decodeURI);\nvar getPath = (request) => {\n const url = request.url;\n const start = url.indexOf(\n \"/\",\n url.charCodeAt(9) === 58 ? 13 : 8\n );\n let i = start;\n for (; i < url.length; i++) {\n const charCode = url.charCodeAt(i);\n if (charCode === 37) {\n const queryIndex = url.indexOf(\"?\", i);\n const path = url.slice(start, queryIndex === -1 ? void 0 : queryIndex);\n return tryDecodeURI(path.includes(\"%25\") ? path.replace(/%25/g, \"%2525\") : path);\n } else if (charCode === 63) {\n break;\n }\n }\n return url.slice(start, i);\n};\nvar getQueryStrings = (url) => {\n const queryIndex = url.indexOf(\"?\", 8);\n return queryIndex === -1 ? \"\" : \"?\" + url.slice(queryIndex + 1);\n};\nvar getPathNoStrict = (request) => {\n const result = getPath(request);\n return result.length > 1 && result.at(-1) === \"/\" ? result.slice(0, -1) : result;\n};\nvar mergePath = (base, sub, ...rest) => {\n if (rest.length) {\n sub = mergePath(sub, ...rest);\n }\n return `${base?.[0] === \"/\" ? \"\" : \"/\"}${base}${sub === \"/\" ? \"\" : `${base?.at(-1) === \"/\" ? \"\" : \"/\"}${sub?.[0] === \"/\" ? sub.slice(1) : sub}`}`;\n};\nvar checkOptionalParameter = (path) => {\n if (path.charCodeAt(path.length - 1) !== 63 || !path.includes(\":\")) {\n return null;\n }\n const segments = path.split(\"/\");\n const results = [];\n let basePath = \"\";\n segments.forEach((segment) => {\n if (segment !== \"\" && !/\\:/.test(segment)) {\n basePath += \"/\" + segment;\n } else if (/\\:/.test(segment)) {\n if (/\\?/.test(segment)) {\n if (results.length === 0 && basePath === \"\") {\n results.push(\"/\");\n } else {\n results.push(basePath);\n }\n const optionalSegment = segment.replace(\"?\", \"\");\n basePath += \"/\" + optionalSegment;\n results.push(basePath);\n } else {\n basePath += \"/\" + segment;\n }\n }\n });\n return results.filter((v, i, a) => a.indexOf(v) === i);\n};\nvar _decodeURI = (value) => {\n if (!/[%+]/.test(value)) {\n return value;\n }\n if (value.indexOf(\"+\") !== -1) {\n value = value.replace(/\\+/g, \" \");\n }\n return value.indexOf(\"%\") !== -1 ? tryDecode(value, decodeURIComponent_) : value;\n};\nvar _getQueryParam = (url, key, multiple) => {\n let encoded;\n if (!multiple && key && !/[%+]/.test(key)) {\n let keyIndex2 = url.indexOf(`?${key}`, 8);\n if (keyIndex2 === -1) {\n keyIndex2 = url.indexOf(`&${key}`, 8);\n }\n while (keyIndex2 !== -1) {\n const trailingKeyCode = url.charCodeAt(keyIndex2 + key.length + 1);\n if (trailingKeyCode === 61) {\n const valueIndex = keyIndex2 + key.length + 2;\n const endIndex = url.indexOf(\"&\", valueIndex);\n return _decodeURI(url.slice(valueIndex, endIndex === -1 ? void 0 : endIndex));\n } else if (trailingKeyCode == 38 || isNaN(trailingKeyCode)) {\n return \"\";\n }\n keyIndex2 = url.indexOf(`&${key}`, keyIndex2 + 1);\n }\n encoded = /[%+]/.test(url);\n if (!encoded) {\n return void 0;\n }\n }\n const results = {};\n encoded ??= /[%+]/.test(url);\n let keyIndex = url.indexOf(\"?\", 8);\n while (keyIndex !== -1) {\n const nextKeyIndex = url.indexOf(\"&\", keyIndex + 1);\n let valueIndex = url.indexOf(\"=\", keyIndex);\n if (valueIndex > nextKeyIndex && nextKeyIndex !== -1) {\n valueIndex = -1;\n }\n let name = url.slice(\n keyIndex + 1,\n valueIndex === -1 ? nextKeyIndex === -1 ? void 0 : nextKeyIndex : valueIndex\n );\n if (encoded) {\n name = _decodeURI(name);\n }\n keyIndex = nextKeyIndex;\n if (name === \"\") {\n continue;\n }\n let value;\n if (valueIndex === -1) {\n value = \"\";\n } else {\n value = url.slice(valueIndex + 1, nextKeyIndex === -1 ? void 0 : nextKeyIndex);\n if (encoded) {\n value = _decodeURI(value);\n }\n }\n if (multiple) {\n if (!(results[name] && Array.isArray(results[name]))) {\n results[name] = [];\n }\n ;\n results[name].push(value);\n } else {\n results[name] ??= value;\n }\n }\n return key ? results[key] : results;\n};\nvar getQueryParam = _getQueryParam;\nvar getQueryParams = (url, key) => {\n return _getQueryParam(url, key, true);\n};\nvar decodeURIComponent_ = decodeURIComponent;\nexport {\n checkOptionalParameter,\n decodeURIComponent_,\n getPath,\n getPathNoStrict,\n getPattern,\n getQueryParam,\n getQueryParams,\n getQueryStrings,\n mergePath,\n splitPath,\n splitRoutingPath,\n tryDecode\n};\n","// src/request.ts\nimport { GET_MATCH_RESULT } from \"./request/constants.js\";\nimport { parseBody } from \"./utils/body.js\";\nimport { decodeURIComponent_, getQueryParam, getQueryParams, tryDecode } from \"./utils/url.js\";\nvar tryDecodeURIComponent = (str) => tryDecode(str, decodeURIComponent_);\nvar HonoRequest = class {\n raw;\n #validatedData;\n #matchResult;\n routeIndex = 0;\n path;\n bodyCache = {};\n constructor(request, path = \"/\", matchResult = [[]]) {\n this.raw = request;\n this.path = path;\n this.#matchResult = matchResult;\n this.#validatedData = {};\n }\n param(key) {\n return key ? this.#getDecodedParam(key) : this.#getAllDecodedParams();\n }\n #getDecodedParam(key) {\n const paramKey = this.#matchResult[0][this.routeIndex][1][key];\n const param = this.#getParamValue(paramKey);\n return param ? /\\%/.test(param) ? tryDecodeURIComponent(param) : param : void 0;\n }\n #getAllDecodedParams() {\n const decoded = {};\n const keys = Object.keys(this.#matchResult[0][this.routeIndex][1]);\n for (const key of keys) {\n const value = this.#getParamValue(this.#matchResult[0][this.routeIndex][1][key]);\n if (value && typeof value === \"string\") {\n decoded[key] = /\\%/.test(value) ? tryDecodeURIComponent(value) : value;\n }\n }\n return decoded;\n }\n #getParamValue(paramKey) {\n return this.#matchResult[1] ? this.#matchResult[1][paramKey] : paramKey;\n }\n query(key) {\n return getQueryParam(this.url, key);\n }\n queries(key) {\n return getQueryParams(this.url, key);\n }\n header(name) {\n if (name) {\n return this.raw.headers.get(name) ?? void 0;\n }\n const headerData = {};\n this.raw.headers.forEach((value, key) => {\n headerData[key] = value;\n });\n return headerData;\n }\n async parseBody(options) {\n return this.bodyCache.parsedBody ??= await parseBody(this, options);\n }\n #cachedBody = (key) => {\n const { bodyCache, raw } = this;\n const cachedBody = bodyCache[key];\n if (cachedBody) {\n return cachedBody;\n }\n const anyCachedKey = Object.keys(bodyCache)[0];\n if (anyCachedKey) {\n return bodyCache[anyCachedKey].then((body) => {\n if (anyCachedKey === \"json\") {\n body = JSON.stringify(body);\n }\n return new Response(body)[key]();\n });\n }\n return bodyCache[key] = raw[key]();\n };\n json() {\n return this.#cachedBody(\"text\").then((text) => JSON.parse(text));\n }\n text() {\n return this.#cachedBody(\"text\");\n }\n arrayBuffer() {\n return this.#cachedBody(\"arrayBuffer\");\n }\n blob() {\n return this.#cachedBody(\"blob\");\n }\n formData() {\n return this.#cachedBody(\"formData\");\n }\n addValidatedData(target, data) {\n this.#validatedData[target] = data;\n }\n valid(target) {\n return this.#validatedData[target];\n }\n get url() {\n return this.raw.url;\n }\n get method() {\n return this.raw.method;\n }\n get [GET_MATCH_RESULT]() {\n return this.#matchResult;\n }\n get matchedRoutes() {\n return this.#matchResult[0].map(([[, route]]) => route);\n }\n get routePath() {\n return this.#matchResult[0].map(([[, route]]) => route)[this.routeIndex].path;\n }\n};\nexport {\n HonoRequest\n};\n","// src/utils/html.ts\nvar HtmlEscapedCallbackPhase = {\n Stringify: 1,\n BeforeStream: 2,\n Stream: 3\n};\nvar raw = (value, callbacks) => {\n const escapedString = new String(value);\n escapedString.isEscaped = true;\n escapedString.callbacks = callbacks;\n return escapedString;\n};\nvar escapeRe = /[&<>'\"]/;\nvar stringBufferToString = async (buffer, callbacks) => {\n let str = \"\";\n callbacks ||= [];\n const resolvedBuffer = await Promise.all(buffer);\n for (let i = resolvedBuffer.length - 1; ; i--) {\n str += resolvedBuffer[i];\n i--;\n if (i < 0) {\n break;\n }\n let r = resolvedBuffer[i];\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n const isEscaped = r.isEscaped;\n r = await (typeof r === \"object\" ? r.toString() : r);\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n if (r.isEscaped ?? isEscaped) {\n str += r;\n } else {\n const buf = [str];\n escapeToBuffer(r, buf);\n str = buf[0];\n }\n }\n return raw(str, callbacks);\n};\nvar escapeToBuffer = (str, buffer) => {\n const match = str.search(escapeRe);\n if (match === -1) {\n buffer[0] += str;\n return;\n }\n let escape;\n let index;\n let lastIndex = 0;\n for (index = match; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escape = \""\";\n break;\n case 39:\n escape = \"'\";\n break;\n case 38:\n escape = \"&\";\n break;\n case 60:\n escape = \"<\";\n break;\n case 62:\n escape = \">\";\n break;\n default:\n continue;\n }\n buffer[0] += str.substring(lastIndex, index) + escape;\n lastIndex = index + 1;\n }\n buffer[0] += str.substring(lastIndex, index);\n};\nvar resolveCallbackSync = (str) => {\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return str;\n }\n const buffer = [str];\n const context = {};\n callbacks.forEach((c) => c({ phase: HtmlEscapedCallbackPhase.Stringify, buffer, context }));\n return buffer[0];\n};\nvar resolveCallback = async (str, phase, preserveCallbacks, context, buffer) => {\n if (typeof str === \"object\" && !(str instanceof String)) {\n if (!(str instanceof Promise)) {\n str = str.toString();\n }\n if (str instanceof Promise) {\n str = await str;\n }\n }\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return Promise.resolve(str);\n }\n if (buffer) {\n buffer[0] += str;\n } else {\n buffer = [str];\n }\n const resStr = Promise.all(callbacks.map((c) => c({ phase, buffer, context }))).then(\n (res) => Promise.all(\n res.filter(Boolean).map((str2) => resolveCallback(str2, phase, false, context, buffer))\n ).then(() => buffer[0])\n );\n if (preserveCallbacks) {\n return raw(await resStr, callbacks);\n } else {\n return resStr;\n }\n};\nexport {\n HtmlEscapedCallbackPhase,\n escapeToBuffer,\n raw,\n resolveCallback,\n resolveCallbackSync,\n stringBufferToString\n};\n","// src/context.ts\nimport { HonoRequest } from \"./request.js\";\nimport { HtmlEscapedCallbackPhase, resolveCallback } from \"./utils/html.js\";\nvar TEXT_PLAIN = \"text/plain; charset=UTF-8\";\nvar setDefaultContentType = (contentType, headers) => {\n return {\n \"Content-Type\": contentType,\n ...headers\n };\n};\nvar Context = class {\n #rawRequest;\n #req;\n env = {};\n #var;\n finalized = false;\n error;\n #status;\n #executionCtx;\n #res;\n #layout;\n #renderer;\n #notFoundHandler;\n #preparedHeaders;\n #matchResult;\n #path;\n constructor(req, options) {\n this.#rawRequest = req;\n if (options) {\n this.#executionCtx = options.executionCtx;\n this.env = options.env;\n this.#notFoundHandler = options.notFoundHandler;\n this.#path = options.path;\n this.#matchResult = options.matchResult;\n }\n }\n get req() {\n this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult);\n return this.#req;\n }\n get event() {\n if (this.#executionCtx && \"respondWith\" in this.#executionCtx) {\n return this.#executionCtx;\n } else {\n throw Error(\"This context has no FetchEvent\");\n }\n }\n get executionCtx() {\n if (this.#executionCtx) {\n return this.#executionCtx;\n } else {\n throw Error(\"This context has no ExecutionContext\");\n }\n }\n get res() {\n return this.#res ||= new Response(null, {\n headers: this.#preparedHeaders ??= new Headers()\n });\n }\n set res(_res) {\n if (this.#res && _res) {\n _res = new Response(_res.body, _res);\n for (const [k, v] of this.#res.headers.entries()) {\n if (k === \"content-type\") {\n continue;\n }\n if (k === \"set-cookie\") {\n const cookies = this.#res.headers.getSetCookie();\n _res.headers.delete(\"set-cookie\");\n for (const cookie of cookies) {\n _res.headers.append(\"set-cookie\", cookie);\n }\n } else {\n _res.headers.set(k, v);\n }\n }\n }\n this.#res = _res;\n this.finalized = true;\n }\n render = (...args) => {\n this.#renderer ??= (content) => this.html(content);\n return this.#renderer(...args);\n };\n setLayout = (layout) => this.#layout = layout;\n getLayout = () => this.#layout;\n setRenderer = (renderer) => {\n this.#renderer = renderer;\n };\n header = (name, value, options) => {\n if (this.finalized) {\n this.#res = new Response(this.#res.body, this.#res);\n }\n const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();\n if (value === void 0) {\n headers.delete(name);\n } else if (options?.append) {\n headers.append(name, value);\n } else {\n headers.set(name, value);\n }\n };\n status = (status) => {\n this.#status = status;\n };\n set = (key, value) => {\n this.#var ??= /* @__PURE__ */ new Map();\n this.#var.set(key, value);\n };\n get = (key) => {\n return this.#var ? this.#var.get(key) : void 0;\n };\n get var() {\n if (!this.#var) {\n return {};\n }\n return Object.fromEntries(this.#var);\n }\n #newResponse(data, arg, headers) {\n const responseHeaders = this.#res ? new Headers(this.#res.headers) : this.#preparedHeaders ?? new Headers();\n if (typeof arg === \"object\" && \"headers\" in arg) {\n const argHeaders = arg.headers instanceof Headers ? arg.headers : new Headers(arg.headers);\n for (const [key, value] of argHeaders) {\n if (key.toLowerCase() === \"set-cookie\") {\n responseHeaders.append(key, value);\n } else {\n responseHeaders.set(key, value);\n }\n }\n }\n if (headers) {\n for (const [k, v] of Object.entries(headers)) {\n if (typeof v === \"string\") {\n responseHeaders.set(k, v);\n } else {\n responseHeaders.delete(k);\n for (const v2 of v) {\n responseHeaders.append(k, v2);\n }\n }\n }\n }\n const status = typeof arg === \"number\" ? arg : arg?.status ?? this.#status;\n return new Response(data, { status, headers: responseHeaders });\n }\n newResponse = (...args) => this.#newResponse(...args);\n body = (data, arg, headers) => this.#newResponse(data, arg, headers);\n text = (text, arg, headers) => {\n return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse(\n text,\n arg,\n setDefaultContentType(TEXT_PLAIN, headers)\n );\n };\n json = (object, arg, headers) => {\n return this.#newResponse(\n JSON.stringify(object),\n arg,\n setDefaultContentType(\"application/json\", headers)\n );\n };\n html = (html, arg, headers) => {\n const res = (html2) => this.#newResponse(html2, arg, setDefaultContentType(\"text/html; charset=UTF-8\", headers));\n return typeof html === \"object\" ? resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);\n };\n redirect = (location, status) => {\n const locationString = String(location);\n this.header(\n \"Location\",\n !/[^\\x00-\\xFF]/.test(locationString) ? locationString : encodeURI(locationString)\n );\n return this.newResponse(null, status ?? 302);\n };\n notFound = () => {\n this.#notFoundHandler ??= () => new Response();\n return this.#notFoundHandler(this);\n };\n};\nexport {\n Context,\n TEXT_PLAIN\n};\n","// src/router.ts\nvar METHOD_NAME_ALL = \"ALL\";\nvar METHOD_NAME_ALL_LOWERCASE = \"all\";\nvar METHODS = [\"get\", \"post\", \"put\", \"delete\", \"options\", \"patch\"];\nvar MESSAGE_MATCHER_IS_ALREADY_BUILT = \"Can not add a route since the matcher is already built.\";\nvar UnsupportedPathError = class extends Error {\n};\nexport {\n MESSAGE_MATCHER_IS_ALREADY_BUILT,\n METHODS,\n METHOD_NAME_ALL,\n METHOD_NAME_ALL_LOWERCASE,\n UnsupportedPathError\n};\n","// src/utils/constants.ts\nvar COMPOSED_HANDLER = \"__COMPOSED_HANDLER\";\nexport {\n COMPOSED_HANDLER\n};\n","// src/hono-base.ts\nimport { compose } from \"./compose.js\";\nimport { Context } from \"./context.js\";\nimport { METHODS, METHOD_NAME_ALL, METHOD_NAME_ALL_LOWERCASE } from \"./router.js\";\nimport { COMPOSED_HANDLER } from \"./utils/constants.js\";\nimport { getPath, getPathNoStrict, mergePath } from \"./utils/url.js\";\nvar notFoundHandler = (c) => {\n return c.text(\"404 Not Found\", 404);\n};\nvar errorHandler = (err, c) => {\n if (\"getResponse\" in err) {\n const res = err.getResponse();\n return c.newResponse(res.body, res);\n }\n console.error(err);\n return c.text(\"Internal Server Error\", 500);\n};\nvar Hono = class {\n get;\n post;\n put;\n delete;\n options;\n patch;\n all;\n on;\n use;\n router;\n getPath;\n _basePath = \"/\";\n #path = \"/\";\n routes = [];\n constructor(options = {}) {\n const allMethods = [...METHODS, METHOD_NAME_ALL_LOWERCASE];\n allMethods.forEach((method) => {\n this[method] = (args1, ...args) => {\n if (typeof args1 === \"string\") {\n this.#path = args1;\n } else {\n this.#addRoute(method, this.#path, args1);\n }\n args.forEach((handler) => {\n this.#addRoute(method, this.#path, handler);\n });\n return this;\n };\n });\n this.on = (method, path, ...handlers) => {\n for (const p of [path].flat()) {\n this.#path = p;\n for (const m of [method].flat()) {\n handlers.map((handler) => {\n this.#addRoute(m.toUpperCase(), this.#path, handler);\n });\n }\n }\n return this;\n };\n this.use = (arg1, ...handlers) => {\n if (typeof arg1 === \"string\") {\n this.#path = arg1;\n } else {\n this.#path = \"*\";\n handlers.unshift(arg1);\n }\n handlers.forEach((handler) => {\n this.#addRoute(METHOD_NAME_ALL, this.#path, handler);\n });\n return this;\n };\n const { strict, ...optionsWithoutStrict } = options;\n Object.assign(this, optionsWithoutStrict);\n this.getPath = strict ?? true ? options.getPath ?? getPath : getPathNoStrict;\n }\n #clone() {\n const clone = new Hono({\n router: this.router,\n getPath: this.getPath\n });\n clone.errorHandler = this.errorHandler;\n clone.#notFoundHandler = this.#notFoundHandler;\n clone.routes = this.routes;\n return clone;\n }\n #notFoundHandler = notFoundHandler;\n errorHandler = errorHandler;\n route(path, app) {\n const subApp = this.basePath(path);\n app.routes.map((r) => {\n let handler;\n if (app.errorHandler === errorHandler) {\n handler = r.handler;\n } else {\n handler = async (c, next) => (await compose([], app.errorHandler)(c, () => r.handler(c, next))).res;\n handler[COMPOSED_HANDLER] = r.handler;\n }\n subApp.#addRoute(r.method, r.path, handler);\n });\n return this;\n }\n basePath(path) {\n const subApp = this.#clone();\n subApp._basePath = mergePath(this._basePath, path);\n return subApp;\n }\n onError = (handler) => {\n this.errorHandler = handler;\n return this;\n };\n notFound = (handler) => {\n this.#notFoundHandler = handler;\n return this;\n };\n mount(path, applicationHandler, options) {\n let replaceRequest;\n let optionHandler;\n if (options) {\n if (typeof options === \"function\") {\n optionHandler = options;\n } else {\n optionHandler = options.optionHandler;\n if (options.replaceRequest === false) {\n replaceRequest = (request) => request;\n } else {\n replaceRequest = options.replaceRequest;\n }\n }\n }\n const getOptions = optionHandler ? (c) => {\n const options2 = optionHandler(c);\n return Array.isArray(options2) ? options2 : [options2];\n } : (c) => {\n let executionContext = void 0;\n try {\n executionContext = c.executionCtx;\n } catch {\n }\n return [c.env, executionContext];\n };\n replaceRequest ||= (() => {\n const mergedPath = mergePath(this._basePath, path);\n const pathPrefixLength = mergedPath === \"/\" ? 0 : mergedPath.length;\n return (request) => {\n const url = new URL(request.url);\n url.pathname = url.pathname.slice(pathPrefixLength) || \"/\";\n return new Request(url, request);\n };\n })();\n const handler = async (c, next) => {\n const res = await applicationHandler(replaceRequest(c.req.raw), ...getOptions(c));\n if (res) {\n return res;\n }\n await next();\n };\n this.#addRoute(METHOD_NAME_ALL, mergePath(path, \"*\"), handler);\n return this;\n }\n #addRoute(method, path, handler) {\n method = method.toUpperCase();\n path = mergePath(this._basePath, path);\n const r = { basePath: this._basePath, path, method, handler };\n this.router.add(method, path, [handler, r]);\n this.routes.push(r);\n }\n #handleError(err, c) {\n if (err instanceof Error) {\n return this.errorHandler(err, c);\n }\n throw err;\n }\n #dispatch(request, executionCtx, env, method) {\n if (method === \"HEAD\") {\n return (async () => new Response(null, await this.#dispatch(request, executionCtx, env, \"GET\")))();\n }\n const path = this.getPath(request, { env });\n const matchResult = this.router.match(method, path);\n const c = new Context(request, {\n path,\n matchResult,\n env,\n executionCtx,\n notFoundHandler: this.#notFoundHandler\n });\n if (matchResult[0].length === 1) {\n let res;\n try {\n res = matchResult[0][0][0][0](c, async () => {\n c.res = await this.#notFoundHandler(c);\n });\n } catch (err) {\n return this.#handleError(err, c);\n }\n return res instanceof Promise ? res.then(\n (resolved) => resolved || (c.finalized ? c.res : this.#notFoundHandler(c))\n ).catch((err) => this.#handleError(err, c)) : res ?? this.#notFoundHandler(c);\n }\n const composed = compose(matchResult[0], this.errorHandler, this.#notFoundHandler);\n return (async () => {\n try {\n const context = await composed(c);\n if (!context.finalized) {\n throw new Error(\n \"Context is not finalized. Did you forget to return a Response object or `await next()`?\"\n );\n }\n return context.res;\n } catch (err) {\n return this.#handleError(err, c);\n }\n })();\n }\n fetch = (request, ...rest) => {\n return this.#dispatch(request, rest[1], rest[0], request.method);\n };\n request = (input, requestInit, Env, executionCtx) => {\n if (input instanceof Request) {\n return this.fetch(requestInit ? new Request(input, requestInit) : input, Env, executionCtx);\n }\n input = input.toString();\n return this.fetch(\n new Request(\n /^https?:\\/\\//.test(input) ? input : `http://localhost${mergePath(\"/\", input)}`,\n requestInit\n ),\n Env,\n executionCtx\n );\n };\n fire = () => {\n addEventListener(\"fetch\", (event) => {\n event.respondWith(this.#dispatch(event.request, event, void 0, event.request.method));\n });\n };\n};\nexport {\n Hono as HonoBase\n};\n","// src/router/reg-exp-router/node.ts\nvar LABEL_REG_EXP_STR = \"[^/]+\";\nvar ONLY_WILDCARD_REG_EXP_STR = \".*\";\nvar TAIL_WILDCARD_REG_EXP_STR = \"(?:|/.*)\";\nvar PATH_ERROR = Symbol();\nvar regExpMetaChars = new Set(\".\\\\+*[^]$()\");\nfunction compareKey(a, b) {\n if (a.length === 1) {\n return b.length === 1 ? a < b ? -1 : 1 : -1;\n }\n if (b.length === 1) {\n return 1;\n }\n if (a === ONLY_WILDCARD_REG_EXP_STR || a === TAIL_WILDCARD_REG_EXP_STR) {\n return 1;\n } else if (b === ONLY_WILDCARD_REG_EXP_STR || b === TAIL_WILDCARD_REG_EXP_STR) {\n return -1;\n }\n if (a === LABEL_REG_EXP_STR) {\n return 1;\n } else if (b === LABEL_REG_EXP_STR) {\n return -1;\n }\n return a.length === b.length ? a < b ? -1 : 1 : b.length - a.length;\n}\nvar Node = class {\n #index;\n #varIndex;\n #children = /* @__PURE__ */ Object.create(null);\n insert(tokens, index, paramMap, context, pathErrorCheckOnly) {\n if (tokens.length === 0) {\n if (this.#index !== void 0) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n this.#index = index;\n return;\n }\n const [token, ...restTokens] = tokens;\n const pattern = token === \"*\" ? restTokens.length === 0 ? [\"\", \"\", ONLY_WILDCARD_REG_EXP_STR] : [\"\", \"\", LABEL_REG_EXP_STR] : token === \"/*\" ? [\"\", \"\", TAIL_WILDCARD_REG_EXP_STR] : token.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n let node;\n if (pattern) {\n const name = pattern[1];\n let regexpStr = pattern[2] || LABEL_REG_EXP_STR;\n if (name && pattern[2]) {\n regexpStr = regexpStr.replace(/^\\((?!\\?:)(?=[^)]+\\)$)/, \"(?:\");\n if (/\\((?!\\?:)/.test(regexpStr)) {\n throw PATH_ERROR;\n }\n }\n node = this.#children[regexpStr];\n if (!node) {\n if (Object.keys(this.#children).some(\n (k) => k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.#children[regexpStr] = new Node();\n if (name !== \"\") {\n node.#varIndex = context.varIndex++;\n }\n }\n if (!pathErrorCheckOnly && name !== \"\") {\n paramMap.push([name, node.#varIndex]);\n }\n } else {\n node = this.#children[token];\n if (!node) {\n if (Object.keys(this.#children).some(\n (k) => k.length > 1 && k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.#children[token] = new Node();\n }\n }\n node.insert(restTokens, index, paramMap, context, pathErrorCheckOnly);\n }\n buildRegExpStr() {\n const childKeys = Object.keys(this.#children).sort(compareKey);\n const strList = childKeys.map((k) => {\n const c = this.#children[k];\n return (typeof c.#varIndex === \"number\" ? `(${k})@${c.#varIndex}` : regExpMetaChars.has(k) ? `\\\\${k}` : k) + c.buildRegExpStr();\n });\n if (typeof this.#index === \"number\") {\n strList.unshift(`#${this.#index}`);\n }\n if (strList.length === 0) {\n return \"\";\n }\n if (strList.length === 1) {\n return strList[0];\n }\n return \"(?:\" + strList.join(\"|\") + \")\";\n }\n};\nexport {\n Node,\n PATH_ERROR\n};\n","// src/router/reg-exp-router/trie.ts\nimport { Node } from \"./node.js\";\nvar Trie = class {\n #context = { varIndex: 0 };\n #root = new Node();\n insert(path, index, pathErrorCheckOnly) {\n const paramAssoc = [];\n const groups = [];\n for (let i = 0; ; ) {\n let replaced = false;\n path = path.replace(/\\{[^}]+\\}/g, (m) => {\n const mark = `@\\\\${i}`;\n groups[i] = [mark, m];\n i++;\n replaced = true;\n return mark;\n });\n if (!replaced) {\n break;\n }\n }\n const tokens = path.match(/(?::[^\\/]+)|(?:\\/\\*$)|./g) || [];\n for (let i = groups.length - 1; i >= 0; i--) {\n const [mark] = groups[i];\n for (let j = tokens.length - 1; j >= 0; j--) {\n if (tokens[j].indexOf(mark) !== -1) {\n tokens[j] = tokens[j].replace(mark, groups[i][1]);\n break;\n }\n }\n }\n this.#root.insert(tokens, index, paramAssoc, this.#context, pathErrorCheckOnly);\n return paramAssoc;\n }\n buildRegExp() {\n let regexp = this.#root.buildRegExpStr();\n if (regexp === \"\") {\n return [/^$/, [], []];\n }\n let captureIndex = 0;\n const indexReplacementMap = [];\n const paramReplacementMap = [];\n regexp = regexp.replace(/#(\\d+)|@(\\d+)|\\.\\*\\$/g, (_, handlerIndex, paramIndex) => {\n if (handlerIndex !== void 0) {\n indexReplacementMap[++captureIndex] = Number(handlerIndex);\n return \"$()\";\n }\n if (paramIndex !== void 0) {\n paramReplacementMap[Number(paramIndex)] = ++captureIndex;\n return \"\";\n }\n return \"\";\n });\n return [new RegExp(`^${regexp}`), indexReplacementMap, paramReplacementMap];\n }\n};\nexport {\n Trie\n};\n","// src/router/reg-exp-router/router.ts\nimport {\n MESSAGE_MATCHER_IS_ALREADY_BUILT,\n METHOD_NAME_ALL,\n UnsupportedPathError\n} from \"../../router.js\";\nimport { checkOptionalParameter } from \"../../utils/url.js\";\nimport { PATH_ERROR } from \"./node.js\";\nimport { Trie } from \"./trie.js\";\nvar emptyParam = [];\nvar nullMatcher = [/^$/, [], /* @__PURE__ */ Object.create(null)];\nvar wildcardRegExpCache = /* @__PURE__ */ Object.create(null);\nfunction buildWildcardRegExp(path) {\n return wildcardRegExpCache[path] ??= new RegExp(\n path === \"*\" ? \"\" : `^${path.replace(\n /\\/\\*$|([.\\\\+*[^\\]$()])/g,\n (_, metaChar) => metaChar ? `\\\\${metaChar}` : \"(?:|/.*)\"\n )}$`\n );\n}\nfunction clearWildcardRegExpCache() {\n wildcardRegExpCache = /* @__PURE__ */ Object.create(null);\n}\nfunction buildMatcherFromPreprocessedRoutes(routes) {\n const trie = new Trie();\n const handlerData = [];\n if (routes.length === 0) {\n return nullMatcher;\n }\n const routesWithStaticPathFlag = routes.map(\n (route) => [!/\\*|\\/:/.test(route[0]), ...route]\n ).sort(\n ([isStaticA, pathA], [isStaticB, pathB]) => isStaticA ? 1 : isStaticB ? -1 : pathA.length - pathB.length\n );\n const staticMap = /* @__PURE__ */ Object.create(null);\n for (let i = 0, j = -1, len = routesWithStaticPathFlag.length; i < len; i++) {\n const [pathErrorCheckOnly, path, handlers] = routesWithStaticPathFlag[i];\n if (pathErrorCheckOnly) {\n staticMap[path] = [handlers.map(([h]) => [h, /* @__PURE__ */ Object.create(null)]), emptyParam];\n } else {\n j++;\n }\n let paramAssoc;\n try {\n paramAssoc = trie.insert(path, j, pathErrorCheckOnly);\n } catch (e) {\n throw e === PATH_ERROR ? new UnsupportedPathError(path) : e;\n }\n if (pathErrorCheckOnly) {\n continue;\n }\n handlerData[j] = handlers.map(([h, paramCount]) => {\n const paramIndexMap = /* @__PURE__ */ Object.create(null);\n paramCount -= 1;\n for (; paramCount >= 0; paramCount--) {\n const [key, value] = paramAssoc[paramCount];\n paramIndexMap[key] = value;\n }\n return [h, paramIndexMap];\n });\n }\n const [regexp, indexReplacementMap, paramReplacementMap] = trie.buildRegExp();\n for (let i = 0, len = handlerData.length; i < len; i++) {\n for (let j = 0, len2 = handlerData[i].length; j < len2; j++) {\n const map = handlerData[i][j]?.[1];\n if (!map) {\n continue;\n }\n const keys = Object.keys(map);\n for (let k = 0, len3 = keys.length; k < len3; k++) {\n map[keys[k]] = paramReplacementMap[map[keys[k]]];\n }\n }\n }\n const handlerMap = [];\n for (const i in indexReplacementMap) {\n handlerMap[i] = handlerData[indexReplacementMap[i]];\n }\n return [regexp, handlerMap, staticMap];\n}\nfunction findMiddleware(middleware, path) {\n if (!middleware) {\n return void 0;\n }\n for (const k of Object.keys(middleware).sort((a, b) => b.length - a.length)) {\n if (buildWildcardRegExp(k).test(path)) {\n return [...middleware[k]];\n }\n }\n return void 0;\n}\nvar RegExpRouter = class {\n name = \"RegExpRouter\";\n #middleware;\n #routes;\n constructor() {\n this.#middleware = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) };\n this.#routes = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) };\n }\n add(method, path, handler) {\n const middleware = this.#middleware;\n const routes = this.#routes;\n if (!middleware || !routes) {\n throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT);\n }\n if (!middleware[method]) {\n ;\n [middleware, routes].forEach((handlerMap) => {\n handlerMap[method] = /* @__PURE__ */ Object.create(null);\n Object.keys(handlerMap[METHOD_NAME_ALL]).forEach((p) => {\n handlerMap[method][p] = [...handlerMap[METHOD_NAME_ALL][p]];\n });\n });\n }\n if (path === \"/*\") {\n path = \"*\";\n }\n const paramCount = (path.match(/\\/:/g) || []).length;\n if (/\\*$/.test(path)) {\n const re = buildWildcardRegExp(path);\n if (method === METHOD_NAME_ALL) {\n Object.keys(middleware).forEach((m) => {\n middleware[m][path] ||= findMiddleware(middleware[m], path) || findMiddleware(middleware[METHOD_NAME_ALL], path) || [];\n });\n } else {\n middleware[method][path] ||= findMiddleware(middleware[method], path) || findMiddleware(middleware[METHOD_NAME_ALL], path) || [];\n }\n Object.keys(middleware).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n Object.keys(middleware[m]).forEach((p) => {\n re.test(p) && middleware[m][p].push([handler, paramCount]);\n });\n }\n });\n Object.keys(routes).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n Object.keys(routes[m]).forEach(\n (p) => re.test(p) && routes[m][p].push([handler, paramCount])\n );\n }\n });\n return;\n }\n const paths = checkOptionalParameter(path) || [path];\n for (let i = 0, len = paths.length; i < len; i++) {\n const path2 = paths[i];\n Object.keys(routes).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n routes[m][path2] ||= [\n ...findMiddleware(middleware[m], path2) || findMiddleware(middleware[METHOD_NAME_ALL], path2) || []\n ];\n routes[m][path2].push([handler, paramCount - len + i + 1]);\n }\n });\n }\n }\n match(method, path) {\n clearWildcardRegExpCache();\n const matchers = this.#buildAllMatchers();\n this.match = (method2, path2) => {\n const matcher = matchers[method2] || matchers[METHOD_NAME_ALL];\n const staticMatch = matcher[2][path2];\n if (staticMatch) {\n return staticMatch;\n }\n const match = path2.match(matcher[0]);\n if (!match) {\n return [[], emptyParam];\n }\n const index = match.indexOf(\"\", 1);\n return [matcher[1][index], match];\n };\n return this.match(method, path);\n }\n #buildAllMatchers() {\n const matchers = /* @__PURE__ */ Object.create(null);\n Object.keys(this.#routes).concat(Object.keys(this.#middleware)).forEach((method) => {\n matchers[method] ||= this.#buildMatcher(method);\n });\n this.#middleware = this.#routes = void 0;\n return matchers;\n }\n #buildMatcher(method) {\n const routes = [];\n let hasOwnRoute = method === METHOD_NAME_ALL;\n [this.#middleware, this.#routes].forEach((r) => {\n const ownRoute = r[method] ? Object.keys(r[method]).map((path) => [path, r[method][path]]) : [];\n if (ownRoute.length !== 0) {\n hasOwnRoute ||= true;\n routes.push(...ownRoute);\n } else if (method !== METHOD_NAME_ALL) {\n routes.push(\n ...Object.keys(r[METHOD_NAME_ALL]).map((path) => [path, r[METHOD_NAME_ALL][path]])\n );\n }\n });\n if (!hasOwnRoute) {\n return null;\n } else {\n return buildMatcherFromPreprocessedRoutes(routes);\n }\n }\n};\nexport {\n RegExpRouter\n};\n","// src/router/smart-router/router.ts\nimport { MESSAGE_MATCHER_IS_ALREADY_BUILT, UnsupportedPathError } from \"../../router.js\";\nvar SmartRouter = class {\n name = \"SmartRouter\";\n #routers = [];\n #routes = [];\n constructor(init) {\n this.#routers = init.routers;\n }\n add(method, path, handler) {\n if (!this.#routes) {\n throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT);\n }\n this.#routes.push([method, path, handler]);\n }\n match(method, path) {\n if (!this.#routes) {\n throw new Error(\"Fatal error\");\n }\n const routers = this.#routers;\n const routes = this.#routes;\n const len = routers.length;\n let i = 0;\n let res;\n for (; i < len; i++) {\n const router = routers[i];\n try {\n for (let i2 = 0, len2 = routes.length; i2 < len2; i2++) {\n router.add(...routes[i2]);\n }\n res = router.match(method, path);\n } catch (e) {\n if (e instanceof UnsupportedPathError) {\n continue;\n }\n throw e;\n }\n this.match = router.match.bind(router);\n this.#routers = [router];\n this.#routes = void 0;\n break;\n }\n if (i === len) {\n throw new Error(\"Fatal error\");\n }\n this.name = `SmartRouter + ${this.activeRouter.name}`;\n return res;\n }\n get activeRouter() {\n if (this.#routes || this.#routers.length !== 1) {\n throw new Error(\"No active router has been determined yet.\");\n }\n return this.#routers[0];\n }\n};\nexport {\n SmartRouter\n};\n","// src/router/trie-router/node.ts\nimport { METHOD_NAME_ALL } from \"../../router.js\";\nimport { getPattern, splitPath, splitRoutingPath } from \"../../utils/url.js\";\nvar emptyParams = /* @__PURE__ */ Object.create(null);\nvar Node = class {\n #methods;\n #children;\n #patterns;\n #order = 0;\n #params = emptyParams;\n constructor(method, handler, children) {\n this.#children = children || /* @__PURE__ */ Object.create(null);\n this.#methods = [];\n if (method && handler) {\n const m = /* @__PURE__ */ Object.create(null);\n m[method] = { handler, possibleKeys: [], score: 0 };\n this.#methods = [m];\n }\n this.#patterns = [];\n }\n insert(method, path, handler) {\n this.#order = ++this.#order;\n let curNode = this;\n const parts = splitRoutingPath(path);\n const possibleKeys = [];\n for (let i = 0, len = parts.length; i < len; i++) {\n const p = parts[i];\n const nextP = parts[i + 1];\n const pattern = getPattern(p, nextP);\n const key = Array.isArray(pattern) ? pattern[0] : p;\n if (key in curNode.#children) {\n curNode = curNode.#children[key];\n if (pattern) {\n possibleKeys.push(pattern[1]);\n }\n continue;\n }\n curNode.#children[key] = new Node();\n if (pattern) {\n curNode.#patterns.push(pattern);\n possibleKeys.push(pattern[1]);\n }\n curNode = curNode.#children[key];\n }\n curNode.#methods.push({\n [method]: {\n handler,\n possibleKeys: possibleKeys.filter((v, i, a) => a.indexOf(v) === i),\n score: this.#order\n }\n });\n return curNode;\n }\n #getHandlerSets(node, method, nodeParams, params) {\n const handlerSets = [];\n for (let i = 0, len = node.#methods.length; i < len; i++) {\n const m = node.#methods[i];\n const handlerSet = m[method] || m[METHOD_NAME_ALL];\n const processedSet = {};\n if (handlerSet !== void 0) {\n handlerSet.params = /* @__PURE__ */ Object.create(null);\n handlerSets.push(handlerSet);\n if (nodeParams !== emptyParams || params && params !== emptyParams) {\n for (let i2 = 0, len2 = handlerSet.possibleKeys.length; i2 < len2; i2++) {\n const key = handlerSet.possibleKeys[i2];\n const processed = processedSet[handlerSet.score];\n handlerSet.params[key] = params?.[key] && !processed ? params[key] : nodeParams[key] ?? params?.[key];\n processedSet[handlerSet.score] = true;\n }\n }\n }\n }\n return handlerSets;\n }\n search(method, path) {\n const handlerSets = [];\n this.#params = emptyParams;\n const curNode = this;\n let curNodes = [curNode];\n const parts = splitPath(path);\n const curNodesQueue = [];\n for (let i = 0, len = parts.length; i < len; i++) {\n const part = parts[i];\n const isLast = i === len - 1;\n const tempNodes = [];\n for (let j = 0, len2 = curNodes.length; j < len2; j++) {\n const node = curNodes[j];\n const nextNode = node.#children[part];\n if (nextNode) {\n nextNode.#params = node.#params;\n if (isLast) {\n if (nextNode.#children[\"*\"]) {\n handlerSets.push(\n ...this.#getHandlerSets(nextNode.#children[\"*\"], method, node.#params)\n );\n }\n handlerSets.push(...this.#getHandlerSets(nextNode, method, node.#params));\n } else {\n tempNodes.push(nextNode);\n }\n }\n for (let k = 0, len3 = node.#patterns.length; k < len3; k++) {\n const pattern = node.#patterns[k];\n const params = node.#params === emptyParams ? {} : { ...node.#params };\n if (pattern === \"*\") {\n const astNode = node.#children[\"*\"];\n if (astNode) {\n handlerSets.push(...this.#getHandlerSets(astNode, method, node.#params));\n astNode.#params = params;\n tempNodes.push(astNode);\n }\n continue;\n }\n if (!part) {\n continue;\n }\n const [key, name, matcher] = pattern;\n const child = node.#children[key];\n const restPathString = parts.slice(i).join(\"/\");\n if (matcher instanceof RegExp) {\n const m = matcher.exec(restPathString);\n if (m) {\n params[name] = m[0];\n handlerSets.push(...this.#getHandlerSets(child, method, node.#params, params));\n if (Object.keys(child.#children).length) {\n child.#params = params;\n const componentCount = m[0].match(/\\//)?.length ?? 0;\n const targetCurNodes = curNodesQueue[componentCount] ||= [];\n targetCurNodes.push(child);\n }\n continue;\n }\n }\n if (matcher === true || matcher.test(part)) {\n params[name] = part;\n if (isLast) {\n handlerSets.push(...this.#getHandlerSets(child, method, params, node.#params));\n if (child.#children[\"*\"]) {\n handlerSets.push(\n ...this.#getHandlerSets(child.#children[\"*\"], method, params, node.#params)\n );\n }\n } else {\n child.#params = params;\n tempNodes.push(child);\n }\n }\n }\n }\n curNodes = tempNodes.concat(curNodesQueue.shift() ?? []);\n }\n if (handlerSets.length > 1) {\n handlerSets.sort((a, b) => {\n return a.score - b.score;\n });\n }\n return [handlerSets.map(({ handler, params }) => [handler, params])];\n }\n};\nexport {\n Node\n};\n","// src/router/trie-router/router.ts\nimport { checkOptionalParameter } from \"../../utils/url.js\";\nimport { Node } from \"./node.js\";\nvar TrieRouter = class {\n name = \"TrieRouter\";\n #node;\n constructor() {\n this.#node = new Node();\n }\n add(method, path, handler) {\n const results = checkOptionalParameter(path);\n if (results) {\n for (let i = 0, len = results.length; i < len; i++) {\n this.#node.insert(method, results[i], handler);\n }\n return;\n }\n this.#node.insert(method, path, handler);\n }\n match(method, path) {\n return this.#node.search(method, path);\n }\n};\nexport {\n TrieRouter\n};\n","// src/hono.ts\nimport { HonoBase } from \"./hono-base.js\";\nimport { RegExpRouter } from \"./router/reg-exp-router/index.js\";\nimport { SmartRouter } from \"./router/smart-router/index.js\";\nimport { TrieRouter } from \"./router/trie-router/index.js\";\nvar Hono = class extends HonoBase {\n constructor(options = {}) {\n super(options);\n this.router = options.router ?? new SmartRouter({\n routers: [new RegExpRouter(), new TrieRouter()]\n });\n }\n};\nexport {\n Hono\n};\n","// src/middleware/cors/index.ts\nvar cors = (options) => {\n const defaults = {\n origin: \"*\",\n allowMethods: [\"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\", \"PATCH\"],\n allowHeaders: [],\n exposeHeaders: []\n };\n const opts = {\n ...defaults,\n ...options\n };\n const findAllowOrigin = ((optsOrigin) => {\n if (typeof optsOrigin === \"string\") {\n if (optsOrigin === \"*\") {\n return () => optsOrigin;\n } else {\n return (origin) => optsOrigin === origin ? origin : null;\n }\n } else if (typeof optsOrigin === \"function\") {\n return optsOrigin;\n } else {\n return (origin) => optsOrigin.includes(origin) ? origin : null;\n }\n })(opts.origin);\n const findAllowMethods = ((optsAllowMethods) => {\n if (typeof optsAllowMethods === \"function\") {\n return optsAllowMethods;\n } else if (Array.isArray(optsAllowMethods)) {\n return () => optsAllowMethods;\n } else {\n return () => [];\n }\n })(opts.allowMethods);\n return async function cors2(c, next) {\n function set(key, value) {\n c.res.headers.set(key, value);\n }\n const allowOrigin = findAllowOrigin(c.req.header(\"origin\") || \"\", c);\n if (allowOrigin) {\n set(\"Access-Control-Allow-Origin\", allowOrigin);\n }\n if (opts.origin !== \"*\") {\n const existingVary = c.req.header(\"Vary\");\n if (existingVary) {\n set(\"Vary\", existingVary);\n } else {\n set(\"Vary\", \"Origin\");\n }\n }\n if (opts.credentials) {\n set(\"Access-Control-Allow-Credentials\", \"true\");\n }\n if (opts.exposeHeaders?.length) {\n set(\"Access-Control-Expose-Headers\", opts.exposeHeaders.join(\",\"));\n }\n if (c.req.method === \"OPTIONS\") {\n if (opts.maxAge != null) {\n set(\"Access-Control-Max-Age\", opts.maxAge.toString());\n }\n const allowMethods = findAllowMethods(c.req.header(\"origin\") || \"\", c);\n if (allowMethods.length) {\n set(\"Access-Control-Allow-Methods\", allowMethods.join(\",\"));\n }\n let headers = opts.allowHeaders;\n if (!headers?.length) {\n const requestHeaders = c.req.header(\"Access-Control-Request-Headers\");\n if (requestHeaders) {\n headers = requestHeaders.split(/\\s*,\\s*/);\n }\n }\n if (headers?.length) {\n set(\"Access-Control-Allow-Headers\", headers.join(\",\"));\n c.res.headers.append(\"Vary\", \"Access-Control-Request-Headers\");\n }\n c.res.headers.delete(\"Content-Length\");\n c.res.headers.delete(\"Content-Type\");\n return new Response(null, {\n headers: c.res.headers,\n status: 204,\n statusText: \"No Content\"\n });\n }\n await next();\n };\n};\nexport {\n cors\n};\n","import { Hono } from \"hono\";\nimport { cors } from \"hono/cors\";\nimport { CopilotRuntime } from \"../runtime\";\nimport { handleRunAgent } from \"../handlers/handle-run\";\nimport { handleGetRuntimeInfo } from \"../handlers/get-runtime-info\";\nimport { handleTranscribe } from \"../handlers/handle-transcribe\";\nimport { logger } from \"@copilotkitnext/shared\";\nimport { callBeforeRequestMiddleware, callAfterRequestMiddleware } from \"../middleware\";\nimport { handleConnectAgent } from \"../handlers/handle-connect\";\nimport { handleStopAgent } from \"../handlers/handle-stop\";\n\ninterface CopilotEndpointParams {\n runtime: CopilotRuntime;\n basePath: string;\n}\n\n// Define the context variables type\ntype CopilotEndpointContext = {\n Variables: {\n modifiedRequest?: Request;\n };\n};\n\nexport function createCopilotEndpoint({ runtime, basePath }: CopilotEndpointParams) {\n const app = new Hono<CopilotEndpointContext>();\n\n return app\n .basePath(basePath)\n .use(\n \"*\",\n cors({\n origin: \"*\",\n allowMethods: [\"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\", \"PATCH\", \"OPTIONS\"],\n allowHeaders: [\"*\"],\n }),\n )\n .use(\"*\", async (c, next) => {\n const request = c.req.raw;\n const path = c.req.path;\n\n try {\n const maybeModifiedRequest = await callBeforeRequestMiddleware({\n runtime,\n request,\n path,\n });\n if (maybeModifiedRequest) {\n c.set(\"modifiedRequest\", maybeModifiedRequest);\n }\n } catch (error) {\n logger.error({ err: error, url: request.url, path }, \"Error running before request middleware\");\n if (error instanceof Response) {\n return error;\n }\n throw error;\n }\n\n await next();\n })\n .use(\"*\", async (c, next) => {\n await next();\n\n const response = c.res;\n const path = c.req.path;\n\n // Non-blocking after middleware\n callAfterRequestMiddleware({\n runtime,\n response,\n path,\n }).catch((error) => {\n logger.error({ err: error, url: c.req.url, path }, \"Error running after request middleware\");\n });\n })\n .post(\"/agent/:agentId/run\", async (c) => {\n const agentId = c.req.param(\"agentId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleRunAgent({\n runtime,\n request,\n agentId,\n });\n } catch (error) {\n logger.error({ err: error, url: request.url, path: c.req.path }, \"Error running request handler\");\n throw error;\n }\n })\n .post(\"/agent/:agentId/connect\", async (c) => {\n const agentId = c.req.param(\"agentId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleConnectAgent({\n runtime,\n request,\n agentId,\n });\n } catch (error) {\n logger.error({ err: error, url: request.url, path: c.req.path }, \"Error running request handler\");\n throw error;\n }\n })\n\n .post(\"/agent/:agentId/stop/:threadId\", async (c) => {\n const agentId = c.req.param(\"agentId\");\n const threadId = c.req.param(\"threadId\");\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleStopAgent({\n runtime,\n request,\n agentId,\n threadId,\n });\n } catch (error) {\n logger.error({ err: error, url: request.url, path: c.req.path }, \"Error running request handler\");\n throw error;\n }\n })\n .get(\"/info\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleGetRuntimeInfo({\n runtime,\n request,\n });\n } catch (error) {\n logger.error({ err: error, url: request.url, path: c.req.path }, \"Error running request handler\");\n throw error;\n }\n })\n .post(\"/transcribe\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n try {\n return await handleTranscribe({\n runtime,\n request,\n });\n } catch (error) {\n logger.error({ err: error, url: request.url, path: c.req.path }, \"Error running request handler\");\n throw error;\n }\n })\n .notFound((c) => {\n return c.json({ error: \"Not found\" }, 404);\n });\n\n // return app;\n}\n","import { Hono } from \"hono\";\nimport { cors } from \"hono/cors\";\n\nimport { CopilotRuntime } from \"../runtime\";\nimport { handleRunAgent } from \"../handlers/handle-run\";\nimport { handleConnectAgent } from \"../handlers/handle-connect\";\nimport { handleStopAgent } from \"../handlers/handle-stop\";\nimport { handleGetRuntimeInfo } from \"../handlers/get-runtime-info\";\nimport { handleTranscribe } from \"../handlers/handle-transcribe\";\nimport { logger } from \"@copilotkitnext/shared\";\nimport { callBeforeRequestMiddleware, callAfterRequestMiddleware } from \"../middleware\";\nimport {\n createJsonRequest,\n expectString,\n MethodCall,\n parseMethodCall,\n} from \"./single-route-helpers\";\n\ninterface CopilotSingleEndpointParams {\n runtime: CopilotRuntime;\n /**\n * Absolute path at which to mount the single-route endpoint (e.g. \"/api/copilotkit\").\n */\n basePath: string;\n}\n\ntype CopilotEndpointContext = {\n Variables: {\n modifiedRequest?: Request;\n };\n};\n\nexport function createCopilotEndpointSingleRoute({ runtime, basePath }: CopilotSingleEndpointParams) {\n const app = new Hono<CopilotEndpointContext>();\n const routePath = normalizePath(basePath);\n\n return app\n .basePath(routePath)\n .use(\n \"*\",\n cors({\n origin: \"*\",\n allowMethods: [\"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\", \"PATCH\", \"OPTIONS\"],\n allowHeaders: [\"*\"],\n }),\n )\n .use(\"*\", async (c, next) => {\n const request = c.req.raw;\n const path = c.req.path;\n\n try {\n const maybeModifiedRequest = await callBeforeRequestMiddleware({\n runtime,\n request,\n path,\n });\n if (maybeModifiedRequest) {\n c.set(\"modifiedRequest\", maybeModifiedRequest);\n }\n } catch (error) {\n logger.error({ err: error, url: request.url, path }, \"Error running before request middleware\");\n if (error instanceof Response) {\n return error;\n }\n throw error;\n }\n\n await next();\n })\n .use(\"*\", async (c, next) => {\n await next();\n\n const response = c.res;\n const path = c.req.path;\n\n callAfterRequestMiddleware({\n runtime,\n response,\n path,\n }).catch((error) => {\n logger.error({ err: error, url: c.req.url, path }, \"Error running after request middleware\");\n });\n })\n .post(\"/\", async (c) => {\n const request = c.get(\"modifiedRequest\") || c.req.raw;\n\n let methodCall: MethodCall;\n try {\n methodCall = await parseMethodCall(request);\n } catch (error) {\n if (error instanceof Response) {\n logger.warn({ url: request.url }, \"Invalid single-route payload\");\n return error;\n }\n logger.warn({ err: error, url: request.url }, \"Invalid single-route payload\");\n return c.json(\n {\n error: \"invalid_request\",\n message: error instanceof Error ? error.message : \"Invalid request payload\",\n },\n 400,\n );\n }\n\n try {\n switch (methodCall.method) {\n case \"agent/run\": {\n const agentId = expectString(methodCall.params, \"agentId\");\n const handlerRequest = createJsonRequest(request, methodCall.body);\n return await handleRunAgent({ runtime, request: handlerRequest, agentId });\n }\n case \"agent/connect\": {\n const agentId = expectString(methodCall.params, \"agentId\");\n const handlerRequest = createJsonRequest(request, methodCall.body);\n return await handleConnectAgent({ runtime, request: handlerRequest, agentId });\n }\n case \"agent/stop\": {\n const agentId = expectString(methodCall.params, \"agentId\");\n const threadId = expectString(methodCall.params, \"threadId\");\n return await handleStopAgent({ runtime, request, agentId, threadId });\n }\n case \"info\": {\n return await handleGetRuntimeInfo({ runtime, request });\n }\n case \"transcribe\": {\n return await handleTranscribe({ runtime, request });\n }\n default: {\n const exhaustiveCheck: never = methodCall.method;\n return exhaustiveCheck;\n }\n }\n } catch (error) {\n if (error instanceof Response) {\n return error;\n }\n logger.error({ err: error, url: request.url, method: methodCall.method }, \"Error running single-route handler\");\n throw error;\n }\n })\n .notFound((c) => {\n return c.json({ error: \"Not found\" }, 404);\n });\n}\n\nfunction normalizePath(path: string): string {\n if (!path) {\n throw new Error(\"basePath must be provided for single-route endpoint\");\n }\n\n if (!path.startsWith(\"/\")) {\n return `/${path}`;\n }\n\n if (path.length > 1 && path.endsWith(\"/\")) {\n return path.slice(0, -1);\n }\n\n return path;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@copilotkitnext/runtime",
|
|
3
|
-
"version": "0.0.22-alpha.
|
|
3
|
+
"version": "0.0.22-alpha.2",
|
|
4
4
|
"description": "Server-side runtime package for CopilotKit2",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"express": "^4.21.2",
|
|
41
41
|
"hono": "^4.6.13",
|
|
42
42
|
"rxjs": "7.8.1",
|
|
43
|
-
"@copilotkitnext/shared": "0.0.22-alpha.
|
|
43
|
+
"@copilotkitnext/shared": "0.0.22-alpha.2"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"openai": "^5.9.0"
|