@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-summarization-runtime.js","sourceRoot":"","sources":["../../src/session/branch-summarization-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"branch-summarization-runtime.js","sourceRoot":"","sources":["../../src/session/branch-summarization-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Branch summarization on session tree switch — ADR 0010 D3.\n */\n\nimport {\n abandonedRowsToMessages,\n collectAbandonedPathRows,\n compactAgentMessages,\n estimateAgentMessagesTokens,\n parseAgentMessageRow,\n} from '@zhin.js/ai';\nimport type { CompactionConfig } from '../config/index.js';\nimport type { ZhinAgentPrivate } from '../internal/agent-host.js';\n\nexport interface BranchSummarizationOptions {\n compactionConfig?: CompactionConfig;\n contextWindow?: number;\n}\n\nexport async function summarizeAbandonedBranchIfNeeded(\n host: ZhinAgentPrivate,\n sessionId: string,\n oldLeafId: number | null | undefined,\n newLeafId: number,\n options: BranchSummarizationOptions = {},\n): Promise<void> {\n const compaction = options.compactionConfig ?? host.config.compaction;\n if (compaction?.enabled === false) return;\n if (oldLeafId == null || oldLeafId === newLeafId) return;\n\n if (await host.contextRepository.hasBranchSummary(sessionId, newLeafId)) return;\n\n const allRows = await host.contextRepository.loadMessageRows(sessionId);\n const abandoned = collectAbandonedPathRows(allRows, oldLeafId, newLeafId);\n if (abandoned.length === 0) return;\n\n const messages = abandonedRowsToMessages(abandoned);\n const keepRecentTokens = compaction?.keepRecentTokens ?? 20_000;\n if (estimateAgentMessagesTokens(messages) <= keepRecentTokens) return;\n\n const provider = host.getTurnProvider();\n const modelId = host.config.chatModel || provider.models[0] || '';\n const llmModel = host.llmRuntime.model(provider.name, modelId);\n const contextWindow = options.contextWindow ?? llmModel.contextWindow ?? host.config.contextTokens;\n\n let result: Awaited<ReturnType<typeof compactAgentMessages>>;\n try {\n result = await compactAgentMessages({\n transport: host.llmRuntime,\n model: llmModel,\n messages,\n contextWindow,\n keepRecentTokens: Math.min(keepRecentTokens, Math.max(500, Math.floor(messages.length * 200))),\n minKeepCount: 1,\n customInstructions:\n 'Summarize this abandoned conversation branch so it can be recalled later if the user returns to it.',\n });\n } catch {\n // 分支摘要是 best-effort:摘要失败(限流/断网)时跳过,不阻断分支切换、不丢原始消息\n return;\n }\n\n if (!result.summary?.trim()) return;\n\n await host.contextRepository.saveSummary(sessionId, result.summary, {\n branchAnchorMessageId: newLeafId,\n });\n}\n\nexport async function switchActiveLeafWithBranchSummarization(\n host: ZhinAgentPrivate,\n sessionId: string,\n messageId: number,\n options: BranchSummarizationOptions = {},\n): Promise<boolean> {\n const session = await host.agentSessionStore.getBySessionId(sessionId);\n const oldLeaf = session?.active_leaf_message_id;\n if (oldLeaf === messageId) return true;\n\n await summarizeAbandonedBranchIfNeeded(host, sessionId, oldLeaf, messageId, options);\n return host.contextRepository.setActiveLeaf(sessionId, messageId);\n}\n\nexport async function jumpToBranchIndexWithSummarization(\n host: ZhinAgentPrivate,\n sessionId: string,\n index: number,\n options: BranchSummarizationOptions = {},\n): Promise<{ ok: boolean; message: string }> {\n const points = await host.contextRepository.listBranchPoints(sessionId);\n const point = points.find(p => p.index === index);\n if (!point) {\n return { ok: false, message: `未找到分支点 #${index}` };\n }\n const ok = await switchActiveLeafWithBranchSummarization(\n host,\n sessionId,\n point.messageId,\n options,\n );\n return ok\n ? { ok: true, message: `已跳转到分支点 #${index}:${point.preview}` }\n : { ok: false, message: '跳转失败' };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/session/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/session/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG","sourcesContent":["/**\n * Session System — 模块契约(与实现同步)。\n *\n * 实现:`SessionSystem.registerStrategy` + `prepareTextTurn` / `touchAfterTurn`;\n * IM/Agent 双 store 由 `ZhinAgentPrivate` 注入(`session-io` SSOT),\n * 非本模块内 `SessionStore` 注册表。`contracts.SessionStore` 为策略层抽象。\n */\n\nimport type { Message } from '@zhin.js/core';\n\nexport interface Session {\n sessionKey: string;\n}\n\nexport interface CreateSessionInput {\n sessionKey: string;\n message: Message;\n}\n\nexport interface SessionStore {\n findActive(sessionKey: string): Promise<Session | null>;\n create(input: CreateSessionInput): Promise<Session>;\n archive(sessionKey: string): Promise<void>;\n}\n\nexport interface SessionStrategy {\n resolveSessionKey(message: Message): string;\n shouldArchive(message: Message): boolean;\n}\n\nexport interface SessionSystemConfig {\n /** 预留扩展面 */\n}\n"]}
|
package/lib/session/index.d.ts
CHANGED
|
@@ -17,4 +17,3 @@ export { LlmApprovalJudgment } from '../decision/approval-judgment.js';
|
|
|
17
17
|
export type { ApprovalHistoryEntry, ApprovalJudgment, ApprovalJudgmentInput, ApprovalJudgmentPort, ApprovalReviewDecision, LlmApprovalJudgmentOptions, } from '../decision/approval-judgment.js';
|
|
18
18
|
export { DecisionApprovalJudgment } from '../decision/approval.js';
|
|
19
19
|
export type { DecisionApprovalEvidence, DecisionApprovalJudgmentOptions, DecisionApprovalResult, } from '../decision/approval.js';
|
|
20
|
-
//# sourceMappingURL=index.d.ts.map
|
package/lib/session/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gCAAgC,GACjC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AASvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gCAAgC,GACjC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AASvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["/**\n * Session System — SessionSystem + 策略 + session-io(契约见 contracts.ts)。\n */\n\nexport type {\n Session,\n CreateSessionInput,\n SessionStore,\n SessionStrategy,\n SessionSystemConfig,\n} from './contracts.js';\n\nexport type { SessionIODeps } from './session-io.js';\nexport type { IngressTurnSessionPrep, TurnSessionPrep } from './session-system.js';\n\nexport { SessionSystem, createSessionSystem } from './session-system.js';\nexport {\n GroupSessionStrategy,\n SimpleSessionStrategy,\n} from './strategies.js';\n\nexport {\n buildUserMessageActor,\n prepareUserContentForSession,\n resolveTurnUserMessage,\n buildAgentSessionCreateInput,\n buildHistoryMessagesFromContext,\n resolveSessionIsNewBeforeCreate,\n beginTurnSession,\n touchSession,\n archiveSessionByKey,\n} from './session-io.js';\n\nexport {\n resolveAgentTurnSessionKey,\n} from './session-key.js';\n\nexport {\n listSessionTree,\n jumpSessionTree,\n} from './session-tree-commands.js';\n\nexport {\n summarizeAbandonedBranchIfNeeded,\n} from './branch-summarization-runtime.js';\nexport type { BranchSummarizationOptions } from './branch-summarization-runtime.js';\nexport {\n beginIngressTurnSession,\n buildTurnSessionCreateInput,\n resolveIngressUserMessage,\n} from './turn-ingress-session.js';\nexport type { ResolvedIngressUserMessage } from './turn-ingress-session.js';\n\nexport { LlmApprovalJudgment } from '../decision/approval-judgment.js';\nexport type {\n ApprovalHistoryEntry,\n ApprovalJudgment,\n ApprovalJudgmentInput,\n ApprovalJudgmentPort,\n ApprovalReviewDecision,\n LlmApprovalJudgmentOptions,\n} from '../decision/approval-judgment.js';\nexport { DecisionApprovalJudgment } from '../decision/approval.js';\nexport type {\n DecisionApprovalEvidence,\n DecisionApprovalJudgmentOptions,\n DecisionApprovalResult,\n} from '../decision/approval.js';\n"]}
|
|
@@ -28,4 +28,3 @@ export declare function beginTurnSession(deps: SessionIODeps, sessionKey: string
|
|
|
28
28
|
}>;
|
|
29
29
|
export declare function touchSession(deps: SessionIODeps, sessionId: string): Promise<void>;
|
|
30
30
|
export declare function archiveSessionByKey(deps: SessionIODeps, sessionKey: string): Promise<boolean>;
|
|
31
|
-
//# sourceMappingURL=session-io.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-io.js","sourceRoot":"","sources":["../../src/session/session-io.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-io.js","sourceRoot":"","sources":["../../src/session/session-io.ts"],"names":[],"mappings":"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","sourcesContent":["import { type AgentSessionRepository, type ContextRepository, type CreateAgentSessionInput, type AgentMessage, type ConversationActor, createUserMessage, renderUserMessageForLlm, type UserMessage } from '@zhin.js/ai';\nimport { type AgentTurnMessage, type Message, formatSenderRolesForLabel, resolveSceneFieldsFromMessage, senderRolesFromMessage, stripUserSpoofedSenderPrefix } from '@zhin.js/core';\nexport interface SessionIODeps {\n agentSessionStore: AgentSessionRepository;\n contextRepository: ContextRepository;\n}\n\nfunction resolveSenderDisplayName(message: Message): string {\n if (!message?.sender) return 'unknown';\n const sender = message.sender as { nickname?: string; name?: string; id?: string };\n const raw = sender.nickname || sender.name || sender.id;\n const displayName = raw == null ? '' : String(raw).trim();\n return displayName || 'unknown';\n}\n\nfunction mapPlatformRoleForLabel(role?: string): string | undefined {\n if (!role || role === 'member') return undefined;\n if (role === 'owner') return 'scene_owner';\n if (role === 'admin') return 'scene_admin';\n return role;\n}\n\nfunction resolveSenderRoleLabels(commMessage: Message): string[] {\n const labels = formatSenderRolesForLabel([...senderRolesFromMessage(commMessage)])\n .split(',')\n .map((r) => r.trim())\n .filter((r) => r && r !== 'user');\n const frameworkRoles = new Set(['master', 'trusted', 'user']);\n const platformRoles = new Set<string>();\n for (const role of commMessage.sender?.roles ?? []) {\n if (!frameworkRoles.has(role)) platformRoles.add(role);\n }\n if (typeof commMessage.metadata.senderRole === 'string') {\n platformRoles.add(commMessage.metadata.senderRole);\n }\n if (typeof commMessage.metadata.role === 'string') {\n platformRoles.add(commMessage.metadata.role);\n }\n if (Array.isArray(commMessage.metadata.roles)) {\n for (const role of commMessage.metadata.roles) platformRoles.add(String(role));\n }\n for (const role of platformRoles) {\n const platform = mapPlatformRoleForLabel(role);\n if (platform && !labels.includes(platform)) labels.push(platform);\n }\n return labels.length > 0 ? labels : ['user'];\n}\n\n/** 将 IM 参与者投影为 AgentMessage 的唯一身份权威。 */\nexport function buildUserMessageActor(commMessage: Message): ConversationActor {\n const scope = commMessage.conversation.kind || 'private';\n const roleLabels = resolveSenderRoleLabels(commMessage);\n return {\n subjectId: String(commMessage.sender?.id || 'unknown'),\n displayName: resolveSenderDisplayName(commMessage),\n roles: roleLabels.length > 0 ? roleLabels : ['user'],\n scope: scope === 'group' || scope === 'channel' ? scope : 'private',\n ...(commMessage.origin ? { origin: commMessage.origin } : {}),\n };\n}\n\n/** 剥离伪造前缀后的用户正文并建立 actor。 */\nexport function prepareUserContentForSession(\n commMessage: Message,\n rawContent: string,\n): { content: string; actor: ConversationActor } {\n const content = stripUserSpoofedSenderPrefix(rawContent);\n return { content, actor: buildUserMessageActor(commMessage) };\n}\n\n/** 本轮 user 消息:canonical 正文与 actor;标签只在 LLM 边界渲染。 */\nexport function resolveTurnUserMessage(\n commMessage: AgentTurnMessage,\n rawContent: string,\n): { content: string; llmMessage: UserMessage } {\n const { content, actor } = prepareUserContentForSession(commMessage, rawContent);\n const llmMessage = renderUserMessageForLlm(\n createUserMessage(content, undefined, Date.now(), actor),\n );\n return { content, llmMessage };\n}\n\nexport function buildAgentSessionCreateInput(\n sessionKey: string,\n): CreateAgentSessionInput {\n return { session_key: sessionKey };\n}\n\nexport async function buildHistoryMessagesFromContext(\n deps: SessionIODeps,\n sessionId: string,\n currentUserContent: string,\n): Promise<AgentMessage[]> {\n const loaded = await deps.contextRepository.loadContext(sessionId);\n const timestamp = Date.now();\n return [...loaded.messages, { role: 'user', content: [{ type: 'text', text: currentUserContent }], timestamp }];\n}\n\n/**\n * 在 `getOrCreateActive` 之前调用:是否视为新会话纪元(用于 ai.session.new)。\n */\nexport async function resolveSessionIsNewBeforeCreate(\n deps: SessionIODeps,\n sessionKey: string,\n): Promise<boolean> {\n const active = await deps.agentSessionStore.findActive(sessionKey);\n return !active;\n}\n\nexport async function beginTurnSession(\n deps: SessionIODeps,\n sessionKey: string,\n): Promise<{ sessionKey: string; sessionId: string }> {\n const input = buildAgentSessionCreateInput(sessionKey);\n const record = await deps.agentSessionStore.getOrCreateActive(input);\n return { sessionKey, sessionId: record.session_id };\n}\n\nexport async function touchSession(\n deps: SessionIODeps,\n sessionId: string,\n): Promise<void> {\n await deps.agentSessionStore.touch(sessionId);\n}\n\nexport async function archiveSessionByKey(\n deps: SessionIODeps,\n sessionKey: string,\n): Promise<boolean> {\n return deps.contextRepository.archiveSession(sessionKey);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-key.js","sourceRoot":"","sources":["../../src/session/session-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAgB,MAAM,eAAe,CAAC;AAE5E,8EAA8E;AAC9E,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC"}
|
|
1
|
+
{"version":3,"file":"session-key.js","sourceRoot":"","sources":["../../src/session/session-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAgB,MAAM,eAAe,CAAC;AAE5E,8EAA8E;AAC9E,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC","sourcesContent":["import { resolveIMSessionIdFromMessage, type Message } from '@zhin.js/core';\n\n/** Stable transport session key for the remaining classic Agent turn path. */\nexport function resolveAgentTurnSessionKey(message: Message): string {\n return resolveIMSessionIdFromMessage(message);\n}\n"]}
|
|
@@ -30,6 +30,13 @@ export declare class SessionSystem {
|
|
|
30
30
|
private resolvePersistenceReady;
|
|
31
31
|
private persistenceDone;
|
|
32
32
|
constructor(_config?: SessionSystemConfig);
|
|
33
|
+
/**
|
|
34
|
+
* Waits until the host's persistence owner calls {@link markPersistenceReady}.
|
|
35
|
+
* The timeout is only a safety net for a host that never marks readiness: it
|
|
36
|
+
* logs a warning and continues with the in-memory session/history. Reaching
|
|
37
|
+
* it means the composition root forgot to mark readiness (#857), so the
|
|
38
|
+
* timeout must not be raised to hide that.
|
|
39
|
+
*/
|
|
33
40
|
waitForPersistence(): Promise<void>;
|
|
34
41
|
markPersistenceReady(): void;
|
|
35
42
|
isPersistenceReady(): boolean;
|
|
@@ -47,4 +54,3 @@ export declare class SessionSystem {
|
|
|
47
54
|
archiveByKey(host: ZhinAgentPrivate, sessionKey: string): Promise<boolean>;
|
|
48
55
|
}
|
|
49
56
|
export declare function createSessionSystem(config?: SessionSystemConfig): SessionSystem;
|
|
50
|
-
//# sourceMappingURL=session-system.d.ts.map
|
|
@@ -19,22 +19,36 @@ export class SessionSystem {
|
|
|
19
19
|
this.resolvePersistenceReady = resolve;
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Waits until the host's persistence owner calls {@link markPersistenceReady}.
|
|
24
|
+
* The timeout is only a safety net for a host that never marks readiness: it
|
|
25
|
+
* logs a warning and continues with the in-memory session/history. Reaching
|
|
26
|
+
* it means the composition root forgot to mark readiness (#857), so the
|
|
27
|
+
* timeout must not be raised to hide that.
|
|
28
|
+
*/
|
|
22
29
|
async waitForPersistence() {
|
|
23
30
|
if (this.persistenceDone)
|
|
24
31
|
return;
|
|
25
32
|
const timeoutMs = process.env.NODE_ENV === 'test' ? 50 : 5_000;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
this.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
let timer;
|
|
34
|
+
try {
|
|
35
|
+
await Promise.race([
|
|
36
|
+
this.persistenceReady,
|
|
37
|
+
new Promise((resolve) => {
|
|
38
|
+
timer = setTimeout(() => {
|
|
39
|
+
if (!this.persistenceDone) {
|
|
40
|
+
logger.warn(`waitForPersistence: persistence was not marked ready within ${timeoutMs} ms; proceeding with in-memory session/history`);
|
|
41
|
+
this.markPersistenceReady();
|
|
42
|
+
}
|
|
43
|
+
resolve();
|
|
44
|
+
}, timeoutMs);
|
|
45
|
+
}),
|
|
46
|
+
]);
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
// Do not leave one pending timer per waiting turn once readiness arrives.
|
|
50
|
+
clearTimeout(timer);
|
|
51
|
+
}
|
|
38
52
|
}
|
|
39
53
|
markPersistenceReady() {
|
|
40
54
|
if (this.persistenceDone)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-system.js","sourceRoot":"","sources":["../../src/session/session-system.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-system.js","sourceRoot":"","sources":["../../src/session/session-system.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Message } from '@zhin.js/core';\nimport { getLogger } from '@zhin.js/logger';\nimport { resolveAgentTurnSessionKey } from './session-key.js';\nimport type { ZhinAgentPrivate } from '../internal/agent-host.js';\nimport { buildTurnUserMessages } from '../context/turn-user-message.js';\nimport { logPhase } from '../internal/phase-trace.js';\nimport type { SessionStrategy, SessionSystemConfig } from './contracts.js';\nimport { type SessionIODeps, beginTurnSession, resolveSessionIsNewBeforeCreate, touchSession, archiveSessionByKey } from './session-io.js';\nimport { GroupSessionStrategy } from './strategies.js';\nimport type { TurnIngress } from '../turn/turn-ingress.js';\nimport {\n beginIngressTurnSession,\n resolveIngressUserMessage,\n} from './turn-ingress-session.js';\nexport type { SessionIODeps } from './session-io.js';\n\nconst logger = getLogger('SessionSystem');\n\nexport interface TurnSessionPrep {\n sessionKey: string;\n userId: string;\n sessionId: string;\n isNewSession: boolean;\n turnUser: ReturnType<typeof buildTurnUserMessages>;\n}\n\nexport interface IngressTurnSessionPrep {\n sessionKey: string;\n userId: string;\n sessionId: string;\n isNewSession: boolean;\n turnUser: {\n rawContent: string;\n userMessageExtra?: import('@zhin.js/ai').AgentMessageExtra;\n promptMessages: import('@zhin.js/ai').UserMessage[];\n };\n}\n\nexport class SessionSystem {\n private readonly strategies = new Map<string, SessionStrategy>();\n private persistenceReady: Promise<void>;\n private resolvePersistenceReady!: () => void;\n private persistenceDone = false;\n\n constructor(private readonly _config: SessionSystemConfig = {}) {\n this.registerStrategy('group', new GroupSessionStrategy());\n this.persistenceReady = new Promise<void>((resolve) => {\n this.resolvePersistenceReady = resolve;\n });\n }\n\n /**\n * Waits until the host's persistence owner calls {@link markPersistenceReady}.\n * The timeout is only a safety net for a host that never marks readiness: it\n * logs a warning and continues with the in-memory session/history. Reaching\n * it means the composition root forgot to mark readiness (#857), so the\n * timeout must not be raised to hide that.\n */\n async waitForPersistence(): Promise<void> {\n if (this.persistenceDone) return;\n const timeoutMs = process.env.NODE_ENV === 'test' ? 50 : 5_000;\n let timer: ReturnType<typeof setTimeout> | undefined;\n try {\n await Promise.race([\n this.persistenceReady,\n new Promise<void>((resolve) => {\n timer = setTimeout(() => {\n if (!this.persistenceDone) {\n logger.warn(`waitForPersistence: persistence was not marked ready within ${timeoutMs} ms; proceeding with in-memory session/history`);\n this.markPersistenceReady();\n }\n resolve();\n }, timeoutMs);\n }),\n ]);\n } finally {\n // Do not leave one pending timer per waiting turn once readiness arrives.\n clearTimeout(timer);\n }\n }\n\n markPersistenceReady(): void {\n if (this.persistenceDone) return;\n this.persistenceDone = true;\n this.resolvePersistenceReady?.();\n }\n\n isPersistenceReady(): boolean {\n return this.persistenceDone;\n }\n\n registerStrategy(name: string, strategy: SessionStrategy): void {\n this.strategies.set(name, strategy);\n }\n\n resolveSessionKey(\n message: Message,\n strategyName: string = 'group',\n ): string {\n const strategy = this.strategies.get(strategyName);\n if (strategy) return strategy.resolveSessionKey(message);\n return resolveAgentTurnSessionKey(message);\n }\n\n sessionDeps(host: ZhinAgentPrivate): SessionIODeps {\n return {\n agentSessionStore: host.agentSessionStore,\n contextRepository: host.contextRepository,\n };\n }\n\n async prepareTextTurn(\n host: ZhinAgentPrivate,\n commMessage: Message,\n content: string,\n options?: { deferredAutoContinue?: boolean; strategyName?: string },\n ): Promise<TurnSessionPrep> {\n const deps = this.sessionDeps(host);\n const sessionKey = this.resolveSessionKey(commMessage, options?.strategyName);\n const userId = commMessage.sender?.id || 'unknown';\n const turnUser = buildTurnUserMessages(commMessage, content);\n const isNewSession = await resolveSessionIsNewBeforeCreate(deps, sessionKey);\n\n if (options?.deferredAutoContinue) {\n logPhase(host.phaseConfig, 'turn.deferred_auto_continue', sessionKey, {});\n } else {\n host.deferred.resetAutoContinueDepth(sessionKey);\n }\n\n await host.waitForMemoryPersistence();\n const { sessionId } = await beginTurnSession(deps, sessionKey);\n\n return {\n sessionKey,\n userId,\n sessionId,\n isNewSession,\n turnUser,\n };\n }\n\n async prepareIngressTurn(\n host: ZhinAgentPrivate,\n turn: TurnIngress,\n options?: { deferredAutoContinue?: boolean },\n ): Promise<IngressTurnSessionPrep> {\n const deps = this.sessionDeps(host);\n const sessionKey = turn.session.key;\n const userId = turn.principal.subjectId;\n const resolved = resolveIngressUserMessage(turn);\n const isNewSession = await resolveSessionIsNewBeforeCreate(deps, sessionKey);\n\n if (options?.deferredAutoContinue) {\n logPhase(host.phaseConfig, 'turn.deferred_auto_continue', sessionKey, {});\n } else {\n host.deferred.resetAutoContinueDepth(sessionKey);\n }\n\n await host.waitForMemoryPersistence();\n const { sessionId } = await beginIngressTurnSession(deps, turn);\n return {\n sessionKey,\n userId,\n sessionId,\n isNewSession,\n turnUser: {\n rawContent: resolved.content,\n ...(resolved.extra ? { userMessageExtra: resolved.extra } : {}),\n promptMessages: [resolved.llmMessage],\n },\n };\n }\n\n async touchAfterTurn(host: ZhinAgentPrivate, sessionId: string): Promise<void> {\n await touchSession(this.sessionDeps(host), sessionId);\n }\n\n async archiveByKey(host: ZhinAgentPrivate, sessionKey: string): Promise<boolean> {\n return archiveSessionByKey(this.sessionDeps(host), sessionKey);\n }\n}\n\nexport function createSessionSystem(config: SessionSystemConfig = {}): SessionSystem {\n return new SessionSystem(config);\n}\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { ZhinAgentPrivate } from '../internal/agent-host.js';
|
|
2
2
|
export declare function listSessionTree(host: ZhinAgentPrivate, sessionKey: string): Promise<string>;
|
|
3
3
|
export declare function jumpSessionTree(host: ZhinAgentPrivate, sessionKey: string, index: number): Promise<string>;
|
|
4
|
-
//# sourceMappingURL=session-tree-commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tree-commands.js","sourceRoot":"","sources":["../../src/session/session-tree-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,0BAA0B,CAAC;AAEhF,SAAS,gBAAgB,CAAC,MAA4B;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACjD,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACpC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAsB,EACtB,UAAkB;IAElB,MAAM,IAAI,GAAkB;QAC1B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxE,OAAO,wCAAwC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAsB,EACtB,UAAkB,EAClB,KAAa;IAEb,MAAM,IAAI,GAAkB;QAC1B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACpE,CAAC"}
|
|
1
|
+
{"version":3,"file":"session-tree-commands.js","sourceRoot":"","sources":["../../src/session/session-tree-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,0BAA0B,CAAC;AAEhF,SAAS,gBAAgB,CAAC,MAA4B;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACjD,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACpC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAsB,EACtB,UAAkB;IAElB,MAAM,IAAI,GAAkB;QAC1B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxE,OAAO,wCAAwC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAsB,EACtB,UAAkB,EAClB,KAAa;IAEb,MAAM,IAAI,GAAkB;QAC1B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACpE,CAAC","sourcesContent":["import type { SessionBranchPoint } from '@zhin.js/ai';\nimport { beginTurnSession, type SessionIODeps } from '../session/session-io.js';\nimport type { ZhinAgentPrivate } from '../internal/agent-host.js';\nfunction formatBranchList(points: SessionBranchPoint[]): string {\n if (points.length === 0) return '当前会话无 user 分支点';\n return points\n .map(p => `${p.index}. ${p.preview}`)\n .join('\\n');\n}\n\nexport async function listSessionTree(\n host: ZhinAgentPrivate,\n sessionKey: string,\n): Promise<string> {\n const deps: SessionIODeps = {\n agentSessionStore: host.agentSessionStore,\n contextRepository: host.contextRepository,\n };\n const { sessionId } = await beginTurnSession(deps, sessionKey);\n const points = await host.contextRepository.listBranchPoints(sessionId);\n return `🌳 会话分支点(/tree N 跳转,/fork N 从该点继续):\\n${formatBranchList(points)}`;\n}\n\nexport async function jumpSessionTree(\n host: ZhinAgentPrivate,\n sessionKey: string,\n index: number,\n): Promise<string> {\n const deps: SessionIODeps = {\n agentSessionStore: host.agentSessionStore,\n contextRepository: host.contextRepository,\n };\n const { sessionId } = await beginTurnSession(deps, sessionKey);\n const result = await host.contextRepository.jumpToBranchIndex(sessionId, index);\n return result.ok ? `✅ ${result.message}` : `ℹ️ ${result.message}`;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/session/strategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAgB,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,MAAM,OAAO,oBAAoB;IAC/B,iBAAiB,CAAC,OAAgB;QAChC,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,OAAgB;QAC5B,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,OAAO,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAChC,iBAAiB,CAAC,OAAgB;QAChC,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,QAAiB;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/session/strategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAgB,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,MAAM,OAAO,oBAAoB;IAC/B,iBAAiB,CAAC,OAAgB;QAChC,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,OAAgB;QAC5B,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,OAAO,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAChC,iBAAiB,CAAC,OAAgB;QAChC,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,QAAiB;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["import { resolveIMSessionIdFromMessage, type Message } from '@zhin.js/core';\nimport { resolveAgentTurnSessionKey } from './session-key.js';\nimport type { SessionStrategy } from './contracts.js';\n\nexport class GroupSessionStrategy implements SessionStrategy {\n resolveSessionKey(message: Message): string {\n return resolveAgentTurnSessionKey(message);\n }\n\n shouldArchive(message: Message): boolean {\n return message.conversation.kind === 'group';\n }\n}\n\nexport class SimpleSessionStrategy implements SessionStrategy {\n resolveSessionKey(message: Message): string {\n return resolveIMSessionIdFromMessage(message);\n }\n\n shouldArchive(_message: Message): boolean {\n return false;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-ingress-session.js","sourceRoot":"","sources":["../../src/session/turn-ingress-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"turn-ingress-session.js","sourceRoot":"","sources":["../../src/session/turn-ingress-session.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createUserMessage,\n renderUserMessageForLlm,\n type AgentMessageExtra,\n type AgentSessionRepository,\n type CreateAgentSessionInput,\n type UserMessage,\n} from '@zhin.js/ai';\nimport { stripUserSpoofedSenderPrefix } from '@zhin.js/core';\nimport type { TurnIngress } from '../turn/turn-ingress.js';\n\nexport interface ResolvedIngressUserMessage {\n readonly content: string;\n readonly extra?: AgentMessageExtra;\n readonly llmMessage: UserMessage;\n}\n\nexport function resolveIngressUserMessage(\n turn: TurnIngress,\n): ResolvedIngressUserMessage {\n const content = stripUserSpoofedSenderPrefix(turn.input.text);\n const referenceBlock = renderTurnReferences(turn);\n const extra: AgentMessageExtra | undefined = referenceBlock\n ? { quote: { block: referenceBlock } }\n : undefined;\n const llmMessage = renderUserMessageForLlm(\n createUserMessage(content, undefined, Date.now(), {\n subjectId: turn.principal.subjectId,\n ...(turn.principal.displayName ? { displayName: turn.principal.displayName } : {}),\n roles: [...turn.principal.roles],\n ...(turn.principal.origin ? { origin: turn.principal.origin } : {}),\n ...(turn.origin.kind === 'im' ? { scope: turn.origin.scope } : {}),\n }, {\n turnId: turn.identity.turnId,\n intent: turn.intent.kind,\n ...(turn.intent.targetTurnId ? { targetTurnId: turn.intent.targetTurnId } : {}),\n }),\n extra,\n );\n return Object.freeze({\n content,\n ...(extra ? { extra: Object.freeze(extra) } : {}),\n llmMessage,\n });\n}\n\nfunction renderTurnReferences(turn: TurnIngress): string | undefined {\n const references = turn.input.references ?? [];\n if (references.length === 0) return undefined;\n const lines = references.map((reference) => {\n const preview = reference.preview?.trim();\n return `- ${reference.kind} id=${reference.sourceId} reference=${reference.key}`\n + (preview ? `\\n preview: ${preview}` : '');\n });\n return `[Untrusted conversation references]\\n${lines.join('\\n')}\\n`\n + 'Use inspect_conversation_reference when the referenced content is needed.';\n}\n\nexport function buildTurnSessionCreateInput(\n turn: TurnIngress,\n): CreateAgentSessionInput {\n return { session_key: turn.session.key };\n}\n\nexport async function beginIngressTurnSession(\n deps: { agentSessionStore: AgentSessionRepository },\n turn: TurnIngress,\n): Promise<{ sessionKey: string; sessionId: string }> {\n const record = await deps.agentSessionStore.getOrCreateActive(\n buildTurnSessionCreateInput(turn),\n );\n return { sessionKey: turn.session.key, sessionId: record.session_id };\n}\n"]}
|
|
@@ -12,4 +12,3 @@ export interface SessionTreeRuntimeHandle {
|
|
|
12
12
|
resolveActiveSessionId(sessionKey: string): Promise<string | null>;
|
|
13
13
|
}
|
|
14
14
|
export declare function createSessionTreeRuntimeFromAgent(host: ZhinAgentPrivate): SessionTreeRuntimeHandle;
|
|
15
|
-
//# sourceMappingURL=session-tree-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tree-runtime.js","sourceRoot":"","sources":["../src/session-tree-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kCAAkC,EAClC,uCAAuC,GACxC,MAAM,2CAA2C,CAAC;AAYnD,MAAM,UAAU,iCAAiC,CAC/C,IAAsB;IAEtB,OAAO;QACL,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACvE,OAAO,OAAO,EAAE,sBAAsB,IAAI,IAAI,CAAC;QACjD,CAAC;QACD,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CACzC,uCAAuC,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC;QACrE,iBAAiB,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CACtC,kCAAkC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC;QAC5D,gBAAgB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACnF,sBAAsB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACnE,OAAO,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC;QACpC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"session-tree-runtime.js","sourceRoot":"","sources":["../src/session-tree-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kCAAkC,EAClC,uCAAuC,GACxC,MAAM,2CAA2C,CAAC;AAYnD,MAAM,UAAU,iCAAiC,CAC/C,IAAsB;IAEtB,OAAO;QACL,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACvE,OAAO,OAAO,EAAE,sBAAsB,IAAI,IAAI,CAAC;QACjD,CAAC;QACD,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CACzC,uCAAuC,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC;QACrE,iBAAiB,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CACtC,kCAAkC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC;QAC5D,gBAAgB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACnF,sBAAsB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACnE,OAAO,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC;QACpC,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { SessionBranchPoint } from '@zhin.js/ai';\nimport {\n jumpToBranchIndexWithSummarization,\n switchActiveLeafWithBranchSummarization,\n} from './session/branch-summarization-runtime.js';\nimport type { ZhinAgentPrivate } from './internal/agent-host.js';\n\n/** Generation-owned session-tree projection exposed through AgentHostPort. */\nexport interface SessionTreeRuntimeHandle {\n getActiveLeafMessageId(sessionId: string): Promise<number | null>;\n switchActiveLeaf(sessionId: string, messageId: number): Promise<boolean>;\n jumpToBranchIndex(sessionId: string, index: number): Promise<{ ok: boolean; message: string }>;\n listBranchPoints(sessionId: string): Promise<SessionBranchPoint[]>;\n resolveActiveSessionId(sessionKey: string): Promise<string | null>;\n}\n\nexport function createSessionTreeRuntimeFromAgent(\n host: ZhinAgentPrivate,\n): SessionTreeRuntimeHandle {\n return {\n getActiveLeafMessageId: async (sessionId) => {\n const session = await host.agentSessionStore.getBySessionId(sessionId);\n return session?.active_leaf_message_id ?? null;\n },\n switchActiveLeaf: (sessionId, messageId) =>\n switchActiveLeafWithBranchSummarization(host, sessionId, messageId),\n jumpToBranchIndex: (sessionId, index) =>\n jumpToBranchIndexWithSummarization(host, sessionId, index),\n listBranchPoints: (sessionId) => host.contextRepository.listBranchPoints(sessionId),\n resolveActiveSessionId: async (sessionKey) => {\n const active = await host.agentSessionStore.findActive(sessionKey);\n return active?.session_id ?? null;\n },\n };\n}\n"]}
|
|
@@ -24,4 +24,3 @@ export declare function renderAgentCatalog(agents: readonly CatalogEntry[]): str
|
|
|
24
24
|
* Calling one loads it on demand; `load_tool` or `discover` work as well.
|
|
25
25
|
*/
|
|
26
26
|
export declare function renderDeferredToolIndex(tools: readonly CatalogEntry[]): string | undefined;
|
|
27
|
-
//# sourceMappingURL=capability-catalog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-catalog.js","sourceRoot":"","sources":["../../src/skill/capability-catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capability-catalog.js","sourceRoot":"","sources":["../../src/skill/capability-catalog.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Compact capability catalog for the system prompt (#729, M2.3).\n *\n * The prompt only carries a name and a one-line trigger description for each\n * skill and specialist agent. Full skill instructions reach the model after\n * `load_skill` (or intent priming), and specialist instructions only when the\n * agent is selected, so the resident prompt stays small as plugins add skills.\n */\nimport { SKILL_DISCLOSURE_PROMPT_HINT } from './progressive-disclosure.js';\n\n/** Headings the context budget report uses to attribute catalog tokens. */\nexport const SKILL_CATALOG_HEADING = '## Available skills';\nexport const AGENT_CATALOG_HEADING = '## Available specialist agents';\nexport const DEFERRED_TOOL_INDEX_HEADING = '## Deferred tools';\n\n/** Longest one-line description kept per deferred tool index entry. */\nexport const TOOL_INDEX_DESCRIPTION_MAX_CHARS = 60;\n\n/** Longest one-line description kept per catalog entry. */\nexport const CATALOG_DESCRIPTION_MAX_CHARS = 96;\n/** Entries listed before the rest are left to `discover`. */\nexport const CATALOG_MAX_ENTRIES = 40;\n\nexport interface CatalogEntry {\n readonly name: string;\n readonly description: string;\n}\n\n/** First line of a description, whitespace-collapsed and clipped to `max` characters. */\nexport function oneLineDescription(description: string, max = CATALOG_DESCRIPTION_MAX_CHARS): string {\n const firstLine = description.trim().split(/\\r?\\n/, 1)[0] ?? '';\n const line = firstLine.replace(/\\s+/g, ' ').trim();\n return line.length <= max ? line : `${line.slice(0, max - 1).trimEnd()}…`;\n}\n\nfunction renderEntries(\n entries: readonly CatalogEntry[],\n overflowHint: string,\n descriptionMax = CATALOG_DESCRIPTION_MAX_CHARS,\n): string[] {\n const listed = entries.slice(0, CATALOG_MAX_ENTRIES);\n const lines = listed.map((entry) => {\n const description = oneLineDescription(entry.description, descriptionMax);\n return description ? `- ${entry.name}: ${description}` : `- ${entry.name}`;\n });\n const hidden = entries.length - listed.length;\n if (hidden > 0) lines.push(`- …and ${hidden} more; ${overflowHint}`);\n return lines;\n}\n\n/** Skill catalog block: names and one-line triggers, plus the load_skill hint. */\nexport function renderSkillCatalog(skills: readonly CatalogEntry[]): string | undefined {\n if (skills.length === 0) return undefined;\n return [\n SKILL_CATALOG_HEADING,\n SKILL_DISCLOSURE_PROMPT_HINT,\n ...renderEntries(skills, 'use discover(kind=skill) to search them.'),\n ].join('\\n');\n}\n\n/** Specialist agent catalog block: names and one-line descriptions. */\nexport function renderAgentCatalog(agents: readonly CatalogEntry[]): string | undefined {\n if (agents.length === 0) return undefined;\n return [\n AGENT_CATALOG_HEADING,\n ...renderEntries(agents, 'they are not listed here.'),\n ].join('\\n');\n}\n\n/**\n * Deferred tool index (#729, M2.2): tools whose schema is not sent up front,\n * listed by name and a short description so the model knows they exist.\n * Calling one loads it on demand; `load_tool` or `discover` work as well.\n */\nexport function renderDeferredToolIndex(tools: readonly CatalogEntry[]): string | undefined {\n if (tools.length === 0) return undefined;\n return [\n DEFERRED_TOOL_INDEX_HEADING,\n 'These tools are available but their parameters are not loaded yet. Call load_tool(name) first, or discover(kind=tool) to search.',\n ...renderEntries(tools, 'use discover(kind=tool) to search them.', TOOL_INDEX_DESCRIPTION_MAX_CHARS),\n ].join('\\n');\n}\n"]}
|
package/lib/skill/contracts.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/skill/contracts.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/skill/contracts.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\n * Skill System — 模块契约(与实现同步)。\n *\n * 实现:包装 `SkillRegistry`;`search` 使用 registry TF-IDF 真实 score。\n */\n\nimport type { AgentTool } from '@zhin.js/ai';\nimport type { Message } from '@zhin.js/core';\n\nexport interface Skill {\n name: string;\n description: string;\n tools: AgentTool[];\n keywords: string[];\n tags: string[];\n platforms?: string[];\n}\n\nexport interface SkillSearchResult {\n skill: Skill;\n score: number;\n}\n\nexport interface SkillSearchOptions {\n maxResults?: number;\n platform?: string;\n}\n\nexport interface SkillSystemConfig {\n /** 预留扩展面 */\n}\n\nexport interface TurnContext {\n message: Message;\n}\n"]}
|
package/lib/skill/index.d.ts
CHANGED
|
@@ -5,4 +5,3 @@ export type { Skill, SkillSearchResult, SkillSearchOptions, SkillSystemConfig, T
|
|
|
5
5
|
export { SkillSystem, createSkillSystem, defaultSkillSystem, } from './skill-system.js';
|
|
6
6
|
export { SkillRegistry } from '../resource-hub/skill-registry.js';
|
|
7
7
|
export type { Skill as ResourceHubSkill, SkillMetadata } from '../resource-hub/types.js';
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
package/lib/skill/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC","sourcesContent":["/**\n * Skill System — SkillRegistry 统一出口(契约见 contracts.ts)。\n */\n\nexport type {\n Skill,\n SkillSearchResult,\n SkillSearchOptions,\n SkillSystemConfig,\n TurnContext,\n} from './contracts.js';\n\nexport {\n SkillSystem,\n createSkillSystem,\n defaultSkillSystem,\n} from './skill-system.js';\n\nexport { SkillRegistry } from '../resource-hub/skill-registry.js';\nexport type { Skill as ResourceHubSkill, SkillMetadata } from '../resource-hub/types.js';\n"]}
|
|
@@ -6,4 +6,3 @@ export declare const SKILL_DISCLOSURE_TOOLS: readonly ["discover", "load_skill"]
|
|
|
6
6
|
/** Recommended agent turn sequence for deferred skills. */
|
|
7
7
|
export declare const SKILL_DISCLOSURE_STEPS: readonly ["discover(kind=skill, query=...)", "load_skill(name)", "call tools unlocked by the skill"];
|
|
8
8
|
export declare const SKILL_DISCLOSURE_PROMPT_HINT: string;
|
|
9
|
-
//# sourceMappingURL=progressive-disclosure.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progressive-disclosure.js","sourceRoot":"","sources":["../../src/skill/progressive-disclosure.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,YAAY,CAAU,CAAC;AAE1E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,iCAAiC;IACjC,kBAAkB;IAClB,kCAAkC;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GACvC,6EAA6E;MAC3E,mEAAmE,CAAC"}
|
|
1
|
+
{"version":3,"file":"progressive-disclosure.js","sourceRoot":"","sources":["../../src/skill/progressive-disclosure.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,YAAY,CAAU,CAAC;AAE1E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,iCAAiC;IACjC,kBAAkB;IAClB,kCAAkC;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GACvC,6EAA6E;MAC3E,mEAAmE,CAAC","sourcesContent":["/**\n * Skills progressive disclosure — Eve-aligned discover → load_skill (ADR 0039 P1).\n */\n\n/** Builtin meta tools for on-demand skill loading. */\nexport const SKILL_DISCLOSURE_TOOLS = ['discover', 'load_skill'] as const;\n\n/** Recommended agent turn sequence for deferred skills. */\nexport const SKILL_DISCLOSURE_STEPS = [\n 'discover(kind=skill, query=...)',\n 'load_skill(name)',\n 'call tools unlocked by the skill',\n] as const;\n\nexport const SKILL_DISCLOSURE_PROMPT_HINT =\n 'Skills are not fully injected upfront. Use discover(kind=skill) to search, '\n + 'then load_skill(name) before following skill-specific procedures.';\n"]}
|
|
@@ -2,4 +2,3 @@ import type { ZhinAgentPrivate } from '../internal/agent-host.js';
|
|
|
2
2
|
import { type SkillInstructionSource } from './skill-instruction-reader.js';
|
|
3
3
|
/** Bind Skill discovery rules and model-specific limits for one Agent runtime. */
|
|
4
4
|
export declare function buildSkillInstructionReaderForAgent(host: ZhinAgentPrivate): SkillInstructionSource;
|
|
5
|
-
//# sourceMappingURL=skill-instruction-reader-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-instruction-reader-factory.js","sourceRoot":"","sources":["../../src/skill/skill-instruction-reader-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAA+B,MAAM,+BAA+B,CAAC;AAEpG,kFAAkF;AAClF,MAAM,UAAU,mCAAmC,CAAC,IAAsB;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,aAAa,CAAC;IAC3F,OAAO,IAAI,sBAAsB,CAAC;QAChC,QAAQ,EAAE,+BAA+B,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;QAC/D,WAAW,EAAE,GAAG,EAAE,CAAC,0BAA0B,EAAE;QAC/C,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ;KACxE,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"skill-instruction-reader-factory.js","sourceRoot":"","sources":["../../src/skill/skill-instruction-reader-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAA+B,MAAM,+BAA+B,CAAC;AAEpG,kFAAkF;AAClF,MAAM,UAAU,mCAAmC,CAAC,IAAsB;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,aAAa,CAAC;IAC3F,OAAO,IAAI,sBAAsB,CAAC;QAChC,QAAQ,EAAE,+BAA+B,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;QAC/D,WAAW,EAAE,GAAG,EAAE,CAAC,0BAA0B,EAAE;QAC/C,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ;KACxE,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { mergeSkillDirsWithResolver } from '../discovery/utils.js';\nimport { resolveSkillInstructionMaxChars } from '../config/index.js';\nimport type { ZhinAgentPrivate } from '../internal/agent-host.js';\nimport { SkillInstructionReader, type SkillInstructionSource } from './skill-instruction-reader.js';\n\n/** Bind Skill discovery rules and model-specific limits for one Agent runtime. */\nexport function buildSkillInstructionReaderForAgent(host: ZhinAgentPrivate): SkillInstructionSource {\n const modelId = host.getTurnProvider().models[0] || host.config.chatModel || 'gpt-4o-mini';\n return new SkillInstructionReader({\n maxChars: resolveSkillInstructionMaxChars(host.config, modelId),\n directories: () => mergeSkillDirsWithResolver(),\n registeredFile: (name) => host.skillRegistry?.getByName(name)?.filePath,\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-instruction-reader.js","sourceRoot":"","sources":["../../src/skill/skill-instruction-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAiB3F,iGAAiG;AACjG,MAAM,OAAO,sBAAsB;IACxB,QAAQ,CAAgC;IAEjD,YAAY,OAAsC;QAChD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,IACE,CAAC,aAAa;eACX,aAAa,KAAK,IAAI;eACtB,aAAa,KAAK,GAAG;eACrB,aAAa,KAAK,IAAI;eACtB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;eAC3B,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC/B,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC,CAAC;QACjE,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC3F,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;YAC7D,IAAI,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAY;QACxC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,OAAO;YACf,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY;SAC3F,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"skill-instruction-reader.js","sourceRoot":"","sources":["../../src/skill/skill-instruction-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAiB3F,iGAAiG;AACjG,MAAM,OAAO,sBAAsB;IACxB,QAAQ,CAAgC;IAEjD,YAAY,OAAsC;QAChD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,IACE,CAAC,aAAa;eACX,aAAa,KAAK,IAAI;eACtB,aAAa,KAAK,GAAG;eACrB,aAAa,KAAK,IAAI;eACtB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;eAC3B,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC/B,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC,CAAC;QACjE,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC3F,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;YAC7D,IAAI,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAY;QACxC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,OAAO;YACf,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY;SAC3F,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { existsSync } from 'node:fs';\nimport { readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { checkSkillDependencies, extractSkillInstructions } from './skill-instructions.js';\n\nexport type SkillInstructionReadResult = Readonly<\n | { status: 'found'; instructions: string }\n | { status: 'missing'; name: string }\n>;\n\nexport interface SkillInstructionSource {\n read(name: string): Promise<SkillInstructionReadResult>;\n}\n\nexport interface SkillInstructionReaderOptions {\n readonly registeredFile?: (name: string) => string | undefined;\n readonly directories: () => readonly string[];\n readonly maxChars: number;\n}\n\n/** Resolves and reads Skill instructions without exposing filesystem lookup rules to callers. */\nexport class SkillInstructionReader implements SkillInstructionSource {\n readonly #options: SkillInstructionReaderOptions;\n\n constructor(options: SkillInstructionReaderOptions) {\n if (!Number.isInteger(options.maxChars) || options.maxChars <= 0) {\n throw new TypeError('Skill instruction maxChars must be a positive integer');\n }\n this.#options = options;\n }\n\n async read(name: string): Promise<SkillInstructionReadResult> {\n const canonicalName = name.trim();\n if (\n !canonicalName\n || canonicalName !== name\n || canonicalName === '.'\n || canonicalName === '..'\n || canonicalName.includes('/')\n || canonicalName.includes('\\\\')\n ) {\n throw new TypeError('Skill name must be a non-empty canonical name');\n }\n const registered = this.#options.registeredFile?.(canonicalName);\n if (registered && existsSync(registered)) return this.#readFile(canonicalName, registered);\n for (const directory of this.#options.directories()) {\n const candidate = join(directory, canonicalName, 'SKILL.md');\n if (existsSync(candidate)) return this.#readFile(canonicalName, candidate);\n }\n return Object.freeze({ status: 'missing', name: canonicalName });\n }\n\n async #readFile(name: string, file: string): Promise<SkillInstructionReadResult> {\n const content = await readFile(file, 'utf8');\n const dependencyWarning = await checkSkillDependencies(content);\n const instructions = extractSkillInstructions(name, content, this.#options.maxChars);\n return Object.freeze({\n status: 'found',\n instructions: dependencyWarning ? `${dependencyWarning}\\n\\n${instructions}` : instructions,\n });\n }\n}\n"]}
|
|
@@ -2,4 +2,3 @@
|
|
|
2
2
|
export declare function checkSkillDependencies(content: string): Promise<string>;
|
|
3
3
|
/** Extract bounded, action-oriented instructions from a SKILL.md document. */
|
|
4
4
|
export declare function extractSkillInstructions(name: string, content: string, maxBodyLength?: number): string;
|
|
5
|
-
//# sourceMappingURL=skill-instructions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-instructions.js","sourceRoot":"","sources":["../../src/skill/skill-instructions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skill-instructions.js","sourceRoot":"","sources":["../../src/skill/skill-instructions.ts"],"names":[],"mappings":"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","sourcesContent":["import { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\n\nconst execFileAsync = promisify(execFile);\n\n/** Return a readable warning when a Skill declares unavailable executable dependencies. */\nexport async function checkSkillDependencies(content: string): Promise<string> {\n const frontmatter = content.match(/^---\\s*\\n([\\s\\S]*?)\\n---/u);\n if (!frontmatter) return '';\n const module = await import('js-yaml');\n const yaml = module.default ?? module;\n const metadata = yaml.load(frontmatter[1]!) as {\n readonly compatibility?: { readonly deps?: unknown };\n } | null;\n const dependencies = metadata?.compatibility?.deps;\n if (!Array.isArray(dependencies)) return '';\n const missing: string[] = [];\n for (const value of dependencies) {\n if (typeof value !== 'string' || !value.trim()) continue;\n try {\n await execFileAsync('which', [value]);\n } catch {\n missing.push(value);\n }\n }\n return missing.length === 0\n ? ''\n : `⚠️ 当前环境缺少以下依赖,请先安装后再使用本技能:${missing.join(', ')}`;\n}\n\n/** Extract bounded, action-oriented instructions from a SKILL.md document. */\nexport function extractSkillInstructions(\n name: string,\n content: string,\n maxBodyLength = 4000,\n): string {\n const lines = [`Skill '${name}' loaded. 请立即根据以下指导执行工具调用:`, ''];\n const frontmatter = content.match(/^---\\s*\\n([\\s\\S]*?)\\n---/u);\n if (frontmatter) {\n const tools = frontmatter[1]!.match(/tools:\\s*\\n((?:\\s+-\\s+.+\\n?)+)/u);\n if (tools) lines.push('## 可用工具', tools[0].trim(), '');\n }\n const body = frontmatter && frontmatter.index !== undefined\n ? content.slice(frontmatter.index + frontmatter[0].length).replace(/^\\s+/u, '')\n : content;\n const quickActions = body.match(/## (?:快速操作|Quick\\s*Actions)[\\s\\S]*?(?=\\n## [^\\s]|$)/iu);\n if (quickActions && maxBodyLength <= 2000) {\n lines.push(quickActions[0].trim(), '', immediateAction());\n return lines.join('\\n');\n }\n const rules = content.match(/## 执行规则[\\s\\S]*?(?=\\n## [^\\s]|$)/u);\n const workflow = content.match(/## (?:Workflow|Instructions|使用说明)[\\s\\S]*?(?=\\n## [^\\s]|$)/iu);\n if (rules) lines.push(rules[0].trim(), '');\n else if (workflow) lines.push(workflow[0].trim(), '');\n else appendIntro(lines, body, maxBodyLength);\n lines.push(immediateAction());\n return lines.join('\\n');\n}\n\nfunction appendIntro(lines: string[], body: string, maxBodyLength: number): void {\n if (!body.trim()) return;\n const firstHeading = body.match(/\\n## [^\\s]/u);\n const intro = firstHeading ? body.slice(0, firstHeading.index).trim() : body.trim();\n const quickStart = body.match(/## (?:快速开始|Quick\\s*Start|Getting\\s*Started)[\\s\\S]*?(?=\\n## [^\\s]|$)/iu);\n const authentication = body.match(/## (?:认证|Authentication|Auth)[\\s\\S]*?(?=\\n## [^\\s]|$)/iu);\n lines.push('## 指导', intro, '');\n if (!quickStart && !authentication && !(intro.length < 200 && body.length > intro.length)) return;\n const detail = [quickStart?.[0].trim(), authentication?.[0].trim()]\n .filter((value): value is string => Boolean(value))\n .join('\\n\\n') || body.slice(intro.length).trim();\n lines.push(detail.length > maxBodyLength\n ? `${detail.slice(0, maxBodyLength)}\\n...(truncated)`\n : detail, '');\n}\n\nfunction immediateAction(): string {\n return '## 立即行动\\n根据上面的指导,立即调用工具完成用户请求。禁止重复调用 load_skill,禁止用文本描述代替实际工具调用。';\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-registry-as-service.js","sourceRoot":"","sources":["../../src/skill/skill-registry-as-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,OAAO,sBAAsB;IAKJ;IAJpB,EAAE,GAAG,aAAa,CAAC;IACnB,WAAW,GAAG,qBAAqB,CAAC;IACpC,IAAI,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAExC,YAA6B,QAAuB;QAAvB,aAAQ,GAAR,QAAQ,CAAe;IAAG,CAAC;IAExD,KAAK,CAAC,OAAO,CAAC,KAA2B;QACvC,MAAM,MAAM,GAAG,KAAK,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAA2B,EAAE,OAAe;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC,WAAW,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,WAAW,CAAC,KAA2B,EAAE,OAAe;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC;IACtD,CAAC;IAEO,SAAS,CAAC,KAA2B,EAAE,OAAe;QAC5D,MAAM,MAAM,GAAG,KAAK,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACxD,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"skill-registry-as-service.js","sourceRoot":"","sources":["../../src/skill/skill-registry-as-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,OAAO,sBAAsB;IAKJ;IAJpB,EAAE,GAAG,aAAa,CAAC;IACnB,WAAW,GAAG,qBAAqB,CAAC;IACpC,IAAI,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAExC,YAA6B,QAAuB;QAAvB,aAAQ,GAAR,QAAQ,CAAe;IAAG,CAAC;IAExD,KAAK,CAAC,OAAO,CAAC,KAA2B;QACvC,MAAM,MAAM,GAAG,KAAK,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAA2B,EAAE,OAAe;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC,WAAW,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,WAAW,CAAC,KAA2B,EAAE,OAAe;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC;IACtD,CAAC;IAEO,SAAS,CAAC,KAA2B,EAAE,OAAe;QAC5D,MAAM,MAAM,GAAG,KAAK,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACxD,CAAC;CACF","sourcesContent":["/**\n * Skill Registry 适配为 SkillService\n *\n * 将现有的 SkillRegistry 和约定目录发现逻辑包装为标准的 SkillService,\n * 使其符合统一的能力接缝(Capability Seam)架构。\n */\n\nimport type { SeamScope } from '../seam/seam-provider.js';\nimport type {\n SkillService,\n SkillMetadata,\n} from '../seam/skill-service.js';\nimport type { SkillRegistry } from '../resource-hub/skill-registry.js';\nimport { readFile } from 'node:fs/promises';\n\n/**\n * 将 SkillRegistry 适配为 SkillService\n *\n * 用法:\n * ```ts\n * seamIntegration.registerSkillService('global', new SkillRegistryAsService(skillRegistry));\n * ```\n */\nexport class SkillRegistryAsService implements SkillService {\n readonly id = 'zhin:skills';\n readonly description = 'Zhin skill registry';\n readonly tags = ['skills', 'framework'];\n\n constructor(private readonly registry: SkillRegistry) {}\n\n async catalog(scope: SeamScope | 'global'): Promise<SkillMetadata[]> {\n const skills = scope === 'global'\n ? this.registry.getAll()\n : this.registry.getForAgent(String(scope));\n return skills.map((skill) => ({\n name: skill.name,\n description: skill.description,\n keywords: skill.keywords,\n category: skill.tags?.[0],\n }));\n }\n\n async describe(scope: SeamScope | 'global', skillId: string): Promise<string> {\n const skill = this.findSkill(scope, skillId);\n if (!skill) throw new Error(`Skill not found: ${skillId}`);\n if (!skill.filePath) return skill.description;\n try {\n return await readFile(skill.filePath, 'utf8');\n } catch {\n return skill.description;\n }\n }\n\n isAvailable(scope: SeamScope | 'global', skillId: string): boolean {\n return this.findSkill(scope, skillId) !== undefined;\n }\n\n private findSkill(scope: SeamScope | 'global', skillId: string) {\n const skills = scope === 'global'\n ? this.registry.getAll()\n : this.registry.getForAgent(String(scope));\n return skills.find((skill) => skill.name === skillId);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-system.js","sourceRoot":"","sources":["../../src/skill/skill-system.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AASlE,SAAS,gBAAgB,CAAC,KAAuB;IAC/C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAc,CAAC;QAClE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,WAAW;IAKH;IAJF,QAAQ,CAAgB;IAEzC,YACE,QAAwB,EACP,UAA6B,EAAE;QAA/B,YAAO,GAAP,OAAO,CAAwB;QAEhD,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,aAAa,EAAE,CAAC;IAClD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,KAAuB,EAAE,KAAwD,EAAE,MAAe;QACzG,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,OAA4B;QAChD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE;YAC/C,UAAU;YACV,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;YAC9B,KAAK;SACN,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,OAAoB,EAAE,OAAgB;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,KAAK,UAAU;YAAE,OAAO,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAwB;IACxD,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,WAAW,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"skill-system.js","sourceRoot":"","sources":["../../src/skill/skill-system.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AASlE,SAAS,gBAAgB,CAAC,KAAuB;IAC/C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAc,CAAC;QAClE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,WAAW;IAKH;IAJF,QAAQ,CAAgB;IAEzC,YACE,QAAwB,EACP,UAA6B,EAAE;QAA/B,YAAO,GAAP,OAAO,CAAwB;QAEhD,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,aAAa,EAAE,CAAC;IAClD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,KAAuB,EAAE,KAAwD,EAAE,MAAe;QACzG,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,OAA4B;QAChD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE;YAC/C,UAAU;YACV,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;YAC9B,KAAK;SACN,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,OAAoB,EAAE,OAAgB;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,KAAK,UAAU;YAAE,OAAO,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAwB;IACxD,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,WAAW,EAAE,CAAC","sourcesContent":["import type { AgentTool } from '@zhin.js/ai';\nimport { normalizeTool } from '../resource-hub/tool-selection.js';\nimport type { Skill as ResourceHubSkill } from '../resource-hub/types.js';\nimport { SkillRegistry } from '../resource-hub/skill-registry.js';\nimport type {\n Skill,\n SkillSearchOptions,\n SkillSearchResult,\n SkillSystemConfig,\n TurnContext,\n} from './contracts.js';\n\nfunction toBlueprintSkill(skill: ResourceHubSkill): Skill {\n return {\n name: skill.name,\n description: skill.description,\n tools: skill.tools.map((tool) => normalizeTool(tool) as AgentTool),\n keywords: skill.keywords ?? [],\n tags: skill.tags ?? [],\n platforms: skill.platforms,\n };\n}\n\nexport class SkillSystem {\n private readonly registry: SkillRegistry;\n\n constructor(\n registry?: SkillRegistry,\n private readonly _config: SkillSystemConfig = {},\n ) {\n this.registry = registry ?? new SkillRegistry();\n }\n\n getRegistry(): SkillRegistry {\n return this.registry;\n }\n\n addSkill(skill: ResourceHubSkill, scope?: import('../resource-hub/types.js').ResourceScope, source?: string): () => void {\n return this.registry.add(skill, scope, source);\n }\n\n search(query: string, options?: SkillSearchOptions): SkillSearchResult[] {\n const maxResults = options?.maxResults ?? 5;\n const scored = this.registry.searchScored(query, {\n maxResults,\n platform: options?.platform,\n });\n return scored.map(({ skill, score }) => ({\n skill: toBlueprintSkill(skill),\n score,\n }));\n }\n\n collectTools(context: TurnContext, agentId?: string): AgentTool[] {\n const tools = this.registry.collectAllTools(agentId);\n return tools.map((tool) => normalizeTool(tool, context.message));\n }\n\n getAlwaysSkills(agentId?: string): ResourceHubSkill[] {\n if (typeof this.registry.getAlwaysSkills !== 'function') return [];\n return this.registry.getAlwaysSkills(agentId);\n }\n}\n\nexport function createSkillSystem(registry?: SkillRegistry): SkillSystem {\n return new SkillSystem(registry);\n}\n\nexport const defaultSkillSystem = new SkillSystem();\n"]}
|
|
@@ -6,4 +6,3 @@ export declare function matchesPermissionTaskPattern(pattern: string, agentName:
|
|
|
6
6
|
export declare function evaluatePermissionTask(rules: PermissionTaskRules | undefined, agentName: string): PermissionTaskAction;
|
|
7
7
|
export declare function filterAgentsForSpawnDescription(agentNames: string[], rules: PermissionTaskRules | undefined): string[];
|
|
8
8
|
export declare function assertSpawnAgentAllowed(agentName: string | undefined, rules: PermissionTaskRules | undefined): string | undefined;
|
|
9
|
-
//# sourceMappingURL=permission-task.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-task.js","sourceRoot":"","sources":["../../src/spawn/permission-task.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAM7E,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC;SACpC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAe,EAAE,SAAiB;IAC7E,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,sBAAsB,CACpC,KAAsC,EACtC,SAAiB;IAEjB,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9D,IAAI,MAAM,GAAyB,MAAM,CAAC;IAC1C,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,IAAI,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,UAAoB,EACpB,KAAsC;IAEtC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAA6B,EAC7B,KAAsC;IAEtC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/D,OAAO,mBAAmB,SAAS,CAAC,IAAI,EAAE,qCAAqC,CAAC;IAClF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"permission-task.js","sourceRoot":"","sources":["../../src/spawn/permission-task.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAM7E,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC;SACpC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAe,EAAE,SAAiB;IAC7E,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,sBAAsB,CACpC,KAAsC,EACtC,SAAiB;IAEjB,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9D,IAAI,MAAM,GAAyB,MAAM,CAAC;IAC1C,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,IAAI,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,UAAoB,EACpB,KAAsC;IAEtC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAA6B,EAC7B,KAAsC;IAEtC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/D,OAAO,mBAAmB,SAAS,CAAC,IAAI,EAAE,qCAAqC,CAAC;IAClF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["/** ADR 0030 — permission.task glob rules for spawn_task agent visibility. */\n\nexport type PermissionTaskAction = 'allow' | 'deny';\n\nexport type PermissionTaskRules = Record<string, PermissionTaskAction>;\n\nfunction globToRegExp(pattern: string): RegExp {\n const escaped = pattern\n .replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/\\?/g, '.');\n return new RegExp(`^${escaped}$`, 'i');\n}\n\nexport function matchesPermissionTaskPattern(pattern: string, agentName: string): boolean {\n if (pattern === '*') return true;\n return globToRegExp(pattern).test(agentName);\n}\n\n/** Last matching rule wins; default deny when rules are configured. */\nexport function evaluatePermissionTask(\n rules: PermissionTaskRules | undefined,\n agentName: string,\n): PermissionTaskAction {\n if (!rules || Object.keys(rules).length === 0) return 'allow';\n let action: PermissionTaskAction = 'deny';\n for (const [pattern, rule] of Object.entries(rules)) {\n if (matchesPermissionTaskPattern(pattern, agentName)) {\n action = rule;\n }\n }\n return action;\n}\n\nexport function filterAgentsForSpawnDescription(\n agentNames: string[],\n rules: PermissionTaskRules | undefined,\n): string[] {\n return agentNames.filter((name) => evaluatePermissionTask(rules, name) !== 'deny');\n}\n\nexport function assertSpawnAgentAllowed(\n agentName: string | undefined,\n rules: PermissionTaskRules | undefined,\n): string | undefined {\n if (!agentName?.trim()) return undefined;\n if (evaluatePermissionTask(rules, agentName.trim()) === 'deny') {\n return `Sub-agent type \"${agentName.trim()}\" is not allowed (permission.task).`;\n }\n return undefined;\n}\n"]}
|
|
@@ -24,4 +24,3 @@ export declare class SpawnTaskTool {
|
|
|
24
24
|
execute(args: Record<string, unknown>): Promise<ToolResult>;
|
|
25
25
|
}
|
|
26
26
|
export declare function createSpawnTaskTool(commMessage: Message, manager: SubagentSystem, options?: SpawnTaskToolOptions): AgentTool;
|
|
27
|
-
//# sourceMappingURL=spawn-task-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-task-tool.js","sourceRoot":"","sources":["../../src/spawn/spawn-task-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spawn-task-tool.js","sourceRoot":"","sources":["../../src/spawn/spawn-task-tool.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * spawn_task — 主会话将耗时任务派给后台子 agent(与 issue #396 对齐)\n */\nimport { type Message, type ToolParametersSchema, type ToolResult } from '@zhin.js/core';\nimport type { AgentTool } from '@zhin.js/ai';\nimport type { SubagentSystem, SubagentOrigin } from '../subagent/index.js';\nimport type { SubagentContextMode } from '../subagent-preset.js';\nimport { getActiveDeferredTurnController } from '../tool-catalog/deferred-turn-controller.js';\nimport {\n assertSpawnAgentAllowed,\n type PermissionTaskRules,\n} from './permission-task.js';\nexport interface SpawnTaskToolOptions {\n /** 经 permission.task 过滤后可展示的子 agent 名 */\n allowedAgents?: string[];\n permissionTaskRules?: PermissionTaskRules;\n}\n\nfunction buildSpawnTaskDescription(allowedAgents?: string[]): string {\n const lines = [\n 'Delegate complex or long-running work to a temporary chat sub-agent. This does not create or update a durable Workroom Task. It runs asynchronously and returns an ephemeral subtask ID; set wait=true to block until completion.',\n 'You may issue multiple spawn_task calls in one assistant turn when subtasks are independent (prefer parallel spawn for independent work).',\n 'Use draw for text-to-image and vision for image understanding. Image results log preview as {image}; when wait=true, do not tell the user to wait.',\n ];\n if (allowedAgents?.length) {\n lines.push(`Allowed sub-agent types: ${allowedAgents.join(', ')}.`);\n } else {\n lines.push('Allowed sub-agent types are defined in ai.agents and agents/<name>/agent.json.');\n }\n return lines.join(' ');\n}\n\nexport const SPAWN_TASK_PARAMETERS: ToolParametersSchema = {\n type: 'object',\n properties: {\n task: {\n type: 'string',\n description: 'Detailed task description for the sub-agent (goals, scope, expected output).',\n },\n label: {\n type: 'string',\n description: 'Short display label (optional).',\n },\n agent: {\n type: 'string',\n description: 'Sub-agent name (must exist in ai.agents and agents/<name>/agent.json; default subtask toolset).',\n },\n wait: {\n type: 'boolean',\n description: 'If true, wait synchronously for the sub-agent to finish and return its result.',\n },\n context: {\n type: 'string',\n enum: ['fork', 'fresh'],\n description:\n 'Context mode: fork injects recent parent session messages; fresh starts empty. Default follows agent.json or role.',\n },\n tools: {\n type: 'array',\n items: { type: 'string' },\n description: 'Tool names the subtask needs (recommended).',\n },\n skills: {\n type: 'array',\n items: { type: 'string' },\n description: 'Skill names the subtask needs (recommended).',\n },\n },\n required: ['task'],\n};\n\nexport function originFromMessage(message: Message): SubagentOrigin {\n return { message };\n}\n\nfunction parseStringArray(value: unknown): string[] | undefined {\n if (!Array.isArray(value)) return undefined;\n const items = value\n .filter((item): item is string => typeof item === 'string' && item.trim().length > 0)\n .map(item => item.trim());\n return items.length > 0 ? items : undefined;\n}\n\nexport class SpawnTaskTool {\n readonly name = 'spawn_task';\n readonly description: string;\n readonly parameters = SPAWN_TASK_PARAMETERS;\n private readonly permissionTaskRules?: PermissionTaskRules;\n\n constructor(\n private readonly sessionCommMessage: Message,\n private readonly manager: SubagentSystem,\n options?: SpawnTaskToolOptions,\n ) {\n this.description = buildSpawnTaskDescription(options?.allowedAgents);\n this.permissionTaskRules = options?.permissionTaskRules;\n }\n\n definition(): AgentTool {\n return {\n name: this.name,\n description: this.description,\n parameters: this.parameters,\n source: 'builtin:context',\n tags: ['agent', 'async', 'task', '后台', '子任务'],\n keywords: ['后台', '异步', '子任务', 'spawn', 'background', '并行', '独立处理'],\n execute: (args) => this.execute(args),\n };\n }\n\n async execute(args: Record<string, unknown>): Promise<ToolResult> {\n const task = args.task;\n const label = args.label;\n const agentName = args.agent;\n if (typeof task !== 'string' || !task) {\n return '请提供任务描述';\n }\n\n const origin = originFromMessage(this.sessionCommMessage);\n const labelStr = typeof label === 'string' ? label : undefined;\n const agentOpt = typeof agentName === 'string' && agentName.trim() ? agentName.trim() : undefined;\n const permissionError = assertSpawnAgentAllowed(agentOpt, this.permissionTaskRules);\n if (permissionError) return permissionError;\n const contextMode: SubagentContextMode | undefined =\n args.context === 'fork' || args.context === 'fresh' ? args.context : undefined;\n const requestedTools = parseStringArray(args.tools);\n const requestedSkills = parseStringArray(args.skills);\n const deferredController = getActiveDeferredTurnController();\n const parentSessionLoaded = deferredController?.loadedToolNames();\n const parentLoadedSkills = deferredController?.snapshot().loadedSkills;\n\n const opts = {\n task,\n label: labelStr,\n origin,\n agent: agentOpt,\n notifyContext: this.sessionCommMessage,\n contextMode,\n requestedTools,\n requestedSkills,\n parentSessionLoaded,\n parentLoadedSkills,\n };\n\n if (args.wait === true) {\n if (typeof this.manager.spawnSync !== 'function') {\n return this.manager.spawn(opts);\n }\n const result = await this.manager.spawnSync(opts);\n return (\n `子任务${labelStr ? `「${labelStr}」` : ''}已完成(同步等待)。\\n\\n${result}\\n\\n`\n + '请根据以上结果继续后续步骤。'\n );\n }\n return this.manager.spawn(opts);\n }\n}\n\nexport function createSpawnTaskTool(\n commMessage: Message,\n manager: SubagentSystem,\n options?: SpawnTaskToolOptions,\n): AgentTool {\n return new SpawnTaskTool(\n commMessage,\n manager,\n options,\n ).definition();\n}\n"]}
|
|
@@ -27,4 +27,3 @@ export declare function collectStabilityMetrics(compactionRuntime: AgentCompacti
|
|
|
27
27
|
includeRss?: boolean;
|
|
28
28
|
}): Promise<StabilityMetricSnapshot>;
|
|
29
29
|
export declare function startStabilityMonitor(options: StabilityMonitorOptions): () => void;
|
|
30
|
-
//# sourceMappingURL=memory-pressure.d.ts.map
|