@zhin.js/agent 1.1.36 → 1.1.39
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/lib/activity-feedback/adapter-integration.d.ts +0 -1
- package/lib/activity-feedback/adapter-integration.js.map +1 -1
- package/lib/activity-feedback/config-resolver.d.ts +0 -1
- package/lib/activity-feedback/config-resolver.js.map +1 -1
- package/lib/activity-feedback/event-context.d.ts +0 -1
- package/lib/activity-feedback/event-context.js.map +1 -1
- package/lib/activity-feedback/index.d.ts +0 -1
- package/lib/activity-feedback/index.js.map +1 -1
- package/lib/activity-feedback/manager.d.ts +0 -1
- package/lib/activity-feedback/manager.js.map +1 -1
- package/lib/activity-feedback/schedule-guard.d.ts +0 -1
- package/lib/activity-feedback/schedule-guard.js.map +1 -1
- package/lib/activity-feedback/subagent-prefix.d.ts +0 -1
- package/lib/activity-feedback/subagent-prefix.js.map +1 -1
- package/lib/activity-feedback/turn-event-projector.d.ts +0 -1
- package/lib/activity-feedback/turn-event-projector.js.map +1 -1
- package/lib/activity-feedback/types.d.ts +0 -1
- package/lib/activity-feedback/types.js.map +1 -1
- package/lib/ai-event-bus.d.ts +0 -1
- package/lib/ai-event-bus.js.map +1 -1
- package/lib/ai-event-contract.d.ts +0 -1
- package/lib/ai-event-contract.js.map +1 -1
- package/lib/ai-event-subscriber.d.ts +0 -1
- package/lib/ai-event-subscriber.js.map +1 -1
- package/lib/ai-hook-runtime-bus.d.ts +0 -1
- package/lib/ai-hook-runtime-bus.js.map +1 -1
- package/lib/assistant/bootstrap-assistant-home.d.ts +0 -1
- package/lib/assistant/bootstrap-assistant-home.js.map +1 -1
- package/lib/assistant/config.d.ts +0 -1
- package/lib/assistant/config.js.map +1 -1
- package/lib/assistant/deliver-schedule-to-adapter.d.ts +0 -1
- package/lib/assistant/deliver-schedule-to-adapter.js.map +1 -1
- package/lib/assistant/domains/ha-home-backend.d.ts +0 -1
- package/lib/assistant/domains/ha-home-backend.js.map +1 -1
- package/lib/assistant/domains/ha-ws-transport.d.ts +0 -1
- package/lib/assistant/domains/ha-ws-transport.js.map +1 -1
- package/lib/assistant/domains/home-entity.d.ts +0 -1
- package/lib/assistant/domains/home-entity.js.map +1 -1
- package/lib/assistant/domains/home-state-watch.d.ts +0 -1
- package/lib/assistant/domains/home-state-watch.js.map +1 -1
- package/lib/assistant/event-ingress.d.ts +0 -1
- package/lib/assistant/event-ingress.js.map +1 -1
- package/lib/assistant/event-types.d.ts +0 -1
- package/lib/assistant/event-types.js.map +1 -1
- package/lib/assistant/home-config.d.ts +0 -1
- package/lib/assistant/home-config.js.map +1 -1
- package/lib/assistant/home-facade.d.ts +0 -1
- package/lib/assistant/home-facade.js.map +1 -1
- package/lib/assistant/home-mcp-bridge.d.ts +0 -1
- package/lib/assistant/home-mcp-bridge.js.map +1 -1
- package/lib/assistant/home-policy.d.ts +0 -1
- package/lib/assistant/home-policy.js.map +1 -1
- package/lib/assistant/home-tools.d.ts +0 -1
- package/lib/assistant/home-tools.js.map +1 -1
- package/lib/assistant/index.d.ts +0 -1
- package/lib/assistant/index.js.map +1 -1
- package/lib/assistant/job-creator.d.ts +0 -1
- package/lib/assistant/job-creator.js.map +1 -1
- package/lib/assistant/job-engine.d.ts +5 -1
- package/lib/assistant/job-engine.js +20 -1
- package/lib/assistant/job-engine.js.map +1 -1
- package/lib/assistant/job-scheduler.d.ts +0 -1
- package/lib/assistant/job-scheduler.js.map +1 -1
- package/lib/assistant/job-store.d.ts +0 -1
- package/lib/assistant/job-store.js.map +1 -1
- package/lib/assistant/job-utils.d.ts +0 -1
- package/lib/assistant/job-utils.js.map +1 -1
- package/lib/assistant/job-worker.d.ts +0 -1
- package/lib/assistant/job-worker.js.map +1 -1
- package/lib/assistant/notification-router.d.ts +0 -1
- package/lib/assistant/notification-router.js.map +1 -1
- package/lib/assistant/profile-loader.d.ts +0 -1
- package/lib/assistant/profile-loader.js.map +1 -1
- package/lib/assistant/profile-types.d.ts +0 -1
- package/lib/assistant/profile-types.js.map +1 -1
- package/lib/assistant/runtime-contract.d.ts +0 -1
- package/lib/assistant/runtime-contract.js.map +1 -1
- package/lib/assistant/schedule-execution.d.ts +0 -1
- package/lib/assistant/schedule-execution.js.map +1 -1
- package/lib/assistant/schedule-job-service.d.ts +0 -1
- package/lib/assistant/schedule-job-service.js.map +1 -1
- package/lib/assistant/schedule-skills.d.ts +0 -1
- package/lib/assistant/schedule-skills.js.map +1 -1
- package/lib/assistant/types.d.ts +0 -1
- package/lib/assistant/types.js.map +1 -1
- package/lib/authoring/bridge.d.ts +0 -1
- package/lib/authoring/bridge.js.map +1 -1
- package/lib/authoring/define-eval.d.ts +0 -1
- package/lib/authoring/define-eval.js.map +1 -1
- package/lib/authoring/define-hook.d.ts +0 -1
- package/lib/authoring/define-hook.js.map +1 -1
- package/lib/authoring/define-skill.d.ts +0 -1
- package/lib/authoring/define-skill.js.map +1 -1
- package/lib/authoring/disable-tool.d.ts +0 -1
- package/lib/authoring/disable-tool.js.map +1 -1
- package/lib/authoring/entries/evals.d.ts +0 -1
- package/lib/authoring/entries/evals.js.map +1 -1
- package/lib/authoring/entries/hooks.d.ts +0 -1
- package/lib/authoring/entries/hooks.js.map +1 -1
- package/lib/authoring/entries/skills.d.ts +0 -1
- package/lib/authoring/entries/skills.js.map +1 -1
- package/lib/authoring/index.d.ts +0 -1
- package/lib/authoring/index.js.map +1 -1
- package/lib/authoring/types.d.ts +0 -1
- package/lib/authoring/types.js.map +1 -1
- package/lib/bootstrap.d.ts +0 -1
- package/lib/bootstrap.js.map +1 -1
- package/lib/builtins/builtin-tool-service.d.ts +0 -1
- package/lib/builtins/builtin-tool-service.js.map +1 -1
- package/lib/common-adapter-tools.d.ts +0 -1
- package/lib/common-adapter-tools.js.map +1 -1
- package/lib/config/agent-binding-registry.d.ts +0 -1
- package/lib/config/agent-binding-registry.js.map +1 -1
- package/lib/config/agent-bindings.d.ts +0 -1
- package/lib/config/agent-bindings.js.map +1 -1
- package/lib/config/agent-interfaces.d.ts +0 -1
- package/lib/config/agent-interfaces.js.map +1 -1
- package/lib/config/deprecated-agent-binding-keys.d.ts +0 -1
- package/lib/config/deprecated-agent-binding-keys.js.map +1 -1
- package/lib/config/deprecated-agent-keys.d.ts +0 -1
- package/lib/config/deprecated-agent-keys.js.map +1 -1
- package/lib/config/fix-ai-config.d.ts +0 -1
- package/lib/config/fix-ai-config.js.map +1 -1
- package/lib/config/index.d.ts +0 -1
- package/lib/config/index.js.map +1 -1
- package/lib/config/keyword-triggers.d.ts +0 -1
- package/lib/config/keyword-triggers.js.map +1 -1
- package/lib/config/model-harness-runtime.d.ts +0 -1
- package/lib/config/model-harness-runtime.js.map +1 -1
- package/lib/config/model-harness.d.ts +0 -1
- package/lib/config/model-harness.js.map +1 -1
- package/lib/config/normalize-ai-config.d.ts +0 -1
- package/lib/config/normalize-ai-config.js.map +1 -1
- package/lib/config/perception-config.d.ts +0 -1
- package/lib/config/perception-config.js.map +1 -1
- package/lib/config/provider-instance.d.ts +0 -1
- package/lib/config/provider-instance.js.map +1 -1
- package/lib/config/resolve-five-agent-binding.d.ts +0 -1
- package/lib/config/resolve-five-agent-binding.js.map +1 -1
- package/lib/config/types.d.ts +0 -1
- package/lib/config/types.js.map +1 -1
- package/lib/config/validate-ai-config.d.ts +0 -1
- package/lib/config/validate-ai-config.js.map +1 -1
- package/lib/config/zhin-agent-config.d.ts +0 -1
- package/lib/config/zhin-agent-config.js.map +1 -1
- package/lib/config/zhin-agent-constants.d.ts +0 -1
- package/lib/config/zhin-agent-constants.js.map +1 -1
- package/lib/config/zhin-agent-defaults.d.ts +0 -1
- package/lib/config/zhin-agent-defaults.js +1 -1
- package/lib/config/zhin-agent-defaults.js.map +1 -1
- package/lib/config/zhin-agent-dependencies.d.ts +0 -1
- package/lib/config/zhin-agent-dependencies.js.map +1 -1
- package/lib/config/zhin-agent-runtime.d.ts +0 -1
- package/lib/config/zhin-agent-runtime.js.map +1 -1
- package/lib/context/agents-instruction.d.ts +0 -1
- package/lib/context/agents-instruction.js.map +1 -1
- package/lib/context/context-system.d.ts +0 -1
- package/lib/context/context-system.js.map +1 -1
- package/lib/context/context-tail-limit.d.ts +0 -1
- package/lib/context/context-tail-limit.js.map +1 -1
- package/lib/context/contracts.d.ts +0 -1
- package/lib/context/contracts.js.map +1 -1
- package/lib/context/default-builders.d.ts +0 -1
- package/lib/context/default-builders.js.map +1 -1
- package/lib/context/envelope-parts.d.ts +0 -1
- package/lib/context/envelope-parts.js.map +1 -1
- package/lib/context/im-turn-context-adapter.d.ts +0 -1
- package/lib/context/im-turn-context-adapter.js.map +1 -1
- package/lib/context/index.d.ts +1 -2
- package/lib/context/index.js +1 -1
- package/lib/context/index.js.map +1 -1
- package/lib/context/model-resolver.d.ts +0 -1
- package/lib/context/model-resolver.js.map +1 -1
- package/lib/context/turn-envelope.d.ts +3 -2
- package/lib/context/turn-envelope.js +6 -0
- package/lib/context/turn-envelope.js.map +1 -1
- package/lib/context/turn-user-message.d.ts +0 -1
- package/lib/context/turn-user-message.js.map +1 -1
- package/lib/core/agent-core-run.d.ts +3 -1
- package/lib/core/agent-core-run.js +40 -36
- package/lib/core/agent-core-run.js.map +1 -1
- package/lib/core/agent-core.d.ts +0 -1
- package/lib/core/agent-core.js.map +1 -1
- package/lib/core/agent-loop-standalone.d.ts +0 -1
- package/lib/core/agent-loop-standalone.js.map +1 -1
- package/lib/core/agent-loop-turn.d.ts +0 -1
- package/lib/core/agent-loop-turn.js.map +1 -1
- package/lib/core/agent-run-shared.d.ts +0 -1
- package/lib/core/agent-run-shared.js.map +1 -1
- package/lib/core/compose-deps.d.ts +0 -1
- package/lib/core/compose-deps.js.map +1 -1
- package/lib/core/contracts.d.ts +0 -1
- package/lib/core/contracts.js.map +1 -1
- package/lib/core/exhausted-turn-reply.d.ts +0 -1
- package/lib/core/exhausted-turn-reply.js.map +1 -1
- package/lib/core/exploration-budget.d.ts +0 -1
- package/lib/core/exploration-budget.js.map +1 -1
- package/lib/core/index.d.ts +0 -1
- package/lib/core/index.js.map +1 -1
- package/lib/core/missing-tool-resolver.d.ts +0 -1
- package/lib/core/missing-tool-resolver.js.map +1 -1
- package/lib/core/progress-reporter.d.ts +0 -1
- package/lib/core/progress-reporter.js.map +1 -1
- package/lib/core/spawn-delegation.d.ts +0 -1
- package/lib/core/spawn-delegation.js.map +1 -1
- package/lib/core/structured-reply-recovery.d.ts +18 -3
- package/lib/core/structured-reply-recovery.js +28 -7
- package/lib/core/structured-reply-recovery.js.map +1 -1
- package/lib/core/text-sanitize.d.ts +0 -1
- package/lib/core/text-sanitize.js.map +1 -1
- package/lib/core/tool-calls-user-format.d.ts +0 -1
- package/lib/core/tool-calls-user-format.js.map +1 -1
- package/lib/core/tool-execution-authority.d.ts +0 -1
- package/lib/core/tool-execution-authority.js.map +1 -1
- package/lib/core/turn-completion-usage.d.ts +0 -1
- package/lib/core/turn-completion-usage.js.map +1 -1
- package/lib/core/turn-event-mapper.d.ts +0 -1
- package/lib/core/turn-event-mapper.js.map +1 -1
- package/lib/core/turn-progress.d.ts +0 -1
- package/lib/core/turn-progress.js.map +1 -1
- package/lib/create-agent-session.d.ts +0 -1
- package/lib/create-agent-session.js.map +1 -1
- package/lib/decision/approval-judgment.d.ts +0 -1
- package/lib/decision/approval-judgment.js.map +1 -1
- package/lib/decision/approval.d.ts +0 -1
- package/lib/decision/approval.js.map +1 -1
- package/lib/decision/config.d.ts +0 -1
- package/lib/decision/config.js.map +1 -1
- package/lib/decision/index.d.ts +0 -1
- package/lib/decision/index.js.map +1 -1
- package/lib/decision/rank.d.ts +0 -1
- package/lib/decision/rank.js.map +1 -1
- package/lib/decision/retrieval.d.ts +0 -1
- package/lib/decision/retrieval.js.map +1 -1
- package/lib/decision/types.d.ts +0 -1
- package/lib/decision/types.js.map +1 -1
- package/lib/deferred-worker-runner.d.ts +0 -1
- package/lib/deferred-worker-runner.js.map +1 -1
- package/lib/deferred-worker-tool-load.d.ts +0 -1
- package/lib/deferred-worker-tool-load.js.map +1 -1
- package/lib/detached-task/index.d.ts +0 -1
- package/lib/detached-task/index.js.map +1 -1
- package/lib/detached-task/interjection.d.ts +0 -1
- package/lib/detached-task/interjection.js.map +1 -1
- package/lib/detached-task/runner.d.ts +0 -1
- package/lib/detached-task/runner.js.map +1 -1
- package/lib/detached-task/store.d.ts +0 -1
- package/lib/detached-task/store.js.map +1 -1
- package/lib/detached-task/token.d.ts +0 -1
- package/lib/detached-task/token.js.map +1 -1
- package/lib/detached-task/types.d.ts +0 -1
- package/lib/detached-task/types.js.map +1 -1
- package/lib/discovery/agent-surface-info.d.ts +0 -1
- package/lib/discovery/agent-surface-info.js.map +1 -1
- package/lib/discovery/agent-surface.d.ts +0 -1
- package/lib/discovery/agent-surface.js.map +1 -1
- package/lib/discovery/agents.d.ts +0 -1
- package/lib/discovery/agents.js.map +1 -1
- package/lib/discovery/utils.d.ts +0 -1
- package/lib/discovery/utils.js.map +1 -1
- package/lib/event/agent-stream-bus.d.ts +0 -1
- package/lib/event/agent-stream-bus.js.map +1 -1
- package/lib/event/agent-stream-hooks.d.ts +0 -1
- package/lib/event/agent-stream-hooks.js.map +1 -1
- package/lib/event/ai-event-bus.d.ts +0 -1
- package/lib/event/ai-event-bus.js.map +1 -1
- package/lib/event/contracts.d.ts +0 -1
- package/lib/event/contracts.js.map +1 -1
- package/lib/event/event-emitter.d.ts +0 -1
- package/lib/event/event-emitter.js.map +1 -1
- package/lib/event/event-system.d.ts +0 -1
- package/lib/event/event-system.js.map +1 -1
- package/lib/event/filtering-middleware.d.ts +0 -1
- package/lib/event/filtering-middleware.js.map +1 -1
- package/lib/event/hook-stream-sink.d.ts +0 -1
- package/lib/event/hook-stream-sink.js.map +1 -1
- package/lib/event/index.d.ts +0 -1
- package/lib/event/index.js.map +1 -1
- package/lib/event/logging-middleware.d.ts +0 -1
- package/lib/event/logging-middleware.js.map +1 -1
- package/lib/event/publish-agent-stream.d.ts +0 -1
- package/lib/event/publish-agent-stream.js.map +1 -1
- package/lib/event/session-events.d.ts +0 -1
- package/lib/event/session-events.js.map +1 -1
- package/lib/event/turn-event.d.ts +0 -1
- package/lib/event/turn-event.js.map +1 -1
- package/lib/event/turn-to-agent-stream.d.ts +0 -1
- package/lib/event/turn-to-agent-stream.js.map +1 -1
- package/lib/index.d.ts +4 -5
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/init/activate-ai-database-storage.d.ts +0 -1
- package/lib/init/activate-ai-database-storage.js.map +1 -1
- package/lib/init/compose-zhin-agent-runtime.d.ts +0 -1
- package/lib/init/compose-zhin-agent-runtime.js.map +1 -1
- package/lib/init/configure-zhin-agent.d.ts +0 -1
- package/lib/init/configure-zhin-agent.js.map +1 -1
- package/lib/init/define-ai-database-models.d.ts +0 -1
- package/lib/init/define-ai-database-models.js.map +1 -1
- package/lib/init/dispose-zhin-agent.d.ts +0 -1
- package/lib/init/dispose-zhin-agent.js.map +1 -1
- package/lib/init/introspection-output.d.ts +0 -1
- package/lib/init/introspection-output.js.map +1 -1
- package/lib/init/runtime-management-commands.d.ts +0 -1
- package/lib/init/runtime-management-commands.js.map +1 -1
- package/lib/interaction/index.d.ts +0 -1
- package/lib/interaction/index.js.map +1 -1
- package/lib/interaction/interaction-router.d.ts +0 -1
- package/lib/interaction/interaction-router.js.map +1 -1
- package/lib/internal/agent-host.d.ts +0 -1
- package/lib/internal/agent-host.js.map +1 -1
- package/lib/internal/ai-service-refs.d.ts +0 -1
- package/lib/internal/ai-service-refs.js.map +1 -1
- package/lib/internal/as-private.d.ts +0 -1
- package/lib/internal/as-private.js.map +1 -1
- package/lib/internal/host-types.d.ts +0 -1
- package/lib/internal/host-types.js.map +1 -1
- package/lib/internal/phase-trace.d.ts +0 -1
- package/lib/internal/phase-trace.js.map +1 -1
- package/lib/internal/prompt-trace.d.ts +0 -1
- package/lib/internal/prompt-trace.js.map +1 -1
- package/lib/internal/turn-context.d.ts +0 -1
- package/lib/internal/turn-context.js.map +1 -1
- package/lib/journal/file-journal-store.d.ts +0 -1
- package/lib/journal/file-journal-store.js.map +1 -1
- package/lib/journal/index.d.ts +0 -1
- package/lib/journal/index.js.map +1 -1
- package/lib/journal/persistent-turn-journal.d.ts +0 -1
- package/lib/journal/persistent-turn-journal.js.map +1 -1
- package/lib/mcp-client/bridge.d.ts +0 -1
- package/lib/mcp-client/bridge.js.map +1 -1
- package/lib/mcp-client/connection.d.ts +0 -1
- package/lib/mcp-client/connection.js.map +1 -1
- package/lib/mcp-client/index.d.ts +0 -1
- package/lib/mcp-client/index.js.map +1 -1
- package/lib/media/deliver-subagent-result.d.ts +0 -1
- package/lib/media/deliver-subagent-result.js +4 -1
- package/lib/media/deliver-subagent-result.js.map +1 -1
- package/lib/media/inbound-refs.d.ts +0 -1
- package/lib/media/inbound-refs.js.map +1 -1
- package/lib/media/index.d.ts +0 -1
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capabilities.d.ts +0 -1
- package/lib/media/media-capabilities.js.map +1 -1
- package/lib/media/media-normalize.d.ts +31 -3
- package/lib/media/media-normalize.js +38 -5
- package/lib/media/media-normalize.js.map +1 -1
- package/lib/media/media-publisher.d.ts +4 -2
- package/lib/media/media-publisher.js +50 -31
- package/lib/media/media-publisher.js.map +1 -1
- package/lib/media/media-router.d.ts +0 -1
- package/lib/media/media-router.js.map +1 -1
- package/lib/media/media-spool.d.ts +0 -1
- package/lib/media/media-spool.js.map +1 -1
- package/lib/media/media-tool-bridge.d.ts +0 -1
- package/lib/media/media-tool-bridge.js.map +1 -1
- package/lib/media/media-types.d.ts +0 -1
- package/lib/media/media-types.js.map +1 -1
- package/lib/media/perception.d.ts +8 -2
- package/lib/media/perception.js +55 -5
- package/lib/media/perception.js.map +1 -1
- package/lib/media/resolve-config.d.ts +0 -1
- package/lib/media/resolve-config.js.map +1 -1
- package/lib/media/subagent-inbound.d.ts +0 -1
- package/lib/media/subagent-inbound.js.map +1 -1
- package/lib/media/subagent-user-delivery.d.ts +0 -1
- package/lib/media/subagent-user-delivery.js.map +1 -1
- package/lib/media/vision-capability.d.ts +0 -1
- package/lib/media/vision-capability.js.map +1 -1
- package/lib/memory/ai-compaction-strategy.d.ts +0 -1
- package/lib/memory/ai-compaction-strategy.js.map +1 -1
- package/lib/memory/compaction-runtime.d.ts +0 -1
- package/lib/memory/compaction-runtime.js.map +1 -1
- package/lib/memory/context-repository-store.d.ts +0 -1
- package/lib/memory/context-repository-store.js.map +1 -1
- package/lib/memory/contracts.d.ts +0 -1
- package/lib/memory/contracts.js.map +1 -1
- package/lib/memory/index.d.ts +0 -1
- package/lib/memory/index.js.map +1 -1
- package/lib/memory/memory-system.d.ts +0 -1
- package/lib/memory/memory-system.js.map +1 -1
- package/lib/memory/memory-write-policy.d.ts +0 -1
- package/lib/memory/memory-write-policy.js.map +1 -1
- package/lib/memory/semantic-recall.d.ts +0 -1
- package/lib/memory/semantic-recall.js.map +1 -1
- package/lib/memory/told-ledger.d.ts +0 -1
- package/lib/memory/told-ledger.js.map +1 -1
- package/lib/memory-layers.d.ts +0 -1
- package/lib/memory-layers.js.map +1 -1
- package/lib/orchestration/five-agent/index.d.ts +0 -1
- package/lib/orchestration/five-agent/index.js.map +1 -1
- package/lib/orchestration/five-agent/prompts.d.ts +0 -1
- package/lib/orchestration/five-agent/prompts.js.map +1 -1
- package/lib/orchestration/five-agent/role-capability-policy.d.ts +0 -1
- package/lib/orchestration/five-agent/role-capability-policy.js.map +1 -1
- package/lib/orchestration/five-agent/roles.d.ts +0 -1
- package/lib/orchestration/five-agent/roles.js.map +1 -1
- package/lib/outbound/agent-output.d.ts +5 -1
- package/lib/outbound/agent-output.js +14 -0
- package/lib/outbound/agent-output.js.map +1 -1
- package/lib/outbound/send-proactive.d.ts +0 -1
- package/lib/outbound/send-proactive.js.map +1 -1
- package/lib/outbound/structured-reply.d.ts +6 -2
- package/lib/outbound/structured-reply.js +85 -14
- package/lib/outbound/structured-reply.js.map +1 -1
- package/lib/plugin-ai-hook-bus.d.ts +0 -1
- package/lib/plugin-ai-hook-bus.js.map +1 -1
- package/lib/plugin-loop-hooks.d.ts +0 -1
- package/lib/plugin-loop-hooks.js.map +1 -1
- package/lib/plugin-runtime/agent-event-bus.d.ts +0 -1
- package/lib/plugin-runtime/agent-event-bus.js.map +1 -1
- package/lib/plugin-runtime/agent-host-port.d.ts +0 -1
- package/lib/plugin-runtime/agent-host-port.js.map +1 -1
- package/lib/plugin-runtime/agent-runtime.d.ts +0 -1
- package/lib/plugin-runtime/agent-runtime.js.map +1 -1
- package/lib/plugin-runtime/agent-trace-runtime.d.ts +0 -1
- package/lib/plugin-runtime/agent-trace-runtime.js.map +1 -1
- package/lib/plugin-runtime/ai-completion.d.ts +11 -43
- package/lib/plugin-runtime/ai-completion.js +28 -10
- package/lib/plugin-runtime/ai-completion.js.map +1 -1
- package/lib/plugin-runtime/capability-ingress.d.ts +0 -1
- package/lib/plugin-runtime/capability-ingress.js.map +1 -1
- package/lib/plugin-runtime/capability-tools.d.ts +0 -1
- package/lib/plugin-runtime/capability-tools.js.map +1 -1
- package/lib/plugin-runtime/decision-runtime.d.ts +0 -1
- package/lib/plugin-runtime/decision-runtime.js.map +1 -1
- package/lib/plugin-runtime/deferred-capability-plan.d.ts +20 -1
- package/lib/plugin-runtime/deferred-capability-plan.js +40 -0
- package/lib/plugin-runtime/deferred-capability-plan.js.map +1 -1
- package/lib/plugin-runtime/file-edit-quote-utils.d.ts +0 -1
- package/lib/plugin-runtime/file-edit-quote-utils.js.map +1 -1
- package/lib/plugin-runtime/file-search-scope.d.ts +0 -1
- package/lib/plugin-runtime/file-search-scope.js.map +1 -1
- package/lib/plugin-runtime/full-agent-turn-engine.d.ts +0 -1
- package/lib/plugin-runtime/full-agent-turn-engine.js +13 -3
- package/lib/plugin-runtime/full-agent-turn-engine.js.map +1 -1
- package/lib/plugin-runtime/host-mcp-projection.d.ts +0 -1
- package/lib/plugin-runtime/host-mcp-projection.js.map +1 -1
- package/lib/plugin-runtime/host-tool-projection.d.ts +0 -1
- package/lib/plugin-runtime/host-tool-projection.js.map +1 -1
- package/lib/plugin-runtime/index.d.ts +0 -1
- package/lib/plugin-runtime/index.js.map +1 -1
- package/lib/plugin-runtime/native-bash-tool.d.ts +0 -1
- package/lib/plugin-runtime/native-bash-tool.js.map +1 -1
- package/lib/plugin-runtime/native-file-tools.d.ts +0 -1
- package/lib/plugin-runtime/native-file-tools.js.map +1 -1
- package/lib/plugin-runtime/native-image-tool.d.ts +0 -1
- package/lib/plugin-runtime/native-image-tool.js.map +1 -1
- package/lib/plugin-runtime/native-interaction-tools.d.ts +0 -1
- package/lib/plugin-runtime/native-interaction-tools.js.map +1 -1
- package/lib/plugin-runtime/native-knowledge-tool.d.ts +0 -1
- package/lib/plugin-runtime/native-knowledge-tool.js.map +1 -1
- package/lib/plugin-runtime/native-semantic-memory-tools.d.ts +0 -1
- package/lib/plugin-runtime/native-semantic-memory-tools.js.map +1 -1
- package/lib/plugin-runtime/native-todo-tools.d.ts +0 -1
- package/lib/plugin-runtime/native-todo-tools.js.map +1 -1
- package/lib/plugin-runtime/native-tool-suite.d.ts +0 -1
- package/lib/plugin-runtime/native-tool-suite.js.map +1 -1
- package/lib/plugin-runtime/native-web-tools.d.ts +0 -1
- package/lib/plugin-runtime/native-web-tools.js.map +1 -1
- package/lib/plugin-runtime/schedule-capability-plan.d.ts +0 -1
- package/lib/plugin-runtime/schedule-capability-plan.js.map +1 -1
- package/lib/plugin-runtime/subagent-turn-capability.d.ts +0 -1
- package/lib/plugin-runtime/subagent-turn-capability.js.map +1 -1
- package/lib/plugin-runtime/turn-intent-resolver.d.ts +0 -1
- package/lib/plugin-runtime/turn-intent-resolver.js.map +1 -1
- package/lib/prompt/assembly.d.ts +0 -1
- package/lib/prompt/assembly.js +2 -2
- package/lib/prompt/assembly.js.map +1 -1
- package/lib/prompt/estimate-tokens.d.ts +0 -1
- package/lib/prompt/estimate-tokens.js.map +1 -1
- package/lib/prompt/git-context.d.ts +0 -1
- package/lib/prompt/git-context.js.map +1 -1
- package/lib/prompt/index.d.ts +0 -1
- package/lib/prompt/index.js.map +1 -1
- package/lib/prompt/model-aware-builder.d.ts +0 -1
- package/lib/prompt/model-aware-builder.js.map +1 -1
- package/lib/prompt/model-prompt-strategy.d.ts +0 -1
- package/lib/prompt/model-prompt-strategy.js.map +1 -1
- package/lib/prompt/prompt-assembly-registry.d.ts +0 -1
- package/lib/prompt/prompt-assembly-registry.js.map +1 -1
- package/lib/prompt/prompt-budget.d.ts +0 -1
- package/lib/prompt/prompt-budget.js.map +1 -1
- package/lib/prompt/prompt-builder.d.ts +0 -1
- package/lib/prompt/prompt-builder.js.map +1 -1
- package/lib/prompt/rules/chat-rules.d.ts +6 -0
- package/lib/prompt/rules/chat-rules.js +20 -0
- package/lib/prompt/rules/chat-rules.js.map +1 -0
- package/lib/prompt/rules/code-references.d.ts +0 -1
- package/lib/prompt/rules/code-references.js.map +1 -1
- package/lib/prompt/rules/critical-rules.d.ts +0 -1
- package/lib/prompt/rules/critical-rules.js +2 -2
- package/lib/prompt/rules/critical-rules.js.map +1 -1
- package/lib/prompt/rules/editing.d.ts +0 -1
- package/lib/prompt/rules/editing.js.map +1 -1
- package/lib/prompt/rules/error-handling.d.ts +0 -1
- package/lib/prompt/rules/error-handling.js.map +1 -1
- package/lib/prompt/rules/index.d.ts +1 -1
- package/lib/prompt/rules/index.js +1 -0
- package/lib/prompt/rules/index.js.map +1 -1
- package/lib/prompt/rules/memory.d.ts +0 -1
- package/lib/prompt/rules/memory.js.map +1 -1
- package/lib/prompt/rules/task-completion.d.ts +0 -1
- package/lib/prompt/rules/task-completion.js.map +1 -1
- package/lib/prompt/rules/workflow-rules.d.ts +0 -1
- package/lib/prompt/rules/workflow-rules.js.map +1 -1
- package/lib/prompt/system-prompt.d.ts +7 -1
- package/lib/prompt/system-prompt.js +31 -12
- package/lib/prompt/system-prompt.js.map +1 -1
- package/lib/prompt/templates.d.ts +0 -1
- package/lib/prompt/templates.js.map +1 -1
- package/lib/prompt/tokens.d.ts +0 -1
- package/lib/prompt/tokens.js.map +1 -1
- package/lib/prompt/turn-prompt-profile.d.ts +0 -1
- package/lib/prompt/turn-prompt-profile.js.map +1 -1
- package/lib/prompt/workspace-prompt.d.ts +0 -1
- package/lib/prompt/workspace-prompt.js.map +1 -1
- package/lib/reserved-tools.d.ts +0 -1
- package/lib/reserved-tools.js.map +1 -1
- package/lib/resource-hub/hook-registry.d.ts +0 -1
- package/lib/resource-hub/hook-registry.js.map +1 -1
- package/lib/resource-hub/index.d.ts +0 -1
- package/lib/resource-hub/index.js.map +1 -1
- package/lib/resource-hub/mcp-lifecycle.d.ts +0 -1
- package/lib/resource-hub/mcp-lifecycle.js.map +1 -1
- package/lib/resource-hub/mcp-registry.d.ts +0 -1
- package/lib/resource-hub/mcp-registry.js.map +1 -1
- package/lib/resource-hub/public-api.d.ts +0 -1
- package/lib/resource-hub/public-api.js.map +1 -1
- package/lib/resource-hub/resolve-subagent-tools.d.ts +0 -1
- package/lib/resource-hub/resolve-subagent-tools.js.map +1 -1
- package/lib/resource-hub/resource-registry.d.ts +0 -1
- package/lib/resource-hub/resource-registry.js.map +1 -1
- package/lib/resource-hub/role-configs.d.ts +0 -1
- package/lib/resource-hub/role-configs.js.map +1 -1
- package/lib/resource-hub/skill-registry.d.ts +0 -1
- package/lib/resource-hub/skill-registry.js.map +1 -1
- package/lib/resource-hub/subagent-registry.d.ts +0 -1
- package/lib/resource-hub/subagent-registry.js.map +1 -1
- package/lib/resource-hub/tool-selection.d.ts +0 -1
- package/lib/resource-hub/tool-selection.js.map +1 -1
- package/lib/resource-hub/types.d.ts +0 -1
- package/lib/resource-hub/types.js.map +1 -1
- package/lib/routing/runtime-binding.d.ts +0 -1
- package/lib/routing/runtime-binding.js.map +1 -1
- package/lib/routing/subagent-summarize.d.ts +0 -1
- package/lib/routing/subagent-summarize.js.map +1 -1
- package/lib/schedule-cron.d.ts +0 -1
- package/lib/schedule-cron.js.map +1 -1
- package/lib/schedule-domain/audit-logger.d.ts +0 -1
- package/lib/schedule-domain/audit-logger.js.map +1 -1
- package/lib/schedule-domain/budget-guard.d.ts +0 -1
- package/lib/schedule-domain/budget-guard.js.map +1 -1
- package/lib/schedule-domain/execution-domain.d.ts +0 -1
- package/lib/schedule-domain/execution-domain.js.map +1 -1
- package/lib/schedule-domain/index.d.ts +0 -1
- package/lib/schedule-domain/index.js.map +1 -1
- package/lib/schedule-domain/output-validator.d.ts +0 -1
- package/lib/schedule-domain/output-validator.js.map +1 -1
- package/lib/schedule-domain/prompt-assembler.d.ts +0 -1
- package/lib/schedule-domain/prompt-assembler.js.map +1 -1
- package/lib/schedule-domain/schedule-execution-queue.d.ts +0 -1
- package/lib/schedule-domain/schedule-execution-queue.js.map +1 -1
- package/lib/schedule-domain/security-harness.d.ts +0 -1
- package/lib/schedule-domain/security-harness.js.map +1 -1
- package/lib/schedule-manager.d.ts +0 -1
- package/lib/schedule-manager.js.map +1 -1
- package/lib/seam/index.d.ts +0 -1
- package/lib/seam/index.js.map +1 -1
- package/lib/seam/seam-integration.d.ts +0 -1
- package/lib/seam/seam-integration.js.map +1 -1
- package/lib/seam/seam-provider.d.ts +0 -1
- package/lib/seam/seam-provider.js.map +1 -1
- package/lib/seam/skill-service.d.ts +0 -1
- package/lib/seam/skill-service.js.map +1 -1
- package/lib/seam/tokens.d.ts +0 -1
- package/lib/seam/tokens.js.map +1 -1
- package/lib/seam/tool-service.d.ts +0 -1
- package/lib/seam/tool-service.js.map +1 -1
- package/lib/security/anomaly-detection.d.ts +0 -1
- package/lib/security/anomaly-detection.js.map +1 -1
- package/lib/security/audit-logger.d.ts +0 -1
- package/lib/security/audit-logger.js.map +1 -1
- package/lib/security/comm-message-context.d.ts +0 -1
- package/lib/security/comm-message-context.js.map +1 -1
- package/lib/security/dangerous-tool-policy.d.ts +0 -1
- package/lib/security/dangerous-tool-policy.js.map +1 -1
- package/lib/security/exec-policy.d.ts +0 -1
- package/lib/security/exec-policy.js.map +1 -1
- package/lib/security/file-policy.d.ts +0 -1
- package/lib/security/file-policy.js.map +1 -1
- package/lib/security/file-role-policy.d.ts +0 -1
- package/lib/security/file-role-policy.js.map +1 -1
- package/lib/security/index.d.ts +0 -1
- package/lib/security/index.js.map +1 -1
- package/lib/security/network-authority.d.ts +0 -1
- package/lib/security/network-authority.js.map +1 -1
- package/lib/security/network-policy-context.d.ts +0 -1
- package/lib/security/network-policy-context.js.map +1 -1
- package/lib/security/network-policy.d.ts +0 -1
- package/lib/security/network-policy.js.map +1 -1
- package/lib/security/outbound-leak-guard.d.ts +0 -1
- package/lib/security/outbound-leak-guard.js.map +1 -1
- package/lib/security/owner-approval-contracts.d.ts +0 -1
- package/lib/security/owner-approval-contracts.js.map +1 -1
- package/lib/security/owner-approval-runtime.d.ts +0 -1
- package/lib/security/owner-approval-runtime.js.map +1 -1
- package/lib/security/owner-approval-store.d.ts +0 -1
- package/lib/security/owner-approval-store.js.map +1 -1
- package/lib/security/policy-facade.d.ts +0 -1
- package/lib/security/policy-facade.js.map +1 -1
- package/lib/security/policy-narrowing.d.ts +0 -1
- package/lib/security/policy-narrowing.js.map +1 -1
- package/lib/security/provenance.d.ts +0 -1
- package/lib/security/provenance.js.map +1 -1
- package/lib/security/sandbox-docker.d.ts +0 -1
- package/lib/security/sandbox-docker.js.map +1 -1
- package/lib/security/sandbox.d.ts +0 -1
- package/lib/security/sandbox.js.map +1 -1
- package/lib/security/trust-level.d.ts +0 -1
- package/lib/security/trust-level.js.map +1 -1
- package/lib/security/turn-file-authority.d.ts +0 -1
- package/lib/security/turn-file-authority.js.map +1 -1
- package/lib/security/turn-network-client.d.ts +0 -1
- package/lib/security/turn-network-client.js.map +1 -1
- package/lib/security/usage-quota.d.ts +3 -7
- package/lib/security/usage-quota.js.map +1 -1
- package/lib/segment/filter-im-delivery.d.ts +0 -1
- package/lib/segment/filter-im-delivery.js.map +1 -1
- package/lib/service.d.ts +0 -1
- package/lib/service.js.map +1 -1
- package/lib/session/approval-port.d.ts +0 -1
- package/lib/session/approval-port.js.map +1 -1
- package/lib/session/approval-review-agent.d.ts +0 -1
- package/lib/session/approval-review-agent.js.map +1 -1
- package/lib/session/branch-summarization-runtime.d.ts +0 -1
- package/lib/session/branch-summarization-runtime.js.map +1 -1
- package/lib/session/contracts.d.ts +0 -1
- package/lib/session/contracts.js.map +1 -1
- package/lib/session/index.d.ts +0 -1
- package/lib/session/index.js.map +1 -1
- package/lib/session/session-io.d.ts +0 -1
- package/lib/session/session-io.js.map +1 -1
- package/lib/session/session-key.d.ts +0 -1
- package/lib/session/session-key.js.map +1 -1
- package/lib/session/session-system.d.ts +7 -1
- package/lib/session/session-system.js +26 -12
- package/lib/session/session-system.js.map +1 -1
- package/lib/session/session-tree-commands.d.ts +0 -1
- package/lib/session/session-tree-commands.js.map +1 -1
- package/lib/session/strategies.d.ts +0 -1
- package/lib/session/strategies.js.map +1 -1
- package/lib/session/turn-ingress-session.d.ts +0 -1
- package/lib/session/turn-ingress-session.js.map +1 -1
- package/lib/session-tree-runtime.d.ts +0 -1
- package/lib/session-tree-runtime.js.map +1 -1
- package/lib/skill/capability-catalog.d.ts +0 -1
- package/lib/skill/capability-catalog.js.map +1 -1
- package/lib/skill/contracts.d.ts +0 -1
- package/lib/skill/contracts.js.map +1 -1
- package/lib/skill/index.d.ts +0 -1
- package/lib/skill/index.js.map +1 -1
- package/lib/skill/progressive-disclosure.d.ts +0 -1
- package/lib/skill/progressive-disclosure.js.map +1 -1
- package/lib/skill/skill-instruction-reader-factory.d.ts +0 -1
- package/lib/skill/skill-instruction-reader-factory.js.map +1 -1
- package/lib/skill/skill-instruction-reader.d.ts +0 -1
- package/lib/skill/skill-instruction-reader.js.map +1 -1
- package/lib/skill/skill-instructions.d.ts +0 -1
- package/lib/skill/skill-instructions.js.map +1 -1
- package/lib/skill/skill-registry-as-service.d.ts +0 -1
- package/lib/skill/skill-registry-as-service.js.map +1 -1
- package/lib/skill/skill-system.d.ts +0 -1
- package/lib/skill/skill-system.js.map +1 -1
- package/lib/spawn/permission-task.d.ts +0 -1
- package/lib/spawn/permission-task.js.map +1 -1
- package/lib/spawn/spawn-task-tool.d.ts +0 -1
- package/lib/spawn/spawn-task-tool.js.map +1 -1
- package/lib/stability/memory-pressure.d.ts +0 -1
- package/lib/stability/memory-pressure.js.map +1 -1
- package/lib/standalone/standalone-tool-catalog.d.ts +0 -1
- package/lib/standalone/standalone-tool-catalog.js.map +1 -1
- package/lib/subagent/contracts.d.ts +0 -1
- package/lib/subagent/contracts.js.map +1 -1
- package/lib/subagent/im-result-sink.d.ts +0 -1
- package/lib/subagent/im-result-sink.js.map +1 -1
- package/lib/subagent/index.d.ts +0 -1
- package/lib/subagent/index.js.map +1 -1
- package/lib/subagent/subagent-runtime.d.ts +0 -1
- package/lib/subagent/subagent-runtime.js.map +1 -1
- package/lib/subagent/subagent-system-init.d.ts +0 -1
- package/lib/subagent/subagent-system-init.js.map +1 -1
- package/lib/subagent/subagent-system.d.ts +0 -1
- package/lib/subagent/subagent-system.js.map +1 -1
- package/lib/subagent-ai-events.d.ts +0 -1
- package/lib/subagent-ai-events.js.map +1 -1
- package/lib/subagent-artifact.d.ts +0 -1
- package/lib/subagent-artifact.js.map +1 -1
- package/lib/subagent-goal-notify.d.ts +0 -1
- package/lib/subagent-goal-notify.js.map +1 -1
- package/lib/subagent-parent-context.d.ts +0 -1
- package/lib/subagent-parent-context.js.map +1 -1
- package/lib/subagent-preset.d.ts +0 -1
- package/lib/subagent-preset.js.map +1 -1
- package/lib/subagent-prompt.d.ts +0 -1
- package/lib/subagent-prompt.js.map +1 -1
- package/lib/task-executor.d.ts +0 -1
- package/lib/task-executor.js.map +1 -1
- package/lib/tool/builtin-policy-extractors.d.ts +0 -1
- package/lib/tool/builtin-policy-extractors.js.map +1 -1
- package/lib/tool/context-tools.d.ts +0 -1
- package/lib/tool/context-tools.js.map +1 -1
- package/lib/tool/contracts.d.ts +0 -1
- package/lib/tool/contracts.js.map +1 -1
- package/lib/tool/conversation-reference-tool.d.ts +0 -1
- package/lib/tool/conversation-reference-tool.js.map +1 -1
- package/lib/tool/deferred-resolution.d.ts +0 -1
- package/lib/tool/deferred-resolution.js.map +1 -1
- package/lib/tool/executable-tool-registry.d.ts +0 -1
- package/lib/tool/executable-tool-registry.js.map +1 -1
- package/lib/tool/index.d.ts +0 -1
- package/lib/tool/index.js.map +1 -1
- package/lib/tool/pre-exec.d.ts +0 -1
- package/lib/tool/pre-exec.js.map +1 -1
- package/lib/tool/prepare-turn-tools.d.ts +0 -1
- package/lib/tool/prepare-turn-tools.js.map +1 -1
- package/lib/tool/runtime.d.ts +0 -1
- package/lib/tool/runtime.js.map +1 -1
- package/lib/tool/sources.d.ts +0 -1
- package/lib/tool/sources.js.map +1 -1
- package/lib/tool/tool-approval-gate.d.ts +0 -1
- package/lib/tool/tool-approval-gate.js.map +1 -1
- package/lib/tool/tool-approval-once-store.d.ts +0 -1
- package/lib/tool/tool-approval-once-store.js.map +1 -1
- package/lib/tool/tool-execution-authority.d.ts +0 -1
- package/lib/tool/tool-execution-authority.js.map +1 -1
- package/lib/tool/tool-model-output.d.ts +0 -1
- package/lib/tool/tool-model-output.js.map +1 -1
- package/lib/tool/tool-runtime.d.ts +0 -1
- package/lib/tool/tool-runtime.js.map +1 -1
- package/lib/tool/tool-system.d.ts +0 -1
- package/lib/tool/tool-system.js.map +1 -1
- package/lib/tool/turn-tool-runtime.d.ts +0 -1
- package/lib/tool/turn-tool-runtime.js.map +1 -1
- package/lib/tool-bridge.d.ts +0 -1
- package/lib/tool-bridge.js.map +1 -1
- package/lib/tool-catalog/deferred-turn-controller.d.ts +0 -1
- package/lib/tool-catalog/deferred-turn-controller.js.map +1 -1
- package/lib/tool-catalog/index.d.ts +0 -1
- package/lib/tool-catalog/index.js.map +1 -1
- package/lib/tool-catalog/resolve-config.d.ts +0 -1
- package/lib/tool-catalog/resolve-config.js.map +1 -1
- package/lib/tool-catalog/session-deferred-store.d.ts +0 -1
- package/lib/tool-catalog/session-deferred-store.js.map +1 -1
- package/lib/tool-catalog/tool-catalog.d.ts +8 -1
- package/lib/tool-catalog/tool-catalog.js +15 -0
- package/lib/tool-catalog/tool-catalog.js.map +1 -1
- package/lib/tool-catalog/types.d.ts +0 -1
- package/lib/tool-catalog/types.js.map +1 -1
- package/lib/trace/context-budget.d.ts +0 -1
- package/lib/trace/context-budget.js.map +1 -1
- package/lib/trace/index.d.ts +0 -1
- package/lib/trace/index.js.map +1 -1
- package/lib/trace/turn-trace-archive.d.ts +0 -1
- package/lib/trace/turn-trace-archive.js.map +1 -1
- package/lib/trace/turn-trace-format.d.ts +0 -1
- package/lib/trace/turn-trace-format.js.map +1 -1
- package/lib/trace/turn-trace-registry.d.ts +0 -1
- package/lib/trace/turn-trace-registry.js.map +1 -1
- package/lib/trace/turn-trace-store.d.ts +0 -1
- package/lib/trace/turn-trace-store.js.map +1 -1
- package/lib/trace/turn-trace.d.ts +0 -1
- package/lib/trace/turn-trace.js.map +1 -1
- package/lib/turn/agent-turn-context.d.ts +0 -1
- package/lib/turn/agent-turn-context.js.map +1 -1
- package/lib/turn/auto-continue.d.ts +0 -1
- package/lib/turn/auto-continue.js.map +1 -1
- package/lib/turn/cancel-intent.d.ts +0 -1
- package/lib/turn/cancel-intent.js.map +1 -1
- package/lib/turn/deferred-auto-continue.d.ts +0 -1
- package/lib/turn/deferred-auto-continue.js.map +1 -1
- package/lib/turn/deferred-delivery.d.ts +0 -1
- package/lib/turn/deferred-delivery.js.map +1 -1
- package/lib/turn/deferred-turn-state.d.ts +0 -1
- package/lib/turn/deferred-turn-state.js.map +1 -1
- package/lib/turn/execute-agent-turn.d.ts +0 -1
- package/lib/turn/execute-agent-turn.js.map +1 -1
- package/lib/turn/inbound-media.d.ts +3 -2
- package/lib/turn/inbound-media.js +15 -2
- package/lib/turn/inbound-media.js.map +1 -1
- package/lib/turn/inbound-queue-config.d.ts +0 -1
- package/lib/turn/inbound-queue-config.js.map +1 -1
- package/lib/turn/inbound-queue-runtime.d.ts +0 -1
- package/lib/turn/inbound-queue-runtime.js.map +1 -1
- package/lib/turn/inbound-turn-queue.d.ts +0 -1
- package/lib/turn/inbound-turn-queue.js.map +1 -1
- package/lib/turn/index.d.ts +0 -1
- package/lib/turn/index.js.map +1 -1
- package/lib/turn/journal-feed.d.ts +0 -1
- package/lib/turn/journal-feed.js.map +1 -1
- package/lib/turn/journal-integrity.d.ts +0 -1
- package/lib/turn/journal-integrity.js.map +1 -1
- package/lib/turn/persist-deferred-context.d.ts +0 -1
- package/lib/turn/persist-deferred-context.js.map +1 -1
- package/lib/turn/persist-subagent-context.d.ts +0 -1
- package/lib/turn/persist-subagent-context.js.map +1 -1
- package/lib/turn/process-stream.d.ts +0 -1
- package/lib/turn/process-stream.js.map +1 -1
- package/lib/turn/prompt-access.d.ts +0 -1
- package/lib/turn/prompt-access.js.map +1 -1
- package/lib/turn/prompt-api.d.ts +0 -1
- package/lib/turn/prompt-api.js.map +1 -1
- package/lib/turn/prompt-controller.d.ts +0 -1
- package/lib/turn/prompt-controller.js.map +1 -1
- package/lib/turn/prompt-input.d.ts +0 -1
- package/lib/turn/prompt-input.js.map +1 -1
- package/lib/turn/session-message-queue.d.ts +0 -1
- package/lib/turn/session-message-queue.js.map +1 -1
- package/lib/turn/subagent-auto-continue.d.ts +0 -1
- package/lib/turn/subagent-auto-continue.js.map +1 -1
- package/lib/turn/task-continuation.d.ts +0 -1
- package/lib/turn/task-continuation.js.map +1 -1
- package/lib/turn/trigger-cancelled-error.d.ts +0 -1
- package/lib/turn/trigger-cancelled-error.js.map +1 -1
- package/lib/turn/turn-admission-gate.d.ts +0 -1
- package/lib/turn/turn-admission-gate.js.map +1 -1
- package/lib/turn/turn-complete.d.ts +0 -1
- package/lib/turn/turn-complete.js.map +1 -1
- package/lib/turn/turn-context-bridge.d.ts +0 -1
- package/lib/turn/turn-context-bridge.js.map +1 -1
- package/lib/turn/turn-deferred-delta.d.ts +0 -1
- package/lib/turn/turn-deferred-delta.js.map +1 -1
- package/lib/turn/turn-event-source.d.ts +0 -1
- package/lib/turn/turn-event-source.js.map +1 -1
- package/lib/turn/turn-ingress.d.ts +3 -1
- package/lib/turn/turn-ingress.js.map +1 -1
- package/lib/turn/turn-metrics.d.ts +0 -1
- package/lib/turn/turn-metrics.js.map +1 -1
- package/lib/turn/turn-pipeline.d.ts +0 -1
- package/lib/turn/turn-pipeline.js.map +1 -1
- package/lib/turn/turn-terminal.d.ts +0 -1
- package/lib/turn/turn-terminal.js.map +1 -1
- package/lib/turn/turn-tracker.d.ts +0 -1
- package/lib/turn/turn-tracker.js.map +1 -1
- package/lib/types/disposable.d.ts +0 -1
- package/lib/types/disposable.js.map +1 -1
- package/lib/typing-indicator/adapter-integration.d.ts +0 -1
- package/lib/typing-indicator/adapter-integration.js.map +1 -1
- package/lib/typing-indicator/index.d.ts +0 -1
- package/lib/typing-indicator/index.js.map +1 -1
- package/lib/user-profile.d.ts +0 -1
- package/lib/user-profile.js.map +1 -1
- package/lib/utils/config-env.d.ts +0 -1
- package/lib/utils/config-env.js.map +1 -1
- package/lib/utils/keyed-mutex.d.ts +0 -1
- package/lib/utils/keyed-mutex.js.map +1 -1
- package/lib/web/bing-search-html.d.ts +0 -1
- package/lib/web/bing-search-html.js.map +1 -1
- package/lib/web/web-search-locale.d.ts +0 -1
- package/lib/web/web-search-locale.js.map +1 -1
- package/lib/web/web-tool-utils.d.ts +0 -1
- package/lib/web/web-tool-utils.js.map +1 -1
- package/lib/zhin-agent/index.d.ts +0 -1
- package/lib/zhin-agent/index.js.map +1 -1
- package/lib/zhin-agent/runtime-modules.d.ts +0 -1
- package/lib/zhin-agent/runtime-modules.js.map +1 -1
- package/package.json +12 -12
- package/lib/activity-feedback/adapter-integration.d.ts.map +0 -1
- package/lib/activity-feedback/config-resolver.d.ts.map +0 -1
- package/lib/activity-feedback/event-context.d.ts.map +0 -1
- package/lib/activity-feedback/index.d.ts.map +0 -1
- package/lib/activity-feedback/manager.d.ts.map +0 -1
- package/lib/activity-feedback/schedule-guard.d.ts.map +0 -1
- package/lib/activity-feedback/subagent-prefix.d.ts.map +0 -1
- package/lib/activity-feedback/turn-event-projector.d.ts.map +0 -1
- package/lib/activity-feedback/types.d.ts.map +0 -1
- package/lib/ai-event-bus.d.ts.map +0 -1
- package/lib/ai-event-contract.d.ts.map +0 -1
- package/lib/ai-event-subscriber.d.ts.map +0 -1
- package/lib/ai-hook-runtime-bus.d.ts.map +0 -1
- package/lib/assistant/bootstrap-assistant-home.d.ts.map +0 -1
- package/lib/assistant/config.d.ts.map +0 -1
- package/lib/assistant/deliver-schedule-to-adapter.d.ts.map +0 -1
- package/lib/assistant/domains/ha-home-backend.d.ts.map +0 -1
- package/lib/assistant/domains/ha-ws-transport.d.ts.map +0 -1
- package/lib/assistant/domains/home-entity.d.ts.map +0 -1
- package/lib/assistant/domains/home-state-watch.d.ts.map +0 -1
- package/lib/assistant/event-ingress.d.ts.map +0 -1
- package/lib/assistant/event-types.d.ts.map +0 -1
- package/lib/assistant/home-config.d.ts.map +0 -1
- package/lib/assistant/home-facade.d.ts.map +0 -1
- package/lib/assistant/home-mcp-bridge.d.ts.map +0 -1
- package/lib/assistant/home-policy.d.ts.map +0 -1
- package/lib/assistant/home-tools.d.ts.map +0 -1
- package/lib/assistant/index.d.ts.map +0 -1
- package/lib/assistant/job-creator.d.ts.map +0 -1
- package/lib/assistant/job-engine.d.ts.map +0 -1
- package/lib/assistant/job-scheduler.d.ts.map +0 -1
- package/lib/assistant/job-store.d.ts.map +0 -1
- package/lib/assistant/job-utils.d.ts.map +0 -1
- package/lib/assistant/job-worker.d.ts.map +0 -1
- package/lib/assistant/notification-router.d.ts.map +0 -1
- package/lib/assistant/profile-loader.d.ts.map +0 -1
- package/lib/assistant/profile-types.d.ts.map +0 -1
- package/lib/assistant/runtime-contract.d.ts.map +0 -1
- package/lib/assistant/schedule-execution.d.ts.map +0 -1
- package/lib/assistant/schedule-job-service.d.ts.map +0 -1
- package/lib/assistant/schedule-skills.d.ts.map +0 -1
- package/lib/assistant/types.d.ts.map +0 -1
- package/lib/authoring/bridge.d.ts.map +0 -1
- package/lib/authoring/define-eval.d.ts.map +0 -1
- package/lib/authoring/define-hook.d.ts.map +0 -1
- package/lib/authoring/define-skill.d.ts.map +0 -1
- package/lib/authoring/disable-tool.d.ts.map +0 -1
- package/lib/authoring/entries/evals.d.ts.map +0 -1
- package/lib/authoring/entries/hooks.d.ts.map +0 -1
- package/lib/authoring/entries/skills.d.ts.map +0 -1
- package/lib/authoring/index.d.ts.map +0 -1
- package/lib/authoring/types.d.ts.map +0 -1
- package/lib/bootstrap.d.ts.map +0 -1
- package/lib/builtins/builtin-tool-service.d.ts.map +0 -1
- package/lib/common-adapter-tools.d.ts.map +0 -1
- package/lib/config/agent-binding-registry.d.ts.map +0 -1
- package/lib/config/agent-bindings.d.ts.map +0 -1
- package/lib/config/agent-interfaces.d.ts.map +0 -1
- package/lib/config/deprecated-agent-binding-keys.d.ts.map +0 -1
- package/lib/config/deprecated-agent-keys.d.ts.map +0 -1
- package/lib/config/fix-ai-config.d.ts.map +0 -1
- package/lib/config/index.d.ts.map +0 -1
- package/lib/config/keyword-triggers.d.ts.map +0 -1
- package/lib/config/model-harness-runtime.d.ts.map +0 -1
- package/lib/config/model-harness.d.ts.map +0 -1
- package/lib/config/normalize-ai-config.d.ts.map +0 -1
- package/lib/config/perception-config.d.ts.map +0 -1
- package/lib/config/provider-instance.d.ts.map +0 -1
- package/lib/config/resolve-five-agent-binding.d.ts.map +0 -1
- package/lib/config/types.d.ts.map +0 -1
- package/lib/config/validate-ai-config.d.ts.map +0 -1
- package/lib/config/zhin-agent-config.d.ts.map +0 -1
- package/lib/config/zhin-agent-constants.d.ts.map +0 -1
- package/lib/config/zhin-agent-defaults.d.ts.map +0 -1
- package/lib/config/zhin-agent-dependencies.d.ts.map +0 -1
- package/lib/config/zhin-agent-runtime.d.ts.map +0 -1
- package/lib/context/agents-instruction.d.ts.map +0 -1
- package/lib/context/context-system.d.ts.map +0 -1
- package/lib/context/context-tail-limit.d.ts.map +0 -1
- package/lib/context/contracts.d.ts.map +0 -1
- package/lib/context/default-builders.d.ts.map +0 -1
- package/lib/context/envelope-parts.d.ts.map +0 -1
- package/lib/context/im-turn-context-adapter.d.ts.map +0 -1
- package/lib/context/index.d.ts.map +0 -1
- package/lib/context/model-resolver.d.ts.map +0 -1
- package/lib/context/turn-envelope.d.ts.map +0 -1
- package/lib/context/turn-user-message.d.ts.map +0 -1
- package/lib/core/agent-core-run.d.ts.map +0 -1
- package/lib/core/agent-core.d.ts.map +0 -1
- package/lib/core/agent-loop-standalone.d.ts.map +0 -1
- package/lib/core/agent-loop-turn.d.ts.map +0 -1
- package/lib/core/agent-run-shared.d.ts.map +0 -1
- package/lib/core/compose-deps.d.ts.map +0 -1
- package/lib/core/contracts.d.ts.map +0 -1
- package/lib/core/exhausted-turn-reply.d.ts.map +0 -1
- package/lib/core/exploration-budget.d.ts.map +0 -1
- package/lib/core/index.d.ts.map +0 -1
- package/lib/core/missing-tool-resolver.d.ts.map +0 -1
- package/lib/core/progress-reporter.d.ts.map +0 -1
- package/lib/core/spawn-delegation.d.ts.map +0 -1
- package/lib/core/structured-reply-recovery.d.ts.map +0 -1
- package/lib/core/text-sanitize.d.ts.map +0 -1
- package/lib/core/tool-calls-user-format.d.ts.map +0 -1
- package/lib/core/tool-execution-authority.d.ts.map +0 -1
- package/lib/core/turn-completion-usage.d.ts.map +0 -1
- package/lib/core/turn-event-mapper.d.ts.map +0 -1
- package/lib/core/turn-progress.d.ts.map +0 -1
- package/lib/create-agent-session.d.ts.map +0 -1
- package/lib/decision/approval-judgment.d.ts.map +0 -1
- package/lib/decision/approval.d.ts.map +0 -1
- package/lib/decision/config.d.ts.map +0 -1
- package/lib/decision/index.d.ts.map +0 -1
- package/lib/decision/rank.d.ts.map +0 -1
- package/lib/decision/retrieval.d.ts.map +0 -1
- package/lib/decision/types.d.ts.map +0 -1
- package/lib/deferred-worker-runner.d.ts.map +0 -1
- package/lib/deferred-worker-tool-load.d.ts.map +0 -1
- package/lib/detached-task/index.d.ts.map +0 -1
- package/lib/detached-task/interjection.d.ts.map +0 -1
- package/lib/detached-task/runner.d.ts.map +0 -1
- package/lib/detached-task/store.d.ts.map +0 -1
- package/lib/detached-task/token.d.ts.map +0 -1
- package/lib/detached-task/types.d.ts.map +0 -1
- package/lib/discovery/agent-surface-info.d.ts.map +0 -1
- package/lib/discovery/agent-surface.d.ts.map +0 -1
- package/lib/discovery/agents.d.ts.map +0 -1
- package/lib/discovery/utils.d.ts.map +0 -1
- package/lib/event/agent-stream-bus.d.ts.map +0 -1
- package/lib/event/agent-stream-hooks.d.ts.map +0 -1
- package/lib/event/ai-event-bus.d.ts.map +0 -1
- package/lib/event/contracts.d.ts.map +0 -1
- package/lib/event/event-emitter.d.ts.map +0 -1
- package/lib/event/event-system.d.ts.map +0 -1
- package/lib/event/filtering-middleware.d.ts.map +0 -1
- package/lib/event/hook-stream-sink.d.ts.map +0 -1
- package/lib/event/index.d.ts.map +0 -1
- package/lib/event/logging-middleware.d.ts.map +0 -1
- package/lib/event/publish-agent-stream.d.ts.map +0 -1
- package/lib/event/session-events.d.ts.map +0 -1
- package/lib/event/turn-event.d.ts.map +0 -1
- package/lib/event/turn-to-agent-stream.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/init/activate-ai-database-storage.d.ts.map +0 -1
- package/lib/init/compose-zhin-agent-runtime.d.ts.map +0 -1
- package/lib/init/configure-zhin-agent.d.ts.map +0 -1
- package/lib/init/define-ai-database-models.d.ts.map +0 -1
- package/lib/init/dispose-zhin-agent.d.ts.map +0 -1
- package/lib/init/introspection-output.d.ts.map +0 -1
- package/lib/init/runtime-management-commands.d.ts.map +0 -1
- package/lib/interaction/index.d.ts.map +0 -1
- package/lib/interaction/interaction-router.d.ts.map +0 -1
- package/lib/internal/agent-host.d.ts.map +0 -1
- package/lib/internal/ai-service-refs.d.ts.map +0 -1
- package/lib/internal/as-private.d.ts.map +0 -1
- package/lib/internal/host-types.d.ts.map +0 -1
- package/lib/internal/phase-trace.d.ts.map +0 -1
- package/lib/internal/prompt-trace.d.ts.map +0 -1
- package/lib/internal/turn-context.d.ts.map +0 -1
- package/lib/journal/file-journal-store.d.ts.map +0 -1
- package/lib/journal/index.d.ts.map +0 -1
- package/lib/journal/persistent-turn-journal.d.ts.map +0 -1
- package/lib/mcp-client/bridge.d.ts.map +0 -1
- package/lib/mcp-client/connection.d.ts.map +0 -1
- package/lib/mcp-client/index.d.ts.map +0 -1
- package/lib/media/deliver-subagent-result.d.ts.map +0 -1
- package/lib/media/inbound-refs.d.ts.map +0 -1
- package/lib/media/index.d.ts.map +0 -1
- package/lib/media/media-capabilities.d.ts.map +0 -1
- package/lib/media/media-normalize.d.ts.map +0 -1
- package/lib/media/media-publisher.d.ts.map +0 -1
- package/lib/media/media-router.d.ts.map +0 -1
- package/lib/media/media-spool.d.ts.map +0 -1
- package/lib/media/media-tool-bridge.d.ts.map +0 -1
- package/lib/media/media-types.d.ts.map +0 -1
- package/lib/media/perception.d.ts.map +0 -1
- package/lib/media/resolve-config.d.ts.map +0 -1
- package/lib/media/subagent-inbound.d.ts.map +0 -1
- package/lib/media/subagent-user-delivery.d.ts.map +0 -1
- package/lib/media/vision-capability.d.ts.map +0 -1
- package/lib/memory/ai-compaction-strategy.d.ts.map +0 -1
- package/lib/memory/compaction-runtime.d.ts.map +0 -1
- package/lib/memory/context-repository-store.d.ts.map +0 -1
- package/lib/memory/contracts.d.ts.map +0 -1
- package/lib/memory/index.d.ts.map +0 -1
- package/lib/memory/memory-system.d.ts.map +0 -1
- package/lib/memory/memory-write-policy.d.ts.map +0 -1
- package/lib/memory/semantic-recall.d.ts.map +0 -1
- package/lib/memory/told-ledger.d.ts.map +0 -1
- package/lib/memory-layers.d.ts.map +0 -1
- package/lib/orchestration/five-agent/index.d.ts.map +0 -1
- package/lib/orchestration/five-agent/prompts.d.ts.map +0 -1
- package/lib/orchestration/five-agent/role-capability-policy.d.ts.map +0 -1
- package/lib/orchestration/five-agent/roles.d.ts.map +0 -1
- package/lib/outbound/agent-output.d.ts.map +0 -1
- package/lib/outbound/send-proactive.d.ts.map +0 -1
- package/lib/outbound/structured-reply.d.ts.map +0 -1
- package/lib/plugin-ai-hook-bus.d.ts.map +0 -1
- package/lib/plugin-loop-hooks.d.ts.map +0 -1
- package/lib/plugin-runtime/agent-event-bus.d.ts.map +0 -1
- package/lib/plugin-runtime/agent-host-port.d.ts.map +0 -1
- package/lib/plugin-runtime/agent-runtime.d.ts.map +0 -1
- package/lib/plugin-runtime/agent-trace-runtime.d.ts.map +0 -1
- package/lib/plugin-runtime/ai-completion.d.ts.map +0 -1
- package/lib/plugin-runtime/capability-ingress.d.ts.map +0 -1
- package/lib/plugin-runtime/capability-tools.d.ts.map +0 -1
- package/lib/plugin-runtime/decision-runtime.d.ts.map +0 -1
- package/lib/plugin-runtime/deferred-capability-plan.d.ts.map +0 -1
- package/lib/plugin-runtime/file-edit-quote-utils.d.ts.map +0 -1
- package/lib/plugin-runtime/file-search-scope.d.ts.map +0 -1
- package/lib/plugin-runtime/full-agent-turn-engine.d.ts.map +0 -1
- package/lib/plugin-runtime/host-mcp-projection.d.ts.map +0 -1
- package/lib/plugin-runtime/host-tool-projection.d.ts.map +0 -1
- package/lib/plugin-runtime/index.d.ts.map +0 -1
- package/lib/plugin-runtime/native-bash-tool.d.ts.map +0 -1
- package/lib/plugin-runtime/native-file-tools.d.ts.map +0 -1
- package/lib/plugin-runtime/native-image-tool.d.ts.map +0 -1
- package/lib/plugin-runtime/native-interaction-tools.d.ts.map +0 -1
- package/lib/plugin-runtime/native-knowledge-tool.d.ts.map +0 -1
- package/lib/plugin-runtime/native-semantic-memory-tools.d.ts.map +0 -1
- package/lib/plugin-runtime/native-todo-tools.d.ts.map +0 -1
- package/lib/plugin-runtime/native-tool-suite.d.ts.map +0 -1
- package/lib/plugin-runtime/native-web-tools.d.ts.map +0 -1
- package/lib/plugin-runtime/schedule-capability-plan.d.ts.map +0 -1
- package/lib/plugin-runtime/subagent-turn-capability.d.ts.map +0 -1
- package/lib/plugin-runtime/turn-intent-resolver.d.ts.map +0 -1
- package/lib/prompt/assembly.d.ts.map +0 -1
- package/lib/prompt/estimate-tokens.d.ts.map +0 -1
- package/lib/prompt/git-context.d.ts.map +0 -1
- package/lib/prompt/index.d.ts.map +0 -1
- package/lib/prompt/model-aware-builder.d.ts.map +0 -1
- package/lib/prompt/model-prompt-strategy.d.ts.map +0 -1
- package/lib/prompt/prompt-assembly-registry.d.ts.map +0 -1
- package/lib/prompt/prompt-budget.d.ts.map +0 -1
- package/lib/prompt/prompt-builder.d.ts.map +0 -1
- package/lib/prompt/rules/code-references.d.ts.map +0 -1
- package/lib/prompt/rules/critical-rules.d.ts.map +0 -1
- package/lib/prompt/rules/editing.d.ts.map +0 -1
- package/lib/prompt/rules/error-handling.d.ts.map +0 -1
- package/lib/prompt/rules/index.d.ts.map +0 -1
- package/lib/prompt/rules/memory.d.ts.map +0 -1
- package/lib/prompt/rules/task-completion.d.ts.map +0 -1
- package/lib/prompt/rules/workflow-rules.d.ts.map +0 -1
- package/lib/prompt/system-prompt.d.ts.map +0 -1
- package/lib/prompt/templates.d.ts.map +0 -1
- package/lib/prompt/tokens.d.ts.map +0 -1
- package/lib/prompt/turn-prompt-profile.d.ts.map +0 -1
- package/lib/prompt/workspace-prompt.d.ts.map +0 -1
- package/lib/reserved-tools.d.ts.map +0 -1
- package/lib/resource-hub/hook-registry.d.ts.map +0 -1
- package/lib/resource-hub/index.d.ts.map +0 -1
- package/lib/resource-hub/mcp-lifecycle.d.ts.map +0 -1
- package/lib/resource-hub/mcp-registry.d.ts.map +0 -1
- package/lib/resource-hub/public-api.d.ts.map +0 -1
- package/lib/resource-hub/resolve-subagent-tools.d.ts.map +0 -1
- package/lib/resource-hub/resource-registry.d.ts.map +0 -1
- package/lib/resource-hub/role-configs.d.ts.map +0 -1
- package/lib/resource-hub/skill-registry.d.ts.map +0 -1
- package/lib/resource-hub/subagent-registry.d.ts.map +0 -1
- package/lib/resource-hub/tool-selection.d.ts.map +0 -1
- package/lib/resource-hub/types.d.ts.map +0 -1
- package/lib/routing/runtime-binding.d.ts.map +0 -1
- package/lib/routing/subagent-summarize.d.ts.map +0 -1
- package/lib/schedule-cron.d.ts.map +0 -1
- package/lib/schedule-domain/audit-logger.d.ts.map +0 -1
- package/lib/schedule-domain/budget-guard.d.ts.map +0 -1
- package/lib/schedule-domain/execution-domain.d.ts.map +0 -1
- package/lib/schedule-domain/index.d.ts.map +0 -1
- package/lib/schedule-domain/output-validator.d.ts.map +0 -1
- package/lib/schedule-domain/prompt-assembler.d.ts.map +0 -1
- package/lib/schedule-domain/schedule-execution-queue.d.ts.map +0 -1
- package/lib/schedule-domain/security-harness.d.ts.map +0 -1
- package/lib/schedule-manager.d.ts.map +0 -1
- package/lib/seam/index.d.ts.map +0 -1
- package/lib/seam/seam-integration.d.ts.map +0 -1
- package/lib/seam/seam-provider.d.ts.map +0 -1
- package/lib/seam/skill-service.d.ts.map +0 -1
- package/lib/seam/tokens.d.ts.map +0 -1
- package/lib/seam/tool-service.d.ts.map +0 -1
- package/lib/security/anomaly-detection.d.ts.map +0 -1
- package/lib/security/audit-logger.d.ts.map +0 -1
- package/lib/security/comm-message-context.d.ts.map +0 -1
- package/lib/security/dangerous-tool-policy.d.ts.map +0 -1
- package/lib/security/exec-policy.d.ts.map +0 -1
- package/lib/security/file-policy.d.ts.map +0 -1
- package/lib/security/file-role-policy.d.ts.map +0 -1
- package/lib/security/index.d.ts.map +0 -1
- package/lib/security/network-authority.d.ts.map +0 -1
- package/lib/security/network-policy-context.d.ts.map +0 -1
- package/lib/security/network-policy.d.ts.map +0 -1
- package/lib/security/outbound-leak-guard.d.ts.map +0 -1
- package/lib/security/owner-approval-contracts.d.ts.map +0 -1
- package/lib/security/owner-approval-runtime.d.ts.map +0 -1
- package/lib/security/owner-approval-store.d.ts.map +0 -1
- package/lib/security/policy-facade.d.ts.map +0 -1
- package/lib/security/policy-narrowing.d.ts.map +0 -1
- package/lib/security/provenance.d.ts.map +0 -1
- package/lib/security/sandbox-docker.d.ts.map +0 -1
- package/lib/security/sandbox.d.ts.map +0 -1
- package/lib/security/trust-level.d.ts.map +0 -1
- package/lib/security/turn-file-authority.d.ts.map +0 -1
- package/lib/security/turn-network-client.d.ts.map +0 -1
- package/lib/security/usage-quota.d.ts.map +0 -1
- package/lib/segment/filter-im-delivery.d.ts.map +0 -1
- package/lib/service.d.ts.map +0 -1
- package/lib/session/approval-port.d.ts.map +0 -1
- package/lib/session/approval-review-agent.d.ts.map +0 -1
- package/lib/session/branch-summarization-runtime.d.ts.map +0 -1
- package/lib/session/contracts.d.ts.map +0 -1
- package/lib/session/index.d.ts.map +0 -1
- package/lib/session/session-io.d.ts.map +0 -1
- package/lib/session/session-key.d.ts.map +0 -1
- package/lib/session/session-system.d.ts.map +0 -1
- package/lib/session/session-tree-commands.d.ts.map +0 -1
- package/lib/session/strategies.d.ts.map +0 -1
- package/lib/session/turn-ingress-session.d.ts.map +0 -1
- package/lib/session-tree-runtime.d.ts.map +0 -1
- package/lib/skill/capability-catalog.d.ts.map +0 -1
- package/lib/skill/contracts.d.ts.map +0 -1
- package/lib/skill/index.d.ts.map +0 -1
- package/lib/skill/progressive-disclosure.d.ts.map +0 -1
- package/lib/skill/skill-instruction-reader-factory.d.ts.map +0 -1
- package/lib/skill/skill-instruction-reader.d.ts.map +0 -1
- package/lib/skill/skill-instructions.d.ts.map +0 -1
- package/lib/skill/skill-registry-as-service.d.ts.map +0 -1
- package/lib/skill/skill-system.d.ts.map +0 -1
- package/lib/spawn/permission-task.d.ts.map +0 -1
- package/lib/spawn/spawn-task-tool.d.ts.map +0 -1
- package/lib/stability/memory-pressure.d.ts.map +0 -1
- package/lib/standalone/standalone-tool-catalog.d.ts.map +0 -1
- package/lib/subagent/contracts.d.ts.map +0 -1
- package/lib/subagent/im-result-sink.d.ts.map +0 -1
- package/lib/subagent/index.d.ts.map +0 -1
- package/lib/subagent/subagent-runtime.d.ts.map +0 -1
- package/lib/subagent/subagent-system-init.d.ts.map +0 -1
- package/lib/subagent/subagent-system.d.ts.map +0 -1
- package/lib/subagent-ai-events.d.ts.map +0 -1
- package/lib/subagent-artifact.d.ts.map +0 -1
- package/lib/subagent-goal-notify.d.ts.map +0 -1
- package/lib/subagent-parent-context.d.ts.map +0 -1
- package/lib/subagent-preset.d.ts.map +0 -1
- package/lib/subagent-prompt.d.ts.map +0 -1
- package/lib/task-executor.d.ts.map +0 -1
- package/lib/tool/builtin-policy-extractors.d.ts.map +0 -1
- package/lib/tool/context-tools.d.ts.map +0 -1
- package/lib/tool/contracts.d.ts.map +0 -1
- package/lib/tool/conversation-reference-tool.d.ts.map +0 -1
- package/lib/tool/deferred-resolution.d.ts.map +0 -1
- package/lib/tool/executable-tool-registry.d.ts.map +0 -1
- package/lib/tool/index.d.ts.map +0 -1
- package/lib/tool/pre-exec.d.ts.map +0 -1
- package/lib/tool/prepare-turn-tools.d.ts.map +0 -1
- package/lib/tool/runtime.d.ts.map +0 -1
- package/lib/tool/sources.d.ts.map +0 -1
- package/lib/tool/tool-approval-gate.d.ts.map +0 -1
- package/lib/tool/tool-approval-once-store.d.ts.map +0 -1
- package/lib/tool/tool-execution-authority.d.ts.map +0 -1
- package/lib/tool/tool-model-output.d.ts.map +0 -1
- package/lib/tool/tool-runtime.d.ts.map +0 -1
- package/lib/tool/tool-system.d.ts.map +0 -1
- package/lib/tool/turn-tool-runtime.d.ts.map +0 -1
- package/lib/tool-bridge.d.ts.map +0 -1
- package/lib/tool-catalog/deferred-turn-controller.d.ts.map +0 -1
- package/lib/tool-catalog/index.d.ts.map +0 -1
- package/lib/tool-catalog/resolve-config.d.ts.map +0 -1
- package/lib/tool-catalog/session-deferred-store.d.ts.map +0 -1
- package/lib/tool-catalog/tool-catalog.d.ts.map +0 -1
- package/lib/tool-catalog/types.d.ts.map +0 -1
- package/lib/trace/context-budget.d.ts.map +0 -1
- package/lib/trace/index.d.ts.map +0 -1
- package/lib/trace/turn-trace-archive.d.ts.map +0 -1
- package/lib/trace/turn-trace-format.d.ts.map +0 -1
- package/lib/trace/turn-trace-registry.d.ts.map +0 -1
- package/lib/trace/turn-trace-store.d.ts.map +0 -1
- package/lib/trace/turn-trace.d.ts.map +0 -1
- package/lib/turn/agent-turn-context.d.ts.map +0 -1
- package/lib/turn/auto-continue.d.ts.map +0 -1
- package/lib/turn/cancel-intent.d.ts.map +0 -1
- package/lib/turn/deferred-auto-continue.d.ts.map +0 -1
- package/lib/turn/deferred-delivery.d.ts.map +0 -1
- package/lib/turn/deferred-turn-state.d.ts.map +0 -1
- package/lib/turn/execute-agent-turn.d.ts.map +0 -1
- package/lib/turn/inbound-media.d.ts.map +0 -1
- package/lib/turn/inbound-queue-config.d.ts.map +0 -1
- package/lib/turn/inbound-queue-runtime.d.ts.map +0 -1
- package/lib/turn/inbound-turn-queue.d.ts.map +0 -1
- package/lib/turn/index.d.ts.map +0 -1
- package/lib/turn/journal-feed.d.ts.map +0 -1
- package/lib/turn/journal-integrity.d.ts.map +0 -1
- package/lib/turn/persist-deferred-context.d.ts.map +0 -1
- package/lib/turn/persist-subagent-context.d.ts.map +0 -1
- package/lib/turn/process-stream.d.ts.map +0 -1
- package/lib/turn/prompt-access.d.ts.map +0 -1
- package/lib/turn/prompt-api.d.ts.map +0 -1
- package/lib/turn/prompt-controller.d.ts.map +0 -1
- package/lib/turn/prompt-input.d.ts.map +0 -1
- package/lib/turn/session-message-queue.d.ts.map +0 -1
- package/lib/turn/subagent-auto-continue.d.ts.map +0 -1
- package/lib/turn/task-continuation.d.ts.map +0 -1
- package/lib/turn/trigger-cancelled-error.d.ts.map +0 -1
- package/lib/turn/turn-admission-gate.d.ts.map +0 -1
- package/lib/turn/turn-complete.d.ts.map +0 -1
- package/lib/turn/turn-context-bridge.d.ts.map +0 -1
- package/lib/turn/turn-deferred-delta.d.ts.map +0 -1
- package/lib/turn/turn-event-source.d.ts.map +0 -1
- package/lib/turn/turn-ingress.d.ts.map +0 -1
- package/lib/turn/turn-metrics.d.ts.map +0 -1
- package/lib/turn/turn-pipeline.d.ts.map +0 -1
- package/lib/turn/turn-terminal.d.ts.map +0 -1
- package/lib/turn/turn-tracker.d.ts.map +0 -1
- package/lib/types/disposable.d.ts.map +0 -1
- package/lib/typing-indicator/adapter-integration.d.ts.map +0 -1
- package/lib/typing-indicator/index.d.ts.map +0 -1
- package/lib/user-profile.d.ts.map +0 -1
- package/lib/utils/config-env.d.ts.map +0 -1
- package/lib/utils/keyed-mutex.d.ts.map +0 -1
- package/lib/web/bing-search-html.d.ts.map +0 -1
- package/lib/web/web-search-locale.d.ts.map +0 -1
- package/lib/web/web-tool-utils.d.ts.map +0 -1
- package/lib/zhin-agent/index.d.ts.map +0 -1
- package/lib/zhin-agent/runtime-modules.d.ts.map +0 -1
|
@@ -28,4 +28,3 @@ export type RuntimeManagementDeps = {
|
|
|
28
28
|
* 若 `content` 是管理命令则返回回复文案;否则 `null`(交回 AI / 其它处理)。
|
|
29
29
|
*/
|
|
30
30
|
export declare function handleRuntimeManagementCommand(deps: RuntimeManagementDeps): Promise<string | null>;
|
|
31
|
-
//# sourceMappingURL=runtime-management-commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-management-commands.js","sourceRoot":"","sources":["../../src/init/runtime-management-commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-management-commands.js","sourceRoot":"","sources":["../../src/init/runtime-management-commands.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Plugin Runtime 管理命令面。\n *\n * 由 Agent Host 在 unmatched route 前拦截,不进入普通 Agent turn。\n */\nimport type { AIService } from '../service.js';\nimport { asPrivate } from '../internal/as-private.js';\nimport {\n jumpSessionTree,\n listSessionTree,\n} from '../session/session-tree-commands.js';\nimport type { ZhinAgent } from '../zhin-agent/index.js';\nimport type { SemanticMemoryRuntime } from '../plugin-runtime/native-semantic-memory-tools.js';\n\nexport type RuntimeManagementSenderRoles = {\n readonly isMaster: boolean;\n readonly isTrusted: boolean;\n};\n\nexport type RuntimeManagementDeps = {\n readonly service: AIService;\n readonly zhinAgent: ZhinAgent;\n readonly sessionKey: string;\n readonly content: string;\n readonly senderRoles: RuntimeManagementSenderRoles;\n /**\n * Enables `/memory` and `/forget` (#734): anyone can view or forget the\n * semantic memory stored about themselves (their own `user` scope). Without\n * it these commands pass through.\n */\n readonly semanticMemory?: SemanticMemoryRuntime | null;\n readonly senderId?: string;\n};\n\nconst MEMORY_LIST_LIMIT = 20;\n\nfunction denyOperator(): string {\n return '⚠️ 仅 master / trusted 可使用此管理指令。';\n}\n\nfunction parseLeadingInt(rest: string): number | undefined {\n const n = Number.parseInt(rest.trim(), 10);\n return Number.isFinite(n) && n >= 1 ? n : undefined;\n}\n\n/**\n * 若 `content` 是管理命令则返回回复文案;否则 `null`(交回 AI / 其它处理)。\n */\nexport async function handleRuntimeManagementCommand(\n deps: RuntimeManagementDeps,\n): Promise<string | null> {\n const text = deps.content.trim();\n if (!text) return null;\n\n const isOperator = deps.senderRoles.isMaster || deps.senderRoles.isTrusted;\n const agent = asPrivate(deps.zhinAgent);\n\n if (/^\\/models\\s*$/iu.test(text)) {\n if (!isOperator) return denyOperator();\n const models = await deps.service.listModels();\n let r = '🤖 可用模型:\\n';\n for (const { provider, models: ml } of models) {\n r += `\\n【${provider}】\\n` + ml.slice(0, 5).map((m) => ` • ${m}`).join('\\n');\n if (ml.length > 5) r += `\\n ... 还有 ${ml.length - 5} 个`;\n }\n return r;\n }\n\n if (/^\\/tree\\s*$/iu.test(text)) {\n if (!isOperator) return denyOperator();\n return listSessionTree(agent, deps.sessionKey);\n }\n\n const treeJump = text.match(/^\\/tree\\s+(\\d+)\\s*$/iu);\n if (treeJump) {\n if (!isOperator) return denyOperator();\n const n = parseLeadingInt(treeJump[1] ?? '');\n if (n == null) return 'ℹ️ 用法:/tree 2';\n return jumpSessionTree(agent, deps.sessionKey, n);\n }\n\n const fork = text.match(/^\\/fork\\s+(\\d+)\\s*$/iu);\n if (fork) {\n if (!isOperator) return denyOperator();\n const n = parseLeadingInt(fork[1] ?? '');\n if (n == null) return 'ℹ️ 用法:/fork 2';\n return jumpSessionTree(agent, deps.sessionKey, n);\n }\n\n if (/^\\/compact\\s*$/iu.test(text)) {\n if (!isOperator) return denyOperator();\n const result = await deps.zhinAgent.compactSession(deps.sessionKey);\n return result.ok ? `✅ ${result.message}` : `ℹ️ ${result.message}`;\n }\n\n if (/^\\/reset\\s*$/iu.test(text)) {\n if (!isOperator) return denyOperator();\n const ok = await deps.zhinAgent.archiveSession(deps.sessionKey);\n return ok ? '✅ 已归档当前会话,下次 @ 将使用新上下文' : 'ℹ️ 无活跃会话可归档';\n }\n\n const memoryReply = await handleOwnMemoryCommand(deps, text);\n if (memoryReply != null) return memoryReply;\n\n if (/^ai\\.health\\s*$/iu.test(text)) {\n if (!isOperator) return denyOperator();\n const health = await deps.service.healthCheck();\n return ['🏥 AI 服务健康状态:'].concat(\n Object.entries(health).map(([p, ok]) => ` ${ok ? '✅' : '❌'} ${p}`),\n ).join('\\n');\n }\n\n return null;\n}\n\n/** `/memory` lists and `/forget <key|id|all>` deletes the sender's own user-scope memory. */\nasync function handleOwnMemoryCommand(deps: RuntimeManagementDeps, text: string): Promise<string | null> {\n const runtime = deps.semanticMemory;\n const isList = /^\\/memory\\s*$/iu.test(text);\n // Prefix test plus slice (no backtracking regex over user input).\n const isForget = /^\\/forget(?:\\s|$)/iu.test(text);\n if (!isList && !isForget) return null;\n if (!runtime?.active || !deps.senderId) return null;\n const signal = new AbortController().signal;\n const scope = { scope: 'user' as const, scope_key: deps.senderId };\n\n if (isList) {\n const entries = await runtime.list({ ...scope, limit: MEMORY_LIST_LIMIT }, signal);\n if (entries.length === 0) return 'ℹ️ 目前没有关于你的记忆。';\n return [`🧠 关于你的记忆(${entries.length} 条):`]\n .concat(entries.map((entry, index) => `${index + 1}. ${entry.key}: ${entry.content} [id ${entry.id}]`))\n .concat('发送 /forget <key 或 id> 遗忘一条,/forget all 全部遗忘。')\n .join('\\n');\n }\n\n const target = text.slice('/forget'.length).trim();\n if (!target) return 'ℹ️ 用法:/forget <key 或 id>,或 /forget all';\n const entries = await runtime.list({ ...scope, limit: Number.MAX_SAFE_INTEGER }, signal);\n const matches = target.toLowerCase() === 'all'\n ? entries\n : entries.filter((entry) => entry.id === target || entry.key === target);\n if (matches.length === 0) return `ℹ️ 没有找到关于你的记忆 \"${target}\"。`;\n for (const entry of matches) await runtime.delete(entry.id, signal);\n return `✅ 已遗忘 ${matches.length} 条关于你的记忆。`;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interaction/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interaction/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC","sourcesContent":["export * from './interaction-router.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction-router.js","sourceRoot":"","sources":["../../src/interaction/interaction-router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interaction-router.js","sourceRoot":"","sources":["../../src/interaction/interaction-router.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n ToolQuestionAnswer,\n ToolQuestionRequest,\n} from '@zhin.js/tool';\n\nexport interface InteractionAddress {\n readonly sessionKey: string;\n readonly subjectId: string;\n}\n\nexport interface InteractionReply extends InteractionAddress {\n readonly text: string;\n /** Delivery authority bound to the message currently being consumed. */\n readonly deliver?: InteractionDelivery;\n}\n\nexport type InteractionDelivery = (text: string) => void | Promise<void>;\n\ninterface PendingQuestion {\n readonly address: InteractionAddress;\n readonly request: ToolQuestionRequest;\n readonly resolve: (answer: ToolQuestionAnswer) => void;\n readonly reject: (error: unknown) => void;\n readonly timer: ReturnType<typeof setTimeout>;\n readonly onAbort: () => void;\n}\n\n/** Root-owned authority for one pending question per canonical session. */\nexport class InteractionRouter {\n readonly #pending = new Map<string, PendingQuestion>();\n #closed = false;\n\n async ask(\n address: InteractionAddress,\n request: ToolQuestionRequest,\n deliver: InteractionDelivery,\n ): Promise<ToolQuestionAnswer> {\n this.#assertAddress(address);\n if (this.#closed) throw new Error('InteractionRouter is closed');\n if (request.signal.aborted) throw request.signal.reason;\n if (this.#pending.has(address.sessionKey)) {\n throw new Error(`A question is already pending for session ${address.sessionKey}`);\n }\n validateRequest(request);\n\n return new Promise<ToolQuestionAnswer>((resolve, reject) => {\n const timeoutMs = boundedTimeout(request.timeoutMs);\n const onAbort = () => this.#settle(address.sessionKey, undefined, request.signal.reason);\n const timer = setTimeout(() => {\n const fallback = defaultAnswer(request);\n if (fallback) this.#settle(address.sessionKey, fallback);\n else this.#settle(address.sessionKey, undefined, new Error('Question timed out'));\n }, timeoutMs);\n const pending: PendingQuestion = {\n address: Object.freeze({ ...address }),\n request,\n resolve,\n reject,\n timer,\n onAbort,\n };\n this.#pending.set(address.sessionKey, pending);\n request.signal.addEventListener('abort', onAbort, { once: true });\n void Promise.resolve(deliver(formatQuestion(request))).catch((error) => {\n this.#settle(address.sessionKey, undefined, error);\n });\n });\n }\n\n async consume(reply: InteractionReply): Promise<boolean> {\n const pending = this.#pending.get(reply.sessionKey);\n if (!pending || pending.address.subjectId !== reply.subjectId) return false;\n const answer = parseAnswer(pending.request, reply.text);\n if (!answer) {\n const deliver = reply.deliver;\n if (!deliver) {\n const error = new Error('Invalid interaction reply requires current delivery authority');\n this.#settle(reply.sessionKey, undefined, error);\n throw error;\n }\n try {\n await deliver(validationMessage(pending.request));\n } catch (error) {\n this.#settle(reply.sessionKey, undefined, error);\n throw error;\n }\n return true;\n }\n this.#settle(reply.sessionKey, answer);\n return true;\n }\n\n close(reason: unknown = new Error('InteractionRouter closed')): void {\n if (this.#closed) return;\n this.#closed = true;\n for (const sessionKey of [...this.#pending.keys()]) this.#settle(sessionKey, undefined, reason);\n }\n\n get pendingCount(): number {\n return this.#pending.size;\n }\n\n #settle(sessionKey: string, answer?: ToolQuestionAnswer, error?: unknown): void {\n const pending = this.#pending.get(sessionKey);\n if (!pending) return;\n this.#pending.delete(sessionKey);\n clearTimeout(pending.timer);\n pending.request.signal.removeEventListener('abort', pending.onAbort);\n if (answer) pending.resolve(answer);\n else pending.reject(error ?? new Error('Question cancelled'));\n }\n\n #assertAddress(address: InteractionAddress): void {\n if (!address.sessionKey.trim() || !address.subjectId.trim()) {\n throw new TypeError('Interaction address requires sessionKey and subjectId');\n }\n }\n}\n\nfunction validateRequest(request: ToolQuestionRequest): void {\n if (!request.requestId.trim() || !request.question.trim()) throw new TypeError('Question identity and text are required');\n if (request.type === 'pick' && (!request.options || request.options.length < 2)) {\n throw new TypeError('Pick question requires at least two options');\n }\n}\n\nfunction parseAnswer(request: ToolQuestionRequest, raw: string): ToolQuestionAnswer | undefined {\n const value = raw.trim();\n if (!value) return undefined;\n if (request.type === 'text') return Object.freeze({ type: 'text', value });\n if (request.type === 'number') {\n const number = Number(value);\n return Number.isFinite(number) ? Object.freeze({ type: 'number', value: number }) : undefined;\n }\n if (request.type === 'confirm') {\n if (/^(?:y|yes|true|1|是|确认|同意)$/i.test(value)) return Object.freeze({ type: 'confirm', value: true });\n if (/^(?:n|no|false|0|否|取消|拒绝)$/i.test(value)) return Object.freeze({ type: 'confirm', value: false });\n return undefined;\n }\n const options = request.options ?? [];\n const numeric = Number(value);\n const index = Number.isInteger(numeric) ? numeric - 1 : options.findIndex((option) => option === value);\n return index >= 0 && index < options.length\n ? Object.freeze({ type: 'pick', value: options[index]!, index })\n : undefined;\n}\n\nfunction defaultAnswer(request: ToolQuestionRequest): ToolQuestionAnswer | undefined {\n return request.defaultValue === undefined ? undefined : parseAnswer(request, request.defaultValue);\n}\n\nfunction formatQuestion(request: ToolQuestionRequest): string {\n const options = request.type === 'pick'\n ? `\\n${(request.options ?? []).map((option, index) => `${index + 1}. ${option}`).join('\\n')}`\n : request.type === 'confirm' ? '\\n请回复 yes/no。' : '';\n return `${request.question}${options}`;\n}\n\nfunction validationMessage(request: ToolQuestionRequest): string {\n if (request.type === 'number') return '请输入有效数字。';\n if (request.type === 'confirm') return '请回复 yes 或 no。';\n if (request.type === 'pick') return `请选择 1-${request.options?.length ?? 0}。`;\n return '请输入非空回答。';\n}\n\nfunction boundedTimeout(timeoutMs: number | undefined): number {\n if (timeoutMs === undefined) return 120_000;\n return Math.max(1_000, Math.min(300_000, Math.floor(timeoutMs)));\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-host.js","sourceRoot":"","sources":["../../src/internal/agent-host.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"agent-host.js","sourceRoot":"","sources":["../../src/internal/agent-host.ts"],"names":[],"mappings":"","sourcesContent":["import type { AgentOutputElement } from '../outbound/agent-output.js';\nimport type { SemanticMemoryRuntime } from '../plugin-runtime/native-semantic-memory-tools.js';\n/**\n * ZhinAgent 运行时 host 契约 — 供 ideal 模块引用,避免依赖 zhin-agent 门面实现。\n * 成员按域拆为窄接口,ZhinAgentPrivate 组合之;消费方优先用窄接口形参。\n */\nimport type { AIProvider, Usage, AgentSessionRepository, ContextRepository, RateLimiter, ModelRegistry, LlmApiRuntime } from '@zhin.js/ai';\nimport type { Tool, Message } from '../resource-hub/types.js';\nimport type { SkillRegistry } from '../resource-hub/skill-registry.js';\nimport type { SkillSystem } from '../skill/skill-system.js';\nimport type { AgentResourceHub } from '../resource-hub/index.js';\nimport type { SubagentSystem } from '../subagent/index.js';\nimport type { UserProfileStore } from '../user-profile.js';\nimport type { AgentCore } from '../core/agent-core.js';\nimport type { ToolSystem } from '../tool/tool-system.js';\nimport type { ContextSystem } from '../context/context-system.js';\nimport type { SessionSystem } from '../session/session-system.js';\nimport type { ApprovalPort } from '../session/approval-port.js';\nimport type { ResolvedAgentBinding } from '../config/types.js';\nimport type { RegisteredAgentTool } from '../tool/contracts.js';\nimport type { DeferredTurnState } from '../turn/deferred-turn-state.js';\nimport type { AgentCompactionRuntime } from '../memory/compaction-runtime.js';\nimport type { SessionToldLedger } from '../memory/told-ledger.js';\nimport type { OwnerApprovalRuntime } from '../security/owner-approval-runtime.js';\nimport type { SessionCompactInfo } from '../event/session-events.js';\nimport type { AudioTranscriptionPort } from '../media/media-types.js';\nimport type { MediaPerceptionPort } from '../media/perception.js';\nimport type {\n HostEventEmitter,\n HostPhaseTraceConfig,\n HostPromptController,\n HostPromptTraceConfig,\n HostTurnMetrics,\n HostTurnTracker,\n OnChunkCallback,\n RequiredHostConfig,\n} from './host-types.js';\n\n/** session 域:会话/上下文存储与会话事件。 */\nexport interface AgentSessionHost {\n agentSessionStore: AgentSessionRepository;\n contextRepository: ContextRepository;\n sessionSystem: SessionSystem | null;\n readonly compactionRuntime: AgentCompactionRuntime;\n /** Conclusions and commitments already sent to the user, per session (#730). Optional for custom hosts. */\n readonly toldLedger?: SessionToldLedger;\n /** Active semantic memory for per-turn recall (#734). Optional for custom hosts. */\n semanticMemory?: SemanticMemoryRuntime | null;\n readonly ownerApprovals: OwnerApprovalRuntime;\n waitForMemoryPersistence(): Promise<void>;\n emitSessionNewEvent(\n sessionId: string,\n commMessage: Message,\n mode: 'text' | 'multimodal',\n content: string,\n reply: string,\n ): void;\n emitSessionCompactEvent(\n sessionId: string,\n commMessage: Message,\n mode: 'text' | 'multimodal',\n info: SessionCompactInfo,\n ): void;\n}\n\n/** context 域:提示词与上下文装配。 */\nexport interface AgentContextHost {\n contextSystem: ContextSystem | null;\n bootstrapContext: string;\n globalContext: string;\n skillsSummaryXML: string;\n getTurnActiveSkills(): string;\n getAlwaysSkillsBaseline(): string;\n appendActiveSkillsContext(fragment: string): void;\n buildDisciplinedPrompt(basePrompt: string): string;\n}\n\n/** turn 生命周期域:调度、指标、追踪与 turn ALS。 */\nexport interface AgentTurnLifecycleHost {\n readonly promptController: HostPromptController;\n readonly phaseConfig: HostPhaseTraceConfig;\n readonly promptTraceConfig: HostPromptTraceConfig;\n readonly rateLimiter: RateLimiter;\n /** Per-user / per-group token quotas and group rate limit (#727). */\n readonly usageQuota: import('../security/usage-quota.js').UsageQuota;\n beginActiveTurn(): void;\n finalizeActiveTurn(\n partial: Omit<HostTurnMetrics, 'usage' | 'mainUsage' | 'subagentUsage'> & { usage: Usage },\n ): Promise<void>;\n getActiveTurnTracker(): HostTurnTracker | undefined;\n runInTurnContext<T>(turnId: string, fn: () => Promise<T>): Promise<T>;\n}\n\n/** emitter 域:事件派发。 */\nexport interface AgentEmitterHost {\n readonly emitter: HostEventEmitter;\n}\n\nexport interface ZhinAgentPrivate\n extends AgentSessionHost, AgentContextHost, AgentTurnLifecycleHost, AgentEmitterHost {\n config: RequiredHostConfig;\n activeBinding: ResolvedAgentBinding | null;\n llmRuntime: LlmApiRuntime;\n audioTranscriber?: AudioTranscriptionPort;\n /** `ai.multimodal.perception` pre-pass; absent when not configured. */\n mediaPerception?: MediaPerceptionPort;\n getTurnProvider(): AIProvider;\n skillRegistry: SkillRegistry | null;\n skillSystem: SkillSystem | null;\n resourceHub: AgentResourceHub | null;\n agentCore: AgentCore | null;\n toolSystem: ToolSystem | null;\n /** Optional host-level fallback, for transports without an interactive approval surface. */\n approvalPort?: ApprovalPort;\n readonly externalTools: Map<string, RegisteredAgentTool>;\n readonly userProfiles: UserProfileStore;\n subagentSystem: SubagentSystem | null;\n modelRegistry: ModelRegistry | null;\n /** deferred 工具族的跨 turn 状态(目录/快照/统计/自动续轮深度/结果回投器)。 */\n readonly deferred: DeferredTurnState;\n}\n\nexport type { OnChunkCallback, AgentOutputElement, Tool, Message };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-service-refs.js","sourceRoot":"","sources":["../../src/internal/ai-service-refs.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"ai-service-refs.js","sourceRoot":"","sources":["../../src/internal/ai-service-refs.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC","sourcesContent":["import type { AIService } from '../service.js';\nimport type { ZhinAgent } from '../zhin-agent/index.js';\n\nexport interface AIServiceRefs {\n aiService: AIService | null;\n zhinAgent: ZhinAgent | null;\n}\n\nexport function createRefs(): AIServiceRefs {\n return {\n aiService: null,\n zhinAgent: null,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"as-private.js","sourceRoot":"","sources":["../../src/internal/as-private.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"as-private.js","sourceRoot":"","sources":["../../src/internal/as-private.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/**\n * 将 ZhinAgent 门面实例收窄为 ideal 模块可用的 host 契约(仅包内使用)。\n * 门面类与 ZhinAgentPrivate 全量对齐,此处仅类型窄化,无强转。\n */\nimport type { ZhinAgent } from '../zhin-agent/index.js';\nimport type { ZhinAgentPrivate } from './agent-host.js';\n\nexport function asPrivate(agent: ZhinAgent): ZhinAgentPrivate {\n return agent;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-types.js","sourceRoot":"","sources":["../../src/internal/host-types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"host-types.js","sourceRoot":"","sources":["../../src/internal/host-types.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * ZhinAgent host 契约类型 SSOT — ideal 模块与 internal/agent-host 共用,不依赖 zhin-agent 门面。\n */\nimport type { Usage } from '@zhin.js/ai';\nimport type { Message } from '@zhin.js/core';\nimport type { ZhinAgentConfig } from '../config/zhin-agent-config.js';\nimport type { AIEventPayload } from '../ai-event-contract.js';\n\nexport type { ZhinAgentConfig, CompactionConfig } from '../config/zhin-agent-config.js';\n\nexport type OnChunkCallback = (chunk: string, full: string) => void;\n\nexport interface HostPhaseTraceConfig {\n phaseTraceEnabled: boolean;\n onPhaseTrace?: (event: {\n phase: string;\n sessionId: string;\n extra: Record<string, unknown>;\n }) => void;\n}\n\nexport interface HostPromptTraceConfig {\n promptTraceEnabled: boolean;\n promptTraceVerbose?: boolean;\n}\n\nexport type HostTurnPath = 'chat' | 'fast' | 'agent' | 'multimodal' | 'rate_limited' | 'superseded';\n\nexport interface HostTurnMetrics {\n usage: Usage;\n mainUsage?: Usage;\n subagentUsage?: Usage;\n path: HostTurnPath;\n iterations?: number;\n model?: string;\n /** 本轮用户输入预览(日志表格) */\n userInput?: string;\n /** 模型思考链预览(日志表格) */\n thinking?: string;\n /** 最终回复预览(日志表格) */\n output?: string;\n}\n\nexport interface HostEventEmitter {\n dispatch(event: string, payload: AIEventPayload): Promise<void>;\n emit(event: string, payload: AIEventPayload): void;\n createPayload(\n sessionId: string,\n commMessage: Message,\n mode: AIEventPayload['mode'],\n extra?: Partial<AIEventPayload>,\n ): AIEventPayload;\n}\n\nexport interface HostPromptController {\n schedule(request: HostPromptTurnRequest): Promise<HostAgentLoopTurnResult>;\n scheduleStream(request: HostPromptStreamTurnRequest): AsyncGenerator<\n import('../event/turn-event.js').TurnEvent,\n HostAgentLoopTurnResult\n >;\n abort(): void;\n waitForIdle(): Promise<void>;\n isBusy(): boolean;\n subscribe(listener: (event: unknown, signal: AbortSignal) => void | Promise<void>): () => void;\n}\n\nexport interface HostPromptStreamTurnRequest extends Omit<HostPromptTurnRequest, 'execute'> {\n execute: (\n initialMessages: import('@zhin.js/ai').AgentMessage[],\n hooks: HostPromptTurnHooks,\n signal: AbortSignal,\n turnId: string,\n ) => AsyncGenerator<import('../event/turn-event.js').TurnEvent, HostAgentLoopTurnResult>;\n}\n\nexport interface HostPromptTurnRequest {\n turnId?: string;\n intent?: import('../turn/turn-ingress.js').TurnIntent;\n principal?: import('../turn/turn-ingress.js').TurnPrincipal;\n onAdmitted?: () => void;\n sessionKey: string;\n sessionId: string;\n userMessages: import('@zhin.js/ai').AgentMessage[];\n onChunk?: OnChunkCallback;\n signal?: AbortSignal;\n execute: (\n initialMessages: import('@zhin.js/ai').AgentMessage[],\n hooks: HostPromptTurnHooks,\n signal: AbortSignal,\n turnId: string,\n ) => Promise<HostAgentLoopTurnResult>;\n}\n\nexport interface HostPromptTurnHooks {\n getSteeringMessages: () => Promise<import('@zhin.js/ai').AgentMessage[]>;\n getFollowUpMessages: () => Promise<import('@zhin.js/ai').AgentMessage[]>;\n}\n\nexport interface HostAgentLoopTurnResult {\n reply: string;\n usage: Usage;\n path: 'chat' | 'agent' | 'multimodal';\n iterations: number;\n model: string;\n toolCalls: import('../core/tool-calls-user-format.js').ToolCallRecord[];\n thinking?: string;\n}\n\nexport interface HostTurnTracker {\n begin(): void;\n waitForPendingSubagents(): Promise<void>;\n finalize(partial: Omit<HostTurnMetrics, 'usage' | 'mainUsage' | 'subagentUsage'> & { usage: Usage }): Promise<void>;\n}\n\nexport type RequiredHostConfig = Required<ZhinAgentConfig>;\n"]}
|
|
@@ -14,4 +14,3 @@ export interface AgentLoopIterationTraceInput {
|
|
|
14
14
|
}
|
|
15
15
|
/** 每次 LLM 迭代结束(含多轮 tool turn 的中间轮) */
|
|
16
16
|
export declare function logAgentLoopIterationEnd(config: PhaseTraceConfig, sessionId: string, input: AgentLoopIterationTraceInput): void;
|
|
17
|
-
//# sourceMappingURL=phase-trace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase-trace.js","sourceRoot":"","sources":["../../src/internal/phase-trace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK3D,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AAEtC,MAAM,UAAU,QAAQ,CACtB,MAAwB,EACxB,KAAa,EACb,SAAiB,EACjB,QAAiC,EAAE;IAEnC,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAAE,OAAO;IACtC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAA8C,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACtF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;YAAE,SAAS;QAC5C,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAA+B,CAAC;IACzF,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;QACzC,WAAW,EAAE,KAAK,CAAC,YAAY;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,MAAM,GAA2B;QACrC,YAAY,EAAE,KAAK,CAAC,KAAK;QACzB,gBAAgB,EAAE,KAAK,CAAC,MAAM;QAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC;IACF,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC;QAAE,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC;IAClE,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;QAAE,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC;IACrE,OAAO,MAAM,CAAC;AAChB,CAAC;AAWD,sCAAsC;AACtC,MAAM,UAAU,wBAAwB,CACtC,MAAwB,EACxB,SAAiB,EACjB,KAAmC;IAEnC,QAAQ,CAAC,MAAM,EAAE,0BAA0B,EAAE,SAAS,EAAE;QACtD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;QACvC,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;KACpC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"phase-trace.js","sourceRoot":"","sources":["../../src/internal/phase-trace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK3D,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AAEtC,MAAM,UAAU,QAAQ,CACtB,MAAwB,EACxB,KAAa,EACb,SAAiB,EACjB,QAAiC,EAAE;IAEnC,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAAE,OAAO;IACtC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAA8C,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACtF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;YAAE,SAAS;QAC5C,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAA+B,CAAC;IACzF,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;QACzC,WAAW,EAAE,KAAK,CAAC,YAAY;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,MAAM,GAA2B;QACrC,YAAY,EAAE,KAAK,CAAC,KAAK;QACzB,gBAAgB,EAAE,KAAK,CAAC,MAAM;QAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC;IACF,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC;QAAE,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC;IAClE,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;QAAE,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC;IACrE,OAAO,MAAM,CAAC;AAChB,CAAC;AAWD,sCAAsC;AACtC,MAAM,UAAU,wBAAwB,CACtC,MAAwB,EACxB,SAAiB,EACjB,KAAmC;IAEnC,QAAQ,CAAC,MAAM,EAAE,0BAA0B,EAAE,SAAS,EAAE;QACtD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;QACvC,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;KACpC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { Usage, TokenUsage } from '@zhin.js/ai';\nimport { formatCompact, getLogger } from '@zhin.js/logger';\n\nexport type { HostPhaseTraceConfig as PhaseTraceConfig } from './host-types.js';\nimport type { HostPhaseTraceConfig as PhaseTraceConfig } from './host-types.js';\n\nconst logger = getLogger('ZhinAgent');\n\nexport function logPhase(\n config: PhaseTraceConfig,\n phase: string,\n sessionId: string,\n extra: Record<string, unknown> = {},\n): void {\n if (!config.phaseTraceEnabled) return;\n config.onPhaseTrace?.({ phase, sessionId, extra });\n const flat: Record<string, string | number | boolean> = { phase, session: sessionId };\n for (const [k, v] of Object.entries(extra)) {\n if (v === undefined || v === null) continue;\n flat[k] = typeof v === 'object' ? JSON.stringify(v) : (v as string | number | boolean);\n }\n logger.info(formatCompact(flat));\n}\n\nexport function usageLogFields(usage?: Usage): Record<string, number> {\n if (!usage) return {};\n return {\n promptTokens: usage.prompt_tokens,\n completionTokens: usage.completion_tokens,\n totalTokens: usage.total_tokens,\n };\n}\n\nexport function tokenUsageLogFields(usage?: TokenUsage): Record<string, number> {\n if (!usage) return {};\n const fields: Record<string, number> = {\n promptTokens: usage.input,\n completionTokens: usage.output,\n totalTokens: usage.totalTokens,\n };\n if (usage.cacheRead > 0) fields.cacheReadTokens = usage.cacheRead;\n if (usage.cacheWrite > 0) fields.cacheWriteTokens = usage.cacheWrite;\n return fields;\n}\n\nexport interface AgentLoopIterationTraceInput {\n iteration: number;\n model?: string;\n label?: string;\n usage?: TokenUsage;\n stopReason?: string;\n toolNames?: string;\n}\n\n/** 每次 LLM 迭代结束(含多轮 tool turn 的中间轮) */\nexport function logAgentLoopIterationEnd(\n config: PhaseTraceConfig,\n sessionId: string,\n input: AgentLoopIterationTraceInput,\n): void {\n logPhase(config, 'agent_loop.iteration.end', sessionId, {\n iteration: input.iteration,\n model: input.model,\n label: input.label,\n stopReason: input.stopReason,\n toolNames: input.toolNames || undefined,\n ...tokenUsageLogFields(input.usage),\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-trace.js","sourceRoot":"","sources":["../../src/internal/prompt-trace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-trace.js","sourceRoot":"","sources":["../../src/internal/prompt-trace.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentMessage, AgentTool } from '@zhin.js/ai';\nimport { formatCompact, truncatePreview, getLogger } from '@zhin.js/logger';\nimport type { PromptSectionDebugInfo } from '../prompt/system-prompt.js';\n\nconst logger = getLogger('ZhinAgent');\n\nexport type { HostPromptTraceConfig as PromptTraceConfig } from '../internal/host-types.js';\nimport type { HostPromptTraceConfig as PromptTraceConfig } from '../internal/host-types.js';\n\nfunction estTokensFromChars(chars: number): number {\n return Math.ceil(chars / 4);\n}\n\nfunction agentMessageChars(msg: AgentMessage): number {\n if (!Array.isArray(msg.content)) return 0;\n let n = 0;\n for (const part of msg.content) {\n if (part.type === 'text') n += part.text.length;\n else n += JSON.stringify(part).length;\n }\n return n;\n}\n\nfunction toolsSchemaChars(tools: AgentTool[]): number {\n return tools.reduce((sum, t) => {\n const blob = JSON.stringify({\n name: t.name,\n description: t.description,\n parameters: t.parameters,\n });\n return sum + blob.length;\n }, 0);\n}\n\nfunction formatSections(sections?: PromptSectionDebugInfo[]): string | undefined {\n if (!sections?.length) return undefined;\n return sections.map(s => `${s.id}:${s.approxChars}`).join(',');\n}\n\nexport interface LogPromptCompositionInput {\n config: PromptTraceConfig;\n sessionId: string;\n label: string;\n systemPrompt: string;\n sections?: PromptSectionDebugInfo[];\n historyMessages: AgentMessage[];\n tools: AgentTool[];\n userPreview?: string;\n}\n\n/** 记录发往 LLM 的提示词规模(分段、历史、工具 schema),不默认 dump 全文。 */\nexport function logPromptComposition(input: LogPromptCompositionInput): void {\n if (!input.config.promptTraceEnabled) return;\n\n const systemChars = input.systemPrompt.length;\n const historyChars = input.historyMessages.reduce((sum, m) => sum + agentMessageChars(m), 0);\n const schemaChars = toolsSchemaChars(input.tools);\n const userChars = input.userPreview?.length ?? 0;\n const totalEst = estTokensFromChars(systemChars + historyChars + schemaChars + userChars);\n\n const flat: Record<string, string | number | boolean> = {\n phase: 'prompt.compose',\n label: input.label,\n system: estTokensFromChars(systemChars),\n history: `${input.historyMessages.length}msg/${estTokensFromChars(historyChars)}tok`,\n tools: input.tools.length,\n total: totalEst,\n };\n\n const sections = formatSections(input.sections);\n if (sections) flat.sections = sections;\n if (userChars > 0) {\n flat.userPreview = truncatePreview(input.userPreview!, 80);\n }\n\n if (input.config.promptTraceVerbose) {\n flat.systemHead = truncatePreview(input.systemPrompt, 120);\n }\n\n logger.info(formatCompact(flat));\n}\n"]}
|
|
@@ -18,4 +18,3 @@ export declare function getActivityFeedbackEligible(): boolean;
|
|
|
18
18
|
export declare function cloneDeferredSnapshot(snapshot: DeferredToolSessionSnapshot): DeferredToolSessionSnapshot;
|
|
19
19
|
export declare function captureDeferredSnapshotBefore(snapshot: DeferredToolSessionSnapshot): void;
|
|
20
20
|
export declare function getDeferredSnapshotBefore(): DeferredToolSessionSnapshot | undefined;
|
|
21
|
-
//# sourceMappingURL=turn-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-context.js","sourceRoot":"","sources":["../../src/internal/turn-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAarD,MAAM,kBAAkB,GAAG,IAAI,iBAAiB,EAAoB,CAAC;AAErE,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,OAAoB,EACpB,EAAoB,EACpB,IAAkE;IAElE,OAAO,kBAAkB,CAAC,GAAG,CAAC;QAC5B,MAAM;QACN,OAAO;QACP,gBAAgB,EAAE,EAAE;QACpB,wBAAwB,EAAE,IAAI,EAAE,wBAAwB;KACzD,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,kBAAkB,CAAC,QAAQ,EAAE,EAAE,gBAAgB,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAI,KAAK;QAAE,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;QAC7C,CAAC,CAAC,GAAG,KAAK,CAAC,gBAAgB,OAAO,OAAO,EAAE;QAC3C,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,EAAE,wBAAwB,KAAK,IAAI,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAqC;IACzE,OAAO;QACL,WAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE;QACxC,YAAY,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAqC;IACjF,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,sBAAsB,CAAC;IAClE,OAAO,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC"}
|
|
1
|
+
{"version":3,"file":"turn-context.js","sourceRoot":"","sources":["../../src/internal/turn-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAarD,MAAM,kBAAkB,GAAG,IAAI,iBAAiB,EAAoB,CAAC;AAErE,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,OAAoB,EACpB,EAAoB,EACpB,IAAkE;IAElE,OAAO,kBAAkB,CAAC,GAAG,CAAC;QAC5B,MAAM;QACN,OAAO;QACP,gBAAgB,EAAE,EAAE;QACpB,wBAAwB,EAAE,IAAI,EAAE,wBAAwB;KACzD,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,kBAAkB,CAAC,QAAQ,EAAE,EAAE,gBAAgB,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAI,KAAK;QAAE,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;QAC7C,CAAC,CAAC,GAAG,KAAK,CAAC,gBAAgB,OAAO,OAAO,EAAE;QAC3C,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,EAAE,wBAAwB,KAAK,IAAI,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAqC;IACzE,OAAO;QACL,WAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE;QACxC,YAAY,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAqC;IACjF,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,sBAAsB,CAAC;IAClE,OAAO,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC","sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\nimport type { DeferredToolSessionSnapshot } from '@zhin.js/ai';\nimport { TurnTracker } from '../turn/turn-tracker.js';\n\nexport interface TurnContextStore {\n turnId: string;\n tracker: TurnTracker;\n turnActiveSkills: string;\n deferredSnapshotBefore?: DeferredToolSessionSnapshot;\n /** 仅人类 register-ai-trigger 入站为 true;TaskExecutor/subagent/deferred 为 false */\n activityFeedbackEligible?: boolean;\n}\n\nconst turnContextStorage = new AsyncLocalStorage<TurnContextStore>();\n\nexport function runInTurnContext<T>(\n turnId: string,\n tracker: TurnTracker,\n fn: () => Promise<T>,\n init?: Partial<Pick<TurnContextStore, 'activityFeedbackEligible'>>,\n): Promise<T> {\n return turnContextStorage.run({\n turnId,\n tracker,\n turnActiveSkills: '',\n activityFeedbackEligible: init?.activityFeedbackEligible,\n }, fn);\n}\n\nexport function getActiveTurnContext(): TurnContextStore | undefined {\n return turnContextStorage.getStore();\n}\n\nexport function getActiveTurnTracker(): TurnTracker | undefined {\n return turnContextStorage.getStore()?.tracker;\n}\n\nexport function getTurnActiveSkillsFromContext(): string {\n return turnContextStorage.getStore()?.turnActiveSkills ?? '';\n}\n\nexport function setTurnActiveSkills(content: string): void {\n const store = turnContextStorage.getStore();\n if (store) store.turnActiveSkills = content;\n}\n\nexport function appendTurnActiveSkills(fragment: string): void {\n const store = turnContextStorage.getStore();\n if (!store) return;\n const trimmed = fragment.trim();\n if (!trimmed) return;\n store.turnActiveSkills = store.turnActiveSkills\n ? `${store.turnActiveSkills}\\n\\n${trimmed}`\n : trimmed;\n}\n\nexport function getActivityFeedbackEligible(): boolean {\n return turnContextStorage.getStore()?.activityFeedbackEligible === true;\n}\n\nexport function cloneDeferredSnapshot(snapshot: DeferredToolSessionSnapshot): DeferredToolSessionSnapshot {\n return {\n loadedTools: { ...snapshot.loadedTools },\n loadedSkills: [...snapshot.loadedSkills],\n };\n}\n\nexport function captureDeferredSnapshotBefore(snapshot: DeferredToolSessionSnapshot): void {\n const store = turnContextStorage.getStore();\n if (!store) return;\n store.deferredSnapshotBefore = cloneDeferredSnapshot(snapshot);\n}\n\nexport function getDeferredSnapshotBefore(): DeferredToolSessionSnapshot | undefined {\n const raw = turnContextStorage.getStore()?.deferredSnapshotBefore;\n return raw ? cloneDeferredSnapshot(raw) : undefined;\n}\n"]}
|
|
@@ -18,4 +18,3 @@ export declare class FileJournalStore implements JournalStore {
|
|
|
18
18
|
replay(run: AgentRunIdentity, afterSequence?: number): Promise<readonly AgentRunEvent[]>;
|
|
19
19
|
listRuns(sessionId: string): Promise<readonly JournalRunSummary[]>;
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=file-journal-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-journal-store.js","sourceRoot":"","sources":["../../src/journal/file-journal-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-journal-store.js","sourceRoot":"","sources":["../../src/journal/file-journal-store.ts"],"names":[],"mappings":"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","sourcesContent":["import { mkdir, open, readdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises';\nimport { randomUUID } from 'node:crypto';\nimport { join } from 'node:path';\nimport type { AgentRunEvent, AgentRunIdentity } from '@zhin.js/ai/agent-stream';\nimport type { JournalRunSummary, JournalStore } from '@zhin.js/ai/journal-store';\n\nconst EVENT_FILE_WIDTH = 16;\n\nfunction encodeIdentity(value: string): string {\n return Buffer.from(value, 'utf8').toString('base64url');\n}\n\nfunction decodeIdentity(value: string): string {\n return Buffer.from(value, 'base64url').toString('utf8');\n}\n\nfunction eventFileName(sequence: number): string {\n return `${String(sequence).padStart(EVENT_FILE_WIDTH, '0')}.json`;\n}\n\nexport class JournalCorruptionError extends Error {\n constructor(readonly path: string, cause?: unknown) {\n super(`Corrupt Agent Journal event ${path}`, { cause });\n this.name = 'JournalCorruptionError';\n }\n}\n\nexport class JournalSequenceConflictError extends Error {\n constructor(readonly expected: number, readonly actual: number) {\n super(`Agent Journal sequence conflict: expected previous ${expected}, actual ${actual}`);\n this.name = 'JournalSequenceConflictError';\n }\n}\n\n/** Crash-safe file store: one atomically claimed file per run sequence. */\nexport class FileJournalStore implements JournalStore {\n constructor(private readonly root: string) {}\n\n async append(event: AgentRunEvent, expectedPreviousSequence: number): Promise<void> {\n const directory = this.#runDirectory(event.run);\n await mkdir(directory, { recursive: true });\n const release = await acquireRunLease(directory);\n try {\n const actual = await this.#lastSequence(directory);\n if (actual !== expectedPreviousSequence || event.sequence !== actual + 1) {\n throw new JournalSequenceConflictError(expectedPreviousSequence, actual);\n }\n const committed = join(directory, eventFileName(event.sequence));\n const temporary = join(directory, `.event-${event.sequence}-${randomUUID()}.tmp`);\n const handle = await open(temporary, 'wx');\n try {\n await handle.writeFile(JSON.stringify(event), 'utf8');\n await handle.sync();\n } finally {\n await handle.close();\n }\n await rename(temporary, committed);\n // Windows cannot flush an opened directory. The file itself was synced\n // before the atomic rename; POSIX additionally persists the directory entry.\n if (process.platform !== 'win32') {\n const directoryHandle = await open(directory, 'r');\n try {\n await directoryHandle.sync();\n } finally {\n await directoryHandle.close();\n }\n }\n } finally {\n await release();\n }\n }\n\n async replay(run: AgentRunIdentity, afterSequence = 0): Promise<readonly AgentRunEvent[]> {\n const directory = this.#runDirectory(run);\n const files = await jsonFiles(directory);\n const events: AgentRunEvent[] = [];\n let expected = 1;\n let terminalSeen = false;\n for (const name of files) {\n const file = join(directory, name);\n let event: AgentRunEvent;\n try {\n event = JSON.parse(await readFile(file, 'utf8')) as AgentRunEvent;\n } catch (error) {\n throw new JournalCorruptionError(file, error);\n }\n if (event.sequence !== expected\n || event.run?.sessionId !== run.sessionId\n || event.run?.turnId !== run.turnId\n || name !== eventFileName(event.sequence)) {\n throw new JournalCorruptionError(file, new Error('event identity or sequence mismatch'));\n }\n if (terminalSeen) {\n throw new JournalCorruptionError(file, new Error('event exists after terminal'));\n }\n expected += 1;\n terminalSeen = Boolean(event.terminal);\n if (event.sequence > afterSequence) events.push(event);\n }\n return events;\n }\n\n async listRuns(sessionId: string): Promise<readonly JournalRunSummary[]> {\n const sessionDirectory = join(this.root, encodeIdentity(sessionId));\n let names: string[];\n try {\n names = await readdir(sessionDirectory);\n } catch (error) {\n if (isMissing(error)) return [];\n throw error;\n }\n const summaries: JournalRunSummary[] = [];\n for (const name of names.sort()) {\n const turnId = decodeIdentity(name);\n const events = await this.replay({ sessionId, turnId });\n if (events.length === 0) continue;\n const first = events[0]!;\n const last = events.at(-1)!;\n summaries.push({\n run: { sessionId, turnId },\n eventCount: events.length,\n startedAt: first.timestamp ?? 0,\n endedAt: last.timestamp,\n terminal: last.terminal,\n });\n }\n return summaries;\n }\n\n #runDirectory(run: AgentRunIdentity): string {\n return join(this.root, encodeIdentity(run.sessionId), encodeIdentity(run.turnId));\n }\n\n async #lastSequence(directory: string): Promise<number> {\n const files = await jsonFiles(directory);\n if (files.length === 0) return 0;\n const value = Number(files.at(-1)!.slice(0, -'.json'.length));\n if (!Number.isSafeInteger(value) || value < 1) {\n throw new JournalCorruptionError(directory, new Error('invalid sequence filename'));\n }\n return value;\n }\n}\n\nasync function acquireRunLease(directory: string): Promise<() => Promise<void>> {\n const lock = join(directory, '.append-lock');\n for (let attempt = 0; attempt < 200; attempt += 1) {\n try {\n await mkdir(lock);\n await writeFile(join(lock, 'owner'), String(process.pid), 'utf8');\n return () => rm(lock, { recursive: true, force: true });\n } catch (error) {\n if (!(error instanceof Error && 'code' in error && error.code === 'EEXIST')) throw error;\n if (await lockOwnerIsDead(lock)) {\n await rm(lock, { recursive: true, force: true });\n continue;\n }\n await new Promise((resolve) => setTimeout(resolve, 5));\n }\n }\n throw new Error(`Timed out acquiring Agent Journal append lease: ${directory}`);\n}\n\nasync function lockOwnerIsDead(lock: string): Promise<boolean> {\n try {\n const pid = Number(await readFile(join(lock, 'owner'), 'utf8'));\n if (!Number.isSafeInteger(pid) || pid < 1) return false;\n try {\n process.kill(pid, 0);\n return false;\n } catch (error) {\n return error instanceof Error && 'code' in error && error.code === 'ESRCH';\n }\n } catch {\n try {\n return Date.now() - (await stat(lock)).mtimeMs > 30_000;\n } catch {\n return false;\n }\n }\n}\n\nasync function jsonFiles(directory: string): Promise<string[]> {\n try {\n const files = await readdir(directory);\n return files.filter((name) => name.endsWith('.json')).sort();\n } catch (error) {\n if (isMissing(error)) return [];\n throw error;\n }\n}\n\nfunction isMissing(error: unknown): boolean {\n return error instanceof Error && 'code' in error && error.code === 'ENOENT';\n}\n"]}
|
package/lib/journal/index.d.ts
CHANGED
package/lib/journal/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/journal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/journal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC","sourcesContent":["export {\n JournalCorruptionError,\n JournalSequenceConflictError,\n FileJournalStore,\n} from './file-journal-store.js';\nexport { PersistentTurnJournal } from './persistent-turn-journal.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistent-turn-journal.js","sourceRoot":"","sources":["../../src/journal/persistent-turn-journal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persistent-turn-journal.js","sourceRoot":"","sources":["../../src/journal/persistent-turn-journal.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AGENT_RUN_EVENT_VERSION,\n type AgentRunEvent,\n type AgentRunEventInput,\n type AgentRunIdentity,\n} from '@zhin.js/ai/agent-stream';\nimport type { JournalStore } from '@zhin.js/ai/journal-store';\nimport type { TurnEvent } from '../event/turn-event.js';\nimport { mapTurnEventToAgentStreamEvents } from '../event/turn-to-agent-stream.js';\nimport type { TurnJournalPort } from '../turn/turn-ingress.js';\n\n/** Durable, ordered fact authority for one Turn. */\nexport class PersistentTurnJournal implements TurnJournalPort {\n readonly #run: AgentRunIdentity;\n readonly #store: JournalStore;\n readonly #principal?: Readonly<{ subjectId: string; displayName?: string; roles: readonly string[] }>;\n #sequence = 0;\n #terminal: AgentRunEvent | undefined;\n #initialized = false;\n #tail: Promise<void> = Promise.resolve();\n\n constructor(\n run: AgentRunIdentity,\n store: JournalStore,\n principal?: Readonly<{ subjectId: string; displayName?: string; roles: readonly string[] }>,\n ) {\n this.#run = Object.freeze({ ...run });\n this.#store = store;\n this.#principal = principal\n ? Object.freeze({ ...principal, roles: Object.freeze([...principal.roles]) })\n : undefined;\n }\n\n append(event: TurnEvent): Promise<void> {\n const operation = this.#tail.then(\n () => this.#append(event),\n () => this.#append(event),\n );\n this.#tail = operation.catch(() => undefined);\n return operation;\n }\n\n replay(afterSequence = 0): Promise<readonly AgentRunEvent[]> {\n return this.#store.replay(this.#run, afterSequence);\n }\n\n get terminal(): AgentRunEvent | undefined {\n return this.#terminal;\n }\n\n async #append(event: TurnEvent): Promise<void> {\n await this.#initialize();\n if (this.#terminal) throw new Error('Turn Journal is already terminal');\n const mapped = mapTurnEventToAgentStreamEvents(event, {\n sessionId: this.#run.sessionId,\n turnId: this.#run.turnId,\n }) as AgentRunEventInput[];\n for (const input of mapped) {\n const persisted: AgentRunEvent = Object.freeze({\n ...input,\n ...(this.#principal ? {\n data: Object.freeze({\n ...(input.data ?? {}),\n principal: this.#principal,\n }),\n } : {}),\n version: AGENT_RUN_EVENT_VERSION,\n run: this.#run,\n sequence: this.#sequence + 1,\n timestamp: input.timestamp ?? Date.now(),\n });\n await this.#store.append(persisted, this.#sequence);\n this.#sequence = persisted.sequence;\n if (persisted.terminal) this.#terminal = persisted;\n }\n }\n\n async #initialize(): Promise<void> {\n if (this.#initialized) return;\n const existing = await this.#store.replay(this.#run);\n let expected = 1;\n let terminalSeen = false;\n for (const fact of existing) {\n if (fact.run.sessionId !== this.#run.sessionId || fact.run.turnId !== this.#run.turnId) {\n throw new Error('Turn Journal replay returned a fact for another run');\n }\n if (fact.sequence !== expected) {\n throw new Error(`Turn Journal sequence is not contiguous: expected ${expected}, got ${fact.sequence}`);\n }\n if (terminalSeen) throw new Error('Turn Journal contains an event after terminal');\n terminalSeen = Boolean(fact.terminal);\n expected += 1;\n }\n const last = existing.at(-1);\n this.#sequence = last?.sequence ?? 0;\n this.#terminal = last?.terminal ? last : undefined;\n this.#initialized = true;\n }\n}\n"]}
|
|
@@ -18,4 +18,3 @@ export interface McpToolDefinition {
|
|
|
18
18
|
export declare function mcpToolToAgentTool(mcpTool: McpToolDefinition, serverName: string, callTool: (name: string, args: Record<string, unknown>) => Promise<unknown>): AgentTool;
|
|
19
19
|
export declare function mcpResourceToInfo(resource: McpResource): McpResource;
|
|
20
20
|
export declare function mcpPromptToInfo(prompt: McpPrompt): McpPrompt;
|
|
21
|
-
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/mcp-client/bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAc5E,MAAM,UAAU,kBAAkB,CAChC,OAA0B,EAC1B,UAAkB,EAClB,QAA2E;IAE3E,MAAM,UAAU,GAAe;QAC7B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,UAAwC,IAAI,EAAE;QAC/E,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ;KACxC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,0BAA0B,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;QAC1D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,iBAAiB,UAAU,EAAE;QACjE,UAAU;QACV,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;QACrD,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;QACzB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,OAAO,UAAU,EAAE;QAC3B,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAqB;IACrD,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG;QACnC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/mcp-client/bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAc5E,MAAM,UAAU,kBAAkB,CAChC,OAA0B,EAC1B,UAAkB,EAClB,QAA2E;IAE3E,MAAM,UAAU,GAAe;QAC7B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,UAAwC,IAAI,EAAE;QAC/E,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ;KACxC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,0BAA0B,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;QAC1D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,iBAAiB,UAAU,EAAE;QACjE,UAAU;QACV,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;QACrD,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;QACzB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,OAAO,UAAU,EAAE;QAC3B,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAqB;IACrD,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG;QACnC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC","sourcesContent":["/**\n * MCP Tool/Resource/Prompt → AgentTool bridge\n *\n * Converts MCP server capabilities into the model-facing AgentTool format.\n */\n\nimport type { AgentTool, JsonSchema } from '@zhin.js/ai';\nimport { formatMcpQualifiedToolName } from '@zhin.js/ai/mcp-qualified-name';\nimport type { McpResource, McpPrompt } from '../resource-hub/types.js';\n\nexport interface McpToolDefinition {\n name: string;\n description?: string;\n inputSchema?: {\n type: string;\n properties?: Record<string, unknown>;\n required?: string[];\n [key: string]: unknown;\n };\n}\n\nexport function mcpToolToAgentTool(\n mcpTool: McpToolDefinition,\n serverName: string,\n callTool: (name: string, args: Record<string, unknown>) => Promise<unknown>,\n): AgentTool {\n const parameters: JsonSchema = {\n type: 'object',\n properties: mcpTool.inputSchema?.properties as Record<string, JsonSchema> ?? {},\n required: mcpTool.inputSchema?.required,\n };\n\n return {\n name: formatMcpQualifiedToolName(serverName, mcpTool.name),\n description: mcpTool.description ?? `MCP tool from ${serverName}`,\n parameters,\n execute: async (args) => callTool(mcpTool.name, args),\n tags: ['mcp', serverName],\n kind: 'mcp',\n source: `mcp:${serverName}`,\n isReadOnly: false,\n };\n}\n\nexport function mcpResourceToInfo(resource: McpResource): McpResource {\n return {\n uri: resource.uri,\n name: resource.name ?? resource.uri,\n description: resource.description,\n mimeType: resource.mimeType,\n };\n}\n\nexport function mcpPromptToInfo(prompt: McpPrompt): McpPrompt {\n return {\n name: prompt.name,\n description: prompt.description,\n arguments: prompt.arguments,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/mcp-client/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/mcp-client/connection.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * McpClientConnection — single MCP server connection lifecycle.\n *\n * Uses @modelcontextprotocol/sdk Client when available.\n * Falls back to a placeholder when the SDK is not installed.\n */\n\nimport type { AgentTool } from '@zhin.js/ai';\nimport type { McpServerEntry, McpResource, McpPrompt } from '../resource-hub/types.js';\nimport { mcpToolToAgentTool, mcpResourceToInfo, mcpPromptToInfo } from './bridge.js';\n\n// ── MCP 环境清理 ─────────────────────────────────────────────────────\n\n/** stdio MCP 进程的敏感环境变量(与 sandbox.ts 保持一致) */\nconst SENSITIVE_ENV_VARS = [\n 'AWS_SECRET_ACCESS_KEY', 'AWS_SESSION_TOKEN',\n 'AZURE_CLIENT_SECRET', 'AZURE_TENANT_SECRET',\n 'GOOGLE_APPLICATION_CREDENTIALS',\n 'GITHUB_TOKEN', 'GH_TOKEN',\n 'NPM_TOKEN', 'NPM_AUTH_TOKEN',\n 'OPENAI_API_KEY', 'ANTHROPIC_API_KEY', 'GOOGLE_API_KEY',\n 'DATABASE_URL', 'REDIS_URL', 'MONGODB_URI',\n 'JWT_SECRET', 'SESSION_SECRET', 'ENCRYPTION_KEY',\n 'SSH_PRIVATE_KEY', 'GPG_PRIVATE_KEY',\n];\n\n/**\n * 为 stdio MCP 进程创建清洁环境\n * 过滤敏感环境变量,只传递必要的运行时变量\n */\nfunction cleanMcpEnvironment(userEnv?: Record<string, string>): Record<string, string> {\n const safeVars: Record<string, string> = {};\n\n // 只传递必要的系统变量\n const essentialVars = ['PATH', 'HOME', 'USER', 'LANG', 'LC_ALL', 'SHELL', 'TERM'];\n for (const key of essentialVars) {\n if (process.env[key]) safeVars[key] = process.env[key];\n }\n\n // 合并用户自定义环境变量(排除敏感变量)\n if (userEnv) {\n for (const [key, value] of Object.entries(userEnv)) {\n const isSensitive = SENSITIVE_ENV_VARS.some(sensitive =>\n key.toUpperCase().includes(sensitive) || key.toUpperCase().startsWith('TOKEN') || key.toUpperCase().startsWith('SECRET')\n );\n if (!isSensitive) {\n safeVars[key] = value;\n }\n }\n }\n\n return safeVars;\n}\n\nexport interface McpClientConnectionState {\n connected: boolean;\n tools: AgentTool[];\n resources: McpResource[];\n prompts: McpPrompt[];\n error?: string;\n}\n\nexport class McpClientConnection {\n readonly name: string;\n private entry: McpServerEntry;\n private client: any = null;\n private transport: any = null;\n private state: McpClientConnectionState = {\n connected: false,\n tools: [],\n resources: [],\n prompts: [],\n };\n\n constructor(entry: McpServerEntry) {\n this.name = entry.name;\n this.entry = entry;\n }\n\n get isConnected(): boolean { return this.state.connected; }\n get tools(): AgentTool[] { return this.state.tools; }\n get resources(): McpResource[] { return this.state.resources; }\n get prompts(): McpPrompt[] { return this.state.prompts; }\n\n async connect(): Promise<McpClientConnectionState> {\n if (this.state.connected) return this.state;\n\n try {\n const sdk = await this.loadSdk();\n if (!sdk) {\n this.state.error = '@modelcontextprotocol/sdk not installed — MCP client disabled';\n return this.state;\n }\n\n const { Client } = sdk;\n this.client = new Client({ name: `zhin-${this.name}`, version: '1.0.0' });\n\n this.transport = await this.createTransport(sdk);\n await this.client.connect(this.transport);\n\n await this.discoverCapabilities();\n this.state.connected = true;\n this.state.error = undefined;\n } catch (err: unknown) {\n this.state.error = err instanceof Error ? err.message : String(err);\n await this.disconnect();\n throw err;\n }\n\n return this.state;\n }\n\n async disconnect(): Promise<void> {\n if (this.client) {\n try { await this.client.close(); } catch { /* ignore */ }\n this.client = null;\n }\n if (this.transport) {\n try { if (this.transport.close) await this.transport.close(); } catch { /* ignore */ }\n this.transport = null;\n }\n this.state = { connected: false, tools: [], resources: [], prompts: [] };\n }\n\n async callTool(name: string, args: Record<string, any>): Promise<any> {\n if (!this.client || !this.state.connected) {\n throw new Error(`MCP server \"${this.name}\" is not connected`);\n }\n const result = await this.client.callTool({ name, arguments: args });\n return result;\n }\n\n /** Lightweight health check; fails if transport or child process died. */\n async ping(): Promise<void> {\n if (!this.client || !this.state.connected) {\n throw new Error(`MCP server \"${this.name}\" is not connected`);\n }\n await this.client.listTools();\n }\n\n private async loadSdk(): Promise<any> {\n try {\n // Dynamic import — @modelcontextprotocol/sdk is an optional dependency\n return await (Function('return import(\"@modelcontextprotocol/sdk/client/index.js\")')() as Promise<any>);\n } catch {\n return null;\n }\n }\n\n private async createTransport(_sdk: any): Promise<any> {\n const dynamicImport = (specifier: string): Promise<any> =>\n Function('s', 'return import(s)')(specifier);\n\n switch (this.entry.transport) {\n case 'streamable-http': {\n const mod = await dynamicImport('@modelcontextprotocol/sdk/client/streamableHttp.js');\n return new mod.StreamableHTTPClientTransport(new URL(this.entry.url!), {\n requestInit: { headers: this.entry.headers },\n });\n }\n case 'sse': {\n const mod = await dynamicImport('@modelcontextprotocol/sdk/client/sse.js');\n return new mod.SSEClientTransport(new URL(this.entry.url!), {\n requestInit: { headers: this.entry.headers },\n });\n }\n case 'stdio': {\n const mod = await dynamicImport('@modelcontextprotocol/sdk/client/stdio.js');\n return new mod.StdioClientTransport({\n command: this.entry.command!,\n args: this.entry.args,\n env: cleanMcpEnvironment(this.entry.env),\n });\n }\n default:\n throw new Error(`Unknown MCP transport: ${this.entry.transport}`);\n }\n }\n\n private async discoverCapabilities(): Promise<void> {\n try {\n const toolsResult = await this.client.listTools();\n this.state.tools = (toolsResult.tools || []).map((t: any) =>\n mcpToolToAgentTool(t, this.name, (name, args) => this.callTool(name, args)),\n );\n } catch { /* server may not support tools */ }\n\n try {\n const resourcesResult = await this.client.listResources();\n this.state.resources = (resourcesResult.resources || []).map(mcpResourceToInfo);\n } catch { /* server may not support resources */ }\n\n try {\n const promptsResult = await this.client.listPrompts();\n this.state.prompts = (promptsResult.prompts || []).map(mcpPromptToInfo);\n } catch { /* server may not support prompts */ }\n }\n}\n"]}
|
|
@@ -24,4 +24,3 @@ export { McpClientConnection } from './connection.js';
|
|
|
24
24
|
export type { McpClientConnectionState } from './connection.js';
|
|
25
25
|
export { mcpToolToAgentTool, mcpResourceToInfo, mcpPromptToInfo } from './bridge.js';
|
|
26
26
|
export type { McpToolDefinition } from './bridge.js';
|
|
27
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-client/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,OAAO,gBAAgB;IACV,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEtE,KAAK,CAAC,OAAO,CAAC,KAAqB;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,OAAO;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,WAAW;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,IAAI,KAAK,CAAC;IAC1D,CAAC;IAED,WAAW;QACT,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe;QACb,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,WAAW;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,aAAa;QACX,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,WAAW;gBAAE,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC","sourcesContent":["/**\n * McpClientManager — manages all MCP client connections.\n *\n * Used by McpRegistry for connect/disconnect; tools are merged in ZhinAgent via getAllMcpTools.\n */\n\nimport type { AgentTool } from '@zhin.js/ai';\nimport type { McpServerEntry, McpResource, McpPrompt } from '../resource-hub/types.js';\nimport { McpClientConnection } from './connection.js';\n\nexport class McpClientManager {\n private readonly connections = new Map<string, McpClientConnection>();\n\n async connect(entry: McpServerEntry): Promise<McpClientConnection> {\n let conn = this.connections.get(entry.name);\n if (conn?.isConnected) {\n const healthy = await this.isHealthy(entry.name);\n if (healthy) return conn;\n await this.disconnect(entry.name);\n }\n\n conn = new McpClientConnection(entry);\n try {\n await conn.connect();\n } catch (err) {\n this.connections.delete(entry.name);\n throw err;\n }\n this.connections.set(entry.name, conn);\n return conn;\n }\n\n /** Returns false when the connection is missing or the server no longer responds. */\n async isHealthy(name: string): Promise<boolean> {\n const conn = this.connections.get(name);\n if (!conn?.isConnected) return false;\n try {\n await conn.ping();\n return true;\n } catch {\n return false;\n }\n }\n\n async disconnect(name: string): Promise<void> {\n const conn = this.connections.get(name);\n if (conn) {\n await conn.disconnect();\n this.connections.delete(name);\n }\n }\n\n async disconnectAll(): Promise<void> {\n for (const [name] of this.connections) {\n await this.disconnect(name);\n }\n }\n\n getConnection(name: string): McpClientConnection | undefined {\n return this.connections.get(name);\n }\n\n isConnected(name: string): boolean {\n return this.connections.get(name)?.isConnected ?? false;\n }\n\n getAllTools(): AgentTool[] {\n const tools: AgentTool[] = [];\n for (const conn of this.connections.values()) {\n if (conn.isConnected) tools.push(...conn.tools);\n }\n return tools;\n }\n\n getAllResources(): McpResource[] {\n const resources: McpResource[] = [];\n for (const conn of this.connections.values()) {\n if (conn.isConnected) resources.push(...conn.resources);\n }\n return resources;\n }\n\n getAllPrompts(): McpPrompt[] {\n const prompts: McpPrompt[] = [];\n for (const conn of this.connections.values()) {\n if (conn.isConnected) prompts.push(...conn.prompts);\n }\n return prompts;\n }\n\n get connectedCount(): number {\n let count = 0;\n for (const conn of this.connections.values()) {\n if (conn.isConnected) count++;\n }\n return count;\n }\n}\n\nexport { McpClientConnection } from './connection.js';\nexport type { McpClientConnectionState } from './connection.js';\nexport { mcpToolToAgentTool, mcpResourceToInfo, mcpPromptToInfo } from './bridge.js';\nexport type { McpToolDefinition } from './bridge.js';\n"]}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { parseOutput } from '@zhin.js/ai';
|
|
6
6
|
import { mergeToolOutboundElements } from './media-tool-bridge.js';
|
|
7
7
|
import { publishOutboundElements } from './media-publisher.js';
|
|
8
|
+
import { NO_MEDIA_AUTHORITY } from './media-normalize.js';
|
|
8
9
|
export async function deliverSubagentResult(params) {
|
|
9
10
|
const { origin, delivery, send } = params;
|
|
10
11
|
const message = origin.message;
|
|
@@ -19,7 +20,9 @@ export async function deliverSubagentResult(params) {
|
|
|
19
20
|
const elements = delivery.elements?.length
|
|
20
21
|
? delivery.elements
|
|
21
22
|
: mergeToolOutboundElements(parseOutput(delivery.text), delivery.toolCalls ?? []);
|
|
22
|
-
|
|
23
|
+
// The result carries no Turn policy: tool media arrive inline, so model-referenced
|
|
24
|
+
// local paths and URLs are refused rather than read or fetched unchecked.
|
|
25
|
+
const segments = await publishOutboundElements(elements, String(message.clientAdapter ?? message.conversation.endpoint.adapter), undefined, NO_MEDIA_AUTHORITY);
|
|
23
26
|
if (!segments.length) {
|
|
24
27
|
await send({ ...base, content: delivery.text });
|
|
25
28
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliver-subagent-result.js","sourceRoot":"","sources":["../../src/media/deliver-subagent-result.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"deliver-subagent-result.js","sourceRoot":"","sources":["../../src/media/deliver-subagent-result.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAgB1D,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAmC;IAC7E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,IAAI,GAAiC;QACzC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC/E,QAAQ,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QAChE,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS;YACzC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACjD,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC3B,IAAI,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,SAAS,CAAgB;KAC9D,CAAC;IAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM;QACxC,CAAC,CAAC,QAAQ,CAAC,QAAQ;QACnB,CAAC,CAAC,yBAAyB,CACzB,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC1B,QAAQ,CAAC,SAAS,IAAI,EAAE,CACzB,CAAC;IACJ,mFAAmF;IACnF,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAC5C,QAAQ,EACR,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EACtE,SAAS,EACT,kBAAkB,CACnB,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,CAAiB,EAAE,EAAE,CACpC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;IACvF,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC;YACT,GAAG,IAAI;YACP,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,QAAQ;SACzD,CAAC,CAAC;IACL,CAAC;AACH,CAAC","sourcesContent":["import type { AgentOutputElement } from '../outbound/agent-output.js';\n/**\n * 子 agent 完成回告:文本 + 工具媒体(generate_image / voice_tts)走统一出站链。\n * 日志 preview 中的 `{image}` 表示本条含 image MessageElement(见 core segment.raw),不是未发送的占位符。\n */\nimport { parseOutput } from '@zhin.js/ai';\nimport type { MessageElement, MessageType, SendOptions } from '@zhin.js/core';\nimport type { SubagentOrigin } from '../subagent/index.js';\nimport type { ToolCallRecord } from '../core/tool-calls-user-format.js';\nimport { mergeToolOutboundElements } from './media-tool-bridge.js';\nimport { publishOutboundElements } from './media-publisher.js';\nimport { NO_MEDIA_AUTHORITY } from './media-normalize.js';\n\nexport interface SubagentOutboundDelivery {\n /** 面向用户的说明文本(含任务摘要时由调用方组装) */\n text: string;\n toolCalls?: ToolCallRecord[];\n /** 主 Agent deferred auto-continue turn 的完整出站元素(优先于 text+toolCalls) */\n elements?: AgentOutputElement[];\n}\n\nexport interface DeliverSubagentResultParams {\n origin: SubagentOrigin;\n delivery: SubagentOutboundDelivery;\n send: (options: SendOptions) => Promise<string>;\n}\n\nexport async function deliverSubagentResult(params: DeliverSubagentResultParams): Promise<void> {\n const { origin, delivery, send } = params;\n const message = origin.message;\n const base: Omit<SendOptions, 'content'> = {\n context: String(message.clientAdapter ?? message.conversation.endpoint.adapter),\n endpoint: message.endpointId ?? message.conversation.endpoint.id,\n id: message.conversation.kind === 'private'\n ? (message.sender?.id ?? message.conversation.id)\n : message.conversation.id,\n type: (message.conversation.kind ?? 'private') as MessageType,\n };\n\n const elements = delivery.elements?.length\n ? delivery.elements\n : mergeToolOutboundElements(\n parseOutput(delivery.text),\n delivery.toolCalls ?? [],\n );\n // The result carries no Turn policy: tool media arrive inline, so model-referenced\n // local paths and URLs are refused rather than read or fetched unchecked.\n const segments = await publishOutboundElements(\n elements,\n String(message.clientAdapter ?? message.conversation.endpoint.adapter),\n undefined,\n NO_MEDIA_AUTHORITY,\n );\n if (!segments.length) {\n await send({ ...base, content: delivery.text });\n return;\n }\n\n const isMedia = (s: MessageElement) =>\n s.type === 'image' || s.type === 'video' || s.type === 'record' || s.type === 'file';\n const mediaSegs = segments.filter(isMedia);\n const textSegs = segments.filter(s => !isMedia(s));\n\n for (const seg of mediaSegs) {\n await send({ ...base, content: seg });\n }\n if (textSegs.length > 0) {\n await send({\n ...base,\n content: textSegs.length === 1 ? textSegs[0]! : textSegs,\n });\n }\n}\n"]}
|
|
@@ -6,4 +6,3 @@
|
|
|
6
6
|
import { type Message, type SegmentMediaRef } from '@zhin.js/core';
|
|
7
7
|
/** 从 commMessage 提取入站媒体段(extra.media 优先,否则 extra.segments 收集)。 */
|
|
8
8
|
export declare function readInboundMediaRefs(commMessage: Message): readonly SegmentMediaRef[];
|
|
9
|
-
//# sourceMappingURL=inbound-refs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbound-refs.js","sourceRoot":"","sources":["../../src/media/inbound-refs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,mBAAmB,GAIpB,MAAM,eAAe,CAAC;AAEvB,kEAAkE;AAClE,MAAM,UAAU,oBAAoB,CAAC,WAAoB;IACvD,MAAM,KAAK,GAAI,WAAgC,CAAC,KAEnC,CAAC;IACd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,KAAmC,CAAC;IACnD,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC7C,CAAC,CAAE,KAAK,CAAC,QAAsD;QAC/D,CAAC,CAAE,WAAsC,CAAC,QAAqD,CAAC;IAClG,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"inbound-refs.js","sourceRoot":"","sources":["../../src/media/inbound-refs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,mBAAmB,GAIpB,MAAM,eAAe,CAAC;AAEvB,kEAAkE;AAClE,MAAM,UAAU,oBAAoB,CAAC,WAAoB;IACvD,MAAM,KAAK,GAAI,WAAgC,CAAC,KAEnC,CAAC;IACd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,KAAmC,CAAC;IACnD,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC7C,CAAC,CAAE,KAAK,CAAC,QAAsD;QAC/D,CAAC,CAAE,WAAsC,CAAC,QAAqD,CAAC;IAClG,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC","sourcesContent":["/**\n * 入站媒体引用读取 — commMessage 的 canonical 媒体段(extra.media 优先,\n * 否则 extra.segments 经 collectSegmentMedia 收集)。turn 注入与\n * orchestrator 子 agent 入站共用。\n */\nimport {\n collectSegmentMedia,\n type AgentTurnMessage,\n type Message,\n type SegmentMediaRef,\n} from '@zhin.js/core';\n\n/** 从 commMessage 提取入站媒体段(extra.media 优先,否则 extra.segments 收集)。 */\nexport function readInboundMediaRefs(commMessage: Message): readonly SegmentMediaRef[] {\n const extra = (commMessage as AgentTurnMessage).extra as\n | { media?: unknown; segments?: unknown }\n | undefined;\n if (Array.isArray(extra?.media)) {\n return extra.media as readonly SegmentMediaRef[];\n }\n const segments = Array.isArray(extra?.segments)\n ? (extra.segments as Parameters<typeof collectSegmentMedia>[0])\n : (commMessage as { $content?: unknown }).$content as Parameters<typeof collectSegmentMedia>[0];\n return collectSegmentMedia(segments);\n}\n"]}
|
package/lib/media/index.d.ts
CHANGED
package/lib/media/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './media-types.js';\nexport * from './resolve-config.js';\nexport * from './media-normalize.js';\nexport * from './media-spool.js';\nexport * from './media-router.js';\nexport * from './media-publisher.js';\nexport * from './media-capabilities.js';\nexport * from './media-tool-bridge.js';\nexport * from './deliver-subagent-result.js';\nexport * from './subagent-user-delivery.js';\nexport * from './vision-capability.js';\nexport * from './subagent-inbound.js';\nexport * from './inbound-refs.js';\nexport * from './perception.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-capabilities.js","sourceRoot":"","sources":["../../src/media/media-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,GAE9B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,2BAA2B,CAAC,QAAiB;IAC3D,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,GAAG,6BAA6B,EAAE,CAAC;IAC3D,OAAO,EAAE,GAAG,6BAA6B,EAAE,CAAC;AAC9C,CAAC"}
|
|
1
|
+
{"version":3,"file":"media-capabilities.js","sourceRoot":"","sources":["../../src/media/media-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,GAE9B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,2BAA2B,CAAC,QAAiB;IAC3D,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,GAAG,6BAA6B,EAAE,CAAC;IAC3D,OAAO,EAAE,GAAG,6BAA6B,EAAE,CAAC;AAC9C,CAAC","sourcesContent":["import {\n DEFAULT_OUTBOUND_CAPABILITIES,\n type OutboundMediaCapabilities,\n} from './media-types.js';\n\nexport function resolveOutboundCapabilities(platform?: string): OutboundMediaCapabilities {\n if (!platform) return { ...DEFAULT_OUTBOUND_CAPABILITIES };\n return { ...DEFAULT_OUTBOUND_CAPABILITIES };\n}\n"]}
|