@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
|
@@ -19,4 +19,3 @@ export declare class FiveAgentPromptRegistry {
|
|
|
19
19
|
export { FIVE_AGENT_ROLES, isFiveAgentRole } from './roles.js';
|
|
20
20
|
export type { FiveAgentRole } from './roles.js';
|
|
21
21
|
export { asFiveAgentRole, filterToolNamesForRole, filterToolsForRole, isToolAllowedForRole, } from './role-capability-policy.js';
|
|
22
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/orchestration/five-agent/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAsB,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAQzE,MAAM,OAAO,uBAAuB;IAClC,8BAA8B;IAC9B,MAAM,CAAC,MAAM,CAAC,KAA2B;QACvC,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QACrD,OAAO,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,sBAAsB;IACtB,MAAM,CAAC,GAAG,CAAC,IAAY;QACrB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/orchestration/five-agent/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAsB,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAQzE,MAAM,OAAO,uBAAuB;IAClC,8BAA8B;IAC9B,MAAM,CAAC,MAAM,CAAC,KAA2B;QACvC,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QACrD,OAAO,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,sBAAsB;IACtB,MAAM,CAAC,GAAG,CAAC,IAAY;QACrB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC","sourcesContent":["/**\n * FiveAgentPromptRegistry — 内置五角色 system prompt SSOT(ADR 0024 #9)。\n *\n * 不走 discoverWorkspaceAgents();用户无法用 workspace `agents/*.md` 覆盖。\n */\nimport { type FiveAgentRole, isFiveAgentRole } from './roles.js';\nimport { FIVE_AGENT_ROLE_LABELS } from '../../config/resolve-five-agent-binding.js';\nimport { renderFiveAgentPrompt } from './prompts.js';\nexport { FIVE_AGENT_PROMPTS, renderFiveAgentPrompt } from './prompts.js';\n\nexport interface FiveAgentPromptInput {\n role: FiveAgentRole;\n /** 展示昵称(缺省回退英文 role label)。 */\n nickname?: string;\n}\n\nexport class FiveAgentPromptRegistry {\n /** 渲染某角色的内置 system prompt。 */\n static render(input: FiveAgentPromptInput): string {\n const roleLabel = FIVE_AGENT_ROLE_LABELS[input.role];\n const nickname = input.nickname?.trim() || roleLabel;\n return renderFiveAgentPrompt(input.role, { nickname, roleLabel });\n }\n\n /** 角色是否由内置五角色矩阵管理。 */\n static has(role: string): role is FiveAgentRole {\n return isFiveAgentRole(role);\n }\n}\n\nexport { FIVE_AGENT_ROLES, isFiveAgentRole } from './roles.js';\nexport type { FiveAgentRole } from './roles.js';\nexport {\n asFiveAgentRole,\n filterToolNamesForRole,\n filterToolsForRole,\n isToolAllowedForRole,\n} from './role-capability-policy.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/orchestration/five-agent/prompts.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,kBAAkB,GAAkC;IAC/D,OAAO,EAAE;;;;;;;gEAOqD;IAE9D,UAAU,EAAE;;;;0DAI4C;IAExD,SAAS,EAAE;;;;sCAIyB;IAEpC,QAAQ,EAAE;;;yDAG6C;IAEvD,QAAQ,EAAE;;;;2EAI+D;CAC1E,CAAC;AAOF,MAAM,UAAU,qBAAqB,CAAC,IAAmB,EAAE,IAAsB;IAC/E,OAAO,kBAAkB,CAAC,IAAI,CAAC;SAC5B,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC;SAC3C,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/orchestration/five-agent/prompts.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,kBAAkB,GAAkC;IAC/D,OAAO,EAAE;;;;;;;gEAOqD;IAE9D,UAAU,EAAE;;;;0DAI4C;IAExD,SAAS,EAAE;;;;sCAIyB;IAEpC,QAAQ,EAAE;;;yDAG6C;IAEvD,QAAQ,EAAE;;;;2EAI+D;CAC1E,CAAC;AAOF,MAAM,UAAU,qBAAqB,CAAC,IAAmB,EAAE,IAAsB;IAC/E,OAAO,kBAAkB,CAAC,IAAI,CAAC;SAC5B,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC;SAC3C,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC","sourcesContent":["/**\n * Five-Agent 企业管理矩阵内置 system prompt(ADR 0024 #9,框架硬编码 SSOT)。\n */\nimport type { FiveAgentRole } from './roles.js';\n\nexport const FIVE_AGENT_PROMPTS: Record<FiveAgentRole, string> = {\n planner: `You are {{nickname}} (Planner). Maintain global view and a dynamic todo list.\nGoal: coordinate Researcher, Evaluator, Executor, Reviewer to complete user tasks.\n- Five-agent is an optional WorkflowStrategy (opt-in); Kernel tasks are its only coordination channel.\n- Break down the user goal, define acceptance criteria, and keep progress summaries concise.\n- Delegate specialist work through kernel tasks when tools are available; otherwise produce the planning output directly.\n- Assign work through Kernel tasks. IM text and mentions never transport Agent-to-Agent work.\n- Store only displayable summaries; never expose raw chain-of-thought.\n- On Reviewer veto, re-plan with precise fixes and avoid loops.`,\n\n researcher: `You are {{nickname}} (Researcher). Per Planner orders, search and fetch reliable data.\n- Use read/search tools when available; cross-verify sources and cite clearly.\n- Return a concise research summary plus gaps and confidence.\n- Return results through the owning Kernel task; never encode handback state in IM text.\n- Report gaps honestly; never fabricate facts or numbers.`,\n\n evaluator: `You are {{nickname}} (Evaluator). Reason over Researcher facts; design and evaluate plans.\n- Prefer read-only tools. Do not perform writes or dangerous execution.\n- Infer strictly from Researcher facts; no unsupported assumptions.\n- Produce a concise decision summary and implementation approach.\n- Do not expose raw chain-of-thought.`,\n\n executor: `You are {{nickname}} (Executor). Implement Evaluator blueprint strictly—no reinterpretation.\n- Execute the selected approach with the narrowest necessary tools.\n- Return what changed, verification performed, and any remaining risk.\n- Catch tool errors; report honestly—never fake success.`,\n\n reviewer: `You are {{nickname}} (Reviewer). User-quality gate on final deliverables only.\n- Memory isolation (I2): only user request + Executor deliverable + Researcher citations—ignore Evaluator blueprint.\n- Approve or reject clearly with specific evidence.\n- Keep review summaries short and actionable.\n- If reject: veto with precise, actionable feedback for Planner to replan.`,\n};\n\nexport interface RenderPromptVars {\n nickname: string;\n roleLabel: string;\n}\n\nexport function renderFiveAgentPrompt(role: FiveAgentRole, vars: RenderPromptVars): string {\n return FIVE_AGENT_PROMPTS[role]\n .replace(/\\{\\{nickname\\}\\}/g, vars.nickname)\n .replace(/\\{\\{roleLabel\\}\\}/g, vars.roleLabel);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-capability-policy.js","sourceRoot":"","sources":["../../../src/orchestration/five-agent/role-capability-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAsB,MAAM,YAAY,CAAC;AAEjE,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,IAAe;IACpE,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAe,EAAE,IAAmB;IACzE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAU,EACV,IAAmB;IAEnB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"role-capability-policy.js","sourceRoot":"","sources":["../../../src/orchestration/five-agent/role-capability-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAsB,MAAM,YAAY,CAAC;AAEjE,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,IAAe;IACpE,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAe,EAAE,IAAmB;IACzE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAU,EACV,IAAmB;IAEnB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC","sourcesContent":["import { AGENT_ROLE_CONFIGS, type AgentRole } from '../../resource-hub/role-configs.js';\nimport { isFiveAgentRole, type FiveAgentRole } from './roles.js';\n\nexport function isToolAllowedForRole(toolName: string, role: AgentRole): boolean {\n const config = AGENT_ROLE_CONFIGS[role];\n if (!config) return true;\n if (config.blockedTools.includes(toolName)) return false;\n if (config.allowedTools.includes('*')) return true;\n return config.allowedTools.includes(toolName);\n}\n\nexport function filterToolNamesForRole(names: string[], role: FiveAgentRole): string[] {\n return names.filter((name) => isToolAllowedForRole(name, role));\n}\n\nexport function filterToolsForRole<T extends { name: string }>(\n tools: T[],\n role: FiveAgentRole,\n): T[] {\n return tools.filter((tool) => isToolAllowedForRole(tool.name, role));\n}\n\nexport function asFiveAgentRole(value: unknown): FiveAgentRole | undefined {\n return isFiveAgentRole(value) ? value : undefined;\n}\n"]}
|
|
@@ -2,4 +2,3 @@
|
|
|
2
2
|
export type FiveAgentRole = 'planner' | 'researcher' | 'evaluator' | 'executor' | 'reviewer';
|
|
3
3
|
export declare const FIVE_AGENT_ROLES: readonly FiveAgentRole[];
|
|
4
4
|
export declare function isFiveAgentRole(value: unknown): value is FiveAgentRole;
|
|
5
|
-
//# sourceMappingURL=roles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/orchestration/five-agent/roles.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAA6B,MAAM,CAAC,MAAM,CAAC;IACtE,SAAS;IACT,YAAY;IACZ,WAAW;IACX,UAAU;IACV,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC1B,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC"}
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/orchestration/five-agent/roles.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAA6B,MAAM,CAAC,MAAM,CAAC;IACtE,SAAS;IACT,YAAY;IACZ,WAAW;IACX,UAAU;IACV,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC1B,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC","sourcesContent":["/** Canonical roles of the optional Five-Agent workflow strategy. */\nexport type FiveAgentRole = 'planner' | 'researcher' | 'evaluator' | 'executor' | 'reviewer';\n\nexport const FIVE_AGENT_ROLES: readonly FiveAgentRole[] = Object.freeze([\n 'planner',\n 'researcher',\n 'evaluator',\n 'executor',\n 'reviewer',\n]);\n\nexport function isFiveAgentRole(value: unknown): value is FiveAgentRole {\n return typeof value === 'string'\n && (FIVE_AGENT_ROLES as readonly string[]).includes(value);\n}\n"]}
|
|
@@ -7,4 +7,8 @@ export type AgentOutputElement = OutputElement | {
|
|
|
7
7
|
};
|
|
8
8
|
/** Human-readable projection for logs, metrics and the already-told ledger. */
|
|
9
9
|
export declare function renderAgentOutput(output: readonly AgentOutputElement[]): string;
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Chat messages in send order: every `message` element starts its own message;
|
|
12
|
+
* other elements (tool media, cards, text) join the message before them.
|
|
13
|
+
*/
|
|
14
|
+
export declare function splitOutputMessages(output: readonly AgentOutputElement[]): AgentOutputElement[][];
|
|
@@ -13,4 +13,18 @@ export function renderAgentOutput(output) {
|
|
|
13
13
|
}).join('')
|
|
14
14
|
: renderToPlainText([element])).join('\n');
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Chat messages in send order: every `message` element starts its own message;
|
|
18
|
+
* other elements (tool media, cards, text) join the message before them.
|
|
19
|
+
*/
|
|
20
|
+
export function splitOutputMessages(output) {
|
|
21
|
+
const messages = [];
|
|
22
|
+
for (const element of output) {
|
|
23
|
+
if (element.type === 'message' || messages.length === 0)
|
|
24
|
+
messages.push([element]);
|
|
25
|
+
else
|
|
26
|
+
messages.at(-1).push(element);
|
|
27
|
+
}
|
|
28
|
+
return messages;
|
|
29
|
+
}
|
|
16
30
|
//# sourceMappingURL=agent-output.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-output.js","sourceRoot":"","sources":["../../src/outbound/agent-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAC;AASpE,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,MAAqC;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;QACrD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjE,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACb,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"}
|
|
1
|
+
{"version":3,"file":"agent-output.js","sourceRoot":"","sources":["../../src/outbound/agent-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAC;AASpE,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,MAAqC;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;QACrD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjE,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACb,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAqC;IACvE,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;YAC7E,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import { renderToPlainText, type OutputElement } from '@zhin.js/ai';\nimport type { Segment } from '@zhin.js/im-contract';\n\n/** IM output belongs to Agent; the reusable AI engine stays transport-neutral. */\nexport type AgentOutputElement = OutputElement | {\n type: 'message';\n segments: Segment[];\n};\n\n/** Human-readable projection for logs, metrics and the already-told ledger. */\nexport function renderAgentOutput(output: readonly AgentOutputElement[]): string {\n return output.map(element => element.type === 'message'\n ? element.segments.map(segment => {\n if (segment.type === 'text') return String(segment.data.text);\n if (segment.type === 'markdown') return String(segment.data.content);\n if (segment.type === 'mention') return `@${segment.data.target}`;\n return `[${segment.type}]`;\n }).join('')\n : renderToPlainText([element])).join('\\n');\n}\n\n/**\n * Chat messages in send order: every `message` element starts its own message;\n * other elements (tool media, cards, text) join the message before them.\n */\nexport function splitOutputMessages(output: readonly AgentOutputElement[]): AgentOutputElement[][] {\n const messages: AgentOutputElement[][] = [];\n for (const element of output) {\n if (element.type === 'message' || messages.length === 0) messages.push([element]);\n else messages.at(-1)!.push(element);\n }\n return messages;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-proactive.js","sourceRoot":"","sources":["../../src/outbound/send-proactive.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"send-proactive.js","sourceRoot":"","sources":["../../src/outbound/send-proactive.ts"],"names":[],"mappings":"","sourcesContent":["import type { AgentOutputElement } from './agent-output.js';\n/** Proactive delivery contracts implemented by the generation-owned IM runtime. */\nimport type { IMSceneRef, SendContent } from '@zhin.js/core';\n\nexport type ProactiveSendSource =\n | 'scheduled'\n | 'notification'\n | 'ask_user'\n | 'subagent'\n | 'host';\n\nexport interface ProactiveSendContext {\n scene: IMSceneRef;\n source: ProactiveSendSource;\n quoteMessageId?: string;\n}\n\nexport interface ProactiveOutboundService {\n send(ctx: ProactiveSendContext, content: SendContent): Promise<string>;\n sendElements(ctx: ProactiveSendContext, elements: AgentOutputElement[]): Promise<string[]>;\n}\n"]}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { type AiOutboundSegmentProfile } from '@zhin.js/core';
|
|
1
2
|
import type { AgentOutputElement } from './agent-output.js';
|
|
3
|
+
/** Provider-facing schema for exactly this endpoint profile (cached, stable identity). */
|
|
4
|
+
export declare function structuredReplySchema(profile?: AiOutboundSegmentProfile): Record<string, unknown>;
|
|
5
|
+
/** The final-reply contract for this endpoint; lists only the segment types it can deliver. */
|
|
6
|
+
export declare function structuredReplyInstruction(profile?: AiOutboundSegmentProfile): string;
|
|
2
7
|
export declare const STRUCTURED_REPLY_INSTRUCTION: string;
|
|
3
8
|
/** Reject the whole response on mismatch: never deliver raw JSON or partial segments. */
|
|
4
|
-
export declare function decodeStructuredReply(raw: string): AgentOutputElement[];
|
|
5
|
-
//# sourceMappingURL=structured-reply.d.ts.map
|
|
9
|
+
export declare function decodeStructuredReply(raw: string, profile?: AiOutboundSegmentProfile): AgentOutputElement[];
|
|
@@ -1,18 +1,51 @@
|
|
|
1
1
|
import Ajv from 'ajv';
|
|
2
|
-
import { aiOutboundJsonSchema } from '@zhin.js/core';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
import { aiOutboundJsonSchema, buildAiOutboundJsonSchema, DEFAULT_AI_OUTBOUND_SEGMENT_TYPES, } from '@zhin.js/core';
|
|
3
|
+
const ajv = new Ajv();
|
|
4
|
+
// Compiled, stateless contract validators keyed by segment set; no generation-owned data.
|
|
5
|
+
const validators = new Map();
|
|
6
|
+
const DEFAULT_PROFILE = { types: DEFAULT_AI_OUTBOUND_SEGMENT_TYPES };
|
|
7
|
+
const schemas = new Map([[key(DEFAULT_PROFILE), aiOutboundJsonSchema]]);
|
|
8
|
+
function key(profile) {
|
|
9
|
+
return JSON.stringify([[...profile.types].sort(), profile.extensions ?? {}]);
|
|
10
|
+
}
|
|
11
|
+
/** Provider-facing schema for exactly this endpoint profile (cached, stable identity). */
|
|
12
|
+
export function structuredReplySchema(profile = DEFAULT_PROFILE) {
|
|
13
|
+
const id = key(profile);
|
|
14
|
+
let schema = schemas.get(id);
|
|
15
|
+
if (!schema)
|
|
16
|
+
schemas.set(id, schema = buildAiOutboundJsonSchema(profile.types, profile.extensions));
|
|
17
|
+
return schema;
|
|
18
|
+
}
|
|
19
|
+
const SEGMENT_GUIDE = [
|
|
20
|
+
[['text'], 'text: {"type":"text","data":{"text":"..."}} for plain text.'],
|
|
21
|
+
[['mention'], 'mention: {"type":"mention","data":{"target":"<user id>"}}. The target is a real user platform ID from the current conversation context or a member lookup tool result, never an endpoint ID, role or guessed nickname, and always a JSON string even for numeric IDs ("123", never 123). Use the Sender id to mention the current sender; to mention someone else by name, look the member up with the available platform tools; if the name is ambiguous or no ID is available, ask for clarification in a text segment.'],
|
|
22
|
+
[['markdown'], 'markdown: {"type":"markdown","data":{"content":"..."}} for formatted text (lists, bold, code, tables); platforms without Markdown receive plain text.'],
|
|
23
|
+
[['image', 'audio', 'video', 'file'], 'image / audio / video / file: {"type":"image","data":{"media":{"kind":"url","value":"https://..."}}}; kind is url, path (a workspace file) or base64. Only reference media you produced or were given; never Markdown image syntax.'],
|
|
24
|
+
[['keyboard'], 'keyboard: {"type":"keyboard","data":{"rows":[[{"label":"查看详情","payload":"/detail 1"}]]}} offers quick-reply buttons (at most 5 per row); tapping one sends its payload as the user\'s next message. Place it after the text it belongs to and use it only for concrete next steps.'],
|
|
25
|
+
[['share'], 'share: {"type":"share","data":{"url":"https://...","title":"..."}} for a link card.'],
|
|
26
|
+
[['dice', 'rps'], 'dice / rps: {"type":"dice","data":{}} or {"type":"rps","data":{}} sends the platform\'s random dice or rock-paper-scissors.'],
|
|
27
|
+
];
|
|
28
|
+
/** The final-reply contract for this endpoint; lists only the segment types it can deliver. */
|
|
29
|
+
export function structuredReplyInstruction(profile = DEFAULT_PROFILE) {
|
|
30
|
+
const { types } = profile;
|
|
31
|
+
const hints = types.flatMap(type => {
|
|
32
|
+
const hint = profile.extensions?.[type]?.hint;
|
|
33
|
+
return hint ? [`- ${type} on this platform: ${hint}`] : [];
|
|
34
|
+
});
|
|
35
|
+
return [
|
|
36
|
+
'Your final reply must be a JSON object matching the supplied schema: {"messages":[{"segments":[...]}]} with no Markdown fence or surrounding prose.',
|
|
37
|
+
'Each item of messages is one chat message, sent in order. Usually send one; split into two or three only where a person would send separate messages, such as a quick reaction followed by the answer. Example: {"messages":[{"segments":[{"type":"text","data":{"text":"调好了"}}]},{"segments":[{"type":"text","data":{"text":"你再试试"}}]}]}.',
|
|
38
|
+
`Segment types available on this platform: ${types.join(', ')}.`,
|
|
39
|
+
...SEGMENT_GUIDE.filter(([covers]) => covers.some(type => types.includes(type))).map(([, line]) => `- ${line}`),
|
|
40
|
+
...hints,
|
|
41
|
+
'Do not invent IDs or media references. Plain @name text does not notify anyone. Keep mentions, media and buttons as their own segments and preserve the intended order.',
|
|
42
|
+
'The reply already goes to this conversation: mention someone only to call that person in.',
|
|
43
|
+
'Business tool calls use their normal tool schemas; this message schema describes only the final user-facing answer, including the json response tool when supplied. Use {"messages":[]} only when no reply is needed.',
|
|
44
|
+
].join('\n');
|
|
45
|
+
}
|
|
46
|
+
export const STRUCTURED_REPLY_INSTRUCTION = structuredReplyInstruction();
|
|
14
47
|
/** Reject the whole response on mismatch: never deliver raw JSON or partial segments. */
|
|
15
|
-
export function decodeStructuredReply(raw) {
|
|
48
|
+
export function decodeStructuredReply(raw, profile = DEFAULT_PROFILE) {
|
|
16
49
|
let value;
|
|
17
50
|
try {
|
|
18
51
|
value = JSON.parse(raw);
|
|
@@ -20,6 +53,18 @@ export function decodeStructuredReply(raw) {
|
|
|
20
53
|
catch {
|
|
21
54
|
throw new Error('Agent final reply is not valid JSON');
|
|
22
55
|
}
|
|
56
|
+
// Replies persisted before multi-message replies are a single {segments} message; models may echo it.
|
|
57
|
+
if (value && typeof value === 'object' && !Array.isArray(value) && 'segments' in value && !('messages' in value)) {
|
|
58
|
+
value = { messages: [value] };
|
|
59
|
+
}
|
|
60
|
+
const id = key(profile);
|
|
61
|
+
let validateReply = validators.get(id);
|
|
62
|
+
if (!validateReply)
|
|
63
|
+
validators.set(id, validateReply = ajv.compile(structuredReplySchema(profile)));
|
|
64
|
+
// Models often write IDs (mention targets, reply ids) as JSON numbers; a number where the schema
|
|
65
|
+
// wants a string is the same ID, not a format error worth a correction call.
|
|
66
|
+
if (!validateReply(value))
|
|
67
|
+
stringifyNumbersWhereStringsExpected(value, validateReply.errors ?? []);
|
|
23
68
|
if (!validateReply(value)) {
|
|
24
69
|
const errors = validateReply.errors ?? [];
|
|
25
70
|
const fields = errors.filter(error => error.keyword === 'type' && error.instancePath.includes('/data/'));
|
|
@@ -27,6 +72,32 @@ export function decodeStructuredReply(raw) {
|
|
|
27
72
|
.map(error => `${error.instancePath || '/'} ${error.message}`).join('; ');
|
|
28
73
|
throw new Error(`Agent final reply does not match the message schema: ${detail}`);
|
|
29
74
|
}
|
|
30
|
-
return value.
|
|
75
|
+
return value.messages.filter(message => message.segments.length > 0)
|
|
76
|
+
.map(message => ({ type: 'message', segments: message.segments.map(segment => withoutEmptyModelFields(segment, profile)) }));
|
|
77
|
+
}
|
|
78
|
+
function stringifyNumbersWhereStringsExpected(value, errors) {
|
|
79
|
+
for (const error of errors) {
|
|
80
|
+
if (error.keyword !== 'type' || error.params.type !== 'string')
|
|
81
|
+
continue;
|
|
82
|
+
const path = error.instancePath.split('/').slice(1).map(part => part.replaceAll('~1', '/').replaceAll('~0', '~'));
|
|
83
|
+
const field = path.pop();
|
|
84
|
+
let parent = value;
|
|
85
|
+
for (const part of path)
|
|
86
|
+
parent = parent?.[part];
|
|
87
|
+
if (field === undefined || !parent || typeof parent !== 'object')
|
|
88
|
+
continue;
|
|
89
|
+
const current = parent[field];
|
|
90
|
+
if (typeof current === 'number' && Number.isSafeInteger(current))
|
|
91
|
+
parent[field] = String(current);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** Declared extension fields are required in the schema; "" means the model had no value. */
|
|
95
|
+
function withoutEmptyModelFields(segment, profile) {
|
|
96
|
+
const fields = profile.extensions?.[segment.type]?.fields;
|
|
97
|
+
const data = segment.data;
|
|
98
|
+
if (!fields?.some(field => data[field] === ''))
|
|
99
|
+
return segment;
|
|
100
|
+
return { ...segment, data: Object.fromEntries(Object.entries(data)
|
|
101
|
+
.filter(([field, value]) => !(fields.includes(field) && value === ''))) };
|
|
31
102
|
}
|
|
32
103
|
//# sourceMappingURL=structured-reply.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-reply.js","sourceRoot":"","sources":["../../src/outbound/structured-reply.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAIrD,gFAAgF;AAChF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,CAA0B,oBAAoB,CAAC,CAAC;AAEvF,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,sIAAsI;IACtI,6KAA6K;IAC7K,qPAAqP;IACrP,mOAAmO;IACnO,+PAA+P;IAC/P,0IAA0I;IAC1I,uNAAuN;CACxN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,yFAAyF;AACzF,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAAC,CAAC;IAClG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACzD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,wDAAwD,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC"}
|
|
1
|
+
{"version":3,"file":"structured-reply.js","sourceRoot":"","sources":["../../src/outbound/structured-reply.ts"],"names":[],"mappings":"AAAA,OAAO,GAAgD,MAAM,KAAK,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,iCAAiC,GAGlC,MAAM,eAAe,CAAC;AAIvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;AACtB,0FAA0F;AAC1F,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6C,CAAC;AAKxE,MAAM,eAAe,GAA6B,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;AAC/F,MAAM,OAAO,GAAG,IAAI,GAAG,CAAkC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAEzG,SAAS,GAAG,CAAC,OAAiC;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,qBAAqB,CAAC,UAAoC,eAAe;IACvF,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACpG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,aAAa,GAAqE;IACtF,CAAC,CAAC,MAAM,CAAC,EAAE,6DAA6D,CAAC;IACzE,CAAC,CAAC,SAAS,CAAC,EAAE,2fAA2f,CAAC;IAC1gB,CAAC,CAAC,UAAU,CAAC,EAAE,uJAAuJ,CAAC;IACvK,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,qOAAqO,CAAC;IAC5Q,CAAC,CAAC,UAAU,CAAC,EAAE,oRAAoR,CAAC;IACpS,CAAC,CAAC,OAAO,CAAC,EAAE,qFAAqF,CAAC;IAClG,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,6HAA6H,CAAC;CACjJ,CAAC;AAEF,+FAA+F;AAC/F,MAAM,UAAU,0BAA0B,CAAC,UAAoC,eAAe;IAC5F,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,OAAO;QACL,qJAAqJ;QACrJ,4UAA4U;QAC5U,6CAA6C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAChE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/G,GAAG,KAAK;QACR,yKAAyK;QACzK,2FAA2F;QAC3F,uNAAuN;KACxN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,EAAE,CAAC;AAEzE,yFAAyF;AACzF,MAAM,UAAU,qBAAqB,CACnC,GAAW,EACX,UAAoC,eAAe;IAEnD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAAC,CAAC;IAClG,sGAAsG;IACtG,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,IAAI,KAAK,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,EAAE,CAAC;QACjH,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAChC,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,IAAI,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,aAAa;QAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAAkB,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrH,iGAAiG;IACjG,6EAA6E;IAC7E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,oCAAoC,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACnG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACzD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,wDAAwD,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SACjE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjI,CAAC;AAED,SAAS,oCAAoC,CAAC,KAAc,EAAE,MAA8B;IAC1F,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAK,KAAK,CAAC,MAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACjG,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAClH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,MAAM,GAAY,KAAK,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,IAAI;YAAE,MAAM,GAAI,MAA8C,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1F,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,SAAS;QAC3E,MAAM,OAAO,GAAI,MAAkC,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;YAAG,MAAkC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjI,CAAC;AACH,CAAC;AAED,6FAA6F;AAC7F,SAAS,uBAAuB,CAAC,OAAgB,EAAE,OAAiC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAA6B,CAAC,EAAE,MAAM,CAAC;IACnF,MAAM,IAAI,GAAG,OAAO,CAAC,IAA+B,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/D,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aAC/D,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAa,CAAC;AACzF,CAAC","sourcesContent":["import Ajv, { type ErrorObject, type ValidateFunction } from 'ajv';\nimport {\n aiOutboundJsonSchema,\n buildAiOutboundJsonSchema,\n DEFAULT_AI_OUTBOUND_SEGMENT_TYPES,\n type AiOutboundSegmentProfile,\n type AiOutboundSegmentType,\n} from '@zhin.js/core';\nimport type { Segment } from '@zhin.js/im-contract';\nimport type { AgentOutputElement } from './agent-output.js';\n\nconst ajv = new Ajv();\n// Compiled, stateless contract validators keyed by segment set; no generation-owned data.\nconst validators = new Map<string, ValidateFunction<StructuredReply>>();\n\ninterface StructuredReply {\n messages: { segments: Segment[] }[];\n}\nconst DEFAULT_PROFILE: AiOutboundSegmentProfile = { types: DEFAULT_AI_OUTBOUND_SEGMENT_TYPES };\nconst schemas = new Map<string, Record<string, unknown>>([[key(DEFAULT_PROFILE), aiOutboundJsonSchema]]);\n\nfunction key(profile: AiOutboundSegmentProfile): string {\n return JSON.stringify([[...profile.types].sort(), profile.extensions ?? {}]);\n}\n\n/** Provider-facing schema for exactly this endpoint profile (cached, stable identity). */\nexport function structuredReplySchema(profile: AiOutboundSegmentProfile = DEFAULT_PROFILE): Record<string, unknown> {\n const id = key(profile);\n let schema = schemas.get(id);\n if (!schema) schemas.set(id, schema = buildAiOutboundJsonSchema(profile.types, profile.extensions));\n return schema;\n}\n\nconst SEGMENT_GUIDE: readonly (readonly [readonly AiOutboundSegmentType[], string])[] = [\n [['text'], 'text: {\"type\":\"text\",\"data\":{\"text\":\"...\"}} for plain text.'],\n [['mention'], 'mention: {\"type\":\"mention\",\"data\":{\"target\":\"<user id>\"}}. The target is a real user platform ID from the current conversation context or a member lookup tool result, never an endpoint ID, role or guessed nickname, and always a JSON string even for numeric IDs (\"123\", never 123). Use the Sender id to mention the current sender; to mention someone else by name, look the member up with the available platform tools; if the name is ambiguous or no ID is available, ask for clarification in a text segment.'],\n [['markdown'], 'markdown: {\"type\":\"markdown\",\"data\":{\"content\":\"...\"}} for formatted text (lists, bold, code, tables); platforms without Markdown receive plain text.'],\n [['image', 'audio', 'video', 'file'], 'image / audio / video / file: {\"type\":\"image\",\"data\":{\"media\":{\"kind\":\"url\",\"value\":\"https://...\"}}}; kind is url, path (a workspace file) or base64. Only reference media you produced or were given; never Markdown image syntax.'],\n [['keyboard'], 'keyboard: {\"type\":\"keyboard\",\"data\":{\"rows\":[[{\"label\":\"查看详情\",\"payload\":\"/detail 1\"}]]}} offers quick-reply buttons (at most 5 per row); tapping one sends its payload as the user\\'s next message. Place it after the text it belongs to and use it only for concrete next steps.'],\n [['share'], 'share: {\"type\":\"share\",\"data\":{\"url\":\"https://...\",\"title\":\"...\"}} for a link card.'],\n [['dice', 'rps'], 'dice / rps: {\"type\":\"dice\",\"data\":{}} or {\"type\":\"rps\",\"data\":{}} sends the platform\\'s random dice or rock-paper-scissors.'],\n];\n\n/** The final-reply contract for this endpoint; lists only the segment types it can deliver. */\nexport function structuredReplyInstruction(profile: AiOutboundSegmentProfile = DEFAULT_PROFILE): string {\n const { types } = profile;\n const hints = types.flatMap(type => {\n const hint = profile.extensions?.[type]?.hint;\n return hint ? [`- ${type} on this platform: ${hint}`] : [];\n });\n return [\n 'Your final reply must be a JSON object matching the supplied schema: {\"messages\":[{\"segments\":[...]}]} with no Markdown fence or surrounding prose.',\n 'Each item of messages is one chat message, sent in order. Usually send one; split into two or three only where a person would send separate messages, such as a quick reaction followed by the answer. Example: {\"messages\":[{\"segments\":[{\"type\":\"text\",\"data\":{\"text\":\"调好了\"}}]},{\"segments\":[{\"type\":\"text\",\"data\":{\"text\":\"你再试试\"}}]}]}.',\n `Segment types available on this platform: ${types.join(', ')}.`,\n ...SEGMENT_GUIDE.filter(([covers]) => covers.some(type => types.includes(type))).map(([, line]) => `- ${line}`),\n ...hints,\n 'Do not invent IDs or media references. Plain @name text does not notify anyone. Keep mentions, media and buttons as their own segments and preserve the intended order.',\n 'The reply already goes to this conversation: mention someone only to call that person in.',\n 'Business tool calls use their normal tool schemas; this message schema describes only the final user-facing answer, including the json response tool when supplied. Use {\"messages\":[]} only when no reply is needed.',\n ].join('\\n');\n}\n\nexport const STRUCTURED_REPLY_INSTRUCTION = structuredReplyInstruction();\n\n/** Reject the whole response on mismatch: never deliver raw JSON or partial segments. */\nexport function decodeStructuredReply(\n raw: string,\n profile: AiOutboundSegmentProfile = DEFAULT_PROFILE,\n): AgentOutputElement[] {\n let value: unknown;\n try { value = JSON.parse(raw); } catch { throw new Error('Agent final reply is not valid JSON'); }\n // Replies persisted before multi-message replies are a single {segments} message; models may echo it.\n if (value && typeof value === 'object' && !Array.isArray(value) && 'segments' in value && !('messages' in value)) {\n value = { messages: [value] };\n }\n const id = key(profile);\n let validateReply = validators.get(id);\n if (!validateReply) validators.set(id, validateReply = ajv.compile<StructuredReply>(structuredReplySchema(profile)));\n // Models often write IDs (mention targets, reply ids) as JSON numbers; a number where the schema\n // wants a string is the same ID, not a format error worth a correction call.\n if (!validateReply(value)) stringifyNumbersWhereStringsExpected(value, validateReply.errors ?? []);\n if (!validateReply(value)) {\n const errors = validateReply.errors ?? [];\n const fields = errors.filter(error => error.keyword === 'type' && error.instancePath.includes('/data/'));\n const detail = (fields.length ? fields : errors).slice(0, 8)\n .map(error => `${error.instancePath || '/'} ${error.message}`).join('; ');\n throw new Error(`Agent final reply does not match the message schema: ${detail}`);\n }\n return value.messages.filter(message => message.segments.length > 0)\n .map(message => ({ type: 'message', segments: message.segments.map(segment => withoutEmptyModelFields(segment, profile)) }));\n}\n\nfunction stringifyNumbersWhereStringsExpected(value: unknown, errors: readonly ErrorObject[]): void {\n for (const error of errors) {\n if (error.keyword !== 'type' || (error.params as { type?: unknown }).type !== 'string') continue;\n const path = error.instancePath.split('/').slice(1).map(part => part.replaceAll('~1', '/').replaceAll('~0', '~'));\n const field = path.pop();\n let parent: unknown = value;\n for (const part of path) parent = (parent as Record<string, unknown> | undefined)?.[part];\n if (field === undefined || !parent || typeof parent !== 'object') continue;\n const current = (parent as Record<string, unknown>)[field];\n if (typeof current === 'number' && Number.isSafeInteger(current)) (parent as Record<string, unknown>)[field] = String(current);\n }\n}\n\n/** Declared extension fields are required in the schema; \"\" means the model had no value. */\nfunction withoutEmptyModelFields(segment: Segment, profile: AiOutboundSegmentProfile): Segment {\n const fields = profile.extensions?.[segment.type as AiOutboundSegmentType]?.fields;\n const data = segment.data as Record<string, unknown>;\n if (!fields?.some(field => data[field] === '')) return segment;\n return { ...segment, data: Object.fromEntries(Object.entries(data)\n .filter(([field, value]) => !(fields.includes(field) && value === ''))) } as Segment;\n}\n"]}
|
|
@@ -2,4 +2,3 @@ import type { AIHookEvent } from './resource-hub/types.js';
|
|
|
2
2
|
import type { AIEventPayload } from './ai-event-contract.js';
|
|
3
3
|
/** Emit AI hook and session lifecycle events onto the Runtime bus. */
|
|
4
4
|
export declare function emitAIHookBusEvent(event: AIHookEvent, source: AIEventPayload['source'], agentId?: string): void;
|
|
5
|
-
//# sourceMappingURL=plugin-ai-hook-bus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-ai-hook-bus.js","sourceRoot":"","sources":["../src/plugin-ai-hook-bus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,sEAAsE;AACtE,MAAM,UAAU,kBAAkB,CAChC,KAAkB,EAClB,MAAgC,EAChC,OAAgB;IAEhB,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACvD,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3D,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"plugin-ai-hook-bus.js","sourceRoot":"","sources":["../src/plugin-ai-hook-bus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,sEAAsE;AACtE,MAAM,UAAU,kBAAkB,CAChC,KAAkB,EAClB,MAAgC,EAChC,OAAgB;IAEhB,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACvD,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3D,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;AACH,CAAC","sourcesContent":["import type { AIHookEvent } from './resource-hub/types.js';\nimport { createAIHookBusPayload } from './ai-event-bus.js';\nimport type { AIEventPayload } from './ai-event-contract.js';\nimport { aiHookRuntimeBus } from './ai-hook-runtime-bus.js';\n\n/** Emit AI hook and session lifecycle events onto the Runtime bus. */\nexport function emitAIHookBusEvent(\n event: AIHookEvent,\n source: AIEventPayload['source'],\n agentId?: string,\n): void {\n const payload = createAIHookBusPayload(event, source, agentId);\n aiHookRuntimeBus.emit('ai.hook', payload);\n if (event.type === 'session' && event.action === 'new') {\n aiHookRuntimeBus.emit('ai.session.new', payload);\n }\n if (event.type === 'session' && event.action === 'compact') {\n aiHookRuntimeBus.emit('ai.session.compact', payload);\n }\n}\n"]}
|
|
@@ -29,4 +29,3 @@ export declare class PluginAILoopHookRegistry {
|
|
|
29
29
|
runAfterToolCall(ctx: PluginAfterToolCallContext): Promise<void>;
|
|
30
30
|
runTransformContext(messages: AgentMessage[], ctx: PluginTransformContextContext): Promise<AgentMessage[]>;
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=plugin-loop-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-loop-hooks.js","sourceRoot":"","sources":["../src/plugin-loop-hooks.ts"],"names":[],"mappings":"AAkCA,MAAM,OAAO,wBAAwB;IAClB,cAAc,GAAkC,EAAE,CAAC;IACnD,aAAa,GAAiC,EAAE,CAAC;IACjD,iBAAiB,GAAoC,EAAE,CAAC;IAEzE,gBAAgB,CAAC,OAAoC;QACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,OAAmC;QACjD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,OAAsC;QACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,GAAgC;QAEhC,IAAI,MAAwC,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;oBAC1C,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;wBAAE,OAAO,MAAM,CAAC;gBAC9C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAA+B;QACpD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAAwB,EACxB,GAAkC;QAElC,IAAI,GAAG,GAAG,QAAQ,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"plugin-loop-hooks.js","sourceRoot":"","sources":["../src/plugin-loop-hooks.ts"],"names":[],"mappings":"AAkCA,MAAM,OAAO,wBAAwB;IAClB,cAAc,GAAkC,EAAE,CAAC;IACnD,aAAa,GAAiC,EAAE,CAAC;IACjD,iBAAiB,GAAoC,EAAE,CAAC;IAEzE,gBAAgB,CAAC,OAAoC;QACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,OAAmC;QACjD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,OAAsC;QACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,GAAgC;QAEhC,IAAI,MAAwC,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;oBAC1C,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;wBAAE,OAAO,MAAM,CAAC;gBAC9C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAA+B;QACpD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAAwB,EACxB,GAAkC;QAElC,IAAI,GAAG,GAAG,QAAQ,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF","sourcesContent":["/**\n * Plugin hooks bridged to agentLoop (ADR 0010 D5).\n */\nimport type { AgentMessage, BeforeToolCallResult, ParsedToolCall } from '@zhin.js/ai';\n\nexport interface PluginBeforeToolCallContext {\n toolCall: ParsedToolCall;\n sessionId?: string;\n}\n\nexport interface PluginAfterToolCallContext {\n toolCall: ParsedToolCall;\n result: AgentMessage;\n sessionId?: string;\n}\n\nexport interface PluginTransformContextContext {\n sessionId?: string;\n signal?: AbortSignal;\n}\n\nexport type PluginBeforeToolCallHandler = (\n ctx: PluginBeforeToolCallContext,\n) => Promise<BeforeToolCallResult | void> | BeforeToolCallResult | void;\n\nexport type PluginAfterToolCallHandler = (\n ctx: PluginAfterToolCallContext,\n) => Promise<void> | void;\n\nexport type PluginTransformContextHandler = (\n messages: AgentMessage[],\n ctx: PluginTransformContextContext,\n) => Promise<AgentMessage[]> | AgentMessage[];\n\nexport class PluginAILoopHookRegistry {\n private readonly beforeHandlers: PluginBeforeToolCallHandler[] = [];\n private readonly afterHandlers: PluginAfterToolCallHandler[] = [];\n private readonly transformHandlers: PluginTransformContextHandler[] = [];\n\n onBeforeToolCall(handler: PluginBeforeToolCallHandler): () => void {\n this.beforeHandlers.push(handler);\n return () => {\n const i = this.beforeHandlers.indexOf(handler);\n if (i >= 0) this.beforeHandlers.splice(i, 1);\n };\n }\n\n onAfterToolCall(handler: PluginAfterToolCallHandler): () => void {\n this.afterHandlers.push(handler);\n return () => {\n const i = this.afterHandlers.indexOf(handler);\n if (i >= 0) this.afterHandlers.splice(i, 1);\n };\n }\n\n onTransformContext(handler: PluginTransformContextHandler): () => void {\n this.transformHandlers.push(handler);\n return () => {\n const i = this.transformHandlers.indexOf(handler);\n if (i >= 0) this.transformHandlers.splice(i, 1);\n };\n }\n\n async runBeforeToolCall(\n ctx: PluginBeforeToolCallContext,\n ): Promise<BeforeToolCallResult | void> {\n let merged: BeforeToolCallResult | undefined;\n for (const handler of this.beforeHandlers) {\n try {\n const result = await handler(ctx);\n if (result) {\n merged = { ...(merged ?? {}), ...result };\n if (result.allowed === false) return merged;\n }\n } catch {\n // isolate plugin errors\n }\n }\n return merged;\n }\n\n async runAfterToolCall(ctx: PluginAfterToolCallContext): Promise<void> {\n for (const handler of this.afterHandlers) {\n try {\n await handler(ctx);\n } catch {\n // isolate\n }\n }\n }\n\n async runTransformContext(\n messages: AgentMessage[],\n ctx: PluginTransformContextContext,\n ): Promise<AgentMessage[]> {\n let out = messages;\n for (const handler of this.transformHandlers) {\n try {\n out = await handler(out, ctx);\n } catch {\n // isolate\n }\n }\n return out;\n }\n}\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { AgentEventBus } from '../event/ai-event-bus.js';
|
|
2
2
|
/** Generation-owned Agent lifecycle event publication boundary. */
|
|
3
3
|
export declare const agentEventBusToken: import("@zhin.js/plugin-runtime").Token<AgentEventBus>;
|
|
4
|
-
//# sourceMappingURL=agent-event-bus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-event-bus.js","sourceRoot":"","sources":["../../src/plugin-runtime/agent-event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,mEAAmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAC3C,sBAAsB,EACtB,2DAA2D,CAC5D,CAAC"}
|
|
1
|
+
{"version":3,"file":"agent-event-bus.js","sourceRoot":"","sources":["../../src/plugin-runtime/agent-event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,mEAAmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAC3C,sBAAsB,EACtB,2DAA2D,CAC5D,CAAC","sourcesContent":["import { createToken } from '@zhin.js/plugin-runtime';\nimport type { AgentEventBus } from '../event/ai-event-bus.js';\n\n/** Generation-owned Agent lifecycle event publication boundary. */\nexport const agentEventBusToken = createToken<AgentEventBus>(\n 'zhin.agent.event-bus',\n 'Agent lifecycle event bus owned by one Runtime generation',\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-host-port.js","sourceRoot":"","sources":["../../src/plugin-runtime/agent-host-port.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA8CtD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CACvC,iBAAiB,EACjB,mFAAmF,CACpF,CAAC"}
|
|
1
|
+
{"version":3,"file":"agent-host-port.js","sourceRoot":"","sources":["../../src/plugin-runtime/agent-host-port.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA8CtD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CACvC,iBAAiB,EACjB,mFAAmF,CACpF,CAAC","sourcesContent":["import { createToken } from '@zhin.js/plugin-runtime';\nimport type { AssistantRuntimeHandle } from '../assistant/runtime-contract.js';\nimport type { SessionTreeRuntimeHandle } from '../session-tree-runtime.js';\nimport type { AgentTraceRuntimeHandle } from './agent-trace-runtime.js';\nimport type { ResolvedAgentBinding } from '../config/types.js';\nimport type { TurnOutcome, TurnRequest } from '../turn/turn-ingress.js';\n\n/**\n * Stable Host boundary for protocols that expose Agent capabilities externally.\n * Consumers must not reach into CLI installer state or the legacy Plugin graph.\n */\nexport interface AgentHostPort {\n readonly protocol: AgentHostProtocolPort;\n readonly introspection: AgentHostIntrospectionPort;\n readonly console: AgentHostConsolePort;\n}\n\n/**\n * Canonical protocol seam. A2A/HTTP adapters may enumerate configured\n * bindings and submit a TurnRequest, but concrete AIService/ZhinAgent objects\n * never escape the Agent Host.\n */\nexport interface AgentHostProtocolPort {\n listBindings(): readonly ResolvedAgentBinding[];\n execute(bindingName: string, request: TurnRequest): Promise<TurnOutcome>;\n}\n\nexport interface AgentHostMcpSummary {\n readonly name: string;\n readonly connected: boolean;\n readonly toolCount: number;\n}\n\n/** Read-only projection for Console; no concrete ZhinAgent may escape through it. */\nexport interface AgentHostIntrospectionPort {\n listMcpServers(): readonly AgentHostMcpSummary[];\n}\n\nexport interface AgentHostConsolePort {\n readonly sessionTree: SessionTreeRuntimeHandle;\n /** Bindings from this exact generation, used for Catalog display and validation. */\n listBindings(): readonly ResolvedAgentBinding[];\n readonly assistant: AssistantRuntimeHandle | null;\n readonly trace: AgentTraceRuntimeHandle;\n}\n\nexport const agentHostToken = createToken<AgentHostPort>(\n 'zhin.host.agent',\n 'Canonical Agent protocol and operational projections owned by the Root generation',\n);\n"]}
|
|
@@ -72,4 +72,3 @@ export declare class AgentRuntime extends SnapshotAttachedRuntime {
|
|
|
72
72
|
}
|
|
73
73
|
export declare function expandMcpTools(capabilities: AgentCapabilities, allowedServers: readonly string[]): Promise<ToolCapability[]>;
|
|
74
74
|
export {};
|
|
75
|
-
//# sourceMappingURL=agent-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/agent-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/agent-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { createToken, type PluginId, type SnapshotLease, type SnapshotReader } from '@zhin.js/plugin-runtime';\nimport { applyTurnTrust } from '../security/trust-level.js';\nimport type { JournalStore } from '@zhin.js/ai/journal-store';\nimport { PersistentTurnJournal } from '../journal/persistent-turn-journal.js';\nimport { TurnTraceCollector } from '../trace/turn-trace.js';\nimport { createTracingJournal, registerTurnTrace } from '../trace/turn-trace-registry.js';\nimport { createJournalFeed } from '../turn/journal-feed.js';\nimport type { TurnTraceStore } from '../trace/turn-trace-store.js';\nimport { executeAgentTurn, type TurnEventObserver } from '../turn/execute-agent-turn.js';\nimport {\n createTurnIngress,\n type TurnOutcome,\n type TurnRequest,\n} from '../turn/turn-ingress.js';\nimport {\n CapabilityIngress,\n type AgentCapabilities,\n type ToolCapability,\n} from './capability-ingress.js';\nimport { TurnToolRuntime, type TurnToolOutcome } from '../tool/turn-tool-runtime.js';\nimport { requireToolInputSchema, type ToolDescriptor } from '@zhin.js/tool';\nimport type { ResolvedAgentBinding } from '../config/types.js';\nimport { runWithAgentTurnConfiguration } from '../turn/agent-turn-context.js';\nimport { TurnSupersededError } from '../turn/prompt-controller.js';\nimport { createConversationReferenceCapability } from '../tool/conversation-reference-tool.js';\nimport { drainAgentTurnDecisionObservations, runWithAgentDecisionTurn } from './decision-runtime.js';\nimport type { AgentDecisionRuntime } from '../decision/types.js';\n\nabstract class SnapshotAttachedRuntime {\n protected snapshots?: SnapshotReader;\n\n attach(snapshots: SnapshotReader): void {\n if (this.snapshots && this.snapshots !== snapshots) {\n throw new Error(`${this.constructor.name} is already attached to another Root`);\n }\n this.snapshots = snapshots;\n }\n\n protected requireSnapshots(): SnapshotReader {\n if (!this.snapshots) throw new Error(`${this.constructor.name} is not attached to a Root`);\n return this.snapshots;\n }\n}\n\nexport const turnJournalStoreToken = createToken<JournalStore>(\n 'zhin.agent.turn-journal-store',\n 'Durable Agent turn event journal store',\n);\n\nexport interface ExternalToolCapability extends ToolDescriptor {\n execute(input: Readonly<Record<string, unknown>>, toolUseId: string): Promise<TurnToolOutcome>;\n}\n\n/** Canonical fixed-generation execution authority for external tool protocols. */\nexport class ToolIngressRuntime extends SnapshotAttachedRuntime {\n readonly #ingress = new CapabilityIngress();\n\n async withTools<TResult>(\n owner: PluginId,\n request: TurnRequest,\n operation: (tools: readonly ExternalToolCapability[]) => TResult | Promise<TResult>,\n ): Promise<TResult> {\n const lease = this.requireSnapshots().acquire();\n let active = true;\n try {\n const capabilities = await this.#ingress.read(lease.value, owner, () => active, request);\n let invocationSequence = 0;\n const tools = Object.freeze(capabilities.tools\n .filter((tool) => !tool.hidden)\n .map(({ execute: _execute, ...descriptor }) => Object.freeze({\n ...descriptor,\n execute: async (input: Readonly<Record<string, unknown>>, toolUseId: string) => {\n if (!active) throw new Error('External Tool capability scope has ended');\n invocationSequence += 1;\n const invocationRequest: TurnRequest = {\n ...request,\n identity: {\n traceId: request.identity.traceId,\n turnId: `${request.identity.turnId}:${invocationSequence}`,\n },\n };\n const turn = createIngressTurn(lease.value, invocationRequest, capabilities);\n const runtime = new TurnToolRuntime(turn, capabilities.tools);\n const outcome = await runtime.execute(descriptor.name, input, toolUseId);\n await appendExternalToolTerminal(turn, outcome);\n return outcome;\n },\n })));\n return await operation(tools);\n } finally {\n active = false;\n lease.release();\n }\n }\n}\n\nasync function appendExternalToolTerminal(\n turn: import('../turn/turn-ingress.js').TurnIngress,\n outcome: TurnToolOutcome,\n): Promise<void> {\n if (outcome.status === 'completed') {\n await turn.ports.journal.append({\n type: 'turn_end',\n output: [],\n usage: { promptTokens: 0, completionTokens: 0, totalTokens: 0 },\n });\n return;\n }\n if (outcome.status === 'cancelled') {\n await turn.ports.journal.append({\n type: 'turn_cancelled',\n code: 'cancelled',\n reason: outcome.reason,\n });\n return;\n }\n const message = outcome.status === 'failed' ? outcome.error : outcome.reason;\n await turn.ports.journal.append({\n type: 'error',\n error: new Error(message),\n recoverable: false,\n });\n}\n\n/** Single Agent execution authority: snapshot + capabilities + terminal algebra. */\nexport interface AgentTurnExecutionContext {\n readonly decision?: AgentDecisionRuntime;\n readonly turn: import('../turn/turn-ingress.js').TurnIngress;\n readonly capabilities: Omit<AgentCapabilities, 'tools'> & {\n readonly tools: readonly ToolDescriptor[];\n };\n readonly tools: TurnToolRuntime;\n /** Executable descriptors bound to the same active generation lease. */\n readonly toolCapabilities: readonly ToolCapability[];\n readonly selection: AgentCapabilitySelection;\n /** Signals that this ingress has reached the ordered PromptController boundary. */\n readonly admit?: () => void;\n}\n\n/** Root-owned serialization authority shared by every Agent generation. */\nexport class AgentTurnCoordinator {\n readonly #tails = new Map<string, Promise<void>>();\n readonly #admissions = new Map<string, Promise<void>>();\n readonly #active = new Map<string, AbortController>();\n\n async run<TResult>(\n sessionKey: string,\n signal: AbortSignal,\n operation: () => Promise<TResult>,\n ): Promise<TResult> {\n const previous = this.#tails.get(sessionKey) ?? Promise.resolve();\n let release!: () => void;\n const current = new Promise<void>((resolve) => { release = resolve; });\n const tail = previous.catch(() => undefined).then(() => current);\n this.#tails.set(sessionKey, tail);\n try {\n await waitForTurn(previous.catch(() => undefined), signal);\n return await operation();\n } finally {\n release();\n if (this.#tails.get(sessionKey) === tail) this.#tails.delete(sessionKey);\n }\n }\n\n async runIntent<TResult>(\n sessionKey: string,\n signal: AbortSignal,\n intent: import('../turn/turn-ingress.js').TurnIntent,\n _principal: import('../turn/turn-ingress.js').TurnPrincipal,\n operation: (admit: () => void, signal: AbortSignal) => Promise<TResult>,\n ): Promise<TResult> {\n const previous = this.#tails.get(sessionKey) ?? Promise.resolve();\n const previousAdmission = this.#admissions.get(sessionKey);\n let admit!: () => void;\n let complete!: () => void;\n const admitted = new Promise<void>((resolve) => { admit = once(resolve); });\n const completed = new Promise<void>((resolve) => { complete = once(resolve); });\n const cumulative = Promise.all([previous.catch(() => undefined), completed]).then(() => undefined);\n const controller = new AbortController();\n const abortFromCaller = () => controller.abort(signal.reason);\n if (signal.aborted) abortFromCaller();\n else signal.addEventListener('abort', abortFromCaller, { once: true });\n this.#tails.set(sessionKey, cumulative);\n void cumulative.finally(() => {\n if (this.#tails.get(sessionKey) === cumulative) this.#tails.delete(sessionKey);\n });\n this.#admissions.set(sessionKey, admitted);\n try {\n if (intent.kind === 'new') {\n await waitForTurn(previous.catch(() => undefined), signal);\n this.#active.set(sessionKey, controller);\n } else if (intent.kind === 'supersede') {\n await waitForAdmission(previousAdmission, signal);\n this.#active.get(sessionKey)?.abort(new TurnSupersededError(sessionKey));\n await waitForTurn(previous.catch(() => undefined), signal);\n this.#active.set(sessionKey, controller);\n } else {\n await waitForAdmission(previousAdmission, signal);\n }\n return await operation(admit, controller.signal);\n } finally {\n signal.removeEventListener('abort', abortFromCaller);\n admit();\n complete();\n if (this.#active.get(sessionKey) === controller) this.#active.delete(sessionKey);\n if (this.#admissions.get(sessionKey) === admitted) this.#admissions.delete(sessionKey);\n }\n }\n}\n\nexport type AgentTurnExecutor = (\n context: AgentTurnExecutionContext,\n) => AsyncGenerator<\n import('../event/turn-event.js').TurnEvent,\n import('../turn/execute-agent-turn.js').TurnTerminalProjection | void\n>;\n\n/** Generation-owned complete Turn engine resolved from the held snapshot. */\nexport interface AgentTurnEngine {\n run: AgentTurnExecutor;\n}\n\nexport const agentTurnEngineToken = createToken<AgentTurnEngine>(\n 'zhin.agent.turn-engine',\n 'Complete Agent Turn engine owned by one Root generation',\n);\n\nexport interface AgentRuntimeOptions {\n /** Root-owned queue shared by every AgentRuntime generation of that Root. */\n readonly coordinator: AgentTurnCoordinator;\n /** Where finished TurnTraces go (`zhin trace`). Omit to disable tracing. */\n readonly turnTraceStore?: TurnTraceStore;\n}\n\nexport interface AgentCapabilitySelection {\n /** Immutable model/provider binding selected for this turn. */\n readonly binding: ResolvedAgentBinding;\n /** Binding-local MCP names. Empty means no MCP capability is exposed. */\n readonly mcpServers: readonly string[];\n /** Optional owner-visible specialist selected by the ingress router. */\n readonly agent?: string;\n}\n\nexport class AgentRuntime extends SnapshotAttachedRuntime {\n readonly #ingress = new CapabilityIngress();\n\n constructor(private readonly options: AgentRuntimeOptions) {\n super();\n }\n\n async execute(\n owner: PluginId,\n request: TurnRequest,\n selection: AgentCapabilitySelection,\n observe?: TurnEventObserver,\n ): Promise<TurnOutcome> {\n const lease = this.requireSnapshots().acquire();\n try {\n return await this.executeLeased(lease, owner, request, selection, observe);\n } finally {\n lease.release();\n }\n }\n\n /** Executes under the fixed-generation lease owned by the ingress operation. */\n async executeLeased(\n lease: SnapshotLease,\n owner: PluginId,\n request: TurnRequest,\n selection: AgentCapabilitySelection,\n observe?: TurnEventObserver,\n ): Promise<TurnOutcome> {\n const snapshots = this.requireSnapshots();\n if (!snapshots.owns(lease)) throw new Error('AgentRuntime rejected a lease owned by another Root');\n if (!lease.active) throw new Error('AgentRuntime requires an active generation lease');\n if (!request.intent) throw new TypeError('AgentRuntime requires an explicit Turn intent');\n const intent = request.intent;\n return this.options.coordinator.runIntent(\n request.session.key,\n request.signal,\n intent,\n request.principal,\n (admit, signal) => this.#executeLeased(\n lease,\n owner,\n { ...request, signal },\n selection,\n observe,\n admit,\n ),\n );\n }\n\n async #executeLeased(\n lease: SnapshotLease,\n owner: PluginId,\n request: TurnRequest,\n selection: AgentCapabilitySelection,\n observe?: TurnEventObserver,\n admit: () => void = () => undefined,\n ): Promise<TurnOutcome> {\n let active = true;\n let activeTrace: TurnTraceCollector | undefined;\n let releaseTrace: (() => void) | undefined;\n try {\n if (!active) throw new Error('Agent generation operation is not active');\n const discovered = await this.#ingress.read(\n lease.value,\n owner,\n () => active && lease.active,\n request,\n selection.agent,\n );\n const referenceCapability = createConversationReferenceCapability(owner, request);\n // #726: the initiator's trust level caps the turn (group members: no shell, writes or outbound).\n const allTools = [\n ...discovered.tools,\n ...(referenceCapability ? [referenceCapability] : []),\n ...await expandMcpTools(discovered, selection.mcpServers),\n ];\n const trust = applyTurnTrust(request, allTools);\n const capabilities = Object.freeze({\n ...discovered,\n tools: Object.freeze([...trust.tools]),\n });\n const turnRequest = trust.restricted\n ? Object.freeze({ ...request, policy: trust.policy })\n : request;\n const trace = this.options.turnTraceStore\n ? new TurnTraceCollector({\n turnId: request.identity.turnId,\n sessionKey: request.session.key,\n principal: { ...request.principal, trustLevel: trust.level },\n })\n : undefined;\n releaseTrace = trace ? registerTurnTrace(trace) : undefined;\n activeTrace = trace;\n const turn = createIngressTurn(lease.value, turnRequest, capabilities, trace);\n const catalog = Object.freeze({\n ...capabilities,\n tools: Object.freeze(capabilities.tools.map(({ execute: _execute, ...tool }) => Object.freeze(tool))),\n });\n const tools = new TurnToolRuntime(turn, capabilities.tools);\n const engine = resolveTurnEngine(lease.value);\n const disabled = Boolean(request.session.key.startsWith('workroom:') || request.input.metadata?.workroom\n || request.principal.roles.includes('workroom_assignment') || request.execution?.kind === 'schedule');\n return await runWithAgentDecisionTurn(lease.value, request.identity.turnId, decision => runWithAgentTurnConfiguration(\n { activeBinding: selection.binding },\n () => executeAgentTurn(turn, async function* () {\n const stream = engine.run({\n turn,\n capabilities: catalog,\n tools,\n toolCapabilities: capabilities.tools,\n selection,\n decision,\n admit,\n });\n try {\n while (true) {\n const next = await stream.next();\n for (const observation of drainAgentTurnDecisionObservations()) {\n yield { type: 'decision_evaluation', ...observation };\n }\n if (next.done) return next.value;\n yield next.value;\n }\n } catch (error) {\n // A later engine failure must not erase already completed decisions.\n for (const observation of drainAgentTurnDecisionObservations()) {\n yield { type: 'decision_evaluation', ...observation };\n }\n throw error;\n } finally {\n await stream.return(undefined);\n }\n }, observe),\n ), { disabled });\n } finally {\n active = false;\n releaseTrace?.();\n if (activeTrace) this.#saveTrace(activeTrace);\n }\n }\n\n #saveTrace(trace: TurnTraceCollector): void {\n trace.finalize();\n // Fire-and-forget: a slow or failing trace write must not delay the reply.\n void this.options.turnTraceStore?.save(trace.snapshot()).catch(() => undefined);\n }\n}\n\nfunction resolveTurnEngine(snapshot: import('@zhin.js/plugin-runtime').RuntimeSnapshot): AgentTurnEngine {\n const candidate = snapshot.resources.get(snapshot.root)?.get(agentTurnEngineToken.id);\n if (!candidate || typeof (candidate as AgentTurnEngine).run !== 'function') {\n throw new Error('Active generation does not provide an Agent Turn Engine');\n }\n return candidate as AgentTurnEngine;\n}\n\nasync function waitForTurn(previous: Promise<void>, signal: AbortSignal): Promise<void> {\n if (signal.aborted) throw signal.reason ?? new Error('Agent turn cancelled while queued');\n let rejectAbort!: (reason: unknown) => void;\n const aborted = new Promise<never>((_resolve, reject) => { rejectAbort = reject; });\n const onAbort = () => rejectAbort(signal.reason ?? new Error('Agent turn cancelled while queued'));\n signal.addEventListener('abort', onAbort, { once: true });\n try {\n await Promise.race([previous, aborted]);\n } finally {\n signal.removeEventListener('abort', onAbort);\n }\n}\n\nasync function waitForAdmission(previous: Promise<void> | undefined, signal: AbortSignal): Promise<void> {\n if (!previous) return;\n await waitForTurn(previous.catch(() => undefined), signal);\n}\n\nfunction once(callback: () => void): () => void {\n let called = false;\n return () => {\n if (called) return;\n called = true;\n callback();\n };\n}\n\nexport async function expandMcpTools(\n capabilities: AgentCapabilities,\n allowedServers: readonly string[],\n): Promise<ToolCapability[]> {\n const expanded: ToolCapability[] = [];\n const occupied = new Set(capabilities.tools.map((tool) => tool.name));\n for (const connection of capabilities.mcp) {\n if (!allowedServers.includes(connection.name)) continue;\n for (const tool of await connection.listTools()) {\n const name = `${connection.qualifiedName}__${tool.name}`;\n if (occupied.has(name)) {\n throw new Error(`Duplicate Agent Tool capability: ${name}`);\n }\n occupied.add(name);\n expanded.push(Object.freeze({\n owner: connection.owner,\n name,\n qualifiedName: name,\n description: tool.description?.trim() || `${connection.name} MCP tool ${tool.name}`,\n inputSchema: tool.inputSchema === undefined\n ? undefined\n : requireToolInputSchema(tool.inputSchema, `MCP Tool ${name} inputSchema`),\n requiresApproval: 'on-risk' as const,\n source: connection.source,\n execute: <TInput = unknown, TResult = unknown>(input: TInput) =>\n connection.callTool<TResult>(tool.name, input),\n }));\n }\n }\n return expanded;\n}\n\nfunction createIngressTurn(\n snapshot: import('@zhin.js/plugin-runtime').RuntimeSnapshot,\n request: TurnRequest,\n capabilities: AgentCapabilities,\n trace?: TurnTraceCollector,\n) {\n const journal = new PersistentTurnJournal({\n sessionId: request.session.key,\n turnId: request.identity.turnId,\n }, resolveJournalStore(snapshot), request.principal);\n return createTurnIngress({\n ...request,\n identity: {\n rootId: String(snapshot.root),\n generation: snapshot.generation,\n traceId: request.identity.traceId,\n turnId: request.identity.turnId,\n },\n capabilities: {\n tools: capabilities.tools.map((tool) => tool.name),\n skills: capabilities.skills.map((skill) => skill.name),\n },\n ports: {\n ...request.ports,\n journal: createJournalFeed(trace ? createTracingJournal(journal, trace) : journal, {\n turnId: request.identity.turnId,\n }),\n },\n });\n}\n\nfunction resolveJournalStore(snapshot: import('@zhin.js/plugin-runtime').RuntimeSnapshot): JournalStore {\n const store = snapshot.resources.get(snapshot.root)?.get(turnJournalStoreToken.id);\n if (!store\n || typeof (store as JournalStore).append !== 'function'\n || typeof (store as JournalStore).replay !== 'function') {\n throw new Error('Agent Turn JournalStore is not installed for this generation');\n }\n return store as JournalStore;\n}\n"]}
|
|
@@ -39,4 +39,3 @@ export declare function createAgentTraceRuntime(options?: Readonly<{
|
|
|
39
39
|
* are truncated and nesting is bounded. Used by Console trace and TurnTrace.
|
|
40
40
|
*/
|
|
41
41
|
export declare function redactTraceValue(value: unknown): unknown;
|
|
42
|
-
//# sourceMappingURL=agent-trace-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-trace-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/agent-trace-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-trace-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/agent-trace-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { TurnEvent } from '../event/turn-event.js';\n\nexport interface AgentTraceEvent {\n readonly runtimeId: string;\n readonly sequence: number;\n readonly recordedAt: number;\n readonly sessionKey: string;\n readonly turnId: string;\n readonly type: TurnEvent['type'];\n readonly data: Readonly<Record<string, unknown>>;\n}\n\nexport interface AgentTraceSnapshot {\n readonly runtimeId: string;\n readonly sessionKey: string;\n readonly events: readonly AgentTraceEvent[];\n readonly latestSequence: number;\n readonly activeTurnIds: readonly string[];\n}\n\nexport interface AgentTraceRuntimeHandle {\n list(\n sessionKey: string,\n options?: Readonly<{ afterSequence?: number; limit?: number }>,\n ): AgentTraceSnapshot;\n}\n\nexport interface AgentTraceRecorder extends AgentTraceRuntimeHandle {\n record(sessionKey: string, turnId: string, event: TurnEvent): void;\n}\n\ninterface SessionTraceBuffer {\n readonly events: AgentTraceEvent[];\n readonly activeTurnIds: Set<string>;\n latestSequence: number;\n touchedAt: number;\n}\n\nconst secretKeys = new Set([\n 'authorization',\n 'cookie',\n 'password',\n 'passwd',\n 'secret',\n 'token',\n 'accesstoken',\n 'refreshtoken',\n 'authtoken',\n 'bearertoken',\n 'apikey',\n 'privatekey',\n]);\nconst terminalTypes = new Set<TurnEvent['type']>([\n 'turn_end',\n 'error',\n 'turn_cancelled',\n 'budget_exceeded',\n]);\n\n/**\n * Generation-owned, bounded operational projection for Console. It deliberately\n * drops token chunks: the terminal output is retained, while token streaming\n * would otherwise drown the useful tool/iteration lifecycle in noise.\n */\nexport function createAgentTraceRuntime(options: Readonly<{\n maxSessions?: number;\n maxEventsPerSession?: number;\n now?: () => number;\n}> = {}): AgentTraceRecorder {\n const maxSessions = positiveInteger(options.maxSessions, 100);\n const maxEventsPerSession = positiveInteger(options.maxEventsPerSession, 500);\n const now = options.now ?? Date.now;\n const runtimeId = randomUUID();\n const sessions = new Map<string, SessionTraceBuffer>();\n\n const requireBuffer = (sessionKey: string): SessionTraceBuffer => {\n const existing = sessions.get(sessionKey);\n if (existing) return existing;\n evictOldestSession(sessions, maxSessions);\n const created: SessionTraceBuffer = {\n events: [],\n activeTurnIds: new Set(),\n latestSequence: 0,\n touchedAt: now(),\n };\n sessions.set(sessionKey, created);\n return created;\n };\n\n return Object.freeze({\n record(sessionKey: string, turnId: string, event: TurnEvent): void {\n if (!sessionKey || !turnId || event.type === 'chunk') return;\n const buffer = requireBuffer(sessionKey);\n const recordedAt = now();\n buffer.touchedAt = recordedAt;\n buffer.latestSequence += 1;\n if (event.type === 'turn_start') buffer.activeTurnIds.add(turnId);\n if (terminalTypes.has(event.type)) buffer.activeTurnIds.delete(turnId);\n buffer.events.push(Object.freeze({\n runtimeId,\n sequence: buffer.latestSequence,\n recordedAt,\n sessionKey,\n turnId,\n type: event.type,\n data: sanitizeEvent(event),\n }));\n if (buffer.events.length > maxEventsPerSession) {\n buffer.events.splice(0, buffer.events.length - maxEventsPerSession);\n }\n },\n list(\n sessionKey: string,\n listOptions: Readonly<{ afterSequence?: number; limit?: number }> = {},\n ): AgentTraceSnapshot {\n const buffer = sessions.get(sessionKey);\n if (!buffer) return emptySnapshot(runtimeId, sessionKey);\n buffer.touchedAt = now();\n const afterSequence = nonNegativeInteger(listOptions.afterSequence, 0);\n const limit = Math.min(positiveInteger(listOptions.limit, 200), maxEventsPerSession);\n const events = buffer.events.filter((event) => event.sequence > afterSequence).slice(-limit);\n return Object.freeze({\n runtimeId,\n sessionKey,\n events: Object.freeze([...events]),\n latestSequence: buffer.latestSequence,\n activeTurnIds: Object.freeze([...buffer.activeTurnIds]),\n });\n },\n });\n}\n\n/**\n * Shared trace redaction: secret-named keys become `[redacted]`, long strings\n * are truncated and nesting is bounded. Used by Console trace and TurnTrace.\n */\nexport function redactTraceValue(value: unknown): unknown {\n return sanitizeValue(value, 0);\n}\n\nfunction sanitizeEvent(event: TurnEvent): Readonly<Record<string, unknown>> {\n const { type: _type, ...data } = event;\n return Object.freeze(sanitizeRecord(data, 0));\n}\n\nfunction sanitizeRecord(value: Record<string, unknown>, depth: number): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(value).slice(0, 50).map(([key, item]) => [\n key,\n isSecretKey(key) ? '[redacted]' : sanitizeValue(item, depth + 1),\n ]),\n );\n}\n\nfunction sanitizeValue(value: unknown, depth: number): unknown {\n if (value == null || typeof value === 'boolean' || typeof value === 'number') return value;\n if (typeof value === 'string') return truncate(value, 4_000);\n if (value instanceof Error) return Object.freeze({\n name: value.name,\n message: truncate(value.message, 2_000),\n });\n if (depth >= 5) return '[max depth]';\n if (Array.isArray(value)) return Object.freeze(value.slice(0, 50).map((item) => sanitizeValue(item, depth + 1)));\n if (typeof value === 'object') return Object.freeze(sanitizeRecord(value as Record<string, unknown>, depth));\n return truncate(String(value), 500);\n}\n\nfunction truncate(value: string, maxLength: number): string {\n return value.length <= maxLength ? value : `${value.slice(0, maxLength)}… [truncated]`;\n}\n\nfunction isSecretKey(key: string): boolean {\n return secretKeys.has(key.replaceAll('-', '').replaceAll('_', '').toLowerCase());\n}\n\nfunction positiveInteger(value: number | undefined, fallback: number): number {\n return Number.isInteger(value) && Number(value) > 0 ? Number(value) : fallback;\n}\n\nfunction nonNegativeInteger(value: number | undefined, fallback: number): number {\n return Number.isInteger(value) && Number(value) >= 0 ? Number(value) : fallback;\n}\n\nfunction emptySnapshot(runtimeId: string, sessionKey: string): AgentTraceSnapshot {\n return Object.freeze({\n runtimeId,\n sessionKey,\n events: Object.freeze([]),\n latestSequence: 0,\n activeTurnIds: Object.freeze([]),\n });\n}\n\nfunction evictOldestSession(sessions: Map<string, SessionTraceBuffer>, maxSessions: number): void {\n if (sessions.size < maxSessions) return;\n let oldest: [string, SessionTraceBuffer] | undefined;\n for (const entry of sessions) {\n if (!oldest || entry[1].touchedAt < oldest[1].touchedAt) oldest = entry;\n }\n if (oldest) sessions.delete(oldest[0]);\n}\n"]}
|