@zhin.js/agent 0.2.0 → 0.3.0
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 +1 -1
- package/lib/agent-prompt/resolver.d.ts.map +1 -1
- package/lib/agent-prompt/resolver.js +4 -4
- package/lib/agent-prompt/resolver.js.map +1 -1
- package/lib/ai-event-bus.d.ts.map +1 -1
- package/lib/ai-event-bus.js +20 -31
- package/lib/ai-event-bus.js.map +1 -1
- package/lib/ai-event-subscriber.d.ts +1 -1
- package/lib/ai-event-subscriber.d.ts.map +1 -1
- package/lib/ai-event-subscriber.js +1 -1
- package/lib/ai-event-subscriber.js.map +1 -1
- package/lib/assistant/home-mcp-bridge.d.ts +1 -1
- package/lib/assistant/home-mcp-bridge.d.ts.map +1 -1
- package/lib/assistant/home-policy.d.ts +2 -2
- package/lib/assistant/home-policy.d.ts.map +1 -1
- package/lib/assistant/home-policy.js +28 -10
- package/lib/assistant/home-policy.js.map +1 -1
- package/lib/assistant/home-tools.js +14 -14
- package/lib/assistant/home-tools.js.map +1 -1
- package/lib/assistant/index.d.ts +1 -1
- package/lib/assistant/index.js +1 -1
- package/lib/assistant/legacy-convert.d.ts +3 -8
- package/lib/assistant/legacy-convert.d.ts.map +1 -1
- package/lib/assistant/legacy-convert.js +8 -8
- package/lib/assistant/legacy-convert.js.map +1 -1
- package/lib/assistant/notification-router.js +6 -6
- package/lib/assistant/notification-router.js.map +1 -1
- package/lib/assistant/types.d.ts +1 -1
- package/lib/assistant/types.d.ts.map +1 -1
- package/lib/builtin/activate-skill-tool.d.ts +2 -2
- package/lib/builtin/activate-skill-tool.d.ts.map +1 -1
- package/lib/builtin/activate-skill-tool.js +1 -1
- package/lib/builtin/activate-skill-tool.js.map +1 -1
- package/lib/builtin/analyze-media-tool.d.ts +2 -2
- package/lib/builtin/analyze-media-tool.d.ts.map +1 -1
- package/lib/builtin/analyze-media-tool.js +3 -3
- package/lib/builtin/analyze-media-tool.js.map +1 -1
- package/lib/builtin/ask-user-tool.d.ts +4 -4
- package/lib/builtin/ask-user-tool.d.ts.map +1 -1
- package/lib/builtin/ask-user-tool.js +16 -16
- package/lib/builtin/ask-user-tool.js.map +1 -1
- package/lib/builtin/bash-tool.d.ts +2 -2
- package/lib/builtin/bash-tool.d.ts.map +1 -1
- package/lib/builtin/bash-tool.js +8 -3
- package/lib/builtin/bash-tool.js.map +1 -1
- package/lib/builtin/builtin-base-tool.d.ts +2 -2
- package/lib/builtin/builtin-base-tool.d.ts.map +1 -1
- package/lib/builtin/edit-file-tool.d.ts +2 -2
- package/lib/builtin/edit-file-tool.d.ts.map +1 -1
- package/lib/builtin/edit-file-tool.js +6 -6
- package/lib/builtin/edit-file-tool.js.map +1 -1
- package/lib/builtin/glob-tool.d.ts +2 -2
- package/lib/builtin/glob-tool.d.ts.map +1 -1
- package/lib/builtin/glob-tool.js +3 -3
- package/lib/builtin/glob-tool.js.map +1 -1
- package/lib/builtin/grep-tool.d.ts +2 -2
- package/lib/builtin/grep-tool.d.ts.map +1 -1
- package/lib/builtin/grep-tool.js +3 -3
- package/lib/builtin/grep-tool.js.map +1 -1
- package/lib/builtin/install-skill-tool.d.ts +2 -2
- package/lib/builtin/install-skill-tool.d.ts.map +1 -1
- package/lib/builtin/install-skill-tool.js +1 -1
- package/lib/builtin/install-skill-tool.js.map +1 -1
- package/lib/builtin/knowledge-search-tool.d.ts +6 -0
- package/lib/builtin/knowledge-search-tool.d.ts.map +1 -0
- package/lib/builtin/knowledge-search-tool.js +184 -0
- package/lib/builtin/knowledge-search-tool.js.map +1 -0
- package/lib/builtin/list-dir-tool.d.ts +2 -2
- package/lib/builtin/list-dir-tool.d.ts.map +1 -1
- package/lib/builtin/list-dir-tool.js +3 -3
- package/lib/builtin/list-dir-tool.js.map +1 -1
- package/lib/builtin/memory-search-tool.d.ts.map +1 -1
- package/lib/builtin/memory-search-tool.js +5 -11
- package/lib/builtin/memory-search-tool.js.map +1 -1
- package/lib/builtin/memory-upsert-tool.d.ts.map +1 -1
- package/lib/builtin/memory-upsert-tool.js +10 -16
- package/lib/builtin/memory-upsert-tool.js.map +1 -1
- package/lib/builtin/orchestration-tools.d.ts +3 -2
- package/lib/builtin/orchestration-tools.d.ts.map +1 -1
- package/lib/builtin/orchestration-tools.js +5 -11
- package/lib/builtin/orchestration-tools.js.map +1 -1
- package/lib/builtin/read-file-tool.d.ts +2 -2
- package/lib/builtin/read-file-tool.d.ts.map +1 -1
- package/lib/builtin/read-file-tool.js +4 -4
- package/lib/builtin/read-file-tool.js.map +1 -1
- package/lib/builtin/run-spec-dry-run-tool.d.ts +1 -4
- package/lib/builtin/run-spec-dry-run-tool.d.ts.map +1 -1
- package/lib/builtin/run-spec-dry-run-tool.js.map +1 -1
- package/lib/builtin/run-validation-spec-tool.d.ts +1 -4
- package/lib/builtin/run-validation-spec-tool.d.ts.map +1 -1
- package/lib/builtin/run-validation-spec-tool.js.map +1 -1
- package/lib/builtin/spawn-task-tool.d.ts +7 -6
- package/lib/builtin/spawn-task-tool.d.ts.map +1 -1
- package/lib/builtin/spawn-task-tool.js +10 -17
- package/lib/builtin/spawn-task-tool.js.map +1 -1
- package/lib/builtin/todo-read-tool.d.ts +2 -2
- package/lib/builtin/todo-read-tool.d.ts.map +1 -1
- package/lib/builtin/todo-read-tool.js +1 -1
- package/lib/builtin/todo-read-tool.js.map +1 -1
- package/lib/builtin/todo-write-tool.d.ts +2 -2
- package/lib/builtin/todo-write-tool.d.ts.map +1 -1
- package/lib/builtin/todo-write-tool.js +1 -1
- package/lib/builtin/todo-write-tool.js.map +1 -1
- package/lib/builtin/web-fetch-tool.d.ts +4 -2
- package/lib/builtin/web-fetch-tool.d.ts.map +1 -1
- package/lib/builtin/web-fetch-tool.js +55 -10
- package/lib/builtin/web-fetch-tool.js.map +1 -1
- package/lib/builtin/web-search-locale.d.ts +4 -4
- package/lib/builtin/web-search-locale.d.ts.map +1 -1
- package/lib/builtin/web-search-locale.js +4 -3
- package/lib/builtin/web-search-locale.js.map +1 -1
- package/lib/builtin/web-search-tool.d.ts +3 -3
- package/lib/builtin/web-search-tool.d.ts.map +1 -1
- package/lib/builtin/web-search-tool.js +3 -3
- package/lib/builtin/web-search-tool.js.map +1 -1
- package/lib/builtin/write-file-tool.d.ts +2 -2
- package/lib/builtin/write-file-tool.d.ts.map +1 -1
- package/lib/builtin/write-file-tool.js +6 -6
- package/lib/builtin/write-file-tool.js.map +1 -1
- package/lib/builtin-tools.d.ts +2 -0
- package/lib/builtin-tools.d.ts.map +1 -1
- package/lib/builtin-tools.js +4 -0
- package/lib/builtin-tools.js.map +1 -1
- package/lib/common-adapter-tools.js +3 -3
- package/lib/common-adapter-tools.js.map +1 -1
- package/lib/config/fix-ai-config.d.ts +9 -0
- package/lib/config/fix-ai-config.d.ts.map +1 -0
- package/lib/config/fix-ai-config.js +69 -0
- package/lib/config/fix-ai-config.js.map +1 -0
- package/lib/config/index.d.ts +5 -0
- package/lib/config/index.d.ts.map +1 -0
- package/lib/config/index.js +5 -0
- package/lib/config/index.js.map +1 -0
- package/lib/config/normalize-ai-config.d.ts +1 -1
- package/lib/config/normalize-ai-config.d.ts.map +1 -1
- package/lib/config/provider-instance.d.ts +1 -1
- package/lib/config/provider-instance.d.ts.map +1 -1
- package/lib/config/provider-instance.js +1 -1
- package/lib/config/provider-instance.js.map +1 -1
- package/lib/config/types.d.ts +2 -2
- package/lib/config/types.d.ts.map +1 -1
- package/lib/create-agent-session.d.ts +1 -1
- package/lib/create-agent-session.d.ts.map +1 -1
- package/lib/cron-engine.d.ts.map +1 -1
- package/lib/cron-engine.js +4 -4
- package/lib/cron-engine.js.map +1 -1
- package/lib/deferred-worker-runner.d.ts +3 -3
- package/lib/deferred-worker-runner.d.ts.map +1 -1
- package/lib/deferred-worker-runner.js +3 -3
- package/lib/discovery/tools.d.ts +1 -1
- package/lib/discovery/tools.d.ts.map +1 -1
- package/lib/discovery/tools.js +21 -6
- package/lib/discovery/tools.js.map +1 -1
- package/lib/hooks.d.ts +1 -1
- package/lib/hooks.d.ts.map +1 -1
- package/lib/hooks.js +1 -1
- package/lib/hooks.js.map +1 -1
- package/lib/index.d.ts +5 -22
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -11
- package/lib/index.js.map +1 -1
- package/lib/init/activate-ai-database-storage.d.ts +1 -1
- package/lib/init/activate-ai-database-storage.d.ts.map +1 -1
- package/lib/init/activate-ai-database-storage.js +12 -8
- package/lib/init/activate-ai-database-storage.js.map +1 -1
- package/lib/init/create-zhin-agent.d.ts.map +1 -1
- package/lib/init/create-zhin-agent.js +38 -15
- package/lib/init/create-zhin-agent.js.map +1 -1
- package/lib/init/introspection-args.d.ts +1 -1
- package/lib/init/introspection-args.js +1 -1
- package/lib/init/introspection-args.js.map +1 -1
- package/lib/init/introspection-collectors.d.ts +2 -2
- package/lib/init/introspection-collectors.d.ts.map +1 -1
- package/lib/init/introspection-collectors.js +4 -4
- package/lib/init/introspection-collectors.js.map +1 -1
- package/lib/init/introspection-commands-format.d.ts +3 -3
- package/lib/init/introspection-commands-format.d.ts.map +1 -1
- package/lib/init/introspection-commands-format.js +6 -6
- package/lib/init/introspection-commands-format.js.map +1 -1
- package/lib/init/introspection-rest.d.ts +2 -2
- package/lib/init/introspection-rest.d.ts.map +1 -1
- package/lib/init/introspection-rest.js +4 -4
- package/lib/init/introspection-rest.js.map +1 -1
- package/lib/init/management-command-guard.d.ts +3 -3
- package/lib/init/management-command-guard.d.ts.map +1 -1
- package/lib/init/management-command-guard.js +3 -3
- package/lib/init/management-command-guard.js.map +1 -1
- package/lib/init/message-media.d.ts +4 -3
- package/lib/init/message-media.d.ts.map +1 -1
- package/lib/init/message-media.js +1 -1
- package/lib/init/message-media.js.map +1 -1
- package/lib/init/register-ai-trigger.d.ts.map +1 -1
- package/lib/init/register-ai-trigger.js +43 -58
- package/lib/init/register-ai-trigger.js.map +1 -1
- package/lib/init/register-builtin-tools.d.ts.map +1 -1
- package/lib/init/register-builtin-tools.js +6 -3
- package/lib/init/register-builtin-tools.js.map +1 -1
- package/lib/init/register-db-upgrade.d.ts.map +1 -1
- package/lib/init/register-db-upgrade.js +2 -0
- package/lib/init/register-db-upgrade.js.map +1 -1
- package/lib/init/register-group-session-passive.d.ts.map +1 -1
- package/lib/init/register-group-session-passive.js +5 -10
- package/lib/init/register-group-session-passive.js.map +1 -1
- package/lib/init/register-introspection-commands.js +7 -7
- package/lib/init/register-introspection-commands.js.map +1 -1
- package/lib/init/register-management-tools.d.ts.map +1 -1
- package/lib/init/register-management-tools.js +8 -29
- package/lib/init/register-management-tools.js.map +1 -1
- package/lib/init/register-owner-approve-commands.js +13 -13
- package/lib/init/register-owner-approve-commands.js.map +1 -1
- package/lib/init/register-typing-indicator.d.ts +3 -3
- package/lib/init/register-typing-indicator.js +41 -41
- package/lib/init/register-typing-indicator.js.map +1 -1
- package/lib/init/upgrade-agent-db-schema.d.ts.map +1 -1
- package/lib/init/upgrade-agent-db-schema.js +5 -4
- package/lib/init/upgrade-agent-db-schema.js.map +1 -1
- package/lib/init/upgrade-endpoint-id-schema.d.ts +12 -0
- package/lib/init/upgrade-endpoint-id-schema.d.ts.map +1 -0
- package/lib/init/upgrade-endpoint-id-schema.js +58 -0
- package/lib/init/upgrade-endpoint-id-schema.js.map +1 -0
- package/lib/mcp-client/connection.d.ts.map +1 -1
- package/lib/mcp-client/connection.js +38 -2
- package/lib/mcp-client/connection.js.map +1 -1
- package/lib/media/constants.d.ts +1 -1
- package/lib/media/constants.d.ts.map +1 -1
- package/lib/media/constants.js +1 -1
- package/lib/media/constants.js.map +1 -1
- package/lib/media/deliver-subagent-result.d.ts.map +1 -1
- package/lib/media/deliver-subagent-result.js +6 -5
- package/lib/media/deliver-subagent-result.js.map +1 -1
- package/lib/memory-layers.d.ts +3 -3
- package/lib/memory-layers.d.ts.map +1 -1
- package/lib/memory-layers.js +3 -3
- package/lib/memory-layers.js.map +1 -1
- package/lib/orchestrator/agent-dispatcher.d.ts +1 -1
- package/lib/orchestrator/agent-dispatcher.d.ts.map +1 -1
- package/lib/orchestrator/delegation-processor.d.ts.map +1 -1
- package/lib/orchestrator/delegation-processor.js +8 -8
- package/lib/orchestrator/delegation-processor.js.map +1 -1
- package/lib/orchestrator/hook-registry.js.map +1 -1
- package/lib/orchestrator/mission-milestone-notify.d.ts +3 -3
- package/lib/orchestrator/mission-milestone-notify.d.ts.map +1 -1
- package/lib/orchestrator/mission-milestone-notify.js +15 -10
- package/lib/orchestrator/mission-milestone-notify.js.map +1 -1
- package/lib/orchestrator/mission-runner.d.ts +2 -3
- package/lib/orchestrator/mission-runner.d.ts.map +1 -1
- package/lib/orchestrator/mission-runner.js +13 -11
- package/lib/orchestrator/mission-runner.js.map +1 -1
- package/lib/orchestrator/orchestration-repository.d.ts +6 -0
- package/lib/orchestrator/orchestration-repository.d.ts.map +1 -1
- package/lib/orchestrator/orchestration-repository.js +30 -0
- package/lib/orchestrator/orchestration-repository.js.map +1 -1
- package/lib/orchestrator/owner-confirm-orchestration.d.ts +3 -3
- package/lib/orchestrator/owner-confirm-orchestration.d.ts.map +1 -1
- package/lib/orchestrator/owner-confirm-orchestration.js +5 -5
- package/lib/orchestrator/owner-confirm-orchestration.js.map +1 -1
- package/lib/orchestrator/remote-agent-registry.d.ts +1 -1
- package/lib/orchestrator/remote-agent-registry.d.ts.map +1 -1
- package/lib/orchestrator/tool-registry.d.ts +4 -5
- package/lib/orchestrator/tool-registry.d.ts.map +1 -1
- package/lib/orchestrator/tool-registry.js +7 -11
- package/lib/orchestrator/tool-registry.js.map +1 -1
- package/lib/orchestrator/tool-selection.d.ts +7 -6
- package/lib/orchestrator/tool-selection.d.ts.map +1 -1
- package/lib/orchestrator/tool-selection.js +47 -38
- package/lib/orchestrator/tool-selection.js.map +1 -1
- package/lib/orchestrator/types.d.ts +3 -6
- package/lib/orchestrator/types.d.ts.map +1 -1
- package/lib/routing/route-matcher.d.ts +1 -1
- package/lib/routing/route-matcher.d.ts.map +1 -1
- package/lib/routing/route-matcher.js +3 -3
- package/lib/routing/route-matcher.js.map +1 -1
- package/lib/routing/runtime-binding.d.ts +1 -1
- package/lib/routing/runtime-binding.d.ts.map +1 -1
- package/lib/security/audit-logger.d.ts +4 -3
- package/lib/security/audit-logger.d.ts.map +1 -1
- package/lib/security/audit-logger.js +14 -4
- package/lib/security/audit-logger.js.map +1 -1
- package/lib/security/comm-message-context.d.ts +20 -0
- package/lib/security/comm-message-context.d.ts.map +1 -0
- package/lib/security/comm-message-context.js +19 -0
- package/lib/security/comm-message-context.js.map +1 -0
- package/lib/security/dangerous-tool-policy.d.ts +4 -4
- package/lib/security/dangerous-tool-policy.d.ts.map +1 -1
- package/lib/security/dangerous-tool-policy.js +43 -33
- package/lib/security/dangerous-tool-policy.js.map +1 -1
- package/lib/security/exec-policy.d.ts +1 -1
- package/lib/security/exec-policy.d.ts.map +1 -1
- package/lib/security/exec-policy.js +56 -9
- package/lib/security/exec-policy.js.map +1 -1
- package/lib/security/file-role-policy.d.ts +1 -1
- package/lib/security/file-role-policy.d.ts.map +1 -1
- package/lib/security/file-role-policy.js +4 -5
- package/lib/security/file-role-policy.js.map +1 -1
- package/lib/security/index.d.ts +3 -47
- package/lib/security/index.d.ts.map +1 -1
- package/lib/security/index.js +3 -68
- package/lib/security/index.js.map +1 -1
- package/lib/security/owner-approve-always-store.d.ts +18 -16
- package/lib/security/owner-approve-always-store.d.ts.map +1 -1
- package/lib/security/owner-approve-always-store.js +133 -118
- package/lib/security/owner-approve-always-store.js.map +1 -1
- package/lib/security/sandbox-docker.d.ts +28 -0
- package/lib/security/sandbox-docker.d.ts.map +1 -0
- package/lib/security/sandbox-docker.js +177 -0
- package/lib/security/sandbox-docker.js.map +1 -0
- package/lib/security/sandbox.d.ts +9 -0
- package/lib/security/sandbox.d.ts.map +1 -1
- package/lib/security/sandbox.js +215 -14
- package/lib/security/sandbox.js.map +1 -1
- package/lib/service.d.ts +4 -5
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +8 -9
- package/lib/service.js.map +1 -1
- package/lib/stability/memory-pressure.d.ts +31 -0
- package/lib/stability/memory-pressure.d.ts.map +1 -0
- package/lib/stability/memory-pressure.js +104 -0
- package/lib/stability/memory-pressure.js.map +1 -0
- package/lib/stability/registry-cleanup.d.ts +5 -0
- package/lib/stability/registry-cleanup.d.ts.map +1 -0
- package/lib/stability/registry-cleanup.js +20 -0
- package/lib/stability/registry-cleanup.js.map +1 -0
- package/lib/subagent-ai-events.d.ts +2 -2
- package/lib/subagent-ai-events.d.ts.map +1 -1
- package/lib/subagent-ai-events.js +5 -22
- package/lib/subagent-ai-events.js.map +1 -1
- package/lib/subagent-goal-notify.d.ts +4 -4
- package/lib/subagent-goal-notify.d.ts.map +1 -1
- package/lib/subagent-goal-notify.js +6 -5
- package/lib/subagent-goal-notify.js.map +1 -1
- package/lib/subagent.d.ts +10 -14
- package/lib/subagent.d.ts.map +1 -1
- package/lib/subagent.js +5 -11
- package/lib/subagent.js.map +1 -1
- package/lib/task-executor.d.ts +1 -0
- package/lib/task-executor.d.ts.map +1 -1
- package/lib/task-executor.js +17 -9
- package/lib/task-executor.js.map +1 -1
- package/lib/typing-indicator/adapter-integration.d.ts +22 -22
- package/lib/typing-indicator/adapter-integration.d.ts.map +1 -1
- package/lib/typing-indicator/adapter-integration.js +47 -47
- package/lib/typing-indicator/adapter-integration.js.map +1 -1
- package/lib/typing-indicator/index.d.ts +2 -2
- package/lib/typing-indicator/index.d.ts.map +1 -1
- package/lib/typing-indicator/index.js +1 -1
- package/lib/typing-indicator/index.js.map +1 -1
- package/lib/typing-indicator/integration.d.ts +8 -8
- package/lib/typing-indicator/integration.d.ts.map +1 -1
- package/lib/typing-indicator/integration.js +14 -14
- package/lib/typing-indicator/integration.js.map +1 -1
- package/lib/zhin-agent/agent-loop-standalone.d.ts +2 -2
- package/lib/zhin-agent/agent-loop-standalone.d.ts.map +1 -1
- package/lib/zhin-agent/agent-loop-standalone.js +5 -5
- package/lib/zhin-agent/agent-loop-standalone.js.map +1 -1
- package/lib/zhin-agent/agent-loop-turn.d.ts +4 -4
- package/lib/zhin-agent/agent-loop-turn.d.ts.map +1 -1
- package/lib/zhin-agent/agent-loop-turn.js +8 -8
- package/lib/zhin-agent/agent-loop-turn.js.map +1 -1
- package/lib/zhin-agent/builtin-tools.d.ts +1 -1
- package/lib/zhin-agent/builtin-tools.d.ts.map +1 -1
- package/lib/zhin-agent/compaction-runtime.d.ts +6 -2
- package/lib/zhin-agent/compaction-runtime.d.ts.map +1 -1
- package/lib/zhin-agent/compaction-runtime.js +25 -1
- package/lib/zhin-agent/compaction-runtime.js.map +1 -1
- package/lib/zhin-agent/config.d.ts +25 -0
- package/lib/zhin-agent/config.d.ts.map +1 -1
- package/lib/zhin-agent/config.js.map +1 -1
- package/lib/zhin-agent/deferred-delivery.d.ts +3 -3
- package/lib/zhin-agent/deferred-delivery.d.ts.map +1 -1
- package/lib/zhin-agent/deferred-delivery.js +5 -5
- package/lib/zhin-agent/deferred-delivery.js.map +1 -1
- package/lib/zhin-agent/event-emitter.d.ts +2 -2
- package/lib/zhin-agent/event-emitter.d.ts.map +1 -1
- package/lib/zhin-agent/event-emitter.js +7 -7
- package/lib/zhin-agent/event-emitter.js.map +1 -1
- package/lib/zhin-agent/index.d.ts +29 -28
- package/lib/zhin-agent/index.d.ts.map +1 -1
- package/lib/zhin-agent/index.js +114 -162
- package/lib/zhin-agent/index.js.map +1 -1
- package/lib/zhin-agent/interfaces.d.ts +63 -0
- package/lib/zhin-agent/interfaces.d.ts.map +1 -0
- package/lib/zhin-agent/interfaces.js +8 -0
- package/lib/zhin-agent/interfaces.js.map +1 -0
- package/lib/zhin-agent/model-resolver.d.ts.map +1 -1
- package/lib/zhin-agent/model-resolver.js +2 -0
- package/lib/zhin-agent/model-resolver.js.map +1 -1
- package/lib/zhin-agent/persist-deferred-context.d.ts +2 -2
- package/lib/zhin-agent/persist-deferred-context.d.ts.map +1 -1
- package/lib/zhin-agent/persist-deferred-context.js +3 -9
- package/lib/zhin-agent/persist-deferred-context.js.map +1 -1
- package/lib/zhin-agent/prompt-assembly.d.ts +7 -7
- package/lib/zhin-agent/prompt-assembly.d.ts.map +1 -1
- package/lib/zhin-agent/prompt-assembly.js +11 -11
- package/lib/zhin-agent/prompt-assembly.js.map +1 -1
- package/lib/zhin-agent/prompt-controller.d.ts +3 -3
- package/lib/zhin-agent/prompt-controller.d.ts.map +1 -1
- package/lib/zhin-agent/prompt-controller.js +2 -2
- package/lib/zhin-agent/prompt-controller.js.map +1 -1
- package/lib/zhin-agent/prompt.d.ts +10 -10
- package/lib/zhin-agent/prompt.d.ts.map +1 -1
- package/lib/zhin-agent/prompt.js +62 -55
- package/lib/zhin-agent/prompt.js.map +1 -1
- package/lib/zhin-agent/session-io.d.ts +10 -10
- package/lib/zhin-agent/session-io.d.ts.map +1 -1
- package/lib/zhin-agent/session-io.js +47 -33
- package/lib/zhin-agent/session-io.js.map +1 -1
- package/lib/zhin-agent/session-tree-commands.d.ts +3 -3
- package/lib/zhin-agent/session-tree-commands.d.ts.map +1 -1
- package/lib/zhin-agent/session-tree-commands.js +7 -19
- package/lib/zhin-agent/session-tree-commands.js.map +1 -1
- package/lib/zhin-agent/task-continuation.d.ts +4 -4
- package/lib/zhin-agent/task-continuation.d.ts.map +1 -1
- package/lib/zhin-agent/task-continuation.js.map +1 -1
- package/lib/zhin-agent/tool-orchestration.d.ts +3 -3
- package/lib/zhin-agent/tool-orchestration.d.ts.map +1 -1
- package/lib/zhin-agent/tool-orchestration.js +9 -15
- package/lib/zhin-agent/tool-orchestration.js.map +1 -1
- package/lib/zhin-agent/tool-runtime.d.ts +2 -2
- package/lib/zhin-agent/tool-runtime.d.ts.map +1 -1
- package/lib/zhin-agent/tool-runtime.js +2 -2
- package/lib/zhin-agent/tool-runtime.js.map +1 -1
- package/lib/zhin-agent/tool-search-orchestrator.d.ts +2 -2
- package/lib/zhin-agent/tool-search-orchestrator.d.ts.map +1 -1
- package/lib/zhin-agent/tool-search-orchestrator.js +9 -9
- package/lib/zhin-agent/tool-search-orchestrator.js.map +1 -1
- package/lib/zhin-agent/turn-pipeline.d.ts +4 -3
- package/lib/zhin-agent/turn-pipeline.d.ts.map +1 -1
- package/lib/zhin-agent/turn-pipeline.js +37 -59
- package/lib/zhin-agent/turn-pipeline.js.map +1 -1
- package/lib/zhin-agent/turn-user-message.d.ts +2 -2
- package/lib/zhin-agent/turn-user-message.d.ts.map +1 -1
- package/lib/zhin-agent/turn-user-message.js +2 -2
- package/lib/zhin-agent/turn-user-message.js.map +1 -1
- package/lib/zhin-agent/web-search-locale-attach.d.ts +2 -2
- package/lib/zhin-agent/web-search-locale-attach.d.ts.map +1 -1
- package/lib/zhin-agent/web-search-locale-attach.js +5 -4
- package/lib/zhin-agent/web-search-locale-attach.js.map +1 -1
- package/lib/zhin-agent/zhin-agent-private.d.ts +7 -7
- package/lib/zhin-agent/zhin-agent-private.d.ts.map +1 -1
- package/package.json +15 -5
- package/lib/monitoring/index.d.ts +0 -79
- package/lib/monitoring/index.d.ts.map +0 -1
- package/lib/monitoring/index.js +0 -197
- package/lib/monitoring/index.js.map +0 -1
- package/lib/monitoring/metrics.d.ts +0 -260
- package/lib/monitoring/metrics.d.ts.map +0 -1
- package/lib/monitoring/metrics.js +0 -550
- package/lib/monitoring/metrics.js.map +0 -1
- package/lib/security/bash-tool-context.d.ts +0 -20
- package/lib/security/bash-tool-context.d.ts.map +0 -1
- package/lib/security/bash-tool-context.js +0 -19
- package/lib/security/bash-tool-context.js.map +0 -1
- package/lib/security/budget-limiter.d.ts +0 -161
- package/lib/security/budget-limiter.d.ts.map +0 -1
- package/lib/security/budget-limiter.js +0 -392
- package/lib/security/budget-limiter.js.map +0 -1
- package/lib/security/network-policy.d.ts +0 -98
- package/lib/security/network-policy.d.ts.map +0 -1
- package/lib/security/network-policy.js +0 -305
- package/lib/security/network-policy.js.map +0 -1
- package/lib/security/security-config.example.d.ts +0 -33
- package/lib/security/security-config.example.d.ts.map +0 -1
- package/lib/security/security-config.example.js +0 -166
- package/lib/security/security-config.example.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-router.js","sourceRoot":"","sources":["../../src/assistant/notification-router.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAsC,MAAM,uCAAuC,CAAC;AAG1G,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;AAsBvD,MAAM,UAAU,aAAa,CAAC,MAAmB,EAAE,QAAoB;IACrE,MAAM,GAAG,GAAG,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,OAAO;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG,EAAE,QAAQ;QAC1C,
|
|
1
|
+
{"version":3,"file":"notification-router.js","sourceRoot":"","sources":["../../src/assistant/notification-router.ts"],"names":[],"mappings":"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"}
|
package/lib/assistant/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/assistant/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,MAAM,MAAM,SAAS,GACjB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/assistant/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,MAAM,MAAM,SAAS,GACjB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9G;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,GACrB;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,GAClB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnD,6BAA6B;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Tool,
|
|
1
|
+
import type { Tool, Message, ToolParametersSchema, ToolResult } from '@zhin.js/core';
|
|
2
2
|
import { BuiltinBaseTool } from './builtin-base-tool.js';
|
|
3
3
|
export interface ActivateSkillToolOptions {
|
|
4
4
|
/** 按名称查找已注册技能的 SKILL.md 绝对路径 */
|
|
@@ -15,7 +15,7 @@ export declare class ActivateSkillBuiltinTool extends BuiltinBaseTool {
|
|
|
15
15
|
readonly parameters: ToolParametersSchema<Record<string, any>>;
|
|
16
16
|
readonly kind = "skill";
|
|
17
17
|
constructor(opts: ActivateSkillToolOptions);
|
|
18
|
-
run(args: Record<string, unknown>,
|
|
18
|
+
run(args: Record<string, unknown>, _commMessage?: Message): Promise<ToolResult>;
|
|
19
19
|
}
|
|
20
20
|
export declare function createActivateSkillTool(opts: ActivateSkillToolOptions): Tool;
|
|
21
21
|
//# sourceMappingURL=activate-skill-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activate-skill-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/activate-skill-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"activate-skill-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/activate-skill-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,WAAW,wBAAwB;IACvC,gCAAgC;IAChC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvD,4CAA4C;IAC5C,YAAY,EAAE,MAAM,MAAM,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,yBAAyB,EAAE,oBAMvC,CAAC;AAEF,qBAAa,wBAAyB,SAAQ,eAAe;IAO/C,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,4MACkB;IACtC,QAAQ,CAAC,UAAU,4CAA6B;IAChD,QAAQ,CAAC,IAAI,WAAW;gBAEK,IAAI,EAAE,wBAAwB;IAMrD,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CAwBtF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI,CAE5E"}
|
|
@@ -25,7 +25,7 @@ export class ActivateSkillBuiltinTool extends BuiltinBaseTool {
|
|
|
25
25
|
this.tags.push('skill', 'activate');
|
|
26
26
|
this.keywords.push('技能', '激活', '启用', '使用', 'skill', 'activate', 'use');
|
|
27
27
|
}
|
|
28
|
-
async run(args,
|
|
28
|
+
async run(args, _commMessage) {
|
|
29
29
|
try {
|
|
30
30
|
const name = String(args.name);
|
|
31
31
|
const registeredPath = this.opts.skillFileLookup?.(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activate-skill-tool.js","sourceRoot":"","sources":["../../src/builtin/activate-skill-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAUzD,MAAM,CAAC,MAAM,yBAAyB,GAAyB;IAC7D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;KAC9C;IACD,QAAQ,EAAE,CAAC,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,OAAO,wBAAyB,SAAQ,eAAe;IAO9B;IANpB,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAClB,mCAAmC,CAAC;IAC7B,UAAU,GAAG,yBAAyB,CAAC;IACvC,IAAI,GAAG,OAAO,CAAC;IAExB,YAA6B,IAA8B;QACzD,KAAK,EAAE,CAAC;QADmB,SAAI,GAAJ,IAAI,CAA0B;QAEzD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"activate-skill-tool.js","sourceRoot":"","sources":["../../src/builtin/activate-skill-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Tool,
|
|
1
|
+
import type { Tool, Message, ToolParametersSchema, ToolResult } from '@zhin.js/core';
|
|
2
2
|
import { BuiltinBaseTool } from './builtin-base-tool.js';
|
|
3
3
|
export declare const ANALYZE_MEDIA_PARAMETERS: ToolParametersSchema;
|
|
4
4
|
export declare class AnalyzeMediaBuiltinTool extends BuiltinBaseTool {
|
|
@@ -7,7 +7,7 @@ export declare class AnalyzeMediaBuiltinTool extends BuiltinBaseTool {
|
|
|
7
7
|
readonly parameters: ToolParametersSchema<Record<string, any>>;
|
|
8
8
|
readonly kind = "file";
|
|
9
9
|
constructor();
|
|
10
|
-
run(args: Record<string, unknown>,
|
|
10
|
+
run(args: Record<string, unknown>, commMessage?: Message): Promise<ToolResult>;
|
|
11
11
|
}
|
|
12
12
|
export declare function createAnalyzeMediaTool(): Tool;
|
|
13
13
|
//# sourceMappingURL=analyze-media-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-media-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/analyze-media-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"analyze-media-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/analyze-media-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIrF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgBzD,eAAO,MAAM,wBAAwB,EAAE,oBAMtC,CAAC;AAEF,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,kQACqC;IACzD,QAAQ,CAAC,UAAU,4CAA4B;IAC/C,QAAQ,CAAC,IAAI,UAAU;;IAQjB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CA2DrF;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
|
|
@@ -35,18 +35,18 @@ export class AnalyzeMediaBuiltinTool extends BuiltinBaseTool {
|
|
|
35
35
|
this.tags.push('file', 'media');
|
|
36
36
|
this.keywords.push('分析图片', '分析视频', '分析音频', 'analyze media', 'vision', '媒体');
|
|
37
37
|
}
|
|
38
|
-
async run(args,
|
|
38
|
+
async run(args, commMessage) {
|
|
39
39
|
const filePathArg = args.file_path;
|
|
40
40
|
if (typeof filePathArg !== 'string' || !filePathArg.trim()) {
|
|
41
41
|
return 'Error: file_path is required';
|
|
42
42
|
}
|
|
43
|
-
const roleDecision = checkFileToolAccess('read_file',
|
|
43
|
+
const roleDecision = checkFileToolAccess('read_file', commMessage);
|
|
44
44
|
if (!roleDecision.allowed) {
|
|
45
45
|
if (roleDecision.needsOwnerApproval)
|
|
46
46
|
return toOwnerSignal(roleDecision);
|
|
47
47
|
return toDenyError(roleDecision);
|
|
48
48
|
}
|
|
49
|
-
const fileRole =
|
|
49
|
+
const fileRole = toolRequesterRoleToFileRole(roleDecision.role);
|
|
50
50
|
const permResult = checkFilePermission(fileRole, 'read', filePathArg);
|
|
51
51
|
if (!permResult.allowed) {
|
|
52
52
|
return formatFilePermissionMessage(permResult, 'analyze_media');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-media-tool.js","sourceRoot":"","sources":["../../src/builtin/analyze-media-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAChI,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IACxD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;CAChC,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,QAAgB;IACnC,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAyB;IAC5D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;KAC/D;IACD,QAAQ,EAAE,CAAC,WAAW,CAAC;CACxB,CAAC;AAEF,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IACjD,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAClB,sDAAsD,CAAC;IAChD,UAAU,GAAG,wBAAwB,CAAC;IACtC,IAAI,GAAG,MAAM,CAAC;IAEvB;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"analyze-media-tool.js","sourceRoot":"","sources":["../../src/builtin/analyze-media-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ask_user — 基于 Prompt / 私聊 向
|
|
2
|
+
* ask_user — 基于 Prompt / 私聊 向 Endpoint Owner 确认或提问
|
|
3
3
|
*/
|
|
4
|
-
import { type Plugin, type
|
|
4
|
+
import { type Plugin, type Message, type Tool, type ToolParametersSchema, type ToolResult } from '@zhin.js/core';
|
|
5
5
|
import { BuiltinBaseTool } from './builtin-base-tool.js';
|
|
6
6
|
/**
|
|
7
7
|
* 私聊 Owner 场景:使用 Prompt 类直接交互(原有行为)
|
|
@@ -19,12 +19,12 @@ export declare function createAskUserTool(plugin: Plugin): Tool;
|
|
|
19
19
|
export declare class AskUserBuiltinTool extends BuiltinBaseTool {
|
|
20
20
|
private readonly plugin;
|
|
21
21
|
readonly name = "ask_user";
|
|
22
|
-
readonly description = "\u5411
|
|
22
|
+
readonly description = "\u5411 Endpoint Owner \u53D1\u9001\u95EE\u9898\u5E76\u7B49\u5F85\u56DE\u590D\uFF1B\u7FA4\u804A\u573A\u666F\u4E0B\u901A\u8FC7\u79C1\u804A\u786E\u8BA4\u3002bash/icqq\uFF1AOwner \u79C1\u804A\u53EF\u7528\u300C/approve always bash\u300D\u300C/approve rule <\u6B63\u5219>\u300D\uFF08\u5339\u914D\u6574\u6BB5 shell \u5B50\u547D\u4EE4\uFF0C\u5982\u70B9\u8D5E\u7C7B icqq \u4E0D\u5FC5\u56FA\u5316\u89E3\u53C2\u6570\uFF09\u3001\u300C/approve list\u300D\u300C/approve revoke rule <id>\u300D\u300C/approve revoke\u300D\u3002write_file / edit_file / web_fetch \u7684\u786C\u7F16\u6392\u4ECD\u987B\u9010\u6B21\u786E\u8BA4\u3002";
|
|
23
23
|
readonly parameters: ToolParametersSchema<Record<string, any>>;
|
|
24
24
|
readonly kind = "interaction";
|
|
25
25
|
/** 默认等待 Owner 120s,须大于 Agent 默认 30s 工具超时 */
|
|
26
26
|
readonly executionTimeoutMs = 150000;
|
|
27
27
|
constructor(plugin: Plugin);
|
|
28
|
-
run(args: Record<string, unknown>,
|
|
28
|
+
run(args: Record<string, unknown>, commMessage?: Message): Promise<ToolResult>;
|
|
29
29
|
}
|
|
30
30
|
//# sourceMappingURL=ask-user-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/ask-user-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAGL,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"ask-user-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/ask-user-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,OAAO,EAGZ,KAAK,IAAI,EACT,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAMzD;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAgBxG;AAED,eAAO,MAAM,mBAAmB,EAAE,oBAkBjC,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IASzC,OAAO,CAAC,QAAQ,CAAC,MAAM;IARnC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,0mBACmO;IACvP,QAAQ,CAAC,UAAU,4CAAuB;IAC1C,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,kBAAkB,UAAW;gBAET,MAAM,EAAE,MAAM;IAgBrC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CA+ErF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ask_user — 基于 Prompt / 私聊 向
|
|
2
|
+
* ask_user — 基于 Prompt / 私聊 向 Endpoint Owner 确认或提问
|
|
3
3
|
*/
|
|
4
4
|
import { Prompt, } from '@zhin.js/core';
|
|
5
5
|
import { errMsg } from '../discovery/utils.js';
|
|
@@ -96,7 +96,7 @@ export function createAskUserTool(plugin) {
|
|
|
96
96
|
export class AskUserBuiltinTool extends BuiltinBaseTool {
|
|
97
97
|
plugin;
|
|
98
98
|
name = 'ask_user';
|
|
99
|
-
description = '向
|
|
99
|
+
description = '向 Endpoint Owner 发送问题并等待回复;群聊场景下通过私聊确认。bash/icqq:Owner 私聊可用「/approve always bash」「/approve rule <正则>」(匹配整段 shell 子命令,如点赞类 icqq 不必固化解参数)、「/approve list」「/approve revoke rule <id>」「/approve revoke」。write_file / edit_file / web_fetch 的硬编排仍须逐次确认。';
|
|
100
100
|
parameters = ASK_USER_PARAMETERS;
|
|
101
101
|
kind = 'interaction';
|
|
102
102
|
/** 默认等待 Owner 120s,须大于 Agent 默认 30s 工具超时 */
|
|
@@ -107,8 +107,8 @@ export class AskUserBuiltinTool extends BuiltinBaseTool {
|
|
|
107
107
|
this.tags.push('interaction', 'prompt');
|
|
108
108
|
this.keywords.push('询问', '确认', '提问', '用户输入', 'ask', 'confirm', 'prompt', '选择', '请问');
|
|
109
109
|
}
|
|
110
|
-
async run(args,
|
|
111
|
-
if (!
|
|
110
|
+
async run(args, commMessage) {
|
|
111
|
+
if (!commMessage) {
|
|
112
112
|
return 'Error: 当前上下文没有消息来源,无法向 Owner 提问。请改为在回复中直接询问。';
|
|
113
113
|
}
|
|
114
114
|
if (!this.plugin) {
|
|
@@ -117,25 +117,25 @@ export class AskUserBuiltinTool extends BuiltinBaseTool {
|
|
|
117
117
|
const timeoutMs = (args.timeout ?? 120) * 1000;
|
|
118
118
|
const questionType = args.type || 'text';
|
|
119
119
|
const recordArgs = args;
|
|
120
|
-
const platform =
|
|
121
|
-
const
|
|
120
|
+
const platform = commMessage.$adapter;
|
|
121
|
+
const endpointId = commMessage.$endpoint;
|
|
122
122
|
const adapter = this.plugin.inject(platform);
|
|
123
|
-
const bot = adapter?.
|
|
123
|
+
const bot = adapter?.endpoints?.get(endpointId);
|
|
124
124
|
const botMaster = bot?.$config?.master;
|
|
125
|
-
const isPrivateMaster =
|
|
126
|
-
&& botMaster != null && String(
|
|
125
|
+
const isPrivateMaster = commMessage.$channel?.type === 'private'
|
|
126
|
+
&& botMaster != null && String(commMessage.$sender.id) === String(botMaster);
|
|
127
127
|
if (isPrivateMaster) {
|
|
128
|
-
return askViaPrompt(this.plugin,
|
|
128
|
+
return askViaPrompt(this.plugin, commMessage, recordArgs, questionType, timeoutMs);
|
|
129
129
|
}
|
|
130
130
|
if (!botMaster) {
|
|
131
|
-
return 'Error: 当前
|
|
131
|
+
return 'Error: 当前 Endpoint 未配置 master,无法进行安全确认。请在 endpoints 配置中设置 master 字段。';
|
|
132
132
|
}
|
|
133
133
|
if (!adapter || typeof adapter.sendMessage !== 'function') {
|
|
134
134
|
return `Error: 无法获取适配器 ${platform},无法向 Owner 发送私聊确认。`;
|
|
135
135
|
}
|
|
136
|
-
const sourceInfo =
|
|
137
|
-
? `来源: ${
|
|
138
|
-
: `来源: 私聊 用户: ${
|
|
136
|
+
const sourceInfo = commMessage.$channel?.type !== 'private'
|
|
137
|
+
? `来源: ${commMessage.$channel?.type}(${commMessage.$channel?.id}) 用户: ${commMessage.$sender.id}`
|
|
138
|
+
: `来源: 私聊 用户: ${commMessage.$sender.id}`;
|
|
139
139
|
let questionText = `🔐 AI 安全确认\n${sourceInfo}\n\n${args.question}`;
|
|
140
140
|
if (questionType === 'confirm') {
|
|
141
141
|
questionText += '\n输入"yes"以确认';
|
|
@@ -149,7 +149,7 @@ export class AskUserBuiltinTool extends BuiltinBaseTool {
|
|
|
149
149
|
try {
|
|
150
150
|
await adapter.sendMessage({
|
|
151
151
|
context: platform,
|
|
152
|
-
|
|
152
|
+
endpoint: endpointId,
|
|
153
153
|
id: botMaster,
|
|
154
154
|
type: 'private',
|
|
155
155
|
content: questionText,
|
|
@@ -165,7 +165,7 @@ export class AskUserBuiltinTool extends BuiltinBaseTool {
|
|
|
165
165
|
return next();
|
|
166
166
|
if (String(message.$sender.id) !== String(botMaster))
|
|
167
167
|
return next();
|
|
168
|
-
if (String(message.$
|
|
168
|
+
if (String(message.$endpoint) !== String(endpointId))
|
|
169
169
|
return next();
|
|
170
170
|
dispose();
|
|
171
171
|
clearTimeout(timer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user-tool.js","sourceRoot":"","sources":["../../src/builtin/ask-user-tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ask-user-tool.js","sourceRoot":"","sources":["../../src/builtin/ask-user-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* bash — Shell 执行(安全检查 + 命令读写分类 + 沙箱保护 + 文件角色权限)
|
|
3
3
|
*/
|
|
4
4
|
import { type ExecOptions } from 'node:child_process';
|
|
5
|
-
import type
|
|
5
|
+
import { type Tool, type Message, type ToolParametersSchema, type ToolResult } from '@zhin.js/core';
|
|
6
6
|
import { BuiltinBaseTool } from './builtin-base-tool.js';
|
|
7
7
|
/** 可注入以便单测(默认 `promisify(exec)`) */
|
|
8
8
|
export type BashExecAsync = (command: string, options?: ExecOptions) => Promise<{
|
|
@@ -21,7 +21,7 @@ export declare class BashBuiltinTool extends BuiltinBaseTool {
|
|
|
21
21
|
constructor(execAsync?: BashExecAsync, options?: {
|
|
22
22
|
useSandbox?: boolean;
|
|
23
23
|
});
|
|
24
|
-
run(args: Record<string, unknown>,
|
|
24
|
+
run(args: Record<string, unknown>, commMessage?: Message): Promise<ToolResult>;
|
|
25
25
|
}
|
|
26
26
|
export declare function createBashTool(): Tool;
|
|
27
27
|
//# sourceMappingURL=bash-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/bash-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"bash-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/bash-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAa,KAAK,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAS/G,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjD,eAAO,MAAM,eAAe,EAAE,oBAQ7B,CAAC;AAEF,qBAAa,eAAgB,SAAQ,eAAe;IAWhD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV5B,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,mPACgC;IACpD,QAAQ,CAAC,UAAU,4CAAmB;IACtC,QAAQ,CAAC,IAAI,WAAW;IAExB,mCAAmC;IACnC,OAAO,CAAC,UAAU,CAAU;gBAGT,SAAS,GAAE,aAAgC,EAC5D,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;IAQ9B,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CAuErF;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
|
package/lib/builtin/bash-tool.js
CHANGED
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { exec } from 'node:child_process';
|
|
5
5
|
import { promisify } from 'node:util';
|
|
6
|
+
import { getPlugin } from '@zhin.js/core';
|
|
7
|
+
import { resolveToolRequesterRole } from '../security/owner-approve-always-store.js';
|
|
8
|
+
import { checkBashFilePermission, formatFilePermissionMessage, toolRequesterRoleToFileRole } from '../security/file-role-policy.js';
|
|
6
9
|
import { checkBashCommandSafety, classifyBashCommand, } from '../security/file-policy.js';
|
|
7
|
-
import { checkBashFilePermission, formatFilePermissionMessage } from '../security/file-role-policy.js';
|
|
8
10
|
import { getSandbox } from '../security/sandbox.js';
|
|
9
11
|
import { errMsg } from '../discovery/utils.js';
|
|
10
12
|
import { BuiltinBaseTool } from './builtin-base-tool.js';
|
|
@@ -33,7 +35,7 @@ export class BashBuiltinTool extends BuiltinBaseTool {
|
|
|
33
35
|
this.keywords.push('执行', '运行', '命令', '终端', 'shell', 'bash');
|
|
34
36
|
this.useSandbox = options?.useSandbox ?? true;
|
|
35
37
|
}
|
|
36
|
-
async run(args,
|
|
38
|
+
async run(args, commMessage) {
|
|
37
39
|
try {
|
|
38
40
|
const cmd = String(args.command || '');
|
|
39
41
|
if (!cmd.trim())
|
|
@@ -41,7 +43,10 @@ export class BashBuiltinTool extends BuiltinBaseTool {
|
|
|
41
43
|
const safety = checkBashCommandSafety(cmd);
|
|
42
44
|
if (!safety.safe)
|
|
43
45
|
return `Error: ${safety.reason}`;
|
|
44
|
-
const
|
|
46
|
+
const requesterRole = commMessage
|
|
47
|
+
? resolveToolRequesterRole(getPlugin(), commMessage)
|
|
48
|
+
: 'unknown';
|
|
49
|
+
const role = toolRequesterRoleToFileRole(requesterRole);
|
|
45
50
|
const filePermResult = checkBashFilePermission(role, cmd);
|
|
46
51
|
if (!filePermResult.allowed) {
|
|
47
52
|
return formatFilePermissionMessage(filePermResult, 'bash', `Shell 命令: ${cmd.slice(0, 200)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash-tool.js","sourceRoot":"","sources":["../../src/builtin/bash-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAoB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bash-tool.js","sourceRoot":"","sources":["../../src/builtin/bash-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 内置系统工具基类 — 产出与 {@link ToolFeature} / {@link normalizeTool} 兼容的 {@link Tool},
|
|
3
3
|
* 便于将核心逻辑写在可单测的 `run` 中(见 PRD #389 / issue #390)。
|
|
4
4
|
*/
|
|
5
|
-
import type { Tool,
|
|
5
|
+
import type { Tool, Message, ToolParametersSchema, ToolResult } from '@zhin.js/core';
|
|
6
6
|
export declare abstract class BuiltinBaseTool {
|
|
7
7
|
abstract readonly name: string;
|
|
8
8
|
abstract readonly description: string;
|
|
@@ -18,7 +18,7 @@ export declare abstract class BuiltinBaseTool {
|
|
|
18
18
|
/**
|
|
19
19
|
* 核心执行逻辑(单测优先覆盖此处)。
|
|
20
20
|
*/
|
|
21
|
-
abstract run(args: Record<string, unknown>,
|
|
21
|
+
abstract run(args: Record<string, unknown>, commMessage?: Message): Promise<ToolResult>;
|
|
22
22
|
/**
|
|
23
23
|
* 注册到 ToolFeature;带 `source` 以便 `normalizeTool` 识别为 IM 工具形态并绑定 context。
|
|
24
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-base-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/builtin-base-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"builtin-base-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/builtin-base-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAErF,8BAAsB,eAAe;IACnC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAEnD,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAM;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,gCAAgC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAEvF;;OAEG;IACH,MAAM,IAAI,IAAI;CAiBf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Tool,
|
|
1
|
+
import type { Tool, Message, ToolParametersSchema, ToolResult } from '@zhin.js/core';
|
|
2
2
|
import { BuiltinBaseTool } from './builtin-base-tool.js';
|
|
3
3
|
export declare const EDIT_FILE_PARAMETERS: ToolParametersSchema;
|
|
4
4
|
export declare class EditFileBuiltinTool extends BuiltinBaseTool {
|
|
@@ -7,7 +7,7 @@ export declare class EditFileBuiltinTool extends BuiltinBaseTool {
|
|
|
7
7
|
readonly parameters: ToolParametersSchema<Record<string, any>>;
|
|
8
8
|
readonly kind = "file";
|
|
9
9
|
constructor();
|
|
10
|
-
run(args: Record<string, unknown>,
|
|
10
|
+
run(args: Record<string, unknown>, commMessage?: Message): Promise<ToolResult>;
|
|
11
11
|
}
|
|
12
12
|
export declare function createEditFileTool(): Tool;
|
|
13
13
|
//# sourceMappingURL=edit-file-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-file-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/edit-file-tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"edit-file-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/edit-file-tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAWrF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAMzD,eAAO,MAAM,oBAAoB,EAAE,oBAWlC,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,4YAC4D;IAChF,QAAQ,CAAC,UAAU,4CAAwB;IAC3C,QAAQ,CAAC,IAAI,UAAU;;IAiBjB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CA0FrF;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|
|
@@ -31,7 +31,7 @@ export class EditFileBuiltinTool extends BuiltinBaseTool {
|
|
|
31
31
|
this.tags.push('file', 'edit');
|
|
32
32
|
this.keywords.push('编辑文件', '修改文件', '替换内容', '查找替换', 'edit file', 'edit', '修改', '替换');
|
|
33
33
|
}
|
|
34
|
-
async run(args,
|
|
34
|
+
async run(args, commMessage) {
|
|
35
35
|
const filePathArg = args.file_path;
|
|
36
36
|
const oldStringArg = args.old_string;
|
|
37
37
|
const newStringArg = args.new_string;
|
|
@@ -45,21 +45,21 @@ export class EditFileBuiltinTool extends BuiltinBaseTool {
|
|
|
45
45
|
return 'Error: new_string is required';
|
|
46
46
|
}
|
|
47
47
|
// 第 1 层:角色门控
|
|
48
|
-
const roleDecision = checkFileToolAccess('edit_file',
|
|
48
|
+
const roleDecision = checkFileToolAccess('edit_file', commMessage);
|
|
49
49
|
if (!roleDecision.allowed) {
|
|
50
50
|
if (roleDecision.needsOwnerApproval)
|
|
51
51
|
return toOwnerSignal(roleDecision);
|
|
52
52
|
return toDenyError(roleDecision);
|
|
53
53
|
}
|
|
54
54
|
// 第 1.5 层:危险工具审批
|
|
55
|
-
const dangerousDecision = checkDangerousToolAccess('edit_file',
|
|
55
|
+
const dangerousDecision = checkDangerousToolAccess('edit_file', commMessage);
|
|
56
56
|
if (!dangerousDecision.allowed) {
|
|
57
57
|
if (dangerousDecision.needsOwnerApproval)
|
|
58
58
|
return toOwnerSignal(dangerousDecision);
|
|
59
59
|
return toDenyError(dangerousDecision);
|
|
60
60
|
}
|
|
61
61
|
// 第 2 层:文件角色权限矩阵
|
|
62
|
-
const fileRole =
|
|
62
|
+
const fileRole = toolRequesterRoleToFileRole(roleDecision.role);
|
|
63
63
|
const permResult = checkFilePermission(fileRole, 'update', filePathArg);
|
|
64
64
|
if (!permResult.allowed) {
|
|
65
65
|
return formatFilePermissionMessage(permResult, 'edit_file');
|
|
@@ -69,11 +69,11 @@ export class EditFileBuiltinTool extends BuiltinBaseTool {
|
|
|
69
69
|
return confirmMsg;
|
|
70
70
|
try {
|
|
71
71
|
const fp = expandHome(filePathArg);
|
|
72
|
-
const memoryDecision = checkMemoryWritePath(fp,
|
|
72
|
+
const memoryDecision = checkMemoryWritePath(fp, commMessage);
|
|
73
73
|
if (!memoryDecision.allowed) {
|
|
74
74
|
return `Error: ${memoryDecision.reason}`;
|
|
75
75
|
}
|
|
76
|
-
const sensitiveDecision = checkSensitiveFilePathAccess('edit_file', fp,
|
|
76
|
+
const sensitiveDecision = checkSensitiveFilePathAccess('edit_file', fp, commMessage);
|
|
77
77
|
if (!sensitiveDecision.allowed) {
|
|
78
78
|
if (sensitiveDecision.needsOwnerApproval)
|
|
79
79
|
return toOwnerSignal(sensitiveDecision);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-file-tool.js","sourceRoot":"","sources":["../../src/builtin/edit-file-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,GACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAChI,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC/J,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACxD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;QACtD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wBAAwB;SACtC;QACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;KACvD;IACD,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;CACpD,CAAC;AAEF,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IAC7C,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAClB,6EAA6E,CAAC;IACvE,UAAU,GAAG,oBAAoB,CAAC;IAClC,IAAI,GAAG,MAAM,CAAC;IAEvB;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"edit-file-tool.js","sourceRoot":"","sources":["../../src/builtin/edit-file-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* glob — 按 glob 模式查找文件
|
|
3
3
|
*/
|
|
4
4
|
import { type ExecOptions } from 'node:child_process';
|
|
5
|
-
import type { Tool,
|
|
5
|
+
import type { Tool, Message, ToolParametersSchema, ToolResult } from '@zhin.js/core';
|
|
6
6
|
import { BuiltinBaseTool } from './builtin-base-tool.js';
|
|
7
7
|
/** 可注入以便单测(默认 `promisify(exec)`) */
|
|
8
8
|
export type GlobExecAsync = (command: string, options?: ExecOptions) => Promise<{
|
|
@@ -17,7 +17,7 @@ export declare class GlobBuiltinTool extends BuiltinBaseTool {
|
|
|
17
17
|
readonly parameters: ToolParametersSchema<Record<string, any>>;
|
|
18
18
|
readonly kind = "file";
|
|
19
19
|
constructor(execAsync?: GlobExecAsync);
|
|
20
|
-
run(args: Record<string, unknown>,
|
|
20
|
+
run(args: Record<string, unknown>, commMessage?: Message): Promise<ToolResult>;
|
|
21
21
|
}
|
|
22
22
|
export declare function createGlobTool(): Tool;
|
|
23
23
|
//# sourceMappingURL=glob-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/glob-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"glob-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/glob-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIrF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjD,eAAO,MAAM,eAAe,EAAE,oBAO7B,CAAC;AAEF,qBAAa,eAAgB,SAAQ,eAAe;IAOtC,OAAO,CAAC,QAAQ,CAAC,SAAS;IANtC,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,oNAC+B;IACnD,QAAQ,CAAC,UAAU,4CAAmB;IACtC,QAAQ,CAAC,IAAI,UAAU;gBAEM,SAAS,GAAE,aAAgC;IAMlE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CA+BrF;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
|
package/lib/builtin/glob-tool.js
CHANGED
|
@@ -28,7 +28,7 @@ export class GlobBuiltinTool extends BuiltinBaseTool {
|
|
|
28
28
|
this.tags.push('file', 'search');
|
|
29
29
|
this.keywords.push('glob', '查找文件', '按模式找文件', 'find', '匹配文件');
|
|
30
30
|
}
|
|
31
|
-
async run(args,
|
|
31
|
+
async run(args, commMessage) {
|
|
32
32
|
const patternArg = args.pattern;
|
|
33
33
|
if (typeof patternArg !== 'string' || !patternArg.trim()) {
|
|
34
34
|
return 'Error: pattern is required';
|
|
@@ -36,13 +36,13 @@ export class GlobBuiltinTool extends BuiltinBaseTool {
|
|
|
36
36
|
try {
|
|
37
37
|
const cwdRaw = args.cwd;
|
|
38
38
|
const cwd = typeof cwdRaw === 'string' && cwdRaw.trim() ? cwdRaw : process.cwd();
|
|
39
|
-
const roleDecision = checkFileToolAccess('glob',
|
|
39
|
+
const roleDecision = checkFileToolAccess('glob', commMessage);
|
|
40
40
|
if (!roleDecision.allowed) {
|
|
41
41
|
if (roleDecision.needsOwnerApproval)
|
|
42
42
|
return toOwnerSignal(roleDecision);
|
|
43
43
|
return toDenyError(roleDecision);
|
|
44
44
|
}
|
|
45
|
-
const sensitiveDecision = checkSensitiveFilePathAccess('glob', cwd,
|
|
45
|
+
const sensitiveDecision = checkSensitiveFilePathAccess('glob', cwd, commMessage);
|
|
46
46
|
if (!sensitiveDecision.allowed) {
|
|
47
47
|
if (sensitiveDecision.needsOwnerApproval)
|
|
48
48
|
return toOwnerSignal(sensitiveDecision);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob-tool.js","sourceRoot":"","sources":["../../src/builtin/glob-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAoB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrI,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAQzC,MAAM,CAAC,MAAM,eAAe,GAAyB;IACnD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;QAC9D,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;KACtD;IACD,QAAQ,EAAE,CAAC,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,eAAe;IAOrB;IANpB,IAAI,GAAG,MAAM,CAAC;IACd,WAAW,GAClB,gDAAgD,CAAC;IAC1C,UAAU,GAAG,eAAe,CAAC;IAC7B,IAAI,GAAG,MAAM,CAAC;IAEvB,YAA6B,YAA2B,gBAAgB;QACtE,KAAK,EAAE,CAAC;QADmB,cAAS,GAAT,SAAS,CAAkC;QAEtE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"glob-tool.js","sourceRoot":"","sources":["../../src/builtin/glob-tool.ts"],"names":[],"mappings":"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"}
|