@zhin.js/agent 0.2.0 → 0.2.1
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.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-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/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 +2 -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/spawn-task-tool.d.ts +6 -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 +2 -2
- package/lib/builtin/web-fetch-tool.d.ts.map +1 -1
- package/lib/builtin/web-fetch-tool.js +2 -2
- 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/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/types.d.ts +1 -1
- package/lib/config/types.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 +2 -2
- 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 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -2
- package/lib/index.js.map +1 -1
- package/lib/init/create-zhin-agent.d.ts.map +1 -1
- package/lib/init/create-zhin-agent.js +20 -9
- 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 +2 -2
- 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-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.js +1 -1
- 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/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/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/security/audit-logger.d.ts +3 -3
- package/lib/security/audit-logger.d.ts.map +1 -1
- package/lib/security/audit-logger.js +2 -2
- 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 +39 -31
- package/lib/security/dangerous-tool-policy.js.map +1 -1
- package/lib/security/exec-policy.js +9 -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 +3 -4
- package/lib/security/file-role-policy.js.map +1 -1
- package/lib/security/index.d.ts +1 -1
- package/lib/security/index.d.ts.map +1 -1
- package/lib/security/index.js +1 -1
- 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 -117
- package/lib/security/owner-approve-always-store.js.map +1 -1
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +7 -1
- 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 +3 -11
- package/lib/subagent.d.ts.map +1 -1
- package/lib/subagent.js +3 -9
- 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.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/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 +12 -12
- package/lib/zhin-agent/index.d.ts.map +1 -1
- package/lib/zhin-agent/index.js +38 -92
- package/lib/zhin-agent/index.js.map +1 -1
- 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 +5 -5
- 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 +8 -8
- package/lib/zhin-agent/prompt.d.ts.map +1 -1
- package/lib/zhin-agent/prompt.js +40 -53
- package/lib/zhin-agent/prompt.js.map +1 -1
- package/lib/zhin-agent/session-io.d.ts +8 -8
- package/lib/zhin-agent/session-io.d.ts.map +1 -1
- package/lib/zhin-agent/session-io.js +45 -30
- 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/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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-role-policy.js","sourceRoot":"","sources":["../../src/security/file-role-policy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"file-role-policy.js","sourceRoot":"","sources":["../../src/security/file-role-policy.ts"],"names":[],"mappings":"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"}
|
package/lib/security/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export * from './exec-policy.js';
|
|
|
16
16
|
export * from './network-policy.js';
|
|
17
17
|
export * from './budget-limiter.js';
|
|
18
18
|
export * from './audit-logger.js';
|
|
19
|
-
export * from './
|
|
19
|
+
export * from './comm-message-context.js';
|
|
20
20
|
export * from './owner-approve-always-store.js';
|
|
21
21
|
export * from './sandbox.js';
|
|
22
22
|
export * from './sandbox-enhanced.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAI3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAqD,MAAM,mBAAmB,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAA2D,MAAM,qBAAqB,CAAC;AAC7G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAA2D,MAAM,qBAAqB,CAAC;AAE7G,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,oBAAyB,GAAG;IACvE,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAMA;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI;IACzC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD,CA4BA"}
|
package/lib/security/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export * from './exec-policy.js';
|
|
|
17
17
|
export * from './network-policy.js';
|
|
18
18
|
export * from './budget-limiter.js';
|
|
19
19
|
export * from './audit-logger.js';
|
|
20
|
-
export * from './
|
|
20
|
+
export * from './comm-message-context.js';
|
|
21
21
|
export * from './owner-approve-always-store.js';
|
|
22
22
|
export * from './sandbox.js';
|
|
23
23
|
export * from './sandbox-enhanced.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,mEAAmE;AAEnE,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,mEAAmE;AAEnE,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAK3C,OAAO,EAAe,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEnG,OAAO,EAAiB,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EAAiB,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAQ7G;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA+B,EAAE;IAKpE,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAE7D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC;QAAC,gBAAgB,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,CAAC;QAAC,kBAAkB,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,CAAC;QAAC,kBAAkB,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IAKrC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAElC,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO;gBAClC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW;aACzC;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO;gBACpC,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC;oBAClD,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC;aAC7D;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO;gBACnC,cAAc,EAAE,CAAC;aAClB;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;YACxC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;YAC1C,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE;SAC9C,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Message, Plugin
|
|
1
|
+
import type { Message, Plugin } from '@zhin.js/core';
|
|
2
2
|
export declare const OWNER_APPROVE_ALWAYS_TOOL: "bash";
|
|
3
3
|
export type ToolRequesterRole = 'master' | 'trusted' | 'other' | 'unknown';
|
|
4
4
|
/** 需 Owner 审批的 icqq 子命令(正则匹配整段子命令文本,大小写不敏感) */
|
|
@@ -12,44 +12,46 @@ export interface BashApprovalBotEntry {
|
|
|
12
12
|
bashAlways?: boolean;
|
|
13
13
|
bashRules: BashRuleEntry[];
|
|
14
14
|
}
|
|
15
|
-
export declare function
|
|
16
|
-
export declare function resolveToolRequesterRole(plugin: Plugin,
|
|
17
|
-
export declare function
|
|
15
|
+
export declare function getEndpointMaster(plugin: Plugin, commMessage: Message): string | undefined;
|
|
16
|
+
export declare function resolveToolRequesterRole(plugin: Plugin, commMessage: Message): ToolRequesterRole;
|
|
17
|
+
export declare function getOwnerCommMessageOrUndefined(plugin: Plugin, message: Message): Message | undefined;
|
|
18
18
|
/** 编排层:是否已「永久放行」bash 的 Owner 硬确认(ZHIN_NEEDS_OWNER 路径) */
|
|
19
|
-
export declare function hasOwnerApproveAlways(plugin: Plugin,
|
|
20
|
-
export declare function setBashAlways(plugin: Plugin,
|
|
21
|
-
export declare function addOwnerApproveAlways(plugin: Plugin,
|
|
19
|
+
export declare function hasOwnerApproveAlways(plugin: Plugin, commMessage: Message, toolName: string): boolean;
|
|
20
|
+
export declare function setBashAlways(plugin: Plugin, commMessage: Message, value: boolean): void;
|
|
21
|
+
export declare function addOwnerApproveAlways(plugin: Plugin, commMessage: Message, toolName: string): {
|
|
22
22
|
ok: true;
|
|
23
23
|
} | {
|
|
24
24
|
ok: false;
|
|
25
25
|
error: string;
|
|
26
26
|
};
|
|
27
|
-
export declare function removeOwnerApproveAlways(plugin: Plugin,
|
|
27
|
+
export declare function removeOwnerApproveAlways(plugin: Plugin, commMessage: Message, toolName: string): {
|
|
28
28
|
ok: true;
|
|
29
29
|
} | {
|
|
30
30
|
ok: false;
|
|
31
31
|
error: string;
|
|
32
32
|
};
|
|
33
|
-
export declare function addBashApproveRule(plugin: Plugin,
|
|
33
|
+
export declare function addBashApproveRule(plugin: Plugin, commMessage: Message, pattern: string): {
|
|
34
34
|
ok: true;
|
|
35
35
|
id: string;
|
|
36
36
|
} | {
|
|
37
37
|
ok: false;
|
|
38
38
|
error: string;
|
|
39
39
|
};
|
|
40
|
-
export declare function removeBashApproveRule(plugin: Plugin,
|
|
40
|
+
export declare function removeBashApproveRule(plugin: Plugin, commMessage: Message, ruleId: string): {
|
|
41
41
|
ok: true;
|
|
42
42
|
} | {
|
|
43
43
|
ok: false;
|
|
44
44
|
error: string;
|
|
45
45
|
};
|
|
46
46
|
/** exec 策略:bashAlways 或任一 bashRules 匹配 commandLine */
|
|
47
|
-
export declare function matchesBashOwnerExecBypass(plugin: Plugin,
|
|
48
|
-
export declare function formatBashApproveList(plugin: Plugin,
|
|
47
|
+
export declare function matchesBashOwnerExecBypass(plugin: Plugin, commMessage: Message, commandLine: string): boolean;
|
|
48
|
+
export declare function formatBashApproveList(plugin: Plugin, commMessage: Message): string;
|
|
49
49
|
/** 兼容旧单测:返回 bash 与 rule 摘要行 */
|
|
50
|
-
export declare function listOwnerApproveAlways(plugin: Plugin,
|
|
50
|
+
export declare function listOwnerApproveAlways(plugin: Plugin, commMessage: Message): string[];
|
|
51
51
|
export declare function isIcqqSensitiveSubcommand(fullSubCommand: string): boolean;
|
|
52
|
-
export declare function
|
|
53
|
-
export declare function
|
|
54
|
-
export declare function
|
|
52
|
+
export declare function getPendingOrchestrationCount(): number;
|
|
53
|
+
export declare function evictPendingOrchestrationIfOverPressure(): number;
|
|
54
|
+
export declare function setPendingOrchestrationTool(plugin: Plugin, commMessage: Message, toolName: string): void;
|
|
55
|
+
export declare function clearPendingOrchestrationTool(plugin: Plugin, commMessage: Message): void;
|
|
56
|
+
export declare function getPendingOrchestrationTool(plugin: Plugin, commMessage: Message): string | undefined;
|
|
55
57
|
//# sourceMappingURL=owner-approve-always-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owner-approve-always-store.d.ts","sourceRoot":"","sources":["../../src/security/owner-approve-always-store.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAW,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"owner-approve-always-store.d.ts","sourceRoot":"","sources":["../../src/security/owner-approve-always-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import * as crypto from 'node:crypto';
|
|
10
10
|
import * as fs from 'node:fs';
|
|
11
11
|
import * as path from 'node:path';
|
|
12
|
+
import { hasSenderRole, resolveSubjectRoles, senderRolesFromMessage } from '@zhin.js/core';
|
|
12
13
|
import { getDataDir } from '../discovery/utils.js';
|
|
13
14
|
export const OWNER_APPROVE_ALWAYS_TOOL = 'bash';
|
|
14
15
|
const STORE_FILE = 'owner-approve-always.json';
|
|
@@ -39,10 +40,10 @@ function storePath() {
|
|
|
39
40
|
return path.join(getDataDir(), STORE_FILE);
|
|
40
41
|
}
|
|
41
42
|
function emptyV2() {
|
|
42
|
-
return { version: STORE_VERSION,
|
|
43
|
+
return { version: STORE_VERSION, endpoints: {} };
|
|
43
44
|
}
|
|
44
|
-
function normalizeBotKey(adapter,
|
|
45
|
-
return `${adapter}|${
|
|
45
|
+
function normalizeBotKey(adapter, endpointId, ownerId) {
|
|
46
|
+
return `${adapter}|${endpointId}|${ownerId}`;
|
|
46
47
|
}
|
|
47
48
|
function migrateV1ToV2(data) {
|
|
48
49
|
const out = emptyV2();
|
|
@@ -52,12 +53,12 @@ function migrateV1ToV2(data) {
|
|
|
52
53
|
const parts = e.split('|');
|
|
53
54
|
if (parts.length !== 4)
|
|
54
55
|
continue;
|
|
55
|
-
const [adapter,
|
|
56
|
+
const [adapter, endpointId, ownerId, scope] = parts;
|
|
56
57
|
if (scope === 'orchestration:bash') {
|
|
57
|
-
const k = normalizeBotKey(adapter,
|
|
58
|
-
if (!out.
|
|
59
|
-
out.
|
|
60
|
-
out.
|
|
58
|
+
const k = normalizeBotKey(adapter, endpointId, ownerId);
|
|
59
|
+
if (!out.endpoints[k])
|
|
60
|
+
out.endpoints[k] = { bashRules: [] };
|
|
61
|
+
out.endpoints[k].bashAlways = true;
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
64
|
return out;
|
|
@@ -69,10 +70,10 @@ function readStore() {
|
|
|
69
70
|
const data = JSON.parse(raw);
|
|
70
71
|
if (!data || typeof data !== 'object')
|
|
71
72
|
return emptyV2();
|
|
72
|
-
if (data.version === STORE_VERSION && data.
|
|
73
|
+
if (data.version === STORE_VERSION && data.endpoints && typeof data.endpoints === 'object') {
|
|
73
74
|
const v2 = data;
|
|
74
|
-
for (const k of Object.keys(v2.
|
|
75
|
-
const ent = v2.
|
|
75
|
+
for (const k of Object.keys(v2.endpoints)) {
|
|
76
|
+
const ent = v2.endpoints[k];
|
|
76
77
|
if (!ent.bashRules)
|
|
77
78
|
ent.bashRules = [];
|
|
78
79
|
}
|
|
@@ -101,11 +102,11 @@ function writeStore(data) {
|
|
|
101
102
|
fs.writeFileSync(tmp, body, 'utf-8');
|
|
102
103
|
fs.renameSync(tmp, p);
|
|
103
104
|
}
|
|
104
|
-
export function
|
|
105
|
+
export function getEndpointMaster(plugin, commMessage) {
|
|
105
106
|
const root = plugin.root ?? plugin;
|
|
106
|
-
const adapter = root.inject(
|
|
107
|
-
const
|
|
108
|
-
const master =
|
|
107
|
+
const adapter = root.inject(commMessage.$adapter);
|
|
108
|
+
const endpoint = adapter?.endpoints?.get(commMessage.$endpoint);
|
|
109
|
+
const master = endpoint?.$config?.master;
|
|
109
110
|
return master != null ? String(master) : undefined;
|
|
110
111
|
}
|
|
111
112
|
function normalizeIdList(input) {
|
|
@@ -119,92 +120,93 @@ function normalizeIdList(input) {
|
|
|
119
120
|
}
|
|
120
121
|
return [];
|
|
121
122
|
}
|
|
122
|
-
function
|
|
123
|
+
function getEndpointTrustedIds(plugin, commMessage) {
|
|
123
124
|
const root = plugin.root ?? plugin;
|
|
124
|
-
const adapter = root.inject(
|
|
125
|
-
const
|
|
126
|
-
const
|
|
127
|
-
return normalizeIdList(
|
|
125
|
+
const adapter = root.inject(commMessage.$adapter);
|
|
126
|
+
const endpoint = adapter?.endpoints?.get(commMessage.$endpoint);
|
|
127
|
+
const endpointConfig = endpoint?.$config ?? {};
|
|
128
|
+
return normalizeIdList(endpointConfig.trusted);
|
|
128
129
|
}
|
|
129
|
-
export function resolveToolRequesterRole(plugin,
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
export function resolveToolRequesterRole(plugin, commMessage) {
|
|
131
|
+
const roles = senderRolesFromMessage(commMessage);
|
|
132
|
+
if (commMessage.$sender.isMaster !== undefined || commMessage.$sender.isTrusted !== undefined) {
|
|
133
|
+
if (hasSenderRole(roles, 'master'))
|
|
132
134
|
return 'master';
|
|
133
|
-
if (
|
|
135
|
+
if (hasSenderRole(roles, 'trusted'))
|
|
136
|
+
return 'trusted';
|
|
137
|
+
return 'other';
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
const resolved = resolveSubjectRoles(plugin.root ?? plugin, commMessage);
|
|
141
|
+
if (hasSenderRole(resolved.roles, 'master'))
|
|
142
|
+
return 'master';
|
|
143
|
+
if (hasSenderRole(resolved.roles, 'trusted'))
|
|
144
|
+
return 'trusted';
|
|
145
|
+
return 'other';
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
if (!commMessage.$adapter || !commMessage.$endpoint || !commMessage.$sender?.id)
|
|
149
|
+
return 'unknown';
|
|
150
|
+
const senderId = String(commMessage.$sender.id);
|
|
151
|
+
const masterId = getEndpointMaster(plugin, commMessage);
|
|
152
|
+
if (masterId && senderId === String(masterId))
|
|
153
|
+
return 'master';
|
|
154
|
+
const trusted = getEndpointTrustedIds(plugin, commMessage);
|
|
155
|
+
if (trusted.includes(senderId))
|
|
134
156
|
return 'trusted';
|
|
135
157
|
return 'other';
|
|
136
158
|
}
|
|
137
|
-
if (!ctx.platform || !ctx.botId || !ctx.senderId)
|
|
138
|
-
return 'unknown';
|
|
139
|
-
const senderId = String(ctx.senderId);
|
|
140
|
-
const masterId = getBotMaster(plugin, ctx);
|
|
141
|
-
if (masterId && senderId === String(masterId))
|
|
142
|
-
return 'master';
|
|
143
|
-
const trusted = getBotTrustedIds(plugin, ctx);
|
|
144
|
-
if (trusted.includes(senderId))
|
|
145
|
-
return 'trusted';
|
|
146
|
-
return 'other';
|
|
147
159
|
}
|
|
148
|
-
function getEntry(plugin,
|
|
149
|
-
if (!
|
|
160
|
+
function getEntry(plugin, commMessage) {
|
|
161
|
+
if (!commMessage.$adapter || !commMessage.$endpoint)
|
|
150
162
|
return undefined;
|
|
151
|
-
const ownerId =
|
|
163
|
+
const ownerId = getEndpointMaster(plugin, commMessage);
|
|
152
164
|
if (ownerId == null)
|
|
153
165
|
return undefined;
|
|
154
|
-
const key = normalizeBotKey(
|
|
166
|
+
const key = normalizeBotKey(String(commMessage.$adapter), commMessage.$endpoint, ownerId);
|
|
155
167
|
const data = readStore();
|
|
156
|
-
return data.
|
|
168
|
+
return data.endpoints[key];
|
|
157
169
|
}
|
|
158
|
-
function ensureEntry(plugin,
|
|
159
|
-
if (!
|
|
170
|
+
function ensureEntry(plugin, commMessage) {
|
|
171
|
+
if (!commMessage.$adapter || !commMessage.$endpoint)
|
|
160
172
|
return { bashRules: [] };
|
|
161
|
-
const ownerId =
|
|
173
|
+
const ownerId = getEndpointMaster(plugin, commMessage);
|
|
162
174
|
if (ownerId == null)
|
|
163
175
|
return { bashRules: [] };
|
|
164
|
-
const key = normalizeBotKey(
|
|
176
|
+
const key = normalizeBotKey(String(commMessage.$adapter), commMessage.$endpoint, ownerId);
|
|
165
177
|
const data = readStore();
|
|
166
|
-
if (!data.
|
|
167
|
-
data.
|
|
178
|
+
if (!data.endpoints[key]) {
|
|
179
|
+
data.endpoints[key] = { bashRules: [] };
|
|
168
180
|
writeStore(data);
|
|
169
181
|
}
|
|
170
|
-
return data.
|
|
182
|
+
return data.endpoints[key];
|
|
171
183
|
}
|
|
172
|
-
export function
|
|
184
|
+
export function getOwnerCommMessageOrUndefined(plugin, message) {
|
|
173
185
|
if (message.$channel?.type !== 'private')
|
|
174
186
|
return undefined;
|
|
175
|
-
const
|
|
176
|
-
platform: message.$adapter,
|
|
177
|
-
botId: message.$bot,
|
|
178
|
-
sceneId: message.$channel?.id ?? message.$sender.id,
|
|
179
|
-
senderId: message.$sender.id,
|
|
180
|
-
message,
|
|
181
|
-
scope: 'private',
|
|
182
|
-
roles: ['master'],
|
|
183
|
-
fileRole: 'owner',
|
|
184
|
-
};
|
|
185
|
-
const ownerId = getBotMaster(plugin, ctx);
|
|
187
|
+
const ownerId = getEndpointMaster(plugin, message);
|
|
186
188
|
if (ownerId == null || String(message.$sender.id) !== String(ownerId))
|
|
187
189
|
return undefined;
|
|
188
|
-
return
|
|
190
|
+
return message;
|
|
189
191
|
}
|
|
190
192
|
/** 编排层:是否已「永久放行」bash 的 Owner 硬确认(ZHIN_NEEDS_OWNER 路径) */
|
|
191
|
-
export function hasOwnerApproveAlways(plugin,
|
|
193
|
+
export function hasOwnerApproveAlways(plugin, commMessage, toolName) {
|
|
192
194
|
if (toolName !== OWNER_APPROVE_ALWAYS_TOOL)
|
|
193
195
|
return false;
|
|
194
|
-
if (!
|
|
196
|
+
if (!commMessage.$adapter || !commMessage.$endpoint)
|
|
195
197
|
return false;
|
|
196
|
-
const ent = getEntry(plugin,
|
|
198
|
+
const ent = getEntry(plugin, commMessage);
|
|
197
199
|
return !!ent?.bashAlways;
|
|
198
200
|
}
|
|
199
|
-
export function setBashAlways(plugin,
|
|
200
|
-
if (!
|
|
201
|
+
export function setBashAlways(plugin, commMessage, value) {
|
|
202
|
+
if (!commMessage.$adapter || !commMessage.$endpoint)
|
|
201
203
|
return;
|
|
202
|
-
const ownerId =
|
|
204
|
+
const ownerId = getEndpointMaster(plugin, commMessage);
|
|
203
205
|
if (ownerId == null)
|
|
204
206
|
return;
|
|
205
|
-
const key = normalizeBotKey(
|
|
207
|
+
const key = normalizeBotKey(String(commMessage.$adapter), commMessage.$endpoint, ownerId);
|
|
206
208
|
const data = readStore();
|
|
207
|
-
const prev = data.
|
|
209
|
+
const prev = data.endpoints[key] ?? { bashRules: [] };
|
|
208
210
|
const ent = { bashRules: prev.bashRules ?? [] };
|
|
209
211
|
if (prev.bashAlways !== undefined)
|
|
210
212
|
ent.bashAlways = prev.bashAlways;
|
|
@@ -212,40 +214,40 @@ export function setBashAlways(plugin, ctx, value) {
|
|
|
212
214
|
ent.bashAlways = true;
|
|
213
215
|
else
|
|
214
216
|
delete ent.bashAlways;
|
|
215
|
-
data.
|
|
217
|
+
data.endpoints[key] = ent;
|
|
216
218
|
writeStore(data);
|
|
217
219
|
}
|
|
218
|
-
export function addOwnerApproveAlways(plugin,
|
|
219
|
-
if (!
|
|
220
|
-
return { ok: false, error: '缺少 platform /
|
|
220
|
+
export function addOwnerApproveAlways(plugin, commMessage, toolName) {
|
|
221
|
+
if (!commMessage.$adapter || !commMessage.$endpoint) {
|
|
222
|
+
return { ok: false, error: '缺少 platform / endpointId' };
|
|
221
223
|
}
|
|
222
224
|
if (toolName.trim().toLowerCase() !== OWNER_APPROVE_ALWAYS_TOOL) {
|
|
223
225
|
return { ok: false, error: '永久放行仅支持 bash(shell 安全确认)。' };
|
|
224
226
|
}
|
|
225
|
-
if (
|
|
226
|
-
return { ok: false, error: '当前
|
|
227
|
+
if (getEndpointMaster(plugin, commMessage) == null) {
|
|
228
|
+
return { ok: false, error: '当前 Endpoint 未配置 owner' };
|
|
227
229
|
}
|
|
228
|
-
setBashAlways(plugin,
|
|
230
|
+
setBashAlways(plugin, commMessage, true);
|
|
229
231
|
return { ok: true };
|
|
230
232
|
}
|
|
231
|
-
export function removeOwnerApproveAlways(plugin,
|
|
232
|
-
if (!
|
|
233
|
-
return { ok: false, error: '缺少 platform /
|
|
233
|
+
export function removeOwnerApproveAlways(plugin, commMessage, toolName) {
|
|
234
|
+
if (!commMessage.$adapter || !commMessage.$endpoint) {
|
|
235
|
+
return { ok: false, error: '缺少 platform / endpointId' };
|
|
234
236
|
}
|
|
235
237
|
if (toolName.trim().toLowerCase() !== OWNER_APPROVE_ALWAYS_TOOL) {
|
|
236
238
|
return { ok: false, error: '仅可撤销 bash 的永久放行。' };
|
|
237
239
|
}
|
|
238
|
-
if (
|
|
239
|
-
return { ok: false, error: '当前
|
|
240
|
+
if (getEndpointMaster(plugin, commMessage) == null) {
|
|
241
|
+
return { ok: false, error: '当前 Endpoint 未配置 owner' };
|
|
240
242
|
}
|
|
241
|
-
const ent = getEntry(plugin,
|
|
243
|
+
const ent = getEntry(plugin, commMessage);
|
|
242
244
|
if (!ent?.bashAlways) {
|
|
243
245
|
return { ok: false, error: '当前未对 bash 设置永久放行。' };
|
|
244
246
|
}
|
|
245
|
-
setBashAlways(plugin,
|
|
247
|
+
setBashAlways(plugin, commMessage, false);
|
|
246
248
|
return { ok: true };
|
|
247
249
|
}
|
|
248
|
-
export function addBashApproveRule(plugin,
|
|
250
|
+
export function addBashApproveRule(plugin, commMessage, pattern) {
|
|
249
251
|
const trimmed = pattern.trim();
|
|
250
252
|
if (!trimmed) {
|
|
251
253
|
return { ok: false, error: '正则不能为空。' };
|
|
@@ -257,32 +259,32 @@ export function addBashApproveRule(plugin, ctx, pattern) {
|
|
|
257
259
|
catch (e) {
|
|
258
260
|
return { ok: false, error: `无效正则: ${e instanceof Error ? e.message : String(e)}` };
|
|
259
261
|
}
|
|
260
|
-
if (!
|
|
261
|
-
return { ok: false, error: '缺少 platform/
|
|
262
|
+
if (!commMessage.$adapter || !commMessage.$endpoint || getEndpointMaster(plugin, commMessage) == null) {
|
|
263
|
+
return { ok: false, error: '缺少 platform/endpointId 或未配置 owner。' };
|
|
262
264
|
}
|
|
263
|
-
const ownerId =
|
|
264
|
-
const key = normalizeBotKey(
|
|
265
|
+
const ownerId = getEndpointMaster(plugin, commMessage);
|
|
266
|
+
const key = normalizeBotKey(String(commMessage.$adapter), commMessage.$endpoint, ownerId);
|
|
265
267
|
const data = readStore();
|
|
266
|
-
const ent = { ...(data.
|
|
267
|
-
if (data.
|
|
268
|
+
const ent = { ...(data.endpoints[key] ?? { bashRules: [] }), bashRules: [...(data.endpoints[key]?.bashRules ?? [])] };
|
|
269
|
+
if (data.endpoints[key]?.bashAlways)
|
|
268
270
|
ent.bashAlways = true;
|
|
269
271
|
const id = crypto.randomUUID();
|
|
270
272
|
ent.bashRules.push({ id, pattern: trimmed, createdAt: Date.now() });
|
|
271
|
-
data.
|
|
273
|
+
data.endpoints[key] = ent;
|
|
272
274
|
writeStore(data);
|
|
273
275
|
return { ok: true, id };
|
|
274
276
|
}
|
|
275
|
-
export function removeBashApproveRule(plugin,
|
|
277
|
+
export function removeBashApproveRule(plugin, commMessage, ruleId) {
|
|
276
278
|
const id = ruleId.trim();
|
|
277
279
|
if (!id)
|
|
278
280
|
return { ok: false, error: '请提供规则 id。' };
|
|
279
|
-
if (!
|
|
280
|
-
return { ok: false, error: '缺少 platform/
|
|
281
|
+
if (!commMessage.$adapter || !commMessage.$endpoint || getEndpointMaster(plugin, commMessage) == null) {
|
|
282
|
+
return { ok: false, error: '缺少 platform/endpointId 或未配置 owner。' };
|
|
281
283
|
}
|
|
282
|
-
const ownerId =
|
|
283
|
-
const key = normalizeBotKey(
|
|
284
|
+
const ownerId = getEndpointMaster(plugin, commMessage);
|
|
285
|
+
const key = normalizeBotKey(String(commMessage.$adapter), commMessage.$endpoint, ownerId);
|
|
284
286
|
const data = readStore();
|
|
285
|
-
const ent = data.
|
|
287
|
+
const ent = data.endpoints[key];
|
|
286
288
|
if (!ent?.bashRules?.length)
|
|
287
289
|
return { ok: false, error: '当前无自定义规则。' };
|
|
288
290
|
const next = ent.bashRules.filter((r) => r.id !== id && !r.id.startsWith(id));
|
|
@@ -290,15 +292,15 @@ export function removeBashApproveRule(plugin, ctx, ruleId) {
|
|
|
290
292
|
return { ok: false, error: `未找到 id 前缀或全名为「${id}」的规则。` };
|
|
291
293
|
}
|
|
292
294
|
ent.bashRules = next;
|
|
293
|
-
data.
|
|
295
|
+
data.endpoints[key] = ent;
|
|
294
296
|
writeStore(data);
|
|
295
297
|
return { ok: true };
|
|
296
298
|
}
|
|
297
299
|
/** exec 策略:bashAlways 或任一 bashRules 匹配 commandLine */
|
|
298
|
-
export function matchesBashOwnerExecBypass(plugin,
|
|
299
|
-
if (!
|
|
300
|
+
export function matchesBashOwnerExecBypass(plugin, commMessage, commandLine) {
|
|
301
|
+
if (!commMessage.$adapter || !commMessage.$endpoint)
|
|
300
302
|
return false;
|
|
301
|
-
const ent = getEntry(plugin,
|
|
303
|
+
const ent = getEntry(plugin, commMessage);
|
|
302
304
|
if (!ent)
|
|
303
305
|
return false;
|
|
304
306
|
if (ent.bashAlways)
|
|
@@ -318,8 +320,8 @@ export function matchesBashOwnerExecBypass(plugin, ctx, commandLine) {
|
|
|
318
320
|
}
|
|
319
321
|
return false;
|
|
320
322
|
}
|
|
321
|
-
export function formatBashApproveList(plugin,
|
|
322
|
-
const ent = getEntry(plugin,
|
|
323
|
+
export function formatBashApproveList(plugin, commMessage) {
|
|
324
|
+
const ent = getEntry(plugin, commMessage);
|
|
323
325
|
const always = ent?.bashAlways ? '是' : '否';
|
|
324
326
|
const rules = ent?.bashRules ?? [];
|
|
325
327
|
if (!ent || (!ent.bashAlways && rules.length === 0)) {
|
|
@@ -333,8 +335,8 @@ export function formatBashApproveList(plugin, ctx) {
|
|
|
333
335
|
return lines.join('\n');
|
|
334
336
|
}
|
|
335
337
|
/** 兼容旧单测:返回 bash 与 rule 摘要行 */
|
|
336
|
-
export function listOwnerApproveAlways(plugin,
|
|
337
|
-
const ent = getEntry(plugin,
|
|
338
|
+
export function listOwnerApproveAlways(plugin, commMessage) {
|
|
339
|
+
const ent = getEntry(plugin, commMessage);
|
|
338
340
|
const out = [];
|
|
339
341
|
if (ent?.bashAlways)
|
|
340
342
|
out.push(OWNER_APPROVE_ALWAYS_TOOL);
|
|
@@ -350,37 +352,51 @@ export function isIcqqSensitiveSubcommand(fullSubCommand) {
|
|
|
350
352
|
return ICQQ_SENSITIVE_SUBCOMMAND_REGEXES.some((re) => re.test(line));
|
|
351
353
|
}
|
|
352
354
|
const pendingOrchestration = new Map();
|
|
353
|
-
function pendingKey(adapter,
|
|
354
|
-
return `${adapter}|${
|
|
355
|
+
function pendingKey(adapter, endpointId, ownerId) {
|
|
356
|
+
return `${adapter}|${endpointId}|${ownerId}`;
|
|
357
|
+
}
|
|
358
|
+
export function getPendingOrchestrationCount() {
|
|
359
|
+
return pendingOrchestration.size;
|
|
360
|
+
}
|
|
361
|
+
export function evictPendingOrchestrationIfOverPressure() {
|
|
362
|
+
const now = Date.now();
|
|
363
|
+
let removed = 0;
|
|
364
|
+
for (const [key, value] of pendingOrchestration) {
|
|
365
|
+
if (now > value.expiresAt) {
|
|
366
|
+
pendingOrchestration.delete(key);
|
|
367
|
+
removed++;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
return removed;
|
|
355
371
|
}
|
|
356
|
-
export function setPendingOrchestrationTool(plugin,
|
|
372
|
+
export function setPendingOrchestrationTool(plugin, commMessage, toolName) {
|
|
357
373
|
if (toolName !== OWNER_APPROVE_ALWAYS_TOOL)
|
|
358
374
|
return;
|
|
359
|
-
if (!
|
|
375
|
+
if (!commMessage.$adapter || !commMessage.$endpoint)
|
|
360
376
|
return;
|
|
361
|
-
const ownerId =
|
|
377
|
+
const ownerId = getEndpointMaster(plugin, commMessage);
|
|
362
378
|
if (ownerId == null)
|
|
363
379
|
return;
|
|
364
|
-
pendingOrchestration.set(pendingKey(
|
|
380
|
+
pendingOrchestration.set(pendingKey(String(commMessage.$adapter), commMessage.$endpoint, ownerId), {
|
|
365
381
|
toolName: OWNER_APPROVE_ALWAYS_TOOL,
|
|
366
382
|
expiresAt: Date.now() + 15 * 60 * 1000,
|
|
367
383
|
});
|
|
368
384
|
}
|
|
369
|
-
export function clearPendingOrchestrationTool(plugin,
|
|
370
|
-
if (!
|
|
385
|
+
export function clearPendingOrchestrationTool(plugin, commMessage) {
|
|
386
|
+
if (!commMessage.$adapter || !commMessage.$endpoint)
|
|
371
387
|
return;
|
|
372
|
-
const ownerId =
|
|
388
|
+
const ownerId = getEndpointMaster(plugin, commMessage);
|
|
373
389
|
if (ownerId == null)
|
|
374
390
|
return;
|
|
375
|
-
pendingOrchestration.delete(pendingKey(
|
|
391
|
+
pendingOrchestration.delete(pendingKey(String(commMessage.$adapter), commMessage.$endpoint, ownerId));
|
|
376
392
|
}
|
|
377
|
-
export function getPendingOrchestrationTool(plugin,
|
|
378
|
-
if (!
|
|
393
|
+
export function getPendingOrchestrationTool(plugin, commMessage) {
|
|
394
|
+
if (!commMessage.$adapter || !commMessage.$endpoint)
|
|
379
395
|
return undefined;
|
|
380
|
-
const ownerId =
|
|
396
|
+
const ownerId = getEndpointMaster(plugin, commMessage);
|
|
381
397
|
if (ownerId == null)
|
|
382
398
|
return undefined;
|
|
383
|
-
const key = pendingKey(
|
|
399
|
+
const key = pendingKey(String(commMessage.$adapter), commMessage.$endpoint, ownerId);
|
|
384
400
|
const p = pendingOrchestration.get(key);
|
|
385
401
|
if (!p || p.toolName !== OWNER_APPROVE_ALWAYS_TOOL) {
|
|
386
402
|
if (p)
|