@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,34 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/utils/camelize.ts
|
|
3
|
+
function camelize(obj, shallow) {
|
|
4
|
+
return typeof obj === "string" ? camelCase(obj) : walk(obj, shallow, camelCase);
|
|
5
|
+
}
|
|
6
|
+
function snakelize(obj, shallow) {
|
|
7
|
+
return typeof obj === "string" ? snakeCase(obj) : walk(obj, shallow, snakeCase);
|
|
8
|
+
}
|
|
9
|
+
function camelCase(key) {
|
|
10
|
+
key = key.replace(/[_.-](\w|$)/g, (_, char) => char.toUpperCase());
|
|
11
|
+
key = key.charAt(0).toLowerCase() + key.slice(1);
|
|
12
|
+
return key;
|
|
13
|
+
}
|
|
14
|
+
function snakeCase(key) {
|
|
15
|
+
return key.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
|
|
16
|
+
}
|
|
17
|
+
function walk(obj, shallow = false, transform) {
|
|
18
|
+
if (!obj || typeof obj !== "object") return obj;
|
|
19
|
+
if (obj instanceof Date || obj instanceof RegExp) return obj;
|
|
20
|
+
if (Array.isArray(obj)) return obj.map((v) => {
|
|
21
|
+
if (!shallow) return walk(v, shallow, transform);
|
|
22
|
+
if (typeof v === "object") return walk(v, shallow, transform);
|
|
23
|
+
return v;
|
|
24
|
+
});
|
|
25
|
+
return Object.keys(obj).reduce((res, key) => {
|
|
26
|
+
const newKey = transform(key);
|
|
27
|
+
res[newKey] = shallow ? obj[key] : walk(obj[key], shallow, transform);
|
|
28
|
+
return res;
|
|
29
|
+
}, {});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
exports.camelize = camelize;
|
|
34
|
+
exports.snakelize = snakelize;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/utils/camelize.d.ts
|
|
2
|
+
type CamelCase<S extends string> = S extends `${infer P1}_${infer P2}${infer P3}` ? `${P1}${Uppercase<P2>}${CamelCase<P3>}` : S;
|
|
3
|
+
type CamelizeObject<T, S = false> = { [K in keyof T as Uncapitalize<CamelCase<string & K>>]: T[K] extends Date ? T[K] : T[K] extends RegExp ? T[K] : T[K] extends Array<infer U> ? U extends object | undefined ? Array<CamelizeObject<U>> : T[K] : T[K] extends object | undefined ? S extends true ? T[K] : CamelizeObject<T[K]> : T[K] };
|
|
4
|
+
type Camelize<T, S = false> = T extends Array<infer U> ? Array<CamelizeObject<U, S>> : CamelizeObject<T, S>;
|
|
5
|
+
declare function camelize<T, S extends boolean = false>(obj: T, shallow?: S): T extends string ? string : Camelize<T, S>;
|
|
6
|
+
declare function snakelize<T, S extends boolean = false>(obj: T, shallow?: S): T extends string ? string : any;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { CamelCase, Camelize, CamelizeObject, camelize, snakelize };
|
|
9
|
+
//# sourceMappingURL=camelize.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camelize.d.cts","names":[],"sources":["../../src/utils/camelize.ts"],"mappings":";KAAY,SAAA,qBAA8B,CAAA,mDACnC,EAAA,GAAK,SAAA,CAAU,EAAA,IAAM,SAAA,CAAU,EAAA,MAClC,CAAA;AAAA,KAEQ,cAAA,+BACE,CAAA,IAAK,YAAA,CAAa,SAAA,UAAmB,CAAA,KAAM,CAAA,CAAE,CAAA,UAAW,IAAA,GAChE,CAAA,CAAE,CAAA,IACF,CAAA,CAAE,CAAA,UAAW,MAAA,GACX,CAAA,CAAE,CAAA,IACF,CAAA,CAAE,CAAA,UAAW,KAAA,YAAA,CAAA,8BAET,KAAA,CAAM,cAAA,CAAe,CAAA,KACrB,CAAA,CAAE,CAAA,IACJ,CAAA,CAAE,CAAA,+BACA,CAAA,gBACE,CAAA,CAAE,CAAA,IACF,cAAA,CAAe,CAAA,CAAE,CAAA,KACnB,CAAA,CAAE,CAAA;AAAA,KAGF,QAAA,iBAAyB,CAAA,SAAU,KAAA,YAC3C,KAAA,CAAM,cAAA,CAAe,CAAA,EAAG,CAAA,KACxB,cAAA,CAAe,CAAA,EAAG,CAAA;AAAA,iBAEN,QAAA,8BAAA,CAAA,GAAA,EACT,CAAA,EAAA,OAAA,GACK,CAAA,GACT,CAAA,2BAA4B,QAAA,CAAS,CAAA,EAAG,CAAA;AAAA,iBAI3B,SAAA,8BAAA,CAAA,GAAA,EACT,CAAA,EAAA,OAAA,GACK,CAAA,GACT,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/utils/camelize.d.ts
|
|
2
|
+
type CamelCase<S extends string> = S extends `${infer P1}_${infer P2}${infer P3}` ? `${P1}${Uppercase<P2>}${CamelCase<P3>}` : S;
|
|
3
|
+
type CamelizeObject<T, S = false> = { [K in keyof T as Uncapitalize<CamelCase<string & K>>]: T[K] extends Date ? T[K] : T[K] extends RegExp ? T[K] : T[K] extends Array<infer U> ? U extends object | undefined ? Array<CamelizeObject<U>> : T[K] : T[K] extends object | undefined ? S extends true ? T[K] : CamelizeObject<T[K]> : T[K] };
|
|
4
|
+
type Camelize<T, S = false> = T extends Array<infer U> ? Array<CamelizeObject<U, S>> : CamelizeObject<T, S>;
|
|
5
|
+
declare function camelize<T, S extends boolean = false>(obj: T, shallow?: S): T extends string ? string : Camelize<T, S>;
|
|
6
|
+
declare function snakelize<T, S extends boolean = false>(obj: T, shallow?: S): T extends string ? string : any;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { CamelCase, Camelize, CamelizeObject, camelize, snakelize };
|
|
9
|
+
//# sourceMappingURL=camelize.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camelize.d.mts","names":[],"sources":["../../src/utils/camelize.ts"],"mappings":";KAAY,SAAA,qBAA8B,CAAA,mDACnC,EAAA,GAAK,SAAA,CAAU,EAAA,IAAM,SAAA,CAAU,EAAA,MAClC,CAAA;AAAA,KAEQ,cAAA,+BACE,CAAA,IAAK,YAAA,CAAa,SAAA,UAAmB,CAAA,KAAM,CAAA,CAAE,CAAA,UAAW,IAAA,GAChE,CAAA,CAAE,CAAA,IACF,CAAA,CAAE,CAAA,UAAW,MAAA,GACX,CAAA,CAAE,CAAA,IACF,CAAA,CAAE,CAAA,UAAW,KAAA,YAAA,CAAA,8BAET,KAAA,CAAM,cAAA,CAAe,CAAA,KACrB,CAAA,CAAE,CAAA,IACJ,CAAA,CAAE,CAAA,+BACA,CAAA,gBACE,CAAA,CAAE,CAAA,IACF,cAAA,CAAe,CAAA,CAAE,CAAA,KACnB,CAAA,CAAE,CAAA;AAAA,KAGF,QAAA,iBAAyB,CAAA,SAAU,KAAA,YAC3C,KAAA,CAAM,cAAA,CAAe,CAAA,EAAG,CAAA,KACxB,cAAA,CAAe,CAAA,EAAG,CAAA;AAAA,iBAEN,QAAA,8BAAA,CAAA,GAAA,EACT,CAAA,EAAA,OAAA,GACK,CAAA,GACT,CAAA,2BAA4B,QAAA,CAAS,CAAA,EAAG,CAAA;AAAA,iBAI3B,SAAA,8BAAA,CAAA,GAAA,EACT,CAAA,EAAA,OAAA,GACK,CAAA,GACT,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region src/utils/camelize.ts
|
|
2
|
+
function camelize(obj, shallow) {
|
|
3
|
+
return typeof obj === "string" ? camelCase(obj) : walk(obj, shallow, camelCase);
|
|
4
|
+
}
|
|
5
|
+
function snakelize(obj, shallow) {
|
|
6
|
+
return typeof obj === "string" ? snakeCase(obj) : walk(obj, shallow, snakeCase);
|
|
7
|
+
}
|
|
8
|
+
function camelCase(key) {
|
|
9
|
+
key = key.replace(/[_.-](\w|$)/g, (_, char) => char.toUpperCase());
|
|
10
|
+
key = key.charAt(0).toLowerCase() + key.slice(1);
|
|
11
|
+
return key;
|
|
12
|
+
}
|
|
13
|
+
function snakeCase(key) {
|
|
14
|
+
return key.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
|
|
15
|
+
}
|
|
16
|
+
function walk(obj, shallow = false, transform) {
|
|
17
|
+
if (!obj || typeof obj !== "object") return obj;
|
|
18
|
+
if (obj instanceof Date || obj instanceof RegExp) return obj;
|
|
19
|
+
if (Array.isArray(obj)) return obj.map((v) => {
|
|
20
|
+
if (!shallow) return walk(v, shallow, transform);
|
|
21
|
+
if (typeof v === "object") return walk(v, shallow, transform);
|
|
22
|
+
return v;
|
|
23
|
+
});
|
|
24
|
+
return Object.keys(obj).reduce((res, key) => {
|
|
25
|
+
const newKey = transform(key);
|
|
26
|
+
res[newKey] = shallow ? obj[key] : walk(obj[key], shallow, transform);
|
|
27
|
+
return res;
|
|
28
|
+
}, {});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { camelize, snakelize };
|
|
33
|
+
//# sourceMappingURL=camelize.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camelize.mjs","names":[],"sources":["../../src/utils/camelize.ts"],"sourcesContent":["export type CamelCase<S extends string> = S extends `${infer P1}_${infer P2}${infer P3}`\n ? `${P1}${Uppercase<P2>}${CamelCase<P3>}`\n : S;\n\nexport type CamelizeObject<T, S = false> = {\n [K in keyof T as Uncapitalize<CamelCase<string & K>>]: T[K] extends Date\n ? T[K]\n : T[K] extends RegExp\n ? T[K]\n : T[K] extends Array<infer U>\n ? U extends object | undefined\n ? Array<CamelizeObject<U>>\n : T[K]\n : T[K] extends object | undefined\n ? S extends true\n ? T[K]\n : CamelizeObject<T[K]>\n : T[K];\n};\n\nexport type Camelize<T, S = false> = T extends Array<infer U>\n ? Array<CamelizeObject<U, S>>\n : CamelizeObject<T, S>;\n\nexport function camelize<T, S extends boolean = false>(\n obj: T,\n shallow?: S,\n): T extends string ? string : Camelize<T, S> {\n return typeof obj === \"string\" ? (camelCase(obj) as any) : walk(obj, shallow, camelCase);\n}\n\nexport function snakelize<T, S extends boolean = false>(\n obj: T,\n shallow?: S,\n): T extends string ? string : any {\n return typeof obj === \"string\" ? (snakeCase(obj) as any) : walk(obj, shallow, snakeCase);\n}\n\nfunction camelCase(key: string): string {\n key = key.replace(/[_.-](\\w|$)/g, (_, char) => char.toUpperCase());\n key = key.charAt(0).toLowerCase() + key.slice(1);\n return key;\n}\n\nfunction snakeCase(key: string): string {\n return key.replace(/([a-z])([A-Z])/g, \"$1_$2\").toLowerCase();\n}\n\nfunction walk(obj: any, shallow = false, transform: (key: string) => string): any {\n if (!obj || typeof obj !== \"object\") return obj;\n if (obj instanceof Date || obj instanceof RegExp) return obj;\n\n if (Array.isArray(obj))\n return obj.map((v) => {\n if (!shallow) {\n return walk(v, shallow, transform);\n }\n if (typeof v === \"object\") return walk(v, shallow, transform);\n return v;\n });\n\n return Object.keys(obj).reduce(\n (res, key) => {\n const newKey = transform(key);\n res[newKey] = shallow ? obj[key] : walk(obj[key], shallow, transform);\n return res;\n },\n {} as Record<string, any>,\n );\n}\n"],"mappings":";AAwBA,SAAgB,SACd,KACA,SAC4C;AAC5C,QAAO,OAAO,QAAQ,WAAY,UAAU,IAAI,GAAW,KAAK,KAAK,SAAS,UAAU;;AAG1F,SAAgB,UACd,KACA,SACiC;AACjC,QAAO,OAAO,QAAQ,WAAY,UAAU,IAAI,GAAW,KAAK,KAAK,SAAS,UAAU;;AAG1F,SAAS,UAAU,KAAqB;AACtC,OAAM,IAAI,QAAQ,iBAAiB,GAAG,SAAS,KAAK,aAAa,CAAC;AAClE,OAAM,IAAI,OAAO,EAAE,CAAC,aAAa,GAAG,IAAI,MAAM,EAAE;AAChD,QAAO;;AAGT,SAAS,UAAU,KAAqB;AACtC,QAAO,IAAI,QAAQ,mBAAmB,QAAQ,CAAC,aAAa;;AAG9D,SAAS,KAAK,KAAU,UAAU,OAAO,WAAyC;AAChF,KAAI,CAAC,OAAO,OAAO,QAAQ,SAAU,QAAO;AAC5C,KAAI,eAAe,QAAQ,eAAe,OAAQ,QAAO;AAEzD,KAAI,MAAM,QAAQ,IAAI,CACpB,QAAO,IAAI,KAAK,MAAM;AACpB,MAAI,CAAC,QACH,QAAO,KAAK,GAAG,SAAS,UAAU;AAEpC,MAAI,OAAO,MAAM,SAAU,QAAO,KAAK,GAAG,SAAS,UAAU;AAC7D,SAAO;GACP;AAEJ,QAAO,OAAO,KAAK,IAAI,CAAC,QACrB,KAAK,QAAQ;EACZ,MAAM,SAAS,UAAU,IAAI;AAC7B,MAAI,UAAU,UAAU,IAAI,OAAO,KAAK,IAAI,MAAM,SAAS,UAAU;AACrE,SAAO;IAET,EAAE,CACH"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_utils_type_utils = require('./type-utils.cjs');
|
|
3
|
+
const require_agent = require('../agents/agent.cjs');
|
|
4
|
+
let immer = require("immer");
|
|
5
|
+
let eventsource_parser = require("eventsource-parser");
|
|
6
|
+
|
|
7
|
+
//#region src/utils/event-stream.ts
|
|
8
|
+
(0, immer.setAutoFreeze)(false);
|
|
9
|
+
var EventStreamParser = class extends TransformStream {
|
|
10
|
+
constructor() {
|
|
11
|
+
let parser;
|
|
12
|
+
super({
|
|
13
|
+
start(controller) {
|
|
14
|
+
parser = (0, eventsource_parser.createParser)({ onEvent: (event) => {
|
|
15
|
+
const json = require_utils_type_utils.tryOrThrow(() => JSON.parse(event.data), (e) => {
|
|
16
|
+
controller.enqueue(/* @__PURE__ */ new Error(`Parse response chunk json error: ${e.message} ${event.data}`));
|
|
17
|
+
});
|
|
18
|
+
if (json) switch (event.event) {
|
|
19
|
+
case "error":
|
|
20
|
+
controller.enqueue(new Error(json.message));
|
|
21
|
+
break;
|
|
22
|
+
default: if (!event.event) controller.enqueue(json);
|
|
23
|
+
else console.warn(`Unknown event type: ${event.event}`, event.data);
|
|
24
|
+
}
|
|
25
|
+
} });
|
|
26
|
+
},
|
|
27
|
+
transform(chunk) {
|
|
28
|
+
parser?.feed(chunk);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var AgentResponseStreamParser = class extends TransformStream {
|
|
34
|
+
json = {};
|
|
35
|
+
constructor() {
|
|
36
|
+
super({ transform: (chunk, controller) => {
|
|
37
|
+
if (chunk instanceof Error) {
|
|
38
|
+
controller.error(chunk);
|
|
39
|
+
controller.terminate();
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (require_agent.isAgentResponseDelta(chunk)) {
|
|
43
|
+
this.json = (0, immer.produce)(this.json, (draft) => {
|
|
44
|
+
if (chunk.delta.json) Object.assign(draft, chunk.delta.json);
|
|
45
|
+
if (chunk.delta.text) for (const [key, text] of Object.entries(chunk.delta.text)) {
|
|
46
|
+
const t = (draft[key] || "") + (text || "");
|
|
47
|
+
if (t) Object.assign(draft, { [key]: t });
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
controller.enqueue({
|
|
51
|
+
...chunk,
|
|
52
|
+
delta: {
|
|
53
|
+
...chunk.delta,
|
|
54
|
+
json: this.json
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
} else if (require_agent.isAgentResponseProgress(chunk)) {
|
|
58
|
+
if (chunk.progress.event === "agentFailed") {
|
|
59
|
+
const { name, message } = chunk.progress.error;
|
|
60
|
+
chunk.progress.error = new Error(message);
|
|
61
|
+
chunk.progress.error.name = name;
|
|
62
|
+
}
|
|
63
|
+
controller.enqueue(chunk);
|
|
64
|
+
}
|
|
65
|
+
} });
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
var AgentResponseStreamSSE = class extends ReadableStream {
|
|
69
|
+
constructor(stream) {
|
|
70
|
+
let reader;
|
|
71
|
+
super({ async pull(controller) {
|
|
72
|
+
reader ??= stream.getReader();
|
|
73
|
+
try {
|
|
74
|
+
const { value, done } = await reader.read();
|
|
75
|
+
if (done) {
|
|
76
|
+
controller.close();
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (require_agent.isAgentResponseProgress(value)) {
|
|
80
|
+
if (value.progress.event === "agentFailed") value.progress.error = {
|
|
81
|
+
name: value.progress.error.name,
|
|
82
|
+
message: value.progress.error.message
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
controller.enqueue(`data: ${JSON.stringify(value)}\n\n`);
|
|
86
|
+
} catch (error) {
|
|
87
|
+
controller.enqueue(`event: error\ndata: ${JSON.stringify({ message: error.message })}\n\n`);
|
|
88
|
+
controller.close();
|
|
89
|
+
}
|
|
90
|
+
} });
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
var AgentResponseProgressStream = class extends ReadableStream {
|
|
94
|
+
constructor(context) {
|
|
95
|
+
super({ async start(controller) {
|
|
96
|
+
const writeEvent = (eventName, event) => {
|
|
97
|
+
const progress = {
|
|
98
|
+
...event,
|
|
99
|
+
event: eventName,
|
|
100
|
+
agent: { name: event.agent.name }
|
|
101
|
+
};
|
|
102
|
+
controller.enqueue({ progress });
|
|
103
|
+
};
|
|
104
|
+
const close = () => {
|
|
105
|
+
context.off("agentStarted", onAgentStarted);
|
|
106
|
+
context.off("agentSucceed", onAgentSucceed);
|
|
107
|
+
context.off("agentFailed", onAgentFailed);
|
|
108
|
+
controller.close();
|
|
109
|
+
};
|
|
110
|
+
const onAgentStarted = async (event) => {
|
|
111
|
+
const taskTitle = await event.agent.renderTaskTitle(event.input);
|
|
112
|
+
writeEvent("agentStarted", {
|
|
113
|
+
...event,
|
|
114
|
+
taskTitle
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
const onAgentSucceed = (event) => {
|
|
118
|
+
writeEvent("agentSucceed", event);
|
|
119
|
+
if (event.contextId === context.id) close();
|
|
120
|
+
};
|
|
121
|
+
const onAgentFailed = (event) => {
|
|
122
|
+
writeEvent("agentFailed", event);
|
|
123
|
+
if (event.contextId === context.id) close();
|
|
124
|
+
};
|
|
125
|
+
context.on("agentStarted", onAgentStarted);
|
|
126
|
+
context.on("agentSucceed", onAgentSucceed);
|
|
127
|
+
context.on("agentFailed", onAgentFailed);
|
|
128
|
+
} });
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
//#endregion
|
|
133
|
+
exports.AgentResponseProgressStream = AgentResponseProgressStream;
|
|
134
|
+
exports.AgentResponseStreamParser = AgentResponseStreamParser;
|
|
135
|
+
exports.AgentResponseStreamSSE = AgentResponseStreamSSE;
|
|
136
|
+
exports.EventStreamParser = EventStreamParser;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Context } from "../aigne/context.cjs";
|
|
2
|
+
import { AgentResponseChunk, AgentResponseProgress, AgentResponseStream, Message } from "../agents/agent.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/event-stream.d.ts
|
|
5
|
+
declare class EventStreamParser<T> extends TransformStream<string, T | Error> {
|
|
6
|
+
constructor();
|
|
7
|
+
}
|
|
8
|
+
declare class AgentResponseStreamParser<O extends Message> extends TransformStream<AgentResponseChunk<O> | Error, AgentResponseChunk<O>> {
|
|
9
|
+
private json;
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
12
|
+
declare class AgentResponseStreamSSE<O extends Message> extends ReadableStream<string> {
|
|
13
|
+
constructor(stream: AgentResponseStream<O>);
|
|
14
|
+
}
|
|
15
|
+
declare class AgentResponseProgressStream extends ReadableStream<AgentResponseProgress> {
|
|
16
|
+
constructor(context: Context);
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { AgentResponseProgressStream, AgentResponseStreamParser, AgentResponseStreamSSE, EventStreamParser };
|
|
20
|
+
//# sourceMappingURL=event-stream.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-stream.d.cts","names":[],"sources":["../../src/utils/event-stream.ts"],"mappings":";;;;cAgBa,iBAAA,YAA6B,eAAA,SAAwB,CAAA,GAAI,KAAA;EAAA,YAAA;AAAA;AAAA,cAqCzD,yBAAA,WAAoC,OAAA,UAAiB,eAAA,CAChE,kBAAA,CAAmB,CAAA,IAAK,KAAA,EACxB,kBAAA,CAAmB,CAAA;EAAA,QAAA,IAAA;EAAA,YAAA;AAAA;AAAA,cA8CR,sBAAA,WAAiC,OAAA,UAAiB,cAAA;EAAA,YAAA,MAAA,EACzC,mBAAA,CAAoB,CAAA;AAAA;AAAA,cAkC7B,2BAAA,SAAoC,cAAA,CAAe,qBAAA;EAAA,YAAA,OAAA,EACzC,OAAA;AAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Context } from "../aigne/context.mjs";
|
|
2
|
+
import { AgentResponseChunk, AgentResponseProgress, AgentResponseStream, Message } from "../agents/agent.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/event-stream.d.ts
|
|
5
|
+
declare class EventStreamParser<T> extends TransformStream<string, T | Error> {
|
|
6
|
+
constructor();
|
|
7
|
+
}
|
|
8
|
+
declare class AgentResponseStreamParser<O extends Message> extends TransformStream<AgentResponseChunk<O> | Error, AgentResponseChunk<O>> {
|
|
9
|
+
private json;
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
12
|
+
declare class AgentResponseStreamSSE<O extends Message> extends ReadableStream<string> {
|
|
13
|
+
constructor(stream: AgentResponseStream<O>);
|
|
14
|
+
}
|
|
15
|
+
declare class AgentResponseProgressStream extends ReadableStream<AgentResponseProgress> {
|
|
16
|
+
constructor(context: Context);
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { AgentResponseProgressStream, AgentResponseStreamParser, AgentResponseStreamSSE, EventStreamParser };
|
|
20
|
+
//# sourceMappingURL=event-stream.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-stream.d.mts","names":[],"sources":["../../src/utils/event-stream.ts"],"mappings":";;;;cAgBa,iBAAA,YAA6B,eAAA,SAAwB,CAAA,GAAI,KAAA;EAAA,YAAA;AAAA;AAAA,cAqCzD,yBAAA,WAAoC,OAAA,UAAiB,eAAA,CAChE,kBAAA,CAAmB,CAAA,IAAK,KAAA,EACxB,kBAAA,CAAmB,CAAA;EAAA,QAAA,IAAA;EAAA,YAAA;AAAA;AAAA,cA8CR,sBAAA,WAAiC,OAAA,UAAiB,cAAA;EAAA,YAAA,MAAA,EACzC,mBAAA,CAAoB,CAAA;AAAA;AAAA,cAkC7B,2BAAA,SAAoC,cAAA,CAAe,qBAAA;EAAA,YAAA,OAAA,EACzC,OAAA;AAAA"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { tryOrThrow } from "./type-utils.mjs";
|
|
2
|
+
import { isAgentResponseDelta, isAgentResponseProgress } from "../agents/agent.mjs";
|
|
3
|
+
import { produce, setAutoFreeze } from "immer";
|
|
4
|
+
import { createParser } from "eventsource-parser";
|
|
5
|
+
|
|
6
|
+
//#region src/utils/event-stream.ts
|
|
7
|
+
setAutoFreeze(false);
|
|
8
|
+
var EventStreamParser = class extends TransformStream {
|
|
9
|
+
constructor() {
|
|
10
|
+
let parser;
|
|
11
|
+
super({
|
|
12
|
+
start(controller) {
|
|
13
|
+
parser = createParser({ onEvent: (event) => {
|
|
14
|
+
const json = tryOrThrow(() => JSON.parse(event.data), (e) => {
|
|
15
|
+
controller.enqueue(/* @__PURE__ */ new Error(`Parse response chunk json error: ${e.message} ${event.data}`));
|
|
16
|
+
});
|
|
17
|
+
if (json) switch (event.event) {
|
|
18
|
+
case "error":
|
|
19
|
+
controller.enqueue(new Error(json.message));
|
|
20
|
+
break;
|
|
21
|
+
default: if (!event.event) controller.enqueue(json);
|
|
22
|
+
else console.warn(`Unknown event type: ${event.event}`, event.data);
|
|
23
|
+
}
|
|
24
|
+
} });
|
|
25
|
+
},
|
|
26
|
+
transform(chunk) {
|
|
27
|
+
parser?.feed(chunk);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
var AgentResponseStreamParser = class extends TransformStream {
|
|
33
|
+
json = {};
|
|
34
|
+
constructor() {
|
|
35
|
+
super({ transform: (chunk, controller) => {
|
|
36
|
+
if (chunk instanceof Error) {
|
|
37
|
+
controller.error(chunk);
|
|
38
|
+
controller.terminate();
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (isAgentResponseDelta(chunk)) {
|
|
42
|
+
this.json = produce(this.json, (draft) => {
|
|
43
|
+
if (chunk.delta.json) Object.assign(draft, chunk.delta.json);
|
|
44
|
+
if (chunk.delta.text) for (const [key, text] of Object.entries(chunk.delta.text)) {
|
|
45
|
+
const t = (draft[key] || "") + (text || "");
|
|
46
|
+
if (t) Object.assign(draft, { [key]: t });
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
controller.enqueue({
|
|
50
|
+
...chunk,
|
|
51
|
+
delta: {
|
|
52
|
+
...chunk.delta,
|
|
53
|
+
json: this.json
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
} else if (isAgentResponseProgress(chunk)) {
|
|
57
|
+
if (chunk.progress.event === "agentFailed") {
|
|
58
|
+
const { name, message } = chunk.progress.error;
|
|
59
|
+
chunk.progress.error = new Error(message);
|
|
60
|
+
chunk.progress.error.name = name;
|
|
61
|
+
}
|
|
62
|
+
controller.enqueue(chunk);
|
|
63
|
+
}
|
|
64
|
+
} });
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
var AgentResponseStreamSSE = class extends ReadableStream {
|
|
68
|
+
constructor(stream) {
|
|
69
|
+
let reader;
|
|
70
|
+
super({ async pull(controller) {
|
|
71
|
+
reader ??= stream.getReader();
|
|
72
|
+
try {
|
|
73
|
+
const { value, done } = await reader.read();
|
|
74
|
+
if (done) {
|
|
75
|
+
controller.close();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (isAgentResponseProgress(value)) {
|
|
79
|
+
if (value.progress.event === "agentFailed") value.progress.error = {
|
|
80
|
+
name: value.progress.error.name,
|
|
81
|
+
message: value.progress.error.message
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
controller.enqueue(`data: ${JSON.stringify(value)}\n\n`);
|
|
85
|
+
} catch (error) {
|
|
86
|
+
controller.enqueue(`event: error\ndata: ${JSON.stringify({ message: error.message })}\n\n`);
|
|
87
|
+
controller.close();
|
|
88
|
+
}
|
|
89
|
+
} });
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
var AgentResponseProgressStream = class extends ReadableStream {
|
|
93
|
+
constructor(context) {
|
|
94
|
+
super({ async start(controller) {
|
|
95
|
+
const writeEvent = (eventName, event) => {
|
|
96
|
+
const progress = {
|
|
97
|
+
...event,
|
|
98
|
+
event: eventName,
|
|
99
|
+
agent: { name: event.agent.name }
|
|
100
|
+
};
|
|
101
|
+
controller.enqueue({ progress });
|
|
102
|
+
};
|
|
103
|
+
const close = () => {
|
|
104
|
+
context.off("agentStarted", onAgentStarted);
|
|
105
|
+
context.off("agentSucceed", onAgentSucceed);
|
|
106
|
+
context.off("agentFailed", onAgentFailed);
|
|
107
|
+
controller.close();
|
|
108
|
+
};
|
|
109
|
+
const onAgentStarted = async (event) => {
|
|
110
|
+
const taskTitle = await event.agent.renderTaskTitle(event.input);
|
|
111
|
+
writeEvent("agentStarted", {
|
|
112
|
+
...event,
|
|
113
|
+
taskTitle
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
const onAgentSucceed = (event) => {
|
|
117
|
+
writeEvent("agentSucceed", event);
|
|
118
|
+
if (event.contextId === context.id) close();
|
|
119
|
+
};
|
|
120
|
+
const onAgentFailed = (event) => {
|
|
121
|
+
writeEvent("agentFailed", event);
|
|
122
|
+
if (event.contextId === context.id) close();
|
|
123
|
+
};
|
|
124
|
+
context.on("agentStarted", onAgentStarted);
|
|
125
|
+
context.on("agentSucceed", onAgentSucceed);
|
|
126
|
+
context.on("agentFailed", onAgentFailed);
|
|
127
|
+
} });
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
//#endregion
|
|
132
|
+
export { AgentResponseProgressStream, AgentResponseStreamParser, AgentResponseStreamSSE, EventStreamParser };
|
|
133
|
+
//# sourceMappingURL=event-stream.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-stream.mjs","names":[],"sources":["../../src/utils/event-stream.ts"],"sourcesContent":["import { createParser } from \"eventsource-parser\";\nimport { produce, setAutoFreeze } from \"immer\";\nimport {\n type AgentResponseChunk,\n type AgentResponseProgress,\n type AgentResponseStream,\n isAgentResponseDelta,\n isAgentResponseProgress,\n type Message,\n} from \"../agents/agent.js\";\nimport type { Context, ContextEventMap } from \"../aigne/context.js\";\nimport { tryOrThrow } from \"./type-utils.js\";\nimport type { Listener } from \"./typed-event-emitter.js\";\n\nsetAutoFreeze(false);\n\nexport class EventStreamParser<T> extends TransformStream<string, T | Error> {\n constructor() {\n let parser: ReturnType<typeof createParser> | undefined;\n\n super({\n start(controller) {\n parser = createParser({\n onEvent: (event) => {\n const json = tryOrThrow(\n () => JSON.parse(event.data) as T | { message: string },\n (e) => {\n controller.enqueue(\n new Error(`Parse response chunk json error: ${e.message} ${event.data}`),\n );\n },\n );\n if (json) {\n switch (event.event) {\n case \"error\":\n controller.enqueue(new Error((json as { message: string }).message));\n break;\n default: {\n if (!event.event) controller.enqueue(json as T);\n else console.warn(`Unknown event type: ${event.event}`, event.data);\n }\n }\n }\n },\n });\n },\n transform(chunk) {\n parser?.feed(chunk);\n },\n });\n }\n}\n\nexport class AgentResponseStreamParser<O extends Message> extends TransformStream<\n AgentResponseChunk<O> | Error,\n AgentResponseChunk<O>\n> {\n private json: O = {} as O;\n\n constructor() {\n super({\n transform: (chunk, controller) => {\n if (chunk instanceof Error) {\n controller.error(chunk);\n controller.terminate();\n return;\n }\n\n if (isAgentResponseDelta(chunk)) {\n this.json = produce(this.json, (draft) => {\n if (chunk.delta.json) Object.assign(draft, chunk.delta.json);\n\n if (chunk.delta.text) {\n for (const [key, text] of Object.entries(chunk.delta.text)) {\n const original = draft[key] as string | undefined;\n const t = (original || \"\") + (text || \"\");\n if (t) Object.assign(draft, { [key]: t });\n }\n }\n });\n\n controller.enqueue({\n ...chunk,\n delta: {\n ...chunk.delta,\n json: this.json,\n },\n });\n } else if (isAgentResponseProgress(chunk)) {\n if (chunk.progress.event === \"agentFailed\") {\n const { name, message } = chunk.progress.error;\n chunk.progress.error = new Error(message);\n chunk.progress.error.name = name;\n }\n controller.enqueue(chunk);\n }\n },\n });\n }\n}\n\nexport class AgentResponseStreamSSE<O extends Message> extends ReadableStream<string> {\n constructor(stream: AgentResponseStream<O>) {\n let reader: ReadableStreamDefaultReader<AgentResponseChunk<O>> | undefined;\n\n super({\n async pull(controller) {\n reader ??= stream.getReader();\n try {\n const { value, done } = await reader.read();\n if (done) {\n controller.close();\n return;\n }\n\n if (isAgentResponseProgress(value)) {\n if (value.progress.event === \"agentFailed\") {\n value.progress.error = {\n name: value.progress.error.name,\n message: value.progress.error.message,\n };\n }\n }\n\n controller.enqueue(`data: ${JSON.stringify(value)}\\n\\n`);\n } catch (error) {\n controller.enqueue(\n `event: error\\ndata: ${JSON.stringify({ message: error.message })}\\n\\n`,\n );\n controller.close();\n }\n },\n });\n }\n}\n\nexport class AgentResponseProgressStream extends ReadableStream<AgentResponseProgress> {\n constructor(context: Context) {\n super({\n async start(controller) {\n const writeEvent = (\n eventName: keyof ContextEventMap,\n event: ContextEventMap[typeof eventName][0],\n ) => {\n const progress = {\n ...event,\n event: eventName,\n agent: { name: event.agent.name },\n } as AgentResponseProgress[\"progress\"];\n\n controller.enqueue({ progress });\n };\n\n const close = () => {\n context.off(\"agentStarted\", onAgentStarted);\n context.off(\"agentSucceed\", onAgentSucceed);\n context.off(\"agentFailed\", onAgentFailed);\n controller.close();\n };\n\n const onAgentStarted: Listener<\"agentStarted\", ContextEventMap> = async (event) => {\n const taskTitle = await event.agent.renderTaskTitle(event.input);\n\n writeEvent(\"agentStarted\", { ...event, taskTitle });\n };\n const onAgentSucceed: Listener<\"agentSucceed\", ContextEventMap> = (event) => {\n writeEvent(\"agentSucceed\", event);\n if (event.contextId === context.id) {\n close();\n }\n };\n const onAgentFailed: Listener<\"agentFailed\", ContextEventMap> = (event) => {\n writeEvent(\"agentFailed\", event);\n if (event.contextId === context.id) {\n close();\n }\n };\n\n context.on(\"agentStarted\", onAgentStarted);\n context.on(\"agentSucceed\", onAgentSucceed);\n context.on(\"agentFailed\", onAgentFailed);\n },\n });\n }\n}\n"],"mappings":";;;;;;AAcA,cAAc,MAAM;AAEpB,IAAa,oBAAb,cAA0C,gBAAmC;CAC3E,cAAc;EACZ,IAAI;AAEJ,QAAM;GACJ,MAAM,YAAY;AAChB,aAAS,aAAa,EACpB,UAAU,UAAU;KAClB,MAAM,OAAO,iBACL,KAAK,MAAM,MAAM,KAAK,GAC3B,MAAM;AACL,iBAAW,wBACT,IAAI,MAAM,oCAAoC,EAAE,QAAQ,GAAG,MAAM,OAAO,CACzE;OAEJ;AACD,SAAI,KACF,SAAQ,MAAM,OAAd;MACE,KAAK;AACH,kBAAW,QAAQ,IAAI,MAAO,KAA6B,QAAQ,CAAC;AACpE;MACF,QACE,KAAI,CAAC,MAAM,MAAO,YAAW,QAAQ,KAAU;UAC1C,SAAQ,KAAK,uBAAuB,MAAM,SAAS,MAAM,KAAK;;OAK5E,CAAC;;GAEJ,UAAU,OAAO;AACf,YAAQ,KAAK,MAAM;;GAEtB,CAAC;;;AAIN,IAAa,4BAAb,cAAkE,gBAGhE;CACA,AAAQ,OAAU,EAAE;CAEpB,cAAc;AACZ,QAAM,EACJ,YAAY,OAAO,eAAe;AAChC,OAAI,iBAAiB,OAAO;AAC1B,eAAW,MAAM,MAAM;AACvB,eAAW,WAAW;AACtB;;AAGF,OAAI,qBAAqB,MAAM,EAAE;AAC/B,SAAK,OAAO,QAAQ,KAAK,OAAO,UAAU;AACxC,SAAI,MAAM,MAAM,KAAM,QAAO,OAAO,OAAO,MAAM,MAAM,KAAK;AAE5D,SAAI,MAAM,MAAM,KACd,MAAK,MAAM,CAAC,KAAK,SAAS,OAAO,QAAQ,MAAM,MAAM,KAAK,EAAE;MAE1D,MAAM,KADW,MAAM,QACA,OAAO,QAAQ;AACtC,UAAI,EAAG,QAAO,OAAO,OAAO,GAAG,MAAM,GAAG,CAAC;;MAG7C;AAEF,eAAW,QAAQ;KACjB,GAAG;KACH,OAAO;MACL,GAAG,MAAM;MACT,MAAM,KAAK;MACZ;KACF,CAAC;cACO,wBAAwB,MAAM,EAAE;AACzC,QAAI,MAAM,SAAS,UAAU,eAAe;KAC1C,MAAM,EAAE,MAAM,YAAY,MAAM,SAAS;AACzC,WAAM,SAAS,QAAQ,IAAI,MAAM,QAAQ;AACzC,WAAM,SAAS,MAAM,OAAO;;AAE9B,eAAW,QAAQ,MAAM;;KAG9B,CAAC;;;AAIN,IAAa,yBAAb,cAA+D,eAAuB;CACpF,YAAY,QAAgC;EAC1C,IAAI;AAEJ,QAAM,EACJ,MAAM,KAAK,YAAY;AACrB,cAAW,OAAO,WAAW;AAC7B,OAAI;IACF,MAAM,EAAE,OAAO,SAAS,MAAM,OAAO,MAAM;AAC3C,QAAI,MAAM;AACR,gBAAW,OAAO;AAClB;;AAGF,QAAI,wBAAwB,MAAM,EAChC;SAAI,MAAM,SAAS,UAAU,cAC3B,OAAM,SAAS,QAAQ;MACrB,MAAM,MAAM,SAAS,MAAM;MAC3B,SAAS,MAAM,SAAS,MAAM;MAC/B;;AAIL,eAAW,QAAQ,SAAS,KAAK,UAAU,MAAM,CAAC,MAAM;YACjD,OAAO;AACd,eAAW,QACT,uBAAuB,KAAK,UAAU,EAAE,SAAS,MAAM,SAAS,CAAC,CAAC,MACnE;AACD,eAAW,OAAO;;KAGvB,CAAC;;;AAIN,IAAa,8BAAb,cAAiD,eAAsC;CACrF,YAAY,SAAkB;AAC5B,QAAM,EACJ,MAAM,MAAM,YAAY;GACtB,MAAM,cACJ,WACA,UACG;IACH,MAAM,WAAW;KACf,GAAG;KACH,OAAO;KACP,OAAO,EAAE,MAAM,MAAM,MAAM,MAAM;KAClC;AAED,eAAW,QAAQ,EAAE,UAAU,CAAC;;GAGlC,MAAM,cAAc;AAClB,YAAQ,IAAI,gBAAgB,eAAe;AAC3C,YAAQ,IAAI,gBAAgB,eAAe;AAC3C,YAAQ,IAAI,eAAe,cAAc;AACzC,eAAW,OAAO;;GAGpB,MAAM,iBAA4D,OAAO,UAAU;IACjF,MAAM,YAAY,MAAM,MAAM,MAAM,gBAAgB,MAAM,MAAM;AAEhE,eAAW,gBAAgB;KAAE,GAAG;KAAO;KAAW,CAAC;;GAErD,MAAM,kBAA6D,UAAU;AAC3E,eAAW,gBAAgB,MAAM;AACjC,QAAI,MAAM,cAAc,QAAQ,GAC9B,QAAO;;GAGX,MAAM,iBAA2D,UAAU;AACzE,eAAW,eAAe,MAAM;AAChC,QAAI,MAAM,cAAc,QAAQ,GAC9B,QAAO;;AAIX,WAAQ,GAAG,gBAAgB,eAAe;AAC1C,WAAQ,GAAG,gBAAgB,eAAe;AAC1C,WAAQ,GAAG,eAAe,cAAc;KAE3C,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/utils/fetch.ts
|
|
3
|
+
const TIMEOUT = process.env.TIMEOUT && parseInt(process.env.TIMEOUT, 10) || 8e3;
|
|
4
|
+
async function fetch(input, init) {
|
|
5
|
+
const url = typeof input === "string" ? input : input instanceof URL ? input.toString() : input.url;
|
|
6
|
+
const timeout = init?.timeout || TIMEOUT;
|
|
7
|
+
const controller = timeout ? new AbortController() : void 0;
|
|
8
|
+
const timeoutId = controller ? setTimeout(() => controller.abort(/* @__PURE__ */ new Error(`Timeout after ${timeout}ms`)), timeout) : void 0;
|
|
9
|
+
try {
|
|
10
|
+
const response = await globalThis.fetch(input, {
|
|
11
|
+
...init,
|
|
12
|
+
signal: controller?.signal
|
|
13
|
+
}).catch((error) => {
|
|
14
|
+
throw new Error(`Fetch ${url} error: ${error.message}`);
|
|
15
|
+
});
|
|
16
|
+
clearTimeout(timeoutId);
|
|
17
|
+
if (!init?.skipResponseCheck && !response.ok) {
|
|
18
|
+
const text = await response.text().catch(() => "");
|
|
19
|
+
throw new Error(`Fetch ${url} error: ${response.status} ${response.statusText} ${text}`);
|
|
20
|
+
}
|
|
21
|
+
const json = response.json.bind(response);
|
|
22
|
+
response.json = () => json().catch((error) => {
|
|
23
|
+
throw new Error(`Parse JSON from ${url} error: ${error.message}`);
|
|
24
|
+
});
|
|
25
|
+
return response;
|
|
26
|
+
} finally {
|
|
27
|
+
clearTimeout(timeoutId);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
exports.fetch = fetch;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.cts","names":[],"sources":["../../src/utils/fetch.ts"],"mappings":";iBAEsB,KAAA,CAAA,KAAA,EACb,WAAA,EAAA,IAAA,GACA,WAAA;EAAA,OAAA;EAAA,iBAAA;AAAA,IACN,OAAA,CAAQ,QAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.mts","names":[],"sources":["../../src/utils/fetch.ts"],"mappings":";iBAEsB,KAAA,CAAA,KAAA,EACb,WAAA,EAAA,IAAA,GACA,WAAA;EAAA,OAAA;EAAA,iBAAA;AAAA,IACN,OAAA,CAAQ,QAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/utils/fetch.ts
|
|
2
|
+
const TIMEOUT = process.env.TIMEOUT && parseInt(process.env.TIMEOUT, 10) || 8e3;
|
|
3
|
+
async function fetch(input, init) {
|
|
4
|
+
const url = typeof input === "string" ? input : input instanceof URL ? input.toString() : input.url;
|
|
5
|
+
const timeout = init?.timeout || TIMEOUT;
|
|
6
|
+
const controller = timeout ? new AbortController() : void 0;
|
|
7
|
+
const timeoutId = controller ? setTimeout(() => controller.abort(/* @__PURE__ */ new Error(`Timeout after ${timeout}ms`)), timeout) : void 0;
|
|
8
|
+
try {
|
|
9
|
+
const response = await globalThis.fetch(input, {
|
|
10
|
+
...init,
|
|
11
|
+
signal: controller?.signal
|
|
12
|
+
}).catch((error) => {
|
|
13
|
+
throw new Error(`Fetch ${url} error: ${error.message}`);
|
|
14
|
+
});
|
|
15
|
+
clearTimeout(timeoutId);
|
|
16
|
+
if (!init?.skipResponseCheck && !response.ok) {
|
|
17
|
+
const text = await response.text().catch(() => "");
|
|
18
|
+
throw new Error(`Fetch ${url} error: ${response.status} ${response.statusText} ${text}`);
|
|
19
|
+
}
|
|
20
|
+
const json = response.json.bind(response);
|
|
21
|
+
response.json = () => json().catch((error) => {
|
|
22
|
+
throw new Error(`Parse JSON from ${url} error: ${error.message}`);
|
|
23
|
+
});
|
|
24
|
+
return response;
|
|
25
|
+
} finally {
|
|
26
|
+
clearTimeout(timeoutId);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { fetch };
|
|
32
|
+
//# sourceMappingURL=fetch.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.mjs","names":[],"sources":["../../src/utils/fetch.ts"],"sourcesContent":["const TIMEOUT = (process.env.TIMEOUT && parseInt(process.env.TIMEOUT, 10)) || 8e3; // default timeout 8 seconds\n\nexport async function fetch(\n input: RequestInfo,\n init?: RequestInit & { timeout?: number; skipResponseCheck?: boolean },\n): Promise<Response> {\n const url =\n typeof input === \"string\" ? input : input instanceof URL ? input.toString() : input.url;\n\n const timeout = init?.timeout || TIMEOUT;\n\n const controller = timeout ? new AbortController() : undefined;\n const timeoutId = controller\n ? setTimeout(() => controller.abort(new Error(`Timeout after ${timeout}ms`)), timeout)\n : undefined;\n\n try {\n const response = await globalThis\n .fetch(input, {\n ...init,\n signal: controller?.signal,\n })\n .catch((error) => {\n throw new Error(`Fetch ${url} error: ${error.message}`);\n });\n\n // Clear the timeout if the fetch completes successfully\n clearTimeout(timeoutId);\n\n if (!init?.skipResponseCheck && !response.ok) {\n const text = await response.text().catch(() => \"\");\n throw new Error(`Fetch ${url} error: ${response.status} ${response.statusText} ${text}`);\n }\n\n const json = response.json.bind(response);\n\n response.json = () =>\n json().catch((error) => {\n throw new Error(`Parse JSON from ${url} error: ${error.message}`);\n });\n\n return response;\n } finally {\n clearTimeout(timeoutId);\n }\n}\n"],"mappings":";AAAA,MAAM,UAAW,QAAQ,IAAI,WAAW,SAAS,QAAQ,IAAI,SAAS,GAAG,IAAK;AAE9E,eAAsB,MACpB,OACA,MACmB;CACnB,MAAM,MACJ,OAAO,UAAU,WAAW,QAAQ,iBAAiB,MAAM,MAAM,UAAU,GAAG,MAAM;CAEtF,MAAM,UAAU,MAAM,WAAW;CAEjC,MAAM,aAAa,UAAU,IAAI,iBAAiB,GAAG;CACrD,MAAM,YAAY,aACd,iBAAiB,WAAW,sBAAM,IAAI,MAAM,iBAAiB,QAAQ,IAAI,CAAC,EAAE,QAAQ,GACpF;AAEJ,KAAI;EACF,MAAM,WAAW,MAAM,WACpB,MAAM,OAAO;GACZ,GAAG;GACH,QAAQ,YAAY;GACrB,CAAC,CACD,OAAO,UAAU;AAChB,SAAM,IAAI,MAAM,SAAS,IAAI,UAAU,MAAM,UAAU;IACvD;AAGJ,eAAa,UAAU;AAEvB,MAAI,CAAC,MAAM,qBAAqB,CAAC,SAAS,IAAI;GAC5C,MAAM,OAAO,MAAM,SAAS,MAAM,CAAC,YAAY,GAAG;AAClD,SAAM,IAAI,MAAM,SAAS,IAAI,UAAU,SAAS,OAAO,GAAG,SAAS,WAAW,GAAG,OAAO;;EAG1F,MAAM,OAAO,SAAS,KAAK,KAAK,SAAS;AAEzC,WAAS,aACP,MAAM,CAAC,OAAO,UAAU;AACtB,SAAM,IAAI,MAAM,mBAAmB,IAAI,UAAU,MAAM,UAAU;IACjE;AAEJ,SAAO;WACC;AACR,eAAa,UAAU"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_utils_json_utils = require('./json-utils.cjs');
|
|
3
|
+
const require_utils_logger = require('./logger.cjs');
|
|
4
|
+
const require_utils_type_utils = require('./type-utils.cjs');
|
|
5
|
+
let zod = require("zod");
|
|
6
|
+
let zod_to_json_schema = require("zod-to-json-schema");
|
|
7
|
+
|
|
8
|
+
//#region src/utils/json-schema.ts
|
|
9
|
+
function outputSchemaToResponseFormatSchema(agentOutput) {
|
|
10
|
+
return convertNullableToOptional(setAdditionPropertiesDeep((0, zod_to_json_schema.zodToJsonSchema)(agentOutput), false))[0];
|
|
11
|
+
}
|
|
12
|
+
function setAdditionPropertiesDeep(schema, additionalProperties) {
|
|
13
|
+
if (Array.isArray(schema)) return schema.map((s) => setAdditionPropertiesDeep(s, additionalProperties));
|
|
14
|
+
if (schema !== null && typeof schema === "object" && !Array.isArray(schema)) return Object.entries(schema).reduce((acc, [key, value]) => {
|
|
15
|
+
acc[key] = setAdditionPropertiesDeep(value, additionalProperties);
|
|
16
|
+
if (acc.type === "object") acc.additionalProperties = additionalProperties;
|
|
17
|
+
return acc;
|
|
18
|
+
}, {});
|
|
19
|
+
return schema;
|
|
20
|
+
}
|
|
21
|
+
function parseJSON(json) {
|
|
22
|
+
try {
|
|
23
|
+
return JSON.parse(json);
|
|
24
|
+
} catch (error) {
|
|
25
|
+
require_utils_logger.logger.error("Failed to parse JSON", {
|
|
26
|
+
json,
|
|
27
|
+
error
|
|
28
|
+
});
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Ensure that the union array has at least 1 item.
|
|
34
|
+
* NOTE: the zod union requires at least 2 items (just type definition, not runtime behavior)
|
|
35
|
+
* so we need to ensure that the union has at least 1 item.
|
|
36
|
+
* @param union - The union array
|
|
37
|
+
* @returns The union array with at least 1 item (but the type is at least 2 items for z.union)
|
|
38
|
+
*/
|
|
39
|
+
function ensureZodUnionArray(union) {
|
|
40
|
+
if (!(union.length >= 1)) throw new Error(`Union must have at least 1 item, but got ${union.length}`);
|
|
41
|
+
return union;
|
|
42
|
+
}
|
|
43
|
+
function isZodSchema(schema) {
|
|
44
|
+
if (!schema || typeof schema !== "object") return false;
|
|
45
|
+
return typeof schema.parse === "function" && typeof schema.safeParse === "function";
|
|
46
|
+
}
|
|
47
|
+
function convertNullableToOptional(schema) {
|
|
48
|
+
if (!require_utils_type_utils.isRecord(schema)) return [schema, false];
|
|
49
|
+
if (schema.type === "object" && "properties" in schema && require_utils_type_utils.isRecord(schema.properties)) {
|
|
50
|
+
const optionalProperties = [];
|
|
51
|
+
const properties = Object.fromEntries(Object.entries(schema.properties).map(([key, value]) => {
|
|
52
|
+
const [property, optional] = convertNullableToOptional(value);
|
|
53
|
+
if (optional) optionalProperties.push(key);
|
|
54
|
+
return [key, property];
|
|
55
|
+
}));
|
|
56
|
+
const required = ("required" in schema && Array.isArray(schema.required) ? schema.required : []).filter((key) => !optionalProperties.includes(key));
|
|
57
|
+
return [{
|
|
58
|
+
...schema,
|
|
59
|
+
properties,
|
|
60
|
+
required
|
|
61
|
+
}, false];
|
|
62
|
+
}
|
|
63
|
+
if (schema.type === "array" && "items" in schema && require_utils_type_utils.isRecord(schema.items)) {
|
|
64
|
+
const [items, _] = convertNullableToOptional(schema.items);
|
|
65
|
+
return [{
|
|
66
|
+
...schema,
|
|
67
|
+
items
|
|
68
|
+
}, false];
|
|
69
|
+
}
|
|
70
|
+
if (Array.isArray(schema.type)) {
|
|
71
|
+
if (schema.type.includes("null") && schema.type.length === 2) return [{
|
|
72
|
+
...schema,
|
|
73
|
+
type: schema.type.filter((t) => t !== "null")[0]
|
|
74
|
+
}, true];
|
|
75
|
+
}
|
|
76
|
+
if (Array.isArray(schema.anyOf)) {
|
|
77
|
+
const anyOf = schema.anyOf.filter((i) => require_utils_type_utils.isRecord(i) && i.type !== "null" && !("not" in i && require_utils_type_utils.isEmpty(i.not)));
|
|
78
|
+
const optional = anyOf.length !== schema.anyOf.length;
|
|
79
|
+
if (anyOf.length === 1) return [convertNullableToOptional(anyOf[0])[0], optional];
|
|
80
|
+
}
|
|
81
|
+
return [schema, false];
|
|
82
|
+
}
|
|
83
|
+
const wrapJsonParse = (schema) => {
|
|
84
|
+
return zod.z.preprocess((val) => typeof val === "string" ? require_utils_json_utils.safeParseJSON(val) : val, schema);
|
|
85
|
+
};
|
|
86
|
+
const wrapAutoParseJsonSchema = (schema) => {
|
|
87
|
+
if (schema instanceof zod.z.ZodNullable) return zod.z.nullable(wrapAutoParseJsonSchema(schema._def.innerType));
|
|
88
|
+
if (schema instanceof zod.z.ZodOptional) return zod.z.optional(wrapAutoParseJsonSchema(schema._def.innerType));
|
|
89
|
+
if (schema instanceof zod.z.ZodObject) return wrapJsonParse(schema.extend(Object.fromEntries(Object.entries(schema.shape).map(([key, value]) => [key, wrapAutoParseJsonSchema(value)]))));
|
|
90
|
+
if (schema instanceof zod.z.ZodArray) {
|
|
91
|
+
schema._def.type = wrapAutoParseJsonSchema(schema._def.type);
|
|
92
|
+
return wrapJsonParse(schema);
|
|
93
|
+
}
|
|
94
|
+
return schema;
|
|
95
|
+
};
|
|
96
|
+
function getZodObjectKeys(schema) {
|
|
97
|
+
if ("shape" in schema && schema.shape) return Object.keys(schema.shape);
|
|
98
|
+
return [];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
//#endregion
|
|
102
|
+
exports.ensureZodUnionArray = ensureZodUnionArray;
|
|
103
|
+
exports.getZodObjectKeys = getZodObjectKeys;
|
|
104
|
+
exports.isZodSchema = isZodSchema;
|
|
105
|
+
exports.outputSchemaToResponseFormatSchema = outputSchemaToResponseFormatSchema;
|
|
106
|
+
exports.parseJSON = parseJSON;
|
|
107
|
+
exports.wrapAutoParseJsonSchema = wrapAutoParseJsonSchema;
|