@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
|
@@ -1,54 +1,22 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AiCompletion } from '@zhin.js/core';
|
|
2
2
|
import type { AIService } from '../service.js';
|
|
3
|
-
import type { UsageQuota
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
readonly purpose: string;
|
|
12
|
-
/** Trusted instructions written by the plugin. */
|
|
13
|
-
readonly system?: string;
|
|
14
|
-
/** Trusted input written by the plugin. */
|
|
15
|
-
readonly prompt: string;
|
|
16
|
-
/** Untrusted content (group chat, web pages, files); always rendered as data, never as instructions. */
|
|
17
|
-
readonly untrusted?: readonly AiCompletionUntrustedInput[];
|
|
18
|
-
/** Agent binding whose provider / model is used; defaults to `zhin`. */
|
|
19
|
-
readonly agent?: string;
|
|
20
|
-
/** Model id on the binding's provider; defaults to the binding's model. */
|
|
21
|
-
readonly model?: string;
|
|
22
|
-
readonly maxTokens?: number;
|
|
23
|
-
readonly temperature?: number;
|
|
24
|
-
/** Per-request timeout in ms; defaults to the provider resilience setting. */
|
|
25
|
-
readonly timeoutMs?: number;
|
|
26
|
-
readonly signal?: AbortSignal;
|
|
27
|
-
/** The IM user (and group) this call is made for; counts against their usage quota. */
|
|
28
|
-
readonly onBehalfOf?: UsageSubject;
|
|
29
|
-
}
|
|
30
|
-
export interface AiCompletionResult {
|
|
31
|
-
readonly text: string;
|
|
32
|
-
/** Model that actually answered (may be a fallback). */
|
|
33
|
-
readonly model: string;
|
|
34
|
-
readonly durationMs: number;
|
|
35
|
-
readonly usage?: TokenUsage;
|
|
36
|
-
}
|
|
37
|
-
export interface AiCompletion {
|
|
38
|
-
completeText(input: AiCompletionInput): Promise<AiCompletionResult>;
|
|
39
|
-
}
|
|
40
|
-
/** Thrown when the `onBehalfOf` user or group is over its usage quota; `message` is user-facing. */
|
|
3
|
+
import type { UsageQuota } from '../security/usage-quota.js';
|
|
4
|
+
/**
|
|
5
|
+
* The contract (types and token) lives in `@zhin.js/core` (#877) so plugins can import it from the
|
|
6
|
+
* `zhin.js` main entry without this package; re-exported here unchanged (same token object and id).
|
|
7
|
+
*/
|
|
8
|
+
export { aiCompletionToken } from '@zhin.js/core';
|
|
9
|
+
export type { AiCompletion, AiCompletionInput, AiCompletionResult, AiCompletionUntrustedInput, UsageSubject, } from '@zhin.js/core';
|
|
10
|
+
/** Thrown when the `onBehalfOf` user or group is over its usage quota; `message` is user-facing. Recognise it with `isAiCompletionQuotaError`. */
|
|
41
11
|
export declare class AiCompletionQuotaError extends Error {
|
|
12
|
+
readonly name: "AiCompletionQuotaError";
|
|
42
13
|
readonly scope: 'user' | 'group';
|
|
43
14
|
readonly retryAfterSeconds: number;
|
|
44
15
|
constructor(message: string, scope: 'user' | 'group', retryAfterSeconds: number);
|
|
45
16
|
}
|
|
46
|
-
/** Generation-owned plain text completion for plugins. Absent when no AI host is installed. */
|
|
47
|
-
export declare const aiCompletionToken: import("@zhin.js/plugin-runtime").Token<AiCompletion>;
|
|
48
17
|
export interface AiCompletionOptions {
|
|
49
|
-
readonly service: Pick<AIService, 'getBindingRegistry' | 'getProvider' | 'getAgentConfig'
|
|
18
|
+
readonly service: Pick<AIService, 'getBindingRegistry' | 'getProvider' | 'getAgentConfig'> & Partial<Pick<AIService, 'getModelRegistry'>>;
|
|
50
19
|
readonly usageQuota?: Pick<UsageQuota, 'check' | 'record'>;
|
|
51
20
|
readonly now?: () => number;
|
|
52
21
|
}
|
|
53
22
|
export declare function createAiCompletion(options: AiCompletionOptions): AiCompletion;
|
|
54
|
-
//# sourceMappingURL=ai-completion.d.ts.map
|
|
@@ -6,29 +6,35 @@
|
|
|
6
6
|
* tools such as file access while it reads untrusted group chat. This port does
|
|
7
7
|
* one completion with **no tools at all** — the request carries no tool
|
|
8
8
|
* definitions, so nothing the model writes can be executed — and reuses the
|
|
9
|
-
* provider resilience chain (retry, backoff, timeout
|
|
9
|
+
* provider resilience chain (retry, backoff, timeout). There is no automatic model
|
|
10
|
+
* fallback: a plugin call must never silently fail over to a pricier model, and no
|
|
11
|
+
* per-binding fallback list exists to opt in to.
|
|
10
12
|
*
|
|
11
13
|
* Untrusted text is rendered as `external_content` data blocks (#726), and a
|
|
12
14
|
* call made on behalf of an IM user counts against that user's / group's usage
|
|
13
15
|
* quota (#727).
|
|
14
16
|
*/
|
|
15
|
-
import {
|
|
17
|
+
import { resolveModelCandidates } from '../context/model-resolver.js';
|
|
16
18
|
import { formatCompact, getLogger } from '@zhin.js/logger';
|
|
17
19
|
import { renderExternalContent } from '../security/trust-level.js';
|
|
20
|
+
import { estimatePromptTokens } from '../prompt/estimate-tokens.js';
|
|
21
|
+
/**
|
|
22
|
+
* The contract (types and token) lives in `@zhin.js/core` (#877) so plugins can import it from the
|
|
23
|
+
* `zhin.js` main entry without this package; re-exported here unchanged (same token object and id).
|
|
24
|
+
*/
|
|
25
|
+
export { aiCompletionToken } from '@zhin.js/core';
|
|
18
26
|
const logger = getLogger('agent');
|
|
19
|
-
/** Thrown when the `onBehalfOf` user or group is over its usage quota; `message` is user-facing. */
|
|
27
|
+
/** Thrown when the `onBehalfOf` user or group is over its usage quota; `message` is user-facing. Recognise it with `isAiCompletionQuotaError`. */
|
|
20
28
|
export class AiCompletionQuotaError extends Error {
|
|
29
|
+
name = 'AiCompletionQuotaError';
|
|
21
30
|
scope;
|
|
22
31
|
retryAfterSeconds;
|
|
23
32
|
constructor(message, scope, retryAfterSeconds) {
|
|
24
33
|
super(message);
|
|
25
|
-
this.name = 'AiCompletionQuotaError';
|
|
26
34
|
this.scope = scope;
|
|
27
35
|
this.retryAfterSeconds = retryAfterSeconds;
|
|
28
36
|
}
|
|
29
37
|
}
|
|
30
|
-
/** Generation-owned plain text completion for plugins. Absent when no AI host is installed. */
|
|
31
|
-
export const aiCompletionToken = createToken('zhin.agent.ai-completion', 'Tool-free text completion with retry and fallback, for plugins');
|
|
32
38
|
export function createAiCompletion(options) {
|
|
33
39
|
const now = options.now ?? Date.now;
|
|
34
40
|
return Object.freeze({
|
|
@@ -57,9 +63,17 @@ export function createAiCompletion(options) {
|
|
|
57
63
|
maxTokens: input.maxTokens,
|
|
58
64
|
timeoutMs: input.timeoutMs,
|
|
59
65
|
signal: input.signal,
|
|
60
|
-
|
|
66
|
+
// Same candidates as the conversation path (bound model, registry picks, then the
|
|
67
|
+
// provider's models); whether they are tried is up to `providerResilience.fallback`.
|
|
68
|
+
fallbackModels: resolveModelCandidates(provider.models, options.service.getModelRegistry?.() ?? null, binding.providerAlias, { chatModel: binding.model }, 'chat', model).filter(id => id && id !== model),
|
|
61
69
|
resilience: options.service.getAgentConfig()?.providerResilience,
|
|
62
70
|
};
|
|
71
|
+
// Reserve the prompt estimate before the call: concurrent calls then see each other's
|
|
72
|
+
// spend at `check`, and a call that fails after reaching the provider is still billed.
|
|
73
|
+
const quotaSubject = input.onBehalfOf && options.usageQuota ? input.onBehalfOf : undefined;
|
|
74
|
+
const reserved = quotaSubject ? estimatePromptTokens(`${input.system ?? ''}\n${user}`) : 0;
|
|
75
|
+
if (quotaSubject && reserved > 0)
|
|
76
|
+
options.usageQuota.record(quotaSubject, reserved);
|
|
63
77
|
const started = now();
|
|
64
78
|
let result;
|
|
65
79
|
try {
|
|
@@ -80,9 +94,13 @@ export function createAiCompletion(options) {
|
|
|
80
94
|
throw error;
|
|
81
95
|
}
|
|
82
96
|
const durationMs = now() - started;
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
97
|
+
const reportedTokens = result.usage?.totalTokens;
|
|
98
|
+
const totalTokens = reportedTokens || undefined;
|
|
99
|
+
if (quotaSubject) {
|
|
100
|
+
// Reported usage settles the reservation; without it, estimate the answer on top of the prompt.
|
|
101
|
+
const settled = totalTokens ?? reserved + estimatePromptTokens(result.text);
|
|
102
|
+
if (settled > reserved)
|
|
103
|
+
options.usageQuota.record(quotaSubject, settled - reserved);
|
|
86
104
|
}
|
|
87
105
|
logger.info(formatCompact({
|
|
88
106
|
op: 'ai_completion',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-completion.js","sourceRoot":"","sources":["../../src/plugin-runtime/ai-completion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-completion.js","sourceRoot":"","sources":["../../src/plugin-runtime/ai-completion.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Plain text completion for plugins (#804).\n *\n * Plugins that only need text (summarise a chat, classify a message, rewrite a\n * reply) should not borrow a whole Agent turn: that is slow, and the model gets\n * tools such as file access while it reads untrusted group chat. This port does\n * one completion with **no tools at all** — the request carries no tool\n * definitions, so nothing the model writes can be executed — and reuses the\n * provider resilience chain (retry, backoff, timeout). There is no automatic model\n * fallback: a plugin call must never silently fail over to a pricier model, and no\n * per-binding fallback list exists to opt in to.\n *\n * Untrusted text is rendered as `external_content` data blocks (#726), and a\n * call made on behalf of an IM user counts against that user's / group's usage\n * quota (#727).\n */\nimport { resolveModelCandidates } from '../context/model-resolver.js';\nimport type { AIProvider, ProviderResilienceConfig, TextCompleteResult } from '@zhin.js/ai';\nimport type { AiCompletion, AiCompletionInput, AiCompletionResult } from '@zhin.js/core';\nimport { formatCompact, getLogger } from '@zhin.js/logger';\nimport type { AIService } from '../service.js';\nimport { renderExternalContent } from '../security/trust-level.js';\nimport type { UsageQuota } from '../security/usage-quota.js';\nimport { estimatePromptTokens } from '../prompt/estimate-tokens.js';\n\n/**\n * The contract (types and token) lives in `@zhin.js/core` (#877) so plugins can import it from the\n * `zhin.js` main entry without this package; re-exported here unchanged (same token object and id).\n */\nexport { aiCompletionToken } from '@zhin.js/core';\nexport type {\n AiCompletion,\n AiCompletionInput,\n AiCompletionResult,\n AiCompletionUntrustedInput,\n UsageSubject,\n} from '@zhin.js/core';\n\nconst logger = getLogger('agent');\n\n/** Thrown when the `onBehalfOf` user or group is over its usage quota; `message` is user-facing. Recognise it with `isAiCompletionQuotaError`. */\nexport class AiCompletionQuotaError extends Error {\n override readonly name = 'AiCompletionQuotaError' as const;\n readonly scope: 'user' | 'group';\n readonly retryAfterSeconds: number;\n\n constructor(message: string, scope: 'user' | 'group', retryAfterSeconds: number) {\n super(message);\n this.scope = scope;\n this.retryAfterSeconds = retryAfterSeconds;\n }\n}\n\nexport interface AiCompletionOptions {\n readonly service: Pick<AIService, 'getBindingRegistry' | 'getProvider' | 'getAgentConfig'>\n & Partial<Pick<AIService, 'getModelRegistry'>>;\n readonly usageQuota?: Pick<UsageQuota, 'check' | 'record'>;\n readonly now?: () => number;\n}\n\nexport function createAiCompletion(options: AiCompletionOptions): AiCompletion {\n const now = options.now ?? Date.now;\n return Object.freeze({\n async completeText(input: AiCompletionInput): Promise<AiCompletionResult> {\n const purpose = requiredText(input.purpose, 'purpose');\n const prompt = requiredText(input.prompt, 'prompt');\n const registry = options.service.getBindingRegistry();\n const binding = input.agent ? registry.getBinding(input.agent) : registry.requireZhinBinding();\n if (!binding) throw new Error(`AI completion: agent binding \"${input.agent}\" not found`);\n const provider: AIProvider = options.service.getProvider(binding.providerAlias);\n const model = input.model?.trim() || binding.model || provider.models[0] || '';\n\n if (input.onBehalfOf && options.usageQuota) {\n const decision = options.usageQuota.check(input.onBehalfOf);\n if (!decision.allowed) {\n throw new AiCompletionQuotaError(decision.message, decision.scope, decision.retryAfterSeconds);\n }\n }\n\n const user = [\n prompt,\n ...(input.untrusted ?? []).map(item => renderExternalContent(sourceLabel(item.source), neutralizeBlockMarkers(String(item.text ?? '')))),\n ].join('\\n\\n');\n const opts = {\n model,\n temperature: input.temperature,\n maxTokens: input.maxTokens,\n timeoutMs: input.timeoutMs,\n signal: input.signal,\n // Same candidates as the conversation path (bound model, registry picks, then the\n // provider's models); whether they are tried is up to `providerResilience.fallback`.\n fallbackModels: resolveModelCandidates(\n provider.models,\n options.service.getModelRegistry?.() ?? null,\n binding.providerAlias,\n { chatModel: binding.model },\n 'chat',\n model,\n ).filter(id => id && id !== model),\n resilience: options.service.getAgentConfig()?.providerResilience as ProviderResilienceConfig | undefined,\n };\n // Reserve the prompt estimate before the call: concurrent calls then see each other's\n // spend at `check`, and a call that fails after reaching the provider is still billed.\n const quotaSubject = input.onBehalfOf && options.usageQuota ? input.onBehalfOf : undefined;\n const reserved = quotaSubject ? estimatePromptTokens(`${input.system ?? ''}\\n${user}`) : 0;\n if (quotaSubject && reserved > 0) options.usageQuota!.record(quotaSubject, reserved);\n const started = now();\n let result: TextCompleteResult;\n try {\n result = provider.completeTextResult\n ? await provider.completeTextResult(input.system ?? '', user, opts)\n : { text: await provider.completeText(input.system ?? '', user, opts), model };\n } catch (error) {\n logger.warn(formatCompact({\n op: 'ai_completion',\n purpose,\n provider: binding.providerAlias,\n model,\n outcome: 'error',\n durationMs: now() - started,\n error: error instanceof Error ? error.message : String(error),\n }));\n throw error;\n }\n const durationMs = now() - started;\n const reportedTokens = result.usage?.totalTokens;\n const totalTokens = reportedTokens || undefined;\n if (quotaSubject) {\n // Reported usage settles the reservation; without it, estimate the answer on top of the prompt.\n const settled = totalTokens ?? reserved + estimatePromptTokens(result.text);\n if (settled > reserved) options.usageQuota!.record(quotaSubject, settled - reserved);\n }\n logger.info(formatCompact({\n op: 'ai_completion',\n purpose,\n provider: binding.providerAlias,\n model: result.model,\n outcome: 'ok',\n durationMs,\n ...(totalTokens ? { tokens: totalTokens } : {}),\n untrusted: input.untrusted?.length ?? 0,\n }));\n return Object.freeze({\n text: result.text,\n model: result.model,\n durationMs,\n ...(result.usage ? { usage: result.usage } : {}),\n });\n },\n });\n}\n\nfunction requiredText(value: unknown, name: string): string {\n if (typeof value !== 'string' || !value.trim()) throw new TypeError(`AI completion: ${name} is required`);\n return value;\n}\n\n/** Untrusted text must not be able to close its data block early and continue as instructions. */\nfunction neutralizeBlockMarkers(text: string): string {\n return text.replace(/\\[(\\s*(?:end\\s+)?external_content)/giu, '[$1');\n}\n\n/** Keeps the source label from closing the data block or injecting quotes. */\nfunction sourceLabel(source: unknown): string {\n const text = String(source ?? '').replace(/[^\\p{L}\\p{N}_.:/-]+/gu, '-').slice(0, 64);\n return text || 'untrusted';\n}\n"]}
|
|
@@ -24,4 +24,3 @@ export interface AgentCapabilities {
|
|
|
24
24
|
export declare class CapabilityIngress {
|
|
25
25
|
read(snapshot: RuntimeSnapshot, owner: PluginId, isActive?: () => boolean, turn?: TurnAccessContext, selectedAgent?: string): Promise<AgentCapabilities>;
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=capability-ingress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-ingress.js","sourceRoot":"","sources":["../../src/plugin-runtime/capability-ingress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAA0B,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAEL,YAAY,EACZ,cAAc,GAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,UAAU,EACV,YAAY,GAGb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,YAAY,EACZ,cAAc,GAEf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,WAAW,EACX,aAAa,GAGd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GAGvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAyBxD,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,IAAI,CACR,QAAyB,EACzB,KAAe,EACf,WAA0B,GAAG,EAAE,CAAC,IAAI,EACpC,IAAwB,EACxB,aAAsB;QAEtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,MAAM,aAAa,GAAkB,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;QACnG,MAAM,YAAY,GAAG,MAAM,SAAS,CAClC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,qBAAqB,CAAC,QAAQ,CAAC,EAC/B,aAAa,EACb,QAAQ,CACT,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,UAAU,CACpC,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC,EAClD,IAAI,EACJ,qBAAqB,CAAC,QAAQ,CAAC,EAC/B,aAAa,CACd,CAAC;QACF,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI;YACpB,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YACnF,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAC1E,CAAC,CAAC,EAAE,CAAC;QACP,0BAA0B,CAAC,MAAM,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACpE,0BAA0B,CACxB,OAAO,EACP,CAAC,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAClF,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,UAAU,CACpC,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC,EAClD,KAAK,EACL,IAAI,EACJ,qBAAqB,CAAC,QAAQ,CAAC,CAChC,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,KAAK;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC;YACrD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC;YACxD,MAAM,EAAE,aAAa;YACrB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC;YAClC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;iBACrF,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS;mBAClC,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC1F,CAAC,CAAC;IACL,CAAC;CACF;AAED,KAAK,UAAU,UAAU,CACvB,KAA6B,EAC7B,KAAe,EACf,IAAwB,EACxB,IAAqB;IAErB,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAC/E,UAAU;QACV,OAAO,EAAE,MAAM,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;KAC3D,CAAC,CAAC,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAyB;IACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACjF,OAAO,KAAK;WACP,OAAQ,KAAyB,CAAC,YAAY,KAAK,UAAU;WAC7D,OAAQ,KAAyB,CAAC,aAAa,KAAK,UAAU;QACjE,CAAC,CAAC,KAAwB;QAC1B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAqB,EACrB,KAAe,EACf,QAAuB,EACvB,IAAwB,EACxB,IAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9E,KAAK;QACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;QAChC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;QACzC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW;QAC9C,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU;QAC7C,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,IAAI,SAAS;QAC5D,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QACjC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;QAC3B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;QACrC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,KAAK,CAAC,UAAU,EAAE;QACzD,OAAO,EAAE,KAAK,EACZ,KAAa,EACb,UAAiC,EACf,EAAE;YACpB,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,qBAAqB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACxG,OAAO,MAAM,CAAC,MAAiB,CAAC;QAClC,CAAC;KACuB,CAAC,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACpE,UAAU;QACV,OAAO,EAAE,MAAM,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;KAC3D,CAAC,CAAC,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAqB,EACrB,KAAe,EACf,IAAwB,EACxB,IAAqB;IAErB,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QACvF,QAAQ,EAAE,cAAuB;QACjC,KAAK;QACL,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;QACzB,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;QAClC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;QACvC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;QACnC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;QACnC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;QAC7B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;QACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ;QACjC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;QACzB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;QAC7B,MAAM,EAAE,QAAQ,KAAK,CAAC,UAAU,EAAE;KACT,CAAC,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACpE,UAAU;QACV,OAAO,EAAE,MAAM,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;KAC3D,CAAC,CAAC,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,KAA6B,EAC7B,IAAwB,EACxB,IAAqB,EACrB,aAAsB;IAEtB,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACvE,UAAU;QACV,OAAO,EAAE,sBAAsB,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC;eAC/D,MAAM,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;KACvD,CAAC,CAAC,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,sBAAsB,CAAC,SAA6B,EAAE,aAAiC;IAC9F,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,EAAE,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC;AAC3F,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAsB,EACtB,YAAyC;IAEzC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,gBAAgB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1G,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,KAA4B,EAC5B,KAAe,EACf,QAAuB,EACvB,IAAwB,EACxB,IAAqB,EACrB,aAAsB,EACtB,iBAAmC;IAEnC,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACrC,UAAU;QACV,OAAO,EAAE,MAAM,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;KAC3D,CAAC,CAAC,CACJ,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QACxB,GAAG,CAAC,CAAC,UAAU;QACf,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC;YAChE,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;QACvB,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,aAAa;QAChC,OAAO,EAAE,CAAkB,KAAa,EAAE,UAAiC,EAAE,EAAE;YAC7E,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,KAAK,CAAC,OAAO,CAAkB,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;QACrH,CAAC;KACF,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AAED,SAAS,mBAAmB,CAC1B,SAAsC,EACtC,aAAiC;IAEjC,OAAO,SAAS,EAAE,IAAI,KAAK,OAAO;WAC7B,sBAAsB,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,UAAwE,EACxE,IAAmC,EACnC,IAAqB;IAErB,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACjC,IAAI,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9B,IAAI,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,6EAA6E;AAC7E,SAAS,qBAAqB,CAAC,QAAyB;IACtD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,SAAS,EAAE,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,IAAI,OAAQ,IAAuB,CAAC,KAAK,KAAK,UAAU;YACjE,CAAC,CAAC,IAAsB;YACxB,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CACd,KAA2B,EAC3B,KAAe,EACf,QAAuB;IAEvB,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1E,GAAG,UAAU;QACb,SAAS,EAAE,GAAG,EAAE;YACd,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,QAAQ,EAAE,CAAU,IAAY,EAAE,KAAc,EAAE,EAAE;YAClD,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,KAAK,CAAC,QAAQ,CAAU,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;KACF,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,YAAY,CAAC,QAAuB;IAC3C,IAAI,CAAC,QAAQ,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,UAAU,CACjB,QAAyB,EACzB,EAAa,EACb,KAAqC;IAErC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"capability-ingress.js","sourceRoot":"","sources":["../../src/plugin-runtime/capability-ingress.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FeatureId, PluginId, RuntimeSnapshot } from '@zhin.js/plugin-runtime';\nimport { permissionHostToken, type PermissionHost } from '@zhin.js/permission';\nimport { turnPermissionSubject, type TurnAccessContext } from '../turn/turn-ingress.js';\nimport {\n type AgentIndex,\n isAgentIndex,\n agentFeatureId,\n type AgentDescriptor,\n} from '@zhin.js/agent-feature';\nimport {\n type McpIndex,\n isMcpIndex,\n mcpFeatureId,\n type McpDescriptor,\n type McpToolDescriptor,\n} from '@zhin.js/mcp-feature';\nimport {\n type SkillIndex,\n isSkillIndex,\n skillFeatureId,\n type SkillDescriptor,\n} from '@zhin.js/skill';\nimport {\n type ToolIndex,\n isToolIndex,\n toolFeatureId,\n type ToolDescriptor,\n type ToolInvocationContext,\n} from '@zhin.js/tool';\nimport {\n isPromptSectionIndex,\n promptSectionFeatureId,\n type PromptSectionDescriptor,\n type PromptProfile,\n} from '@zhin.js/prompt-section';\nimport { capabilitySeamToken } from '../seam/tokens.js';\nimport type { SeamIntegration } from '../seam/seam-integration.js';\n\nexport interface ToolCapability extends ToolDescriptor {\n execute<TInput = unknown, TResult = unknown>(\n input: TInput,\n invocation: ToolInvocationContext,\n ): Promise<TResult>;\n}\n\nexport interface McpCapability extends McpDescriptor {\n listTools(): Promise<readonly McpToolDescriptor[]>;\n callTool<TResult = unknown>(tool: string, input: unknown): Promise<TResult>;\n}\n\nexport interface AgentCapabilities {\n readonly generation: number;\n readonly owner: PluginId;\n readonly tools: readonly ToolCapability[];\n readonly skills: readonly SkillDescriptor[];\n readonly agents: readonly AgentDescriptor[];\n readonly mcp: readonly McpCapability[];\n readonly promptSections: readonly PromptSectionDescriptor[];\n}\n\nexport class CapabilityIngress {\n async read(\n snapshot: RuntimeSnapshot,\n owner: PluginId,\n isActive: () => boolean = () => true,\n turn?: TurnAccessContext,\n selectedAgent?: string,\n ): Promise<AgentCapabilities> {\n if (!snapshot.tree.has(owner)) throw new Error(`Unknown Agent capability owner: ${owner}`);\n const tools = projection(snapshot, toolFeatureId, isToolIndex);\n const mcp = projection(snapshot, mcpFeatureId, isMcpIndex);\n const promptProjection = snapshot.projections.get(promptSectionFeatureId);\n const promptSections = isPromptSectionIndex(promptProjection) ? promptProjection : undefined;\n const promptProfile: PromptProfile = turn?.origin.kind === 'schedule' ? 'schedule' : 'interactive';\n const featureTools = await bindTools(\n tools,\n owner,\n isActive,\n turn,\n resolvePermissionHost(snapshot),\n selectedAgent,\n snapshot,\n );\n const featureSkills = await bindSkills(\n projection(snapshot, skillFeatureId, isSkillIndex),\n turn,\n resolvePermissionHost(snapshot),\n selectedAgent,\n );\n const seam = resolveSeamIntegration(snapshot);\n const seamTools = seam\n ? await bindSeamTools(seam, owner, isActive, turn, resolvePermissionHost(snapshot))\n : [];\n const seamSkills = seam\n ? await bindSeamSkills(seam, owner, turn, resolvePermissionHost(snapshot))\n : [];\n assertDistinctCapabilities('Tool', [...featureTools, ...seamTools]);\n assertDistinctCapabilities(\n 'Skill',\n [...featureSkills, ...seamSkills].map((skill) => ({ name: skill.qualifiedName })),\n );\n const featureAgents = await bindAgents(\n projection(snapshot, agentFeatureId, isAgentIndex),\n owner,\n turn,\n resolvePermissionHost(snapshot),\n );\n return Object.freeze({\n generation: snapshot.generation,\n owner,\n tools: Object.freeze([...featureTools, ...seamTools]),\n skills: Object.freeze([...featureSkills, ...seamSkills]),\n agents: featureAgents,\n mcp: bindMcp(mcp, owner, isActive),\n promptSections: Object.freeze([...(promptSections?.visible(owner, promptProfile) ?? [])]\n .filter((section) => !section.platforms\n || (turn?.origin.kind === 'im' && section.platforms.includes(turn.origin.platform)))),\n });\n }\n}\n\nasync function bindAgents(\n index: AgentIndex | undefined,\n owner: PluginId,\n turn?: TurnAccessContext,\n host?: PermissionHost,\n): Promise<readonly AgentDescriptor[]> {\n if (!index) return Object.freeze([]);\n const access = await Promise.all(index.visible(owner).map(async (descriptor) => ({\n descriptor,\n allowed: await canAccessDescriptor(descriptor, turn, host),\n })));\n return Object.freeze(access.filter(({ allowed }) => allowed).map(({ descriptor }) => descriptor));\n}\n\nfunction resolveSeamIntegration(snapshot: RuntimeSnapshot): SeamIntegration | undefined {\n const value = snapshot.resources.get(snapshot.root)?.get(capabilitySeamToken.id);\n return value\n && typeof (value as SeamIntegration).projectTools === 'function'\n && typeof (value as SeamIntegration).projectSkills === 'function'\n ? value as SeamIntegration\n : undefined;\n}\n\nasync function bindSeamTools(\n seam: SeamIntegration,\n owner: PluginId,\n isActive: () => boolean,\n turn?: TurnAccessContext,\n host?: PermissionHost,\n): Promise<readonly ToolCapability[]> {\n const projected = seam.projectTools(String(owner)).map((entry) => Object.freeze({\n owner,\n name: entry.schema.function.name,\n qualifiedName: entry.schema.function.name,\n description: entry.schema.function.description,\n inputSchema: entry.schema.function.parameters,\n requiresApproval: entry.schema.requiresApproval ?? 'on-risk',\n platforms: entry.schema.platforms,\n scopes: entry.schema.scopes,\n permissions: entry.schema.permissions,\n hidden: entry.schema.hidden,\n source: entry.schema.source ?? `seam:${entry.providerId}`,\n execute: async <TInput = unknown, TResult = unknown>(\n input: TInput,\n invocation: ToolInvocationContext,\n ): Promise<TResult> => {\n assertActive(isActive);\n const result = await entry.execute(input, invocation);\n if (!result.success) throw new Error(result.error ?? `Seam Tool failed: ${entry.schema.function.name}`);\n return result.output as TResult;\n },\n } satisfies ToolCapability));\n const access = await Promise.all(projected.map(async (descriptor) => ({\n descriptor,\n allowed: await canAccessDescriptor(descriptor, turn, host),\n })));\n return Object.freeze(access.filter(({ allowed }) => allowed).map(({ descriptor }) => descriptor));\n}\n\nasync function bindSeamSkills(\n seam: SeamIntegration,\n owner: PluginId,\n turn?: TurnAccessContext,\n host?: PermissionHost,\n): Promise<readonly SkillDescriptor[]> {\n const projected = (await seam.projectSkills(String(owner))).map((entry) => Object.freeze({\n $feature: 'zhin.skill/1' as const,\n owner,\n name: entry.metadata.name,\n qualifiedName: entry.metadata.name,\n description: entry.metadata.description,\n instructions: entry.instructions,\n toolNames: entry.metadata.toolNames,\n platforms: entry.metadata.platforms,\n scopes: entry.metadata.scopes,\n permissions: entry.metadata.permissions,\n keywords: entry.metadata.keywords,\n tags: entry.metadata.tags,\n always: entry.metadata.always,\n source: `seam:${entry.providerId}`,\n } satisfies SkillDescriptor));\n const access = await Promise.all(projected.map(async (descriptor) => ({\n descriptor,\n allowed: await canAccessDescriptor(descriptor, turn, host),\n })));\n return Object.freeze(access.filter(({ allowed }) => allowed).map(({ descriptor }) => descriptor));\n}\n\nasync function bindSkills(\n index: SkillIndex | undefined,\n turn?: TurnAccessContext,\n host?: PermissionHost,\n selectedAgent?: string,\n): Promise<readonly SkillDescriptor[]> {\n if (!index) return Object.freeze([]);\n const access = await Promise.all(index.list().map(async (descriptor) => ({\n descriptor,\n allowed: belongsToSelectedAgent(descriptor.agentName, selectedAgent)\n && await canAccessDescriptor(descriptor, turn, host),\n })));\n return Object.freeze(access.filter(({ allowed }) => allowed).map(({ descriptor }) => descriptor));\n}\n\nfunction belongsToSelectedAgent(agentName: string | undefined, selectedAgent: string | undefined): boolean {\n if (!agentName) return true;\n return selectedAgent === agentName || selectedAgent?.endsWith(`__${agentName}`) === true;\n}\n\nfunction assertDistinctCapabilities(\n kind: 'Tool' | 'Skill',\n capabilities: readonly { name: string }[],\n): void {\n const names = new Set<string>();\n for (const capability of capabilities) {\n if (names.has(capability.name)) throw new Error(`Duplicate Agent ${kind} capability: ${capability.name}`);\n names.add(capability.name);\n }\n}\n\nasync function bindTools(\n index: ToolIndex | undefined,\n owner: PluginId,\n isActive: () => boolean,\n turn?: TurnAccessContext,\n host?: PermissionHost,\n selectedAgent?: string,\n operationSnapshot?: RuntimeSnapshot,\n): Promise<readonly ToolCapability[]> {\n if (!index) return Object.freeze([]);\n const descriptors = index.list();\n const accessResults = await Promise.all(\n descriptors.map(async (descriptor) => ({\n descriptor,\n allowed: await canAccessDescriptor(descriptor, turn, host),\n })),\n );\n return Object.freeze(accessResults\n .filter((r) => r.allowed)\n .map((r) => Object.freeze({\n ...r.descriptor,\n hidden: isSelectedAgentTool(r.descriptor.placement, selectedAgent)\n ? false\n : r.descriptor.hidden,\n name: r.descriptor.qualifiedName,\n execute: <TInput, TResult>(input: TInput, invocation: ToolInvocationContext) => {\n assertActive(isActive);\n return index.execute<TInput, TResult>(r.descriptor.owner, r.descriptor.name, input, invocation, operationSnapshot);\n },\n })));\n}\n\nfunction isSelectedAgentTool(\n placement: ToolDescriptor['placement'],\n selectedAgent: string | undefined,\n): boolean {\n return placement?.kind === 'agent'\n && belongsToSelectedAgent(placement.agent, selectedAgent);\n}\n\nasync function canAccessDescriptor(\n descriptor: Pick<ToolDescriptor, 'platforms' | 'scopes' | 'permissions'>,\n turn: TurnAccessContext | undefined,\n host?: PermissionHost,\n): Promise<boolean> {\n if (descriptor.platforms?.length) {\n if (turn?.origin.kind !== 'im' || !descriptor.platforms.includes(turn.origin.platform)) {\n return false;\n }\n }\n if (descriptor.scopes?.length) {\n if (turn?.origin.kind !== 'im' || !descriptor.scopes.includes(turn.origin.scope)) {\n return false;\n }\n }\n if (!descriptor.permissions?.length) return true;\n if (!turn || !host) return false;\n return host.checkAll(descriptor.permissions, turnPermissionSubject(turn));\n}\n\n/** Root resources 上的 PermissionHost(command-index 同款解析;未安装时 fail-closed)。 */\nfunction resolvePermissionHost(snapshot: RuntimeSnapshot): PermissionHost | undefined {\n try {\n const resources = snapshot.resources.get(snapshot.root);\n const host = resources?.get(permissionHostToken.id);\n return host && typeof (host as PermissionHost).check === 'function'\n ? host as PermissionHost\n : undefined;\n } catch {\n return undefined;\n }\n}\n\nfunction bindMcp(\n index: McpIndex | undefined,\n owner: PluginId,\n isActive: () => boolean,\n): readonly McpCapability[] {\n if (!index) return Object.freeze([]);\n return Object.freeze(index.visible(owner).map((descriptor) => Object.freeze({\n ...descriptor,\n listTools: () => {\n assertActive(isActive);\n return index.listTools(owner, descriptor.name);\n },\n callTool: <TResult>(tool: string, input: unknown) => {\n assertActive(isActive);\n return index.callTool<TResult>(owner, descriptor.name, tool, input);\n },\n })));\n}\n\nfunction assertActive(isActive: () => boolean): void {\n if (!isActive()) throw new Error('Agent capability turn scope has ended');\n}\n\nfunction projection<T>(\n snapshot: RuntimeSnapshot,\n id: FeatureId,\n guard: (value: unknown) => value is T,\n): T | undefined {\n const value = snapshot.projections.get(id);\n return guard(value) ? value : undefined;\n}\n"]}
|
|
@@ -14,4 +14,3 @@ export declare function capabilityToTool(tool: ToolCapability, invocation: ToolI
|
|
|
14
14
|
/** Owner-visible capabilities → generation-stamped tools for the turn runner. */
|
|
15
15
|
export declare function toolsFromCapabilities(capabilities: AgentCapabilities, turn: TurnIngress | TurnRequest): GenerationStampedTool[];
|
|
16
16
|
export declare function toolInvocationFromTurn(turn: TurnIngress | TurnRequest): ToolInvocationContext;
|
|
17
|
-
//# sourceMappingURL=capability-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-tools.js","sourceRoot":"","sources":["../../src/plugin-runtime/capability-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capability-tools.js","sourceRoot":"","sources":["../../src/plugin-runtime/capability-tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ToolCapability → turn tool 转换(Plugin Runtime runner 注入点)。\n * 打上 snapshot generation 戳,ToolRuntime 在执行前校验戳与当前 turn 是否一致。\n */\nimport type { Tool } from '@zhin.js/core';\nimport { toolInputSchemaToParameters } from '@zhin.js/tool';\nimport { stampToolGeneration } from '../tool/tool-system.js';\nimport type { AgentCapabilities, ToolCapability } from './capability-ingress.js';\nimport type { ToolInvocationContext } from '@zhin.js/tool';\nimport type { TurnIngress, TurnRequest } from '../turn/turn-ingress.js';\n\n/** Core transport tool shape plus the generation stamp ToolRuntime validates. */\nexport type GenerationStampedTool = Tool & { generation?: number };\n\nexport function capabilityToTool(\n tool: ToolCapability,\n invocation: ToolInvocationContext,\n): GenerationStampedTool {\n const parameters = toolInputSchemaToParameters(tool.inputSchema);\n return {\n name: tool.name,\n description: tool.description,\n parameters: {\n type: 'object',\n properties: (parameters.properties ?? {}) as Tool['parameters']['properties'],\n required: parameters.required ? [...parameters.required] : undefined,\n },\n source: String(tool.owner),\n platforms: tool.platforms ? [...tool.platforms] : undefined,\n scopes: tool.scopes ? [...tool.scopes] : undefined,\n permissions: tool.permissions ? [...tool.permissions] : undefined,\n tags: tool.tags ? [...tool.tags] : undefined,\n keywords: tool.keywords ? [...tool.keywords] : undefined,\n hidden: tool.hidden,\n requiresApproval: tool.requiresApproval,\n async execute(args) {\n return await tool.execute(args, invocation) as Awaited<ReturnType<Tool['execute']>>;\n },\n };\n}\n\n/** Owner-visible capabilities → generation-stamped tools for the turn runner. */\nexport function toolsFromCapabilities(\n capabilities: AgentCapabilities,\n turn: TurnIngress | TurnRequest,\n): GenerationStampedTool[] {\n return stampToolGeneration(\n capabilities.tools.map((tool) => capabilityToTool(tool, toolInvocationFromTurn(turn))),\n capabilities.generation,\n );\n}\n\nexport function toolInvocationFromTurn(turn: TurnIngress | TurnRequest): ToolInvocationContext {\n return Object.freeze({\n signal: turn.signal,\n traceId: turn.identity.traceId,\n turnId: turn.identity.turnId,\n sessionKey: turn.session.key,\n origin: turn.origin,\n principal: Object.freeze({\n subjectId: turn.principal.subjectId,\n displayName: turn.principal.displayName,\n roles: Object.freeze([...turn.principal.roles]),\n }),\n policy: Object.freeze({\n permissions: Object.freeze([...turn.policy.permissions]),\n unattended: turn.policy.unattended,\n network: Object.freeze({\n enabled: turn.policy.network?.enabled === true,\n httpsOnly: turn.policy.network?.httpsOnly,\n allowedDomains: Object.freeze([...(turn.policy.network?.allowedDomains ?? [])]),\n }),\n ...(turn.policy.shell\n ? { shell: Object.freeze({ ...turn.policy.shell }) }\n : {}),\n ...(turn.policy.filesystem\n ? { filesystem: Object.freeze({ ...turn.policy.filesystem }) }\n : {}),\n }),\n ...(turn.ports.question ? { question: turn.ports.question } : {}),\n ...(turn.ports.client ? { client: turn.ports.client } : {}),\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/decision-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decision-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/decision-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\nimport { createToken, childPluginId, type PluginId, type RuntimeSnapshot, type Scope } from '@zhin.js/plugin-runtime';\nimport type { DecisionProvider } from '@zhin.js/ai';\nimport type { AgentDecisionConfig, AgentDecisionRuntime, DecisionObservation } from '../decision/types.js';\nimport { DECISION_TASKS } from '../decision/config.js';\n\n/** Provided locally by an optional service Plugin; never a process-wide registry. */\nexport interface AgentDecisionProviderResource {\n readonly owner: PluginId;\n readonly provider: DecisionProvider;\n}\n\nexport const decisionProviderToken = createToken<AgentDecisionProviderResource>('zhin.agent.decision-provider');\nexport const agentDecisionConfigToken = createToken<AgentDecisionConfig>('zhin.agent.decision-config');\n\n/** Preserve declaration ownership even when Scope snapshots include inherited resources. */\nexport function provideAgentDecisionProvider(resources: Scope, provider: DecisionProvider): void {\n resources.provide(decisionProviderToken, Object.freeze({ owner: resources.owner, provider }));\n}\n\n/** Resolve the configured exact owner from the operation's held generation. */\nexport function resolveAgentDecisionRuntime(\n snapshot: RuntimeSnapshot,\n observe?: (observation: DecisionObservation) => void,\n): AgentDecisionRuntime | undefined {\n const config = snapshot.resources.get(snapshot.root)?.get(agentDecisionConfigToken.id) as AgentDecisionConfig | undefined;\n if (!config || !DECISION_TASKS.some(task => config[task] && config[task]!.mode !== 'off')) return undefined;\n const owner = config.provider.split('/').slice(1).reduce(childPluginId, snapshot.root);\n const resource = snapshot.resources.get(owner)?.get(decisionProviderToken.id) as AgentDecisionProviderResource | undefined;\n if (!snapshot.tree.has(owner) || resource?.owner !== owner || typeof resource.provider?.evaluate !== 'function') {\n throw new Error(`ai.decisions.provider ${config.provider} does not provide an enabled DecisionProvider`);\n }\n return Object.freeze({ provider: resource.provider, config, ...(observe ? { observe } : {}) });\n}\n\ninterface AgentDecisionTurnContext {\n readonly snapshot: RuntimeSnapshot;\n readonly turnId: string;\n readonly disabled: boolean;\n readonly runtime?: AgentDecisionRuntime;\n readonly observations: DecisionObservation[];\n}\n\n// This authority belongs to the runtime, separately from caller-supplied turn configuration.\nconst decisionTurnStorage = new AsyncLocalStorage<AgentDecisionTurnContext>();\n\nexport function getAgentTurnDecisionRuntime(): AgentDecisionRuntime | undefined {\n return decisionTurnStorage.getStore()?.runtime;\n}\n\nexport function drainAgentTurnDecisionObservations(): readonly DecisionObservation[] {\n return decisionTurnStorage.getStore()?.observations.splice(0) ?? [];\n}\n\n/** Ingress selection, approval, and native tools share one held-generation decision context. */\nexport function runWithAgentDecisionTurn<T>(\n snapshot: RuntimeSnapshot,\n turnId: string,\n run: (runtime: AgentDecisionRuntime | undefined) => Promise<T>,\n options: { readonly disabled?: boolean; readonly observe?: (observation: DecisionObservation) => void } = {},\n): Promise<T> {\n const current = decisionTurnStorage.getStore();\n const disabled = options.disabled ?? false;\n if (current?.snapshot === snapshot && current.turnId === turnId && current.disabled === disabled) return run(current.runtime);\n const observations: DecisionObservation[] = [];\n const runtime = disabled ? undefined : resolveAgentDecisionRuntime(snapshot, observation => {\n observations.push(observation);\n try { options.observe?.(observation); } catch { /* diagnostics do not change authority */ }\n });\n return decisionTurnStorage.run({ snapshot, turnId, disabled, runtime, observations }, () => run(runtime));\n}\n"]}
|
|
@@ -84,5 +84,24 @@ export declare function primeSkillsForIntent(options: Readonly<{
|
|
|
84
84
|
* immutable generation projection and the session snapshot.
|
|
85
85
|
*/
|
|
86
86
|
export declare function createDeferredCapabilityPlan(options: DeferredCapabilityPlanOptions): DeferredCapabilityPlan;
|
|
87
|
+
/**
|
|
88
|
+
* Upper bound on plugin tools that may become resident through their own
|
|
89
|
+
* `alwaysLoaded: true` flag in one turn. Each resident schema is sent on every
|
|
90
|
+
* model call, so a misbehaving plugin set must not silently flood the context.
|
|
91
|
+
* Tools past the limit stay deferred (still reachable via `discover` /
|
|
92
|
+
* `load_tool`) and a warning names them once. Operators who need more can list
|
|
93
|
+
* tools in `deferredTools.alwaysLoadedTools`, which this limit does not touch.
|
|
94
|
+
*/
|
|
95
|
+
export declare const MAX_DECLARED_RESIDENT_TOOLS = 8;
|
|
96
|
+
/**
|
|
97
|
+
* Names of public tools whose author set `alwaysLoaded: true`, in projection
|
|
98
|
+
* order and capped at {@link MAX_DECLARED_RESIDENT_TOOLS}.
|
|
99
|
+
*
|
|
100
|
+
* - Absent or `false` keeps the tool deferred (the default for every plugin).
|
|
101
|
+
* - `deferredTools.alwaysLoadedMode: replace` means the operator's list is the
|
|
102
|
+
* complete resident set, so author declarations are ignored.
|
|
103
|
+
* - Only public (non-hidden) capabilities that already passed ingress and the
|
|
104
|
+
* capability ceiling are considered; the flag never grants access.
|
|
105
|
+
*/
|
|
106
|
+
export declare function declaredResidentToolNames(tools: readonly Pick<ToolCapability, 'name' | 'alwaysLoaded'>[], config: DeferredCapabilityPlanOptions['config']): string[];
|
|
87
107
|
export declare function capabilityAsAgentTool(tool: ToolCapability): AgentTool;
|
|
88
|
-
//# sourceMappingURL=deferred-capability-plan.d.ts.map
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { addSkillToSnapshot, getLoadedToolNamesFromSnapshot, touchToolInSnapshot, touchToolsInSnapshot, } from '@zhin.js/ai';
|
|
2
2
|
import { toolInputSchemaToParameters, } from '@zhin.js/tool';
|
|
3
|
+
import { getLogger } from '@zhin.js/logger';
|
|
3
4
|
import { rankDecisionCandidates } from '../decision/rank.js';
|
|
4
5
|
import { buildDeferredStats, buildToolCatalog, discoverInCatalog, resolveDeferredApiTools } from '../tool-catalog/tool-catalog.js';
|
|
5
6
|
import { resolveDeferredToolsConfig } from '../tool-catalog/resolve-config.js';
|
|
6
7
|
import { DEFERRED_META_TOOL_NAMES } from '../tool-catalog/types.js';
|
|
8
|
+
const logger = getLogger('DeferredCapabilityPlan');
|
|
7
9
|
/**
|
|
8
10
|
* Reserved, model-invisible control namespace of the Agent runtime. Control
|
|
9
11
|
* tools use this prefix and it is always filtered out of model-visible
|
|
@@ -70,6 +72,10 @@ export function createDeferredCapabilityPlan(options) {
|
|
|
70
72
|
if (tool.platforms?.length)
|
|
71
73
|
alwaysLoaded.add(tool.name);
|
|
72
74
|
}
|
|
75
|
+
// Plugin authors may opt a tool into the resident set (#857 P1-10).
|
|
76
|
+
for (const name of declaredResidentToolNames(publicCapabilities, options.config)) {
|
|
77
|
+
alwaysLoaded.add(name);
|
|
78
|
+
}
|
|
73
79
|
const publicTools = publicCapabilities.map(capabilityAsAgentTool);
|
|
74
80
|
const publicCatalog = buildToolCatalog({ tools: publicTools, alwaysLoaded });
|
|
75
81
|
let snapshot = projectSessionSnapshot(options.sessionSnapshot, projected);
|
|
@@ -116,6 +122,40 @@ export function createDeferredCapabilityPlan(options) {
|
|
|
116
122
|
controller,
|
|
117
123
|
});
|
|
118
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Upper bound on plugin tools that may become resident through their own
|
|
127
|
+
* `alwaysLoaded: true` flag in one turn. Each resident schema is sent on every
|
|
128
|
+
* model call, so a misbehaving plugin set must not silently flood the context.
|
|
129
|
+
* Tools past the limit stay deferred (still reachable via `discover` /
|
|
130
|
+
* `load_tool`) and a warning names them once. Operators who need more can list
|
|
131
|
+
* tools in `deferredTools.alwaysLoadedTools`, which this limit does not touch.
|
|
132
|
+
*/
|
|
133
|
+
export const MAX_DECLARED_RESIDENT_TOOLS = 8;
|
|
134
|
+
const warnedOverLimitTools = new Set();
|
|
135
|
+
/**
|
|
136
|
+
* Names of public tools whose author set `alwaysLoaded: true`, in projection
|
|
137
|
+
* order and capped at {@link MAX_DECLARED_RESIDENT_TOOLS}.
|
|
138
|
+
*
|
|
139
|
+
* - Absent or `false` keeps the tool deferred (the default for every plugin).
|
|
140
|
+
* - `deferredTools.alwaysLoadedMode: replace` means the operator's list is the
|
|
141
|
+
* complete resident set, so author declarations are ignored.
|
|
142
|
+
* - Only public (non-hidden) capabilities that already passed ingress and the
|
|
143
|
+
* capability ceiling are considered; the flag never grants access.
|
|
144
|
+
*/
|
|
145
|
+
export function declaredResidentToolNames(tools, config) {
|
|
146
|
+
if (config.deferredTools?.alwaysLoadedMode === 'replace')
|
|
147
|
+
return [];
|
|
148
|
+
const declared = tools.filter(tool => tool.alwaysLoaded === true).map(tool => tool.name);
|
|
149
|
+
const overLimit = declared.slice(MAX_DECLARED_RESIDENT_TOOLS)
|
|
150
|
+
.filter(name => !warnedOverLimitTools.has(name));
|
|
151
|
+
if (overLimit.length > 0) {
|
|
152
|
+
for (const name of overLimit)
|
|
153
|
+
warnedOverLimitTools.add(name);
|
|
154
|
+
logger.warn(`${declared.length} plugin tools declare alwaysLoaded; only the first ${MAX_DECLARED_RESIDENT_TOOLS} are resident. `
|
|
155
|
+
+ `Still deferred: ${overLimit.join(', ')}. List them in ai.agent.deferredTools.alwaysLoadedTools to keep them loaded.`);
|
|
156
|
+
}
|
|
157
|
+
return declared.slice(0, MAX_DECLARED_RESIDENT_TOOLS);
|
|
158
|
+
}
|
|
119
159
|
function projectCapabilities(capabilities, ceiling) {
|
|
120
160
|
if (!ceiling) {
|
|
121
161
|
return Object.freeze({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferred-capability-plan.js","sourceRoot":"","sources":["../../src/plugin-runtime/deferred-capability-plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deferred-capability-plan.js","sourceRoot":"","sources":["../../src/plugin-runtime/deferred-capability-plan.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n addSkillToSnapshot,\n getLoadedToolNamesFromSnapshot,\n touchToolInSnapshot,\n touchToolsInSnapshot,\n type AgentTool,\n type DeferredToolSessionSnapshot,\n} from '@zhin.js/ai';\nimport {\n toolInputSchemaToParameters,\n type ToolInvocationContext,\n type ToolInputSchema,\n} from '@zhin.js/tool';\nimport type { SkillDescriptor } from '@zhin.js/skill';\nimport { getLogger } from '@zhin.js/logger';\nimport { rankDecisionCandidates } from '../decision/rank.js';\nimport type { AgentDecisionRuntime } from '../decision/types.js';\nimport { buildDeferredStats, buildToolCatalog, discoverInCatalog, resolveDeferredApiTools } from '../tool-catalog/tool-catalog.js';\nimport { resolveDeferredToolsConfig } from '../tool-catalog/resolve-config.js';\nimport { DEFERRED_META_TOOL_NAMES, type ToolCatalogItem } from '../tool-catalog/types.js';\nimport type { AgentCapabilities, ToolCapability } from './capability-ingress.js';\n\nconst logger = getLogger('DeferredCapabilityPlan');\n\n/**\n * Injected capability ceiling. It must return a subset of the given projection\n * and throw when the projection is not trusted by the ceiling's owner.\n */\nexport interface DeferredCapabilityCeiling {\n project(capabilities: AgentCapabilities): Readonly<Pick<AgentCapabilities, 'tools' | 'skills'>>;\n}\n\n/**\n * Reserved, model-invisible control namespace of the Agent runtime. Control\n * tools use this prefix and it is always filtered out of model-visible\n * capabilities. It is a naming convention, not a dependency on Workroom code.\n */\nexport const RESERVED_CONTROL_TOOL_PREFIX = 'workroom_';\n\n/**\n * Reserved model-invisible control namespace; always filtered out of\n * model-visible capabilities.\n */\nexport function isReservedControlToolName(name: string): boolean {\n return (name.split('__').at(-1) ?? name).startsWith(RESERVED_CONTROL_TOOL_PREFIX);\n}\n\nexport interface DeferredCapabilityController {\n loadedToolNames(): string[];\n loadedSkillInstructions(): string[];\n /** Load a public catalog tool into the session. Returns false when it is not in this turn's catalog. */\n load(name: string): Promise<boolean>;\n}\n\nexport interface DeferredCapabilityPlan {\n readonly capabilities: readonly ToolCapability[];\n readonly allTools: readonly AgentTool[];\n readonly resolvedTools: readonly AgentTool[];\n readonly catalog: readonly ToolCatalogItem[];\n readonly deferredStats: string;\n readonly controller: DeferredCapabilityController;\n}\n\n/**\n * The legacy `authority` option no longer exists; passing it at runtime throws\n * (fail-closed) instead of being silently ignored.\n */\nexport interface DeferredCapabilityPlanOptions {\n readonly capabilities: AgentCapabilities;\n /**\n * Optional injected capability ceiling (e.g. a Workroom Assignment).\n * Ordinary chat omits it and retains its own capability projection.\n */\n readonly ceiling?: DeferredCapabilityCeiling;\n readonly sessionSnapshot: DeferredToolSessionSnapshot;\n readonly config: Parameters<typeof resolveDeferredToolsConfig>[0];\n readonly platform?: string;\n readonly persistSnapshot: (snapshot: DeferredToolSessionSnapshot) => Promise<void>;\n readonly decision?: AgentDecisionRuntime;\n}\n\nexport interface AgentSkillIntentPrimeResult {\n readonly snapshot: DeferredToolSessionSnapshot;\n readonly skill?: SkillDescriptor;\n readonly skills?: readonly SkillDescriptor[];\n}\n\n/**\n * Deterministically activates one Agent-private Skill when the current intent\n * has a unique best keyword match. Public Skills and ambiguous matches remain\n * deferred so the runtime keeps its progressive-disclosure boundary.\n */\nexport function primeAgentSkillForIntent(options: Readonly<{\n capabilities: Pick<AgentCapabilities, 'tools' | 'skills'>;\n sessionSnapshot: DeferredToolSessionSnapshot;\n intent: string;\n config: DeferredCapabilityPlanOptions['config'];\n}>): AgentSkillIntentPrimeResult {\n const snapshot = projectSessionSnapshot(options.sessionSnapshot, options.capabilities);\n const skill = uniqueBestAgentSkill(options.capabilities.skills, options.intent);\n if (!skill) return Object.freeze({ snapshot });\n\n const config = resolveDeferredToolsConfig(options.config);\n const withTools = activateSkill(\n snapshot,\n skill,\n options.capabilities.tools,\n config.maxLoadedPerSession,\n new Set(config.alwaysLoadedTools),\n );\n return Object.freeze({ snapshot: withTools, skill });\n}\n\n/** Model recommendation never enlarges the immutable, already-authorized projection. */\nexport async function primeSkillsForIntent(options: Readonly<{\n capabilities: Pick<AgentCapabilities, 'tools' | 'skills'>;\n sessionSnapshot: DeferredToolSessionSnapshot;\n intent: string;\n config: DeferredCapabilityPlanOptions['config'];\n decision?: AgentDecisionRuntime;\n signal: AbortSignal;\n}>): Promise<AgentSkillIntentPrimeResult> {\n const ranking = await rankDecisionCandidates(options.decision, 'skills', options.intent,\n options.capabilities.skills.map(skill => ({ name: skill.qualifiedName, description: skill.description })),\n options.signal);\n if (!ranking.applied) return primeAgentSkillForIntent(options);\n const maxSelections = options.decision?.config.skills?.maxSelections ?? 2;\n const skills = ranking.selectedNames.slice(0, maxSelections).flatMap(name => {\n const skill = options.capabilities.skills.find(candidate => candidate.qualifiedName === name);\n return skill ? [skill] : [];\n });\n const config = resolveDeferredToolsConfig(options.config);\n let snapshot = projectSessionSnapshot(options.sessionSnapshot, options.capabilities);\n for (const skill of [...skills].reverse()) {\n snapshot = activateSkill(\n snapshot,\n skill,\n options.capabilities.tools,\n config.maxLoadedPerSession,\n new Set(config.alwaysLoadedTools),\n );\n }\n return Object.freeze({ snapshot, skill: skills[0], skills: Object.freeze(skills) });\n}\n\n/**\n * Turn-owned deferred capability authority. It has no filesystem, registry,\n * AsyncLocalStorage, or classic Tool dependency: everything comes from the\n * immutable generation projection and the session snapshot.\n */\nexport function createDeferredCapabilityPlan(\n options: DeferredCapabilityPlanOptions,\n): DeferredCapabilityPlan {\n if (options !== null && typeof options === 'object' && 'authority' in options) {\n throw new Error('createDeferredCapabilityPlan no longer accepts \"authority\"; use createWorkroomDeferredCapabilityPlan or pass an injected \"ceiling\"');\n }\n const config = resolveDeferredToolsConfig(options.config);\n const alwaysLoaded = new Set(config.alwaysLoadedTools);\n const projected = projectCapabilities(options.capabilities, options.ceiling);\n const executableCapabilities = projected.tools.filter(\n (tool) => (!tool.hidden || tool.placement !== undefined)\n && !DEFERRED_META_TOOL_NAMES.has(tool.name)\n && !isReservedControlToolName(tool.name),\n );\n const publicCapabilities = executableCapabilities.filter(\n (tool) => !tool.hidden\n );\n // Platform-scoped adapter tools already passed canAccess for this turn.\n // Keep them in the model tool list so QQ/social actions are not hidden behind discover.\n for (const tool of publicCapabilities) {\n if (tool.platforms?.length) alwaysLoaded.add(tool.name);\n }\n // Plugin authors may opt a tool into the resident set (#857 P1-10).\n for (const name of declaredResidentToolNames(publicCapabilities, options.config)) {\n alwaysLoaded.add(name);\n }\n const publicTools = publicCapabilities.map(capabilityAsAgentTool);\n const publicCatalog = buildToolCatalog({ tools: publicTools, alwaysLoaded });\n let snapshot = projectSessionSnapshot(options.sessionSnapshot, projected);\n\n const persist = async (next: DeferredToolSessionSnapshot): Promise<void> => {\n snapshot = next;\n await options.persistSnapshot(structuredClone(snapshot));\n };\n\n const metaCapabilities = createMetaCapabilities({\n owner: options.capabilities.owner,\n catalog: publicCatalog,\n skills: projected.skills,\n tools: executableCapabilities,\n platform: options.platform,\n topK: config.discoverTopK,\n maxLoaded: config.maxLoadedPerSession,\n pinned: alwaysLoaded,\n getSnapshot: () => snapshot,\n persist,\n decision: options.decision,\n });\n const capabilities = Object.freeze([...executableCapabilities, ...metaCapabilities]);\n const allTools = capabilities.map(capabilityAsAgentTool);\n const catalog = buildToolCatalog({ tools: allTools, alwaysLoaded });\n const publicToolNames = new Set(publicCatalog.map(item => item.name));\n const controller: DeferredCapabilityController = Object.freeze({\n loadedToolNames: () => getLoadedToolNamesFromSnapshot(snapshot),\n loadedSkillInstructions: () => loadedSkillInstructions(projected.skills, snapshot),\n load: async (name: string) => {\n if (!publicToolNames.has(name)) return false;\n if (!alwaysLoaded.has(name)) {\n await persist(touchToolInSnapshot(snapshot, name, config.maxLoadedPerSession));\n }\n return true;\n },\n });\n const resolvedTools = resolveDeferredApiTools(\n catalog,\n alwaysLoaded,\n controller.loadedToolNames(),\n );\n\n return Object.freeze({\n capabilities,\n allTools: Object.freeze(allTools),\n resolvedTools: Object.freeze(resolvedTools),\n catalog: Object.freeze(catalog),\n deferredStats: buildDeferredStats(catalog, resolvedTools),\n controller,\n });\n}\n\n/**\n * Upper bound on plugin tools that may become resident through their own\n * `alwaysLoaded: true` flag in one turn. Each resident schema is sent on every\n * model call, so a misbehaving plugin set must not silently flood the context.\n * Tools past the limit stay deferred (still reachable via `discover` /\n * `load_tool`) and a warning names them once. Operators who need more can list\n * tools in `deferredTools.alwaysLoadedTools`, which this limit does not touch.\n */\nexport const MAX_DECLARED_RESIDENT_TOOLS = 8;\n\nconst warnedOverLimitTools = new Set<string>();\n\n/**\n * Names of public tools whose author set `alwaysLoaded: true`, in projection\n * order and capped at {@link MAX_DECLARED_RESIDENT_TOOLS}.\n *\n * - Absent or `false` keeps the tool deferred (the default for every plugin).\n * - `deferredTools.alwaysLoadedMode: replace` means the operator's list is the\n * complete resident set, so author declarations are ignored.\n * - Only public (non-hidden) capabilities that already passed ingress and the\n * capability ceiling are considered; the flag never grants access.\n */\nexport function declaredResidentToolNames(\n tools: readonly Pick<ToolCapability, 'name' | 'alwaysLoaded'>[],\n config: DeferredCapabilityPlanOptions['config'],\n): string[] {\n if (config.deferredTools?.alwaysLoadedMode === 'replace') return [];\n const declared = tools.filter(tool => tool.alwaysLoaded === true).map(tool => tool.name);\n const overLimit = declared.slice(MAX_DECLARED_RESIDENT_TOOLS)\n .filter(name => !warnedOverLimitTools.has(name));\n if (overLimit.length > 0) {\n for (const name of overLimit) warnedOverLimitTools.add(name);\n logger.warn(\n `${declared.length} plugin tools declare alwaysLoaded; only the first ${MAX_DECLARED_RESIDENT_TOOLS} are resident. `\n + `Still deferred: ${overLimit.join(', ')}. List them in ai.agent.deferredTools.alwaysLoadedTools to keep them loaded.`,\n );\n }\n return declared.slice(0, MAX_DECLARED_RESIDENT_TOOLS);\n}\n\nfunction projectCapabilities(\n capabilities: AgentCapabilities,\n ceiling: DeferredCapabilityCeiling | undefined,\n): Readonly<Pick<AgentCapabilities, 'tools' | 'skills'>> {\n if (!ceiling) {\n return Object.freeze({\n tools: Object.freeze(capabilities.tools.filter(tool => !isReservedControlToolName(tool.name))),\n skills: capabilities.skills,\n });\n }\n const out = ceiling.project(capabilities);\n if (!out || !Array.isArray(out.tools) || !Array.isArray(out.skills)) {\n throw new Error('capability ceiling must return arrays for tools and skills');\n }\n const allowedTools = new Set<ToolCapability>(capabilities.tools);\n const allowedSkills = new Set<SkillDescriptor>(capabilities.skills);\n for (const tool of out.tools) {\n if (!allowedTools.has(tool)) {\n throw new Error(`capability ceiling returned a tool/skill that is not part of the input projection: tool \"${tool?.name}\"`);\n }\n }\n for (const skill of out.skills) {\n if (!allowedSkills.has(skill)) {\n throw new Error(`capability ceiling returned a tool/skill that is not part of the input projection: skill \"${skill?.qualifiedName}\"`);\n }\n }\n return Object.freeze(out);\n}\n\nfunction projectSessionSnapshot(\n snapshot: DeferredToolSessionSnapshot,\n capabilities: Readonly<Pick<AgentCapabilities, 'tools' | 'skills'>>,\n): DeferredToolSessionSnapshot {\n const allowedSkills = new Set(capabilities.skills.flatMap(\n skill => [skill.qualifiedName, skill.name],\n ));\n const loadedSkills = snapshot.loadedSkills.filter(name => allowedSkills.has(name));\n const allowedTools = new Set(capabilities.tools\n .filter((tool) => !tool.hidden)\n .map((tool) => tool.name));\n const loadedSkillNames = new Set(loadedSkills);\n for (const skill of capabilities.skills) {\n if (!loadedSkillNames.has(skill.qualifiedName) && !loadedSkillNames.has(skill.name)) continue;\n for (const tool of resolveSkillTools(skill, capabilities.tools)) allowedTools.add(tool);\n }\n return {\n loadedTools: Object.fromEntries(Object.entries(snapshot.loadedTools)\n .filter(([name]) => allowedTools.has(name))),\n loadedSkills,\n };\n}\n\nexport function capabilityAsAgentTool(tool: ToolCapability): AgentTool {\n const parameters = toolInputSchemaToParameters(tool.inputSchema);\n const modelParameters = structuredClone(parameters) as AgentTool['parameters'];\n return Object.freeze({\n name: tool.name,\n description: tool.description,\n parameters: modelParameters,\n source: tool.source,\n permissions: tool.permissions,\n tags: tool.tags ? [...tool.tags] : undefined,\n keywords: tool.keywords ? [...tool.keywords] : undefined,\n requiresApproval: tool.requiresApproval,\n execute: async () => {\n throw new Error(`AgentCore must execute capability ${tool.name} through ToolExecutionAuthority`);\n },\n });\n}\n\ninterface MetaCapabilityOptions {\n readonly owner: AgentCapabilities['owner'];\n readonly catalog: readonly ToolCatalogItem[];\n readonly skills: readonly SkillDescriptor[];\n readonly tools: readonly ToolCapability[];\n readonly platform?: string;\n readonly topK: number;\n readonly maxLoaded: number;\n /** Always-loaded tools: never written to the snapshot, so they never count against `maxLoaded`. */\n readonly pinned: ReadonlySet<string>;\n readonly getSnapshot: () => DeferredToolSessionSnapshot;\n readonly persist: (snapshot: DeferredToolSessionSnapshot) => Promise<void>;\n readonly decision?: AgentDecisionRuntime;\n}\n\nfunction createMetaCapabilities(options: MetaCapabilityOptions): readonly ToolCapability[] {\n const byName = new Map(options.catalog.map((item) => [item.name, item]));\n return Object.freeze([\n metaCapability(options.owner, 'discover', 'Search deferred tools and skills by intent.', {\n type: 'object',\n properties: {\n query: { type: 'string' },\n kind: { type: 'string', enum: ['tool', 'skill', 'all'] },\n },\n }, async (raw, invocation) => {\n const input = recordOf(raw);\n const query = typeof input.query === 'string' ? input.query.trim() : '';\n const kind = input.kind === 'tool' || input.kind === 'skill' ? input.kind : 'all';\n const catalog = disclosedToolCatalog(options);\n const fallbackTools = kind === 'skill' ? [] : discoverInCatalog({\n query,\n kind: 'tool',\n topK: options.topK,\n platform: options.platform,\n skillRegistry: null,\n catalog,\n });\n const fallbackSkills = kind === 'tool' ? [] : discoverSkills(options.skills, query, options.topK);\n const [rankedTools, rankedSkills] = query ? await Promise.all([\n kind === 'skill' ? undefined : rankDecisionCandidates(options.decision, 'tools', query,\n catalog.map(item => ({ name: item.name, description: item.fullTool.description })), invocation.signal),\n kind === 'tool' ? undefined : rankDecisionCandidates(options.decision, 'skills', query,\n options.skills.map(skill => ({ name: skill.qualifiedName, description: skill.description })), invocation.signal),\n ]) : [];\n const tools = rankedTools?.applied\n ? rankedTools.selectedNames.flatMap(name => {\n const item = catalog.find(candidate => candidate.name === name);\n return item ? [{ kind: 'tool' as const, name, brief: item.brief }] : [];\n }) : fallbackTools;\n const skills = rankedSkills?.applied\n ? rankedSkills.selectedNames.flatMap(name => {\n const skill = options.skills.find(candidate => candidate.qualifiedName === name);\n return skill ? [{ kind: 'skill' as const, name, brief: skill.description }] : [];\n }) : fallbackSkills;\n const rows = [...tools, ...skills];\n return rows.length > 0\n ? rows.map((item) => `- [${item.kind}] ${item.name}: ${item.brief}`).join('\\n')\n : 'No matches.';\n }),\n metaCapability(options.owner, 'load_tool', 'Load a deferred tool schema into this session.', {\n type: 'object',\n properties: { name: { type: 'string' } },\n required: ['name'],\n }, async (raw) => {\n const name = String(recordOf(raw).name ?? '');\n const item = byName.get(name);\n if (!item) return `Tool \"${name}\" not found in catalog.`;\n if (!options.pinned.has(name)) {\n await options.persist(touchToolInSnapshot(options.getSnapshot(), name, options.maxLoaded));\n }\n return `Loaded tool \"${name}\".\\nParameters schema:\\n${JSON.stringify(item.fullTool.parameters, null, 2)}\\n__zhin_tools_mutated__`;\n }),\n metaCapability(options.owner, 'load_skill', 'Load projected skill instructions into this session.', {\n type: 'object',\n properties: { name: { type: 'string' } },\n required: ['name'],\n }, async (raw) => {\n const name = String(recordOf(raw).name ?? '');\n const skill = resolveSkill(options.skills, name);\n if (!skill) return `Skill '${name}' not found in the active generation.`;\n const toolNames = resolveSkillTools(skill, options.tools);\n await options.persist(\n activateSkill(options.getSnapshot(), skill, options.tools, options.maxLoaded, options.pinned),\n );\n const unlocked = toolNames.length > 0 ? `\\nUnlocked tools: ${toolNames.join(', ')}` : '';\n return `${skill.instructions}${unlocked}\\n__zhin_tools_mutated__`;\n }),\n ]);\n}\n\nfunction metaCapability(\n owner: AgentCapabilities['owner'],\n name: string,\n description: string,\n inputSchema: ToolInputSchema,\n execute: (input: unknown, context: ToolInvocationContext) => Promise<unknown>,\n): ToolCapability {\n return Object.freeze({\n owner,\n name,\n qualifiedName: name,\n description,\n inputSchema,\n requiresApproval: 'never',\n source: 'builtin:agent-runtime',\n execute: <TInput = unknown, TResult = unknown>(input: TInput, context: ToolInvocationContext) =>\n execute(input, context) as Promise<TResult>,\n });\n}\n\nfunction discoverSkills(\n skills: readonly SkillDescriptor[],\n query: string,\n topK: number,\n): Array<{ kind: 'skill'; name: string; brief: string }> {\n const needle = query.toLocaleLowerCase();\n return skills\n .filter((skill) => !needle || [\n skill.qualifiedName,\n skill.description,\n ...(skill.keywords ?? []),\n ...(skill.tags ?? []),\n ].join(' ').toLocaleLowerCase().includes(needle))\n .slice(0, topK)\n .map((skill) => ({ kind: 'skill', name: skill.qualifiedName, brief: skill.description }));\n}\n\nfunction resolveSkill(skills: readonly SkillDescriptor[], name: string): SkillDescriptor | undefined {\n const matches = skills.filter((skill) => skill.qualifiedName === name || skill.name === name);\n return matches.length === 1 ? matches[0] : undefined;\n}\n\nfunction loadedSkillInstructions(\n skills: readonly SkillDescriptor[],\n snapshot: DeferredToolSessionSnapshot,\n): string[] {\n const loaded = new Set(snapshot.loadedSkills);\n return skills\n .filter((skill) => skill.always === true\n || loaded.has(skill.qualifiedName)\n || loaded.has(skill.name))\n .map((skill) => skill.instructions);\n}\n\nfunction activateSkill(\n snapshot: DeferredToolSessionSnapshot,\n skill: SkillDescriptor,\n tools: readonly ToolCapability[],\n maxLoaded: number,\n pinned: ReadonlySet<string>,\n): DeferredToolSessionSnapshot {\n const toolNames = resolveSkillTools(skill, tools).filter(name => !pinned.has(name));\n return touchToolsInSnapshot(addSkillToSnapshot(snapshot, skill.qualifiedName), toolNames, maxLoaded);\n}\n\nfunction disclosedToolCatalog(options: MetaCapabilityOptions): ToolCatalogItem[] {\n const loaded = new Set(getLoadedToolNamesFromSnapshot(options.getSnapshot()));\n const privateTools = options.tools.filter(tool => tool.hidden && loaded.has(tool.name));\n return [...options.catalog,\n ...buildToolCatalog({ tools: privateTools.map(capabilityAsAgentTool), alwaysLoaded: new Set<string>() })];\n}\n\nfunction resolveSkillTools(\n skill: SkillDescriptor,\n tools: readonly ToolCapability[],\n): string[] {\n const requested = new Set(skill.toolNames ?? []);\n if (requested.size === 0) return [];\n return tools.filter((tool) => tool.owner === skill.owner\n && belongsToSkill(tool, skill) && [...requested].some(\n name => tool.name === name || tool.name.endsWith(`__${name}`),\n )).map((tool) => tool.name);\n}\n\nfunction belongsToSkill(tool: ToolCapability, skill: SkillDescriptor): boolean {\n const placement = tool.placement;\n if (!placement) return !tool.hidden;\n if (placement.kind === 'agent') return placement.agent === skill.agentName;\n if (placement.kind === 'skill') return !skill.agentName && placement.skill === skill.name;\n return placement.agent === skill.agentName && placement.skill === skill.name;\n}\n\nfunction uniqueBestAgentSkill(\n skills: readonly SkillDescriptor[],\n intent: string,\n): SkillDescriptor | undefined {\n const haystack = intent.normalize('NFKC').toLocaleLowerCase().trim();\n if (!haystack) return undefined;\n const scored = skills\n .filter((skill) => skill.agentName && skill.keywords?.length)\n .map((skill) => ({ skill, score: keywordAffinity(skill.keywords ?? [], haystack) }))\n .filter((entry) => entry.score > 0)\n .sort((left, right) => right.score - left.score\n || left.skill.qualifiedName.localeCompare(right.skill.qualifiedName));\n if (!scored[0] || scored[0].score === scored[1]?.score) return undefined;\n return scored[0].skill;\n}\n\nfunction keywordAffinity(keywords: readonly string[], normalizedIntent: string): number {\n let score = 0;\n for (const value of new Set(keywords)) {\n const keyword = value.normalize('NFKC').toLocaleLowerCase().trim();\n if (keyword && normalizedIntent.includes(keyword)) score += [...keyword].length;\n }\n return score;\n}\n\nfunction recordOf(value: unknown): Record<string, unknown> {\n return value && typeof value === 'object' ? value as Record<string, unknown> : {};\n}\n"]}
|
|
@@ -19,4 +19,3 @@ export declare function findActualStringInFile(fileContent: string, searchString
|
|
|
19
19
|
* 将 new_string 中的直引号替换为文件中原始的弯引号风格。
|
|
20
20
|
*/
|
|
21
21
|
export declare function preserveQuoteStyleInEdit(oldString: string, actualOldString: string, newString: string): string;
|
|
22
|
-
//# sourceMappingURL=file-edit-quote-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-edit-quote-utils.js","sourceRoot":"","sources":["../../src/plugin-runtime/file-edit-quote-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-edit-quote-utils.js","sourceRoot":"","sources":["../../src/plugin-runtime/file-edit-quote-utils.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * 引号归一化 + 模糊匹配,供 edit_file 使用。\n */\n\n/** 将弯引号归一化为直引号 */\nexport function normalizeQuotes(str: string): string {\n return str\n .replace(/\\u2018/g, \"'\") // '\n .replace(/\\u2019/g, \"'\") // '\n .replace(/\\u201C/g, '\"') // \"\n .replace(/\\u201D/g, '\"'); // \"\n}\n\nexport interface FuzzyMatchResult {\n /** 文件中实际匹配到的字符串 */\n actual: string;\n /** 匹配次数 */\n count: number;\n /** 是否通过引号归一化匹配 */\n wasNormalized: boolean;\n}\n\n/**\n * 在文件内容中查找字符串,支持精确匹配和引号归一化模糊匹配。\n */\nexport function findActualStringInFile(fileContent: string, searchString: string): FuzzyMatchResult | null {\n const exactCount = fileContent.split(searchString).length - 1;\n if (exactCount > 0) {\n return { actual: searchString, count: exactCount, wasNormalized: false };\n }\n\n const normalizedSearch = normalizeQuotes(searchString);\n const normalizedFile = normalizeQuotes(fileContent);\n const idx = normalizedFile.indexOf(normalizedSearch);\n if (idx !== -1) {\n const actual = fileContent.substring(idx, idx + searchString.length);\n const normalizedCount = normalizedFile.split(normalizedSearch).length - 1;\n return { actual, count: normalizedCount, wasNormalized: true };\n }\n\n return null;\n}\n\n/**\n * 将 new_string 中的直引号替换为文件中原始的弯引号风格。\n */\nexport function preserveQuoteStyleInEdit(oldString: string, actualOldString: string, newString: string): string {\n if (oldString === actualOldString) return newString;\n\n const hasDouble = actualOldString.includes('\\u201C') || actualOldString.includes('\\u201D');\n const hasSingle = actualOldString.includes('\\u2018') || actualOldString.includes('\\u2019');\n if (!hasDouble && !hasSingle) return newString;\n\n let result = newString;\n if (hasDouble) {\n const chars = [...result];\n const out: string[] = [];\n for (let i = 0; i < chars.length; i++) {\n if (chars[i] === '\"') {\n const prev = i > 0 ? chars[i - 1] : ' ';\n const isOpening = /[\\s(\\[{]/.test(prev) || i === 0;\n out.push(isOpening ? '\\u201C' : '\\u201D');\n } else {\n out.push(chars[i]);\n }\n }\n result = out.join('');\n }\n if (hasSingle) {\n const chars = [...result];\n const out: string[] = [];\n for (let i = 0; i < chars.length; i++) {\n if (chars[i] === \"'\") {\n const prev = i > 0 ? chars[i - 1] : ' ';\n const next = i < chars.length - 1 ? chars[i + 1] : ' ';\n if (/\\p{L}/u.test(prev) && /\\p{L}/u.test(next)) {\n out.push('\\u2019');\n } else {\n const isOpening = /[\\s(\\[{]/.test(prev) || i === 0;\n out.push(isOpening ? '\\u2018' : '\\u2019');\n }\n } else {\n out.push(chars[i]);\n }\n }\n result = out.join('');\n }\n return result;\n}\n"]}
|