@zhin.js/agent 1.1.7 → 1.1.9
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 +15 -23
- package/lib/activity-feedback/adapter-integration.d.ts +1 -2
- package/lib/activity-feedback/adapter-integration.d.ts.map +1 -1
- package/lib/activity-feedback/adapter-integration.js +43 -13
- package/lib/activity-feedback/adapter-integration.js.map +1 -1
- package/lib/assistant/index.d.ts +1 -1
- package/lib/assistant/index.d.ts.map +1 -1
- package/lib/assistant/index.js +1 -1
- package/lib/assistant/index.js.map +1 -1
- package/lib/assistant/job-creator.d.ts +0 -7
- package/lib/assistant/job-creator.d.ts.map +1 -1
- package/lib/assistant/job-creator.js +1 -12
- package/lib/assistant/job-creator.js.map +1 -1
- package/lib/builtin/five-agent/index.d.ts +6 -3
- package/lib/builtin/five-agent/index.d.ts.map +1 -1
- package/lib/builtin/five-agent/index.js +6 -4
- package/lib/builtin/five-agent/index.js.map +1 -1
- package/lib/builtin/five-agent/prompts.d.ts +3 -3
- package/lib/builtin/five-agent/prompts.d.ts.map +1 -1
- package/lib/builtin/five-agent/prompts.js +3 -3
- package/lib/builtin/five-agent/prompts.js.map +1 -1
- package/lib/builtin/five-agent/role-capability-policy.d.ts +9 -0
- package/lib/builtin/five-agent/role-capability-policy.d.ts.map +1 -0
- package/lib/builtin/five-agent/role-capability-policy.js +22 -0
- package/lib/builtin/five-agent/role-capability-policy.js.map +1 -0
- package/lib/builtin/five-agent/roles.d.ts +5 -0
- package/lib/builtin/five-agent/roles.d.ts.map +1 -0
- package/lib/builtin/five-agent/roles.js +12 -0
- package/lib/builtin/five-agent/roles.js.map +1 -0
- package/lib/builtin/orchestration-tools.d.ts.map +1 -1
- package/lib/builtin/orchestration-tools.js +12 -38
- package/lib/builtin/orchestration-tools.js.map +1 -1
- package/lib/builtin/spawn-task-tool.js +2 -2
- package/lib/builtin/spawn-task-tool.js.map +1 -1
- package/lib/config/agent-interfaces.d.ts +2 -2
- package/lib/config/agent-interfaces.d.ts.map +1 -1
- package/lib/config/fix-ai-config.d.ts.map +1 -1
- package/lib/config/fix-ai-config.js +1 -38
- package/lib/config/fix-ai-config.js.map +1 -1
- package/lib/config/index.d.ts +1 -1
- package/lib/config/index.d.ts.map +1 -1
- package/lib/config/index.js +1 -1
- package/lib/config/index.js.map +1 -1
- package/lib/config/resolve-five-agent-binding.d.ts +10 -0
- package/lib/config/resolve-five-agent-binding.d.ts.map +1 -0
- package/lib/config/resolve-five-agent-binding.js +31 -0
- package/lib/config/resolve-five-agent-binding.js.map +1 -0
- package/lib/context/context-system.d.ts +2 -2
- package/lib/context/context-system.d.ts.map +1 -1
- package/lib/context/context-system.js +2 -3
- package/lib/context/context-system.js.map +1 -1
- package/lib/context/context-tail-limit.d.ts +0 -2
- package/lib/context/context-tail-limit.d.ts.map +1 -1
- package/lib/context/context-tail-limit.js +1 -3
- package/lib/context/context-tail-limit.js.map +1 -1
- package/lib/context/default-builders.d.ts +0 -4
- package/lib/context/default-builders.d.ts.map +1 -1
- package/lib/context/default-builders.js +0 -14
- package/lib/context/default-builders.js.map +1 -1
- package/lib/context/envelope-parts.d.ts +0 -1
- package/lib/context/envelope-parts.d.ts.map +1 -1
- package/lib/context/index.d.ts +2 -2
- package/lib/context/index.d.ts.map +1 -1
- package/lib/context/index.js +2 -2
- package/lib/context/index.js.map +1 -1
- package/lib/context/turn-envelope.d.ts +0 -1
- package/lib/context/turn-envelope.d.ts.map +1 -1
- package/lib/context/turn-envelope.js +0 -2
- package/lib/context/turn-envelope.js.map +1 -1
- package/lib/core/agent-loop-standalone.d.ts +2 -1
- package/lib/core/agent-loop-standalone.d.ts.map +1 -1
- package/lib/core/agent-loop-standalone.js.map +1 -1
- package/lib/event/agent-stream-bus.d.ts +0 -1
- package/lib/event/agent-stream-bus.d.ts.map +1 -1
- package/lib/event/agent-stream-bus.js.map +1 -1
- package/lib/event/publish-agent-stream.js +2 -2
- package/lib/event/publish-agent-stream.js.map +1 -1
- package/lib/event/turn-event.d.ts +11 -1
- package/lib/event/turn-event.d.ts.map +1 -1
- package/lib/event/turn-event.js.map +1 -1
- package/lib/index.d.ts +13 -21
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -15
- package/lib/index.js.map +1 -1
- package/lib/init/activate-ai-database-storage.d.ts +2 -2
- package/lib/init/activate-ai-database-storage.d.ts.map +1 -1
- package/lib/init/activate-ai-database-storage.js +1 -3
- package/lib/init/activate-ai-database-storage.js.map +1 -1
- package/lib/init/define-ai-database-models.d.ts +1 -1
- package/lib/init/define-ai-database-models.d.ts.map +1 -1
- package/lib/init/define-ai-database-models.js +1 -9
- package/lib/init/define-ai-database-models.js.map +1 -1
- package/lib/init/runtime-management-commands.d.ts +2 -3
- package/lib/init/runtime-management-commands.d.ts.map +1 -1
- package/lib/init/runtime-management-commands.js +6 -6
- package/lib/init/runtime-management-commands.js.map +1 -1
- package/lib/internal/agent-host.d.ts +2 -3
- package/lib/internal/agent-host.d.ts.map +1 -1
- package/lib/internal/host-types.d.ts +0 -28
- package/lib/internal/host-types.d.ts.map +1 -1
- package/lib/memory/context-repository-store.js +1 -1
- package/lib/memory/context-repository-store.js.map +1 -1
- package/lib/memory/memory-system.d.ts +1 -2
- package/lib/memory/memory-system.d.ts.map +1 -1
- package/lib/memory/memory-system.js +1 -3
- package/lib/memory/memory-system.js.map +1 -1
- package/lib/orchestrator/bootstrap-executors.d.ts +0 -4
- package/lib/orchestrator/bootstrap-executors.d.ts.map +1 -1
- package/lib/orchestrator/bootstrap-executors.js +11 -137
- package/lib/orchestrator/bootstrap-executors.js.map +1 -1
- package/lib/orchestrator/orchestration-mappers.d.ts +1 -1
- package/lib/orchestrator/orchestration-mappers.d.ts.map +1 -1
- package/lib/orchestrator/orchestration-mappers.js +4 -49
- package/lib/orchestrator/orchestration-mappers.js.map +1 -1
- package/lib/orchestrator/orchestration-service.d.ts.map +1 -1
- package/lib/orchestrator/orchestration-service.js +2 -5
- package/lib/orchestrator/orchestration-service.js.map +1 -1
- package/lib/orchestrator/orchestration-source.d.ts +5 -0
- package/lib/orchestrator/orchestration-source.d.ts.map +1 -0
- package/lib/orchestrator/orchestration-source.js +22 -0
- package/lib/orchestrator/orchestration-source.js.map +1 -0
- package/lib/outbound/send-proactive.d.ts +3 -13
- package/lib/outbound/send-proactive.d.ts.map +1 -1
- package/lib/outbound/send-proactive.js +1 -53
- package/lib/outbound/send-proactive.js.map +1 -1
- package/lib/plugin-runtime/agent-host-port.d.ts +12 -3
- package/lib/plugin-runtime/agent-host-port.d.ts.map +1 -1
- package/lib/plugin-runtime/agent-host-port.js +1 -1
- package/lib/plugin-runtime/agent-host-port.js.map +1 -1
- package/lib/plugin-runtime/agent-runtime.d.ts +7 -4
- package/lib/plugin-runtime/agent-runtime.d.ts.map +1 -1
- package/lib/plugin-runtime/agent-runtime.js +3 -2
- package/lib/plugin-runtime/agent-runtime.js.map +1 -1
- package/lib/plugin-runtime/capability-tools.d.ts.map +1 -1
- package/lib/plugin-runtime/capability-tools.js +3 -0
- package/lib/plugin-runtime/capability-tools.js.map +1 -1
- package/lib/plugin-runtime/deferred-capability-plan.d.ts +1 -0
- package/lib/plugin-runtime/deferred-capability-plan.d.ts.map +1 -1
- package/lib/plugin-runtime/deferred-capability-plan.js +1 -1
- package/lib/plugin-runtime/deferred-capability-plan.js.map +1 -1
- package/lib/plugin-runtime/full-agent-turn-engine.d.ts.map +1 -1
- package/lib/plugin-runtime/full-agent-turn-engine.js +102 -0
- package/lib/plugin-runtime/full-agent-turn-engine.js.map +1 -1
- package/lib/plugin-runtime/host-mcp-projection.d.ts.map +1 -1
- package/lib/plugin-runtime/host-mcp-projection.js +17 -2
- package/lib/plugin-runtime/host-mcp-projection.js.map +1 -1
- package/lib/plugin-runtime/schedule-capability-plan.d.ts +20 -0
- package/lib/plugin-runtime/schedule-capability-plan.d.ts.map +1 -0
- package/lib/plugin-runtime/schedule-capability-plan.js +88 -0
- package/lib/plugin-runtime/schedule-capability-plan.js.map +1 -0
- package/lib/prompt/assembly.d.ts.map +1 -1
- package/lib/prompt/assembly.js +2 -0
- package/lib/prompt/assembly.js.map +1 -1
- package/lib/prompt/index.d.ts +5 -1
- package/lib/prompt/index.d.ts.map +1 -1
- package/lib/prompt/index.js +3 -1
- package/lib/prompt/index.js.map +1 -1
- package/lib/prompt/prompt-assembly-registry.d.ts +25 -0
- package/lib/prompt/prompt-assembly-registry.d.ts.map +1 -0
- package/lib/prompt/prompt-assembly-registry.js +43 -0
- package/lib/prompt/prompt-assembly-registry.js.map +1 -0
- package/lib/prompt/prompt-budget.d.ts +9 -0
- package/lib/prompt/prompt-budget.d.ts.map +1 -0
- package/lib/prompt/prompt-budget.js +28 -0
- package/lib/prompt/prompt-budget.js.map +1 -0
- package/lib/prompt/prompt-builder.js +1 -1
- package/lib/prompt/prompt-builder.js.map +1 -1
- package/lib/prompt/system-prompt.d.ts +5 -8
- package/lib/prompt/system-prompt.d.ts.map +1 -1
- package/lib/prompt/system-prompt.js +159 -78
- package/lib/prompt/system-prompt.js.map +1 -1
- package/lib/prompt/tokens.d.ts +8 -0
- package/lib/prompt/tokens.d.ts.map +1 -0
- package/lib/prompt/tokens.js +2 -0
- package/lib/prompt/tokens.js.map +1 -0
- package/lib/prompt/turn-prompt-profile.d.ts +1 -2
- package/lib/prompt/turn-prompt-profile.d.ts.map +1 -1
- package/lib/schedule-domain/audit-logger.d.ts +2 -2
- package/lib/schedule-domain/audit-logger.d.ts.map +1 -1
- package/lib/schedule-domain/execution-domain.d.ts +21 -17
- package/lib/schedule-domain/execution-domain.d.ts.map +1 -1
- package/lib/schedule-domain/execution-domain.js +41 -23
- package/lib/schedule-domain/execution-domain.js.map +1 -1
- package/lib/schedule-domain/index.d.ts +0 -1
- package/lib/schedule-domain/index.d.ts.map +1 -1
- package/lib/schedule-domain/index.js +0 -1
- package/lib/schedule-domain/index.js.map +1 -1
- package/lib/schedule-domain/prompt-assembler.d.ts +3 -4
- package/lib/schedule-domain/prompt-assembler.d.ts.map +1 -1
- package/lib/schedule-domain/prompt-assembler.js +0 -16
- package/lib/schedule-domain/prompt-assembler.js.map +1 -1
- package/lib/schedule-domain/security-harness.d.ts +10 -15
- package/lib/schedule-domain/security-harness.d.ts.map +1 -1
- package/lib/schedule-domain/security-harness.js +5 -78
- package/lib/schedule-domain/security-harness.js.map +1 -1
- package/lib/security/exec-policy.d.ts +2 -0
- package/lib/security/exec-policy.d.ts.map +1 -1
- package/lib/security/exec-policy.js +21 -0
- package/lib/security/exec-policy.js.map +1 -1
- package/lib/security/owner-approve-always-store.d.ts +8 -3
- package/lib/security/owner-approve-always-store.d.ts.map +1 -1
- package/lib/security/owner-approve-always-store.js +160 -173
- package/lib/security/owner-approve-always-store.js.map +1 -1
- package/lib/security/policy-facade.d.ts.map +1 -1
- package/lib/security/policy-facade.js +11 -1
- package/lib/security/policy-facade.js.map +1 -1
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +0 -7
- package/lib/service.js.map +1 -1
- package/lib/session/index.d.ts +3 -3
- package/lib/session/index.d.ts.map +1 -1
- package/lib/session/index.js +3 -3
- package/lib/session/index.js.map +1 -1
- package/lib/session/passive-group-session.js +1 -1
- package/lib/session/session-key.d.ts +4 -0
- package/lib/session/session-key.d.ts.map +1 -0
- package/lib/session/session-key.js +6 -0
- package/lib/session/session-key.js.map +1 -0
- package/lib/session/session-system.d.ts.map +1 -1
- package/lib/session/session-system.js +4 -4
- package/lib/session/session-system.js.map +1 -1
- package/lib/session/session-tree-commands.d.ts +2 -3
- package/lib/session/session-tree-commands.d.ts.map +1 -1
- package/lib/session/session-tree-commands.js +2 -5
- package/lib/session/session-tree-commands.js.map +1 -1
- package/lib/session/strategies.d.ts +1 -1
- package/lib/session/strategies.d.ts.map +1 -1
- package/lib/session/strategies.js +2 -2
- package/lib/session/strategies.js.map +1 -1
- package/lib/subagent/im-result-sink.d.ts.map +1 -1
- package/lib/subagent/im-result-sink.js +0 -1
- package/lib/subagent/im-result-sink.js.map +1 -1
- package/lib/subagent-goal-notify.d.ts +0 -9
- package/lib/subagent-goal-notify.d.ts.map +1 -1
- package/lib/subagent-goal-notify.js +0 -13
- package/lib/subagent-goal-notify.js.map +1 -1
- package/lib/task-executor.d.ts +14 -3
- package/lib/task-executor.d.ts.map +1 -1
- package/lib/task-executor.js +48 -61
- package/lib/task-executor.js.map +1 -1
- package/lib/tool/classic-tool-execution-authority.d.ts.map +1 -1
- package/lib/tool/classic-tool-execution-authority.js +4 -3
- package/lib/tool/classic-tool-execution-authority.js.map +1 -1
- package/lib/tool/prepare-turn-tools.d.ts +0 -2
- package/lib/tool/prepare-turn-tools.d.ts.map +1 -1
- package/lib/tool/prepare-turn-tools.js +1 -55
- package/lib/tool/prepare-turn-tools.js.map +1 -1
- package/lib/tool/tool-runtime.d.ts +1 -1
- package/lib/tool/tool-runtime.d.ts.map +1 -1
- package/lib/turn/auto-continue.js +1 -1
- package/lib/turn/auto-continue.js.map +1 -1
- package/lib/turn/persist-deferred-context.js +1 -1
- package/lib/turn/persist-deferred-context.js.map +1 -1
- package/lib/turn/persist-subagent-context.js +1 -1
- package/lib/turn/persist-subagent-context.js.map +1 -1
- package/lib/turn/process-stream.d.ts.map +1 -1
- package/lib/turn/process-stream.js +0 -2
- package/lib/turn/process-stream.js.map +1 -1
- package/lib/turn/turn-ingress.d.ts +21 -1
- package/lib/turn/turn-ingress.d.ts.map +1 -1
- package/lib/turn/turn-ingress.js +29 -0
- package/lib/turn/turn-ingress.js.map +1 -1
- package/lib/turn/turn-pipeline.d.ts +0 -5
- package/lib/turn/turn-pipeline.d.ts.map +1 -1
- package/lib/turn/turn-pipeline.js +12 -32
- package/lib/turn/turn-pipeline.js.map +1 -1
- package/lib/typing-indicator/adapter-integration.d.ts +1 -2
- package/lib/typing-indicator/adapter-integration.d.ts.map +1 -1
- package/lib/typing-indicator/adapter-integration.js.map +1 -1
- package/lib/typing-indicator/integration.d.ts +2 -3
- package/lib/typing-indicator/integration.d.ts.map +1 -1
- package/lib/typing-indicator/integration.js +48 -11
- package/lib/typing-indicator/integration.js.map +1 -1
- package/lib/zhin-agent/index.d.ts +5 -8
- package/lib/zhin-agent/index.d.ts.map +1 -1
- package/lib/zhin-agent/index.js +13 -15
- package/lib/zhin-agent/index.js.map +1 -1
- package/package.json +9 -9
- package/lib/aop/index.d.ts +0 -11
- package/lib/aop/index.d.ts.map +0 -1
- package/lib/aop/index.js +0 -11
- package/lib/aop/index.js.map +0 -1
- package/lib/aop/pipeline/index.d.ts +0 -12
- package/lib/aop/pipeline/index.d.ts.map +0 -1
- package/lib/aop/pipeline/index.js +0 -12
- package/lib/aop/pipeline/index.js.map +0 -1
- package/lib/aop/pipeline/pipeline-flow.d.ts +0 -25
- package/lib/aop/pipeline/pipeline-flow.d.ts.map +0 -1
- package/lib/aop/pipeline/pipeline-flow.js +0 -115
- package/lib/aop/pipeline/pipeline-flow.js.map +0 -1
- package/lib/aop/pipeline/pipeline-mode.d.ts +0 -10
- package/lib/aop/pipeline/pipeline-mode.d.ts.map +0 -1
- package/lib/aop/pipeline/pipeline-mode.js +0 -16
- package/lib/aop/pipeline/pipeline-mode.js.map +0 -1
- package/lib/aop/pipeline/pipeline-service.d.ts +0 -123
- package/lib/aop/pipeline/pipeline-service.d.ts.map +0 -1
- package/lib/aop/pipeline/pipeline-service.js +0 -238
- package/lib/aop/pipeline/pipeline-service.js.map +0 -1
- package/lib/aop/pipeline/pipeline-transitions.d.ts +0 -14
- package/lib/aop/pipeline/pipeline-transitions.d.ts.map +0 -1
- package/lib/aop/pipeline/pipeline-transitions.js +0 -31
- package/lib/aop/pipeline/pipeline-transitions.js.map +0 -1
- package/lib/aop/pipeline/ports.d.ts +0 -16
- package/lib/aop/pipeline/ports.d.ts.map +0 -1
- package/lib/aop/pipeline/ports.js +0 -2
- package/lib/aop/pipeline/ports.js.map +0 -1
- package/lib/aop/pipeline/role-capability-policy.d.ts +0 -16
- package/lib/aop/pipeline/role-capability-policy.d.ts.map +0 -1
- package/lib/aop/pipeline/role-capability-policy.js +0 -29
- package/lib/aop/pipeline/role-capability-policy.js.map +0 -1
- package/lib/aop/runtime/index.d.ts +0 -9
- package/lib/aop/runtime/index.d.ts.map +0 -1
- package/lib/aop/runtime/index.js +0 -9
- package/lib/aop/runtime/index.js.map +0 -1
- package/lib/collaboration/collab-admin-gate.d.ts +0 -21
- package/lib/collaboration/collab-admin-gate.d.ts.map +0 -1
- package/lib/collaboration/collab-admin-gate.js +0 -74
- package/lib/collaboration/collab-admin-gate.js.map +0 -1
- package/lib/collaboration/collab-utils.d.ts +0 -15
- package/lib/collaboration/collab-utils.d.ts.map +0 -1
- package/lib/collaboration/collab-utils.js +0 -37
- package/lib/collaboration/collab-utils.js.map +0 -1
- package/lib/collaboration/collaboration-artifact-repository.d.ts +0 -48
- package/lib/collaboration/collaboration-artifact-repository.d.ts.map +0 -1
- package/lib/collaboration/collaboration-artifact-repository.js +0 -114
- package/lib/collaboration/collaboration-artifact-repository.js.map +0 -1
- package/lib/collaboration/collaboration-commands.d.ts +0 -38
- package/lib/collaboration/collaboration-commands.d.ts.map +0 -1
- package/lib/collaboration/collaboration-commands.js +0 -373
- package/lib/collaboration/collaboration-commands.js.map +0 -1
- package/lib/collaboration/collaboration-config.d.ts +0 -30
- package/lib/collaboration/collaboration-config.d.ts.map +0 -1
- package/lib/collaboration/collaboration-config.js +0 -170
- package/lib/collaboration/collaboration-config.js.map +0 -1
- package/lib/collaboration/collaboration-context.d.ts +0 -15
- package/lib/collaboration/collaboration-context.d.ts.map +0 -1
- package/lib/collaboration/collaboration-context.js +0 -101
- package/lib/collaboration/collaboration-context.js.map +0 -1
- package/lib/collaboration/collaboration-db-model.d.ts +0 -350
- package/lib/collaboration/collaboration-db-model.d.ts.map +0 -1
- package/lib/collaboration/collaboration-db-model.js +0 -112
- package/lib/collaboration/collaboration-db-model.js.map +0 -1
- package/lib/collaboration/collaboration-delegation.d.ts +0 -21
- package/lib/collaboration/collaboration-delegation.d.ts.map +0 -1
- package/lib/collaboration/collaboration-delegation.js +0 -221
- package/lib/collaboration/collaboration-delegation.js.map +0 -1
- package/lib/collaboration/collaboration-dispatch.d.ts +0 -32
- package/lib/collaboration/collaboration-dispatch.d.ts.map +0 -1
- package/lib/collaboration/collaboration-dispatch.js +0 -93
- package/lib/collaboration/collaboration-dispatch.js.map +0 -1
- package/lib/collaboration/collaboration-kernel-bridge.d.ts +0 -23
- package/lib/collaboration/collaboration-kernel-bridge.d.ts.map +0 -1
- package/lib/collaboration/collaboration-kernel-bridge.js +0 -105
- package/lib/collaboration/collaboration-kernel-bridge.js.map +0 -1
- package/lib/collaboration/collaboration-outbound.d.ts +0 -64
- package/lib/collaboration/collaboration-outbound.d.ts.map +0 -1
- package/lib/collaboration/collaboration-outbound.js +0 -312
- package/lib/collaboration/collaboration-outbound.js.map +0 -1
- package/lib/collaboration/collaboration-scene-repository.d.ts +0 -154
- package/lib/collaboration/collaboration-scene-repository.d.ts.map +0 -1
- package/lib/collaboration/collaboration-scene-repository.js +0 -451
- package/lib/collaboration/collaboration-scene-repository.js.map +0 -1
- package/lib/collaboration/collaboration-turn-snapshot.d.ts +0 -18
- package/lib/collaboration/collaboration-turn-snapshot.d.ts.map +0 -1
- package/lib/collaboration/collaboration-turn-snapshot.js +0 -35
- package/lib/collaboration/collaboration-turn-snapshot.js.map +0 -1
- package/lib/collaboration/delegation-state.d.ts +0 -30
- package/lib/collaboration/delegation-state.d.ts.map +0 -1
- package/lib/collaboration/delegation-state.js +0 -86
- package/lib/collaboration/delegation-state.js.map +0 -1
- package/lib/collaboration/endpoint-identity.d.ts +0 -28
- package/lib/collaboration/endpoint-identity.d.ts.map +0 -1
- package/lib/collaboration/endpoint-identity.js +0 -80
- package/lib/collaboration/endpoint-identity.js.map +0 -1
- package/lib/collaboration/group-feed.d.ts +0 -30
- package/lib/collaboration/group-feed.d.ts.map +0 -1
- package/lib/collaboration/group-feed.js +0 -150
- package/lib/collaboration/group-feed.js.map +0 -1
- package/lib/collaboration/group-message.d.ts +0 -53
- package/lib/collaboration/group-message.d.ts.map +0 -1
- package/lib/collaboration/group-message.js +0 -101
- package/lib/collaboration/group-message.js.map +0 -1
- package/lib/collaboration/im-mention-delegate.d.ts +0 -22
- package/lib/collaboration/im-mention-delegate.d.ts.map +0 -1
- package/lib/collaboration/im-mention-delegate.js +0 -15
- package/lib/collaboration/im-mention-delegate.js.map +0 -1
- package/lib/collaboration/inbound-peer-handback.d.ts +0 -18
- package/lib/collaboration/inbound-peer-handback.d.ts.map +0 -1
- package/lib/collaboration/inbound-peer-handback.js +0 -65
- package/lib/collaboration/inbound-peer-handback.js.map +0 -1
- package/lib/collaboration/inbound-spawn-task.d.ts +0 -29
- package/lib/collaboration/inbound-spawn-task.d.ts.map +0 -1
- package/lib/collaboration/inbound-spawn-task.js +0 -96
- package/lib/collaboration/inbound-spawn-task.js.map +0 -1
- package/lib/collaboration/inbound-turn-endpoint.d.ts +0 -16
- package/lib/collaboration/inbound-turn-endpoint.d.ts.map +0 -1
- package/lib/collaboration/inbound-turn-endpoint.js +0 -26
- package/lib/collaboration/inbound-turn-endpoint.js.map +0 -1
- package/lib/collaboration/inbound-turn-tools.d.ts +0 -13
- package/lib/collaboration/inbound-turn-tools.d.ts.map +0 -1
- package/lib/collaboration/inbound-turn-tools.js +0 -24
- package/lib/collaboration/inbound-turn-tools.js.map +0 -1
- package/lib/collaboration/index.d.ts +0 -21
- package/lib/collaboration/index.d.ts.map +0 -1
- package/lib/collaboration/index.js +0 -19
- package/lib/collaboration/index.js.map +0 -1
- package/lib/collaboration/init-observe-hook.d.ts +0 -56
- package/lib/collaboration/init-observe-hook.d.ts.map +0 -1
- package/lib/collaboration/init-observe-hook.js +0 -168
- package/lib/collaboration/init-observe-hook.js.map +0 -1
- package/lib/collaboration/init-wizard-service.d.ts +0 -57
- package/lib/collaboration/init-wizard-service.d.ts.map +0 -1
- package/lib/collaboration/init-wizard-service.js +0 -187
- package/lib/collaboration/init-wizard-service.js.map +0 -1
- package/lib/collaboration/outbound-resolver.d.ts +0 -37
- package/lib/collaboration/outbound-resolver.d.ts.map +0 -1
- package/lib/collaboration/outbound-resolver.js +0 -189
- package/lib/collaboration/outbound-resolver.js.map +0 -1
- package/lib/collaboration/peer-policy.d.ts +0 -29
- package/lib/collaboration/peer-policy.d.ts.map +0 -1
- package/lib/collaboration/peer-policy.js +0 -118
- package/lib/collaboration/peer-policy.js.map +0 -1
- package/lib/collaboration/resolve-agent-session-key.d.ts +0 -21
- package/lib/collaboration/resolve-agent-session-key.d.ts.map +0 -1
- package/lib/collaboration/resolve-agent-session-key.js +0 -61
- package/lib/collaboration/resolve-agent-session-key.js.map +0 -1
- package/lib/collaboration/runtime-inbound-gate.d.ts +0 -35
- package/lib/collaboration/runtime-inbound-gate.d.ts.map +0 -1
- package/lib/collaboration/runtime-inbound-gate.js +0 -105
- package/lib/collaboration/runtime-inbound-gate.js.map +0 -1
- package/lib/collaboration/scene-context.d.ts +0 -17
- package/lib/collaboration/scene-context.d.ts.map +0 -1
- package/lib/collaboration/scene-context.js +0 -22
- package/lib/collaboration/scene-context.js.map +0 -1
- package/lib/collaboration/scene-identity-service.d.ts +0 -169
- package/lib/collaboration/scene-identity-service.d.ts.map +0 -1
- package/lib/collaboration/scene-identity-service.js +0 -479
- package/lib/collaboration/scene-identity-service.js.map +0 -1
- package/lib/collaboration/scene-service.d.ts +0 -67
- package/lib/collaboration/scene-service.d.ts.map +0 -1
- package/lib/collaboration/scene-service.js +0 -157
- package/lib/collaboration/scene-service.js.map +0 -1
- package/lib/collaboration/structured-ai-outbound.d.ts +0 -25
- package/lib/collaboration/structured-ai-outbound.d.ts.map +0 -1
- package/lib/collaboration/structured-ai-outbound.js +0 -179
- package/lib/collaboration/structured-ai-outbound.js.map +0 -1
- package/lib/collaboration/turn-plan-resolver.d.ts +0 -17
- package/lib/collaboration/turn-plan-resolver.d.ts.map +0 -1
- package/lib/collaboration/turn-plan-resolver.js +0 -63
- package/lib/collaboration/turn-plan-resolver.js.map +0 -1
- package/lib/collaboration/types.d.ts +0 -147
- package/lib/collaboration/types.d.ts.map +0 -1
- package/lib/collaboration/types.js +0 -16
- package/lib/collaboration/types.js.map +0 -1
- package/lib/collaboration/wire-collaboration-storage.d.ts +0 -4
- package/lib/collaboration/wire-collaboration-storage.d.ts.map +0 -1
- package/lib/collaboration/wire-collaboration-storage.js +0 -26
- package/lib/collaboration/wire-collaboration-storage.js.map +0 -1
- package/lib/config/resolve-pipeline-binding.d.ts +0 -16
- package/lib/config/resolve-pipeline-binding.d.ts.map +0 -1
- package/lib/config/resolve-pipeline-binding.js +0 -35
- package/lib/config/resolve-pipeline-binding.js.map +0 -1
- package/lib/discovery/register-agent-surface.d.ts +0 -33
- package/lib/discovery/register-agent-surface.d.ts.map +0 -1
- package/lib/discovery/register-agent-surface.js +0 -170
- package/lib/discovery/register-agent-surface.js.map +0 -1
- package/lib/init/create-zhin-agent.d.ts +0 -3
- package/lib/init/create-zhin-agent.d.ts.map +0 -1
- package/lib/init/create-zhin-agent.js +0 -401
- package/lib/init/create-zhin-agent.js.map +0 -1
- package/lib/init/register-ai-service.d.ts +0 -7
- package/lib/init/register-ai-service.d.ts.map +0 -1
- package/lib/init/register-ai-service.js +0 -45
- package/lib/init/register-ai-service.js.map +0 -1
- package/lib/init/register-builtin-tools.d.ts +0 -3
- package/lib/init/register-builtin-tools.d.ts.map +0 -1
- package/lib/init/register-builtin-tools.js +0 -411
- package/lib/init/register-builtin-tools.js.map +0 -1
- package/lib/init/register-capability-features.d.ts +0 -2
- package/lib/init/register-capability-features.d.ts.map +0 -1
- package/lib/init/register-capability-features.js +0 -28
- package/lib/init/register-capability-features.js.map +0 -1
- package/lib/init/register-collaboration-commands.d.ts +0 -2
- package/lib/init/register-collaboration-commands.d.ts.map +0 -1
- package/lib/init/register-collaboration-commands.js +0 -110
- package/lib/init/register-collaboration-commands.js.map +0 -1
- package/lib/init/register-db-models.d.ts +0 -2
- package/lib/init/register-db-models.d.ts.map +0 -1
- package/lib/init/register-db-models.js +0 -18
- package/lib/init/register-db-models.js.map +0 -1
- package/lib/init/register-db-upgrade.d.ts +0 -7
- package/lib/init/register-db-upgrade.d.ts.map +0 -1
- package/lib/init/register-db-upgrade.js +0 -79
- package/lib/init/register-db-upgrade.js.map +0 -1
- package/lib/init/register-group-session-passive.d.ts +0 -3
- package/lib/init/register-group-session-passive.d.ts.map +0 -1
- package/lib/init/register-group-session-passive.js +0 -61
- package/lib/init/register-group-session-passive.js.map +0 -1
- package/lib/init/register-im-segment-filter.d.ts +0 -2
- package/lib/init/register-im-segment-filter.d.ts.map +0 -1
- package/lib/init/register-im-segment-filter.js +0 -23
- package/lib/init/register-im-segment-filter.js.map +0 -1
- package/lib/init/register-init-wizard-guardrail.d.ts +0 -2
- package/lib/init/register-init-wizard-guardrail.d.ts.map +0 -1
- package/lib/init/register-init-wizard-guardrail.js +0 -41
- package/lib/init/register-init-wizard-guardrail.js.map +0 -1
- package/lib/init/register-introspection-commands.d.ts +0 -3
- package/lib/init/register-introspection-commands.d.ts.map +0 -1
- package/lib/init/register-introspection-commands.js +0 -107
- package/lib/init/register-introspection-commands.js.map +0 -1
- package/lib/init/register-management-tools.d.ts +0 -10
- package/lib/init/register-management-tools.d.ts.map +0 -1
- package/lib/init/register-management-tools.js +0 -42
- package/lib/init/register-management-tools.js.map +0 -1
- package/lib/init/register-mcp-from-config.d.ts +0 -2
- package/lib/init/register-mcp-from-config.d.ts.map +0 -1
- package/lib/init/register-mcp-from-config.js +0 -87
- package/lib/init/register-mcp-from-config.js.map +0 -1
- package/lib/init/register-orchestrator.d.ts +0 -2
- package/lib/init/register-orchestrator.d.ts.map +0 -1
- package/lib/init/register-orchestrator.js +0 -15
- package/lib/init/register-orchestrator.js.map +0 -1
- package/lib/init/register-tool-service.d.ts +0 -2
- package/lib/init/register-tool-service.d.ts.map +0 -1
- package/lib/init/register-tool-service.js +0 -9
- package/lib/init/register-tool-service.js.map +0 -1
- package/lib/init/shared-refs.d.ts +0 -14
- package/lib/init/shared-refs.d.ts.map +0 -1
- package/lib/init/shared-refs.js +0 -7
- package/lib/init/shared-refs.js.map +0 -1
- package/lib/init/types.d.ts +0 -26
- package/lib/init/types.d.ts.map +0 -1
- package/lib/init/types.js +0 -7
- package/lib/init/types.js.map +0 -1
- package/lib/init.d.ts +0 -7
- package/lib/init.d.ts.map +0 -1
- package/lib/init.js +0 -11
- package/lib/init.js.map +0 -1
- package/lib/schedule-domain/tool-resolver.d.ts +0 -20
- package/lib/schedule-domain/tool-resolver.d.ts.map +0 -1
- package/lib/schedule-domain/tool-resolver.js +0 -80
- package/lib/schedule-domain/tool-resolver.js.map +0 -1
- package/lib/schedule-domain/turn-context.d.ts +0 -9
- package/lib/schedule-domain/turn-context.d.ts.map +0 -1
- package/lib/schedule-domain/turn-context.js +0 -36
- package/lib/schedule-domain/turn-context.js.map +0 -1
- package/lib/session/agent-session-host-port.d.ts +0 -23
- package/lib/session/agent-session-host-port.d.ts.map +0 -1
- package/lib/session/agent-session-host-port.js +0 -61
- package/lib/session/agent-session-host-port.js.map +0 -1
- package/lib/session/http-agent-session-store.d.ts +0 -76
- package/lib/session/http-agent-session-store.d.ts.map +0 -1
- package/lib/session/http-agent-session-store.js +0 -211
- package/lib/session/http-agent-session-store.js.map +0 -1
- package/lib/session/http-approval-adapter.d.ts +0 -11
- package/lib/session/http-approval-adapter.d.ts.map +0 -1
- package/lib/session/http-approval-adapter.js +0 -19
- package/lib/session/http-approval-adapter.js.map +0 -1
- package/lib/session/http-approval-waiter.d.ts +0 -11
- package/lib/session/http-approval-waiter.d.ts.map +0 -1
- package/lib/session/http-approval-waiter.js +0 -61
- package/lib/session/http-approval-waiter.js.map +0 -1
- package/lib/session/http-session-persistence.d.ts +0 -28
- package/lib/session/http-session-persistence.d.ts.map +0 -1
- package/lib/session/http-session-persistence.js +0 -60
- package/lib/session/http-session-persistence.js.map +0 -1
- package/lib/session/http-session-sink.d.ts +0 -11
- package/lib/session/http-session-sink.d.ts.map +0 -1
- package/lib/session/http-session-sink.js +0 -32
- package/lib/session/http-session-sink.js.map +0 -1
- package/lib/session/http-step-projector.d.ts +0 -16
- package/lib/session/http-step-projector.d.ts.map +0 -1
- package/lib/session/http-step-projector.js +0 -118
- package/lib/session/http-step-projector.js.map +0 -1
- package/lib/session/http-turn-runner.d.ts +0 -16
- package/lib/session/http-turn-runner.d.ts.map +0 -1
- package/lib/session/http-turn-runner.js +0 -57
- package/lib/session/http-turn-runner.js.map +0 -1
- package/lib/session/park-controller.d.ts +0 -24
- package/lib/session/park-controller.d.ts.map +0 -1
- package/lib/session/park-controller.js +0 -58
- package/lib/session/park-controller.js.map +0 -1
- package/lib/session/resolve-approval-port.d.ts +0 -7
- package/lib/session/resolve-approval-port.d.ts.map +0 -1
- package/lib/session/resolve-approval-port.js +0 -13
- package/lib/session/resolve-approval-port.js.map +0 -1
- package/lib/session/session-event-log.d.ts +0 -17
- package/lib/session/session-event-log.d.ts.map +0 -1
- package/lib/session/session-event-log.js +0 -56
- package/lib/session/session-event-log.js.map +0 -1
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PipelineService — legacy cell.pipelineState(ADR 0024 D4,superseded by OrchestrationKernel)。
|
|
3
|
-
*
|
|
4
|
-
* Model-facing cell_* tools were removed. Retained for /collab reset and archived state reads.
|
|
5
|
-
*
|
|
6
|
-
* 不变量(legacy):
|
|
7
|
-
* - I3 阶段转移 = 代码门控(allowedNextStages)∩ Planner 决策
|
|
8
|
-
* - I2 跨角色数据只经 ArtifactStore;Reviewer 仅读白名单 kind
|
|
9
|
-
* - reviewCycles 超过 maxReviewCycles → 熔断进入 failed
|
|
10
|
-
*/
|
|
11
|
-
import { DEFAULT_MAX_REVIEW_CYCLES, } from '../../collaboration/types.js';
|
|
12
|
-
import { getCollaborationSceneService } from '../../collaboration/scene-service.js';
|
|
13
|
-
import { getCollaborationArtifactRepository } from '../../collaboration/collaboration-artifact-repository.js';
|
|
14
|
-
import { createGenerationStore, DisposeStack } from '@zhin.js/plugin-runtime';
|
|
15
|
-
import { allowedNextStages, isRejectTransition, isTransitionAllowed, } from './pipeline-transitions.js';
|
|
16
|
-
import { archiveCurrentRun, buildFreshPipelineState, resolveRunIdRef, restorePipelineRun, summarizeRuns, } from './pipeline-flow.js';
|
|
17
|
-
/** Reviewer 入站记忆白名单(I2):只能看 deliverable + citations,禁 evaluator blueprint。 */
|
|
18
|
-
export const REVIEWER_ARTIFACT_WHITELIST = ['deliverable', 'citations', 'report'];
|
|
19
|
-
export class PipelineService {
|
|
20
|
-
deps;
|
|
21
|
-
constructor(deps) {
|
|
22
|
-
this.deps = deps;
|
|
23
|
-
}
|
|
24
|
-
async resolveCell(collaborationSceneId) {
|
|
25
|
-
return (await this.deps.cells.getSceneFresh?.(collaborationSceneId)) ?? this.deps.cells.getScene(collaborationSceneId);
|
|
26
|
-
}
|
|
27
|
-
getState(cell) {
|
|
28
|
-
return cell.pipelineState;
|
|
29
|
-
}
|
|
30
|
-
async ensureState(cell, opts = {}) {
|
|
31
|
-
if (cell.pipelineState)
|
|
32
|
-
return cell.pipelineState;
|
|
33
|
-
return this.initState(cell, opts);
|
|
34
|
-
}
|
|
35
|
-
async initState(cell, opts = {}) {
|
|
36
|
-
const profile = opts.profile ?? 'full';
|
|
37
|
-
const state = buildFreshPipelineState(profile, {
|
|
38
|
-
userGoal: opts.userGoal,
|
|
39
|
-
runLabel: opts.runLabel,
|
|
40
|
-
maxReviewCycles: opts.maxReviewCycles ?? DEFAULT_MAX_REVIEW_CYCLES,
|
|
41
|
-
});
|
|
42
|
-
state.profile = profile;
|
|
43
|
-
await this.deps.cells.setPipelineState(cell.id, state);
|
|
44
|
-
await this.syncActiveRunId(cell.id, state.runId);
|
|
45
|
-
return state;
|
|
46
|
-
}
|
|
47
|
-
/** 新建流程:归档当前 run(若有),开启新 runId。 */
|
|
48
|
-
async createRun(collaborationSceneId, opts = {}) {
|
|
49
|
-
const cell = await this.resolveCell(collaborationSceneId);
|
|
50
|
-
if (!cell)
|
|
51
|
-
return { ok: false, error: `cell ${collaborationSceneId} not found` };
|
|
52
|
-
const pending = cell.pipelineState?.activeDelegations?.length ?? 0;
|
|
53
|
-
if (pending > 0 && !opts.force) {
|
|
54
|
-
return {
|
|
55
|
-
ok: false,
|
|
56
|
-
error: `${pending} active delegation(s) still in flight — wait for handback or use force=true on create/reset`,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
const profile = opts.profile ?? this.profileOf(cell.pipelineState ?? {}) ?? 'full';
|
|
60
|
-
const previousRunId = cell.pipelineState?.runId;
|
|
61
|
-
const runHistory = cell.pipelineState ? archiveCurrentRun(cell.pipelineState) : [];
|
|
62
|
-
const state = buildFreshPipelineState(profile, {
|
|
63
|
-
userGoal: opts.userGoal?.trim() || cell.pipelineState?.userGoal,
|
|
64
|
-
runLabel: opts.runLabel?.trim(),
|
|
65
|
-
maxReviewCycles: opts.maxReviewCycles
|
|
66
|
-
?? cell.pipelineState?.maxReviewCycles
|
|
67
|
-
?? DEFAULT_MAX_REVIEW_CYCLES,
|
|
68
|
-
runHistory,
|
|
69
|
-
});
|
|
70
|
-
state.profile = profile;
|
|
71
|
-
await this.deps.cells.setPipelineState(collaborationSceneId, state);
|
|
72
|
-
await this.syncActiveRunId(collaborationSceneId, state.runId);
|
|
73
|
-
return { ok: true, state, previousRunId };
|
|
74
|
-
}
|
|
75
|
-
/** 重置流程:同 createRun,语义为「当前任务重来」。 */
|
|
76
|
-
async resetRun(collaborationSceneId, opts = {}) {
|
|
77
|
-
return this.createRun(collaborationSceneId, opts);
|
|
78
|
-
}
|
|
79
|
-
/** 修改当前流程(不换 runId)。 */
|
|
80
|
-
async updateRun(collaborationSceneId, patch) {
|
|
81
|
-
const cell = await this.resolveCell(collaborationSceneId);
|
|
82
|
-
if (!cell?.pipelineState)
|
|
83
|
-
return { ok: false, error: 'pipeline not initialized' };
|
|
84
|
-
const state = cell.pipelineState;
|
|
85
|
-
const next = {
|
|
86
|
-
...state,
|
|
87
|
-
userGoal: patch.userGoal?.trim() || state.userGoal,
|
|
88
|
-
runLabel: patch.runLabel?.trim() || state.runLabel,
|
|
89
|
-
todo: patch.todo ?? state.todo,
|
|
90
|
-
maxReviewCycles: patch.maxReviewCycles ?? state.maxReviewCycles,
|
|
91
|
-
updatedAt: Date.now(),
|
|
92
|
-
};
|
|
93
|
-
await this.deps.cells.setPipelineState(collaborationSceneId, next);
|
|
94
|
-
if (patch.userGoal?.trim()) {
|
|
95
|
-
await getCollaborationSceneService().setGoal(collaborationSceneId, patch.userGoal.trim());
|
|
96
|
-
}
|
|
97
|
-
return { ok: true, state: next };
|
|
98
|
-
}
|
|
99
|
-
/** 设置当前流程:切换到 runHistory 中的 run。 */
|
|
100
|
-
async activateRun(collaborationSceneId, runRef, opts = {}) {
|
|
101
|
-
const cell = await this.resolveCell(collaborationSceneId);
|
|
102
|
-
if (!cell?.pipelineState)
|
|
103
|
-
return { ok: false, error: 'pipeline not initialized' };
|
|
104
|
-
const pending = cell.pipelineState.activeDelegations?.length ?? 0;
|
|
105
|
-
if (pending > 0 && !opts.force) {
|
|
106
|
-
return {
|
|
107
|
-
ok: false,
|
|
108
|
-
error: `${pending} active delegation(s) in flight — wait for handback or use force=true`,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
const state = cell.pipelineState;
|
|
112
|
-
const targetRunId = resolveRunIdRef(runRef, state);
|
|
113
|
-
if (!targetRunId) {
|
|
114
|
-
return { ok: false, error: `run ${runRef} not found (legacy pipeline; use /collab status or orchestration_status)` };
|
|
115
|
-
}
|
|
116
|
-
if (targetRunId === state.runId) {
|
|
117
|
-
return { ok: true, state, previousRunId: state.runId };
|
|
118
|
-
}
|
|
119
|
-
const profile = this.profileOf(state);
|
|
120
|
-
const history = state.runHistory ?? [];
|
|
121
|
-
const archive = history.find((h) => h.runId === targetRunId);
|
|
122
|
-
if (!archive) {
|
|
123
|
-
return { ok: false, error: `run ${runRef} not in history` };
|
|
124
|
-
}
|
|
125
|
-
const previousRunId = state.runId;
|
|
126
|
-
const nextHistory = archiveCurrentRun(state).filter((h) => h.runId !== targetRunId);
|
|
127
|
-
const next = restorePipelineRun(archive, profile, {
|
|
128
|
-
maxReviewCycles: state.maxReviewCycles,
|
|
129
|
-
runHistory: nextHistory,
|
|
130
|
-
});
|
|
131
|
-
next.profile = profile;
|
|
132
|
-
await this.deps.cells.setPipelineState(collaborationSceneId, next);
|
|
133
|
-
await this.syncActiveRunId(collaborationSceneId, next.runId);
|
|
134
|
-
return { ok: true, state: next, previousRunId };
|
|
135
|
-
}
|
|
136
|
-
listRuns(collaborationSceneId) {
|
|
137
|
-
const cell = this.deps.cells.getScene(collaborationSceneId);
|
|
138
|
-
if (!cell?.pipelineState)
|
|
139
|
-
return { ok: false, error: 'pipeline not initialized' };
|
|
140
|
-
return { ok: true, runs: summarizeRuns(cell.pipelineState) };
|
|
141
|
-
}
|
|
142
|
-
async syncActiveRunId(collaborationSceneId, runId) {
|
|
143
|
-
await this.deps.cells.setMissionRunId?.(collaborationSceneId, runId);
|
|
144
|
-
}
|
|
145
|
-
profileOf(state) {
|
|
146
|
-
return state.profile ?? 'full';
|
|
147
|
-
}
|
|
148
|
-
async advance(collaborationSceneId, to, actor) {
|
|
149
|
-
const cell = await this.resolveCell(collaborationSceneId);
|
|
150
|
-
if (!cell)
|
|
151
|
-
return { ok: false, error: `cell ${collaborationSceneId} not found` };
|
|
152
|
-
const state = cell.pipelineState;
|
|
153
|
-
if (!state)
|
|
154
|
-
return { ok: false, error: 'pipeline not initialized' };
|
|
155
|
-
if (state.activeDelegations?.length) {
|
|
156
|
-
return {
|
|
157
|
-
ok: false,
|
|
158
|
-
error: `cannot advance while ${state.activeDelegations.length} delegation(s) active — wait for handback`,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
const profile = this.profileOf(state);
|
|
162
|
-
if (!isTransitionAllowed(state.stage, to, profile)) {
|
|
163
|
-
return {
|
|
164
|
-
ok: false,
|
|
165
|
-
error: `illegal transition ${state.stage} → ${to} (allowed: ${allowedNextStages(state.stage, profile).join(', ')})`,
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
let reviewCycles = state.reviewCycles;
|
|
169
|
-
let nextStage = to;
|
|
170
|
-
if (isRejectTransition(state.stage, to)) {
|
|
171
|
-
reviewCycles += 1;
|
|
172
|
-
if (reviewCycles >= state.maxReviewCycles) {
|
|
173
|
-
// 熔断:达到上限,进入 failed,仅 Planner 可向人类汇报
|
|
174
|
-
nextStage = 'failed';
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
const next = {
|
|
178
|
-
...state,
|
|
179
|
-
stage: nextStage,
|
|
180
|
-
reviewCycles,
|
|
181
|
-
allowedNextStages: allowedNextStages(nextStage, profile),
|
|
182
|
-
updatedAt: Date.now(),
|
|
183
|
-
};
|
|
184
|
-
next.profile = profile;
|
|
185
|
-
await this.deps.cells.setPipelineState(collaborationSceneId, next);
|
|
186
|
-
return { ok: true, state: next };
|
|
187
|
-
}
|
|
188
|
-
async submitArtifact(input) {
|
|
189
|
-
return this.deps.artifacts.submit(input);
|
|
190
|
-
}
|
|
191
|
-
async readArtifacts(collaborationSceneId, runId, kinds) {
|
|
192
|
-
return this.deps.artifacts.listByRun(collaborationSceneId, runId, kinds);
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Reviewer 记忆切片(I2):只暴露 userGoal + Executor deliverable + Researcher citations,
|
|
196
|
-
* 永不暴露 Evaluator blueprint(CoT 隔离)。
|
|
197
|
-
*/
|
|
198
|
-
async reviewerContextSlice(collaborationSceneId, runId) {
|
|
199
|
-
const cell = this.deps.cells.getScene(collaborationSceneId);
|
|
200
|
-
const deliverable = await this.deps.artifacts.latest(collaborationSceneId, runId, 'deliverable');
|
|
201
|
-
const citationArtifacts = await this.deps.artifacts.listByRun(collaborationSceneId, runId, ['citations', 'report']);
|
|
202
|
-
return {
|
|
203
|
-
userGoal: cell?.pipelineState?.userGoal,
|
|
204
|
-
deliverable: deliverable?.payload,
|
|
205
|
-
citations: citationArtifacts.map((a) => a.payload),
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
const pipelineStore = createGenerationStore('zhin.agent.pipeline-service');
|
|
210
|
-
function createDefaultPipelineService() {
|
|
211
|
-
return new PipelineService({
|
|
212
|
-
cells: {
|
|
213
|
-
getScene: (id) => getCollaborationSceneService().getScene(id),
|
|
214
|
-
getSceneFresh: async (id) => (await getCollaborationSceneService().getSceneFresh(id)) ?? undefined,
|
|
215
|
-
setPipelineState: (id, state) => getCollaborationSceneService().setPipelineState(id, state),
|
|
216
|
-
setMissionRunId: (id, runId) => getCollaborationSceneService().setMissionRunId(id, runId),
|
|
217
|
-
},
|
|
218
|
-
artifacts: getCollaborationArtifactRepository(),
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
export function getPipelineService() {
|
|
222
|
-
return pipelineStore.tryUse() ?? createDefaultPipelineService();
|
|
223
|
-
}
|
|
224
|
-
export function providePipelineService(context, svc) {
|
|
225
|
-
pipelineStore.provide(context, svc);
|
|
226
|
-
}
|
|
227
|
-
let _pipelineLegacy = null;
|
|
228
|
-
export function setPipelineService(svc) {
|
|
229
|
-
if (_pipelineLegacy) {
|
|
230
|
-
void _pipelineLegacy.dispose();
|
|
231
|
-
_pipelineLegacy = null;
|
|
232
|
-
}
|
|
233
|
-
if (svc) {
|
|
234
|
-
_pipelineLegacy = new DisposeStack();
|
|
235
|
-
pipelineStore.provide({ lifecycle: _pipelineLegacy }, svc);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
//# sourceMappingURL=pipeline-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-service.js","sourceRoot":"","sources":["../../../src/aop/pipeline/pipeline-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pipeline 阶段转移表(ADR 0024 D2-I3)。
|
|
3
|
-
*
|
|
4
|
-
* full:planner → researcher → evaluator → executor → reviewer → planner(回环)
|
|
5
|
-
* reject:reviewer → researcher | evaluator(打回重做)
|
|
6
|
-
* compact:planner 可短路直达 executor(私聊/单 Bot,仍受角色工具 ACL 约束)
|
|
7
|
-
*/
|
|
8
|
-
import type { PipelineStage } from '../../collaboration/types.js';
|
|
9
|
-
export type PipelineProfile = 'full' | 'compact';
|
|
10
|
-
export declare function allowedNextStages(stage: PipelineStage, profile: PipelineProfile): PipelineStage[];
|
|
11
|
-
export declare function isTransitionAllowed(from: PipelineStage, to: PipelineStage, profile: PipelineProfile): boolean;
|
|
12
|
-
/** 是否为「打回重做」转移(reviewer → 更早阶段),用于扣减预算。 */
|
|
13
|
-
export declare function isRejectTransition(from: PipelineStage, to: PipelineStage): boolean;
|
|
14
|
-
//# sourceMappingURL=pipeline-transitions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-transitions.d.ts","sourceRoot":"","sources":["../../../src/aop/pipeline/pipeline-transitions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;AAuBjD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,GAAG,aAAa,EAAE,CAGjG;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAET;AAED,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAElF"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
const FULL_NEXT = {
|
|
2
|
-
planner: ['researcher', 'done'],
|
|
3
|
-
researcher: ['evaluator'],
|
|
4
|
-
evaluator: ['executor'],
|
|
5
|
-
executor: ['reviewer'],
|
|
6
|
-
reviewer: ['planner', 'researcher', 'evaluator', 'done', 'failed'],
|
|
7
|
-
done: [],
|
|
8
|
-
failed: [],
|
|
9
|
-
};
|
|
10
|
-
const COMPACT_NEXT = {
|
|
11
|
-
// compact 允许 Planner 智能短路(直接执行 / 跳过部分阶段)
|
|
12
|
-
planner: ['researcher', 'evaluator', 'executor', 'done'],
|
|
13
|
-
researcher: ['evaluator', 'executor'],
|
|
14
|
-
evaluator: ['executor'],
|
|
15
|
-
executor: ['reviewer', 'done'],
|
|
16
|
-
reviewer: ['planner', 'executor', 'done', 'failed'],
|
|
17
|
-
done: [],
|
|
18
|
-
failed: [],
|
|
19
|
-
};
|
|
20
|
-
export function allowedNextStages(stage, profile) {
|
|
21
|
-
const table = profile === 'compact' ? COMPACT_NEXT : FULL_NEXT;
|
|
22
|
-
return [...(table[stage] ?? [])];
|
|
23
|
-
}
|
|
24
|
-
export function isTransitionAllowed(from, to, profile) {
|
|
25
|
-
return allowedNextStages(from, profile).includes(to);
|
|
26
|
-
}
|
|
27
|
-
/** 是否为「打回重做」转移(reviewer → 更早阶段),用于扣减预算。 */
|
|
28
|
-
export function isRejectTransition(from, to) {
|
|
29
|
-
return from === 'reviewer' && (to === 'researcher' || to === 'evaluator' || to === 'planner' || to === 'executor');
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=pipeline-transitions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-transitions.js","sourceRoot":"","sources":["../../../src/aop/pipeline/pipeline-transitions.ts"],"names":[],"mappings":"AAWA,MAAM,SAAS,GAA2C;IACxD,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,CAAC,WAAW,CAAC;IACzB,SAAS,EAAE,CAAC,UAAU,CAAC;IACvB,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;IAClE,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,MAAM,YAAY,GAA2C;IAC3D,yCAAyC;IACzC,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC;IACxD,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;IACrC,SAAS,EAAE,CAAC,UAAU,CAAC;IACvB,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;IACnD,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,KAAoB,EAAE,OAAwB;IAC9E,MAAM,KAAK,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAmB,EACnB,EAAiB,EACjB,OAAwB;IAExB,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,kBAAkB,CAAC,IAAmB,EAAE,EAAiB;IACvE,OAAO,IAAI,KAAK,UAAU,IAAI,CAAC,EAAE,KAAK,YAAY,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,UAAU,CAAC,CAAC;AACrH,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pipeline 六边形端口(ADR 0024 架构师建议 #2)——便于单测 mock。
|
|
3
|
-
*/
|
|
4
|
-
import type { CollaborationScene, PipelineArtifact, PipelineState } from '../../collaboration/types.js';
|
|
5
|
-
import type { CollaborationArtifactRepository, SubmitArtifactInput } from '../../collaboration/collaboration-artifact-repository.js';
|
|
6
|
-
/** Cell 状态读写端口。 */
|
|
7
|
-
export interface CellStatePort {
|
|
8
|
-
getScene(collaborationSceneId: string): CollaborationScene | undefined;
|
|
9
|
-
getSceneFresh?(collaborationSceneId: string): Promise<CollaborationScene | undefined>;
|
|
10
|
-
setPipelineState(collaborationSceneId: string, state: PipelineState): Promise<void>;
|
|
11
|
-
setMissionRunId?(collaborationSceneId: string, runId: string): Promise<void>;
|
|
12
|
-
}
|
|
13
|
-
/** Artifact 存储端口(= CollaborationArtifactRepository 子集)。 */
|
|
14
|
-
export type ArtifactStorePort = Pick<CollaborationArtifactRepository, 'submit' | 'listByRun' | 'latest'>;
|
|
15
|
-
export type { PipelineArtifact, SubmitArtifactInput };
|
|
16
|
-
//# sourceMappingURL=ports.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../../src/aop/pipeline/ports.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxG,OAAO,KAAK,EACV,+BAA+B,EAC/B,mBAAmB,EACpB,MAAM,0DAA0D,CAAC;AAElE,mBAAmB;AACnB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACvE,aAAa,CAAC,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACtF,gBAAgB,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,eAAe,CAAC,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E;AAED,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,+BAA+B,EAC/B,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAClC,CAAC;AAEF,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../../src/aop/pipeline/ports.ts"],"names":[],"mappings":""}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RoleCapabilityPolicy — 在 turn 工具装配时按 pipelineRole 强制 ACL(ADR 0024 I5)。
|
|
3
|
-
*
|
|
4
|
-
* 复用 AGENT_ROLE_CONFIGS 的 allowedTools/blockedTools;'*' 表示放行全部。
|
|
5
|
-
*/
|
|
6
|
-
import { type AgentRole } from '../../orchestrator/agent-dispatcher.js';
|
|
7
|
-
import { type PipelineRole } from '../../collaboration/types.js';
|
|
8
|
-
export declare function isToolAllowedForRole(toolName: string, role: AgentRole): boolean;
|
|
9
|
-
/** 过滤工具名列表,仅保留该角色允许的工具。 */
|
|
10
|
-
export declare function filterToolNamesForRole(names: string[], role: PipelineRole): string[];
|
|
11
|
-
/** 过滤带 name 字段的工具对象列表。 */
|
|
12
|
-
export declare function filterToolsForRole<T extends {
|
|
13
|
-
name: string;
|
|
14
|
-
}>(tools: T[], role: PipelineRole): T[];
|
|
15
|
-
export declare function asPipelineRole(value: unknown): PipelineRole | undefined;
|
|
16
|
-
//# sourceMappingURL=role-capability-policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"role-capability-policy.d.ts","sourceRoot":"","sources":["../../../src/aop/pipeline/role-capability-policy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAM/E;AAED,2BAA2B;AAC3B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAEpF;AAED,0BAA0B;AAC1B,wBAAgB,kBAAkB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,EAAE,CAElG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAEvE"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RoleCapabilityPolicy — 在 turn 工具装配时按 pipelineRole 强制 ACL(ADR 0024 I5)。
|
|
3
|
-
*
|
|
4
|
-
* 复用 AGENT_ROLE_CONFIGS 的 allowedTools/blockedTools;'*' 表示放行全部。
|
|
5
|
-
*/
|
|
6
|
-
import { AGENT_ROLE_CONFIGS } from '../../orchestrator/agent-dispatcher.js';
|
|
7
|
-
import { isPipelineRole } from '../../collaboration/types.js';
|
|
8
|
-
export function isToolAllowedForRole(toolName, role) {
|
|
9
|
-
const cfg = AGENT_ROLE_CONFIGS[role];
|
|
10
|
-
if (!cfg)
|
|
11
|
-
return true;
|
|
12
|
-
if (cfg.blockedTools.includes(toolName))
|
|
13
|
-
return false;
|
|
14
|
-
if (cfg.allowedTools.includes('*'))
|
|
15
|
-
return true;
|
|
16
|
-
return cfg.allowedTools.includes(toolName);
|
|
17
|
-
}
|
|
18
|
-
/** 过滤工具名列表,仅保留该角色允许的工具。 */
|
|
19
|
-
export function filterToolNamesForRole(names, role) {
|
|
20
|
-
return names.filter((n) => isToolAllowedForRole(n, role));
|
|
21
|
-
}
|
|
22
|
-
/** 过滤带 name 字段的工具对象列表。 */
|
|
23
|
-
export function filterToolsForRole(tools, role) {
|
|
24
|
-
return tools.filter((t) => isToolAllowedForRole(t.name, role));
|
|
25
|
-
}
|
|
26
|
-
export function asPipelineRole(value) {
|
|
27
|
-
return isPipelineRole(value) ? value : undefined;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=role-capability-policy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"role-capability-policy.js","sourceRoot":"","sources":["../../../src/aop/pipeline/role-capability-policy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAkB,MAAM,wCAAwC,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAqB,MAAM,8BAA8B,CAAC;AAEjF,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,IAAe;IACpE,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,sBAAsB,CAAC,KAAe,EAAE,IAAkB;IACxE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,kBAAkB,CAA6B,KAAU,EAAE,IAAkB;IAC3F,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime plane — ZhinAgent 执行器 + ResourceHub(MCP/Skill/工具注册)。
|
|
3
|
-
*
|
|
4
|
-
* AgentOrchestrator 不再是 conductor,定位为资源枢纽(ADR 0024 D1);
|
|
5
|
-
* 这里以 ResourceHub 别名暴露其语义。
|
|
6
|
-
*/
|
|
7
|
-
export { ZhinAgent } from '../../zhin-agent/index.js';
|
|
8
|
-
export { AgentOrchestrator, AgentOrchestrator as ResourceHub } from '../../orchestrator/index.js';
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/aop/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC"}
|
package/lib/aop/runtime/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime plane — ZhinAgent 执行器 + ResourceHub(MCP/Skill/工具注册)。
|
|
3
|
-
*
|
|
4
|
-
* AgentOrchestrator 不再是 conductor,定位为资源枢纽(ADR 0024 D1);
|
|
5
|
-
* 这里以 ResourceHub 别名暴露其语义。
|
|
6
|
-
*/
|
|
7
|
-
export { ZhinAgent } from '../../zhin-agent/index.js';
|
|
8
|
-
export { AgentOrchestrator, AgentOrchestrator as ResourceHub } from '../../orchestrator/index.js';
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aop/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CollabAdminGate — 多 Bot 群 /collab 管理指令门控。
|
|
3
|
-
*
|
|
4
|
-
* 当群内有多个 Bot 同时在线时,/collab init|bind|unbind|reset 等管理指令
|
|
5
|
-
* 仅由被 @-mention 的 endpoint 执行并回复,其余 endpoint 静默忽略。
|
|
6
|
-
*
|
|
7
|
-
* 规则:
|
|
8
|
-
* 1. 消息含 at segment 且目标是本 endpoint → 放行
|
|
9
|
-
* 2. 消息不含任何 at segment 且群内只有 1 个 Bot → 放行
|
|
10
|
-
* 3. 其余情况 → 拦截
|
|
11
|
-
*/
|
|
12
|
-
import type { Message, Plugin } from '@zhin.js/core';
|
|
13
|
-
export interface AdminGateResult {
|
|
14
|
-
allowed: boolean;
|
|
15
|
-
reason?: string;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* 检查当前 endpoint 是否应处理 /collab 管理指令。
|
|
19
|
-
*/
|
|
20
|
-
export declare function checkCollabAdminGate(message: Message, endpointKey: string, root: Plugin): AdminGateResult;
|
|
21
|
-
//# sourceMappingURL=collab-admin-gate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collab-admin-gate.d.ts","sourceRoot":"","sources":["../../src/collaboration/collab-admin-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAoDrD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,eAAe,CAmBjB"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CollabAdminGate — 多 Bot 群 /collab 管理指令门控。
|
|
3
|
-
*
|
|
4
|
-
* 当群内有多个 Bot 同时在线时,/collab init|bind|unbind|reset 等管理指令
|
|
5
|
-
* 仅由被 @-mention 的 endpoint 执行并回复,其余 endpoint 静默忽略。
|
|
6
|
-
*
|
|
7
|
-
* 规则:
|
|
8
|
-
* 1. 消息含 at segment 且目标是本 endpoint → 放行
|
|
9
|
-
* 2. 消息不含任何 at segment 且群内只有 1 个 Bot → 放行
|
|
10
|
-
* 3. 其余情况 → 拦截
|
|
11
|
-
*/
|
|
12
|
-
import { extractAtTargets } from './collab-utils.js';
|
|
13
|
-
/**
|
|
14
|
-
* 获取当前 endpoint 在平台上可被 @ 到的所有 id。
|
|
15
|
-
*/
|
|
16
|
-
function resolveLocalEndpointKeys(root, adapter, endpointKey) {
|
|
17
|
-
const ids = new Set([endpointKey]);
|
|
18
|
-
try {
|
|
19
|
-
const ad = root.inject(adapter);
|
|
20
|
-
const ep = ad?.endpoints?.get(endpointKey);
|
|
21
|
-
if (ep?.$config?.id)
|
|
22
|
-
ids.add(String(ep.$config.id));
|
|
23
|
-
if (ep?.$config?.appid)
|
|
24
|
-
ids.add(String(ep.$config.appid));
|
|
25
|
-
if (ep?.$platformUserId)
|
|
26
|
-
ids.add(String(ep.$platformUserId));
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
// adapter not ready
|
|
30
|
-
}
|
|
31
|
-
return ids;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* 统计群内在线 Bot 数量(跨 adapter)。
|
|
35
|
-
*/
|
|
36
|
-
function countOnlineBotsInGroup(root) {
|
|
37
|
-
let count = 0;
|
|
38
|
-
for (const adapterName of root.adapters) {
|
|
39
|
-
try {
|
|
40
|
-
const adapter = root.inject(String(adapterName));
|
|
41
|
-
if (!adapter?.endpoints)
|
|
42
|
-
continue;
|
|
43
|
-
for (const ep of adapter.endpoints.values()) {
|
|
44
|
-
if (ep.$connected)
|
|
45
|
-
count++;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
// skip
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return count;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* 检查当前 endpoint 是否应处理 /collab 管理指令。
|
|
56
|
-
*/
|
|
57
|
-
export function checkCollabAdminGate(message, endpointKey, root) {
|
|
58
|
-
const adapter = String(message.$adapter ?? '');
|
|
59
|
-
const atTargets = extractAtTargets(message);
|
|
60
|
-
if (atTargets.length > 0) {
|
|
61
|
-
const myIds = resolveLocalEndpointKeys(root, adapter, endpointKey);
|
|
62
|
-
const isMentioned = atTargets.some((t) => myIds.has(t));
|
|
63
|
-
if (isMentioned) {
|
|
64
|
-
return { allowed: true };
|
|
65
|
-
}
|
|
66
|
-
return { allowed: false, reason: 'at_other_endpoint' };
|
|
67
|
-
}
|
|
68
|
-
const botCount = countOnlineBotsInGroup(root);
|
|
69
|
-
if (botCount <= 1) {
|
|
70
|
-
return { allowed: true };
|
|
71
|
-
}
|
|
72
|
-
return { allowed: false, reason: 'multi_bot_no_mention' };
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=collab-admin-gate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collab-admin-gate.js","sourceRoot":"","sources":["../../src/collaboration/collab-admin-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAOrD;;GAEG;AACH,SAAS,wBAAwB,CAC/B,IAAY,EACZ,OAAe,EACf,WAAmB;IAEnB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAEjB,CAAC;QACd,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,IAAI,EAAE,EAAE,eAAe;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAY;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAElC,CAAC;YACd,IAAI,CAAC,OAAO,EAAE,SAAS;gBAAE,SAAS;YAClC,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5C,IAAI,EAAE,CAAC,UAAU;oBAAE,KAAK,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,WAAmB,EACnB,IAAY;IAEZ,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;AAC5D,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* collaboration 纯函数/常量(无依赖模块;commands/wizard/observe/gate 共用,
|
|
3
|
-
* 打破 collaboration-commands ↔ init-wizard-service 与 init-observe-hook ↔ collab-admin-gate 循环)。
|
|
4
|
-
*/
|
|
5
|
-
import type { Message } from '@zhin.js/core';
|
|
6
|
-
import type { CollaborationScene } from './types.js';
|
|
7
|
-
/** 默认 cell id(<adapter>:<sceneId>)。 */
|
|
8
|
-
export declare function defaultCellId(adapter: string, sceneId: string): string;
|
|
9
|
-
/** 从 at 消息段提取平台 id(兼容 qq / user_id / id)。 */
|
|
10
|
-
export declare function atSegmentPlatformId(data: Record<string, unknown> | undefined): string | undefined;
|
|
11
|
-
/** 提取消息中 at segment 的 target id 列表。 */
|
|
12
|
-
export declare function extractAtTargets(message: Message): string[];
|
|
13
|
-
/** cell 中 planner 角色的 endpoint id。 */
|
|
14
|
-
export declare function resolvePlannerEndpointKey(cell: CollaborationScene): string | undefined;
|
|
15
|
-
//# sourceMappingURL=collab-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collab-utils.d.ts","sourceRoot":"","sources":["../../src/collaboration/collab-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,uCAAuC;AACvC,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,6CAA6C;AAC7C,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC,MAAM,GAAG,SAAS,CASpB;AAED,uCAAuC;AACvC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAQ3D;AAED,sCAAsC;AACtC,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAEtF"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* collaboration 纯函数/常量(无依赖模块;commands/wizard/observe/gate 共用,
|
|
3
|
-
* 打破 collaboration-commands ↔ init-wizard-service 与 init-observe-hook ↔ collab-admin-gate 循环)。
|
|
4
|
-
*/
|
|
5
|
-
/** 默认 cell id(<adapter>:<sceneId>)。 */
|
|
6
|
-
export function defaultCellId(adapter, sceneId) {
|
|
7
|
-
return `${adapter}:${sceneId}`;
|
|
8
|
-
}
|
|
9
|
-
/** 从 at 消息段提取平台 id(兼容 qq / user_id / id)。 */
|
|
10
|
-
export function atSegmentPlatformId(data) {
|
|
11
|
-
if (!data)
|
|
12
|
-
return undefined;
|
|
13
|
-
for (const key of ['qq', 'user_id', 'id']) {
|
|
14
|
-
const value = data[key];
|
|
15
|
-
if (value != null && String(value).trim() !== '') {
|
|
16
|
-
return String(value);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return undefined;
|
|
20
|
-
}
|
|
21
|
-
/** 提取消息中 at segment 的 target id 列表。 */
|
|
22
|
-
export function extractAtTargets(message) {
|
|
23
|
-
const targets = [];
|
|
24
|
-
for (const el of message.$content ?? []) {
|
|
25
|
-
if (el.type !== 'at')
|
|
26
|
-
continue;
|
|
27
|
-
const id = atSegmentPlatformId(el.data);
|
|
28
|
-
if (id)
|
|
29
|
-
targets.push(id);
|
|
30
|
-
}
|
|
31
|
-
return targets;
|
|
32
|
-
}
|
|
33
|
-
/** cell 中 planner 角色的 endpoint id。 */
|
|
34
|
-
export function resolvePlannerEndpointKey(cell) {
|
|
35
|
-
return cell.members.find((m) => m.pipelineRole === 'planner')?.endpointKey;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=collab-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collab-utils.js","sourceRoot":"","sources":["../../src/collaboration/collab-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,uCAAuC;AACvC,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAAe;IAC5D,OAAO,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,mBAAmB,CACjC,IAAyC;IAEzC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAU,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI;YAAE,SAAS;QAC/B,MAAM,EAAE,GAAG,mBAAmB,CAAC,EAAE,CAAC,IAA2C,CAAC,CAAC;QAC/E,IAAI,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,yBAAyB,CAAC,IAAwB;IAChE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,EAAE,WAAW,CAAC;AAC7E,CAAC"}
|