@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,42 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_agent_skill = require('./agent-skill.cjs');
|
|
3
|
+
let front_matter = require("front-matter");
|
|
4
|
+
front_matter = require_rolldown_runtime.__toESM(front_matter);
|
|
5
|
+
|
|
6
|
+
//#region src/prompt/skills/afs/agent-skill/skill-loader.ts
|
|
7
|
+
function parseSkill(content, path) {
|
|
8
|
+
const meta = front_matter.default.default(content);
|
|
9
|
+
return {
|
|
10
|
+
path,
|
|
11
|
+
name: meta.attributes.name,
|
|
12
|
+
description: meta.attributes.description,
|
|
13
|
+
content: meta.body
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
async function discoverSkillsFromAFS(afs) {
|
|
17
|
+
const filtered = (await afs.listModules()).filter(({ module: m }) => m.agentSkills === true);
|
|
18
|
+
if (!filtered.length) return [];
|
|
19
|
+
const skills = [];
|
|
20
|
+
for (const module of filtered) {
|
|
21
|
+
const data = (await afs.list(module.path, {
|
|
22
|
+
pattern: "**/SKILL.md",
|
|
23
|
+
maxDepth: 10
|
|
24
|
+
}).catch(() => ({ data: [] }))).data;
|
|
25
|
+
for (const entry of data) {
|
|
26
|
+
const { data: file } = await afs.read(entry.path);
|
|
27
|
+
if (typeof file?.content !== "string") continue;
|
|
28
|
+
const dirname = entry.path.split("/").slice(0, -1).join("/");
|
|
29
|
+
const skill = parseSkill(file.content, dirname);
|
|
30
|
+
skills.push(skill);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return skills;
|
|
34
|
+
}
|
|
35
|
+
async function loadAgentSkillFromAFS({ afs }) {
|
|
36
|
+
const skills = await discoverSkillsFromAFS(afs);
|
|
37
|
+
if (!skills.length) return;
|
|
38
|
+
return new require_agent_skill.AgentSkill({ agentSkills: skills });
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
exports.loadAgentSkillFromAFS = loadAgentSkillFromAFS;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AgentSkill } from "./agent-skill.mjs";
|
|
2
|
+
import fm from "front-matter";
|
|
3
|
+
|
|
4
|
+
//#region src/prompt/skills/afs/agent-skill/skill-loader.ts
|
|
5
|
+
function parseSkill(content, path) {
|
|
6
|
+
const meta = fm.default(content);
|
|
7
|
+
return {
|
|
8
|
+
path,
|
|
9
|
+
name: meta.attributes.name,
|
|
10
|
+
description: meta.attributes.description,
|
|
11
|
+
content: meta.body
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
async function discoverSkillsFromAFS(afs) {
|
|
15
|
+
const filtered = (await afs.listModules()).filter(({ module: m }) => m.agentSkills === true);
|
|
16
|
+
if (!filtered.length) return [];
|
|
17
|
+
const skills = [];
|
|
18
|
+
for (const module of filtered) {
|
|
19
|
+
const data = (await afs.list(module.path, {
|
|
20
|
+
pattern: "**/SKILL.md",
|
|
21
|
+
maxDepth: 10
|
|
22
|
+
}).catch(() => ({ data: [] }))).data;
|
|
23
|
+
for (const entry of data) {
|
|
24
|
+
const { data: file } = await afs.read(entry.path);
|
|
25
|
+
if (typeof file?.content !== "string") continue;
|
|
26
|
+
const dirname = entry.path.split("/").slice(0, -1).join("/");
|
|
27
|
+
const skill = parseSkill(file.content, dirname);
|
|
28
|
+
skills.push(skill);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return skills;
|
|
32
|
+
}
|
|
33
|
+
async function loadAgentSkillFromAFS({ afs }) {
|
|
34
|
+
const skills = await discoverSkillsFromAFS(afs);
|
|
35
|
+
if (!skills.length) return;
|
|
36
|
+
return new AgentSkill({ agentSkills: skills });
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { loadAgentSkillFromAFS };
|
|
41
|
+
//# sourceMappingURL=skill-loader.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-loader.mjs","names":[],"sources":["../../../../../src/prompt/skills/afs/agent-skill/skill-loader.ts"],"sourcesContent":["import type { AFS, AFSEntry } from \"@aigne/afs\";\nimport fm from \"front-matter\";\nimport { AgentSkill } from \"./agent-skill.js\";\n\nexport interface Skill {\n path: string;\n name: string;\n description: string;\n content: string;\n}\n\nfunction parseSkill(content: string, path: string): Skill {\n const meta = fm.default<{ name: string; description: string }>(content);\n\n return {\n path,\n name: meta.attributes.name as string,\n description: meta.attributes.description as string,\n content: meta.body,\n };\n}\n\nexport async function discoverSkillsFromAFS(afs: AFS): Promise<Skill[]> {\n const modules = await afs.listModules();\n const filtered = modules.filter(({ module: m }) => m.agentSkills === true);\n if (!filtered.length) return [];\n\n const skills: Skill[] = [];\n for (const module of filtered) {\n const data: AFSEntry[] = (\n await afs\n .list(module.path, {\n pattern: \"**/SKILL.md\",\n maxDepth: 10,\n })\n .catch(() => ({ data: [] }))\n ).data;\n\n for (const entry of data) {\n const { data: file } = await afs.read(entry.path);\n if (typeof file?.content !== \"string\") continue;\n\n const dirname = entry.path.split(\"/\").slice(0, -1).join(\"/\");\n\n const skill = parseSkill(file.content, dirname);\n skills.push(skill);\n }\n }\n\n return skills;\n}\n\nexport async function loadAgentSkillFromAFS({\n afs,\n}: {\n afs: AFS;\n}): Promise<AgentSkill | undefined> {\n const skills = await discoverSkillsFromAFS(afs);\n if (!skills.length) return;\n\n return new AgentSkill({\n agentSkills: skills,\n });\n}\n"],"mappings":";;;;AAWA,SAAS,WAAW,SAAiB,MAAqB;CACxD,MAAM,OAAO,GAAG,QAA+C,QAAQ;AAEvE,QAAO;EACL;EACA,MAAM,KAAK,WAAW;EACtB,aAAa,KAAK,WAAW;EAC7B,SAAS,KAAK;EACf;;AAGH,eAAsB,sBAAsB,KAA4B;CAEtE,MAAM,YADU,MAAM,IAAI,aAAa,EACd,QAAQ,EAAE,QAAQ,QAAQ,EAAE,gBAAgB,KAAK;AAC1E,KAAI,CAAC,SAAS,OAAQ,QAAO,EAAE;CAE/B,MAAM,SAAkB,EAAE;AAC1B,MAAK,MAAM,UAAU,UAAU;EAC7B,MAAM,QACJ,MAAM,IACH,KAAK,OAAO,MAAM;GACjB,SAAS;GACT,UAAU;GACX,CAAC,CACD,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,EAC9B;AAEF,OAAK,MAAM,SAAS,MAAM;GACxB,MAAM,EAAE,MAAM,SAAS,MAAM,IAAI,KAAK,MAAM,KAAK;AACjD,OAAI,OAAO,MAAM,YAAY,SAAU;GAEvC,MAAM,UAAU,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI;GAE5D,MAAM,QAAQ,WAAW,KAAK,SAAS,QAAQ;AAC/C,UAAO,KAAK,MAAM;;;AAItB,QAAO;;AAGT,eAAsB,sBAAsB,EAC1C,OAGkC;CAClC,MAAM,SAAS,MAAM,sBAAsB,IAAI;AAC/C,KAAI,CAAC,OAAO,OAAQ;AAEpB,QAAO,IAAI,WAAW,EACpB,aAAa,QACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.mjs","names":[],"sources":["../../../../src/prompt/skills/afs/base.ts"],"sourcesContent":["import { Agent, type Message } from \"../../../agents/agent.js\";\n\nexport abstract class AFSSkillBase<\n I extends Message = Message,\n O extends Message = Message,\n> extends Agent<I, O> {\n override tag = \"AFS\";\n}\n"],"mappings":";;;AAEA,IAAsB,eAAtB,cAGU,MAAY;CACpB,AAAS,MAAM"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_base = require('./base.cjs');
|
|
3
|
+
let zod = require("zod");
|
|
4
|
+
|
|
5
|
+
//#region src/prompt/skills/afs/delete.ts
|
|
6
|
+
var AFSDeleteAgent = class extends require_base.AFSSkillBase {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super({
|
|
9
|
+
name: "afs_delete",
|
|
10
|
+
description: `Permanently delete files or directories from the Agentic File System (AFS)
|
|
11
|
+
- Removes files or directories at the specified AFS path
|
|
12
|
+
- Supports recursive deletion for directories with contents
|
|
13
|
+
- Use with caution as deletion is permanent
|
|
14
|
+
|
|
15
|
+
Usage:
|
|
16
|
+
- The path must be an absolute AFS path starting with "/" (e.g., "/docs/old-file.md", "/temp")
|
|
17
|
+
- This is NOT a local system file path - it operates within the AFS virtual file system
|
|
18
|
+
- To delete a directory, you MUST set recursive=true
|
|
19
|
+
- Deleting a non-empty directory without recursive=true will fail
|
|
20
|
+
- This operation cannot be undone`,
|
|
21
|
+
...options,
|
|
22
|
+
inputSchema: zod.z.object({
|
|
23
|
+
path: zod.z.string().describe("Absolute AFS path to delete (e.g., '/docs/old-file.md', '/temp'). Must start with '/'"),
|
|
24
|
+
recursive: zod.z.boolean().optional().default(false).describe("MUST be set to true to delete directories. Default: false (files only)")
|
|
25
|
+
}),
|
|
26
|
+
outputSchema: zod.z.object({
|
|
27
|
+
status: zod.z.string(),
|
|
28
|
+
tool: zod.z.string(),
|
|
29
|
+
path: zod.z.string(),
|
|
30
|
+
message: zod.z.string().optional()
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async process(input, options) {
|
|
35
|
+
if (!this.afs) throw new Error("AFS is not configured for this agent.");
|
|
36
|
+
const result = await this.afs.delete(input.path, {
|
|
37
|
+
recursive: input.recursive ?? false,
|
|
38
|
+
context: options.context
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
status: "success",
|
|
42
|
+
tool: "afs_delete",
|
|
43
|
+
path: input.path,
|
|
44
|
+
...result
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
exports.AFSDeleteAgent = AFSDeleteAgent;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { AFSSkillBase } from "./base.mjs";
|
|
2
|
+
import { z as z$1 } from "zod";
|
|
3
|
+
|
|
4
|
+
//#region src/prompt/skills/afs/delete.ts
|
|
5
|
+
var AFSDeleteAgent = class extends AFSSkillBase {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super({
|
|
8
|
+
name: "afs_delete",
|
|
9
|
+
description: `Permanently delete files or directories from the Agentic File System (AFS)
|
|
10
|
+
- Removes files or directories at the specified AFS path
|
|
11
|
+
- Supports recursive deletion for directories with contents
|
|
12
|
+
- Use with caution as deletion is permanent
|
|
13
|
+
|
|
14
|
+
Usage:
|
|
15
|
+
- The path must be an absolute AFS path starting with "/" (e.g., "/docs/old-file.md", "/temp")
|
|
16
|
+
- This is NOT a local system file path - it operates within the AFS virtual file system
|
|
17
|
+
- To delete a directory, you MUST set recursive=true
|
|
18
|
+
- Deleting a non-empty directory without recursive=true will fail
|
|
19
|
+
- This operation cannot be undone`,
|
|
20
|
+
...options,
|
|
21
|
+
inputSchema: z$1.object({
|
|
22
|
+
path: z$1.string().describe("Absolute AFS path to delete (e.g., '/docs/old-file.md', '/temp'). Must start with '/'"),
|
|
23
|
+
recursive: z$1.boolean().optional().default(false).describe("MUST be set to true to delete directories. Default: false (files only)")
|
|
24
|
+
}),
|
|
25
|
+
outputSchema: z$1.object({
|
|
26
|
+
status: z$1.string(),
|
|
27
|
+
tool: z$1.string(),
|
|
28
|
+
path: z$1.string(),
|
|
29
|
+
message: z$1.string().optional()
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async process(input, options) {
|
|
34
|
+
if (!this.afs) throw new Error("AFS is not configured for this agent.");
|
|
35
|
+
const result = await this.afs.delete(input.path, {
|
|
36
|
+
recursive: input.recursive ?? false,
|
|
37
|
+
context: options.context
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
status: "success",
|
|
41
|
+
tool: "afs_delete",
|
|
42
|
+
path: input.path,
|
|
43
|
+
...result
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
export { AFSDeleteAgent };
|
|
50
|
+
//# sourceMappingURL=delete.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.mjs","names":["z"],"sources":["../../../../src/prompt/skills/afs/delete.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { AgentInvokeOptions, AgentOptions, Message } from \"../../../agents/agent.js\";\nimport { AFSSkillBase } from \"./base.js\";\n\nexport interface AFSDeleteInput extends Message {\n path: string;\n recursive?: boolean;\n}\n\nexport interface AFSDeleteOutput extends Message {\n status: string;\n tool: string;\n path: string;\n message?: string;\n}\n\nexport interface AFSDeleteAgentOptions extends AgentOptions<AFSDeleteInput, AFSDeleteOutput> {\n afs: NonNullable<AgentOptions<AFSDeleteInput, AFSDeleteOutput>[\"afs\"]>;\n}\n\nexport class AFSDeleteAgent extends AFSSkillBase<AFSDeleteInput, AFSDeleteOutput> {\n constructor(options: AFSDeleteAgentOptions) {\n super({\n name: \"afs_delete\",\n description: `Permanently delete files or directories from the Agentic File System (AFS)\n- Removes files or directories at the specified AFS path\n- Supports recursive deletion for directories with contents\n- Use with caution as deletion is permanent\n\nUsage:\n- The path must be an absolute AFS path starting with \"/\" (e.g., \"/docs/old-file.md\", \"/temp\")\n- This is NOT a local system file path - it operates within the AFS virtual file system\n- To delete a directory, you MUST set recursive=true\n- Deleting a non-empty directory without recursive=true will fail\n- This operation cannot be undone`,\n ...options,\n inputSchema: z.object({\n path: z\n .string()\n .describe(\n \"Absolute AFS path to delete (e.g., '/docs/old-file.md', '/temp'). Must start with '/'\",\n ),\n recursive: z\n .boolean()\n .optional()\n .default(false)\n .describe(\"MUST be set to true to delete directories. Default: false (files only)\"),\n }),\n outputSchema: z.object({\n status: z.string(),\n tool: z.string(),\n path: z.string(),\n message: z.string().optional(),\n }),\n });\n }\n\n async process(input: AFSDeleteInput, options: AgentInvokeOptions): Promise<AFSDeleteOutput> {\n if (!this.afs) throw new Error(\"AFS is not configured for this agent.\");\n\n const result = await this.afs.delete(input.path, {\n recursive: input.recursive ?? false,\n context: options.context,\n });\n\n return {\n status: \"success\",\n tool: \"afs_delete\",\n path: input.path,\n ...result,\n };\n }\n}\n"],"mappings":";;;;AAoBA,IAAa,iBAAb,cAAoC,aAA8C;CAChF,YAAY,SAAgC;AAC1C,QAAM;GACJ,MAAM;GACN,aAAa;;;;;;;;;;;GAWb,GAAG;GACH,aAAaA,IAAE,OAAO;IACpB,MAAMA,IACH,QAAQ,CACR,SACC,wFACD;IACH,WAAWA,IACR,SAAS,CACT,UAAU,CACV,QAAQ,MAAM,CACd,SAAS,yEAAyE;IACtF,CAAC;GACF,cAAcA,IAAE,OAAO;IACrB,QAAQA,IAAE,QAAQ;IAClB,MAAMA,IAAE,QAAQ;IAChB,MAAMA,IAAE,QAAQ;IAChB,SAASA,IAAE,QAAQ,CAAC,UAAU;IAC/B,CAAC;GACH,CAAC;;CAGJ,MAAM,QAAQ,OAAuB,SAAuD;AAC1F,MAAI,CAAC,KAAK,IAAK,OAAM,IAAI,MAAM,wCAAwC;EAEvE,MAAM,SAAS,MAAM,KAAK,IAAI,OAAO,MAAM,MAAM;GAC/C,WAAW,MAAM,aAAa;GAC9B,SAAS,QAAQ;GAClB,CAAC;AAEF,SAAO;GACL,QAAQ;GACR,MAAM;GACN,MAAM,MAAM;GACZ,GAAG;GACJ"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_base = require('./base.cjs');
|
|
3
|
+
let zod = require("zod");
|
|
4
|
+
|
|
5
|
+
//#region src/prompt/skills/afs/edit.ts
|
|
6
|
+
const CONTEXT_LINES = 4;
|
|
7
|
+
var AFSEditAgent = class extends require_base.AFSSkillBase {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
super({
|
|
10
|
+
name: "afs_edit",
|
|
11
|
+
description: `Performs exact string replacements in files within the Agentic File System (AFS).
|
|
12
|
+
|
|
13
|
+
Usage:
|
|
14
|
+
- You must use afs_read at least once before editing to understand the file content
|
|
15
|
+
- The path must be an absolute AFS path starting with "/" (e.g., "/docs/readme.md")
|
|
16
|
+
- Preserve exact indentation (tabs/spaces) as it appears in the file
|
|
17
|
+
- The edit will FAIL if oldString is not found in the file
|
|
18
|
+
- The edit will FAIL if oldString appears multiple times (unless replaceAll is true)
|
|
19
|
+
- Use replaceAll to replace/rename strings across the entire file`,
|
|
20
|
+
...options,
|
|
21
|
+
inputSchema: zod.z.object({
|
|
22
|
+
path: zod.z.string().describe("Absolute AFS path to the file to edit (e.g., '/docs/readme.md'). Must start with '/'"),
|
|
23
|
+
oldString: zod.z.string().describe("The exact text to replace. Must match file content exactly including whitespace"),
|
|
24
|
+
newString: zod.z.string().describe("The text to replace it with (must be different from oldString)"),
|
|
25
|
+
replaceAll: zod.z.boolean().optional().default(false).describe("Replace all occurrences of oldString (default: false)")
|
|
26
|
+
}),
|
|
27
|
+
outputSchema: zod.z.object({
|
|
28
|
+
status: zod.z.string(),
|
|
29
|
+
tool: zod.z.string(),
|
|
30
|
+
path: zod.z.string(),
|
|
31
|
+
message: zod.z.string(),
|
|
32
|
+
snippet: zod.z.string()
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
async process(input, options) {
|
|
37
|
+
if (!this.afs) throw new Error("AFS is not configured for this agent.");
|
|
38
|
+
const { path, oldString, newString, replaceAll = false } = input;
|
|
39
|
+
if (oldString === newString) throw new Error("oldString and newString must be different");
|
|
40
|
+
const readResult = await this.afs.read(path, { context: options.context });
|
|
41
|
+
if (!readResult.data?.content || typeof readResult.data.content !== "string") throw new Error(`Cannot read file content from: ${path}`);
|
|
42
|
+
const originalContent = readResult.data.content;
|
|
43
|
+
const occurrences = this.countOccurrences(originalContent, oldString);
|
|
44
|
+
if (occurrences === 0) throw new Error(`oldString not found in file: ${path}`);
|
|
45
|
+
if (occurrences > 1 && !replaceAll) throw new Error(`oldString appears ${occurrences} times in file. Use replaceAll=true to replace all occurrences, or provide more context to make oldString unique.`);
|
|
46
|
+
const firstOccurrenceIndex = originalContent.indexOf(oldString);
|
|
47
|
+
const updatedContent = replaceAll ? originalContent.split(oldString).join(newString) : originalContent.replace(oldString, newString);
|
|
48
|
+
await this.afs.write(path, { content: updatedContent }, { context: options.context });
|
|
49
|
+
const snippet = this.extractSnippet(updatedContent, firstOccurrenceIndex, newString.length);
|
|
50
|
+
const replacementCount = replaceAll ? occurrences : 1;
|
|
51
|
+
return {
|
|
52
|
+
status: "success",
|
|
53
|
+
tool: "afs_edit",
|
|
54
|
+
path,
|
|
55
|
+
message: `Replaced ${replacementCount} occurrence${replacementCount > 1 ? "s" : ""} in ${path}`,
|
|
56
|
+
snippet
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
countOccurrences(text, search) {
|
|
60
|
+
let count = 0;
|
|
61
|
+
let position = text.indexOf(search);
|
|
62
|
+
while (position !== -1) {
|
|
63
|
+
count++;
|
|
64
|
+
position = text.indexOf(search, position + search.length);
|
|
65
|
+
}
|
|
66
|
+
return count;
|
|
67
|
+
}
|
|
68
|
+
extractSnippet(content, editStartIndex, newStringLength) {
|
|
69
|
+
const lines = content.split("\n");
|
|
70
|
+
let charCount = 0;
|
|
71
|
+
let editStartLine = 0;
|
|
72
|
+
for (let i = 0; i < lines.length; i++) {
|
|
73
|
+
const lineLength = (lines[i]?.length ?? 0) + 1;
|
|
74
|
+
if (charCount + lineLength > editStartIndex) {
|
|
75
|
+
editStartLine = i;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
charCount += lineLength;
|
|
79
|
+
}
|
|
80
|
+
const newContentLines = content.substring(editStartIndex, editStartIndex + newStringLength).split("\n").length;
|
|
81
|
+
const editEndLine = editStartLine + newContentLines - 1;
|
|
82
|
+
const startLine = Math.max(0, editStartLine - CONTEXT_LINES);
|
|
83
|
+
const endLine = Math.min(lines.length - 1, editEndLine + CONTEXT_LINES);
|
|
84
|
+
return lines.slice(startLine, endLine + 1).map((line, idx) => {
|
|
85
|
+
const lineNum = startLine + idx + 1;
|
|
86
|
+
return `${String(lineNum).padStart(4)}| ${line}`;
|
|
87
|
+
}).join("\n");
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
//#endregion
|
|
92
|
+
exports.AFSEditAgent = AFSEditAgent;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { AFSSkillBase } from "./base.mjs";
|
|
2
|
+
import { z as z$1 } from "zod";
|
|
3
|
+
|
|
4
|
+
//#region src/prompt/skills/afs/edit.ts
|
|
5
|
+
const CONTEXT_LINES = 4;
|
|
6
|
+
var AFSEditAgent = class extends AFSSkillBase {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super({
|
|
9
|
+
name: "afs_edit",
|
|
10
|
+
description: `Performs exact string replacements in files within the Agentic File System (AFS).
|
|
11
|
+
|
|
12
|
+
Usage:
|
|
13
|
+
- You must use afs_read at least once before editing to understand the file content
|
|
14
|
+
- The path must be an absolute AFS path starting with "/" (e.g., "/docs/readme.md")
|
|
15
|
+
- Preserve exact indentation (tabs/spaces) as it appears in the file
|
|
16
|
+
- The edit will FAIL if oldString is not found in the file
|
|
17
|
+
- The edit will FAIL if oldString appears multiple times (unless replaceAll is true)
|
|
18
|
+
- Use replaceAll to replace/rename strings across the entire file`,
|
|
19
|
+
...options,
|
|
20
|
+
inputSchema: z$1.object({
|
|
21
|
+
path: z$1.string().describe("Absolute AFS path to the file to edit (e.g., '/docs/readme.md'). Must start with '/'"),
|
|
22
|
+
oldString: z$1.string().describe("The exact text to replace. Must match file content exactly including whitespace"),
|
|
23
|
+
newString: z$1.string().describe("The text to replace it with (must be different from oldString)"),
|
|
24
|
+
replaceAll: z$1.boolean().optional().default(false).describe("Replace all occurrences of oldString (default: false)")
|
|
25
|
+
}),
|
|
26
|
+
outputSchema: z$1.object({
|
|
27
|
+
status: z$1.string(),
|
|
28
|
+
tool: z$1.string(),
|
|
29
|
+
path: z$1.string(),
|
|
30
|
+
message: z$1.string(),
|
|
31
|
+
snippet: z$1.string()
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async process(input, options) {
|
|
36
|
+
if (!this.afs) throw new Error("AFS is not configured for this agent.");
|
|
37
|
+
const { path, oldString, newString, replaceAll = false } = input;
|
|
38
|
+
if (oldString === newString) throw new Error("oldString and newString must be different");
|
|
39
|
+
const readResult = await this.afs.read(path, { context: options.context });
|
|
40
|
+
if (!readResult.data?.content || typeof readResult.data.content !== "string") throw new Error(`Cannot read file content from: ${path}`);
|
|
41
|
+
const originalContent = readResult.data.content;
|
|
42
|
+
const occurrences = this.countOccurrences(originalContent, oldString);
|
|
43
|
+
if (occurrences === 0) throw new Error(`oldString not found in file: ${path}`);
|
|
44
|
+
if (occurrences > 1 && !replaceAll) throw new Error(`oldString appears ${occurrences} times in file. Use replaceAll=true to replace all occurrences, or provide more context to make oldString unique.`);
|
|
45
|
+
const firstOccurrenceIndex = originalContent.indexOf(oldString);
|
|
46
|
+
const updatedContent = replaceAll ? originalContent.split(oldString).join(newString) : originalContent.replace(oldString, newString);
|
|
47
|
+
await this.afs.write(path, { content: updatedContent }, { context: options.context });
|
|
48
|
+
const snippet = this.extractSnippet(updatedContent, firstOccurrenceIndex, newString.length);
|
|
49
|
+
const replacementCount = replaceAll ? occurrences : 1;
|
|
50
|
+
return {
|
|
51
|
+
status: "success",
|
|
52
|
+
tool: "afs_edit",
|
|
53
|
+
path,
|
|
54
|
+
message: `Replaced ${replacementCount} occurrence${replacementCount > 1 ? "s" : ""} in ${path}`,
|
|
55
|
+
snippet
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
countOccurrences(text, search) {
|
|
59
|
+
let count = 0;
|
|
60
|
+
let position = text.indexOf(search);
|
|
61
|
+
while (position !== -1) {
|
|
62
|
+
count++;
|
|
63
|
+
position = text.indexOf(search, position + search.length);
|
|
64
|
+
}
|
|
65
|
+
return count;
|
|
66
|
+
}
|
|
67
|
+
extractSnippet(content, editStartIndex, newStringLength) {
|
|
68
|
+
const lines = content.split("\n");
|
|
69
|
+
let charCount = 0;
|
|
70
|
+
let editStartLine = 0;
|
|
71
|
+
for (let i = 0; i < lines.length; i++) {
|
|
72
|
+
const lineLength = (lines[i]?.length ?? 0) + 1;
|
|
73
|
+
if (charCount + lineLength > editStartIndex) {
|
|
74
|
+
editStartLine = i;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
charCount += lineLength;
|
|
78
|
+
}
|
|
79
|
+
const newContentLines = content.substring(editStartIndex, editStartIndex + newStringLength).split("\n").length;
|
|
80
|
+
const editEndLine = editStartLine + newContentLines - 1;
|
|
81
|
+
const startLine = Math.max(0, editStartLine - CONTEXT_LINES);
|
|
82
|
+
const endLine = Math.min(lines.length - 1, editEndLine + CONTEXT_LINES);
|
|
83
|
+
return lines.slice(startLine, endLine + 1).map((line, idx) => {
|
|
84
|
+
const lineNum = startLine + idx + 1;
|
|
85
|
+
return `${String(lineNum).padStart(4)}| ${line}`;
|
|
86
|
+
}).join("\n");
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
//#endregion
|
|
91
|
+
export { AFSEditAgent };
|
|
92
|
+
//# sourceMappingURL=edit.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit.mjs","names":["z"],"sources":["../../../../src/prompt/skills/afs/edit.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { AgentInvokeOptions, AgentOptions, Message } from \"../../../agents/agent.js\";\nimport { AFSSkillBase } from \"./base.js\";\n\nconst CONTEXT_LINES = 4; // Number of lines to show before and after the edit\n\nexport interface AFSEditInput extends Message {\n path: string;\n oldString: string;\n newString: string;\n replaceAll?: boolean;\n}\n\nexport interface AFSEditOutput extends Message {\n status: string;\n tool: string;\n path: string;\n message: string;\n snippet: string;\n}\n\nexport interface AFSEditAgentOptions extends AgentOptions<AFSEditInput, AFSEditOutput> {\n afs: NonNullable<AgentOptions<AFSEditInput, AFSEditOutput>[\"afs\"]>;\n}\n\nexport class AFSEditAgent extends AFSSkillBase<AFSEditInput, AFSEditOutput> {\n constructor(options: AFSEditAgentOptions) {\n super({\n name: \"afs_edit\",\n description: `Performs exact string replacements in files within the Agentic File System (AFS).\n\nUsage:\n- You must use afs_read at least once before editing to understand the file content\n- The path must be an absolute AFS path starting with \"/\" (e.g., \"/docs/readme.md\")\n- Preserve exact indentation (tabs/spaces) as it appears in the file\n- The edit will FAIL if oldString is not found in the file\n- The edit will FAIL if oldString appears multiple times (unless replaceAll is true)\n- Use replaceAll to replace/rename strings across the entire file`,\n ...options,\n inputSchema: z.object({\n path: z\n .string()\n .describe(\n \"Absolute AFS path to the file to edit (e.g., '/docs/readme.md'). Must start with '/'\",\n ),\n oldString: z\n .string()\n .describe(\n \"The exact text to replace. Must match file content exactly including whitespace\",\n ),\n newString: z\n .string()\n .describe(\"The text to replace it with (must be different from oldString)\"),\n replaceAll: z\n .boolean()\n .optional()\n .default(false)\n .describe(\"Replace all occurrences of oldString (default: false)\"),\n }),\n outputSchema: z.object({\n status: z.string(),\n tool: z.string(),\n path: z.string(),\n message: z.string(),\n snippet: z.string(),\n }),\n });\n }\n\n async process(input: AFSEditInput, options: AgentInvokeOptions): Promise<AFSEditOutput> {\n if (!this.afs) throw new Error(\"AFS is not configured for this agent.\");\n\n const { path, oldString, newString, replaceAll = false } = input;\n\n if (oldString === newString) {\n throw new Error(\"oldString and newString must be different\");\n }\n\n const readResult = await this.afs.read(path, { context: options.context });\n if (!readResult.data?.content || typeof readResult.data.content !== \"string\") {\n throw new Error(`Cannot read file content from: ${path}`);\n }\n\n const originalContent = readResult.data.content;\n\n // Check if oldString exists in the file\n const occurrences = this.countOccurrences(originalContent, oldString);\n if (occurrences === 0) {\n throw new Error(`oldString not found in file: ${path}`);\n }\n\n if (occurrences > 1 && !replaceAll) {\n throw new Error(\n `oldString appears ${occurrences} times in file. Use replaceAll=true to replace all occurrences, or provide more context to make oldString unique.`,\n );\n }\n\n // Find the position of the first occurrence for snippet extraction\n const firstOccurrenceIndex = originalContent.indexOf(oldString);\n\n // Perform the replacement\n const updatedContent = replaceAll\n ? originalContent.split(oldString).join(newString)\n : originalContent.replace(oldString, newString);\n\n await this.afs.write(path, { content: updatedContent }, { context: options.context });\n\n // Generate snippet around the edit location\n const snippet = this.extractSnippet(updatedContent, firstOccurrenceIndex, newString.length);\n\n const replacementCount = replaceAll ? occurrences : 1;\n return {\n status: \"success\",\n tool: \"afs_edit\",\n path,\n message: `Replaced ${replacementCount} occurrence${replacementCount > 1 ? \"s\" : \"\"} in ${path}`,\n snippet,\n };\n }\n\n private countOccurrences(text: string, search: string): number {\n let count = 0;\n let position = text.indexOf(search);\n while (position !== -1) {\n count++;\n position = text.indexOf(search, position + search.length);\n }\n return count;\n }\n\n private extractSnippet(content: string, editStartIndex: number, newStringLength: number): string {\n const lines = content.split(\"\\n\");\n\n // Find the line number where the edit starts\n let charCount = 0;\n let editStartLine = 0;\n for (let i = 0; i < lines.length; i++) {\n const lineLength = (lines[i]?.length ?? 0) + 1; // +1 for newline\n if (charCount + lineLength > editStartIndex) {\n editStartLine = i;\n break;\n }\n charCount += lineLength;\n }\n\n // Calculate how many lines the new content spans\n const newContentLines = content\n .substring(editStartIndex, editStartIndex + newStringLength)\n .split(\"\\n\").length;\n const editEndLine = editStartLine + newContentLines - 1;\n\n // Extract lines with context\n const startLine = Math.max(0, editStartLine - CONTEXT_LINES);\n const endLine = Math.min(lines.length - 1, editEndLine + CONTEXT_LINES);\n\n // Format with line numbers (1-based)\n const snippetLines = lines.slice(startLine, endLine + 1).map((line, idx) => {\n const lineNum = startLine + idx + 1;\n return `${String(lineNum).padStart(4)}| ${line}`;\n });\n\n return snippetLines.join(\"\\n\");\n }\n}\n"],"mappings":";;;;AAIA,MAAM,gBAAgB;AAqBtB,IAAa,eAAb,cAAkC,aAA0C;CAC1E,YAAY,SAA8B;AACxC,QAAM;GACJ,MAAM;GACN,aAAa;;;;;;;;;GASb,GAAG;GACH,aAAaA,IAAE,OAAO;IACpB,MAAMA,IACH,QAAQ,CACR,SACC,uFACD;IACH,WAAWA,IACR,QAAQ,CACR,SACC,kFACD;IACH,WAAWA,IACR,QAAQ,CACR,SAAS,iEAAiE;IAC7E,YAAYA,IACT,SAAS,CACT,UAAU,CACV,QAAQ,MAAM,CACd,SAAS,wDAAwD;IACrE,CAAC;GACF,cAAcA,IAAE,OAAO;IACrB,QAAQA,IAAE,QAAQ;IAClB,MAAMA,IAAE,QAAQ;IAChB,MAAMA,IAAE,QAAQ;IAChB,SAASA,IAAE,QAAQ;IACnB,SAASA,IAAE,QAAQ;IACpB,CAAC;GACH,CAAC;;CAGJ,MAAM,QAAQ,OAAqB,SAAqD;AACtF,MAAI,CAAC,KAAK,IAAK,OAAM,IAAI,MAAM,wCAAwC;EAEvE,MAAM,EAAE,MAAM,WAAW,WAAW,aAAa,UAAU;AAE3D,MAAI,cAAc,UAChB,OAAM,IAAI,MAAM,4CAA4C;EAG9D,MAAM,aAAa,MAAM,KAAK,IAAI,KAAK,MAAM,EAAE,SAAS,QAAQ,SAAS,CAAC;AAC1E,MAAI,CAAC,WAAW,MAAM,WAAW,OAAO,WAAW,KAAK,YAAY,SAClE,OAAM,IAAI,MAAM,kCAAkC,OAAO;EAG3D,MAAM,kBAAkB,WAAW,KAAK;EAGxC,MAAM,cAAc,KAAK,iBAAiB,iBAAiB,UAAU;AACrE,MAAI,gBAAgB,EAClB,OAAM,IAAI,MAAM,gCAAgC,OAAO;AAGzD,MAAI,cAAc,KAAK,CAAC,WACtB,OAAM,IAAI,MACR,qBAAqB,YAAY,mHAClC;EAIH,MAAM,uBAAuB,gBAAgB,QAAQ,UAAU;EAG/D,MAAM,iBAAiB,aACnB,gBAAgB,MAAM,UAAU,CAAC,KAAK,UAAU,GAChD,gBAAgB,QAAQ,WAAW,UAAU;AAEjD,QAAM,KAAK,IAAI,MAAM,MAAM,EAAE,SAAS,gBAAgB,EAAE,EAAE,SAAS,QAAQ,SAAS,CAAC;EAGrF,MAAM,UAAU,KAAK,eAAe,gBAAgB,sBAAsB,UAAU,OAAO;EAE3F,MAAM,mBAAmB,aAAa,cAAc;AACpD,SAAO;GACL,QAAQ;GACR,MAAM;GACN;GACA,SAAS,YAAY,iBAAiB,aAAa,mBAAmB,IAAI,MAAM,GAAG,MAAM;GACzF;GACD;;CAGH,AAAQ,iBAAiB,MAAc,QAAwB;EAC7D,IAAI,QAAQ;EACZ,IAAI,WAAW,KAAK,QAAQ,OAAO;AACnC,SAAO,aAAa,IAAI;AACtB;AACA,cAAW,KAAK,QAAQ,QAAQ,WAAW,OAAO,OAAO;;AAE3D,SAAO;;CAGT,AAAQ,eAAe,SAAiB,gBAAwB,iBAAiC;EAC/F,MAAM,QAAQ,QAAQ,MAAM,KAAK;EAGjC,IAAI,YAAY;EAChB,IAAI,gBAAgB;AACpB,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;GACrC,MAAM,cAAc,MAAM,IAAI,UAAU,KAAK;AAC7C,OAAI,YAAY,aAAa,gBAAgB;AAC3C,oBAAgB;AAChB;;AAEF,gBAAa;;EAIf,MAAM,kBAAkB,QACrB,UAAU,gBAAgB,iBAAiB,gBAAgB,CAC3D,MAAM,KAAK,CAAC;EACf,MAAM,cAAc,gBAAgB,kBAAkB;EAGtD,MAAM,YAAY,KAAK,IAAI,GAAG,gBAAgB,cAAc;EAC5D,MAAM,UAAU,KAAK,IAAI,MAAM,SAAS,GAAG,cAAc,cAAc;AAQvE,SALqB,MAAM,MAAM,WAAW,UAAU,EAAE,CAAC,KAAK,MAAM,QAAQ;GAC1E,MAAM,UAAU,YAAY,MAAM;AAClC,UAAO,GAAG,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI;IAC1C,CAEkB,KAAK,KAAK"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_base = require('./base.cjs');
|
|
3
|
+
let zod = require("zod");
|
|
4
|
+
|
|
5
|
+
//#region src/prompt/skills/afs/exec.ts
|
|
6
|
+
var AFSExecAgent = class extends require_base.AFSSkillBase {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super({
|
|
9
|
+
name: "afs_exec",
|
|
10
|
+
description: `Execute files marked as executable in the Agentic File System (AFS)
|
|
11
|
+
- Runs executable entries (functions, agents, skills) registered at a given AFS path
|
|
12
|
+
- Passes arguments to the executable and returns its output
|
|
13
|
+
- Use this to invoke dynamic functionality stored in AFS
|
|
14
|
+
|
|
15
|
+
Usage:
|
|
16
|
+
- The path must be an absolute AFS path to an executable entry (e.g., "/skills/summarize", "/agents/translator")
|
|
17
|
+
- This is NOT a local system file path - it operates within the AFS virtual file system
|
|
18
|
+
- Use afs_list to discover available executables (look for entries with execute metadata)
|
|
19
|
+
- Arguments must be a valid JSON string matching the executable's input schema
|
|
20
|
+
- The executable's input/output schema can be found in its metadata`,
|
|
21
|
+
...options,
|
|
22
|
+
inputSchema: zod.z.object({
|
|
23
|
+
path: zod.z.string().describe("Absolute AFS path to the executable (e.g., '/skills/summarize'). Must start with '/'"),
|
|
24
|
+
args: zod.z.string().describe("JSON string of arguments matching the executable's input schema (e.g., '{\"text\": \"hello\"}')")
|
|
25
|
+
}),
|
|
26
|
+
outputSchema: zod.z.object({ data: zod.z.record(zod.z.any()) })
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async process(input, options) {
|
|
30
|
+
if (!this.afs) throw new Error("AFS is not configured for this agent.");
|
|
31
|
+
return { ...await this.afs.exec(input.path, JSON.parse(input.args), { context: options.context }) };
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.AFSExecAgent = AFSExecAgent;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { AFSSkillBase } from "./base.mjs";
|
|
2
|
+
import { z as z$1 } from "zod";
|
|
3
|
+
|
|
4
|
+
//#region src/prompt/skills/afs/exec.ts
|
|
5
|
+
var AFSExecAgent = class extends AFSSkillBase {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super({
|
|
8
|
+
name: "afs_exec",
|
|
9
|
+
description: `Execute files marked as executable in the Agentic File System (AFS)
|
|
10
|
+
- Runs executable entries (functions, agents, skills) registered at a given AFS path
|
|
11
|
+
- Passes arguments to the executable and returns its output
|
|
12
|
+
- Use this to invoke dynamic functionality stored in AFS
|
|
13
|
+
|
|
14
|
+
Usage:
|
|
15
|
+
- The path must be an absolute AFS path to an executable entry (e.g., "/skills/summarize", "/agents/translator")
|
|
16
|
+
- This is NOT a local system file path - it operates within the AFS virtual file system
|
|
17
|
+
- Use afs_list to discover available executables (look for entries with execute metadata)
|
|
18
|
+
- Arguments must be a valid JSON string matching the executable's input schema
|
|
19
|
+
- The executable's input/output schema can be found in its metadata`,
|
|
20
|
+
...options,
|
|
21
|
+
inputSchema: z$1.object({
|
|
22
|
+
path: z$1.string().describe("Absolute AFS path to the executable (e.g., '/skills/summarize'). Must start with '/'"),
|
|
23
|
+
args: z$1.string().describe("JSON string of arguments matching the executable's input schema (e.g., '{\"text\": \"hello\"}')")
|
|
24
|
+
}),
|
|
25
|
+
outputSchema: z$1.object({ data: z$1.record(z$1.any()) })
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async process(input, options) {
|
|
29
|
+
if (!this.afs) throw new Error("AFS is not configured for this agent.");
|
|
30
|
+
return { ...await this.afs.exec(input.path, JSON.parse(input.args), { context: options.context }) };
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
export { AFSExecAgent };
|
|
36
|
+
//# sourceMappingURL=exec.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.mjs","names":["z"],"sources":["../../../../src/prompt/skills/afs/exec.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { AgentInvokeOptions, AgentOptions, Message } from \"../../../agents/agent.js\";\nimport { AFSSkillBase } from \"./base.js\";\n\nexport interface AFSExecInput extends Message {\n path: string;\n args: string;\n}\n\nexport interface AFSExecOutput extends Message {\n data: Record<string, any>;\n}\n\nexport interface AFSExecAgentOptions extends AgentOptions<AFSExecInput, AFSExecOutput> {\n afs: NonNullable<AgentOptions<AFSExecInput, AFSExecOutput>[\"afs\"]>;\n}\n\nexport class AFSExecAgent extends AFSSkillBase<AFSExecInput, AFSExecOutput> {\n constructor(options: AFSExecAgentOptions) {\n super({\n name: \"afs_exec\",\n description: `Execute files marked as executable in the Agentic File System (AFS)\n- Runs executable entries (functions, agents, skills) registered at a given AFS path\n- Passes arguments to the executable and returns its output\n- Use this to invoke dynamic functionality stored in AFS\n\nUsage:\n- The path must be an absolute AFS path to an executable entry (e.g., \"/skills/summarize\", \"/agents/translator\")\n- This is NOT a local system file path - it operates within the AFS virtual file system\n- Use afs_list to discover available executables (look for entries with execute metadata)\n- Arguments must be a valid JSON string matching the executable's input schema\n- The executable's input/output schema can be found in its metadata`,\n ...options,\n inputSchema: z.object({\n path: z\n .string()\n .describe(\n \"Absolute AFS path to the executable (e.g., '/skills/summarize'). Must start with '/'\",\n ),\n args: z\n .string()\n .describe(\n 'JSON string of arguments matching the executable\\'s input schema (e.g., \\'{\"text\": \"hello\"}\\')',\n ),\n }),\n outputSchema: z.object({\n data: z.record(z.any()),\n }),\n });\n }\n\n async process(input: AFSExecInput, options: AgentInvokeOptions): Promise<AFSExecOutput> {\n if (!this.afs) throw new Error(\"AFS is not configured for this agent.\");\n\n return {\n ...(await this.afs.exec(input.path, JSON.parse(input.args), { context: options.context })),\n };\n }\n}\n"],"mappings":";;;;AAiBA,IAAa,eAAb,cAAkC,aAA0C;CAC1E,YAAY,SAA8B;AACxC,QAAM;GACJ,MAAM;GACN,aAAa;;;;;;;;;;;GAWb,GAAG;GACH,aAAaA,IAAE,OAAO;IACpB,MAAMA,IACH,QAAQ,CACR,SACC,uFACD;IACH,MAAMA,IACH,QAAQ,CACR,SACC,kGACD;IACJ,CAAC;GACF,cAAcA,IAAE,OAAO,EACrB,MAAMA,IAAE,OAAOA,IAAE,KAAK,CAAC,EACxB,CAAC;GACH,CAAC;;CAGJ,MAAM,QAAQ,OAAqB,SAAqD;AACtF,MAAI,CAAC,KAAK,IAAK,OAAM,IAAI,MAAM,wCAAwC;AAEvE,SAAO,EACL,GAAI,MAAM,KAAK,IAAI,KAAK,MAAM,MAAM,KAAK,MAAM,MAAM,KAAK,EAAE,EAAE,SAAS,QAAQ,SAAS,CAAC,EAC1F"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const require_utils_type_utils = require('../../../utils/type-utils.cjs');
|
|
2
|
+
const require_skill_loader = require('./agent-skill/skill-loader.cjs');
|
|
3
|
+
const require_delete = require('./delete.cjs');
|
|
4
|
+
const require_edit = require('./edit.cjs');
|
|
5
|
+
const require_exec = require('./exec.cjs');
|
|
6
|
+
const require_list = require('./list.cjs');
|
|
7
|
+
const require_read = require('./read.cjs');
|
|
8
|
+
const require_rename = require('./rename.cjs');
|
|
9
|
+
const require_search = require('./search.cjs');
|
|
10
|
+
const require_write = require('./write.cjs');
|
|
11
|
+
|
|
12
|
+
//#region src/prompt/skills/afs/index.ts
|
|
13
|
+
async function getAFSSkills(afs) {
|
|
14
|
+
return [
|
|
15
|
+
new require_list.AFSListAgent({ afs }),
|
|
16
|
+
new require_search.AFSSearchAgent({ afs }),
|
|
17
|
+
new require_read.AFSReadAgent({ afs }),
|
|
18
|
+
new require_write.AFSWriteAgent({ afs }),
|
|
19
|
+
new require_edit.AFSEditAgent({ afs }),
|
|
20
|
+
new require_delete.AFSDeleteAgent({ afs }),
|
|
21
|
+
new require_rename.AFSRenameAgent({ afs }),
|
|
22
|
+
new require_exec.AFSExecAgent({ afs }),
|
|
23
|
+
await require_skill_loader.loadAgentSkillFromAFS({ afs })
|
|
24
|
+
].filter(require_utils_type_utils.isNonNullable);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
exports.getAFSSkills = getAFSSkills;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { isNonNullable } from "../../../utils/type-utils.mjs";
|
|
2
|
+
import { loadAgentSkillFromAFS } from "./agent-skill/skill-loader.mjs";
|
|
3
|
+
import { AFSDeleteAgent } from "./delete.mjs";
|
|
4
|
+
import { AFSEditAgent } from "./edit.mjs";
|
|
5
|
+
import { AFSExecAgent } from "./exec.mjs";
|
|
6
|
+
import { AFSListAgent } from "./list.mjs";
|
|
7
|
+
import { AFSReadAgent } from "./read.mjs";
|
|
8
|
+
import { AFSRenameAgent } from "./rename.mjs";
|
|
9
|
+
import { AFSSearchAgent } from "./search.mjs";
|
|
10
|
+
import { AFSWriteAgent } from "./write.mjs";
|
|
11
|
+
|
|
12
|
+
//#region src/prompt/skills/afs/index.ts
|
|
13
|
+
async function getAFSSkills(afs) {
|
|
14
|
+
return [
|
|
15
|
+
new AFSListAgent({ afs }),
|
|
16
|
+
new AFSSearchAgent({ afs }),
|
|
17
|
+
new AFSReadAgent({ afs }),
|
|
18
|
+
new AFSWriteAgent({ afs }),
|
|
19
|
+
new AFSEditAgent({ afs }),
|
|
20
|
+
new AFSDeleteAgent({ afs }),
|
|
21
|
+
new AFSRenameAgent({ afs }),
|
|
22
|
+
new AFSExecAgent({ afs }),
|
|
23
|
+
await loadAgentSkillFromAFS({ afs })
|
|
24
|
+
].filter(isNonNullable);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
export { getAFSSkills };
|
|
29
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/prompt/skills/afs/index.ts"],"sourcesContent":["import type { AFS } from \"@aigne/afs\";\nimport type { Agent } from \"../../../agents/agent.js\";\nimport { isNonNullable } from \"../../../utils/type-utils.js\";\nimport { loadAgentSkillFromAFS } from \"./agent-skill/skill-loader.js\";\nimport { AFSDeleteAgent } from \"./delete.js\";\nimport { AFSEditAgent } from \"./edit.js\";\nimport { AFSExecAgent } from \"./exec.js\";\nimport { AFSListAgent } from \"./list.js\";\nimport { AFSReadAgent } from \"./read.js\";\nimport { AFSRenameAgent } from \"./rename.js\";\nimport { AFSSearchAgent } from \"./search.js\";\nimport { AFSWriteAgent } from \"./write.js\";\n\nexport async function getAFSSkills(afs: AFS): Promise<Agent[]> {\n return [\n new AFSListAgent({ afs }),\n new AFSSearchAgent({ afs }),\n new AFSReadAgent({ afs }),\n new AFSWriteAgent({ afs }),\n new AFSEditAgent({ afs }),\n new AFSDeleteAgent({ afs }),\n new AFSRenameAgent({ afs }),\n new AFSExecAgent({ afs }),\n await loadAgentSkillFromAFS({ afs }),\n ].filter(isNonNullable);\n}\n"],"mappings":";;;;;;;;;;;;AAaA,eAAsB,aAAa,KAA4B;AAC7D,QAAO;EACL,IAAI,aAAa,EAAE,KAAK,CAAC;EACzB,IAAI,eAAe,EAAE,KAAK,CAAC;EAC3B,IAAI,aAAa,EAAE,KAAK,CAAC;EACzB,IAAI,cAAc,EAAE,KAAK,CAAC;EAC1B,IAAI,aAAa,EAAE,KAAK,CAAC;EACzB,IAAI,eAAe,EAAE,KAAK,CAAC;EAC3B,IAAI,eAAe,EAAE,KAAK,CAAC;EAC3B,IAAI,aAAa,EAAE,KAAK,CAAC;EACzB,MAAM,sBAAsB,EAAE,KAAK,CAAC;EACrC,CAAC,OAAO,cAAc"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_base = require('./base.cjs');
|
|
3
|
+
let zod = require("zod");
|
|
4
|
+
|
|
5
|
+
//#region src/prompt/skills/afs/list.ts
|
|
6
|
+
var AFSListAgent = class extends require_base.AFSSkillBase {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super({
|
|
9
|
+
name: "afs_list",
|
|
10
|
+
description: `List contents within the Agentic File System (AFS)
|
|
11
|
+
- Returns files and directories at the specified AFS path
|
|
12
|
+
- Supports recursive listing with configurable depth
|
|
13
|
+
- Supports glob pattern filtering to match specific files
|
|
14
|
+
- By default respects .gitignore rules to filter out ignored files
|
|
15
|
+
- Use this tool when you need to explore AFS contents or understand file organization
|
|
16
|
+
|
|
17
|
+
Usage:
|
|
18
|
+
- The path must be an absolute AFS path starting with "/" (e.g., "/", "/docs", "/memory/user")
|
|
19
|
+
- This is NOT a local system file path - it operates within the AFS virtual file system
|
|
20
|
+
- Use maxDepth to control recursion depth (default: 1, current directory only)
|
|
21
|
+
- Use pattern to filter entries by glob pattern:
|
|
22
|
+
- "*.ts" - match TypeScript files in current directory
|
|
23
|
+
- "**/*.js" - match all JavaScript files recursively
|
|
24
|
+
- "src/**/*.{ts,tsx}" - match TypeScript files in src directory
|
|
25
|
+
- Results are filtered by .gitignore by default; set disableGitignore to include ignored files`,
|
|
26
|
+
...options,
|
|
27
|
+
inputSchema: zod.z.object({
|
|
28
|
+
path: zod.z.string().describe("Absolute AFS path to list (e.g., '/', '/docs', '/memory/user'). Must start with '/'"),
|
|
29
|
+
options: zod.z.object({
|
|
30
|
+
maxDepth: zod.z.number().optional().describe("Maximum depth of directory recursion. 1 = current directory only, 2 = include subdirectories, etc. Default: 1"),
|
|
31
|
+
disableGitignore: zod.z.boolean().optional().describe("Set to true to include files normally ignored by .gitignore rules. Default: false (respects .gitignore)"),
|
|
32
|
+
maxChildren: zod.z.number().optional().describe("Maximum number of entries to return per directory. Useful for large directories to avoid overwhelming output"),
|
|
33
|
+
pattern: zod.z.string().optional().describe("Glob pattern to filter entries by path")
|
|
34
|
+
}).optional()
|
|
35
|
+
}),
|
|
36
|
+
outputSchema: zod.z.object({
|
|
37
|
+
status: zod.z.string(),
|
|
38
|
+
tool: zod.z.string(),
|
|
39
|
+
path: zod.z.string(),
|
|
40
|
+
options: zod.z.record(zod.z.any()).optional(),
|
|
41
|
+
message: zod.z.string().optional(),
|
|
42
|
+
data: zod.z.unknown()
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
formatOutput(output) {
|
|
47
|
+
if (typeof output.data === "string") return output.data;
|
|
48
|
+
return super.formatOutput(output);
|
|
49
|
+
}
|
|
50
|
+
async process(input, options) {
|
|
51
|
+
if (!this.afs) throw new Error("AFS is not configured for this agent.");
|
|
52
|
+
const { data, message } = await this.afs.list(input.path, {
|
|
53
|
+
...input.options,
|
|
54
|
+
format: "simple-list",
|
|
55
|
+
context: options.context
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
status: "success",
|
|
59
|
+
tool: "afs_list",
|
|
60
|
+
path: input.path,
|
|
61
|
+
options: input.options,
|
|
62
|
+
message,
|
|
63
|
+
data
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
//#endregion
|
|
69
|
+
exports.AFSListAgent = AFSListAgent;
|