- 品牌替换:OpenCode/opencode → AirCoding/aircoding(16+ 文件) - Logo ASCII art:修复 left/right 行数不匹配导致的启动崩溃 - 启动诊断:添加 OPENCODE_PRINT_TIMING 计时探针 - dev 模式默认 --pure 跳过外部插件加载 - AGENTS.md 模板:追加 AirCoding 多 Agent 专项段落 - architect prompt + plugin:强化 AGENTS.md 产出验证
21 lines
946 B
TypeScript
21 lines
946 B
TypeScript
import { AgentV2 } from "@opencode-ai/core/agent"
|
|
import { SessionMessage } from "@opencode-ai/core/session/message"
|
|
import { ToolRegistry } from "@opencode-ai/core/tool/registry"
|
|
import { Effect } from "effect"
|
|
|
|
export const toolIdentity = {
|
|
agent: AgentV2.ID.make("build"),
|
|
assistantMessageID: SessionMessage.ID.make("msg_tool_test"),
|
|
}
|
|
|
|
export const toolDefinitions = (
|
|
registry: ToolRegistry.Interface,
|
|
permissions?: Parameters<typeof registry.materialize>[0],
|
|
) => registry.materialize(permissions).pipe(Effect.map((materialized) => materialized.definitions))
|
|
|
|
export const settleTool = (registry: ToolRegistry.Interface, input: ToolRegistry.ExecuteInput) =>
|
|
registry.materialize().pipe(Effect.flatMap((materialized) => materialized.settle(input)))
|
|
|
|
export const executeTool = (registry: ToolRegistry.Interface, input: ToolRegistry.ExecuteInput) =>
|
|
settleTool(registry, input).pipe(Effect.map((settlement) => settlement.result))
|