mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
972dd64476
Move the Intelligence-delivered managed-bot surface out of @copilotkit/bot into its own package so the adapter, transports, contracts, and lifecycle ship independently of bot core. - New @copilotkit/bot-intelligence: intelligenceAdapter + DeliverySource/EgressSink (+ in-memory impls) + placeholder contracts + startManagedBots/validation/ activation metadata. Production code imports only types from @copilotkit/bot and @copilotkit/bot-ui. - @copilotkit/bot keeps the generic PlatformCodec seam (moved to src/codec.ts) and all core createBot changes (addAdapter, deferred store, id fields, __managed/skipIngressDedup, exclusive guard). It now also exports the FakeAdapter/FakeAgent test utilities for downstream adapter-package tests. - Registered the new release scope: release.config.json, scripts/release/lib/ config.ts, and the canary/publish/stable release workflows. Tests preserved: bot 150 + bot-intelligence 19 (= the prior 169); bot-slack 261. Builds typecheck across bot/bot-intelligence/bot-slack/runtime; publint/attw/ oxlint/oxfmt clean.
47 lines
1.0 KiB
TypeScript
47 lines
1.0 KiB
TypeScript
import fs from "fs";
|
|
import path from "path";
|
|
import { fileURLToPath } from "url";
|
|
|
|
export const ROOT = path.resolve(
|
|
path.dirname(fileURLToPath(import.meta.url)),
|
|
"../../..",
|
|
);
|
|
|
|
export type ReleaseScope =
|
|
| "monorepo"
|
|
| "angular"
|
|
| "bot"
|
|
| "bot-discord"
|
|
| "bot-intelligence"
|
|
| "bot-slack"
|
|
| "bot-teams"
|
|
| "bot-telegram"
|
|
| "bot-whatsapp";
|
|
|
|
export interface ScopeConfig {
|
|
packages: string[];
|
|
versionSource: string;
|
|
sharedVersion: boolean;
|
|
}
|
|
|
|
export interface ReleaseConfig {
|
|
prereleaseTag: string;
|
|
scopes: Record<ReleaseScope, ScopeConfig>;
|
|
}
|
|
|
|
export function loadConfig(): ReleaseConfig {
|
|
const configPath = path.join(ROOT, "release.config.json");
|
|
return JSON.parse(fs.readFileSync(configPath, "utf8"));
|
|
}
|
|
|
|
export function getScopeConfig(scope: ReleaseScope): ScopeConfig {
|
|
const config = loadConfig();
|
|
const scopeConfig = config.scopes[scope];
|
|
if (!scopeConfig) {
|
|
throw new Error(
|
|
`Unknown scope: ${scope}. Valid scopes: ${Object.keys(config.scopes).join(", ")}`,
|
|
);
|
|
}
|
|
return scopeConfig;
|
|
}
|