@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,177 @@
|
|
|
1
|
+
import { Role } from "../agents/chat-model.mjs";
|
|
2
|
+
import { PromptBuilder } from "../prompt/prompt-builder.mjs";
|
|
3
|
+
import { ZodType, z as z$1 } from "zod";
|
|
4
|
+
|
|
5
|
+
//#region src/loader/schema.d.ts
|
|
6
|
+
declare const inputOutputSchema: ({
|
|
7
|
+
path
|
|
8
|
+
}: {
|
|
9
|
+
path: string;
|
|
10
|
+
}) => z$1.ZodUnion<[ZodType<any, z$1.ZodTypeDef, any>, z$1.ZodEffects<z$1.ZodObject<{
|
|
11
|
+
type: z$1.ZodLiteral<"object">;
|
|
12
|
+
properties: z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>;
|
|
13
|
+
required: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString, "many">>;
|
|
14
|
+
additionalProperties: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
15
|
+
}, "strip", z$1.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$1.ZodRecord<z$1.ZodString, z$1.ZodUnion<[z$1.ZodUnknown, z$1.ZodObject<{
|
|
32
|
+
$get: z$1.ZodString;
|
|
33
|
+
}, "strip", z$1.ZodTypeAny, {
|
|
34
|
+
$get: string;
|
|
35
|
+
}, {
|
|
36
|
+
$get: string;
|
|
37
|
+
}>]>>;
|
|
38
|
+
declare const chatModelObjectSchema: z$1.ZodObject<{
|
|
39
|
+
model: ZodType<string | {
|
|
40
|
+
$get: string;
|
|
41
|
+
} | undefined, z$1.ZodTypeDef, string | {
|
|
42
|
+
$get: string;
|
|
43
|
+
} | undefined>;
|
|
44
|
+
temperature: ZodType<number | {
|
|
45
|
+
$get: string;
|
|
46
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
47
|
+
$get: string;
|
|
48
|
+
} | undefined>;
|
|
49
|
+
topP: ZodType<number | {
|
|
50
|
+
$get: string;
|
|
51
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
52
|
+
$get: string;
|
|
53
|
+
} | undefined>;
|
|
54
|
+
frequencyPenalty: ZodType<number | {
|
|
55
|
+
$get: string;
|
|
56
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
57
|
+
$get: string;
|
|
58
|
+
} | undefined>;
|
|
59
|
+
presencePenalty: ZodType<number | {
|
|
60
|
+
$get: string;
|
|
61
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
62
|
+
$get: string;
|
|
63
|
+
} | undefined>;
|
|
64
|
+
thinkingEffort: ZodType<number | "high" | "medium" | "low" | "minimal" | {
|
|
65
|
+
$get: string;
|
|
66
|
+
} | undefined, z$1.ZodTypeDef, number | "high" | "medium" | "low" | "minimal" | {
|
|
67
|
+
$get: string;
|
|
68
|
+
} | undefined>;
|
|
69
|
+
}, "passthrough", z$1.ZodTypeAny, z$1.objectOutputType<{
|
|
70
|
+
model: ZodType<string | {
|
|
71
|
+
$get: string;
|
|
72
|
+
} | undefined, z$1.ZodTypeDef, string | {
|
|
73
|
+
$get: string;
|
|
74
|
+
} | undefined>;
|
|
75
|
+
temperature: ZodType<number | {
|
|
76
|
+
$get: string;
|
|
77
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
78
|
+
$get: string;
|
|
79
|
+
} | undefined>;
|
|
80
|
+
topP: ZodType<number | {
|
|
81
|
+
$get: string;
|
|
82
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
83
|
+
$get: string;
|
|
84
|
+
} | undefined>;
|
|
85
|
+
frequencyPenalty: ZodType<number | {
|
|
86
|
+
$get: string;
|
|
87
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
88
|
+
$get: string;
|
|
89
|
+
} | undefined>;
|
|
90
|
+
presencePenalty: ZodType<number | {
|
|
91
|
+
$get: string;
|
|
92
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
93
|
+
$get: string;
|
|
94
|
+
} | undefined>;
|
|
95
|
+
thinkingEffort: ZodType<number | "high" | "medium" | "low" | "minimal" | {
|
|
96
|
+
$get: string;
|
|
97
|
+
} | undefined, z$1.ZodTypeDef, number | "high" | "medium" | "low" | "minimal" | {
|
|
98
|
+
$get: string;
|
|
99
|
+
} | undefined>;
|
|
100
|
+
}, z$1.ZodTypeAny, "passthrough">, z$1.objectInputType<{
|
|
101
|
+
model: ZodType<string | {
|
|
102
|
+
$get: string;
|
|
103
|
+
} | undefined, z$1.ZodTypeDef, string | {
|
|
104
|
+
$get: string;
|
|
105
|
+
} | undefined>;
|
|
106
|
+
temperature: ZodType<number | {
|
|
107
|
+
$get: string;
|
|
108
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
109
|
+
$get: string;
|
|
110
|
+
} | undefined>;
|
|
111
|
+
topP: ZodType<number | {
|
|
112
|
+
$get: string;
|
|
113
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
114
|
+
$get: string;
|
|
115
|
+
} | undefined>;
|
|
116
|
+
frequencyPenalty: ZodType<number | {
|
|
117
|
+
$get: string;
|
|
118
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
119
|
+
$get: string;
|
|
120
|
+
} | undefined>;
|
|
121
|
+
presencePenalty: ZodType<number | {
|
|
122
|
+
$get: string;
|
|
123
|
+
} | undefined, z$1.ZodTypeDef, number | {
|
|
124
|
+
$get: string;
|
|
125
|
+
} | undefined>;
|
|
126
|
+
thinkingEffort: ZodType<number | "high" | "medium" | "low" | "minimal" | {
|
|
127
|
+
$get: string;
|
|
128
|
+
} | undefined, z$1.ZodTypeDef, number | "high" | "medium" | "low" | "minimal" | {
|
|
129
|
+
$get: string;
|
|
130
|
+
} | undefined>;
|
|
131
|
+
}, z$1.ZodTypeAny, "passthrough">>;
|
|
132
|
+
declare const chatModelSchema: typeof chatModelObjectSchema;
|
|
133
|
+
declare const imageModelObjectSchema: z$1.ZodObject<{
|
|
134
|
+
model: ZodType<string | {
|
|
135
|
+
$get: string;
|
|
136
|
+
} | undefined, z$1.ZodTypeDef, string | {
|
|
137
|
+
$get: string;
|
|
138
|
+
} | undefined>;
|
|
139
|
+
}, "passthrough", z$1.ZodTypeAny, z$1.objectOutputType<{
|
|
140
|
+
model: ZodType<string | {
|
|
141
|
+
$get: string;
|
|
142
|
+
} | undefined, z$1.ZodTypeDef, string | {
|
|
143
|
+
$get: string;
|
|
144
|
+
} | undefined>;
|
|
145
|
+
}, z$1.ZodTypeAny, "passthrough">, z$1.objectInputType<{
|
|
146
|
+
model: ZodType<string | {
|
|
147
|
+
$get: string;
|
|
148
|
+
} | undefined, z$1.ZodTypeDef, string | {
|
|
149
|
+
$get: string;
|
|
150
|
+
} | undefined>;
|
|
151
|
+
}, z$1.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.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.mts","names":[],"sources":["../../src/loader/schema.ts"],"mappings":";;;;;cAUa,iBAAA;EAAA;AAAA;EAAA,IAAA;AAAA,MAA+C,GAAA,CAAA,QAAA,EAAA,OAAA,MAAA,GAAA,CAAA,UAAA,QAAA,GAAA,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA;EAAA,IAAA;;;;;;;;;;;;;;;;;;;;cA2D/C,kBAAA,EAAkB,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,SAAA,EAAA,GAAA,CAAA,QAAA,EAAA,GAAA,CAAA,UAAA,EAAA,GAAA,CAAA,SAAA;EAAA,IAAA;;;;;;cAEzB,qBAAA,EAAqB,GAAA,CAAA,SAAA;EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuBd,eAAA,SAgBY,qBAAA;AAAA,cAEnB,sBAAA,EAAsB,GAAA,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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { isRecord } from "../utils/type-utils.mjs";
|
|
2
|
+
import { getterSchema } from "../agents/types.mjs";
|
|
3
|
+
import "../agents/agent.mjs";
|
|
4
|
+
import { roleSchema } from "../agents/chat-model.mjs";
|
|
5
|
+
import { ChatMessagesTemplate, parseChatMessages } from "../prompt/template.mjs";
|
|
6
|
+
import { PromptBuilder } from "../prompt/prompt-builder.mjs";
|
|
7
|
+
import { camelize } from "../utils/camelize.mjs";
|
|
8
|
+
import { nodejs } from "@aigne/utils/nodejs";
|
|
9
|
+
import { parse } from "yaml";
|
|
10
|
+
import { z as z$1 } from "zod";
|
|
11
|
+
|
|
12
|
+
//#region src/loader/schema.ts
|
|
13
|
+
const inputOutputSchema = ({ path }) => {
|
|
14
|
+
const includeExternalSchema = async (schema) => {
|
|
15
|
+
if (schema?.type === "object" && schema.properties) return {
|
|
16
|
+
...schema,
|
|
17
|
+
properties: Object.fromEntries(await Promise.all(Object.entries(schema.properties).map(async ([key, value]) => [key, await includeExternalSchema(value)])))
|
|
18
|
+
};
|
|
19
|
+
if (schema?.type === "array" && schema.items) return {
|
|
20
|
+
...schema,
|
|
21
|
+
items: await includeExternalSchema(schema.items)
|
|
22
|
+
};
|
|
23
|
+
if (typeof schema === "string") {
|
|
24
|
+
const raw = await nodejs.fs.readFile(nodejs.path.join(nodejs.path.dirname(path), schema), "utf8");
|
|
25
|
+
return nestedJsonSchema.parseAsync(parse(raw));
|
|
26
|
+
}
|
|
27
|
+
return schema;
|
|
28
|
+
};
|
|
29
|
+
const nestedJsonSchema = z$1.object({ type: z$1.string() }).passthrough().transform((v) => includeExternalSchema(v));
|
|
30
|
+
const jsonSchemaSchema = z$1.object({
|
|
31
|
+
type: z$1.literal("object"),
|
|
32
|
+
properties: z$1.record(z$1.any()),
|
|
33
|
+
required: z$1.array(z$1.string()).optional(),
|
|
34
|
+
additionalProperties: z$1.boolean().optional()
|
|
35
|
+
}).transform((v) => includeExternalSchema(v));
|
|
36
|
+
return z$1.union([z$1.string().transform((v) => nodejs.fs.readFile(nodejs.path.join(nodejs.path.dirname(path), v), "utf8").then((raw) => jsonSchemaSchema.parseAsync(parse(raw)))), jsonSchemaSchema]);
|
|
37
|
+
};
|
|
38
|
+
const defaultInputSchema = z$1.record(z$1.string(), getterSchema(z$1.unknown()));
|
|
39
|
+
const chatModelObjectSchema = camelizeSchema(z$1.object({
|
|
40
|
+
model: optionalize(getterSchema(z$1.string())),
|
|
41
|
+
temperature: optionalize(getterSchema(z$1.number().min(0).max(2))),
|
|
42
|
+
topP: optionalize(getterSchema(z$1.number().min(0))),
|
|
43
|
+
frequencyPenalty: optionalize(getterSchema(z$1.number().min(-2).max(2))),
|
|
44
|
+
presencePenalty: optionalize(getterSchema(z$1.number().min(-2).max(2))),
|
|
45
|
+
thinkingEffort: optionalize(getterSchema(z$1.union([
|
|
46
|
+
z$1.number().int(),
|
|
47
|
+
z$1.literal("high"),
|
|
48
|
+
z$1.literal("medium"),
|
|
49
|
+
z$1.literal("low"),
|
|
50
|
+
z$1.literal("minimal")
|
|
51
|
+
])))
|
|
52
|
+
}).passthrough());
|
|
53
|
+
const chatModelSchema = z$1.preprocess((v) => {
|
|
54
|
+
if (!isRecord(v)) return v;
|
|
55
|
+
return {
|
|
56
|
+
...v,
|
|
57
|
+
model: v.model || (v.provider && v.name ? `${v.provider || ""}:${v.name || ""}` : void 0) || void 0
|
|
58
|
+
};
|
|
59
|
+
}, z$1.union([z$1.string(), chatModelObjectSchema])).transform((v) => typeof v === "string" ? { model: v } : v);
|
|
60
|
+
const imageModelObjectSchema = camelizeSchema(z$1.object({ model: optionalize(getterSchema(z$1.string())) }).passthrough());
|
|
61
|
+
const imageModelSchema = z$1.union([z$1.string(), imageModelObjectSchema]).transform((v) => typeof v === "string" ? { model: v } : v);
|
|
62
|
+
function optionalize(schema) {
|
|
63
|
+
return schema.nullish().transform((v) => v ?? void 0);
|
|
64
|
+
}
|
|
65
|
+
function camelizeSchema(schema, { shallow = true } = {}) {
|
|
66
|
+
return z$1.preprocess((v) => isRecord(v) ? camelize(v, shallow) : v, schema);
|
|
67
|
+
}
|
|
68
|
+
function preprocessSchema(fn, schema) {
|
|
69
|
+
return z$1.preprocess(fn, schema);
|
|
70
|
+
}
|
|
71
|
+
const instructionItemSchema = camelizeSchema(z$1.union([z$1.object({
|
|
72
|
+
role: roleSchema.default("system"),
|
|
73
|
+
url: z$1.string(),
|
|
74
|
+
cacheControl: optionalize(z$1.object({
|
|
75
|
+
type: z$1.literal("ephemeral"),
|
|
76
|
+
ttl: optionalize(z$1.union([z$1.literal("5m"), z$1.literal("1h")]))
|
|
77
|
+
}))
|
|
78
|
+
}), z$1.object({
|
|
79
|
+
role: roleSchema.default("system"),
|
|
80
|
+
content: z$1.string(),
|
|
81
|
+
cacheControl: optionalize(z$1.object({
|
|
82
|
+
type: z$1.literal("ephemeral"),
|
|
83
|
+
ttl: optionalize(z$1.union([z$1.literal("5m"), z$1.literal("1h")]))
|
|
84
|
+
}))
|
|
85
|
+
})]));
|
|
86
|
+
const parseInstructionItem = ({ filepath }) => async ({ role, cacheControl, ...v }) => {
|
|
87
|
+
if (role === "tool") throw new Error(`'tool' role is not allowed in instruction item in agent file ${filepath}`);
|
|
88
|
+
if ("content" in v && typeof v.content === "string") return {
|
|
89
|
+
role,
|
|
90
|
+
content: v.content,
|
|
91
|
+
path: filepath,
|
|
92
|
+
cacheControl
|
|
93
|
+
};
|
|
94
|
+
if ("url" in v && typeof v.url === "string") {
|
|
95
|
+
const url = nodejs.path.isAbsolute(v.url) ? v.url : nodejs.path.join(nodejs.path.dirname(filepath), v.url);
|
|
96
|
+
return nodejs.fs.readFile(url, "utf8").then((content) => ({
|
|
97
|
+
role,
|
|
98
|
+
content,
|
|
99
|
+
path: url,
|
|
100
|
+
cacheControl
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
throw new Error(`Invalid instruction item in agent file ${filepath}. Expected 'content' or 'url' property`);
|
|
104
|
+
};
|
|
105
|
+
const getInstructionsSchema = ({ filepath }) => z$1.union([
|
|
106
|
+
z$1.string(),
|
|
107
|
+
instructionItemSchema,
|
|
108
|
+
z$1.array(instructionItemSchema)
|
|
109
|
+
]).transform(async (v) => {
|
|
110
|
+
if (typeof v === "string") return [{
|
|
111
|
+
role: "system",
|
|
112
|
+
content: v,
|
|
113
|
+
path: filepath
|
|
114
|
+
}];
|
|
115
|
+
if (Array.isArray(v)) return Promise.all(v.map((item) => parseInstructionItem({ filepath })(item)));
|
|
116
|
+
return [await parseInstructionItem({ filepath })(v)];
|
|
117
|
+
});
|
|
118
|
+
function instructionsToPromptBuilder(instructions) {
|
|
119
|
+
return new PromptBuilder({ instructions: typeof instructions === "string" ? instructions : ChatMessagesTemplate.from(parseChatMessages(instructions.map((i) => ({
|
|
120
|
+
...i,
|
|
121
|
+
options: { workingDir: nodejs.path.dirname(i.path) }
|
|
122
|
+
})))) });
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
//#endregion
|
|
126
|
+
export { camelizeSchema, chatModelSchema, defaultInputSchema, getInstructionsSchema, imageModelSchema, inputOutputSchema, instructionsToPromptBuilder, optionalize, preprocessSchema };
|
|
127
|
+
//# sourceMappingURL=schema.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.mjs","names":["z"],"sources":["../../src/loader/schema.ts"],"sourcesContent":["import { nodejs } from \"@aigne/utils/nodejs\";\nimport { parse } from \"yaml\";\nimport { type ZodType, z } from \"zod\";\nimport { getterSchema } from \"../agents/agent.js\";\nimport { type Role, roleSchema } from \"../agents/chat-model.js\";\nimport { PromptBuilder } from \"../prompt/prompt-builder.js\";\nimport { ChatMessagesTemplate, parseChatMessages } from \"../prompt/template.js\";\nimport { camelize } from \"../utils/camelize.js\";\nimport { isRecord } from \"../utils/type-utils.js\";\n\nexport const inputOutputSchema = ({ path }: { path: string }) => {\n const includeExternalSchema = async (schema: any): Promise<typeof schema> => {\n if (schema?.type === \"object\" && schema.properties) {\n return {\n ...schema,\n properties: Object.fromEntries(\n await Promise.all(\n Object.entries(schema.properties).map(async ([key, value]) => [\n key,\n await includeExternalSchema(value),\n ]),\n ),\n ),\n };\n }\n\n if (schema?.type === \"array\" && schema.items) {\n return { ...schema, items: await includeExternalSchema(schema.items) };\n }\n\n // Load nested schemas from file\n if (typeof schema === \"string\") {\n const raw = await nodejs.fs.readFile(\n nodejs.path.join(nodejs.path.dirname(path), schema),\n \"utf8\",\n );\n return nestedJsonSchema.parseAsync(parse(raw));\n }\n return schema;\n };\n\n const nestedJsonSchema = z\n .object({\n type: z.string(),\n })\n .passthrough()\n .transform((v) => includeExternalSchema(v));\n\n const jsonSchemaSchema = z\n .object({\n type: z.literal(\"object\"),\n properties: z.record(z.any()),\n required: z.array(z.string()).optional(),\n additionalProperties: z.boolean().optional(),\n })\n .transform((v) => includeExternalSchema(v));\n\n return z.union([\n z\n .string()\n .transform((v) =>\n nodejs.fs\n .readFile(nodejs.path.join(nodejs.path.dirname(path), v), \"utf8\")\n .then((raw) => jsonSchemaSchema.parseAsync(parse(raw))),\n ) as unknown as ZodType<z.infer<typeof jsonSchemaSchema>>,\n jsonSchemaSchema,\n ]);\n};\n\nexport const defaultInputSchema = z.record(z.string(), getterSchema(z.unknown()));\n\nconst chatModelObjectSchema = camelizeSchema(\n z\n .object({\n model: optionalize(getterSchema(z.string())),\n temperature: optionalize(getterSchema(z.number().min(0).max(2))),\n topP: optionalize(getterSchema(z.number().min(0))),\n frequencyPenalty: optionalize(getterSchema(z.number().min(-2).max(2))),\n presencePenalty: optionalize(getterSchema(z.number().min(-2).max(2))),\n thinkingEffort: optionalize(\n getterSchema(\n z.union([\n z.number().int(),\n z.literal(\"high\"),\n z.literal(\"medium\"),\n z.literal(\"low\"),\n z.literal(\"minimal\"),\n ]),\n ),\n ),\n })\n .passthrough(),\n);\n\nexport const chatModelSchema = z\n .preprocess(\n (v) => {\n if (!isRecord(v)) return v;\n return {\n ...v,\n model:\n v.model ||\n (v.provider && v.name ? `${v.provider || \"\"}:${v.name || \"\"}` : undefined) ||\n undefined,\n };\n },\n z.union([z.string(), chatModelObjectSchema]),\n )\n .transform((v) =>\n typeof v === \"string\" ? { model: v } : v,\n ) as unknown as typeof chatModelObjectSchema;\n\nconst imageModelObjectSchema = camelizeSchema(\n z\n .object({\n model: optionalize(getterSchema(z.string())),\n })\n .passthrough(),\n);\n\nexport const imageModelSchema = z\n .union([z.string(), imageModelObjectSchema])\n .transform((v) =>\n typeof v === \"string\" ? { model: v } : v,\n ) as unknown as typeof imageModelObjectSchema;\n\nexport function optionalize<T>(schema: ZodType<T>): ZodType<T | undefined> {\n return schema.nullish().transform((v) => v ?? undefined) as ZodType<T | undefined>;\n}\n\nexport function camelizeSchema<T extends ZodType>(\n schema: T,\n { shallow = true }: { shallow?: boolean } = {},\n): T {\n return z.preprocess((v) => (isRecord(v) ? camelize(v, shallow) : v), schema) as unknown as T;\n}\n\nexport function preprocessSchema<T extends ZodType>(fn: (data: unknown) => unknown, schema: T): T {\n return z.preprocess(fn, schema) as unknown as T;\n}\n\nconst instructionItemSchema = camelizeSchema(\n z.union([\n z.object({\n role: roleSchema.default(\"system\"),\n url: z.string(),\n cacheControl: optionalize(\n z.object({\n type: z.literal(\"ephemeral\"),\n ttl: optionalize(z.union([z.literal(\"5m\"), z.literal(\"1h\")])),\n }),\n ),\n }),\n z.object({\n role: roleSchema.default(\"system\"),\n content: z.string(),\n cacheControl: optionalize(\n z.object({\n type: z.literal(\"ephemeral\"),\n ttl: optionalize(z.union([z.literal(\"5m\"), z.literal(\"1h\")])),\n }),\n ),\n }),\n ]),\n);\n\nexport type Instructions = {\n role: Exclude<Role, \"tool\">;\n content: string;\n path: string;\n cacheControl?: {\n type: \"ephemeral\";\n ttl?: \"5m\" | \"1h\";\n };\n}[];\n\nconst parseInstructionItem =\n ({ filepath }: { filepath: string }) =>\n async ({\n role,\n cacheControl,\n ...v\n }: z.infer<typeof instructionItemSchema>): Promise<Instructions[number]> => {\n if (role === \"tool\")\n throw new Error(`'tool' role is not allowed in instruction item in agent file ${filepath}`);\n\n if (\"content\" in v && typeof v.content === \"string\") {\n return { role, content: v.content, path: filepath, cacheControl };\n }\n if (\"url\" in v && typeof v.url === \"string\") {\n const url = nodejs.path.isAbsolute(v.url)\n ? v.url\n : nodejs.path.join(nodejs.path.dirname(filepath), v.url);\n return nodejs.fs\n .readFile(url, \"utf8\")\n .then((content) => ({ role, content, path: url, cacheControl }));\n }\n throw new Error(\n `Invalid instruction item in agent file ${filepath}. Expected 'content' or 'url' property`,\n );\n };\n\nexport const getInstructionsSchema = ({ filepath }: { filepath: string }) =>\n z\n .union([z.string(), instructionItemSchema, z.array(instructionItemSchema)])\n .transform(async (v): Promise<Instructions> => {\n if (typeof v === \"string\") return [{ role: \"system\", content: v, path: filepath }];\n\n if (Array.isArray(v)) {\n return Promise.all(v.map((item) => parseInstructionItem({ filepath })(item)));\n }\n\n return [await parseInstructionItem({ filepath })(v)];\n }) as unknown as ZodType<Instructions>;\n\nexport function instructionsToPromptBuilder(instructions: Instructions | string) {\n return new PromptBuilder({\n instructions:\n typeof instructions === \"string\"\n ? instructions\n : ChatMessagesTemplate.from(\n parseChatMessages(\n instructions.map((i) => ({\n ...i,\n options: { workingDir: nodejs.path.dirname(i.path) },\n })),\n ),\n ),\n });\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { MemoryRecorder, MemoryRecorderInput, MemoryRecorderOptions, MemoryRecorderOutput, memoryRecorderInputSchema, memoryRecorderOutputSchema } from "./recorder.mjs";
|
|
2
|
+
import { MemoryRetriever, MemoryRetrieverInput, MemoryRetrieverOptions, MemoryRetrieverOutput, memoryRetrieverInputSchema, memoryRetrieverOutputSchema } from "./retriever.mjs";
|
|
3
|
+
import { Memory, MemoryAgent, MemoryAgentOptions, newMemoryId } from "./memory.mjs";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { MemoryRecorder, memoryRecorderInputSchema, memoryRecorderOutputSchema } from "./recorder.mjs";
|
|
2
|
+
import { MemoryRetriever, memoryRetrieverInputSchema, memoryRetrieverOutputSchema } from "./retriever.mjs";
|
|
3
|
+
import { MemoryAgent, newMemoryId } from "./memory.mjs";
|
|
4
|
+
|
|
5
|
+
export { };
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_utils_type_utils = require('../utils/type-utils.cjs');
|
|
3
|
+
const require_agent = require('../agents/agent.cjs');
|
|
4
|
+
const require_recorder = require('./recorder.cjs');
|
|
5
|
+
const require_retriever = require('./retriever.cjs');
|
|
6
|
+
let zod = require("zod");
|
|
7
|
+
let _aigne_uuid = require("@aigne/uuid");
|
|
8
|
+
|
|
9
|
+
//#region src/memory/memory.ts
|
|
10
|
+
const newMemoryId = () => (0, _aigne_uuid.v7)();
|
|
11
|
+
/**
|
|
12
|
+
* A specialized agent responsible for managing, storing, and retrieving memories within the agent system.
|
|
13
|
+
*
|
|
14
|
+
* MemoryAgent serves as a bridge between application logic and memory storage/retrieval mechanisms.
|
|
15
|
+
* It delegates the actual memory operations to specialized recorder and retriever agents that
|
|
16
|
+
* are attached as skills. This agent doesn't directly process messages like other agents but
|
|
17
|
+
* instead provides memory management capabilities to the system.
|
|
18
|
+
*/
|
|
19
|
+
var MemoryAgent = class extends require_agent.Agent {
|
|
20
|
+
tag = "MemoryAgent";
|
|
21
|
+
/**
|
|
22
|
+
* Creates a new MemoryAgent instance.
|
|
23
|
+
*/
|
|
24
|
+
constructor(options) {
|
|
25
|
+
require_utils_type_utils.checkArguments("MemoryAgent", memoryAgentOptionsSchema, options);
|
|
26
|
+
super({
|
|
27
|
+
subscribeTopic: options.subscribeTopic,
|
|
28
|
+
skills: options.skills
|
|
29
|
+
});
|
|
30
|
+
this.recorder = options.recorder instanceof require_recorder.MemoryRecorder ? options.recorder : options.recorder && new require_recorder.MemoryRecorder(typeof options.recorder === "function" ? { process: options.recorder } : options.recorder);
|
|
31
|
+
this.retriever = options.retriever instanceof require_retriever.MemoryRetriever ? options.retriever : options.retriever && new require_retriever.MemoryRetriever(typeof options.retriever === "function" ? { process: options.retriever } : options.retriever);
|
|
32
|
+
this.autoUpdate = options.autoUpdate;
|
|
33
|
+
}
|
|
34
|
+
_retriever;
|
|
35
|
+
/**
|
|
36
|
+
* Agent used for retrieving memories from storage.
|
|
37
|
+
*
|
|
38
|
+
* This retriever is automatically added to the agent's skills when set.
|
|
39
|
+
* Setting a new retriever will remove any previously set retriever from skills.
|
|
40
|
+
*/
|
|
41
|
+
get retriever() {
|
|
42
|
+
return this._retriever;
|
|
43
|
+
}
|
|
44
|
+
set retriever(value) {
|
|
45
|
+
if (this._retriever) require_utils_type_utils.remove(this.skills, [this._retriever]);
|
|
46
|
+
this._retriever = value;
|
|
47
|
+
if (value) this.skills.push(value);
|
|
48
|
+
}
|
|
49
|
+
_recorder;
|
|
50
|
+
/**
|
|
51
|
+
* Agent used for recording and storing new memories.
|
|
52
|
+
*
|
|
53
|
+
* This recorder is automatically added to the agent's skills when set.
|
|
54
|
+
* Setting a new recorder will remove any previously set recorder from skills.
|
|
55
|
+
*/
|
|
56
|
+
get recorder() {
|
|
57
|
+
return this._recorder;
|
|
58
|
+
}
|
|
59
|
+
set recorder(value) {
|
|
60
|
+
if (this._recorder) require_utils_type_utils.remove(this.skills, [this._recorder]);
|
|
61
|
+
this._recorder = value;
|
|
62
|
+
if (value) this.skills.push(value);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Controls whether to automatically update the memory when agent call completes.
|
|
66
|
+
*
|
|
67
|
+
* When true, the agent will automatically record any relevant information
|
|
68
|
+
* after completing operations, creating a history of interactions.
|
|
69
|
+
*/
|
|
70
|
+
autoUpdate;
|
|
71
|
+
/**
|
|
72
|
+
* Indicates whether this agent can be directly called.
|
|
73
|
+
*
|
|
74
|
+
* MemoryAgent is designed to be used as a supporting component rather than
|
|
75
|
+
* being directly invoked for processing, so this returns false.
|
|
76
|
+
*/
|
|
77
|
+
get isCallable() {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The standard message processing method required by the Agent interface.
|
|
82
|
+
*
|
|
83
|
+
* MemoryAgent doesn't directly process messages like other agents, so this method
|
|
84
|
+
* throws an error when called. Use the specialized retrieve() and record() methods instead.
|
|
85
|
+
*/
|
|
86
|
+
async process(_input, _options) {
|
|
87
|
+
throw new Error("Method not implemented.");
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Retrieves memories based on the provided input criteria.
|
|
91
|
+
*
|
|
92
|
+
* Delegates the actual retrieval operation to the configured retriever agent.
|
|
93
|
+
*
|
|
94
|
+
* @param input - The retrieval parameters (can include search terms, limits, etc.)
|
|
95
|
+
* @param context - The execution context
|
|
96
|
+
* @returns A promise resolving to the retrieved memories
|
|
97
|
+
* @throws Error - If no retriever has been initialized
|
|
98
|
+
*/
|
|
99
|
+
async retrieve(input, context) {
|
|
100
|
+
if (!this.retriever) throw new Error("MemoryAgent retriever not initialized");
|
|
101
|
+
return context.invoke(this.retriever, input);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Records new memories based on the provided input content.
|
|
105
|
+
*
|
|
106
|
+
* Delegates the actual recording operation to the configured recorder agent.
|
|
107
|
+
*
|
|
108
|
+
* @param input - The content to be recorded as memories
|
|
109
|
+
* @param context - The execution context
|
|
110
|
+
* @returns A promise resolving to the recorded memories
|
|
111
|
+
* @throws Error - If no recorder has been initialized
|
|
112
|
+
*/
|
|
113
|
+
async record(input, context) {
|
|
114
|
+
if (!this.recorder) throw new Error("MemoryAgent recorder not initialized");
|
|
115
|
+
return context.invoke(this.recorder, input);
|
|
116
|
+
}
|
|
117
|
+
async onMessage({ role, source, message, context }) {
|
|
118
|
+
this.record({ content: [role === "user" ? { input: message } : {
|
|
119
|
+
output: message,
|
|
120
|
+
source
|
|
121
|
+
}] }, context);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
const memoryAgentOptionsSchema = zod.z.object({
|
|
125
|
+
retriever: zod.z.custom().optional(),
|
|
126
|
+
recorder: zod.z.custom().optional(),
|
|
127
|
+
autoUpdate: zod.z.boolean().optional(),
|
|
128
|
+
subscribeTopic: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).optional(),
|
|
129
|
+
skills: zod.z.array(zod.z.custom()).optional()
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
//#endregion
|
|
133
|
+
exports.MemoryAgent = MemoryAgent;
|
|
134
|
+
exports.newMemoryId = newMemoryId;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { MessagePayload } from "../aigne/message-queue.cjs";
|
|
2
|
+
import { MemoryRecorder, MemoryRecorderInput, MemoryRecorderOptions, MemoryRecorderOutput } from "./recorder.cjs";
|
|
3
|
+
import { MemoryRetriever, MemoryRetrieverInput, MemoryRetrieverOptions, MemoryRetrieverOutput } from "./retriever.cjs";
|
|
4
|
+
import { Context } from "../aigne/context.cjs";
|
|
5
|
+
import { Agent, AgentInvokeOptions, AgentOptions, Message } from "../agents/agent.cjs";
|
|
6
|
+
|
|
7
|
+
//#region src/memory/memory.d.ts
|
|
8
|
+
interface Memory {
|
|
9
|
+
id: string;
|
|
10
|
+
sessionId?: string | null;
|
|
11
|
+
content: unknown;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
}
|
|
14
|
+
declare const newMemoryId: () => string;
|
|
15
|
+
interface MemoryAgentOptions extends Partial<Pick<MemoryAgent, "autoUpdate">>, Pick<AgentOptions, "subscribeTopic" | "skills"> {
|
|
16
|
+
recorder?: MemoryRecorder | MemoryRecorderOptions["process"] | MemoryRecorderOptions;
|
|
17
|
+
retriever?: MemoryRetriever | MemoryRetrieverOptions["process"] | MemoryRetrieverOptions;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A specialized agent responsible for managing, storing, and retrieving memories within the agent system.
|
|
21
|
+
*
|
|
22
|
+
* MemoryAgent serves as a bridge between application logic and memory storage/retrieval mechanisms.
|
|
23
|
+
* It delegates the actual memory operations to specialized recorder and retriever agents that
|
|
24
|
+
* are attached as skills. This agent doesn't directly process messages like other agents but
|
|
25
|
+
* instead provides memory management capabilities to the system.
|
|
26
|
+
*/
|
|
27
|
+
declare class MemoryAgent extends Agent {
|
|
28
|
+
tag: string;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new MemoryAgent instance.
|
|
31
|
+
*/
|
|
32
|
+
constructor(options: MemoryAgentOptions);
|
|
33
|
+
private _retriever?;
|
|
34
|
+
/**
|
|
35
|
+
* Agent used for retrieving memories from storage.
|
|
36
|
+
*
|
|
37
|
+
* This retriever is automatically added to the agent's skills when set.
|
|
38
|
+
* Setting a new retriever will remove any previously set retriever from skills.
|
|
39
|
+
*/
|
|
40
|
+
get retriever(): MemoryRetriever | undefined;
|
|
41
|
+
set retriever(value: MemoryRetriever | undefined);
|
|
42
|
+
private _recorder?;
|
|
43
|
+
/**
|
|
44
|
+
* Agent used for recording and storing new memories.
|
|
45
|
+
*
|
|
46
|
+
* This recorder is automatically added to the agent's skills when set.
|
|
47
|
+
* Setting a new recorder will remove any previously set recorder from skills.
|
|
48
|
+
*/
|
|
49
|
+
get recorder(): MemoryRecorder | undefined;
|
|
50
|
+
set recorder(value: MemoryRecorder | undefined);
|
|
51
|
+
/**
|
|
52
|
+
* Controls whether to automatically update the memory when agent call completes.
|
|
53
|
+
*
|
|
54
|
+
* When true, the agent will automatically record any relevant information
|
|
55
|
+
* after completing operations, creating a history of interactions.
|
|
56
|
+
*/
|
|
57
|
+
autoUpdate?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Indicates whether this agent can be directly called.
|
|
60
|
+
*
|
|
61
|
+
* MemoryAgent is designed to be used as a supporting component rather than
|
|
62
|
+
* being directly invoked for processing, so this returns false.
|
|
63
|
+
*/
|
|
64
|
+
get isCallable(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* The standard message processing method required by the Agent interface.
|
|
67
|
+
*
|
|
68
|
+
* MemoryAgent doesn't directly process messages like other agents, so this method
|
|
69
|
+
* throws an error when called. Use the specialized retrieve() and record() methods instead.
|
|
70
|
+
*/
|
|
71
|
+
process(_input: Message, _options: AgentInvokeOptions): Promise<Message>;
|
|
72
|
+
/**
|
|
73
|
+
* Retrieves memories based on the provided input criteria.
|
|
74
|
+
*
|
|
75
|
+
* Delegates the actual retrieval operation to the configured retriever agent.
|
|
76
|
+
*
|
|
77
|
+
* @param input - The retrieval parameters (can include search terms, limits, etc.)
|
|
78
|
+
* @param context - The execution context
|
|
79
|
+
* @returns A promise resolving to the retrieved memories
|
|
80
|
+
* @throws Error - If no retriever has been initialized
|
|
81
|
+
*/
|
|
82
|
+
retrieve(input: MemoryRetrieverInput, context: Context): Promise<MemoryRetrieverOutput>;
|
|
83
|
+
/**
|
|
84
|
+
* Records new memories based on the provided input content.
|
|
85
|
+
*
|
|
86
|
+
* Delegates the actual recording operation to the configured recorder agent.
|
|
87
|
+
*
|
|
88
|
+
* @param input - The content to be recorded as memories
|
|
89
|
+
* @param context - The execution context
|
|
90
|
+
* @returns A promise resolving to the recorded memories
|
|
91
|
+
* @throws Error - If no recorder has been initialized
|
|
92
|
+
*/
|
|
93
|
+
record(input: MemoryRecorderInput, context: Context): Promise<MemoryRecorderOutput>;
|
|
94
|
+
onMessage({
|
|
95
|
+
role,
|
|
96
|
+
source,
|
|
97
|
+
message,
|
|
98
|
+
context
|
|
99
|
+
}: MessagePayload): Promise<void>;
|
|
100
|
+
}
|
|
101
|
+
//#endregion
|
|
102
|
+
export { Memory, MemoryAgent, MemoryAgentOptions, newMemoryId };
|
|
103
|
+
//# sourceMappingURL=memory.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.cts","names":[],"sources":["../../src/memory/memory.ts"],"mappings":";;;;;;;UAwBiB,MAAA;EAAA,EAAA;EAAA,SAAA;EAAA,OAAA;EAAA,SAAA;AAAA;AAAA,cAOJ,WAAA;AAAA,UAEI,kBAAA,SACP,OAAA,CAAQ,IAAA,CAAK,WAAA,kBACnB,IAAA,CAAK,YAAA;EAAA,QAAA,GACI,cAAA,GAAiB,qBAAA,cAAmC,qBAAA;EAAA,SAAA,GACnD,eAAA,GAAkB,sBAAA,cAAoC,sBAAA;AAAA;AAAA;;;;AAWpE;;;;AAXoE,cAWvD,WAAA,SAAoB,KAAA;EAAA,GAAA;EAAA;;;EAAA,YAAA,OAAA,EAMV,kBAAA;EAAA,QAAA,UAAA;EAAA;;;;;;EAAA,IAAA,UAAA,GAoCJ,eAAA;EAAA,IAAA,UAAA,KAAA,EAII,eAAA;EAAA,QAAA,SAAA;EAAA;;;;;;EAAA,IAAA,SAAA,GAeL,cAAA;EAAA,IAAA,SAAA,KAAA,EAII,cAAA;EAAA;;;;;;EAAA,UAAA;EAAA;;;;;;EAAA,IAAA,WAAA;EAAA;;;;;;EAAA,QAAA,MAAA,EA+BE,OAAA,EAAA,QAAA,EAAmB,kBAAA,GAAqB,OAAA,CAAQ,OAAA;EAAA;;;;;;;;;;EAAA,SAAA,KAAA,EAchD,oBAAA,EAAA,OAAA,EAA+B,OAAA,GAAU,OAAA,CAAQ,qBAAA;EAAA;;;;;;;;;;EAAA,OAAA,KAAA,EAenD,mBAAA,EAAA,OAAA,EAA8B,OAAA,GAAU,OAAA,CAAQ,oBAAA;EAAA,UAAA;IAAA,IAAA;IAAA,MAAA;IAAA,OAAA;IAAA;EAAA,GAKP,cAAA,GAAiB,OAAA;AAAA"}
|