@aigne/core 1.72.0 → 1.74.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/dist/_virtual/rolldown_runtime.cjs +29 -0
- package/dist/agents/agent.cjs +874 -0
- package/dist/agents/agent.d.cts +967 -0
- package/dist/agents/agent.d.cts.map +1 -0
- package/dist/agents/agent.d.mts +967 -0
- package/dist/agents/agent.d.mts.map +1 -0
- package/dist/agents/agent.mjs +863 -0
- package/dist/agents/agent.mjs.map +1 -0
- package/dist/agents/ai-agent.cjs +524 -0
- package/dist/agents/ai-agent.d.cts +401 -0
- package/dist/agents/ai-agent.d.cts.map +1 -0
- package/dist/agents/ai-agent.d.mts +401 -0
- package/dist/agents/ai-agent.d.mts.map +1 -0
- package/dist/agents/ai-agent.mjs +519 -0
- package/dist/agents/ai-agent.mjs.map +1 -0
- package/dist/agents/chat-model.cjs +397 -0
- package/dist/agents/chat-model.d.cts +674 -0
- package/dist/agents/chat-model.d.cts.map +1 -0
- package/dist/agents/chat-model.d.mts +674 -0
- package/dist/agents/chat-model.d.mts.map +1 -0
- package/dist/agents/chat-model.mjs +391 -0
- package/dist/agents/chat-model.mjs.map +1 -0
- package/dist/agents/guide-rail-agent.cjs +17 -0
- package/dist/agents/guide-rail-agent.d.cts +67 -0
- package/dist/agents/guide-rail-agent.d.cts.map +1 -0
- package/dist/agents/guide-rail-agent.d.mts +67 -0
- package/dist/agents/guide-rail-agent.d.mts.map +1 -0
- package/dist/agents/guide-rail-agent.mjs +17 -0
- package/dist/agents/guide-rail-agent.mjs.map +1 -0
- package/dist/agents/image-agent.cjs +74 -0
- package/dist/agents/image-agent.d.cts +44 -0
- package/dist/agents/image-agent.d.cts.map +1 -0
- package/dist/agents/image-agent.d.mts +44 -0
- package/dist/agents/image-agent.d.mts.map +1 -0
- package/dist/agents/image-agent.mjs +72 -0
- package/dist/agents/image-agent.mjs.map +1 -0
- package/dist/agents/image-model.cjs +83 -0
- package/dist/agents/image-model.d.cts +276 -0
- package/dist/agents/image-model.d.cts.map +1 -0
- package/dist/agents/image-model.d.mts +276 -0
- package/dist/agents/image-model.d.mts.map +1 -0
- package/dist/agents/image-model.mjs +81 -0
- package/dist/agents/image-model.mjs.map +1 -0
- package/dist/agents/mcp-agent.cjs +307 -0
- package/dist/agents/mcp-agent.d.cts +235 -0
- package/dist/agents/mcp-agent.d.cts.map +1 -0
- package/dist/agents/mcp-agent.d.mts +235 -0
- package/dist/agents/mcp-agent.d.mts.map +1 -0
- package/dist/agents/mcp-agent.mjs +303 -0
- package/dist/agents/mcp-agent.mjs.map +1 -0
- package/dist/agents/model.cjs +143 -0
- package/dist/agents/model.d.cts +257 -0
- package/dist/agents/model.d.cts.map +1 -0
- package/dist/agents/model.d.mts +257 -0
- package/dist/agents/model.d.mts.map +1 -0
- package/dist/agents/model.mjs +136 -0
- package/dist/agents/model.mjs.map +1 -0
- package/dist/agents/team-agent.cjs +342 -0
- package/dist/agents/team-agent.d.cts +390 -0
- package/dist/agents/team-agent.d.cts.map +1 -0
- package/dist/agents/team-agent.d.mts +390 -0
- package/dist/agents/team-agent.d.mts.map +1 -0
- package/dist/agents/team-agent.mjs +339 -0
- package/dist/agents/team-agent.mjs.map +1 -0
- package/dist/agents/transform-agent.cjs +77 -0
- package/dist/agents/transform-agent.d.cts +99 -0
- package/dist/agents/transform-agent.d.cts.map +1 -0
- package/dist/agents/transform-agent.d.mts +99 -0
- package/dist/agents/transform-agent.d.mts.map +1 -0
- package/dist/agents/transform-agent.mjs +76 -0
- package/dist/agents/transform-agent.mjs.map +1 -0
- package/dist/agents/types.cjs +30 -0
- package/dist/agents/types.d.cts +34 -0
- package/dist/agents/types.d.cts.map +1 -0
- package/dist/agents/types.d.mts +34 -0
- package/dist/agents/types.d.mts.map +1 -0
- package/dist/agents/types.mjs +25 -0
- package/dist/agents/types.mjs.map +1 -0
- package/dist/agents/user-agent.cjs +87 -0
- package/dist/agents/user-agent.d.cts +32 -0
- package/dist/agents/user-agent.d.cts.map +1 -0
- package/dist/agents/user-agent.d.mts +32 -0
- package/dist/agents/user-agent.d.mts.map +1 -0
- package/dist/agents/user-agent.mjs +88 -0
- package/dist/agents/user-agent.mjs.map +1 -0
- package/dist/agents/video-model.cjs +66 -0
- package/dist/agents/video-model.d.cts +286 -0
- package/dist/agents/video-model.d.cts.map +1 -0
- package/dist/agents/video-model.d.mts +286 -0
- package/dist/agents/video-model.d.mts.map +1 -0
- package/dist/agents/video-model.mjs +64 -0
- package/dist/agents/video-model.mjs.map +1 -0
- package/dist/aigne/aigne.cjs +235 -0
- package/dist/aigne/aigne.d.cts +340 -0
- package/dist/aigne/aigne.d.cts.map +1 -0
- package/dist/aigne/aigne.d.mts +340 -0
- package/dist/aigne/aigne.d.mts.map +1 -0
- package/dist/aigne/aigne.mjs +235 -0
- package/dist/aigne/aigne.mjs.map +1 -0
- package/dist/aigne/context.cjs +377 -0
- package/dist/aigne/context.d.cts +226 -0
- package/dist/aigne/context.d.cts.map +1 -0
- package/dist/aigne/context.d.mts +226 -0
- package/dist/aigne/context.d.mts.map +1 -0
- package/dist/aigne/context.mjs +376 -0
- package/dist/aigne/context.mjs.map +1 -0
- package/dist/aigne/index.cjs +4 -0
- package/dist/aigne/index.d.mts +5 -0
- package/dist/aigne/index.mjs +6 -0
- package/dist/aigne/message-queue.cjs +102 -0
- package/dist/aigne/message-queue.d.cts +52 -0
- package/dist/aigne/message-queue.d.cts.map +1 -0
- package/dist/aigne/message-queue.d.mts +52 -0
- package/dist/aigne/message-queue.d.mts.map +1 -0
- package/dist/aigne/message-queue.mjs +99 -0
- package/dist/aigne/message-queue.mjs.map +1 -0
- package/dist/aigne/type.d.cts +32 -0
- package/dist/aigne/type.d.cts.map +1 -0
- package/dist/aigne/type.d.mts +32 -0
- package/dist/aigne/type.d.mts.map +1 -0
- package/dist/aigne/usage.cjs +29 -0
- package/dist/aigne/usage.d.cts +32 -0
- package/dist/aigne/usage.d.cts.map +1 -0
- package/dist/aigne/usage.d.mts +32 -0
- package/dist/aigne/usage.d.mts.map +1 -0
- package/dist/aigne/usage.mjs +28 -0
- package/dist/aigne/usage.mjs.map +1 -0
- package/dist/index.cjs +142 -0
- package/dist/index.d.cts +29 -0
- package/dist/index.d.mts +31 -0
- package/dist/index.mjs +31 -0
- package/dist/loader/agent-js.cjs +23 -0
- package/dist/loader/agent-js.d.cts +9 -0
- package/dist/loader/agent-js.d.cts.map +1 -0
- package/dist/loader/agent-js.d.mts +10 -0
- package/dist/loader/agent-js.d.mts.map +1 -0
- package/dist/loader/agent-js.mjs +23 -0
- package/dist/loader/agent-js.mjs.map +1 -0
- package/dist/loader/agent-yaml.cjs +109 -0
- package/dist/loader/agent-yaml.d.cts +87 -0
- package/dist/loader/agent-yaml.d.cts.map +1 -0
- package/dist/loader/agent-yaml.d.mts +87 -0
- package/dist/loader/agent-yaml.d.mts.map +1 -0
- package/dist/loader/agent-yaml.mjs +106 -0
- package/dist/loader/agent-yaml.mjs.map +1 -0
- package/dist/loader/agents.cjs +19 -0
- package/dist/loader/agents.d.cts +9 -0
- package/dist/loader/agents.d.cts.map +1 -0
- package/dist/loader/agents.d.mts +9 -0
- package/dist/loader/agents.d.mts.map +1 -0
- package/dist/loader/agents.mjs +20 -0
- package/dist/loader/agents.mjs.map +1 -0
- package/dist/loader/error.cjs +6 -0
- package/dist/loader/error.d.cts +5 -0
- package/dist/loader/error.d.cts.map +1 -0
- package/dist/loader/error.d.mts +5 -0
- package/dist/loader/error.d.mts.map +1 -0
- package/dist/loader/error.mjs +6 -0
- package/dist/loader/error.mjs.map +1 -0
- package/dist/loader/function-agent.cjs +9 -0
- package/dist/loader/function-agent.d.cts +7 -0
- package/dist/loader/function-agent.d.cts.map +1 -0
- package/dist/loader/function-agent.d.mts +7 -0
- package/dist/loader/function-agent.d.mts.map +1 -0
- package/dist/loader/function-agent.mjs +9 -0
- package/dist/loader/function-agent.mjs.map +1 -0
- package/dist/loader/index.cjs +233 -0
- package/dist/loader/index.d.cts +255 -0
- package/dist/loader/index.d.cts.map +1 -0
- package/dist/loader/index.d.mts +255 -0
- package/dist/loader/index.d.mts.map +1 -0
- package/dist/loader/index.mjs +228 -0
- package/dist/loader/index.mjs.map +1 -0
- package/dist/loader/schema.cjs +135 -0
- package/dist/loader/schema.d.cts +177 -0
- package/dist/loader/schema.d.cts.map +1 -0
- package/dist/loader/schema.d.mts +177 -0
- package/dist/loader/schema.d.mts.map +1 -0
- package/dist/loader/schema.mjs +127 -0
- package/dist/loader/schema.mjs.map +1 -0
- package/dist/memory/index.cjs +3 -0
- package/dist/memory/index.d.mts +3 -0
- package/dist/memory/index.mjs +5 -0
- package/dist/memory/memory.cjs +134 -0
- package/dist/memory/memory.d.cts +103 -0
- package/dist/memory/memory.d.cts.map +1 -0
- package/dist/memory/memory.d.mts +103 -0
- package/dist/memory/memory.d.mts.map +1 -0
- package/dist/memory/memory.mjs +133 -0
- package/dist/memory/memory.mjs.map +1 -0
- package/dist/memory/recorder.cjs +61 -0
- package/dist/memory/recorder.d.cts +98 -0
- package/dist/memory/recorder.d.cts.map +1 -0
- package/dist/memory/recorder.d.mts +98 -0
- package/dist/memory/recorder.d.mts.map +1 -0
- package/dist/memory/recorder.mjs +59 -0
- package/dist/memory/recorder.mjs.map +1 -0
- package/dist/memory/retriever.cjs +60 -0
- package/dist/memory/retriever.d.cts +111 -0
- package/dist/memory/retriever.d.cts.map +1 -0
- package/dist/memory/retriever.d.mts +111 -0
- package/dist/memory/retriever.d.mts.map +1 -0
- package/dist/memory/retriever.mjs +58 -0
- package/dist/memory/retriever.mjs.map +1 -0
- package/dist/prompt/agent-session.cjs +700 -0
- package/dist/prompt/agent-session.d.cts +167 -0
- package/dist/prompt/agent-session.d.cts.map +1 -0
- package/dist/prompt/agent-session.d.mts +167 -0
- package/dist/prompt/agent-session.d.mts.map +1 -0
- package/dist/prompt/agent-session.mjs +700 -0
- package/dist/prompt/agent-session.mjs.map +1 -0
- package/dist/prompt/compact/compactor.cjs +50 -0
- package/dist/prompt/compact/compactor.mjs +50 -0
- package/dist/prompt/compact/compactor.mjs.map +1 -0
- package/dist/prompt/compact/session-memory-extractor.cjs +137 -0
- package/dist/prompt/compact/session-memory-extractor.mjs +137 -0
- package/dist/prompt/compact/session-memory-extractor.mjs.map +1 -0
- package/dist/prompt/compact/types.cjs +59 -0
- package/dist/prompt/compact/types.d.cts +341 -0
- package/dist/prompt/compact/types.d.cts.map +1 -0
- package/dist/prompt/compact/types.d.mts +341 -0
- package/dist/prompt/compact/types.d.mts.map +1 -0
- package/dist/prompt/compact/types.mjs +49 -0
- package/dist/prompt/compact/types.mjs.map +1 -0
- package/dist/prompt/compact/user-memory-extractor.cjs +118 -0
- package/dist/prompt/compact/user-memory-extractor.mjs +118 -0
- package/dist/prompt/compact/user-memory-extractor.mjs.map +1 -0
- package/dist/prompt/context/afs/history.cjs +30 -0
- package/dist/prompt/context/afs/history.mjs +30 -0
- package/dist/prompt/context/afs/history.mjs.map +1 -0
- package/dist/prompt/context/afs/index.cjs +60 -0
- package/dist/prompt/context/afs/index.mjs +61 -0
- package/dist/prompt/context/afs/index.mjs.map +1 -0
- package/dist/prompt/context/index.cjs +18 -0
- package/dist/prompt/context/index.mjs +19 -0
- package/dist/prompt/context/index.mjs.map +1 -0
- package/dist/prompt/filters/index.cjs +22 -0
- package/dist/prompt/filters/index.mjs +21 -0
- package/dist/prompt/filters/index.mjs.map +1 -0
- package/dist/prompt/prompt-builder.cjs +291 -0
- package/dist/prompt/prompt-builder.d.cts +57 -0
- package/dist/prompt/prompt-builder.d.cts.map +1 -0
- package/dist/prompt/prompt-builder.d.mts +57 -0
- package/dist/prompt/prompt-builder.d.mts.map +1 -0
- package/dist/prompt/prompt-builder.mjs +291 -0
- package/dist/prompt/prompt-builder.mjs.map +1 -0
- package/dist/prompt/prompts/afs-builtin-prompt.cjs +12 -0
- package/dist/prompt/prompts/afs-builtin-prompt.mjs +13 -0
- package/dist/prompt/prompts/afs-builtin-prompt.mjs.map +1 -0
- package/dist/prompt/prompts/memory-message-template.cjs +10 -0
- package/dist/prompt/prompts/memory-message-template.mjs +10 -0
- package/dist/prompt/prompts/memory-message-template.mjs.map +1 -0
- package/dist/prompt/prompts/structured-stream-instructions.cjs +30 -0
- package/dist/prompt/prompts/structured-stream-instructions.mjs +30 -0
- package/dist/prompt/prompts/structured-stream-instructions.mjs.map +1 -0
- package/dist/prompt/skills/afs/agent-skill/agent-skill.cjs +66 -0
- package/dist/prompt/skills/afs/agent-skill/agent-skill.mjs +66 -0
- package/dist/prompt/skills/afs/agent-skill/agent-skill.mjs.map +1 -0
- package/dist/prompt/skills/afs/agent-skill/skill-loader.cjs +42 -0
- package/dist/prompt/skills/afs/agent-skill/skill-loader.mjs +41 -0
- package/dist/prompt/skills/afs/agent-skill/skill-loader.mjs.map +1 -0
- package/dist/prompt/skills/afs/base.cjs +9 -0
- package/dist/prompt/skills/afs/base.mjs +10 -0
- package/dist/prompt/skills/afs/base.mjs.map +1 -0
- package/dist/prompt/skills/afs/delete.cjs +50 -0
- package/dist/prompt/skills/afs/delete.mjs +50 -0
- package/dist/prompt/skills/afs/delete.mjs.map +1 -0
- package/dist/prompt/skills/afs/edit.cjs +92 -0
- package/dist/prompt/skills/afs/edit.mjs +92 -0
- package/dist/prompt/skills/afs/edit.mjs.map +1 -0
- package/dist/prompt/skills/afs/exec.cjs +36 -0
- package/dist/prompt/skills/afs/exec.mjs +36 -0
- package/dist/prompt/skills/afs/exec.mjs.map +1 -0
- package/dist/prompt/skills/afs/index.cjs +28 -0
- package/dist/prompt/skills/afs/index.mjs +29 -0
- package/dist/prompt/skills/afs/index.mjs.map +1 -0
- package/dist/prompt/skills/afs/list.cjs +69 -0
- package/dist/prompt/skills/afs/list.mjs +69 -0
- package/dist/prompt/skills/afs/list.mjs.map +1 -0
- package/dist/prompt/skills/afs/read.cjs +86 -0
- package/dist/prompt/skills/afs/read.mjs +86 -0
- package/dist/prompt/skills/afs/read.mjs.map +1 -0
- package/dist/prompt/skills/afs/rename.cjs +53 -0
- package/dist/prompt/skills/afs/rename.mjs +53 -0
- package/dist/prompt/skills/afs/rename.mjs.map +1 -0
- package/dist/prompt/skills/afs/search.cjs +63 -0
- package/dist/prompt/skills/afs/search.mjs +63 -0
- package/dist/prompt/skills/afs/search.mjs.map +1 -0
- package/dist/prompt/skills/afs/write.cjs +51 -0
- package/dist/prompt/skills/afs/write.mjs +51 -0
- package/dist/prompt/skills/afs/write.mjs.map +1 -0
- package/dist/prompt/template.cjs +229 -0
- package/dist/prompt/template.d.cts +247 -0
- package/dist/prompt/template.d.cts.map +1 -0
- package/dist/prompt/template.d.mts +247 -0
- package/dist/prompt/template.d.mts.map +1 -0
- package/dist/prompt/template.mjs +219 -0
- package/dist/prompt/template.mjs.map +1 -0
- package/dist/utils/agent-utils.cjs +49 -0
- package/dist/utils/agent-utils.d.cts +22 -0
- package/dist/utils/agent-utils.d.cts.map +1 -0
- package/dist/utils/agent-utils.d.mts +22 -0
- package/dist/utils/agent-utils.d.mts.map +1 -0
- package/dist/utils/agent-utils.mjs +46 -0
- package/dist/utils/agent-utils.mjs.map +1 -0
- package/dist/utils/camelize.cjs +34 -0
- package/dist/utils/camelize.d.cts +9 -0
- package/dist/utils/camelize.d.cts.map +1 -0
- package/dist/utils/camelize.d.mts +9 -0
- package/dist/utils/camelize.d.mts.map +1 -0
- package/dist/utils/camelize.mjs +33 -0
- package/dist/utils/camelize.mjs.map +1 -0
- package/dist/utils/event-stream.cjs +136 -0
- package/dist/utils/event-stream.d.cts +20 -0
- package/dist/utils/event-stream.d.cts.map +1 -0
- package/dist/utils/event-stream.d.mts +20 -0
- package/dist/utils/event-stream.d.mts.map +1 -0
- package/dist/utils/event-stream.mjs +133 -0
- package/dist/utils/event-stream.mjs.map +1 -0
- package/dist/utils/fetch.cjs +32 -0
- package/dist/utils/fetch.d.cts +8 -0
- package/dist/utils/fetch.d.cts.map +1 -0
- package/dist/utils/fetch.d.mts +8 -0
- package/dist/utils/fetch.d.mts.map +1 -0
- package/dist/utils/fetch.mjs +32 -0
- package/dist/utils/fetch.mjs.map +1 -0
- package/dist/utils/json-schema.cjs +107 -0
- package/dist/utils/json-schema.d.cts +20 -0
- package/dist/utils/json-schema.d.cts.map +1 -0
- package/dist/utils/json-schema.d.mts +20 -0
- package/dist/utils/json-schema.d.mts.map +1 -0
- package/dist/utils/json-schema.mjs +102 -0
- package/dist/utils/json-schema.mjs.map +1 -0
- package/dist/utils/json-utils.cjs +46 -0
- package/dist/utils/json-utils.d.cts +28 -0
- package/dist/utils/json-utils.d.cts.map +1 -0
- package/dist/utils/json-utils.d.mts +28 -0
- package/dist/utils/json-utils.d.mts.map +1 -0
- package/dist/utils/json-utils.mjs +44 -0
- package/dist/utils/json-utils.mjs.map +1 -0
- package/dist/utils/logger.cjs +72 -0
- package/dist/utils/logger.d.cts +41 -0
- package/dist/utils/logger.d.cts.map +1 -0
- package/dist/utils/logger.d.mts +41 -0
- package/dist/utils/logger.d.mts.map +1 -0
- package/dist/utils/logger.mjs +68 -0
- package/dist/utils/logger.mjs.map +1 -0
- package/dist/utils/mcp-utils.cjs +53 -0
- package/dist/utils/mcp-utils.d.cts +10 -0
- package/dist/utils/mcp-utils.d.cts.map +1 -0
- package/dist/utils/mcp-utils.d.mts +10 -0
- package/dist/utils/mcp-utils.d.mts.map +1 -0
- package/dist/utils/mcp-utils.mjs +51 -0
- package/dist/utils/mcp-utils.mjs.map +1 -0
- package/dist/utils/model-utils.cjs +12 -0
- package/dist/utils/model-utils.d.cts +8 -0
- package/dist/utils/model-utils.d.cts.map +1 -0
- package/dist/utils/model-utils.d.mts +8 -0
- package/dist/utils/model-utils.d.mts.map +1 -0
- package/dist/utils/model-utils.mjs +12 -0
- package/dist/utils/model-utils.mjs.map +1 -0
- package/dist/utils/promise.cjs +17 -0
- package/dist/utils/promise.d.cts +10 -0
- package/dist/utils/promise.d.cts.map +1 -0
- package/dist/utils/promise.d.mts +10 -0
- package/dist/utils/promise.d.mts.map +1 -0
- package/dist/utils/promise.mjs +17 -0
- package/dist/utils/promise.mjs.map +1 -0
- package/dist/utils/prompts.cjs +19 -0
- package/dist/utils/prompts.d.cts +6 -0
- package/dist/utils/prompts.d.cts.map +1 -0
- package/dist/utils/prompts.d.mts +6 -0
- package/dist/utils/prompts.d.mts.map +1 -0
- package/dist/utils/prompts.mjs +18 -0
- package/dist/utils/prompts.mjs.map +1 -0
- package/dist/utils/queue.cjs +273 -0
- package/dist/utils/queue.d.cts +60 -0
- package/dist/utils/queue.d.cts.map +1 -0
- package/dist/utils/queue.d.mts +60 -0
- package/dist/utils/queue.d.mts.map +1 -0
- package/dist/utils/queue.mjs +271 -0
- package/dist/utils/queue.mjs.map +1 -0
- package/dist/utils/role-utils.cjs +40 -0
- package/dist/utils/role-utils.d.cts +32 -0
- package/dist/utils/role-utils.d.cts.map +1 -0
- package/dist/utils/role-utils.d.mts +32 -0
- package/dist/utils/role-utils.d.mts.map +1 -0
- package/dist/utils/role-utils.mjs +38 -0
- package/dist/utils/role-utils.mjs.map +1 -0
- package/dist/utils/stream-polyfill.cjs +37 -0
- package/dist/utils/stream-polyfill.d.cts +1 -0
- package/dist/utils/stream-polyfill.d.mts +1 -0
- package/dist/utils/stream-polyfill.mjs +38 -0
- package/dist/utils/stream-polyfill.mjs.map +1 -0
- package/dist/utils/stream-utils.cjs +187 -0
- package/dist/utils/stream-utils.d.cts +30 -0
- package/dist/utils/stream-utils.d.cts.map +1 -0
- package/dist/utils/stream-utils.d.mts +30 -0
- package/dist/utils/stream-utils.d.mts.map +1 -0
- package/dist/utils/stream-utils.mjs +174 -0
- package/dist/utils/stream-utils.mjs.map +1 -0
- package/dist/utils/structured-stream-extractor.cjs +63 -0
- package/dist/utils/structured-stream-extractor.d.cts +23 -0
- package/dist/utils/structured-stream-extractor.d.cts.map +1 -0
- package/dist/utils/structured-stream-extractor.d.mts +23 -0
- package/dist/utils/structured-stream-extractor.d.mts.map +1 -0
- package/dist/utils/structured-stream-extractor.mjs +64 -0
- package/dist/utils/structured-stream-extractor.mjs.map +1 -0
- package/dist/utils/test/agent-response.cjs +16 -0
- package/dist/utils/test/agent-response.d.cts +12 -0
- package/dist/utils/test/agent-response.d.cts.map +1 -0
- package/dist/utils/test/agent-response.d.mts +13 -0
- package/dist/utils/test/agent-response.d.mts.map +1 -0
- package/dist/utils/test/agent-response.mjs +17 -0
- package/dist/utils/test/agent-response.mjs.map +1 -0
- package/dist/utils/test/openai-like-utils.cjs +73 -0
- package/dist/utils/test/openai-like-utils.d.cts +13 -0
- package/dist/utils/test/openai-like-utils.d.cts.map +1 -0
- package/dist/utils/test/openai-like-utils.d.mts +14 -0
- package/dist/utils/test/openai-like-utils.d.mts.map +1 -0
- package/dist/utils/test/openai-like-utils.mjs +68 -0
- package/dist/utils/test/openai-like-utils.mjs.map +1 -0
- package/dist/utils/token-estimator.cjs +57 -0
- package/dist/utils/token-estimator.d.cts +13 -0
- package/dist/utils/token-estimator.d.cts.map +1 -0
- package/dist/utils/token-estimator.d.mts +13 -0
- package/dist/utils/token-estimator.d.mts.map +1 -0
- package/dist/utils/token-estimator.mjs +57 -0
- package/dist/utils/token-estimator.mjs.map +1 -0
- package/dist/utils/type-utils.cjs +159 -0
- package/dist/utils/type-utils.d.cts +32 -0
- package/dist/utils/type-utils.d.cts.map +1 -0
- package/dist/utils/type-utils.d.mts +32 -0
- package/dist/utils/type-utils.d.mts.map +1 -0
- package/dist/utils/type-utils.mjs +141 -0
- package/dist/utils/type-utils.mjs.map +1 -0
- package/dist/utils/typed-event-emitter.cjs +0 -0
- package/dist/utils/typed-event-emitter.d.cts +13 -0
- package/dist/utils/typed-event-emitter.d.cts.map +1 -0
- package/dist/utils/typed-event-emitter.d.mts +13 -0
- package/dist/utils/typed-event-emitter.d.mts.map +1 -0
- package/dist/utils/typed-event-emitter.mjs +1 -0
- package/package.json +143 -62
- package/CHANGELOG.md +0 -2584
- package/lib/cjs/agents/agent.d.ts +0 -961
- package/lib/cjs/agents/agent.js +0 -961
- package/lib/cjs/agents/ai-agent.d.ts +0 -395
- package/lib/cjs/agents/ai-agent.js +0 -572
- package/lib/cjs/agents/chat-model.d.ts +0 -672
- package/lib/cjs/agents/chat-model.js +0 -457
- package/lib/cjs/agents/guide-rail-agent.d.ts +0 -62
- package/lib/cjs/agents/guide-rail-agent.js +0 -14
- package/lib/cjs/agents/image-agent.d.ts +0 -38
- package/lib/cjs/agents/image-agent.js +0 -71
- package/lib/cjs/agents/image-model.d.ts +0 -270
- package/lib/cjs/agents/image-model.js +0 -91
- package/lib/cjs/agents/mcp-agent.d.ts +0 -231
- package/lib/cjs/agents/mcp-agent.js +0 -366
- package/lib/cjs/agents/model.d.ts +0 -252
- package/lib/cjs/agents/model.js +0 -180
- package/lib/cjs/agents/team-agent.d.ts +0 -382
- package/lib/cjs/agents/team-agent.js +0 -386
- package/lib/cjs/agents/transform-agent.d.ts +0 -94
- package/lib/cjs/agents/transform-agent.js +0 -80
- package/lib/cjs/agents/types.d.ts +0 -31
- package/lib/cjs/agents/types.js +0 -40
- package/lib/cjs/agents/user-agent.d.ts +0 -27
- package/lib/cjs/agents/user-agent.js +0 -90
- package/lib/cjs/agents/video-model.d.ts +0 -280
- package/lib/cjs/agents/video-model.js +0 -67
- package/lib/cjs/aigne/aigne.d.ts +0 -335
- package/lib/cjs/aigne/aigne.js +0 -248
- package/lib/cjs/aigne/context.d.ts +0 -220
- package/lib/cjs/aigne/context.js +0 -423
- package/lib/cjs/aigne/index.d.ts +0 -4
- package/lib/cjs/aigne/index.js +0 -20
- package/lib/cjs/aigne/message-queue.d.ts +0 -48
- package/lib/cjs/aigne/message-queue.js +0 -109
- package/lib/cjs/aigne/type.d.ts +0 -26
- package/lib/cjs/aigne/type.js +0 -2
- package/lib/cjs/aigne/usage.d.ts +0 -28
- package/lib/cjs/aigne/usage.js +0 -34
- package/lib/cjs/index.d.ts +0 -21
- package/lib/cjs/index.js +0 -37
- package/lib/cjs/loader/agent-js.d.ts +0 -2
- package/lib/cjs/loader/agent-js.js +0 -21
- package/lib/cjs/loader/agent-yaml.d.ts +0 -78
- package/lib/cjs/loader/agent-yaml.js +0 -120
- package/lib/cjs/loader/agents.d.ts +0 -4
- package/lib/cjs/loader/agents.js +0 -17
- package/lib/cjs/loader/error.d.ts +0 -2
- package/lib/cjs/loader/error.js +0 -6
- package/lib/cjs/loader/function-agent.d.ts +0 -2
- package/lib/cjs/loader/function-agent.js +0 -7
- package/lib/cjs/loader/index.d.ts +0 -247
- package/lib/cjs/loader/index.js +0 -266
- package/lib/cjs/loader/schema.d.ts +0 -167
- package/lib/cjs/loader/schema.js +0 -162
- package/lib/cjs/memory/index.d.ts +0 -3
- package/lib/cjs/memory/index.js +0 -19
- package/lib/cjs/memory/memory.d.ts +0 -93
- package/lib/cjs/memory/memory.js +0 -147
- package/lib/cjs/memory/recorder.d.ts +0 -93
- package/lib/cjs/memory/recorder.js +0 -63
- package/lib/cjs/memory/retriever.d.ts +0 -106
- package/lib/cjs/memory/retriever.js +0 -60
- package/lib/cjs/package.json +0 -3
- package/lib/cjs/prompt/agent-session.d.ts +0 -163
- package/lib/cjs/prompt/agent-session.js +0 -1008
- package/lib/cjs/prompt/compact/compactor.d.ts +0 -7
- package/lib/cjs/prompt/compact/compactor.js +0 -52
- package/lib/cjs/prompt/compact/session-memory-extractor.d.ts +0 -7
- package/lib/cjs/prompt/compact/session-memory-extractor.js +0 -143
- package/lib/cjs/prompt/compact/types.d.ts +0 -336
- package/lib/cjs/prompt/compact/types.js +0 -53
- package/lib/cjs/prompt/compact/user-memory-extractor.d.ts +0 -7
- package/lib/cjs/prompt/compact/user-memory-extractor.js +0 -124
- package/lib/cjs/prompt/context/afs/history.d.ts +0 -9
- package/lib/cjs/prompt/context/afs/history.js +0 -33
- package/lib/cjs/prompt/context/afs/index.d.ts +0 -20
- package/lib/cjs/prompt/context/afs/index.js +0 -54
- package/lib/cjs/prompt/context/index.d.ts +0 -31
- package/lib/cjs/prompt/context/index.js +0 -18
- package/lib/cjs/prompt/filters/index.d.ts +0 -2
- package/lib/cjs/prompt/filters/index.js +0 -51
- package/lib/cjs/prompt/prompt-builder.d.ts +0 -50
- package/lib/cjs/prompt/prompt-builder.js +0 -352
- package/lib/cjs/prompt/prompts/afs-builtin-prompt.d.ts +0 -4
- package/lib/cjs/prompt/prompts/afs-builtin-prompt.js +0 -36
- package/lib/cjs/prompt/prompts/memory-message-template.d.ts +0 -1
- package/lib/cjs/prompt/prompts/memory-message-template.js +0 -8
- package/lib/cjs/prompt/prompts/structured-stream-instructions.d.ts +0 -7
- package/lib/cjs/prompt/prompts/structured-stream-instructions.js +0 -27
- package/lib/cjs/prompt/skills/afs/agent-skill/agent-skill.d.ts +0 -19
- package/lib/cjs/prompt/skills/afs/agent-skill/agent-skill.js +0 -69
- package/lib/cjs/prompt/skills/afs/agent-skill/skill-loader.d.ts +0 -12
- package/lib/cjs/prompt/skills/afs/agent-skill/skill-loader.js +0 -50
- package/lib/cjs/prompt/skills/afs/base.d.ts +0 -4
- package/lib/cjs/prompt/skills/afs/base.js +0 -8
- package/lib/cjs/prompt/skills/afs/delete.d.ts +0 -19
- package/lib/cjs/prompt/skills/afs/delete.js +0 -54
- package/lib/cjs/prompt/skills/afs/edit.d.ts +0 -24
- package/lib/cjs/prompt/skills/afs/edit.js +0 -124
- package/lib/cjs/prompt/skills/afs/exec.d.ts +0 -16
- package/lib/cjs/prompt/skills/afs/exec.js +0 -43
- package/lib/cjs/prompt/skills/afs/index.d.ts +0 -3
- package/lib/cjs/prompt/skills/afs/index.js +0 -26
- package/lib/cjs/prompt/skills/afs/list.d.ts +0 -24
- package/lib/cjs/prompt/skills/afs/list.js +0 -81
- package/lib/cjs/prompt/skills/afs/read.d.ts +0 -28
- package/lib/cjs/prompt/skills/afs/read.js +0 -105
- package/lib/cjs/prompt/skills/afs/rename.d.ts +0 -21
- package/lib/cjs/prompt/skills/afs/rename.js +0 -59
- package/lib/cjs/prompt/skills/afs/search.d.ts +0 -24
- package/lib/cjs/prompt/skills/afs/search.js +0 -71
- package/lib/cjs/prompt/skills/afs/write.d.ts +0 -20
- package/lib/cjs/prompt/skills/afs/write.js +0 -59
- package/lib/cjs/prompt/template.d.ts +0 -243
- package/lib/cjs/prompt/template.js +0 -265
- package/lib/cjs/utils/agent-utils.d.ts +0 -13
- package/lib/cjs/utils/agent-utils.js +0 -60
- package/lib/cjs/utils/camelize.d.ts +0 -7
- package/lib/cjs/utils/camelize.js +0 -38
- package/lib/cjs/utils/event-stream.d.ts +0 -15
- package/lib/cjs/utils/event-stream.js +0 -158
- package/lib/cjs/utils/fetch.d.ts +0 -4
- package/lib/cjs/utils/fetch.js +0 -36
- package/lib/cjs/utils/json-schema.d.ts +0 -15
- package/lib/cjs/utils/json-schema.js +0 -123
- package/lib/cjs/utils/json-utils.d.ts +0 -24
- package/lib/cjs/utils/json-utils.js +0 -48
- package/lib/cjs/utils/logger.d.ts +0 -39
- package/lib/cjs/utils/logger.js +0 -81
- package/lib/cjs/utils/mcp-utils.d.ts +0 -5
- package/lib/cjs/utils/mcp-utils.js +0 -52
- package/lib/cjs/utils/model-utils.d.ts +0 -3
- package/lib/cjs/utils/model-utils.js +0 -10
- package/lib/cjs/utils/promise.d.ts +0 -6
- package/lib/cjs/utils/promise.js +0 -12
- package/lib/cjs/utils/prompts.d.ts +0 -2
- package/lib/cjs/utils/prompts.js +0 -22
- package/lib/cjs/utils/queue.d.ts +0 -57
- package/lib/cjs/utils/queue.js +0 -318
- package/lib/cjs/utils/role-utils.d.ts +0 -31
- package/lib/cjs/utils/role-utils.js +0 -37
- package/lib/cjs/utils/stream-polyfill.d.ts +0 -1
- package/lib/cjs/utils/stream-polyfill.js +0 -38
- package/lib/cjs/utils/stream-utils.d.ts +0 -26
- package/lib/cjs/utils/stream-utils.js +0 -235
- package/lib/cjs/utils/structured-stream-extractor.d.ts +0 -14
- package/lib/cjs/utils/structured-stream-extractor.js +0 -68
- package/lib/cjs/utils/token-estimator.d.ts +0 -9
- package/lib/cjs/utils/token-estimator.js +0 -66
- package/lib/cjs/utils/type-utils.d.ts +0 -31
- package/lib/cjs/utils/type-utils.js +0 -202
- package/lib/cjs/utils/typed-event-emitter.d.ts +0 -10
- package/lib/cjs/utils/typed-event-emitter.js +0 -2
- package/lib/dts/agents/agent.d.ts +0 -961
- package/lib/dts/agents/ai-agent.d.ts +0 -395
- package/lib/dts/agents/chat-model.d.ts +0 -672
- package/lib/dts/agents/guide-rail-agent.d.ts +0 -62
- package/lib/dts/agents/image-agent.d.ts +0 -38
- package/lib/dts/agents/image-model.d.ts +0 -270
- package/lib/dts/agents/mcp-agent.d.ts +0 -231
- package/lib/dts/agents/model.d.ts +0 -252
- package/lib/dts/agents/team-agent.d.ts +0 -382
- package/lib/dts/agents/transform-agent.d.ts +0 -94
- package/lib/dts/agents/types.d.ts +0 -31
- package/lib/dts/agents/user-agent.d.ts +0 -27
- package/lib/dts/agents/video-model.d.ts +0 -280
- package/lib/dts/aigne/aigne.d.ts +0 -335
- package/lib/dts/aigne/context.d.ts +0 -220
- package/lib/dts/aigne/index.d.ts +0 -4
- package/lib/dts/aigne/message-queue.d.ts +0 -48
- package/lib/dts/aigne/type.d.ts +0 -26
- package/lib/dts/aigne/usage.d.ts +0 -28
- package/lib/dts/index.d.ts +0 -21
- package/lib/dts/loader/agent-js.d.ts +0 -2
- package/lib/dts/loader/agent-yaml.d.ts +0 -78
- package/lib/dts/loader/agents.d.ts +0 -4
- package/lib/dts/loader/error.d.ts +0 -2
- package/lib/dts/loader/function-agent.d.ts +0 -2
- package/lib/dts/loader/index.d.ts +0 -247
- package/lib/dts/loader/schema.d.ts +0 -167
- package/lib/dts/memory/index.d.ts +0 -3
- package/lib/dts/memory/memory.d.ts +0 -93
- package/lib/dts/memory/recorder.d.ts +0 -93
- package/lib/dts/memory/retriever.d.ts +0 -106
- package/lib/dts/prompt/agent-session.d.ts +0 -163
- package/lib/dts/prompt/compact/compactor.d.ts +0 -7
- package/lib/dts/prompt/compact/session-memory-extractor.d.ts +0 -7
- package/lib/dts/prompt/compact/types.d.ts +0 -336
- package/lib/dts/prompt/compact/user-memory-extractor.d.ts +0 -7
- package/lib/dts/prompt/context/afs/history.d.ts +0 -9
- package/lib/dts/prompt/context/afs/index.d.ts +0 -20
- package/lib/dts/prompt/context/index.d.ts +0 -31
- package/lib/dts/prompt/filters/index.d.ts +0 -2
- package/lib/dts/prompt/prompt-builder.d.ts +0 -50
- package/lib/dts/prompt/prompts/afs-builtin-prompt.d.ts +0 -4
- package/lib/dts/prompt/prompts/memory-message-template.d.ts +0 -1
- package/lib/dts/prompt/prompts/structured-stream-instructions.d.ts +0 -7
- package/lib/dts/prompt/skills/afs/agent-skill/agent-skill.d.ts +0 -19
- package/lib/dts/prompt/skills/afs/agent-skill/skill-loader.d.ts +0 -12
- package/lib/dts/prompt/skills/afs/base.d.ts +0 -4
- package/lib/dts/prompt/skills/afs/delete.d.ts +0 -19
- package/lib/dts/prompt/skills/afs/edit.d.ts +0 -24
- package/lib/dts/prompt/skills/afs/exec.d.ts +0 -16
- package/lib/dts/prompt/skills/afs/index.d.ts +0 -3
- package/lib/dts/prompt/skills/afs/list.d.ts +0 -24
- package/lib/dts/prompt/skills/afs/read.d.ts +0 -28
- package/lib/dts/prompt/skills/afs/rename.d.ts +0 -21
- package/lib/dts/prompt/skills/afs/search.d.ts +0 -24
- package/lib/dts/prompt/skills/afs/write.d.ts +0 -20
- package/lib/dts/prompt/template.d.ts +0 -243
- package/lib/dts/utils/agent-utils.d.ts +0 -13
- package/lib/dts/utils/camelize.d.ts +0 -7
- package/lib/dts/utils/event-stream.d.ts +0 -15
- package/lib/dts/utils/fetch.d.ts +0 -4
- package/lib/dts/utils/json-schema.d.ts +0 -15
- package/lib/dts/utils/json-utils.d.ts +0 -24
- package/lib/dts/utils/logger.d.ts +0 -39
- package/lib/dts/utils/mcp-utils.d.ts +0 -5
- package/lib/dts/utils/model-utils.d.ts +0 -3
- package/lib/dts/utils/promise.d.ts +0 -6
- package/lib/dts/utils/prompts.d.ts +0 -2
- package/lib/dts/utils/queue.d.ts +0 -57
- package/lib/dts/utils/role-utils.d.ts +0 -31
- package/lib/dts/utils/stream-polyfill.d.ts +0 -1
- package/lib/dts/utils/stream-utils.d.ts +0 -26
- package/lib/dts/utils/structured-stream-extractor.d.ts +0 -14
- package/lib/dts/utils/token-estimator.d.ts +0 -9
- package/lib/dts/utils/type-utils.d.ts +0 -31
- package/lib/dts/utils/typed-event-emitter.d.ts +0 -10
- package/lib/esm/agents/agent.d.ts +0 -961
- package/lib/esm/agents/agent.js +0 -911
- package/lib/esm/agents/ai-agent.d.ts +0 -395
- package/lib/esm/agents/ai-agent.js +0 -535
- package/lib/esm/agents/chat-model.d.ts +0 -672
- package/lib/esm/agents/chat-model.js +0 -419
- package/lib/esm/agents/guide-rail-agent.d.ts +0 -62
- package/lib/esm/agents/guide-rail-agent.js +0 -11
- package/lib/esm/agents/image-agent.d.ts +0 -38
- package/lib/esm/agents/image-agent.js +0 -64
- package/lib/esm/agents/image-model.d.ts +0 -270
- package/lib/esm/agents/image-model.js +0 -87
- package/lib/esm/agents/mcp-agent.d.ts +0 -231
- package/lib/esm/agents/mcp-agent.js +0 -325
- package/lib/esm/agents/model.d.ts +0 -252
- package/lib/esm/agents/model.js +0 -143
- package/lib/esm/agents/team-agent.d.ts +0 -382
- package/lib/esm/agents/team-agent.js +0 -346
- package/lib/esm/agents/transform-agent.d.ts +0 -94
- package/lib/esm/agents/transform-agent.js +0 -73
- package/lib/esm/agents/types.d.ts +0 -31
- package/lib/esm/agents/types.js +0 -30
- package/lib/esm/agents/user-agent.d.ts +0 -27
- package/lib/esm/agents/user-agent.js +0 -86
- package/lib/esm/agents/video-model.d.ts +0 -280
- package/lib/esm/agents/video-model.js +0 -63
- package/lib/esm/aigne/aigne.d.ts +0 -335
- package/lib/esm/aigne/aigne.js +0 -244
- package/lib/esm/aigne/context.d.ts +0 -220
- package/lib/esm/aigne/context.js +0 -416
- package/lib/esm/aigne/index.d.ts +0 -4
- package/lib/esm/aigne/index.js +0 -4
- package/lib/esm/aigne/message-queue.d.ts +0 -48
- package/lib/esm/aigne/message-queue.js +0 -104
- package/lib/esm/aigne/type.d.ts +0 -26
- package/lib/esm/aigne/type.js +0 -1
- package/lib/esm/aigne/usage.d.ts +0 -28
- package/lib/esm/aigne/usage.js +0 -30
- package/lib/esm/index.d.ts +0 -21
- package/lib/esm/index.js +0 -21
- package/lib/esm/loader/agent-js.d.ts +0 -2
- package/lib/esm/loader/agent-js.js +0 -18
- package/lib/esm/loader/agent-yaml.d.ts +0 -78
- package/lib/esm/loader/agent-yaml.js +0 -113
- package/lib/esm/loader/agents.d.ts +0 -4
- package/lib/esm/loader/agents.js +0 -14
- package/lib/esm/loader/error.d.ts +0 -2
- package/lib/esm/loader/error.js +0 -2
- package/lib/esm/loader/function-agent.d.ts +0 -2
- package/lib/esm/loader/function-agent.js +0 -4
- package/lib/esm/loader/index.d.ts +0 -247
- package/lib/esm/loader/index.js +0 -258
- package/lib/esm/loader/schema.d.ts +0 -167
- package/lib/esm/loader/schema.js +0 -153
- package/lib/esm/memory/index.d.ts +0 -3
- package/lib/esm/memory/index.js +0 -3
- package/lib/esm/memory/memory.d.ts +0 -93
- package/lib/esm/memory/memory.js +0 -142
- package/lib/esm/memory/recorder.d.ts +0 -93
- package/lib/esm/memory/recorder.js +0 -59
- package/lib/esm/memory/retriever.d.ts +0 -106
- package/lib/esm/memory/retriever.js +0 -56
- package/lib/esm/package.json +0 -3
- package/lib/esm/prompt/agent-session.d.ts +0 -163
- package/lib/esm/prompt/agent-session.js +0 -968
- package/lib/esm/prompt/compact/compactor.d.ts +0 -7
- package/lib/esm/prompt/compact/compactor.js +0 -48
- package/lib/esm/prompt/compact/session-memory-extractor.d.ts +0 -7
- package/lib/esm/prompt/compact/session-memory-extractor.js +0 -139
- package/lib/esm/prompt/compact/types.d.ts +0 -336
- package/lib/esm/prompt/compact/types.js +0 -50
- package/lib/esm/prompt/compact/user-memory-extractor.d.ts +0 -7
- package/lib/esm/prompt/compact/user-memory-extractor.js +0 -120
- package/lib/esm/prompt/context/afs/history.d.ts +0 -9
- package/lib/esm/prompt/context/afs/history.js +0 -30
- package/lib/esm/prompt/context/afs/index.d.ts +0 -20
- package/lib/esm/prompt/context/afs/index.js +0 -51
- package/lib/esm/prompt/context/index.d.ts +0 -31
- package/lib/esm/prompt/context/index.js +0 -15
- package/lib/esm/prompt/filters/index.d.ts +0 -2
- package/lib/esm/prompt/filters/index.js +0 -15
- package/lib/esm/prompt/prompt-builder.d.ts +0 -50
- package/lib/esm/prompt/prompt-builder.js +0 -348
- package/lib/esm/prompt/prompts/afs-builtin-prompt.d.ts +0 -4
- package/lib/esm/prompt/prompts/afs-builtin-prompt.js +0 -32
- package/lib/esm/prompt/prompts/memory-message-template.d.ts +0 -1
- package/lib/esm/prompt/prompts/memory-message-template.js +0 -5
- package/lib/esm/prompt/prompts/structured-stream-instructions.d.ts +0 -7
- package/lib/esm/prompt/prompts/structured-stream-instructions.js +0 -24
- package/lib/esm/prompt/skills/afs/agent-skill/agent-skill.d.ts +0 -19
- package/lib/esm/prompt/skills/afs/agent-skill/agent-skill.js +0 -65
- package/lib/esm/prompt/skills/afs/agent-skill/skill-loader.d.ts +0 -12
- package/lib/esm/prompt/skills/afs/agent-skill/skill-loader.js +0 -43
- package/lib/esm/prompt/skills/afs/base.d.ts +0 -4
- package/lib/esm/prompt/skills/afs/base.js +0 -4
- package/lib/esm/prompt/skills/afs/delete.d.ts +0 -19
- package/lib/esm/prompt/skills/afs/delete.js +0 -50
- package/lib/esm/prompt/skills/afs/edit.d.ts +0 -24
- package/lib/esm/prompt/skills/afs/edit.js +0 -120
- package/lib/esm/prompt/skills/afs/exec.d.ts +0 -16
- package/lib/esm/prompt/skills/afs/exec.js +0 -39
- package/lib/esm/prompt/skills/afs/index.d.ts +0 -3
- package/lib/esm/prompt/skills/afs/index.js +0 -23
- package/lib/esm/prompt/skills/afs/list.d.ts +0 -24
- package/lib/esm/prompt/skills/afs/list.js +0 -77
- package/lib/esm/prompt/skills/afs/read.d.ts +0 -28
- package/lib/esm/prompt/skills/afs/read.js +0 -101
- package/lib/esm/prompt/skills/afs/rename.d.ts +0 -21
- package/lib/esm/prompt/skills/afs/rename.js +0 -55
- package/lib/esm/prompt/skills/afs/search.d.ts +0 -24
- package/lib/esm/prompt/skills/afs/search.js +0 -67
- package/lib/esm/prompt/skills/afs/write.d.ts +0 -20
- package/lib/esm/prompt/skills/afs/write.js +0 -55
- package/lib/esm/prompt/template.d.ts +0 -243
- package/lib/esm/prompt/template.js +0 -249
- package/lib/esm/utils/agent-utils.d.ts +0 -13
- package/lib/esm/utils/agent-utils.js +0 -54
- package/lib/esm/utils/camelize.d.ts +0 -7
- package/lib/esm/utils/camelize.js +0 -34
- package/lib/esm/utils/event-stream.d.ts +0 -15
- package/lib/esm/utils/event-stream.js +0 -151
- package/lib/esm/utils/fetch.d.ts +0 -4
- package/lib/esm/utils/fetch.js +0 -33
- package/lib/esm/utils/json-schema.d.ts +0 -15
- package/lib/esm/utils/json-schema.js +0 -114
- package/lib/esm/utils/json-utils.d.ts +0 -24
- package/lib/esm/utils/json-utils.js +0 -41
- package/lib/esm/utils/logger.d.ts +0 -39
- package/lib/esm/utils/logger.js +0 -73
- package/lib/esm/utils/mcp-utils.d.ts +0 -5
- package/lib/esm/utils/mcp-utils.js +0 -47
- package/lib/esm/utils/model-utils.d.ts +0 -3
- package/lib/esm/utils/model-utils.js +0 -7
- package/lib/esm/utils/promise.d.ts +0 -6
- package/lib/esm/utils/promise.js +0 -9
- package/lib/esm/utils/prompts.d.ts +0 -2
- package/lib/esm/utils/prompts.js +0 -18
- package/lib/esm/utils/queue.d.ts +0 -57
- package/lib/esm/utils/queue.js +0 -315
- package/lib/esm/utils/role-utils.d.ts +0 -31
- package/lib/esm/utils/role-utils.js +0 -33
- package/lib/esm/utils/stream-polyfill.d.ts +0 -1
- package/lib/esm/utils/stream-polyfill.js +0 -37
- package/lib/esm/utils/stream-utils.d.ts +0 -26
- package/lib/esm/utils/stream-utils.js +0 -217
- package/lib/esm/utils/structured-stream-extractor.d.ts +0 -14
- package/lib/esm/utils/structured-stream-extractor.js +0 -64
- package/lib/esm/utils/token-estimator.d.ts +0 -9
- package/lib/esm/utils/token-estimator.js +0 -63
- package/lib/esm/utils/type-utils.d.ts +0 -31
- package/lib/esm/utils/type-utils.js +0 -181
- package/lib/esm/utils/typed-event-emitter.d.ts +0 -10
- package/lib/esm/utils/typed-event-emitter.js +0 -1
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { isAgent } from "../utils/agent-utils.mjs";
|
|
2
|
+
import { flat, isNil, isNonNullable, omitBy, tryOrThrow } from "../utils/type-utils.mjs";
|
|
3
|
+
import { Agent } from "../agents/agent.mjs";
|
|
4
|
+
import { camelizeSchema, chatModelSchema, imageModelSchema, optionalize } from "./schema.mjs";
|
|
5
|
+
import { loadAgentFromYamlFile } from "./agent-yaml.mjs";
|
|
6
|
+
import { loadAgentFromJsFile } from "./agent-js.mjs";
|
|
7
|
+
import { builtinAgents } from "./agents.mjs";
|
|
8
|
+
import { AFS } from "@aigne/afs";
|
|
9
|
+
import { nodejs } from "@aigne/utils/nodejs";
|
|
10
|
+
import { parse } from "yaml";
|
|
11
|
+
import { z as z$1 } from "zod";
|
|
12
|
+
|
|
13
|
+
//#region src/loader/index.ts
|
|
14
|
+
const AIGNE_FILE_NAME = ["aigne.yaml", "aigne.yml"];
|
|
15
|
+
async function load(path, options = {}) {
|
|
16
|
+
const { aigne, rootDir } = await loadAIGNEFile(path);
|
|
17
|
+
const flatCliAgents = (cliAgent) => {
|
|
18
|
+
if (typeof cliAgent === "string") return [cliAgent];
|
|
19
|
+
return flat(cliAgent.url, cliAgent.agents?.flatMap(flatCliAgents));
|
|
20
|
+
};
|
|
21
|
+
const allAgentPaths = new Set(flat(aigne.agents, aigne.skills, aigne.mcpServer?.agents, aigne.cli?.init, aigne.cli?.chat, aigne.cli?.agents?.flatMap((i) => typeof i === "string" ? i : flatCliAgents(i))).map((i) => nodejs.path.join(rootDir, i)));
|
|
22
|
+
const allAgents = {};
|
|
23
|
+
for (const path$1 of allAgentPaths) allAgents[path$1] = await loadAgent(path$1, {
|
|
24
|
+
...options,
|
|
25
|
+
aigne
|
|
26
|
+
});
|
|
27
|
+
const pickAgent = (path$1) => allAgents[nodejs.path.join(rootDir, path$1)];
|
|
28
|
+
const pickAgents = (paths) => paths.map((filename) => pickAgent(filename)).filter(isNonNullable);
|
|
29
|
+
const mapCliAgents = (cliAgent) => {
|
|
30
|
+
if (typeof cliAgent === "string") return { agent: pickAgent(cliAgent) };
|
|
31
|
+
return {
|
|
32
|
+
...cliAgent,
|
|
33
|
+
agent: cliAgent.url ? pickAgent(cliAgent.url) : void 0,
|
|
34
|
+
agents: cliAgent.agents?.map(mapCliAgents)
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
...aigne,
|
|
39
|
+
rootDir,
|
|
40
|
+
model: typeof options.model === "function" ? await options.model(aigne.model) : options.model,
|
|
41
|
+
imageModel: typeof options.imageModel === "function" ? aigne.imageModel ? await options.imageModel(aigne.imageModel) : void 0 : options.imageModel,
|
|
42
|
+
agents: pickAgents(aigne.agents ?? []),
|
|
43
|
+
skills: pickAgents(aigne.skills ?? []),
|
|
44
|
+
mcpServer: { agents: pickAgents(aigne.mcpServer?.agents ?? []) },
|
|
45
|
+
cli: {
|
|
46
|
+
init: aigne.cli?.init ? pickAgents([aigne.cli.init])[0] : void 0,
|
|
47
|
+
chat: aigne.cli?.chat ? pickAgents([aigne.cli.chat])[0] : void 0,
|
|
48
|
+
agents: aigne.cli?.agents?.map(mapCliAgents)
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
async function loadAgent(path, options, agentOptions) {
|
|
53
|
+
if ([
|
|
54
|
+
".js",
|
|
55
|
+
".mjs",
|
|
56
|
+
".ts",
|
|
57
|
+
".mts"
|
|
58
|
+
].includes(nodejs.path.extname(path))) {
|
|
59
|
+
const agent = await loadAgentFromJsFile(path, options);
|
|
60
|
+
if (agent instanceof Agent) return agent;
|
|
61
|
+
return parseAgent(path, agent, options, agentOptions);
|
|
62
|
+
}
|
|
63
|
+
if ([".yml", ".yaml"].includes(nodejs.path.extname(path))) return parseAgent(path, await loadAgentFromYamlFile(path, options), options, agentOptions);
|
|
64
|
+
throw new Error(`Unsupported agent file type: ${path}`);
|
|
65
|
+
}
|
|
66
|
+
async function loadNestAgent(path, agent, options, agentOptions) {
|
|
67
|
+
return typeof agent === "object" && "type" in agent ? parseAgent(path, agent, options, agentOptions) : typeof agent === "string" ? loadAgent(nodejs.path.join(nodejs.path.dirname(path), agent), options, agentOptions) : loadAgent(nodejs.path.join(nodejs.path.dirname(path), agent.url), options, {
|
|
68
|
+
...agentOptions,
|
|
69
|
+
defaultInput: agent.defaultInput,
|
|
70
|
+
hooks: await parseHooks(path, agent.hooks, options)
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
async function parseHooks(path, hooks, options) {
|
|
74
|
+
hooks = [hooks].flat().filter(isNonNullable);
|
|
75
|
+
if (!hooks.length) return void 0;
|
|
76
|
+
return await Promise.all(hooks.map(async (hook) => ({
|
|
77
|
+
priority: hook.priority,
|
|
78
|
+
onStart: hook.onStart ? await loadNestAgent(path, hook.onStart, options) : void 0,
|
|
79
|
+
onSuccess: hook.onSuccess ? await loadNestAgent(path, hook.onSuccess, options) : void 0,
|
|
80
|
+
onError: hook.onError ? await loadNestAgent(path, hook.onError, options) : void 0,
|
|
81
|
+
onEnd: hook.onEnd ? await loadNestAgent(path, hook.onEnd, options) : void 0,
|
|
82
|
+
onSkillStart: hook.onSkillStart ? await loadNestAgent(path, hook.onSkillStart, options) : void 0,
|
|
83
|
+
onSkillEnd: hook.onSkillEnd ? await loadNestAgent(path, hook.onSkillEnd, options) : void 0,
|
|
84
|
+
onHandoff: hook.onHandoff ? await loadNestAgent(path, hook.onHandoff, options) : void 0
|
|
85
|
+
})));
|
|
86
|
+
}
|
|
87
|
+
async function loadSkills(path, skills, options) {
|
|
88
|
+
const loadedSkills = [];
|
|
89
|
+
for (const skill of skills) loadedSkills.push(await loadNestAgent(path, skill, options));
|
|
90
|
+
return loadedSkills;
|
|
91
|
+
}
|
|
92
|
+
async function parseAgent(path, agent, options, agentOptions) {
|
|
93
|
+
if (isAgent(agent)) return agent;
|
|
94
|
+
const memory = "memory" in agent && options?.memories?.length ? await loadMemory(options.memories, typeof agent.memory === "object" ? agent.memory.provider : void 0, typeof agent.memory === "object" ? agent.memory : {}) : void 0;
|
|
95
|
+
let afs;
|
|
96
|
+
if (agent.afs !== false && (!agent.afs || agent.afs === true) && options?.afs?.sharedAFS) afs = options.afs.sharedAFS;
|
|
97
|
+
else if (agent.afs === true) afs = new AFS();
|
|
98
|
+
else if (agent.afs) {
|
|
99
|
+
afs = new AFS({});
|
|
100
|
+
const loadAFSContextPresets = async (presets) => {
|
|
101
|
+
return Object.fromEntries(await Promise.all(Object.entries(presets).map(async ([key, value]) => {
|
|
102
|
+
const [select, per, dedupe] = await Promise.all([
|
|
103
|
+
value.select,
|
|
104
|
+
value.per,
|
|
105
|
+
value.dedupe
|
|
106
|
+
].map(async (item) => {
|
|
107
|
+
if (!item?.agent) return void 0;
|
|
108
|
+
const agent$1 = await loadNestAgent(path, item.agent, options, { afs });
|
|
109
|
+
return { invoke: (input, options$1) => options$1.context.invoke(agent$1, input, {
|
|
110
|
+
...options$1,
|
|
111
|
+
streaming: false
|
|
112
|
+
}) };
|
|
113
|
+
}));
|
|
114
|
+
return [key, {
|
|
115
|
+
...value,
|
|
116
|
+
select,
|
|
117
|
+
per,
|
|
118
|
+
dedupe
|
|
119
|
+
}];
|
|
120
|
+
})));
|
|
121
|
+
};
|
|
122
|
+
const context = {
|
|
123
|
+
search: { presets: await loadAFSContextPresets(agent.afs.context?.search?.presets || {}) },
|
|
124
|
+
list: { presets: await loadAFSContextPresets(agent.afs.context?.list?.presets || {}) }
|
|
125
|
+
};
|
|
126
|
+
afs.options.context = context;
|
|
127
|
+
for (const m of agent.afs.modules || []) {
|
|
128
|
+
const moduleName = typeof m === "string" ? m : m.module;
|
|
129
|
+
const mod = options?.afs?.availableModules?.find((mod$1) => mod$1.module === moduleName || mod$1.alias?.includes(moduleName));
|
|
130
|
+
if (!mod) throw new Error(`AFS module not found: ${typeof m === "string" ? m : m.module}`);
|
|
131
|
+
const module = await mod.load({
|
|
132
|
+
filepath: path,
|
|
133
|
+
parsed: typeof m === "string" ? {} : m.options
|
|
134
|
+
});
|
|
135
|
+
afs.mount(module);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const skills = "skills" in agent && agent.skills ? await loadSkills(path, agent.skills, {
|
|
139
|
+
...options,
|
|
140
|
+
afs: {
|
|
141
|
+
...options?.afs,
|
|
142
|
+
sharedAFS: agent.shareAFS && afs || options?.afs?.sharedAFS
|
|
143
|
+
}
|
|
144
|
+
}) : [];
|
|
145
|
+
const model = agent.model && typeof options?.model === "function" ? await options.model({
|
|
146
|
+
...options.aigne?.model,
|
|
147
|
+
...omitBy(agent.model, (v) => isNil(v))
|
|
148
|
+
}) : void 0;
|
|
149
|
+
const imageModel = agent.imageModel && typeof options?.imageModel === "function" ? await options.imageModel({
|
|
150
|
+
...options.aigne?.imageModel,
|
|
151
|
+
...omitBy(agent.imageModel, (v) => isNil(v))
|
|
152
|
+
}) : void 0;
|
|
153
|
+
const baseOptions = {
|
|
154
|
+
...agentOptions,
|
|
155
|
+
...agent,
|
|
156
|
+
model,
|
|
157
|
+
imageModel,
|
|
158
|
+
memory,
|
|
159
|
+
hooks: [...await parseHooks(path, agent.hooks, options) ?? [], ...[agentOptions?.hooks].flat().filter(isNonNullable)],
|
|
160
|
+
skills: [...agentOptions?.skills || [], ...skills],
|
|
161
|
+
afs: afs || agentOptions?.afs
|
|
162
|
+
};
|
|
163
|
+
let agentClass = builtinAgents[agent.type];
|
|
164
|
+
if (!agentClass) {
|
|
165
|
+
if (!options?.require) throw new Error(`Module loader is not provided to load agent type module ${agent.type} from ${path}`);
|
|
166
|
+
const Mod = await options.require(agent.type, { parent: path });
|
|
167
|
+
if (typeof Mod?.default?.prototype?.constructor !== "function") throw new Error(`The agent type module ${agent.type} does not export a default Agent class`);
|
|
168
|
+
agentClass = Mod.default;
|
|
169
|
+
}
|
|
170
|
+
if (!agentClass) throw new Error(`Unsupported agent type: ${agent.type} from ${path}`);
|
|
171
|
+
return await agentClass.load({
|
|
172
|
+
filepath: path,
|
|
173
|
+
parsed: baseOptions,
|
|
174
|
+
options: {
|
|
175
|
+
...options,
|
|
176
|
+
loadNestAgent
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
async function loadMemory(memories, provider, options) {
|
|
181
|
+
const M = !provider ? memories[0] : memories.find((i) => i.name.toLowerCase().includes(provider.toLowerCase()));
|
|
182
|
+
if (!M) throw new Error(`Unsupported memory: ${provider}`);
|
|
183
|
+
return new M(options);
|
|
184
|
+
}
|
|
185
|
+
const cliAgentSchema = z$1.union([z$1.string(), z$1.object({
|
|
186
|
+
url: optionalize(z$1.string()),
|
|
187
|
+
name: optionalize(z$1.string()),
|
|
188
|
+
alias: optionalize(z$1.array(z$1.string())),
|
|
189
|
+
description: optionalize(z$1.string()),
|
|
190
|
+
agents: optionalize(z$1.array(z$1.lazy(() => cliAgentSchema)))
|
|
191
|
+
})]);
|
|
192
|
+
const aigneFileSchema = camelizeSchema(z$1.object({
|
|
193
|
+
name: optionalize(z$1.string()),
|
|
194
|
+
description: optionalize(z$1.string()),
|
|
195
|
+
model: optionalize(chatModelSchema),
|
|
196
|
+
imageModel: optionalize(imageModelSchema),
|
|
197
|
+
agents: optionalize(z$1.array(z$1.string())),
|
|
198
|
+
skills: optionalize(z$1.array(z$1.string())),
|
|
199
|
+
mcpServer: optionalize(z$1.object({ agents: optionalize(z$1.array(z$1.string())) })),
|
|
200
|
+
cli: optionalize(z$1.object({
|
|
201
|
+
init: optionalize(z$1.string()),
|
|
202
|
+
chat: optionalize(z$1.string()),
|
|
203
|
+
agents: optionalize(z$1.array(cliAgentSchema))
|
|
204
|
+
}))
|
|
205
|
+
}));
|
|
206
|
+
async function loadAIGNEFile(path) {
|
|
207
|
+
const file = await findAIGNEFile(path);
|
|
208
|
+
const raw = await tryOrThrow(() => nodejs.fs.readFile(file, "utf8"), (error) => /* @__PURE__ */ new Error(`Failed to load aigne.yaml from ${file}: ${error.message}`));
|
|
209
|
+
const json = tryOrThrow(() => parse(raw), (error) => /* @__PURE__ */ new Error(`Failed to parse aigne.yaml from ${file}: ${error.message}`));
|
|
210
|
+
return {
|
|
211
|
+
aigne: tryOrThrow(() => aigneFileSchema.parse({
|
|
212
|
+
...json,
|
|
213
|
+
model: json.model || json.chatModel || json.chat_model
|
|
214
|
+
}), (error) => /* @__PURE__ */ new Error(`Failed to validate aigne.yaml from ${file}: ${error.message}`)),
|
|
215
|
+
rootDir: nodejs.path.dirname(file)
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
async function findAIGNEFile(path) {
|
|
219
|
+
const possibleFiles = AIGNE_FILE_NAME.includes(nodejs.path.basename(path)) ? [path] : AIGNE_FILE_NAME.map((name) => nodejs.path.join(path, name));
|
|
220
|
+
for (const file of possibleFiles) try {
|
|
221
|
+
if ((await nodejs.fs.stat(file)).isFile()) return file;
|
|
222
|
+
} catch {}
|
|
223
|
+
throw new Error(`aigne.yaml not found in ${path}. Please ensure you are in the correct directory or provide a valid path.`);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
//#endregion
|
|
227
|
+
export { findAIGNEFile, load, loadAIGNEFile, loadAgent, loadNestAgent, parseAgent };
|
|
228
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["path","agent","options","mod","z"],"sources":["../../src/loader/index.ts"],"sourcesContent":["import { AFS, type AFSContext, type AFSContextPreset, type AFSModule } from \"@aigne/afs\";\nimport { nodejs } from \"@aigne/utils/nodejs\";\nimport { parse } from \"yaml\";\nimport { type ZodType, z } from \"zod\";\nimport { Agent, type AgentHooks, type AgentOptions } from \"../agents/agent.js\";\nimport type { ChatModel } from \"../agents/chat-model.js\";\nimport type { ImageModel } from \"../agents/image-model.js\";\nimport type { AIGNEOptions } from \"../aigne/aigne.js\";\nimport type { AIGNECLIAgent } from \"../aigne/type.js\";\nimport type { MemoryAgent, MemoryAgentOptions } from \"../memory/memory.js\";\nimport { isAgent } from \"../utils/agent-utils.js\";\nimport {\n flat,\n isNil,\n isNonNullable,\n omitBy,\n type PromiseOrValue,\n tryOrThrow,\n} from \"../utils/type-utils.js\";\nimport { loadAgentFromJsFile } from \"./agent-js.js\";\nimport {\n type AFSContextPresetSchema,\n type HooksSchema,\n loadAgentFromYamlFile,\n type NestAgentSchema,\n} from \"./agent-yaml.js\";\nimport { builtinAgents } from \"./agents.js\";\nimport { camelizeSchema, chatModelSchema, imageModelSchema, optionalize } from \"./schema.js\";\n\nconst AIGNE_FILE_NAME = [\"aigne.yaml\", \"aigne.yml\"];\n\nexport interface LoadOptions {\n memories?: { new (parameters?: MemoryAgentOptions): MemoryAgent }[];\n model?:\n | ChatModel\n | ((model?: z.infer<typeof aigneFileSchema>[\"model\"]) => PromiseOrValue<ChatModel | undefined>);\n imageModel?:\n | ImageModel\n | ((\n model?: z.infer<typeof aigneFileSchema>[\"imageModel\"],\n ) => PromiseOrValue<ImageModel | undefined>);\n afs?: {\n sharedAFS?: AFS;\n availableModules?: {\n module: string;\n alias?: string[];\n load: (options: { filepath: string; parsed?: object }) => PromiseOrValue<AFSModule>;\n }[];\n };\n aigne?: z.infer<typeof aigneFileSchema>;\n require?: (modulePath: string, options: { parent?: string }) => Promise<any>;\n}\n\nexport interface AgentLoadOptions extends LoadOptions {\n loadNestAgent: (\n path: string,\n agent: NestAgentSchema,\n options: LoadOptions,\n agentOptions?: AgentOptions<any, any> & Record<string, unknown>,\n ) => Promise<Agent>;\n}\n\nexport async function load(path: string, options: LoadOptions = {}): Promise<AIGNEOptions> {\n const { aigne, rootDir } = await loadAIGNEFile(path);\n\n const flatCliAgents = (cliAgent: CliAgent): string[] => {\n if (typeof cliAgent === \"string\") return [cliAgent];\n return flat(cliAgent.url, cliAgent.agents?.flatMap(flatCliAgents));\n };\n\n const allAgentPaths = new Set(\n flat(\n aigne.agents,\n aigne.skills,\n aigne.mcpServer?.agents,\n aigne.cli?.init,\n aigne.cli?.chat,\n aigne.cli?.agents?.flatMap((i) => (typeof i === \"string\" ? i : flatCliAgents(i))),\n ).map((i) => nodejs.path.join(rootDir, i)),\n );\n\n const allAgents: { [path: string]: Agent } = {};\n\n for (const path of allAgentPaths) {\n allAgents[path] = await loadAgent(path, { ...options, aigne });\n }\n\n const pickAgent = (path: string) => allAgents[nodejs.path.join(rootDir, path)];\n\n const pickAgents = (paths: string[]) =>\n paths.map((filename) => pickAgent(filename)).filter(isNonNullable);\n\n const mapCliAgents = (cliAgent: CliAgent): AIGNECLIAgent => {\n if (typeof cliAgent === \"string\") return { agent: pickAgent(cliAgent) };\n\n return {\n ...cliAgent,\n agent: cliAgent.url ? pickAgent(cliAgent.url) : undefined,\n agents: cliAgent.agents?.map(mapCliAgents),\n };\n };\n\n return {\n ...aigne,\n rootDir,\n model: typeof options.model === \"function\" ? await options.model(aigne.model) : options.model,\n imageModel:\n typeof options.imageModel === \"function\"\n ? aigne.imageModel\n ? await options.imageModel(aigne.imageModel)\n : undefined\n : options.imageModel,\n agents: pickAgents(aigne.agents ?? []),\n skills: pickAgents(aigne.skills ?? []),\n mcpServer: {\n agents: pickAgents(aigne.mcpServer?.agents ?? []),\n },\n cli: {\n init: aigne.cli?.init ? pickAgents([aigne.cli.init])[0] : undefined,\n chat: aigne.cli?.chat ? pickAgents([aigne.cli.chat])[0] : undefined,\n agents: aigne.cli?.agents?.map(mapCliAgents),\n },\n };\n}\n\nexport async function loadAgent(\n path: string,\n options: LoadOptions,\n agentOptions?: AgentOptions,\n): Promise<Agent> {\n if ([\".js\", \".mjs\", \".ts\", \".mts\"].includes(nodejs.path.extname(path))) {\n const agent = await loadAgentFromJsFile(path, options);\n if (agent instanceof Agent) return agent;\n return parseAgent(path, agent, options, agentOptions);\n }\n\n if ([\".yml\", \".yaml\"].includes(nodejs.path.extname(path))) {\n const agent = await loadAgentFromYamlFile(path, options);\n\n return parseAgent(path, agent, options, agentOptions);\n }\n\n throw new Error(`Unsupported agent file type: ${path}`);\n}\n\nexport async function loadNestAgent(\n path: string,\n agent: NestAgentSchema,\n options: LoadOptions,\n agentOptions?: AgentOptions<any, any> & Record<string, unknown>,\n): Promise<Agent> {\n return typeof agent === \"object\" && \"type\" in agent\n ? parseAgent(path, agent, options, agentOptions)\n : typeof agent === \"string\"\n ? loadAgent(nodejs.path.join(nodejs.path.dirname(path), agent), options, agentOptions)\n : loadAgent(nodejs.path.join(nodejs.path.dirname(path), agent.url), options, {\n ...agentOptions,\n defaultInput: agent.defaultInput,\n hooks: await parseHooks(path, agent.hooks, options),\n });\n}\n\nasync function parseHooks(\n path: string,\n hooks: HooksSchema | HooksSchema[] | undefined,\n options: LoadOptions,\n): Promise<AgentHooks[] | undefined> {\n hooks = [hooks].flat().filter(isNonNullable);\n if (!hooks.length) return undefined;\n\n type AllHooks = Required<AgentHooks>;\n\n return await Promise.all(\n hooks.map(\n async (hook): Promise<{ [key in keyof AllHooks]: AllHooks[key] | undefined }> => ({\n priority: hook.priority,\n onStart: hook.onStart ? await loadNestAgent(path, hook.onStart, options) : undefined,\n onSuccess: hook.onSuccess ? await loadNestAgent(path, hook.onSuccess, options) : undefined,\n onError: hook.onError ? await loadNestAgent(path, hook.onError, options) : undefined,\n onEnd: hook.onEnd ? await loadNestAgent(path, hook.onEnd, options) : undefined,\n onSkillStart: hook.onSkillStart\n ? await loadNestAgent(path, hook.onSkillStart, options)\n : undefined,\n onSkillEnd: hook.onSkillEnd\n ? await loadNestAgent(path, hook.onSkillEnd, options)\n : undefined,\n onHandoff: hook.onHandoff ? await loadNestAgent(path, hook.onHandoff, options) : undefined,\n }),\n ),\n );\n}\n\nasync function loadSkills(\n path: string,\n skills: NestAgentSchema[],\n options: LoadOptions,\n): Promise<Agent[]> {\n const loadedSkills: Agent[] = [];\n for (const skill of skills) {\n loadedSkills.push(await loadNestAgent(path, skill, options));\n }\n return loadedSkills;\n}\n\nexport async function parseAgent(\n path: string,\n agent: Awaited<ReturnType<typeof loadAgentFromYamlFile>>,\n options: LoadOptions,\n agentOptions?: AgentOptions,\n): Promise<Agent> {\n if (isAgent(agent)) return agent;\n\n const memory =\n \"memory\" in agent && options?.memories?.length\n ? await loadMemory(\n options.memories,\n typeof agent.memory === \"object\" ? agent.memory.provider : undefined,\n typeof agent.memory === \"object\" ? agent.memory : {},\n )\n : undefined;\n\n let afs: AFS | undefined;\n if (agent.afs !== false && (!agent.afs || agent.afs === true) && options?.afs?.sharedAFS) {\n afs = options.afs.sharedAFS;\n } else if (agent.afs === true) {\n afs = new AFS();\n } else if (agent.afs) {\n afs = new AFS({});\n\n const loadAFSContextPresets = async (\n presets: Record<string, AFSContextPresetSchema>,\n ): Promise<Record<string, AFSContextPreset>> => {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(presets).map<Promise<[string, AFSContextPreset]>>(async ([key, value]) => {\n const [select, per, dedupe] = await Promise.all(\n [value.select, value.per, value.dedupe].map(async (item) => {\n if (!item?.agent) return undefined;\n const agent = await loadNestAgent(path, item.agent, options, { afs });\n return {\n invoke: (input: any, options: any) =>\n options.context.invoke(agent, input, {\n ...options,\n streaming: false,\n }),\n };\n }),\n );\n\n return [key, { ...value, select, per, dedupe }];\n }),\n ),\n );\n };\n\n const context: AFSContext = {\n search: {\n presets: await loadAFSContextPresets(agent.afs.context?.search?.presets || {}),\n },\n list: {\n presets: await loadAFSContextPresets(agent.afs.context?.list?.presets || {}),\n },\n };\n\n afs.options.context = context;\n\n for (const m of agent.afs.modules || []) {\n const moduleName = typeof m === \"string\" ? m : m.module;\n\n const mod = options?.afs?.availableModules?.find(\n (mod) => mod.module === moduleName || mod.alias?.includes(moduleName),\n );\n if (!mod) throw new Error(`AFS module not found: ${typeof m === \"string\" ? m : m.module}`);\n\n const module = await mod.load({\n filepath: path,\n parsed: typeof m === \"string\" ? {} : m.options,\n });\n\n afs.mount(module);\n }\n }\n\n const skills =\n \"skills\" in agent && agent.skills\n ? await loadSkills(path, agent.skills, {\n ...options,\n afs: { ...options?.afs, sharedAFS: (agent.shareAFS && afs) || options?.afs?.sharedAFS },\n })\n : [];\n\n const model =\n agent.model && typeof options?.model === \"function\"\n ? await options.model({ ...options.aigne?.model, ...omitBy(agent.model, (v) => isNil(v)) })\n : undefined;\n const imageModel =\n agent.imageModel && typeof options?.imageModel === \"function\"\n ? await options.imageModel({\n ...options.aigne?.imageModel,\n ...omitBy(agent.imageModel, (v) => isNil(v)),\n })\n : undefined;\n\n const baseOptions: AgentOptions<any, any> = {\n ...agentOptions,\n ...agent,\n model,\n imageModel,\n memory,\n hooks: [\n ...((await parseHooks(path, agent.hooks, options)) ?? []),\n ...[agentOptions?.hooks].flat().filter(isNonNullable),\n ],\n skills: [...(agentOptions?.skills || []), ...skills],\n afs: afs || agentOptions?.afs,\n };\n\n let agentClass = builtinAgents[agent.type];\n\n if (!agentClass) {\n if (!options?.require)\n throw new Error(\n `Module loader is not provided to load agent type module ${agent.type} from ${path}`,\n );\n const Mod = await options.require(agent.type, { parent: path });\n if (typeof Mod?.default?.prototype?.constructor !== \"function\") {\n throw new Error(`The agent type module ${agent.type} does not export a default Agent class`);\n }\n\n agentClass = Mod.default;\n }\n\n if (!agentClass) {\n throw new Error(`Unsupported agent type: ${agent.type} from ${path}`);\n }\n\n return await agentClass.load({\n filepath: path,\n parsed: baseOptions,\n options: { ...options, loadNestAgent },\n });\n}\n\nasync function loadMemory(\n memories: NonNullable<LoadOptions[\"memories\"]>,\n provider?: string,\n options?: MemoryAgentOptions,\n) {\n const M = !provider\n ? memories[0]\n : memories.find((i) => i.name.toLowerCase().includes(provider.toLowerCase()));\n if (!M) throw new Error(`Unsupported memory: ${provider}`);\n\n return new M(options);\n}\n\ntype CliAgent =\n | string\n | {\n url?: string;\n name?: string;\n alias?: string[];\n description?: string;\n agents?: CliAgent[];\n };\n\nconst cliAgentSchema: ZodType<CliAgent> = z.union([\n z.string(),\n z.object({\n url: optionalize(z.string()),\n name: optionalize(z.string()),\n alias: optionalize(z.array(z.string())),\n description: optionalize(z.string()),\n agents: optionalize(z.array(z.lazy(() => cliAgentSchema))),\n }),\n]);\n\nconst aigneFileSchema = camelizeSchema(\n z.object({\n name: optionalize(z.string()),\n description: optionalize(z.string()),\n model: optionalize(chatModelSchema),\n imageModel: optionalize(imageModelSchema),\n agents: optionalize(z.array(z.string())),\n skills: optionalize(z.array(z.string())),\n mcpServer: optionalize(\n z.object({\n agents: optionalize(z.array(z.string())),\n }),\n ),\n cli: optionalize(\n z.object({\n init: optionalize(z.string()),\n chat: optionalize(z.string()),\n agents: optionalize(z.array(cliAgentSchema)),\n }),\n ),\n }),\n);\n\nexport async function loadAIGNEFile(path: string): Promise<{\n aigne: z.infer<typeof aigneFileSchema>;\n rootDir: string;\n}> {\n const file = await findAIGNEFile(path);\n\n const raw = await tryOrThrow(\n () => nodejs.fs.readFile(file, \"utf8\"),\n (error) => new Error(`Failed to load aigne.yaml from ${file}: ${error.message}`),\n );\n\n const json = tryOrThrow(\n () => parse(raw),\n (error) => new Error(`Failed to parse aigne.yaml from ${file}: ${error.message}`),\n );\n\n const aigne = tryOrThrow(\n () =>\n aigneFileSchema.parse({ ...json, model: json.model || json.chatModel || json.chat_model }),\n (error) => new Error(`Failed to validate aigne.yaml from ${file}: ${error.message}`),\n );\n\n return { aigne, rootDir: nodejs.path.dirname(file) };\n}\n\nexport async function findAIGNEFile(path: string): Promise<string> {\n const possibleFiles = AIGNE_FILE_NAME.includes(nodejs.path.basename(path))\n ? [path]\n : AIGNE_FILE_NAME.map((name) => nodejs.path.join(path, name));\n\n for (const file of possibleFiles) {\n try {\n const stat = await nodejs.fs.stat(file);\n\n if (stat.isFile()) return file;\n } catch {}\n }\n\n throw new Error(\n `aigne.yaml not found in ${path}. Please ensure you are in the correct directory or provide a valid path.`,\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_utils_type_utils = require('../utils/type-utils.cjs');
|
|
3
|
+
const require_types = require('../agents/types.cjs');
|
|
4
|
+
require('../agents/agent.cjs');
|
|
5
|
+
const require_chat_model = require('../agents/chat-model.cjs');
|
|
6
|
+
const require_template = require('../prompt/template.cjs');
|
|
7
|
+
const require_prompt_builder = require('../prompt/prompt-builder.cjs');
|
|
8
|
+
const require_utils_camelize = require('../utils/camelize.cjs');
|
|
9
|
+
let _aigne_utils_nodejs = require("@aigne/utils/nodejs");
|
|
10
|
+
let yaml = require("yaml");
|
|
11
|
+
let zod = require("zod");
|
|
12
|
+
|
|
13
|
+
//#region src/loader/schema.ts
|
|
14
|
+
const inputOutputSchema = ({ path }) => {
|
|
15
|
+
const includeExternalSchema = async (schema) => {
|
|
16
|
+
if (schema?.type === "object" && schema.properties) return {
|
|
17
|
+
...schema,
|
|
18
|
+
properties: Object.fromEntries(await Promise.all(Object.entries(schema.properties).map(async ([key, value]) => [key, await includeExternalSchema(value)])))
|
|
19
|
+
};
|
|
20
|
+
if (schema?.type === "array" && schema.items) return {
|
|
21
|
+
...schema,
|
|
22
|
+
items: await includeExternalSchema(schema.items)
|
|
23
|
+
};
|
|
24
|
+
if (typeof schema === "string") {
|
|
25
|
+
const raw = await _aigne_utils_nodejs.nodejs.fs.readFile(_aigne_utils_nodejs.nodejs.path.join(_aigne_utils_nodejs.nodejs.path.dirname(path), schema), "utf8");
|
|
26
|
+
return nestedJsonSchema.parseAsync((0, yaml.parse)(raw));
|
|
27
|
+
}
|
|
28
|
+
return schema;
|
|
29
|
+
};
|
|
30
|
+
const nestedJsonSchema = zod.z.object({ type: zod.z.string() }).passthrough().transform((v) => includeExternalSchema(v));
|
|
31
|
+
const jsonSchemaSchema = zod.z.object({
|
|
32
|
+
type: zod.z.literal("object"),
|
|
33
|
+
properties: zod.z.record(zod.z.any()),
|
|
34
|
+
required: zod.z.array(zod.z.string()).optional(),
|
|
35
|
+
additionalProperties: zod.z.boolean().optional()
|
|
36
|
+
}).transform((v) => includeExternalSchema(v));
|
|
37
|
+
return zod.z.union([zod.z.string().transform((v) => _aigne_utils_nodejs.nodejs.fs.readFile(_aigne_utils_nodejs.nodejs.path.join(_aigne_utils_nodejs.nodejs.path.dirname(path), v), "utf8").then((raw) => jsonSchemaSchema.parseAsync((0, yaml.parse)(raw)))), jsonSchemaSchema]);
|
|
38
|
+
};
|
|
39
|
+
const defaultInputSchema = zod.z.record(zod.z.string(), require_types.getterSchema(zod.z.unknown()));
|
|
40
|
+
const chatModelObjectSchema = camelizeSchema(zod.z.object({
|
|
41
|
+
model: optionalize(require_types.getterSchema(zod.z.string())),
|
|
42
|
+
temperature: optionalize(require_types.getterSchema(zod.z.number().min(0).max(2))),
|
|
43
|
+
topP: optionalize(require_types.getterSchema(zod.z.number().min(0))),
|
|
44
|
+
frequencyPenalty: optionalize(require_types.getterSchema(zod.z.number().min(-2).max(2))),
|
|
45
|
+
presencePenalty: optionalize(require_types.getterSchema(zod.z.number().min(-2).max(2))),
|
|
46
|
+
thinkingEffort: optionalize(require_types.getterSchema(zod.z.union([
|
|
47
|
+
zod.z.number().int(),
|
|
48
|
+
zod.z.literal("high"),
|
|
49
|
+
zod.z.literal("medium"),
|
|
50
|
+
zod.z.literal("low"),
|
|
51
|
+
zod.z.literal("minimal")
|
|
52
|
+
])))
|
|
53
|
+
}).passthrough());
|
|
54
|
+
const chatModelSchema = zod.z.preprocess((v) => {
|
|
55
|
+
if (!require_utils_type_utils.isRecord(v)) return v;
|
|
56
|
+
return {
|
|
57
|
+
...v,
|
|
58
|
+
model: v.model || (v.provider && v.name ? `${v.provider || ""}:${v.name || ""}` : void 0) || void 0
|
|
59
|
+
};
|
|
60
|
+
}, zod.z.union([zod.z.string(), chatModelObjectSchema])).transform((v) => typeof v === "string" ? { model: v } : v);
|
|
61
|
+
const imageModelObjectSchema = camelizeSchema(zod.z.object({ model: optionalize(require_types.getterSchema(zod.z.string())) }).passthrough());
|
|
62
|
+
const imageModelSchema = zod.z.union([zod.z.string(), imageModelObjectSchema]).transform((v) => typeof v === "string" ? { model: v } : v);
|
|
63
|
+
function optionalize(schema) {
|
|
64
|
+
return schema.nullish().transform((v) => v ?? void 0);
|
|
65
|
+
}
|
|
66
|
+
function camelizeSchema(schema, { shallow = true } = {}) {
|
|
67
|
+
return zod.z.preprocess((v) => require_utils_type_utils.isRecord(v) ? require_utils_camelize.camelize(v, shallow) : v, schema);
|
|
68
|
+
}
|
|
69
|
+
function preprocessSchema(fn, schema) {
|
|
70
|
+
return zod.z.preprocess(fn, schema);
|
|
71
|
+
}
|
|
72
|
+
const instructionItemSchema = camelizeSchema(zod.z.union([zod.z.object({
|
|
73
|
+
role: require_chat_model.roleSchema.default("system"),
|
|
74
|
+
url: zod.z.string(),
|
|
75
|
+
cacheControl: optionalize(zod.z.object({
|
|
76
|
+
type: zod.z.literal("ephemeral"),
|
|
77
|
+
ttl: optionalize(zod.z.union([zod.z.literal("5m"), zod.z.literal("1h")]))
|
|
78
|
+
}))
|
|
79
|
+
}), zod.z.object({
|
|
80
|
+
role: require_chat_model.roleSchema.default("system"),
|
|
81
|
+
content: zod.z.string(),
|
|
82
|
+
cacheControl: optionalize(zod.z.object({
|
|
83
|
+
type: zod.z.literal("ephemeral"),
|
|
84
|
+
ttl: optionalize(zod.z.union([zod.z.literal("5m"), zod.z.literal("1h")]))
|
|
85
|
+
}))
|
|
86
|
+
})]));
|
|
87
|
+
const parseInstructionItem = ({ filepath }) => async ({ role, cacheControl, ...v }) => {
|
|
88
|
+
if (role === "tool") throw new Error(`'tool' role is not allowed in instruction item in agent file ${filepath}`);
|
|
89
|
+
if ("content" in v && typeof v.content === "string") return {
|
|
90
|
+
role,
|
|
91
|
+
content: v.content,
|
|
92
|
+
path: filepath,
|
|
93
|
+
cacheControl
|
|
94
|
+
};
|
|
95
|
+
if ("url" in v && typeof v.url === "string") {
|
|
96
|
+
const url = _aigne_utils_nodejs.nodejs.path.isAbsolute(v.url) ? v.url : _aigne_utils_nodejs.nodejs.path.join(_aigne_utils_nodejs.nodejs.path.dirname(filepath), v.url);
|
|
97
|
+
return _aigne_utils_nodejs.nodejs.fs.readFile(url, "utf8").then((content) => ({
|
|
98
|
+
role,
|
|
99
|
+
content,
|
|
100
|
+
path: url,
|
|
101
|
+
cacheControl
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
throw new Error(`Invalid instruction item in agent file ${filepath}. Expected 'content' or 'url' property`);
|
|
105
|
+
};
|
|
106
|
+
const getInstructionsSchema = ({ filepath }) => zod.z.union([
|
|
107
|
+
zod.z.string(),
|
|
108
|
+
instructionItemSchema,
|
|
109
|
+
zod.z.array(instructionItemSchema)
|
|
110
|
+
]).transform(async (v) => {
|
|
111
|
+
if (typeof v === "string") return [{
|
|
112
|
+
role: "system",
|
|
113
|
+
content: v,
|
|
114
|
+
path: filepath
|
|
115
|
+
}];
|
|
116
|
+
if (Array.isArray(v)) return Promise.all(v.map((item) => parseInstructionItem({ filepath })(item)));
|
|
117
|
+
return [await parseInstructionItem({ filepath })(v)];
|
|
118
|
+
});
|
|
119
|
+
function instructionsToPromptBuilder(instructions) {
|
|
120
|
+
return new require_prompt_builder.PromptBuilder({ instructions: typeof instructions === "string" ? instructions : require_template.ChatMessagesTemplate.from(require_template.parseChatMessages(instructions.map((i) => ({
|
|
121
|
+
...i,
|
|
122
|
+
options: { workingDir: _aigne_utils_nodejs.nodejs.path.dirname(i.path) }
|
|
123
|
+
})))) });
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
//#endregion
|
|
127
|
+
exports.camelizeSchema = camelizeSchema;
|
|
128
|
+
exports.chatModelSchema = chatModelSchema;
|
|
129
|
+
exports.defaultInputSchema = defaultInputSchema;
|
|
130
|
+
exports.getInstructionsSchema = getInstructionsSchema;
|
|
131
|
+
exports.imageModelSchema = imageModelSchema;
|
|
132
|
+
exports.inputOutputSchema = inputOutputSchema;
|
|
133
|
+
exports.instructionsToPromptBuilder = instructionsToPromptBuilder;
|
|
134
|
+
exports.optionalize = optionalize;
|
|
135
|
+
exports.preprocessSchema = preprocessSchema;
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { Role } from "../agents/chat-model.cjs";
|
|
2
|
+
import { PromptBuilder } from "../prompt/prompt-builder.cjs";
|
|
3
|
+
import { ZodType, z } from "zod";
|
|
4
|
+
|
|
5
|
+
//#region src/loader/schema.d.ts
|
|
6
|
+
declare const inputOutputSchema: ({
|
|
7
|
+
path
|
|
8
|
+
}: {
|
|
9
|
+
path: string;
|
|
10
|
+
}) => z.ZodUnion<[ZodType<any, z.ZodTypeDef, any>, z.ZodEffects<z.ZodObject<{
|
|
11
|
+
type: z.ZodLiteral<"object">;
|
|
12
|
+
properties: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
13
|
+
required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
14
|
+
additionalProperties: z.ZodOptional<z.ZodBoolean>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
type: "object";
|
|
17
|
+
properties: Record<string, any>;
|
|
18
|
+
required?: string[] | undefined;
|
|
19
|
+
additionalProperties?: boolean | undefined;
|
|
20
|
+
}, {
|
|
21
|
+
type: "object";
|
|
22
|
+
properties: Record<string, any>;
|
|
23
|
+
required?: string[] | undefined;
|
|
24
|
+
additionalProperties?: boolean | undefined;
|
|
25
|
+
}>, any, {
|
|
26
|
+
type: "object";
|
|
27
|
+
properties: Record<string, any>;
|
|
28
|
+
required?: string[] | undefined;
|
|
29
|
+
additionalProperties?: boolean | undefined;
|
|
30
|
+
}>]>;
|
|
31
|
+
declare const defaultInputSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodUnknown, z.ZodObject<{
|
|
32
|
+
$get: z.ZodString;
|
|
33
|
+
}, "strip", z.ZodTypeAny, {
|
|
34
|
+
$get: string;
|
|
35
|
+
}, {
|
|
36
|
+
$get: string;
|
|
37
|
+
}>]>>;
|
|
38
|
+
declare const chatModelObjectSchema: z.ZodObject<{
|
|
39
|
+
model: ZodType<string | {
|
|
40
|
+
$get: string;
|
|
41
|
+
} | undefined, z.ZodTypeDef, string | {
|
|
42
|
+
$get: string;
|
|
43
|
+
} | undefined>;
|
|
44
|
+
temperature: ZodType<number | {
|
|
45
|
+
$get: string;
|
|
46
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
47
|
+
$get: string;
|
|
48
|
+
} | undefined>;
|
|
49
|
+
topP: ZodType<number | {
|
|
50
|
+
$get: string;
|
|
51
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
52
|
+
$get: string;
|
|
53
|
+
} | undefined>;
|
|
54
|
+
frequencyPenalty: ZodType<number | {
|
|
55
|
+
$get: string;
|
|
56
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
57
|
+
$get: string;
|
|
58
|
+
} | undefined>;
|
|
59
|
+
presencePenalty: ZodType<number | {
|
|
60
|
+
$get: string;
|
|
61
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
62
|
+
$get: string;
|
|
63
|
+
} | undefined>;
|
|
64
|
+
thinkingEffort: ZodType<number | "high" | "medium" | "low" | "minimal" | {
|
|
65
|
+
$get: string;
|
|
66
|
+
} | undefined, z.ZodTypeDef, number | "high" | "medium" | "low" | "minimal" | {
|
|
67
|
+
$get: string;
|
|
68
|
+
} | undefined>;
|
|
69
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
70
|
+
model: ZodType<string | {
|
|
71
|
+
$get: string;
|
|
72
|
+
} | undefined, z.ZodTypeDef, string | {
|
|
73
|
+
$get: string;
|
|
74
|
+
} | undefined>;
|
|
75
|
+
temperature: ZodType<number | {
|
|
76
|
+
$get: string;
|
|
77
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
78
|
+
$get: string;
|
|
79
|
+
} | undefined>;
|
|
80
|
+
topP: ZodType<number | {
|
|
81
|
+
$get: string;
|
|
82
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
83
|
+
$get: string;
|
|
84
|
+
} | undefined>;
|
|
85
|
+
frequencyPenalty: ZodType<number | {
|
|
86
|
+
$get: string;
|
|
87
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
88
|
+
$get: string;
|
|
89
|
+
} | undefined>;
|
|
90
|
+
presencePenalty: ZodType<number | {
|
|
91
|
+
$get: string;
|
|
92
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
93
|
+
$get: string;
|
|
94
|
+
} | undefined>;
|
|
95
|
+
thinkingEffort: ZodType<number | "high" | "medium" | "low" | "minimal" | {
|
|
96
|
+
$get: string;
|
|
97
|
+
} | undefined, z.ZodTypeDef, number | "high" | "medium" | "low" | "minimal" | {
|
|
98
|
+
$get: string;
|
|
99
|
+
} | undefined>;
|
|
100
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
101
|
+
model: ZodType<string | {
|
|
102
|
+
$get: string;
|
|
103
|
+
} | undefined, z.ZodTypeDef, string | {
|
|
104
|
+
$get: string;
|
|
105
|
+
} | undefined>;
|
|
106
|
+
temperature: ZodType<number | {
|
|
107
|
+
$get: string;
|
|
108
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
109
|
+
$get: string;
|
|
110
|
+
} | undefined>;
|
|
111
|
+
topP: ZodType<number | {
|
|
112
|
+
$get: string;
|
|
113
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
114
|
+
$get: string;
|
|
115
|
+
} | undefined>;
|
|
116
|
+
frequencyPenalty: ZodType<number | {
|
|
117
|
+
$get: string;
|
|
118
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
119
|
+
$get: string;
|
|
120
|
+
} | undefined>;
|
|
121
|
+
presencePenalty: ZodType<number | {
|
|
122
|
+
$get: string;
|
|
123
|
+
} | undefined, z.ZodTypeDef, number | {
|
|
124
|
+
$get: string;
|
|
125
|
+
} | undefined>;
|
|
126
|
+
thinkingEffort: ZodType<number | "high" | "medium" | "low" | "minimal" | {
|
|
127
|
+
$get: string;
|
|
128
|
+
} | undefined, z.ZodTypeDef, number | "high" | "medium" | "low" | "minimal" | {
|
|
129
|
+
$get: string;
|
|
130
|
+
} | undefined>;
|
|
131
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
132
|
+
declare const chatModelSchema: typeof chatModelObjectSchema;
|
|
133
|
+
declare const imageModelObjectSchema: z.ZodObject<{
|
|
134
|
+
model: ZodType<string | {
|
|
135
|
+
$get: string;
|
|
136
|
+
} | undefined, z.ZodTypeDef, string | {
|
|
137
|
+
$get: string;
|
|
138
|
+
} | undefined>;
|
|
139
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
140
|
+
model: ZodType<string | {
|
|
141
|
+
$get: string;
|
|
142
|
+
} | undefined, z.ZodTypeDef, string | {
|
|
143
|
+
$get: string;
|
|
144
|
+
} | undefined>;
|
|
145
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
146
|
+
model: ZodType<string | {
|
|
147
|
+
$get: string;
|
|
148
|
+
} | undefined, z.ZodTypeDef, string | {
|
|
149
|
+
$get: string;
|
|
150
|
+
} | undefined>;
|
|
151
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
152
|
+
declare const imageModelSchema: typeof imageModelObjectSchema;
|
|
153
|
+
declare function optionalize<T>(schema: ZodType<T>): ZodType<T | undefined>;
|
|
154
|
+
declare function camelizeSchema<T extends ZodType>(schema: T, {
|
|
155
|
+
shallow
|
|
156
|
+
}?: {
|
|
157
|
+
shallow?: boolean;
|
|
158
|
+
}): T;
|
|
159
|
+
declare function preprocessSchema<T extends ZodType>(fn: (data: unknown) => unknown, schema: T): T;
|
|
160
|
+
type Instructions = {
|
|
161
|
+
role: Exclude<Role, "tool">;
|
|
162
|
+
content: string;
|
|
163
|
+
path: string;
|
|
164
|
+
cacheControl?: {
|
|
165
|
+
type: "ephemeral";
|
|
166
|
+
ttl?: "5m" | "1h";
|
|
167
|
+
};
|
|
168
|
+
}[];
|
|
169
|
+
declare const getInstructionsSchema: ({
|
|
170
|
+
filepath
|
|
171
|
+
}: {
|
|
172
|
+
filepath: string;
|
|
173
|
+
}) => ZodType<Instructions>;
|
|
174
|
+
declare function instructionsToPromptBuilder(instructions: Instructions | string): PromptBuilder;
|
|
175
|
+
//#endregion
|
|
176
|
+
export { Instructions, camelizeSchema, chatModelSchema, defaultInputSchema, getInstructionsSchema, imageModelSchema, inputOutputSchema, instructionsToPromptBuilder, optionalize, preprocessSchema };
|
|
177
|
+
//# sourceMappingURL=schema.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.cts","names":[],"sources":["../../src/loader/schema.ts"],"mappings":";;;;;cAUa,iBAAA;EAAA;AAAA;EAAA,IAAA;AAAA,MAA+C,CAAA,CAAA,QAAA,EAAA,OAAA,MAAA,CAAA,CAAA,UAAA,QAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,SAAA;EAAA,IAAA;;;;;;;;;;;;;;;;;;;;cA2D/C,kBAAA,EAAkB,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,UAAA,EAAA,CAAA,CAAA,SAAA;EAAA,IAAA;;;;;;cAEzB,qBAAA,EAAqB,CAAA,CAAA,SAAA;EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuBd,eAAA,SAgBY,qBAAA;AAAA,cAEnB,sBAAA,EAAsB,CAAA,CAAA,SAAA;EAAA,KAAA;;;;;;;;;;;;;;;;;;cAQf,gBAAA,SAIY,sBAAA;AAAA,iBAET,WAAA,GAAA,CAAA,MAAA,EAAuB,OAAA,CAAQ,CAAA,IAAK,OAAA,CAAQ,CAAA;AAAA,iBAI5C,cAAA,WAAyB,OAAA,CAAA,CAAA,MAAA,EAC/B,CAAA;EAAA;AAAA;EAAA,OAAA;AAAA,IAEP,CAAA;AAAA,iBAIa,gBAAA,WAA2B,OAAA,CAAA,CAAA,EAAA,GAAA,IAAA,uBAAA,MAAA,EAAiD,CAAA,GAAI,CAAA;AAAA,KA6BpF,YAAA;EAAA,IAAA,EACJ,OAAA,CAAQ,IAAA;EAAA,OAAA;EAAA,IAAA;EAAA,YAAA;IAAA,IAAA;IAAA,GAAA;EAAA;AAAA;AAAA,cAmCH,qBAAA;EAAA;AAAA;EAAA,QAAA;AAAA,MAWQ,OAAA,CAAQ,YAAA;AAAA,iBAEb,2BAAA,CAAA,YAAA,EAA0C,YAAA,YAAqB,aAAA"}
|