From 73d1df29a288da4dc459d1be1430ccb5896aaecc Mon Sep 17 00:00:00 2001 From: Sam Julien Date: Mon, 10 Aug 2026 20:31:09 -0700 Subject: [PATCH] feat(release): add a generated public API manifest --- .oxfmtrc.json | 1 + package.json | 2 + .../release/generate-public-api-manifest.ts | 40 + .../release/lib/public-api-manifest.test.ts | 22 + scripts/release/lib/public-api-manifest.ts | 972 +++++ .../public-api/manifest.schema.v1.json | 250 ++ scripts/release/public-api/manifest.v1.json | 3281 +++++++++++++++++ 7 files changed, 4568 insertions(+) create mode 100644 scripts/release/generate-public-api-manifest.ts create mode 100644 scripts/release/lib/public-api-manifest.test.ts create mode 100644 scripts/release/lib/public-api-manifest.ts create mode 100644 scripts/release/public-api/manifest.schema.v1.json create mode 100644 scripts/release/public-api/manifest.v1.json diff --git a/.oxfmtrc.json b/.oxfmtrc.json index 184b4fa6e2..8392cbf86b 100644 --- a/.oxfmtrc.json +++ b/.oxfmtrc.json @@ -9,6 +9,7 @@ "examples/v1/_legacy/copilot-anthropic-pinecone/src/app/api/copilotkit/route.ts", "examples/v1/_legacy/copilot-openai-mongodb-atlas-vector-search/src/app/api/copilotkit/route.ts", "packages/web-inspector/src/styles/generated.css", + "scripts/release/public-api/manifest.v1.json", "showcase/aimock/shared/**", "showcase/aimock/d4/**", "showcase/aimock/d6/**", diff --git a/package.json b/package.json index 25a0249b22..62738285e4 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,8 @@ "generate:channel-native-catalogs": "node scripts/channel-native-catalogs.mjs generate", "check:channel-native-catalogs": "node scripts/channel-native-catalogs.mjs check", "audit:channel-native-catalogs": "node scripts/channel-native-catalogs.mjs audit", + "generate:public-api-manifest": "tsx scripts/release/generate-public-api-manifest.ts --write", + "check:public-api-manifest": "tsx scripts/release/generate-public-api-manifest.ts --check", "sync:plugin-skills": "tsx scripts/sync-plugin-skills.ts", "parity:sync": "tsx examples/integrations/_parity/sync.ts", "parity:verify": "tsx examples/integrations/_parity/verify.ts", diff --git a/scripts/release/generate-public-api-manifest.ts b/scripts/release/generate-public-api-manifest.ts new file mode 100644 index 0000000000..544a24d0c7 --- /dev/null +++ b/scripts/release/generate-public-api-manifest.ts @@ -0,0 +1,40 @@ +import { existsSync, readFileSync, writeFileSync } from "node:fs"; +import { dirname, resolve } from "node:path"; +import { fileURLToPath } from "node:url"; +import { + buildPublicApiManifest, + publicApiManifestPath, + publicApiSchemaPath, + renderPublicApiManifest, +} from "./lib/public-api-manifest"; + +const root = resolve(dirname(fileURLToPath(import.meta.url)), "../.."); +const args = new Set(process.argv.slice(2)); +const write = args.delete("--write"); +const check = args.delete("--check"); + +if (args.size > 0 || write === check) { + throw new Error("Usage: generate-public-api-manifest.ts (--write | --check)"); +} + +if (!existsSync(publicApiSchemaPath(root))) { + throw new Error(`Missing versioned schema: ${publicApiSchemaPath(root)}`); +} + +const expected = renderPublicApiManifest(buildPublicApiManifest(root)); +const manifestPath = publicApiManifestPath(root); + +if (write) { + writeFileSync(manifestPath, expected); + console.log(`Wrote ${manifestPath}`); +} else { + const actual = existsSync(manifestPath) + ? readFileSync(manifestPath, "utf8") + : ""; + if (actual !== expected) { + throw new Error( + `${manifestPath} is stale. Run pnpm generate:public-api-manifest.`, + ); + } + console.log(`${manifestPath} is current`); +} diff --git a/scripts/release/lib/public-api-manifest.test.ts b/scripts/release/lib/public-api-manifest.test.ts new file mode 100644 index 0000000000..f3e7fee61d --- /dev/null +++ b/scripts/release/lib/public-api-manifest.test.ts @@ -0,0 +1,22 @@ +import { readFileSync } from "node:fs"; +import { dirname, resolve } from "node:path"; +import { fileURLToPath } from "node:url"; +import { describe, expect, it } from "vitest"; +import { + buildPublicApiManifest, + renderPublicApiManifest, +} from "./public-api-manifest"; + +const root = resolve(dirname(fileURLToPath(import.meta.url)), "../../.."); + +describe("public API manifest", () => { + it("matches the public package and source declarations", () => { + const generated = renderPublicApiManifest(buildPublicApiManifest(root)); + const committed = readFileSync( + resolve(root, "scripts/release/public-api/manifest.v1.json"), + "utf8", + ); + + expect(committed).toBe(generated); + }); +}); diff --git a/scripts/release/lib/public-api-manifest.ts b/scripts/release/lib/public-api-manifest.ts new file mode 100644 index 0000000000..04772abbb3 --- /dev/null +++ b/scripts/release/lib/public-api-manifest.ts @@ -0,0 +1,972 @@ +import { existsSync, readFileSync, readdirSync } from "node:fs"; +import { dirname, join, relative, resolve } from "node:path"; +import ts from "typescript"; + +const SCHEMA_VERSION = 1; +const MANIFEST_PATH = "scripts/release/public-api/manifest.v1.json"; +const SCHEMA_PATH = "scripts/release/public-api/manifest.schema.v1.json"; + +type JsonObject = Record; + +export interface Provenance { + kind: "package-json" | "release-config" | "typescript-ast"; + path: string; + selector: string; +} + +export interface PublicApiManifest { + $schema: string; + schemaVersion: number; + selection: { + rule: string; + provenance: Provenance[]; + }; + packages: Array<{ + name: string; + version: string; + sourceDirectory: string; + entrypoints: Array<{ + importPath: string; + exportKey: string; + kind: "code" | "metadata" | "style"; + conditions: unknown; + provenance: Provenance; + }>; + compatibility: { + engines?: JsonObject; + peerDependencies?: JsonObject; + optionalPeerDependencies?: string[]; + provenance: Provenance[]; + }; + provenance: { + name: Provenance; + version: Provenance; + releaseScope: Provenance; + }; + }>; + runtime: { + serviceAdapters: SourceApiEntry[]; + hostFactories: SourceApiEntry[]; + agentFactoryModes: Array<{ + type: string; + configurationKeys: string[]; + provenance: { + type: Provenance; + configurationKeys: Provenance; + }; + }>; + }; + deprecations: Array<{ + importPath: string; + symbol: string; + replacement: { + importPath: string; + symbol: string; + }; + sourceMessage: string; + provenance: { + importPath: Provenance; + symbol: Provenance; + replacement: Provenance; + sourceMessage: Provenance; + }; + }>; +} + +interface SourceApiEntry { + importPath: string; + symbol: string; + configurationType?: string; + configurationKeys: string[]; + provenance: { + importPath: Provenance; + symbol: Provenance; + configurationType?: Provenance; + configurationKeys: Provenance; + }; +} + +interface PackageJson extends JsonObject { + name?: string; + version?: string; + private?: boolean; + exports?: Record; + engines?: JsonObject; + peerDependencies?: JsonObject; + peerDependenciesMeta?: Record; +} + +interface ReleaseConfig { + scopes?: Record; +} + +interface HostFactorySpec { + importPath: string; + entrySource: string; + symbol: string; + declarationPath: string; + configurationType?: string; + configurationPath?: string; +} + +interface DeprecationSpec { + importPath: string; + entrySource: string; + symbol: string; + declarationPath: string; + replacement: { + importPath: string; + symbol: string; + }; +} + +const HOST_FACTORIES: HostFactorySpec[] = [ + { + importPath: "@copilotkit/runtime/v2", + entrySource: "packages/runtime/src/v2/index.ts", + symbol: "createCopilotRuntimeHandler", + declarationPath: "packages/runtime/src/v2/runtime/core/fetch-handler.ts", + configurationType: "CopilotRuntimeHandlerOptions", + }, + { + importPath: "@copilotkit/runtime/v2/express", + entrySource: "packages/runtime/src/v2/express.ts", + symbol: "createCopilotExpressHandler", + declarationPath: "packages/runtime/src/v2/runtime/endpoints/express.ts", + configurationType: "CopilotExpressEndpointParams", + }, + { + importPath: "@copilotkit/runtime/v2/hono", + entrySource: "packages/runtime/src/v2/hono.ts", + symbol: "createCopilotHonoHandler", + declarationPath: "packages/runtime/src/v2/runtime/endpoints/hono.ts", + configurationType: "CopilotEndpointParams", + }, + { + importPath: "@copilotkit/runtime/v2/node", + entrySource: "packages/runtime/src/v2/node.ts", + symbol: "createCopilotNodeHandler", + declarationPath: + "packages/runtime/src/v2/runtime/endpoints/node-fetch-handler.ts", + }, + { + importPath: "@copilotkit/runtime/v2/node", + entrySource: "packages/runtime/src/v2/node.ts", + symbol: "createCopilotNodeListener", + declarationPath: "packages/runtime/src/v2/runtime/endpoints/node.ts", + configurationType: "CopilotRuntimeHandlerOptions", + configurationPath: "packages/runtime/src/v2/runtime/core/fetch-handler.ts", + }, +]; + +const DEPRECATIONS: DeprecationSpec[] = [ + ...[ + "LangGraphAgent", + "LangGraphHttpAgent", + "TextMessageEvents", + "ToolCallEvents", + "CustomEventNames", + "PredictStateTool", + ].map((symbol) => ({ + importPath: "@copilotkit/runtime", + entrySource: "packages/runtime/src/index.ts", + symbol, + declarationPath: "packages/runtime/src/lib/index.ts", + replacement: { + importPath: "@copilotkit/runtime/langgraph", + symbol, + }, + })), + { + importPath: "@copilotkit/runtime/v2/express", + entrySource: "packages/runtime/src/v2/express.ts", + symbol: "createCopilotEndpointExpress", + declarationPath: "packages/runtime/src/v2/runtime/endpoints/express.ts", + replacement: { + importPath: "@copilotkit/runtime/v2/express", + symbol: "createCopilotExpressHandler", + }, + }, + { + importPath: "@copilotkit/runtime/v2/express", + entrySource: "packages/runtime/src/v2/express.ts", + symbol: "createCopilotEndpointSingleRouteExpress", + declarationPath: + "packages/runtime/src/v2/runtime/endpoints/express-single.ts", + replacement: { + importPath: "@copilotkit/runtime/v2/express", + symbol: "createCopilotExpressHandler", + }, + }, + { + importPath: "@copilotkit/runtime/v2/hono", + entrySource: "packages/runtime/src/v2/hono.ts", + symbol: "createCopilotEndpoint", + declarationPath: "packages/runtime/src/v2/runtime/endpoints/hono.ts", + replacement: { + importPath: "@copilotkit/runtime/v2/hono", + symbol: "createCopilotHonoHandler", + }, + }, + { + importPath: "@copilotkit/runtime/v2/hono", + entrySource: "packages/runtime/src/v2/hono.ts", + symbol: "createCopilotEndpointSingleRoute", + declarationPath: "packages/runtime/src/v2/runtime/endpoints/hono-single.ts", + replacement: { + importPath: "@copilotkit/runtime/v2/hono", + symbol: "createCopilotHonoHandler", + }, + }, + { + importPath: "@copilotkit/runtime/v2/node", + entrySource: "packages/runtime/src/v2/node.ts", + symbol: "createNodeFetchHandler", + declarationPath: + "packages/runtime/src/v2/runtime/endpoints/node-fetch-handler.ts", + replacement: { + importPath: "@copilotkit/runtime/v2/node", + symbol: "createCopilotNodeHandler", + }, + }, + { + importPath: "@copilotkit/runtime/v2", + entrySource: "packages/runtime/src/v2/index.ts", + symbol: "CopilotKitRequestHandler", + declarationPath: "packages/runtime/src/v2/runtime/index.ts", + replacement: { + importPath: "@copilotkit/runtime/v2", + symbol: "CopilotRuntimeFetchHandler", + }, + }, + { + importPath: "@copilotkit/runtime/v2", + entrySource: "packages/runtime/src/v2/index.ts", + symbol: "BasicAgent", + declarationPath: "packages/runtime/src/agent/index.ts", + replacement: { + importPath: "@copilotkit/runtime/v2", + symbol: "BuiltInAgent", + }, + }, + { + importPath: "@copilotkit/runtime/v2", + entrySource: "packages/runtime/src/v2/index.ts", + symbol: "BasicAgentConfiguration", + declarationPath: "packages/runtime/src/agent/index.ts", + replacement: { + importPath: "@copilotkit/runtime/v2", + symbol: "BuiltInAgentClassicConfig", + }, + }, +]; + +function readJson(path: string): T { + try { + return JSON.parse(readFileSync(path, "utf8")) as T; + } catch (error) { + throw new Error(`Unable to parse ${path}: ${String(error)}`, { + cause: error, + }); + } +} + +function sourceFile(root: string, path: string): ts.SourceFile { + const absolutePath = resolve(root, path); + const text = readFileSync(absolutePath, "utf8"); + return ts.createSourceFile( + absolutePath, + text, + ts.ScriptTarget.Latest, + true, + ts.ScriptKind.TS, + ); +} + +function provenance( + kind: Provenance["kind"], + path: string, + selector: string, +): Provenance { + return { kind, path, selector }; +} + +function declarationName(node: ts.Node): string | undefined { + if ( + (ts.isClassDeclaration(node) || + ts.isInterfaceDeclaration(node) || + ts.isTypeAliasDeclaration(node) || + ts.isFunctionDeclaration(node) || + ts.isEnumDeclaration(node)) && + node.name + ) { + return node.name.text; + } + if (ts.isVariableStatement(node)) { + const names = node.declarationList.declarations + .map((item) => (ts.isIdentifier(item.name) ? item.name.text : undefined)) + .filter((name): name is string => Boolean(name)); + return names.length === 1 ? names[0] : undefined; + } + if (ts.isExportDeclaration(node) && node.exportClause) { + if (ts.isNamedExports(node.exportClause)) { + const names = node.exportClause.elements.map((item) => item.name.text); + return names.length === 1 ? names[0] : undefined; + } + } + return undefined; +} + +function hasExportModifier(node: ts.Node): boolean { + return Boolean( + ts.canHaveModifiers(node) && + ts + .getModifiers(node) + ?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword), + ); +} + +function resolveModule( + root: string, + fromPath: string, + specifier: string, +): string { + if (!specifier.startsWith(".")) { + throw new Error( + `Cannot prove a workspace export through external module ${specifier} from ${fromPath}`, + ); + } + const base = resolve(root, dirname(fromPath), specifier); + const candidates = [ + `${base}.ts`, + `${base}.tsx`, + join(base, "index.ts"), + join(base, "index.tsx"), + ]; + const match = candidates.find(existsSync); + if (!match) { + throw new Error(`Cannot resolve ${specifier} from ${fromPath}`); + } + return relative(root, match); +} + +function findExportedDeclaration( + root: string, + path: string, + symbol: string, + seen = new Set(), +): { path: string; node: ts.Node } | undefined { + const key = `${path}:${symbol}`; + if (seen.has(key)) return undefined; + seen.add(key); + + const file = sourceFile(root, path); + for (const statement of file.statements) { + if (hasExportModifier(statement) && declarationName(statement) === symbol) { + return { path, node: statement }; + } + if (!ts.isExportDeclaration(statement)) { + continue; + } + if (!statement.moduleSpecifier) { + if ( + !statement.exportClause || + !ts.isNamedExports(statement.exportClause) + ) { + continue; + } + const exported = statement.exportClause.elements.find( + (item) => item.name.text === symbol, + ); + if (!exported) continue; + const sourceName = exported.propertyName?.text ?? exported.name.text; + return ( + findExportedDeclaration(root, path, sourceName, seen) ?? { + path, + node: statement, + } + ); + } + const specifier = (statement.moduleSpecifier as ts.StringLiteral).text; + if (!specifier.startsWith(".")) continue; + const nextPath = resolveModule(root, path, specifier); + if (!statement.exportClause) { + const found = findExportedDeclaration(root, nextPath, symbol, seen); + if (found) return found; + continue; + } + if (!ts.isNamedExports(statement.exportClause)) continue; + const exported = statement.exportClause.elements.find( + (item) => item.name.text === symbol, + ); + if (!exported) continue; + const sourceName = exported.propertyName?.text ?? exported.name.text; + return ( + findExportedDeclaration(root, nextPath, sourceName, seen) ?? { + path, + node: statement, + } + ); + } + return undefined; +} + +function requireExport( + root: string, + entrySource: string, + symbol: string, +): { path: string; node: ts.Node } { + const result = findExportedDeclaration(root, entrySource, symbol); + if (!result) { + throw new Error(`${symbol} is not exported from ${entrySource}`); + } + return result; +} + +function findNamedDeclaration( + root: string, + path: string, + name: string, +): ts.Node { + const matches = sourceFile(root, path).statements.filter( + (statement) => declarationName(statement) === name, + ); + if (matches.length > 1 && matches.every(ts.isFunctionDeclaration)) { + const implementations = matches.filter((statement) => statement.body); + if (implementations.length === 1) return implementations[0]; + } + if (matches.length !== 1) { + throw new Error( + `Expected exactly one ${name} declaration in ${path}, found ${matches.length}`, + ); + } + return matches[0]; +} + +function configurationKeys( + root: string, + path: string, + typeName: string, +): string[] { + const node = findNamedDeclaration(root, path, typeName); + if (!ts.isInterfaceDeclaration(node)) { + throw new Error(`${typeName} in ${path} must be an interface`); + } + return node.members + .filter(ts.isPropertySignature) + .filter( + (member) => + !ts.getJSDocTags(member).some((tag) => tag.tagName.text === "internal"), + ) + .map((member) => { + if (!member.name || !ts.isIdentifier(member.name)) { + throw new Error( + `${typeName} in ${path} has an unsupported non-identifier property`, + ); + } + return member.name.text; + }); +} + +function packageExportKey(importPath: string): string { + const prefix = "@copilotkit/runtime"; + if (importPath === prefix) return "."; + if (!importPath.startsWith(`${prefix}/`)) { + throw new Error(`Unsupported runtime import path ${importPath}`); + } + return `.${importPath.slice(prefix.length)}`; +} + +function assertRuntimeImportPath(root: string, importPath: string): Provenance { + const path = "packages/runtime/package.json"; + const manifest = readJson(resolve(root, path)); + const key = packageExportKey(importPath); + if (!manifest.exports || !(key in manifest.exports)) { + throw new Error(`${importPath} is not exported by ${path}`); + } + return provenance("package-json", path, `exports[${JSON.stringify(key)}]`); +} + +function hostFactories(root: string): SourceApiEntry[] { + return HOST_FACTORIES.map((spec) => { + requireExport(root, spec.entrySource, spec.symbol); + const declaration = findNamedDeclaration( + root, + spec.declarationPath, + spec.symbol, + ); + if (!ts.isFunctionDeclaration(declaration)) { + throw new Error( + `${spec.symbol} in ${spec.declarationPath} is not a function`, + ); + } + const configurationPath = spec.configurationPath ?? spec.declarationPath; + const keys = spec.configurationType + ? configurationKeys(root, configurationPath, spec.configurationType) + : []; + const importProvenance = assertRuntimeImportPath(root, spec.importPath); + const symbolProvenance = provenance( + "typescript-ast", + spec.declarationPath, + `export function ${spec.symbol}`, + ); + return { + importPath: spec.importPath, + symbol: spec.symbol, + ...(spec.configurationType + ? { configurationType: spec.configurationType } + : {}), + configurationKeys: keys, + provenance: { + importPath: importProvenance, + symbol: symbolProvenance, + ...(spec.configurationType + ? { + configurationType: provenance( + "typescript-ast", + configurationPath, + `interface ${spec.configurationType}`, + ), + } + : {}), + configurationKeys: provenance( + "typescript-ast", + configurationPath, + spec.configurationType + ? `interface ${spec.configurationType} public properties` + : `function ${spec.symbol} has no configuration object`, + ), + }, + }; + }); +} + +function exportedAdapterModules(root: string): string[] { + const path = "packages/runtime/src/service-adapters/index.ts"; + const file = sourceFile(root, path); + return file.statements.flatMap((statement) => { + if ( + !ts.isExportDeclaration(statement) || + statement.exportClause || + !statement.moduleSpecifier + ) { + return []; + } + const specifier = (statement.moduleSpecifier as ts.StringLiteral).text; + return specifier === "./shared" + ? [] + : [resolveModule(root, path, specifier)]; + }); +} + +function constructorConfiguration( + root: string, + path: string, + node: ts.ClassDeclaration, +): { type?: string; keys: string[] } { + const constructors = node.members.filter(ts.isConstructorDeclaration); + if (constructors.length === 0) return { keys: [] }; + if (constructors.length !== 1 || constructors[0].parameters.length > 1) { + throw new Error( + `${node.name?.text ?? "adapter"} in ${path} has an ambiguous constructor`, + ); + } + const parameter = constructors[0].parameters[0]; + if (!parameter) return { keys: [] }; + if (!parameter.type || !ts.isTypeReferenceNode(parameter.type)) { + throw new Error( + `${node.name?.text ?? "adapter"} in ${path} has an unsupported constructor type`, + ); + } + const typeName = parameter.type.typeName.getText(); + return { type: typeName, keys: configurationKeys(root, path, typeName) }; +} + +function serviceAdapters(root: string): SourceApiEntry[] { + const importPath = "@copilotkit/runtime"; + const importProvenance = assertRuntimeImportPath(root, importPath); + const adapters = exportedAdapterModules(root).flatMap((path) => { + const file = sourceFile(root, path); + const classes = new Map( + file.statements.flatMap((statement) => + ts.isClassDeclaration(statement) && + statement.name?.text.endsWith("Adapter") + ? [[statement.name.text, statement] as const] + : [], + ), + ); + const symbols = file.statements.flatMap((statement) => { + if ( + ts.isClassDeclaration(statement) && + statement.name?.text.endsWith("Adapter") && + hasExportModifier(statement) + ) { + return [ + { + symbol: statement.name.text, + implementation: statement, + selector: `export class ${statement.name.text}`, + }, + ]; + } + if (!ts.isVariableStatement(statement) || !hasExportModifier(statement)) { + return []; + } + return statement.declarationList.declarations.flatMap((declaration) => { + if ( + !ts.isIdentifier(declaration.name) || + !declaration.name.text.endsWith("Adapter") || + !declaration.initializer || + !ts.isIdentifier(declaration.initializer) + ) { + return []; + } + const implementation = classes.get(declaration.initializer.text); + if (!implementation) { + throw new Error( + `${declaration.name.text} in ${path} aliases an unknown adapter class`, + ); + } + return [ + { + symbol: declaration.name.text, + implementation, + selector: `export const ${declaration.name.text}`, + }, + ]; + }); + }); + return symbols.map(({ symbol, implementation, selector }) => { + requireExport(root, "packages/runtime/src/index.ts", symbol); + const configuration = constructorConfiguration( + root, + path, + implementation, + ); + const symbolProvenance = provenance("typescript-ast", path, selector); + return { + importPath, + symbol, + ...(configuration.type + ? { configurationType: configuration.type } + : {}), + configurationKeys: configuration.keys, + provenance: { + importPath: importProvenance, + symbol: symbolProvenance, + ...(configuration.type + ? { + configurationType: provenance( + "typescript-ast", + path, + `constructor parameter ${configuration.type}`, + ), + } + : {}), + configurationKeys: provenance( + "typescript-ast", + path, + configuration.type + ? `interface ${configuration.type} public properties` + : `class ${implementation.name?.text} has no constructor configuration`, + ), + }, + } satisfies SourceApiEntry; + }); + }); + return adapters.sort((left, right) => + left.symbol.localeCompare(right.symbol), + ); +} + +function agentFactoryModes( + root: string, +): PublicApiManifest["runtime"]["agentFactoryModes"] { + const path = "packages/runtime/src/agent/index.ts"; + requireExport( + root, + "packages/runtime/src/v2/index.ts", + "BuiltInAgentFactoryConfig", + ); + const union = findNamedDeclaration(root, path, "BuiltInAgentFactoryConfig"); + if (!ts.isTypeAliasDeclaration(union) || !ts.isUnionTypeNode(union.type)) { + throw new Error(`BuiltInAgentFactoryConfig in ${path} must be a union`); + } + return union.type.types.map((member) => { + if (!ts.isTypeReferenceNode(member)) { + throw new Error( + `BuiltInAgentFactoryConfig in ${path} has a non-reference member`, + ); + } + const typeName = member.typeName.getText(); + const declaration = findNamedDeclaration(root, path, typeName); + if (!ts.isInterfaceDeclaration(declaration)) { + throw new Error(`${typeName} in ${path} must be an interface`); + } + const typeProperty = declaration.members + .filter(ts.isPropertySignature) + .find((property) => property.name?.getText() === "type"); + if ( + !typeProperty?.type || + !ts.isLiteralTypeNode(typeProperty.type) || + !ts.isStringLiteral(typeProperty.type.literal) + ) { + throw new Error( + `${typeName} in ${path} must have one string literal type`, + ); + } + const keys = configurationKeys(root, path, typeName); + return { + type: typeProperty.type.literal.text, + configurationKeys: keys, + provenance: { + type: provenance( + "typescript-ast", + path, + `interface ${typeName} property type`, + ), + configurationKeys: provenance( + "typescript-ast", + path, + `interface ${typeName} public properties`, + ), + }, + }; + }); +} + +function deprecationMessage( + node: ts.Node, + path: string, + symbol: string, +): string { + const tags = ts + .getJSDocTags(node) + .filter((tag) => tag.tagName.text === "deprecated"); + if (tags.length !== 1 || typeof tags[0].comment !== "string") { + throw new Error( + `${symbol} in ${path} must have exactly one textual @deprecated tag`, + ); + } + return tags[0].comment.trim(); +} + +function deprecations(root: string): PublicApiManifest["deprecations"] { + return DEPRECATIONS.map((spec) => { + requireExport(root, spec.entrySource, spec.symbol); + const declaration = findNamedDeclaration( + root, + spec.declarationPath, + spec.symbol, + ); + const message = deprecationMessage( + declaration, + spec.declarationPath, + spec.symbol, + ); + if ( + !message.includes(spec.replacement.symbol) || + (spec.replacement.importPath !== spec.importPath && + !message.includes(spec.replacement.importPath)) + ) { + throw new Error( + `${symbolDescription(spec)} has a replacement not proven by its @deprecated tag`, + ); + } + const declarationProvenance = provenance( + "typescript-ast", + spec.declarationPath, + `${spec.symbol} @deprecated tag`, + ); + return { + importPath: spec.importPath, + symbol: spec.symbol, + replacement: spec.replacement, + sourceMessage: message, + provenance: { + importPath: assertRuntimeImportPath(root, spec.importPath), + symbol: declarationProvenance, + replacement: declarationProvenance, + sourceMessage: declarationProvenance, + }, + }; + }).sort((left, right) => + `${left.importPath}:${left.symbol}`.localeCompare( + `${right.importPath}:${right.symbol}`, + ), + ); +} + +function symbolDescription(spec: DeprecationSpec): string { + return `${spec.importPath} ${spec.symbol}`; +} + +function entrypointKind(value: unknown): "code" | "metadata" | "style" { + const serialized = JSON.stringify(value); + if (/\.css(?:"|$)/.test(serialized)) return "style"; + if (/package\.json(?:"|$)/.test(serialized)) return "metadata"; + return "code"; +} + +function releasePackages(root: string): Map { + const path = "release.config.json"; + const config = readJson(resolve(root, path)); + if (!config.scopes || typeof config.scopes !== "object") { + throw new Error(`${path} must define scopes`); + } + const result = new Map(); + for (const [scope, value] of Object.entries(config.scopes)) { + if (!Array.isArray(value.packages)) { + throw new Error(`${path} scope ${scope} must define packages`); + } + for (const name of value.packages) { + if (result.has(name)) { + throw new Error(`${name} appears in multiple release scopes`); + } + result.set(name, scope); + } + } + return result; +} + +function publicPackages(root: string): PublicApiManifest["packages"] { + const released = releasePackages(root); + const packagesRoot = resolve(root, "packages"); + const packagePaths = readdirSync(packagesRoot, { withFileTypes: true }) + .filter((entry) => entry.isDirectory()) + .map((entry) => `packages/${entry.name}/package.json`) + .filter((path) => existsSync(resolve(root, path))); + + const publicManifests = packagePaths.flatMap((path) => { + const manifest = readJson(resolve(root, path)); + return manifest.name?.startsWith("@copilotkit/") && + manifest.private !== true + ? [{ path, manifest }] + : []; + }); + const names = new Set(publicManifests.map(({ manifest }) => manifest.name)); + const missingFromRelease = [...names].filter((name) => !released.has(name!)); + const staleReleasePackages = [...released.keys()].filter( + (name) => !names.has(name), + ); + if (missingFromRelease.length || staleReleasePackages.length) { + throw new Error( + `Public package/release scope mismatch (missing: ${missingFromRelease.join(", ") || "none"}; stale: ${staleReleasePackages.join(", ") || "none"})`, + ); + } + + return publicManifests + .map(({ path, manifest }) => { + if ( + typeof manifest.name !== "string" || + typeof manifest.version !== "string" || + !manifest.exports || + typeof manifest.exports !== "object" + ) { + throw new Error(`${path} lacks name, version, or exports metadata`); + } + const packagePath = dirname(path); + const optionalPeerDependencies = Object.entries( + manifest.peerDependenciesMeta ?? {}, + ) + .filter(([, metadata]) => metadata.optional === true) + .map(([name]) => name) + .sort(); + const compatibilityProvenance: Provenance[] = []; + if (manifest.engines) { + compatibilityProvenance.push( + provenance("package-json", path, "engines"), + ); + } + if (manifest.peerDependencies) { + compatibilityProvenance.push( + provenance("package-json", path, "peerDependencies"), + ); + } + if (optionalPeerDependencies.length) { + compatibilityProvenance.push( + provenance("package-json", path, "peerDependenciesMeta.*.optional"), + ); + } + return { + name: manifest.name, + version: manifest.version, + sourceDirectory: packagePath, + entrypoints: Object.entries(manifest.exports) + .map(([exportKey, conditions]) => ({ + importPath: + exportKey === "." + ? manifest.name! + : `${manifest.name}${exportKey.slice(1)}`, + exportKey, + kind: entrypointKind(conditions), + conditions, + provenance: provenance( + "package-json", + path, + `exports[${JSON.stringify(exportKey)}]`, + ), + })) + .sort((left, right) => + left.importPath.localeCompare(right.importPath), + ), + compatibility: { + ...(manifest.engines ? { engines: manifest.engines } : {}), + ...(manifest.peerDependencies + ? { peerDependencies: manifest.peerDependencies } + : {}), + ...(optionalPeerDependencies.length + ? { optionalPeerDependencies } + : {}), + provenance: compatibilityProvenance, + }, + provenance: { + name: provenance("package-json", path, "name"), + version: provenance("package-json", path, "version"), + releaseScope: provenance( + "release-config", + "release.config.json", + `scopes.${released.get(manifest.name)}.packages`, + ), + }, + }; + }) + .sort((left, right) => left.name.localeCompare(right.name)); +} + +export function buildPublicApiManifest(root: string): PublicApiManifest { + return { + $schema: "./manifest.schema.v1.json", + schemaVersion: SCHEMA_VERSION, + selection: { + rule: "An immediate packages/* package is public when its name uses the @copilotkit scope, private is not true, and it appears exactly once in release.config.json.", + provenance: [ + provenance("package-json", "packages/*/package.json", "name, private"), + provenance( + "release-config", + "release.config.json", + "scopes.*.packages", + ), + ], + }, + packages: publicPackages(root), + runtime: { + serviceAdapters: serviceAdapters(root), + hostFactories: hostFactories(root), + agentFactoryModes: agentFactoryModes(root), + }, + deprecations: deprecations(root), + }; +} + +export function renderPublicApiManifest(manifest: PublicApiManifest): string { + return `${JSON.stringify(manifest, null, 2)}\n`; +} + +export function publicApiManifestPath(root: string): string { + return resolve(root, MANIFEST_PATH); +} + +export function publicApiSchemaPath(root: string): string { + return resolve(root, SCHEMA_PATH); +} diff --git a/scripts/release/public-api/manifest.schema.v1.json b/scripts/release/public-api/manifest.schema.v1.json new file mode 100644 index 0000000000..a23e82001c --- /dev/null +++ b/scripts/release/public-api/manifest.schema.v1.json @@ -0,0 +1,250 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://copilotkit.ai/schemas/public-api-manifest/v1", + "title": "CopilotKit public API manifest v1", + "description": "Versioned schema for mechanically proven public npm packages, import paths, compatibility ranges, runtime adapters and factories, configuration keys, and explicit deprecation replacements. Package facts come from package.json and release.config.json; source API facts come from exported TypeScript declarations. Consumers must reject unknown schemaVersion values.", + "type": "object", + "additionalProperties": false, + "required": [ + "$schema", + "schemaVersion", + "selection", + "packages", + "runtime", + "deprecations" + ], + "properties": { + "$schema": { "const": "./manifest.schema.v1.json" }, + "schemaVersion": { + "const": 1, + "description": "Breaking changes to this document shape require a new schema and manifest version." + }, + "selection": { + "type": "object", + "additionalProperties": false, + "required": ["rule", "provenance"], + "properties": { + "rule": { + "type": "string", + "description": "Deterministic rule used to select public packages." + }, + "provenance": { + "type": "array", + "items": { "$ref": "#/$defs/provenance" }, + "minItems": 1 + } + } + }, + "packages": { + "type": "array", + "description": "All release-scoped, non-private @copilotkit/* packages, sorted by package name.", + "items": { "$ref": "#/$defs/package" } + }, + "runtime": { + "type": "object", + "additionalProperties": false, + "required": ["serviceAdapters", "hostFactories", "agentFactoryModes"], + "properties": { + "serviceAdapters": { + "type": "array", + "description": "Legacy CopilotServiceAdapter classes exported from @copilotkit/runtime.", + "items": { "$ref": "#/$defs/sourceApiEntry" } + }, + "hostFactories": { + "type": "array", + "description": "Canonical v2 Fetch, Express, Hono, and Node host factories.", + "items": { "$ref": "#/$defs/sourceApiEntry" } + }, + "agentFactoryModes": { + "type": "array", + "description": "Discriminated BuiltInAgent factory modes extracted from BuiltInAgentFactoryConfig.", + "items": { "$ref": "#/$defs/agentFactoryMode" } + } + } + }, + "deprecations": { + "type": "array", + "description": "Only exported declarations whose @deprecated tag names a concrete replacement.", + "items": { "$ref": "#/$defs/deprecation" } + } + }, + "$defs": { + "provenance": { + "type": "object", + "additionalProperties": false, + "required": ["kind", "path", "selector"], + "properties": { + "kind": { + "enum": ["package-json", "release-config", "typescript-ast"] + }, + "path": { + "type": "string", + "description": "Repository-relative source path or deterministic glob." + }, + "selector": { + "type": "string", + "description": "Field or declaration selector within path." + } + } + }, + "entrypoint": { + "type": "object", + "additionalProperties": false, + "required": [ + "importPath", + "exportKey", + "kind", + "conditions", + "provenance" + ], + "properties": { + "importPath": { "type": "string" }, + "exportKey": { "type": "string" }, + "kind": { "enum": ["code", "metadata", "style"] }, + "conditions": { + "description": "The package.json exports value, preserved without interpretation." + }, + "provenance": { "$ref": "#/$defs/provenance" } + } + }, + "compatibility": { + "type": "object", + "additionalProperties": false, + "required": ["provenance"], + "properties": { + "engines": { "type": "object" }, + "peerDependencies": { + "type": "object", + "additionalProperties": { "type": "string" } + }, + "optionalPeerDependencies": { + "type": "array", + "items": { "type": "string" }, + "uniqueItems": true + }, + "provenance": { + "type": "array", + "items": { "$ref": "#/$defs/provenance" } + } + } + }, + "package": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "version", + "sourceDirectory", + "entrypoints", + "compatibility", + "provenance" + ], + "properties": { + "name": { "type": "string", "pattern": "^@copilotkit/" }, + "version": { "type": "string" }, + "sourceDirectory": { "type": "string", "pattern": "^packages/" }, + "entrypoints": { + "type": "array", + "items": { "$ref": "#/$defs/entrypoint" }, + "minItems": 1 + }, + "compatibility": { "$ref": "#/$defs/compatibility" }, + "provenance": { + "type": "object", + "additionalProperties": false, + "required": ["name", "version", "releaseScope"], + "properties": { + "name": { "$ref": "#/$defs/provenance" }, + "version": { "$ref": "#/$defs/provenance" }, + "releaseScope": { "$ref": "#/$defs/provenance" } + } + } + } + }, + "sourceApiEntry": { + "type": "object", + "additionalProperties": false, + "required": ["importPath", "symbol", "configurationKeys", "provenance"], + "properties": { + "importPath": { "type": "string" }, + "symbol": { "type": "string" }, + "configurationType": { "type": "string" }, + "configurationKeys": { + "type": "array", + "items": { "type": "string" }, + "uniqueItems": true + }, + "provenance": { + "type": "object", + "additionalProperties": false, + "required": ["importPath", "symbol", "configurationKeys"], + "properties": { + "importPath": { "$ref": "#/$defs/provenance" }, + "symbol": { "$ref": "#/$defs/provenance" }, + "configurationType": { "$ref": "#/$defs/provenance" }, + "configurationKeys": { "$ref": "#/$defs/provenance" } + } + } + } + }, + "agentFactoryMode": { + "type": "object", + "additionalProperties": false, + "required": ["type", "configurationKeys", "provenance"], + "properties": { + "type": { "type": "string" }, + "configurationKeys": { + "type": "array", + "items": { "type": "string" }, + "uniqueItems": true + }, + "provenance": { + "type": "object", + "additionalProperties": false, + "required": ["type", "configurationKeys"], + "properties": { + "type": { "$ref": "#/$defs/provenance" }, + "configurationKeys": { "$ref": "#/$defs/provenance" } + } + } + } + }, + "replacement": { + "type": "object", + "additionalProperties": false, + "required": ["importPath", "symbol"], + "properties": { + "importPath": { "type": "string" }, + "symbol": { "type": "string" } + } + }, + "deprecation": { + "type": "object", + "additionalProperties": false, + "required": [ + "importPath", + "symbol", + "replacement", + "sourceMessage", + "provenance" + ], + "properties": { + "importPath": { "type": "string" }, + "symbol": { "type": "string" }, + "replacement": { "$ref": "#/$defs/replacement" }, + "sourceMessage": { "type": "string", "minLength": 1 }, + "provenance": { + "type": "object", + "additionalProperties": false, + "required": ["importPath", "symbol", "replacement", "sourceMessage"], + "properties": { + "importPath": { "$ref": "#/$defs/provenance" }, + "symbol": { "$ref": "#/$defs/provenance" }, + "replacement": { "$ref": "#/$defs/provenance" }, + "sourceMessage": { "$ref": "#/$defs/provenance" } + } + } + } + } + } +} diff --git a/scripts/release/public-api/manifest.v1.json b/scripts/release/public-api/manifest.v1.json new file mode 100644 index 0000000000..204d36567d --- /dev/null +++ b/scripts/release/public-api/manifest.v1.json @@ -0,0 +1,3281 @@ +{ + "$schema": "./manifest.schema.v1.json", + "schemaVersion": 1, + "selection": { + "rule": "An immediate packages/* package is public when its name uses the @copilotkit scope, private is not true, and it appears exactly once in release.config.json.", + "provenance": [ + { + "kind": "package-json", + "path": "packages/*/package.json", + "selector": "name, private" + }, + { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.*.packages" + } + ] + }, + "packages": [ + { + "name": "@copilotkit/a2ui-renderer", + "version": "1.66.2", + "sourceDirectory": "packages/a2ui-renderer", + "entrypoints": [ + { + "importPath": "@copilotkit/a2ui-renderer", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + }, + "provenance": { + "kind": "package-json", + "path": "packages/a2ui-renderer/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/a2ui-renderer/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/a2ui-renderer/package.json", + "selector": "exports[\"./package.json\"]" + } + }, + { + "importPath": "@copilotkit/a2ui-renderer/web-components", + "exportKey": "./web-components", + "kind": "code", + "conditions": { + "import": { + "types": "./dist/web-components/index.d.mts", + "default": "./dist/web-components/index.mjs" + }, + "require": { + "types": "./dist/web-components/index.d.cts", + "default": "./dist/web-components/index.cjs" + } + }, + "provenance": { + "kind": "package-json", + "path": "packages/a2ui-renderer/package.json", + "selector": "exports[\"./web-components\"]" + } + }, + { + "importPath": "@copilotkit/a2ui-renderer/web-components/define", + "exportKey": "./web-components/define", + "kind": "code", + "conditions": { + "import": { + "types": "./dist/web-components/define.d.mts", + "default": "./dist/web-components/define.mjs" + }, + "require": { + "types": "./dist/web-components/define.d.cts", + "default": "./dist/web-components/define.cjs" + } + }, + "provenance": { + "kind": "package-json", + "path": "packages/a2ui-renderer/package.json", + "selector": "exports[\"./web-components/define\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "react-dom": "^18 || ^19 || ^19.0.0-rc" + }, + "optionalPeerDependencies": [ + "react", + "react-dom" + ], + "provenance": [ + { + "kind": "package-json", + "path": "packages/a2ui-renderer/package.json", + "selector": "peerDependencies" + }, + { + "kind": "package-json", + "path": "packages/a2ui-renderer/package.json", + "selector": "peerDependenciesMeta.*.optional" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/a2ui-renderer/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/a2ui-renderer/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/agentcore-runner", + "version": "1.66.2", + "sourceDirectory": "packages/agentcore-runner", + "entrypoints": [ + { + "importPath": "@copilotkit/agentcore-runner", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/agentcore-runner/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/agentcore-runner/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/agentcore-runner/package.json", + "selector": "exports[\"./package.json\"]" + } + } + ], + "compatibility": { + "engines": { + "node": ">=18" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/agentcore-runner/package.json", + "selector": "engines" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/agentcore-runner/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/agentcore-runner/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/angular", + "version": "0.3.1", + "sourceDirectory": "packages/angular", + "entrypoints": [ + { + "importPath": "@copilotkit/angular", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": { + "types": "./dist/index.d.ts", + "default": "./dist/fesm2022/copilotkit-angular.mjs" + } + }, + "provenance": { + "kind": "package-json", + "path": "packages/angular/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/angular/mcp-apps", + "exportKey": "./mcp-apps", + "kind": "code", + "conditions": { + "import": { + "types": "./dist/mcp-apps/index.d.ts", + "default": "./dist/fesm2022/copilotkit-angular-mcp-apps.mjs" + } + }, + "provenance": { + "kind": "package-json", + "path": "packages/angular/package.json", + "selector": "exports[\"./mcp-apps\"]" + } + }, + { + "importPath": "@copilotkit/angular/styles.css", + "exportKey": "./styles.css", + "kind": "style", + "conditions": "./dist/styles.css", + "provenance": { + "kind": "package-json", + "path": "packages/angular/package.json", + "selector": "exports[\"./styles.css\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "@angular/cdk": "^20.0.0 || ^21.0.0 || ^22.0.0", + "@angular/common": "^20.0.0 || ^21.0.0 || ^22.0.0", + "@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0", + "rxjs": "^7.8.0" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/angular/package.json", + "selector": "peerDependencies" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/angular/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/angular/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.angular.packages" + } + } + }, + { + "name": "@copilotkit/channels", + "version": "0.7.3", + "sourceDirectory": "packages/channels", + "entrypoints": [ + { + "importPath": "@copilotkit/channels", + "exportKey": ".", + "kind": "code", + "conditions": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/channels/discord", + "exportKey": "./discord", + "kind": "code", + "conditions": { + "types": "./dist/discord.d.ts", + "import": "./dist/discord.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./discord\"]" + } + }, + { + "importPath": "@copilotkit/channels/jsx-dev-runtime", + "exportKey": "./jsx-dev-runtime", + "kind": "code", + "conditions": { + "types": "./dist/jsx-dev-runtime.d.ts", + "import": "./dist/jsx-dev-runtime.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./jsx-dev-runtime\"]" + } + }, + { + "importPath": "@copilotkit/channels/jsx-runtime", + "exportKey": "./jsx-runtime", + "kind": "code", + "conditions": { + "types": "./dist/jsx-runtime.d.ts", + "import": "./dist/jsx-runtime.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./jsx-runtime\"]" + } + }, + { + "importPath": "@copilotkit/channels/slack", + "exportKey": "./slack", + "kind": "code", + "conditions": { + "types": "./dist/slack.d.ts", + "import": "./dist/slack.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./slack\"]" + } + }, + { + "importPath": "@copilotkit/channels/slack/codec", + "exportKey": "./slack/codec", + "kind": "code", + "conditions": { + "types": "./dist/slack/codec.d.ts", + "import": "./dist/slack/codec.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./slack/codec\"]" + } + }, + { + "importPath": "@copilotkit/channels/slack/render", + "exportKey": "./slack/render", + "kind": "code", + "conditions": { + "types": "./dist/slack/render.d.ts", + "import": "./dist/slack/render.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./slack/render\"]" + } + }, + { + "importPath": "@copilotkit/channels/teams", + "exportKey": "./teams", + "kind": "code", + "conditions": { + "types": "./dist/teams.d.ts", + "import": "./dist/teams.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./teams\"]" + } + }, + { + "importPath": "@copilotkit/channels/teams/render", + "exportKey": "./teams/render", + "kind": "code", + "conditions": { + "types": "./dist/teams/render.d.ts", + "import": "./dist/teams/render.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./teams/render\"]" + } + }, + { + "importPath": "@copilotkit/channels/telegram", + "exportKey": "./telegram", + "kind": "code", + "conditions": { + "types": "./dist/telegram.d.ts", + "import": "./dist/telegram.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./telegram\"]" + } + }, + { + "importPath": "@copilotkit/channels/testing", + "exportKey": "./testing", + "kind": "code", + "conditions": { + "types": "./dist/testing.d.ts", + "import": "./dist/testing.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./testing\"]" + } + }, + { + "importPath": "@copilotkit/channels/ui", + "exportKey": "./ui", + "kind": "code", + "conditions": { + "types": "./dist/ui.d.ts", + "import": "./dist/ui.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./ui\"]" + } + }, + { + "importPath": "@copilotkit/channels/whatsapp", + "exportKey": "./whatsapp", + "kind": "code", + "conditions": { + "types": "./dist/whatsapp.d.ts", + "import": "./dist/whatsapp.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "exports[\"./whatsapp\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "vitest": "^4.0.0" + }, + "optionalPeerDependencies": [ + "vitest" + ], + "provenance": [ + { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "peerDependencies" + }, + { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "peerDependenciesMeta.*.optional" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/channels/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.channels.packages" + } + } + }, + { + "name": "@copilotkit/channels-core", + "version": "0.7.3", + "sourceDirectory": "packages/channels-core", + "entrypoints": [ + { + "importPath": "@copilotkit/channels-core", + "exportKey": ".", + "kind": "code", + "conditions": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-core/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/channels-core/jsx-dev-runtime", + "exportKey": "./jsx-dev-runtime", + "kind": "code", + "conditions": { + "types": "./dist/jsx-dev-runtime.d.ts", + "import": "./dist/jsx-dev-runtime.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-core/package.json", + "selector": "exports[\"./jsx-dev-runtime\"]" + } + }, + { + "importPath": "@copilotkit/channels-core/jsx-runtime", + "exportKey": "./jsx-runtime", + "kind": "code", + "conditions": { + "types": "./dist/jsx-runtime.d.ts", + "import": "./dist/jsx-runtime.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-core/package.json", + "selector": "exports[\"./jsx-runtime\"]" + } + }, + { + "importPath": "@copilotkit/channels-core/testing", + "exportKey": "./testing", + "kind": "code", + "conditions": { + "types": "./dist/testing/state-store-conformance.d.ts", + "import": "./dist/testing/state-store-conformance.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-core/package.json", + "selector": "exports[\"./testing\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "vitest": "^4.0.0" + }, + "optionalPeerDependencies": [ + "vitest" + ], + "provenance": [ + { + "kind": "package-json", + "path": "packages/channels-core/package.json", + "selector": "peerDependencies" + }, + { + "kind": "package-json", + "path": "packages/channels-core/package.json", + "selector": "peerDependenciesMeta.*.optional" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/channels-core/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/channels-core/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.channels.packages" + } + } + }, + { + "name": "@copilotkit/channels-discord", + "version": "0.7.3", + "sourceDirectory": "packages/channels-discord", + "entrypoints": [ + { + "importPath": "@copilotkit/channels-discord", + "exportKey": ".", + "kind": "code", + "conditions": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-discord/package.json", + "selector": "exports[\".\"]" + } + } + ], + "compatibility": { + "provenance": [] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/channels-discord/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/channels-discord/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.channels.packages" + } + } + }, + { + "name": "@copilotkit/channels-intelligence", + "version": "0.7.3", + "sourceDirectory": "packages/channels-intelligence", + "entrypoints": [ + { + "importPath": "@copilotkit/channels-intelligence", + "exportKey": ".", + "kind": "code", + "conditions": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-intelligence/package.json", + "selector": "exports[\".\"]" + } + } + ], + "compatibility": { + "provenance": [] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/channels-intelligence/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/channels-intelligence/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.channels.packages" + } + } + }, + { + "name": "@copilotkit/channels-slack", + "version": "0.7.3", + "sourceDirectory": "packages/channels-slack", + "entrypoints": [ + { + "importPath": "@copilotkit/channels-slack", + "exportKey": ".", + "kind": "code", + "conditions": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-slack/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/channels-slack/codec", + "exportKey": "./codec", + "kind": "code", + "conditions": { + "types": "./dist/codec.d.ts", + "import": "./dist/codec.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-slack/package.json", + "selector": "exports[\"./codec\"]" + } + }, + { + "importPath": "@copilotkit/channels-slack/render", + "exportKey": "./render", + "kind": "code", + "conditions": { + "types": "./dist/render.d.ts", + "import": "./dist/render.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-slack/package.json", + "selector": "exports[\"./render\"]" + } + } + ], + "compatibility": { + "provenance": [] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/channels-slack/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/channels-slack/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.channels.packages" + } + } + }, + { + "name": "@copilotkit/channels-teams", + "version": "0.7.3", + "sourceDirectory": "packages/channels-teams", + "entrypoints": [ + { + "importPath": "@copilotkit/channels-teams", + "exportKey": ".", + "kind": "code", + "conditions": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-teams/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/channels-teams/render", + "exportKey": "./render", + "kind": "code", + "conditions": { + "types": "./dist/render/index.d.ts", + "import": "./dist/render/index.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-teams/package.json", + "selector": "exports[\"./render\"]" + } + } + ], + "compatibility": { + "provenance": [] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/channels-teams/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/channels-teams/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.channels.packages" + } + } + }, + { + "name": "@copilotkit/channels-telegram", + "version": "0.7.3", + "sourceDirectory": "packages/channels-telegram", + "entrypoints": [ + { + "importPath": "@copilotkit/channels-telegram", + "exportKey": ".", + "kind": "code", + "conditions": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-telegram/package.json", + "selector": "exports[\".\"]" + } + } + ], + "compatibility": { + "provenance": [] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/channels-telegram/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/channels-telegram/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.channels.packages" + } + } + }, + { + "name": "@copilotkit/channels-ui", + "version": "0.7.3", + "sourceDirectory": "packages/channels-ui", + "entrypoints": [ + { + "importPath": "@copilotkit/channels-ui", + "exportKey": ".", + "kind": "code", + "conditions": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-ui/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/channels-ui/jsx-dev-runtime", + "exportKey": "./jsx-dev-runtime", + "kind": "code", + "conditions": { + "types": "./dist/jsx-dev-runtime.d.ts", + "import": "./dist/jsx-dev-runtime.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-ui/package.json", + "selector": "exports[\"./jsx-dev-runtime\"]" + } + }, + { + "importPath": "@copilotkit/channels-ui/jsx-runtime", + "exportKey": "./jsx-runtime", + "kind": "code", + "conditions": { + "types": "./dist/jsx-runtime.d.ts", + "import": "./dist/jsx-runtime.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-ui/package.json", + "selector": "exports[\"./jsx-runtime\"]" + } + } + ], + "compatibility": { + "provenance": [] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/channels-ui/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/channels-ui/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.channels.packages" + } + } + }, + { + "name": "@copilotkit/channels-whatsapp", + "version": "0.7.3", + "sourceDirectory": "packages/channels-whatsapp", + "entrypoints": [ + { + "importPath": "@copilotkit/channels-whatsapp", + "exportKey": ".", + "kind": "code", + "conditions": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "provenance": { + "kind": "package-json", + "path": "packages/channels-whatsapp/package.json", + "selector": "exports[\".\"]" + } + } + ], + "compatibility": { + "provenance": [] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/channels-whatsapp/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/channels-whatsapp/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.channels.packages" + } + } + }, + { + "name": "@copilotkit/core", + "version": "1.66.2", + "sourceDirectory": "packages/core", + "entrypoints": [ + { + "importPath": "@copilotkit/core", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/core/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/core/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/core/package.json", + "selector": "exports[\"./package.json\"]" + } + } + ], + "compatibility": { + "engines": { + "node": ">=18" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/core/package.json", + "selector": "engines" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/core/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/core/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/react-core", + "version": "1.66.2", + "sourceDirectory": "packages/react-core", + "entrypoints": [ + { + "importPath": "@copilotkit/react-core", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-core/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/react-core/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/react-core/package.json", + "selector": "exports[\"./package.json\"]" + } + }, + { + "importPath": "@copilotkit/react-core/v2", + "exportKey": "./v2", + "kind": "code", + "conditions": { + "import": "./dist/v2/index.mjs", + "require": "./dist/v2/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-core/package.json", + "selector": "exports[\"./v2\"]" + } + }, + { + "importPath": "@copilotkit/react-core/v2/context", + "exportKey": "./v2/context", + "kind": "code", + "conditions": { + "import": "./dist/v2/context.mjs", + "require": "./dist/v2/context.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-core/package.json", + "selector": "exports[\"./v2/context\"]" + } + }, + { + "importPath": "@copilotkit/react-core/v2/headless", + "exportKey": "./v2/headless", + "kind": "code", + "conditions": { + "import": "./dist/v2/headless.mjs", + "require": "./dist/v2/headless.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-core/package.json", + "selector": "exports[\"./v2/headless\"]" + } + }, + { + "importPath": "@copilotkit/react-core/v2/styles.css", + "exportKey": "./v2/styles.css", + "kind": "style", + "conditions": "./dist/v2/index.css", + "provenance": { + "kind": "package-json", + "path": "packages/react-core/package.json", + "selector": "exports[\"./v2/styles.css\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "react-dom": "^18 || ^19 || ^19.0.0-rc", + "zod": ">=3.0.0" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/react-core/package.json", + "selector": "peerDependencies" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/react-core/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/react-core/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/react-native", + "version": "1.66.2", + "sourceDirectory": "packages/react-native", + "entrypoints": [ + { + "importPath": "@copilotkit/react-native", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/react-native/components", + "exportKey": "./components", + "kind": "code", + "conditions": { + "import": "./dist/components/index.mjs", + "require": "./dist/components/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "exports[\"./components\"]" + } + }, + { + "importPath": "@copilotkit/react-native/headless", + "exportKey": "./headless", + "kind": "code", + "conditions": { + "import": "./dist/headless.mjs", + "require": "./dist/headless.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "exports[\"./headless\"]" + } + }, + { + "importPath": "@copilotkit/react-native/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "exports[\"./package.json\"]" + } + }, + { + "importPath": "@copilotkit/react-native/polyfills", + "exportKey": "./polyfills", + "kind": "code", + "conditions": { + "import": "./dist/polyfills.mjs", + "require": "./dist/polyfills.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "exports[\"./polyfills\"]" + } + }, + { + "importPath": "@copilotkit/react-native/polyfills/crypto", + "exportKey": "./polyfills/crypto", + "kind": "code", + "conditions": { + "import": "./dist/polyfills/crypto.mjs", + "require": "./dist/polyfills/crypto.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "exports[\"./polyfills/crypto\"]" + } + }, + { + "importPath": "@copilotkit/react-native/polyfills/dom", + "exportKey": "./polyfills/dom", + "kind": "code", + "conditions": { + "import": "./dist/polyfills/dom.mjs", + "require": "./dist/polyfills/dom.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "exports[\"./polyfills/dom\"]" + } + }, + { + "importPath": "@copilotkit/react-native/polyfills/encoding", + "exportKey": "./polyfills/encoding", + "kind": "code", + "conditions": { + "import": "./dist/polyfills/encoding.mjs", + "require": "./dist/polyfills/encoding.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "exports[\"./polyfills/encoding\"]" + } + }, + { + "importPath": "@copilotkit/react-native/polyfills/location", + "exportKey": "./polyfills/location", + "kind": "code", + "conditions": { + "import": "./dist/polyfills/location.mjs", + "require": "./dist/polyfills/location.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "exports[\"./polyfills/location\"]" + } + }, + { + "importPath": "@copilotkit/react-native/polyfills/streams", + "exportKey": "./polyfills/streams", + "kind": "code", + "conditions": { + "import": "./dist/polyfills/streams.mjs", + "require": "./dist/polyfills/streams.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "exports[\"./polyfills/streams\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "@gorhom/bottom-sheet": "^5.0.0", + "expo-document-picker": ">=12.0.0", + "expo-file-system": ">=17.0.0", + "react": "^18 || ^19", + "react-native": ">=0.70", + "react-native-gesture-handler": ">=2.0.0", + "react-native-reanimated": ">=3.0.0", + "react-native-streamdown": ">=0.1.0", + "zod": ">=3.0.0" + }, + "optionalPeerDependencies": [ + "@gorhom/bottom-sheet", + "expo-document-picker", + "expo-file-system", + "react-native-gesture-handler", + "react-native-reanimated", + "react-native-streamdown", + "zod" + ], + "provenance": [ + { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "peerDependencies" + }, + { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "peerDependenciesMeta.*.optional" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/react-native/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/react-textarea", + "version": "1.66.2", + "sourceDirectory": "packages/react-textarea", + "entrypoints": [ + { + "importPath": "@copilotkit/react-textarea", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-textarea/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/react-textarea/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/react-textarea/package.json", + "selector": "exports[\"./package.json\"]" + } + }, + { + "importPath": "@copilotkit/react-textarea/styles.css", + "exportKey": "./styles.css", + "kind": "style", + "conditions": "./dist/index.css", + "provenance": { + "kind": "package-json", + "path": "packages/react-textarea/package.json", + "selector": "exports[\"./styles.css\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "react-dom": "^18 || ^19 || ^19.0.0-rc" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/react-textarea/package.json", + "selector": "peerDependencies" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/react-textarea/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/react-textarea/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/react-ui", + "version": "1.66.2", + "sourceDirectory": "packages/react-ui", + "entrypoints": [ + { + "importPath": "@copilotkit/react-ui", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/react-ui/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/react-ui/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/react-ui/package.json", + "selector": "exports[\"./package.json\"]" + } + }, + { + "importPath": "@copilotkit/react-ui/styles.css", + "exportKey": "./styles.css", + "kind": "style", + "conditions": "./dist/index.css", + "provenance": { + "kind": "package-json", + "path": "packages/react-ui/package.json", + "selector": "exports[\"./styles.css\"]" + } + }, + { + "importPath": "@copilotkit/react-ui/v2/styles.css", + "exportKey": "./v2/styles.css", + "kind": "style", + "conditions": "./dist/v2/index.css", + "provenance": { + "kind": "package-json", + "path": "packages/react-ui/package.json", + "selector": "exports[\"./v2/styles.css\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/react-ui/package.json", + "selector": "peerDependencies" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/react-ui/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/react-ui/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/runtime", + "version": "1.66.2", + "sourceDirectory": "packages/runtime", + "entrypoints": [ + { + "importPath": "@copilotkit/runtime", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/runtime/langgraph", + "exportKey": "./langgraph", + "kind": "code", + "conditions": { + "import": "./dist/langgraph.mjs", + "require": "./dist/langgraph.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./langgraph\"]" + } + }, + { + "importPath": "@copilotkit/runtime/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./package.json\"]" + } + }, + { + "importPath": "@copilotkit/runtime/v2", + "exportKey": "./v2", + "kind": "code", + "conditions": { + "import": "./dist/v2/index.mjs", + "require": "./dist/v2/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2\"]" + } + }, + { + "importPath": "@copilotkit/runtime/v2/express", + "exportKey": "./v2/express", + "kind": "code", + "conditions": { + "import": "./dist/v2/express.mjs", + "require": "./dist/v2/express.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/express\"]" + } + }, + { + "importPath": "@copilotkit/runtime/v2/hono", + "exportKey": "./v2/hono", + "kind": "code", + "conditions": { + "import": "./dist/v2/hono.mjs", + "require": "./dist/v2/hono.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/hono\"]" + } + }, + { + "importPath": "@copilotkit/runtime/v2/node", + "exportKey": "./v2/node", + "kind": "code", + "conditions": { + "import": "./dist/v2/node.mjs", + "require": "./dist/v2/node.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/node\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "@anthropic-ai/sdk": ">=0.57.0", + "@langchain/aws": ">=0.1.9", + "@langchain/community": ">=0.3.58", + "@langchain/core": ">=0.3.66", + "@langchain/google-gauth": ">=0.1.0", + "@langchain/langgraph-sdk": ">=0.1.2", + "@langchain/openai": ">=0.4.2", + "groq-sdk": ">=0.3.0 <1.0.0", + "langchain": ">=0.3.3", + "openai": "^4.85.1 || >=5.0.0" + }, + "optionalPeerDependencies": [ + "@anthropic-ai/sdk", + "@langchain/aws", + "@langchain/community", + "@langchain/google-gauth", + "@langchain/langgraph-sdk", + "@langchain/openai", + "groq-sdk", + "langchain", + "openai" + ], + "provenance": [ + { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "peerDependencies" + }, + { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "peerDependenciesMeta.*.optional" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/runtime-client-gql", + "version": "1.66.2", + "sourceDirectory": "packages/runtime-client-gql", + "entrypoints": [ + { + "importPath": "@copilotkit/runtime-client-gql", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/runtime-client-gql/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/runtime-client-gql/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/runtime-client-gql/package.json", + "selector": "exports[\"./package.json\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/runtime-client-gql/package.json", + "selector": "peerDependencies" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/runtime-client-gql/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/runtime-client-gql/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/sdk-js", + "version": "1.66.2", + "sourceDirectory": "packages/sdk-js", + "entrypoints": [ + { + "importPath": "@copilotkit/sdk-js", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/sdk-js/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/sdk-js/langchain", + "exportKey": "./langchain", + "kind": "code", + "conditions": { + "import": "./dist/langchain.mjs", + "require": "./dist/langchain.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/sdk-js/package.json", + "selector": "exports[\"./langchain\"]" + } + }, + { + "importPath": "@copilotkit/sdk-js/langgraph", + "exportKey": "./langgraph", + "kind": "code", + "conditions": { + "import": "./dist/langgraph.mjs", + "require": "./dist/langgraph.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/sdk-js/package.json", + "selector": "exports[\"./langgraph\"]" + } + }, + { + "importPath": "@copilotkit/sdk-js/langgraph-middlewares", + "exportKey": "./langgraph-middlewares", + "kind": "code", + "conditions": { + "import": "./dist/langgraph-middlewares.mjs", + "require": "./dist/langgraph-middlewares.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/sdk-js/package.json", + "selector": "exports[\"./langgraph-middlewares\"]" + } + }, + { + "importPath": "@copilotkit/sdk-js/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/sdk-js/package.json", + "selector": "exports[\"./package.json\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "@langchain/core": ">=0.4.0 <2.0.0", + "@langchain/langgraph": ">=0.4.0 <2.0.0", + "langchain": ">=1.0.0", + "typescript": "^5.2.3", + "zod": "^3.23.3 || ^3.24.0 || ^3.25.0" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/sdk-js/package.json", + "selector": "peerDependencies" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/sdk-js/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/sdk-js/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/shared", + "version": "1.66.2", + "sourceDirectory": "packages/shared", + "entrypoints": [ + { + "importPath": "@copilotkit/shared", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/shared/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/shared/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/shared/package.json", + "selector": "exports[\"./package.json\"]" + } + } + ], + "compatibility": { + "peerDependencies": { + "@ag-ui/core": ">=0.0.48" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/shared/package.json", + "selector": "peerDependencies" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/shared/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/shared/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/sqlite-runner", + "version": "1.66.2", + "sourceDirectory": "packages/sqlite-runner", + "entrypoints": [ + { + "importPath": "@copilotkit/sqlite-runner", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/sqlite-runner/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/sqlite-runner/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/sqlite-runner/package.json", + "selector": "exports[\"./package.json\"]" + } + } + ], + "compatibility": { + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "better-sqlite3": "^12.2.0" + }, + "optionalPeerDependencies": [ + "better-sqlite3" + ], + "provenance": [ + { + "kind": "package-json", + "path": "packages/sqlite-runner/package.json", + "selector": "engines" + }, + { + "kind": "package-json", + "path": "packages/sqlite-runner/package.json", + "selector": "peerDependencies" + }, + { + "kind": "package-json", + "path": "packages/sqlite-runner/package.json", + "selector": "peerDependenciesMeta.*.optional" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/sqlite-runner/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/sqlite-runner/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/voice", + "version": "1.66.2", + "sourceDirectory": "packages/voice", + "entrypoints": [ + { + "importPath": "@copilotkit/voice", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/voice/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/voice/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/voice/package.json", + "selector": "exports[\"./package.json\"]" + } + } + ], + "compatibility": { + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@copilotkit/runtime": "workspace:*" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/voice/package.json", + "selector": "engines" + }, + { + "kind": "package-json", + "path": "packages/voice/package.json", + "selector": "peerDependencies" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/voice/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/voice/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/vue", + "version": "1.66.2", + "sourceDirectory": "packages/vue", + "entrypoints": [ + { + "importPath": "@copilotkit/vue", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + }, + "provenance": { + "kind": "package-json", + "path": "packages/vue/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/vue/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/vue/package.json", + "selector": "exports[\"./package.json\"]" + } + }, + { + "importPath": "@copilotkit/vue/styles.css", + "exportKey": "./styles.css", + "kind": "style", + "conditions": "./dist/styles.css", + "provenance": { + "kind": "package-json", + "path": "packages/vue/package.json", + "selector": "exports[\"./styles.css\"]" + } + }, + { + "importPath": "@copilotkit/vue/v2", + "exportKey": "./v2", + "kind": "code", + "conditions": { + "import": { + "types": "./dist/v2/index.d.mts", + "default": "./dist/v2/index.mjs" + }, + "require": { + "types": "./dist/v2/index.d.cts", + "default": "./dist/v2/index.cjs" + } + }, + "provenance": { + "kind": "package-json", + "path": "packages/vue/package.json", + "selector": "exports[\"./v2\"]" + } + } + ], + "compatibility": { + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "vue": ">=3.3.0" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/vue/package.json", + "selector": "engines" + }, + { + "kind": "package-json", + "path": "packages/vue/package.json", + "selector": "peerDependencies" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/vue/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/vue/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/web-components", + "version": "1.66.2", + "sourceDirectory": "packages/web-components", + "entrypoints": [ + { + "importPath": "@copilotkit/web-components", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + }, + "provenance": { + "kind": "package-json", + "path": "packages/web-components/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/web-components/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/web-components/package.json", + "selector": "exports[\"./package.json\"]" + } + }, + { + "importPath": "@copilotkit/web-components/threads-drawer", + "exportKey": "./threads-drawer", + "kind": "code", + "conditions": { + "import": { + "types": "./dist/threads-drawer/index.d.mts", + "default": "./dist/threads-drawer/index.mjs" + }, + "require": { + "types": "./dist/threads-drawer/index.d.cts", + "default": "./dist/threads-drawer/index.cjs" + } + }, + "provenance": { + "kind": "package-json", + "path": "packages/web-components/package.json", + "selector": "exports[\"./threads-drawer\"]" + } + } + ], + "compatibility": { + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "lit": "^3.3.2" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/web-components/package.json", + "selector": "engines" + }, + { + "kind": "package-json", + "path": "packages/web-components/package.json", + "selector": "peerDependencies" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/web-components/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/web-components/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + }, + { + "name": "@copilotkit/web-inspector", + "version": "1.66.2", + "sourceDirectory": "packages/web-inspector", + "entrypoints": [ + { + "importPath": "@copilotkit/web-inspector", + "exportKey": ".", + "kind": "code", + "conditions": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "provenance": { + "kind": "package-json", + "path": "packages/web-inspector/package.json", + "selector": "exports[\".\"]" + } + }, + { + "importPath": "@copilotkit/web-inspector/package.json", + "exportKey": "./package.json", + "kind": "metadata", + "conditions": "./package.json", + "provenance": { + "kind": "package-json", + "path": "packages/web-inspector/package.json", + "selector": "exports[\"./package.json\"]" + } + } + ], + "compatibility": { + "engines": { + "node": ">=18" + }, + "provenance": [ + { + "kind": "package-json", + "path": "packages/web-inspector/package.json", + "selector": "engines" + } + ] + }, + "provenance": { + "name": { + "kind": "package-json", + "path": "packages/web-inspector/package.json", + "selector": "name" + }, + "version": { + "kind": "package-json", + "path": "packages/web-inspector/package.json", + "selector": "version" + }, + "releaseScope": { + "kind": "release-config", + "path": "release.config.json", + "selector": "scopes.monorepo.packages" + } + } + } + ], + "runtime": { + "serviceAdapters": [ + { + "importPath": "@copilotkit/runtime", + "symbol": "AnthropicAdapter", + "configurationType": "AnthropicAdapterParams", + "configurationKeys": [ + "anthropic", + "model", + "promptCaching", + "maxInputTokens" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/anthropic/anthropic-adapter.ts", + "selector": "export class AnthropicAdapter" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/anthropic/anthropic-adapter.ts", + "selector": "constructor parameter AnthropicAdapterParams" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/anthropic/anthropic-adapter.ts", + "selector": "interface AnthropicAdapterParams public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "BedrockAdapter", + "configurationType": "BedrockAdapterParams", + "configurationKeys": [ + "model", + "region", + "credentials" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/bedrock/bedrock-adapter.ts", + "selector": "export class BedrockAdapter" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/bedrock/bedrock-adapter.ts", + "selector": "constructor parameter BedrockAdapterParams" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/bedrock/bedrock-adapter.ts", + "selector": "interface BedrockAdapterParams public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "EmptyAdapter", + "configurationKeys": [], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/empty/empty-adapter.ts", + "selector": "export class EmptyAdapter" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/empty/empty-adapter.ts", + "selector": "class EmptyAdapter has no constructor configuration" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "ExperimentalEmptyAdapter", + "configurationKeys": [], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/empty/empty-adapter.ts", + "selector": "export const ExperimentalEmptyAdapter" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/empty/empty-adapter.ts", + "selector": "class EmptyAdapter has no constructor configuration" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "ExperimentalOllamaAdapter", + "configurationType": "OllamaAdapterOptions", + "configurationKeys": [ + "model" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/experimental/ollama/ollama-adapter.ts", + "selector": "export class ExperimentalOllamaAdapter" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/experimental/ollama/ollama-adapter.ts", + "selector": "constructor parameter OllamaAdapterOptions" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/experimental/ollama/ollama-adapter.ts", + "selector": "interface OllamaAdapterOptions public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "GoogleGenerativeAIAdapter", + "configurationType": "GoogleGenerativeAIAdapterOptions", + "configurationKeys": [ + "model", + "apiVersion", + "apiKey" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/google/google-genai-adapter.ts", + "selector": "export class GoogleGenerativeAIAdapter" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/google/google-genai-adapter.ts", + "selector": "constructor parameter GoogleGenerativeAIAdapterOptions" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/google/google-genai-adapter.ts", + "selector": "interface GoogleGenerativeAIAdapterOptions public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "GroqAdapter", + "configurationType": "GroqAdapterParams", + "configurationKeys": [ + "groq", + "model", + "disableParallelToolCalls" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/groq/groq-adapter.ts", + "selector": "export class GroqAdapter" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/groq/groq-adapter.ts", + "selector": "constructor parameter GroqAdapterParams" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/groq/groq-adapter.ts", + "selector": "interface GroqAdapterParams public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "LangChainAdapter", + "configurationType": "LangChainAdapterOptions", + "configurationKeys": [ + "chainFn" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/langchain/langchain-adapter.ts", + "selector": "export class LangChainAdapter" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/langchain/langchain-adapter.ts", + "selector": "constructor parameter LangChainAdapterOptions" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/langchain/langchain-adapter.ts", + "selector": "interface LangChainAdapterOptions public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "OpenAIAdapter", + "configurationType": "OpenAIAdapterParams", + "configurationKeys": [ + "openai", + "model", + "disableParallelToolCalls", + "keepSystemRole", + "maxInputTokens" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/openai/openai-adapter.ts", + "selector": "export class OpenAIAdapter" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/openai/openai-adapter.ts", + "selector": "constructor parameter OpenAIAdapterParams" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/openai/openai-adapter.ts", + "selector": "interface OpenAIAdapterParams public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "OpenAIAssistantAdapter", + "configurationType": "OpenAIAssistantAdapterParams", + "configurationKeys": [ + "assistantId", + "openai", + "codeInterpreterEnabled", + "fileSearchEnabled", + "disableParallelToolCalls", + "keepSystemRole" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/openai/openai-assistant-adapter.ts", + "selector": "export class OpenAIAssistantAdapter" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/openai/openai-assistant-adapter.ts", + "selector": "constructor parameter OpenAIAssistantAdapterParams" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/openai/openai-assistant-adapter.ts", + "selector": "interface OpenAIAssistantAdapterParams public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "UnifyAdapter", + "configurationType": "UnifyAdapterParams", + "configurationKeys": [ + "apiKey", + "model" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/unify/unify-adapter.ts", + "selector": "export class UnifyAdapter" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/unify/unify-adapter.ts", + "selector": "constructor parameter UnifyAdapterParams" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/service-adapters/unify/unify-adapter.ts", + "selector": "interface UnifyAdapterParams public properties" + } + } + } + ], + "hostFactories": [ + { + "importPath": "@copilotkit/runtime/v2", + "symbol": "createCopilotRuntimeHandler", + "configurationType": "CopilotRuntimeHandlerOptions", + "configurationKeys": [ + "runtime", + "basePath", + "mode", + "cors", + "hooks", + "activateChannels" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/core/fetch-handler.ts", + "selector": "export function createCopilotRuntimeHandler" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/core/fetch-handler.ts", + "selector": "interface CopilotRuntimeHandlerOptions" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/core/fetch-handler.ts", + "selector": "interface CopilotRuntimeHandlerOptions public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2/express", + "symbol": "createCopilotExpressHandler", + "configurationType": "CopilotExpressEndpointParams", + "configurationKeys": [ + "runtime", + "basePath", + "mode", + "cors", + "hooks", + "activateChannels" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/express\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/express.ts", + "selector": "export function createCopilotExpressHandler" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/express.ts", + "selector": "interface CopilotExpressEndpointParams" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/express.ts", + "selector": "interface CopilotExpressEndpointParams public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2/hono", + "symbol": "createCopilotHonoHandler", + "configurationType": "CopilotEndpointParams", + "configurationKeys": [ + "runtime", + "basePath", + "mode", + "cors", + "hooks", + "activateChannels" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/hono\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/hono.ts", + "selector": "export function createCopilotHonoHandler" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/hono.ts", + "selector": "interface CopilotEndpointParams" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/hono.ts", + "selector": "interface CopilotEndpointParams public properties" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2/node", + "symbol": "createCopilotNodeHandler", + "configurationKeys": [], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/node\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/node-fetch-handler.ts", + "selector": "export function createCopilotNodeHandler" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/node-fetch-handler.ts", + "selector": "function createCopilotNodeHandler has no configuration object" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2/node", + "symbol": "createCopilotNodeListener", + "configurationType": "CopilotRuntimeHandlerOptions", + "configurationKeys": [ + "runtime", + "basePath", + "mode", + "cors", + "hooks", + "activateChannels" + ], + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/node\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/node.ts", + "selector": "export function createCopilotNodeListener" + }, + "configurationType": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/core/fetch-handler.ts", + "selector": "interface CopilotRuntimeHandlerOptions" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/core/fetch-handler.ts", + "selector": "interface CopilotRuntimeHandlerOptions public properties" + } + } + } + ], + "agentFactoryModes": [ + { + "type": "aisdk", + "configurationKeys": [ + "type", + "factory" + ], + "provenance": { + "type": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "interface BuiltInAgentAISDKFactoryConfig property type" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "interface BuiltInAgentAISDKFactoryConfig public properties" + } + } + }, + { + "type": "tanstack", + "configurationKeys": [ + "type", + "factory" + ], + "provenance": { + "type": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "interface BuiltInAgentTanStackFactoryConfig property type" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "interface BuiltInAgentTanStackFactoryConfig public properties" + } + } + }, + { + "type": "custom", + "configurationKeys": [ + "type", + "factory" + ], + "provenance": { + "type": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "interface BuiltInAgentCustomFactoryConfig property type" + }, + "configurationKeys": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "interface BuiltInAgentCustomFactoryConfig public properties" + } + } + } + ] + }, + "deprecations": [ + { + "importPath": "@copilotkit/runtime", + "symbol": "CustomEventNames", + "replacement": { + "importPath": "@copilotkit/runtime/langgraph", + "symbol": "CustomEventNames" + }, + "sourceMessage": "CustomEventNames import from `@copilotkit/runtime` is deprecated. Please import it from `@copilotkit/runtime/langgraph` instead", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "CustomEventNames @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "CustomEventNames @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "CustomEventNames @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "LangGraphAgent", + "replacement": { + "importPath": "@copilotkit/runtime/langgraph", + "symbol": "LangGraphAgent" + }, + "sourceMessage": "LangGraphAgent import from `@copilotkit/runtime` is deprecated. Please import it from `@copilotkit/runtime/langgraph` instead", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "LangGraphAgent @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "LangGraphAgent @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "LangGraphAgent @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "LangGraphHttpAgent", + "replacement": { + "importPath": "@copilotkit/runtime/langgraph", + "symbol": "LangGraphHttpAgent" + }, + "sourceMessage": "LangGraphHttpAgent import from `@copilotkit/runtime` is deprecated. Please import it from `@copilotkit/runtime/langgraph` instead", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "LangGraphHttpAgent @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "LangGraphHttpAgent @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "LangGraphHttpAgent @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "PredictStateTool", + "replacement": { + "importPath": "@copilotkit/runtime/langgraph", + "symbol": "PredictStateTool" + }, + "sourceMessage": "PredictStateTool import from `@copilotkit/runtime` is deprecated. Please import it from `@copilotkit/runtime/langgraph` instead", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "PredictStateTool @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "PredictStateTool @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "PredictStateTool @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "TextMessageEvents", + "replacement": { + "importPath": "@copilotkit/runtime/langgraph", + "symbol": "TextMessageEvents" + }, + "sourceMessage": "TextMessageEvents import from `@copilotkit/runtime` is deprecated. Please import it from `@copilotkit/runtime/langgraph` instead", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "TextMessageEvents @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "TextMessageEvents @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "TextMessageEvents @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime", + "symbol": "ToolCallEvents", + "replacement": { + "importPath": "@copilotkit/runtime/langgraph", + "symbol": "ToolCallEvents" + }, + "sourceMessage": "ToolCallEvents import from `@copilotkit/runtime` is deprecated. Please import it from `@copilotkit/runtime/langgraph` instead", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\".\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "ToolCallEvents @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "ToolCallEvents @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/lib/index.ts", + "selector": "ToolCallEvents @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2", + "symbol": "BasicAgent", + "replacement": { + "importPath": "@copilotkit/runtime/v2", + "symbol": "BuiltInAgent" + }, + "sourceMessage": "Use BuiltInAgent instead", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "BasicAgent @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "BasicAgent @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "BasicAgent @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2", + "symbol": "BasicAgentConfiguration", + "replacement": { + "importPath": "@copilotkit/runtime/v2", + "symbol": "BuiltInAgentClassicConfig" + }, + "sourceMessage": "Use BuiltInAgentClassicConfig instead", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "BasicAgentConfiguration @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "BasicAgentConfiguration @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/agent/index.ts", + "selector": "BasicAgentConfiguration @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2", + "symbol": "CopilotKitRequestHandler", + "replacement": { + "importPath": "@copilotkit/runtime/v2", + "symbol": "CopilotRuntimeFetchHandler" + }, + "sourceMessage": "Use `CopilotRuntimeFetchHandler` instead. Note: the new type takes `Request` directly, not `{ request: Request }`.", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/index.ts", + "selector": "CopilotKitRequestHandler @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/index.ts", + "selector": "CopilotKitRequestHandler @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/index.ts", + "selector": "CopilotKitRequestHandler @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2/express", + "symbol": "createCopilotEndpointExpress", + "replacement": { + "importPath": "@copilotkit/runtime/v2/express", + "symbol": "createCopilotExpressHandler" + }, + "sourceMessage": "Use `createCopilotExpressHandler` instead.", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/express\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/express.ts", + "selector": "createCopilotEndpointExpress @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/express.ts", + "selector": "createCopilotEndpointExpress @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/express.ts", + "selector": "createCopilotEndpointExpress @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2/express", + "symbol": "createCopilotEndpointSingleRouteExpress", + "replacement": { + "importPath": "@copilotkit/runtime/v2/express", + "symbol": "createCopilotExpressHandler" + }, + "sourceMessage": "Use `createCopilotExpressHandler` with `mode: \"single-route\"` instead.", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/express\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/express-single.ts", + "selector": "createCopilotEndpointSingleRouteExpress @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/express-single.ts", + "selector": "createCopilotEndpointSingleRouteExpress @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/express-single.ts", + "selector": "createCopilotEndpointSingleRouteExpress @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2/hono", + "symbol": "createCopilotEndpoint", + "replacement": { + "importPath": "@copilotkit/runtime/v2/hono", + "symbol": "createCopilotHonoHandler" + }, + "sourceMessage": "Use `createCopilotHonoHandler` instead.", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/hono\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/hono.ts", + "selector": "createCopilotEndpoint @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/hono.ts", + "selector": "createCopilotEndpoint @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/hono.ts", + "selector": "createCopilotEndpoint @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2/hono", + "symbol": "createCopilotEndpointSingleRoute", + "replacement": { + "importPath": "@copilotkit/runtime/v2/hono", + "symbol": "createCopilotHonoHandler" + }, + "sourceMessage": "Use `createCopilotHonoHandler` with `mode: \"single-route\"` instead.", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/hono\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/hono-single.ts", + "selector": "createCopilotEndpointSingleRoute @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/hono-single.ts", + "selector": "createCopilotEndpointSingleRoute @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/hono-single.ts", + "selector": "createCopilotEndpointSingleRoute @deprecated tag" + } + } + }, + { + "importPath": "@copilotkit/runtime/v2/node", + "symbol": "createNodeFetchHandler", + "replacement": { + "importPath": "@copilotkit/runtime/v2/node", + "symbol": "createCopilotNodeHandler" + }, + "sourceMessage": "Use `createCopilotNodeHandler` instead.", + "provenance": { + "importPath": { + "kind": "package-json", + "path": "packages/runtime/package.json", + "selector": "exports[\"./v2/node\"]" + }, + "symbol": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/node-fetch-handler.ts", + "selector": "createNodeFetchHandler @deprecated tag" + }, + "replacement": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/node-fetch-handler.ts", + "selector": "createNodeFetchHandler @deprecated tag" + }, + "sourceMessage": { + "kind": "typescript-ast", + "path": "packages/runtime/src/v2/runtime/endpoints/node-fetch-handler.ts", + "selector": "createNodeFetchHandler @deprecated tag" + } + } + } + ] +}