入口模块
@ageniti/core 同时提供根导出和更细粒度的 subpath export。
推荐默认方式
大多数应用直接从根包导入即可:
import { createAgenitiApp, defineAction, s } from "@ageniti/core";这样最简单,也和文档示例保持一致。
可用导出
根导出
@ageniti/core当你希望用一个入口拿到主要 authoring API 时,优先用根导出。根导出涵盖 action 契约、runtime、transport、adapter、schema、client 和测试工具 —— 应用或 host 在运行时所需的全部。
0.2.0 起:打包、文档与 project 工具链 helper(
buildArtifacts、packageArtifacts、publishArtifacts、createGuideDoc、exportDocs、initProject、doctorProject、findDefaultAppModule、loadProjectConfig、detectTypeScriptRuntime、supportsTypeScriptEntrypoints)不再从根入口再导出。请从对应 subpath(@ageniti/core/build、@ageniti/core/docs、@ageniti/core/project)导入,让 runtime 热路径保持精简。
Subpath Export
@ageniti/core/ai-sdk
@ageniti/core/adapters
@ageniti/core/app
@ageniti/core/build
@ageniti/core/cli
@ageniti/core/client
@ageniti/core/client-gen
@ageniti/core/core
@ageniti/core/dev
@ageniti/core/docs
@ageniti/core/handlers
@ageniti/core/http
@ageniti/core/json-runner
@ageniti/core/lint
@ageniti/core/manifest
@ageniti/core/mcp
@ageniti/core/project
@ageniti/core/react
@ageniti/core/react-hooks
@ageniti/core/schema
@ageniti/core/schema-adapter
@ageniti/core/test-utils每个 Subpath 暴露什么
@ageniti/core/ai-sdk:OpenAI-compatible tools、Responses tools、AI SDK tools 和组合 manifest。@ageniti/core/adapters:内建 surface adapter 与 adapter helper。@ageniti/core/app:createAgenitiApp()。@ageniti/core/build:buildArtifacts()、packageArtifacts()、publishArtifacts()—— 构建、打包并发布可分发的 CLI tarball。@ageniti/core/docs:createGuideDoc()、exportDocs()—— 为 app actions 生成统一的GUIDE.md。@ageniti/core/project:initProject()、doctorProject()、findDefaultAppModule()、loadProjectConfig()、detectTypeScriptRuntime()、supportsTypeScriptEntrypoints()—— 项目脚手架与探测 helper。@ageniti/core/cli:createCli()。@ageniti/core/client:createClient()和AgenitiClientError,用于进程内 / HTTP 类型化 client。@ageniti/core/client-gen:generateClientTypes()和jsonSchemaToTs(),构建期生成.d.ts类型化 client。@ageniti/core/core:defineAction()、createRuntime()、ERROR_CODES常量等 runtime 和 action 原语。@ageniti/core/dev:createDevServer()。@ageniti/core/handlers:defineActions()、actionFromHandler()、actionsFromHandlers(),批量包装已有函数。@ageniti/core/http:createHttpHandler()、createHttpServer()、parseRequestBody()、sendJson()、sendText()。@ageniti/core/json-runner:createJsonRunner()。@ageniti/core/lint:lintActions()。@ageniti/core/manifest:describeAction()、createSurfaceManifest()、diffActionManifests()等 manifest helper。@ageniti/core/mcp:MCP manifest、handler 和 stdio server(自动识别 Content-Length 与 newline framing)。@ageniti/core/react:createReactActionAdapter()、makeInvoker()、streamAction()(不 import React,非 React 项目也能加载)。@ageniti/core/react-hooks:useAction()状态机 hook(React 作为 peer dep)。@ageniti/core/schema:s、isSchema()、assertSchema()、toJSONSchema()和SchemaValidationError。@ageniti/core/schema-adapter:wrapSchema()、isZodLike()、isStandardSchemaV1()、zodToJsonSchema(),用于外部 schema 互操作。@ageniti/core/test-utils:createTestRuntime()、expectOk()、expectError()、expectLog()、collectStream()、stubAction()。
常见导入模式
编写 action:
import { defineAction, s } from "@ageniti/core";只构建 MCP server 包装层:
import { createMcpHandler } from "@ageniti/core/mcp";运行 lint 或工具链检查:
import { lintActions } from "@ageniti/core/lint";只生成 AI tool 定义:
import { createAISDKTools, createOpenAITools } from "@ageniti/core/ai-sdk";什么时候更适合用 Subpath
优先使用 subpath 的情况:
- 你在做边界明确的集成层
- 你希望 import 直接表达模块职责
- 你的包或服务只暴露单一 surface
- 你在写围绕 manifest、lint 或 schema 的工具
优先使用根导出的情况:
- 你在写主应用集成代码
- 你希望 onboarding 尽可能简单
- 你不需要显式的模块级分层
- 你需要 build helper 或 project setup helper,而它们没有单独的 subpath export
类型声明
现在类型声明已经收敛到最小可维护形态:包只保留一个根入口声明文件,以及一个放在 src/types/ 下的中心化 subpath 声明映射,统一覆盖所有公开 subpath export。