@zhin.js/agent 1.1.36 → 1.1.38
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 +0 -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 +0 -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 +0 -1
- 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 +24 -27
- 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 +9 -3
- package/lib/core/structured-reply-recovery.js +5 -6
- 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 +65 -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 +11 -11
- 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
|
@@ -70,4 +70,3 @@ export declare class AdapterActivityFeedbackManager {
|
|
|
70
70
|
}
|
|
71
71
|
export declare function enableActivityFeedbackForBot(endpoint: EndpointWithActivityFeedback, platform: string, outbound?: ActivityFeedbackOutbound): ActivityFeedbackManager;
|
|
72
72
|
export declare function isGenericActivityFeedbackManager(manager: BotActivityFeedbackManager): manager is ActivityFeedbackManager;
|
|
73
|
-
//# sourceMappingURL=adapter-integration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-integration.js","sourceRoot":"","sources":["../../src/activity-feedback/adapter-integration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter-integration.js","sourceRoot":"","sources":["../../src/activity-feedback/adapter-integration.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Activity Feedback — endpoint 适配器集成(复用 typing-indicator 底层适配器)\n */\n\nimport { getLogger } from '@zhin.js/logger';\nimport type { EndpointControl } from '@zhin.js/adapter';\nimport type { ConversationRef, MessageRef } from '@zhin.js/im-contract';\nimport {\n MessageTypingIndicator,\n NativeTypingIndicator,\n NoneTypingIndicator,\n ReactionTypingIndicator,\n type TypingIndicator,\n type TypingIndicatorAdapter,\n type TypingIndicatorConfig,\n type TypingIndicatorOptions,\n} from '../typing-indicator/index.js';\nimport {\n PLATFORM_FEATURES,\n buildTypingSendContent,\n type PlatformFeatures,\n} from '../typing-indicator/adapter-integration.js';\nimport { ActivityFeedbackManager } from './manager.js';\nimport type { ActivityFeedbackPhase, ResolvedActivityFeedbackPhaseConfig } from './types.js';\n\nconst logger = getLogger('ActivityFeedback');\n\nexport { PLATFORM_FEATURES, buildTypingSendContent, type PlatformFeatures };\n\n/**\n * Narrow outbound seam used by activity feedback.\n *\n * An Adapter definition selects and constructs Endpoints; it is not a live\n * message sender. Runtime integrations therefore depend on this port instead\n * of importing or fabricating the legacy all-in-one Adapter class.\n */\nexport interface ActivityFeedbackSendPort {\n send(input: Readonly<{\n conversation: ConversationRef;\n content: unknown;\n }>): Promise<string | null | undefined>;\n}\n\n/** Structural compatibility for callers that still expose legacy sendMessage. */\nexport interface LegacyActivityFeedbackSendPort {\n sendMessage(options: Readonly<{\n type: 'private' | 'group';\n id: string;\n context: string;\n endpoint: string;\n content: unknown;\n }>): Promise<string | null | undefined>;\n}\n\nexport type ActivityFeedbackOutbound =\n | ActivityFeedbackSendPort\n | LegacyActivityFeedbackSendPort;\n\nfunction resolveSendTarget(options: TypingIndicatorOptions): { type: 'private' | 'group'; id: string } {\n if ((options.sceneType === 'group' || options.sceneType === 'channel') && options.groupId) {\n return { type: 'group', id: options.groupId };\n }\n if (options.sceneType === 'private') {\n if (options.groupId) {\n return { type: 'private', id: options.groupId };\n }\n if (options.userId) {\n return { type: 'private', id: options.userId };\n }\n }\n const parts = (options.sessionId ?? '').split(':').filter((p) => p.length > 0);\n if (parts.length >= 3) return { type: 'group', id: parts[1]! };\n if (parts.length >= 2) return { type: 'private', id: parts[parts.length - 1]! };\n return { type: 'private', id: options.sessionId ?? '' };\n}\n\nfunction createOutboundSendMessage(\n endpoint: EndpointWithActivityFeedback,\n platform: string,\n messages: Map<string, MessageRef>,\n outbound?: ActivityFeedbackOutbound,\n): (options: TypingIndicatorOptions, content: string) => Promise<string | null> {\n return async (options, content) => {\n try {\n const segments = buildTypingSendContent(platform, options, content);\n if (!segments) return null;\n const { type, id } = resolveSendTarget(options);\n if (outbound) {\n const messageId = 'send' in outbound\n ? await outbound.send({\n conversation: toConversationRef(endpoint, platform, options),\n content: segments,\n })\n : await outbound.sendMessage({\n type,\n id,\n context: platform,\n endpoint: endpoint.$id,\n content: segments,\n });\n if (messageId) messages.set(messageId, toMessageRef(endpoint, platform, options, messageId));\n return messageId ?? null;\n }\n logger.error(`[${platform}] Activity feedback requires an outbound send port; endpoint ${endpoint.$id} has none`);\n return null;\n } catch (error) {\n logger.error(`[${platform}] Failed to send activity feedback message:`, error);\n return null;\n }\n };\n}\n\nexport interface PlatformActivityFeedbackStartOptions {\n messageId?: string;\n sessionId: string;\n userId?: string;\n groupId?: string;\n sceneType: 'private' | 'group';\n phase?: ActivityFeedbackPhase;\n /** 由 service 插件策略层解析;adapter 不再自行 resolve */\n phaseConfig: ResolvedActivityFeedbackPhaseConfig;\n}\n\n/** 平台自管 Activity Feedback IO(如 ICQQ 群临时私聊 parent) */\nexport interface PlatformActivityFeedbackManager {\n start(options: PlatformActivityFeedbackStartOptions): Promise<unknown>;\n stop(options: {\n sessionId: string;\n userId?: string;\n groupId?: string;\n phase?: ActivityFeedbackPhase;\n }): Promise<void>;\n getActiveIndicator?(\n phase: ActivityFeedbackPhase,\n options: TypingIndicatorOptions,\n ): TypingIndicator | undefined;\n}\n\nexport type BotActivityFeedbackManager = ActivityFeedbackManager | PlatformActivityFeedbackManager;\n\nexport interface EndpointWithActivityFeedback {\n /** Concrete Endpoint identity within one Adapter definition. */\n readonly $id: string;\n /** Runtime IO/control belongs to the concrete Endpoint, never the Adapter definition. */\n readonly control?: EndpointControl;\n $activityFeedback?: BotActivityFeedbackManager;\n}\n\nfunction registerPlatformAdapters(\n manager: ActivityFeedbackManager,\n endpoint: EndpointWithActivityFeedback,\n platform: string,\n outbound?: ActivityFeedbackOutbound,\n): void {\n const messages = new Map<string, MessageRef>();\n const sendMessage = createOutboundSendMessage(endpoint, platform, messages, outbound);\n manager.registerAdapter(new EndpointActivityFeedbackAdapter(\n platform,\n endpoint,\n messages,\n sendMessage,\n ));\n}\n\n/** One adapter selected from the concrete Endpoint control contract, not its platform name. */\nclass EndpointActivityFeedbackAdapter implements TypingIndicatorAdapter {\n readonly supportedTypes: import('../typing-indicator/index.js').TypingIndicatorType[];\n\n constructor(\n readonly platform: string,\n private readonly endpoint: EndpointWithActivityFeedback,\n private readonly messages: Map<string, MessageRef>,\n private readonly sendMessage: (options: TypingIndicatorOptions, content: string) => Promise<string | null>,\n ) {\n const types: import('../typing-indicator/index.js').TypingIndicatorType[] = [];\n if (endpoint.control?.addReaction && endpoint.control.removeReaction) types.push('reaction');\n if (endpoint.control?.typing) types.push('typing');\n // Activity messages are transient state, so advertising them without a\n // matching recall operation would leave permanent “processing” debris in IM.\n if (endpoint.control?.recall) types.push('message');\n types.push('none');\n this.supportedTypes = types;\n }\n\n createIndicator(options: TypingIndicatorOptions, config: TypingIndicatorConfig): TypingIndicator {\n if (config.type === 'reaction' && this.endpoint.control?.addReaction && this.endpoint.control.removeReaction) {\n return new ReactionTypingIndicator(\n options,\n config,\n async (messageId, emoji, current) => {\n const message = toMessageRef(this.endpoint, this.platform, current, messageId);\n this.messages.set(messageId, message);\n return this.endpoint.control!.addReaction!(message, emoji, {\n sceneType: current.sceneType,\n channelId: current.groupId,\n });\n },\n async (messageId, reactionId) => {\n const message = this.messages.get(messageId);\n if (message) await this.endpoint.control!.removeReaction!(message, reactionId);\n },\n );\n }\n if (config.type === 'typing' && this.endpoint.control?.typing) {\n return new NativeTypingIndicator(\n options,\n config,\n async (current) => this.endpoint.control!.typing!(toConversationRef(\n this.endpoint,\n this.platform,\n current,\n ), true),\n async (current) => this.endpoint.control!.typing!(toConversationRef(\n this.endpoint,\n this.platform,\n current,\n ), false),\n );\n }\n if (config.type === 'message' && this.endpoint.control?.recall) {\n return new MessageTypingIndicator(\n options,\n config,\n this.sendMessage,\n async (messageId) => {\n const message = this.messages.get(messageId);\n if (message) await this.endpoint.control!.recall!(message);\n },\n async (messageId, content) => {\n const message = this.messages.get(messageId);\n if (message && this.endpoint.control?.edit) await this.endpoint.control.edit(message, content);\n },\n );\n }\n return new NoneTypingIndicator();\n }\n}\n\nfunction toMessageRef(\n endpoint: EndpointWithActivityFeedback,\n platform: string,\n options: TypingIndicatorOptions,\n id: string,\n): MessageRef {\n return {\n conversation: toConversationRef(endpoint, platform, options),\n id,\n };\n}\n\nfunction toConversationRef(\n endpoint: EndpointWithActivityFeedback,\n platform: string,\n options: TypingIndicatorOptions,\n): ConversationRef {\n const target = resolveSendTarget(options);\n return {\n endpoint: { id: endpoint.$id, adapter: platform },\n kind: options.sceneType,\n id: target.id,\n };\n}\n\nexport class AdapterActivityFeedbackManager {\n private managers = new Map<string, ActivityFeedbackManager>();\n\n enableForEndpoint(\n endpoint: EndpointWithActivityFeedback,\n platform: string,\n outbound?: ActivityFeedbackOutbound,\n ): ActivityFeedbackManager {\n const botKey = JSON.stringify([platform, endpoint.$id]);\n if (this.managers.has(botKey)) {\n return this.managers.get(botKey)!;\n }\n const manager = new ActivityFeedbackManager();\n registerPlatformAdapters(manager, endpoint, platform, outbound);\n this.managers.set(botKey, manager);\n endpoint.$activityFeedback = manager;\n return manager;\n }\n\n getManager(platform: string, endpointKey: string): ActivityFeedbackManager | undefined {\n return this.managers.get(JSON.stringify([platform, endpointKey]));\n }\n\n async stopAll(platform: string, endpointKey: string): Promise<void> {\n await this.managers.get(JSON.stringify([platform, endpointKey]))?.stopAll();\n }\n\n clearAll(): void {\n this.managers.clear();\n }\n}\n\nexport function enableActivityFeedbackForBot(\n endpoint: EndpointWithActivityFeedback,\n platform: string,\n outbound?: ActivityFeedbackOutbound,\n): ActivityFeedbackManager {\n const existing = endpoint.$activityFeedback;\n if (existing instanceof ActivityFeedbackManager) return existing;\n const manager = new ActivityFeedbackManager();\n registerPlatformAdapters(manager, endpoint, platform, outbound);\n endpoint.$activityFeedback = manager;\n return manager;\n}\n\nexport function isGenericActivityFeedbackManager(\n manager: BotActivityFeedbackManager,\n): manager is ActivityFeedbackManager {\n return manager instanceof ActivityFeedbackManager;\n}\n"]}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import type { ActivityFeedbackConfig, ActivityFeedbackPhase, ActivitySceneType, ResolvedActivityFeedbackPhaseConfig } from './types.js';
|
|
2
2
|
export declare function resolveActivityFeedbackPhaseConfig(platform: string, endpointConfig: ActivityFeedbackConfig | undefined, phase: ActivityFeedbackPhase, sceneType: ActivitySceneType): ResolvedActivityFeedbackPhaseConfig;
|
|
3
|
-
//# sourceMappingURL=config-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-resolver.js","sourceRoot":"","sources":["../../src/activity-feedback/config-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-resolver.js","sourceRoot":"","sources":["../../src/activity-feedback/config-resolver.ts"],"names":[],"mappings":"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","sourcesContent":["import { PLATFORM_FEATURES } from '../typing-indicator/adapter-integration.js';\nimport type {\n ActivityFeedbackConfig,\n ActivityFeedbackPhase,\n ActivityFeedbackPhaseConfig,\n ActivitySceneType,\n ResolvedActivityFeedbackPhaseConfig,\n} from './types.js';\n\nconst PHASE_DEFAULT_MESSAGE: Record<ActivityFeedbackPhase, string> = {\n queued: '⏳',\n active: '正在处理中...',\n thinking: '思考中...',\n schedule_start: '⏰ 定时任务执行中...',\n schedule_finish: '✅ 定时任务完成',\n schedule_error: '❌ 定时任务失败',\n};\n\nfunction sceneKey(sceneType: ActivitySceneType): keyof ActivityFeedbackConfig['phases'] extends infer _ ? 'private' | 'group' | 'channel' : never {\n return sceneType;\n}\n\nfunction resolvePlatformPhaseDefault(\n platform: string,\n phase: ActivityFeedbackPhase,\n): ResolvedActivityFeedbackPhaseConfig {\n const features = PLATFORM_FEATURES[platform] ?? {\n platform,\n supportsReaction: false,\n supportsEdit: false,\n supportsDelete: true,\n supportsTyping: false,\n defaultType: 'message' as const,\n };\n\n if (phase === 'queued') {\n if (features.supportsReaction) {\n return { type: 'reaction', emoji: PHASE_DEFAULT_MESSAGE.queued, autoRemove: true };\n }\n return { type: 'none' };\n }\n\n if (phase === 'thinking') {\n if (features.supportsEdit) {\n return { type: 'message', message: PHASE_DEFAULT_MESSAGE.thinking, autoRemove: true };\n }\n if (features.supportsReaction) {\n return { type: 'reaction', emoji: PHASE_DEFAULT_MESSAGE.queued, autoRemove: true };\n }\n if (features.supportsTyping) {\n return { type: 'typing', autoRemove: true };\n }\n return { type: 'message', message: PHASE_DEFAULT_MESSAGE.thinking, autoRemove: true };\n }\n\n if (phase === 'schedule_start' || phase === 'schedule_finish' || phase === 'schedule_error') {\n return { type: 'message', message: PHASE_DEFAULT_MESSAGE[phase], autoRemove: true };\n }\n\n // active\n // Group-oriented reaction APIs (icqq GROUP_SET_REACTION, etc.) do not work in\n // private chats — fall back to a short status message (classic typingIndicator).\n if (features.defaultType === 'reaction') {\n return { type: 'reaction', emoji: PHASE_DEFAULT_MESSAGE.queued, autoRemove: true };\n }\n if (features.defaultType === 'typing') {\n return { type: 'typing', autoRemove: true };\n }\n if (features.defaultType === 'none') {\n return { type: 'message', message: PHASE_DEFAULT_MESSAGE.active, autoRemove: true };\n }\n return { type: 'message', message: PHASE_DEFAULT_MESSAGE.active, autoRemove: true };\n}\n\nfunction resolvePrivateSceneDefault(\n platform: string,\n phase: ActivityFeedbackPhase,\n): ResolvedActivityFeedbackPhaseConfig {\n const groupDefault = resolvePlatformPhaseDefault(platform, phase);\n if (groupDefault.type !== 'reaction') return groupDefault;\n // Private: reaction → status message (icqq / napcat group-only emoji APIs).\n if (phase === 'queued' || phase === 'active' || phase === 'thinking') {\n return {\n type: 'message',\n message: phase === 'thinking'\n ? PHASE_DEFAULT_MESSAGE.thinking\n : phase === 'queued'\n ? '⏳'\n : PHASE_DEFAULT_MESSAGE.active,\n autoRemove: true,\n };\n }\n return groupDefault;\n}\n\nexport function resolveActivityFeedbackPhaseConfig(\n platform: string,\n endpointConfig: ActivityFeedbackConfig | undefined,\n phase: ActivityFeedbackPhase,\n sceneType: ActivitySceneType,\n): ResolvedActivityFeedbackPhaseConfig {\n if (endpointConfig?.enabled === false) {\n return { type: 'none' };\n }\n\n const sceneCfg = endpointConfig?.phases?.[phase]?.[sceneKey(sceneType)];\n const defaults = sceneType === 'private'\n ? resolvePrivateSceneDefault(platform, phase)\n : resolvePlatformPhaseDefault(platform, phase);\n const merged: ActivityFeedbackPhaseConfig = { ...defaults, ...sceneCfg };\n\n if (merged.type === 'none') {\n return { type: 'none' };\n }\n\n // Private + reaction only when the scene config explicitly asks for it.\n // Otherwise coerce to message (icqq GROUP_SET_REACTION is group-only).\n let type = merged.type ?? defaults.type;\n if (type === 'reaction' && sceneType === 'private' && sceneCfg?.type !== 'reaction') {\n type = 'message';\n }\n\n if (type === 'reaction') {\n return {\n type: 'reaction',\n emoji: merged.emoji ?? defaults.emoji ?? PHASE_DEFAULT_MESSAGE.queued,\n autoRemove: merged.autoRemove ?? true,\n removeDelay: merged.removeDelay,\n platformConfig: merged.platformConfig,\n };\n }\n if (type === 'typing') {\n return {\n type: 'typing',\n autoRemove: merged.autoRemove ?? true,\n removeDelay: merged.removeDelay,\n platformConfig: merged.platformConfig,\n };\n }\n return {\n type: 'message',\n message: merged.message ?? defaults.message ?? PHASE_DEFAULT_MESSAGE[phase],\n autoRemove: merged.autoRemove ?? true,\n removeDelay: merged.removeDelay,\n platformConfig: merged.platformConfig,\n };\n}\n"]}
|
|
@@ -19,4 +19,3 @@ export declare function resolveActivityEventTargets(payload: AIEventPayload, sce
|
|
|
19
19
|
};
|
|
20
20
|
/** 将 AI 生命周期事件转为 activity 执行上下文 */
|
|
21
21
|
export declare function toActivityFeedbackEventContext(payload: AIEventPayload): ActivityFeedbackEventContext | null;
|
|
22
|
-
//# sourceMappingURL=event-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-context.js","sourceRoot":"","sources":["../../src/activity-feedback/event-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-context.js","sourceRoot":"","sources":["../../src/activity-feedback/event-context.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TypingIndicatorOptions } from '../typing-indicator/index.js';\nimport type { AIEventPayload } from '../ai-event-subscriber.js';\nimport type { ActivitySceneType } from './types.js';\nimport { resolveActivityFeedbackSessionId } from './subagent-prefix.js';\n\n/** 单次 activity phase 操作的归一化上下文(由 AI 事件 payload 解析) */\nexport interface ActivityFeedbackEventContext {\n platform: string;\n endpointKey: string;\n sessionId: string;\n messageId?: string;\n sceneType: ActivitySceneType;\n userId?: string;\n groupId?: string;\n options: TypingIndicatorOptions;\n}\n\nconst SYNTHETIC_SENDER_IDS = new Set(['system', 'cron', 'assistant']);\n\nexport function resolveActivitySceneType(payload: AIEventPayload): ActivitySceneType {\n const scope = payload.scope;\n if (scope === 'group' || scope === 'channel' || scope === 'private') return scope;\n const sceneId = payload.sceneId ?? '';\n if (sceneId.startsWith('group:')) return 'group';\n if (sceneId.startsWith('channel:')) return 'channel';\n return 'private';\n}\n\nexport function resolveActivityEventTargets(\n payload: AIEventPayload,\n sceneType: ActivitySceneType,\n): { userId?: string; groupId?: string } {\n const { sceneId, userId, sessionId } = payload;\n const parts = sessionId.split(':').filter((p) => p.length > 0);\n let resolvedUserId = userId;\n let groupId: string | undefined;\n\n if (sceneType === 'group' || sceneType === 'channel') {\n groupId = sceneId?.replace(/^(group|channel):/, '') || sceneId;\n if (!groupId && parts.length >= 3) groupId = parts[1];\n if (!resolvedUserId && parts.length >= 3) resolvedUserId = parts[parts.length - 1];\n } else {\n if (sceneId?.startsWith('private:')) resolvedUserId = sceneId.slice('private:'.length);\n else if (\n (!resolvedUserId || SYNTHETIC_SENDER_IDS.has(resolvedUserId))\n && sceneId\n && !SYNTHETIC_SENDER_IDS.has(sceneId)\n ) {\n resolvedUserId = sceneId;\n } else if (!resolvedUserId && parts.length >= 2) {\n resolvedUserId = parts.length >= 3 ? parts[parts.length - 1]! : parts[1];\n }\n // 私聊 sceneId 多为会话 channel(Slack D*),与 sender userId 不同,出站需用 channel id\n if (sceneId && !sceneId.startsWith('private:') && !SYNTHETIC_SENDER_IDS.has(sceneId)) {\n groupId = sceneId;\n }\n }\n\n return { userId: resolvedUserId, groupId };\n}\n\n/** 将 AI 生命周期事件转为 activity 执行上下文 */\nexport function toActivityFeedbackEventContext(\n payload: AIEventPayload,\n): ActivityFeedbackEventContext | null {\n const { platform, endpointKey, sessionId } = payload;\n if (!platform || !endpointKey) return null;\n\n const sceneType = resolveActivitySceneType(payload);\n const targets = resolveActivityEventTargets(payload, sceneType);\n // Subagent shares the IM session but uses an isolated indicator key.\n const activitySessionId = resolveActivityFeedbackSessionId(payload);\n\n return {\n platform,\n endpointKey,\n sessionId: activitySessionId,\n messageId: payload.messageId,\n sceneType,\n userId: targets.userId,\n groupId: targets.groupId,\n options: {\n platform,\n endpointKey,\n sessionId: activitySessionId,\n messageId: payload.messageId,\n sceneType,\n userId: targets.userId,\n groupId: targets.groupId,\n },\n };\n}\n"]}
|
|
@@ -8,4 +8,3 @@ export { resolveSubagentActivityTag, formatSubagentActivityPrefix, withSubagentA
|
|
|
8
8
|
export { ActivityFeedbackManager, } from './manager.js';
|
|
9
9
|
export { PLATFORM_FEATURES, buildTypingSendContent, enableActivityFeedbackForBot, isGenericActivityFeedbackManager, } from './adapter-integration.js';
|
|
10
10
|
export type { PlatformFeatures, EndpointWithActivityFeedback, ActivityFeedbackSendPort, PlatformActivityFeedbackManager, PlatformActivityFeedbackStartOptions, BotActivityFeedbackManager, } from './adapter-integration.js';
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/activity-feedback/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EACL,kCAAkC,GACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,GAE5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,mCAAmC,EACnC,gCAAgC,GACjC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/activity-feedback/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EACL,kCAAkC,GACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,GAE5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,mCAAmC,EACnC,gCAAgC,GACjC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,0BAA0B,CAAC","sourcesContent":["export type {\n ActivityFeedbackType,\n ActivityFeedbackPhase,\n ActivitySceneType,\n ActivityFeedbackPhaseConfig,\n ActivityFeedbackScenePhases,\n ActivityFeedbackConfig,\n ResolvedActivityFeedbackPhaseConfig,\n} from './types.js';\nexport { toTypingIndicatorConfig } from './types.js';\n\nexport {\n resolveActivityFeedbackPhaseConfig,\n} from './config-resolver.js';\nexport { isActivityFeedbackEnabled } from './schedule-guard.js';\nexport type { ActivityFeedbackGatePhase } from './schedule-guard.js';\n\nexport {\n toActivityFeedbackEventContext,\n resolveActivitySceneType,\n resolveActivityEventTargets,\n type ActivityFeedbackEventContext,\n} from './event-context.js';\n\nexport {\n resolveSubagentActivityTag,\n formatSubagentActivityPrefix,\n withSubagentActivityPrefix,\n applySubagentActivityPrefixToConfig,\n resolveActivityFeedbackSessionId,\n} from './subagent-prefix.js';\n\nexport {\n ActivityFeedbackManager,\n} from './manager.js';\n\nexport {\n PLATFORM_FEATURES,\n buildTypingSendContent,\n enableActivityFeedbackForBot,\n isGenericActivityFeedbackManager,\n} from './adapter-integration.js';\nexport type {\n PlatformFeatures,\n EndpointWithActivityFeedback,\n ActivityFeedbackSendPort,\n PlatformActivityFeedbackManager,\n PlatformActivityFeedbackStartOptions,\n BotActivityFeedbackManager,\n} from './adapter-integration.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/activity-feedback/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/activity-feedback/manager.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n TypingIndicatorManager,\n type TypingIndicator,\n type TypingIndicatorConfig,\n type TypingIndicatorOptions,\n} from '../typing-indicator/index.js';\nimport { type ActivityFeedbackPhase, toTypingIndicatorConfig, type ResolvedActivityFeedbackPhaseConfig } from './types.js';\nfunction phaseSessionId(sessionId: string, phase: ActivityFeedbackPhase): string {\n return `${sessionId}::phase:${phase}`;\n}\n\nfunction reactionPhaseSessionId(\n sessionId: string,\n phase: ActivityFeedbackPhase,\n messageId: string,\n): string {\n return `${phaseSessionId(sessionId, phase)}::message:${messageId}`;\n}\n\nfunction withPhase(\n options: TypingIndicatorOptions,\n phase: ActivityFeedbackPhase,\n messageScoped = false,\n): TypingIndicatorOptions {\n const sessionId = options.sessionId ?? options.messageId ?? '';\n return {\n ...options,\n sessionId: messageScoped && options.messageId\n ? reactionPhaseSessionId(sessionId, phase, options.messageId)\n : phaseSessionId(sessionId, phase),\n };\n}\n\nexport class ActivityFeedbackManager {\n private readonly inner = new TypingIndicatorManager();\n\n registerAdapter(...args: Parameters<TypingIndicatorManager['registerAdapter']>): void {\n this.inner.registerAdapter(...args);\n }\n\n getAdapter(platform: string) {\n return this.inner.getAdapter(platform);\n }\n\n async start(\n phase: ActivityFeedbackPhase,\n options: TypingIndicatorOptions,\n config: ResolvedActivityFeedbackPhaseConfig,\n ): Promise<TypingIndicator> {\n const typingConfig = toTypingIndicatorConfig(config);\n const adapter = this.inner.getAdapter(options.platform);\n const resolvedType = adapter?.supportedTypes.includes(config.type)\n ? config.type\n : adapter?.supportedTypes[0];\n return this.inner.start(\n withPhase(options, phase, resolvedType === 'reaction'),\n typingConfig,\n );\n }\n\n async stop(phase: ActivityFeedbackPhase, options: TypingIndicatorOptions): Promise<void> {\n if (options.messageId) {\n await this.inner.stop(withPhase(options, phase, true));\n }\n return this.inner.stop(withPhase(options, phase));\n }\n\n getActiveIndicator(\n phase: ActivityFeedbackPhase,\n options: TypingIndicatorOptions,\n ): TypingIndicator | undefined {\n return (options.messageId\n ? this.inner.getActiveIndicator(withPhase(options, phase, true))\n : undefined)\n ?? this.inner.getActiveIndicator(withPhase(options, phase));\n }\n\n async stopAll(): Promise<void> {\n return this.inner.stopAll();\n }\n\n async dispose(): Promise<void> {\n return this.inner.dispose();\n }\n}\n"]}
|
|
@@ -5,4 +5,3 @@ export type ActivityFeedbackGatePhase = 'queued' | 'thinking' | 'active' | 'sche
|
|
|
5
5
|
* Schedule turn:仅 scheduleActivityFeedback===true → schedule 三相位。
|
|
6
6
|
*/
|
|
7
7
|
export declare function isActivityFeedbackEnabled(payload: AIEventPayload, phase: ActivityFeedbackGatePhase): boolean;
|
|
8
|
-
//# sourceMappingURL=schedule-guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-guard.js","sourceRoot":"","sources":["../../src/activity-feedback/schedule-guard.ts"],"names":[],"mappings":"AAUA,SAAS,QAAQ,CAAC,OAAuB;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;IAChC,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,IAA6B;IACnD,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI;WAC5B,IAAI,CAAC,eAAe,KAAK,IAAI;WAC7B,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAuB,EACvB,KAAgC;IAEhC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,KAAK,IAAI,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,KAAK,IAAI,CAAC;IAE9D,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,iBAAiB,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAC5F,OAAO,YAAY,IAAI,UAAU,CAAC;IACpC,CAAC;IAED,IAAI,YAAY;QAAE,OAAO,KAAK,CAAC;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"schedule-guard.js","sourceRoot":"","sources":["../../src/activity-feedback/schedule-guard.ts"],"names":[],"mappings":"AAUA,SAAS,QAAQ,CAAC,OAAuB;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;IAChC,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,IAA6B;IACnD,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI;WAC5B,IAAI,CAAC,eAAe,KAAK,IAAI;WAC7B,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAuB,EACvB,KAAgC;IAEhC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,KAAK,IAAI,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,KAAK,IAAI,CAAC;IAE9D,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,iBAAiB,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAC5F,OAAO,YAAY,IAAI,UAAU,CAAC;IACpC,CAAC;IAED,IAAI,YAAY;QAAE,OAAO,KAAK,CAAC;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["import type { AIEventPayload } from '../ai-event-subscriber.js';\n\nexport type ActivityFeedbackGatePhase =\n | 'queued'\n | 'thinking'\n | 'active'\n | 'schedule_start'\n | 'schedule_finish'\n | 'schedule_error';\n\nfunction readHook(payload: AIEventPayload): Record<string, unknown> {\n const ctx = payload.hookContext;\n return ctx && typeof ctx === 'object' ? ctx as Record<string, unknown> : {};\n}\n\nfunction isScheduleTurn(hook: Record<string, unknown>): boolean {\n return hook.scheduleJobId != null\n || hook.schedulePreview === true\n || hook.scheduleCreatedBy != null;\n}\n\n/**\n * 手动 turn:activityFeedbackEligible===true → queued/thinking/active;\n * Schedule turn:仅 scheduleActivityFeedback===true → schedule 三相位。\n */\nexport function isActivityFeedbackEnabled(\n payload: AIEventPayload,\n phase: ActivityFeedbackGatePhase,\n): boolean {\n const hook = readHook(payload);\n const scheduleTurn = isScheduleTurn(hook);\n const scheduleAf = hook.scheduleActivityFeedback === true;\n const manualEligible = hook.activityFeedbackEligible === true;\n\n if (phase === 'schedule_start' || phase === 'schedule_finish' || phase === 'schedule_error') {\n return scheduleTurn && scheduleAf;\n }\n\n if (scheduleTurn) return false;\n return manualEligible;\n}\n"]}
|
|
@@ -14,4 +14,3 @@ export declare function applySubagentActivityPrefixToConfig(config: ResolvedActi
|
|
|
14
14
|
* appear in the same IM session without stomping each other.
|
|
15
15
|
*/
|
|
16
16
|
export declare function resolveActivityFeedbackSessionId(payload: Pick<AIEventPayload, 'source' | 'agentId' | 'sessionId' | 'taskId'>): string;
|
|
17
|
-
//# sourceMappingURL=subagent-prefix.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-prefix.js","sourceRoot":"","sources":["../../src/activity-feedback/subagent-prefix.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAmD;IAEnD,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,IAAI,CAAC,GAAG;QAAE,OAAO,UAAU,CAAC;IAC5B,sEAAsE;IACtE,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACzD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAW;IACtD,OAAO,IAAI,GAAG,GAAG,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,OAAmD;IAEnD,MAAM,GAAG,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC;IACzB,MAAM,MAAM,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACzB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,mCAAmC,CACjD,MAA2C,EAC3C,OAAmD;IAEnD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAChE,MAAM,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAC9C,OAA4E;IAE5E,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAC/B,MAAM,GAAG,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;QACtE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,GAAG,IAAI,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"subagent-prefix.js","sourceRoot":"","sources":["../../src/activity-feedback/subagent-prefix.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAmD;IAEnD,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,IAAI,CAAC,GAAG;QAAE,OAAO,UAAU,CAAC;IAC5B,sEAAsE;IACtE,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACzD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAW;IACtD,OAAO,IAAI,GAAG,GAAG,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,OAAmD;IAEnD,MAAM,GAAG,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC;IACzB,MAAM,MAAM,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACzB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,mCAAmC,CACjD,MAA2C,EAC3C,OAAmD;IAEnD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAChE,MAAM,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAC9C,OAA4E;IAE5E,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAC/B,MAAM,GAAG,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;QACtE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,GAAG,IAAI,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,CAAC","sourcesContent":["import type { AIEventPayload } from '../ai-event-subscriber.js';\nimport type { ResolvedActivityFeedbackPhaseConfig } from './types.js';\n\n/**\n * Subagent activity feedback tag (e.g. researcher).\n * Prefer ai.agents / agents/<name>/agent.json name; fall back to role; never use long task labels.\n */\nexport function resolveSubagentActivityTag(\n payload: Pick<AIEventPayload, 'source' | 'agentId'>,\n): string | undefined {\n if (payload.source !== 'subagent') return undefined;\n const raw = typeof payload.agentId === 'string' ? payload.agentId.trim() : '';\n if (!raw) return 'subagent';\n // Keep tags short so IM prefixes stay readable ([researcher] 思考中...).\n if (raw.length > 32 || /\\s/.test(raw)) return 'subagent';\n return raw;\n}\n\nexport function formatSubagentActivityPrefix(tag: string): string {\n return `[${tag}]`;\n}\n\nexport function withSubagentActivityPrefix(\n message: string,\n payload: Pick<AIEventPayload, 'source' | 'agentId'>,\n): string {\n const tag = resolveSubagentActivityTag(payload);\n if (!tag) return message;\n const prefix = formatSubagentActivityPrefix(tag);\n const text = message.trim();\n if (!text) return prefix;\n if (text.startsWith(prefix)) return text;\n return `${prefix} ${text}`;\n}\n\n/** Prefix message-type phase configs for subagent status bubbles. */\nexport function applySubagentActivityPrefixToConfig(\n config: ResolvedActivityFeedbackPhaseConfig,\n payload: Pick<AIEventPayload, 'source' | 'agentId'>,\n): ResolvedActivityFeedbackPhaseConfig {\n if (config.type !== 'message' || !config.message) return config;\n const message = withSubagentActivityPrefix(config.message, payload);\n if (message === config.message) return config;\n return { ...config, message };\n}\n\n/**\n * Isolate subagent typing indicators from the parent turn so both can\n * appear in the same IM session without stomping each other.\n */\nexport function resolveActivityFeedbackSessionId(\n payload: Pick<AIEventPayload, 'source' | 'agentId' | 'sessionId' | 'taskId'>,\n): string {\n const base = payload.sessionId;\n const tag = resolveSubagentActivityTag(payload);\n if (!tag) return base;\n const task = typeof payload.taskId === 'string' && payload.taskId.trim()\n ? payload.taskId.trim().slice(0, 12)\n : 'task';\n return `${base}::agent:${tag}:${task}`;\n}\n"]}
|
|
@@ -8,4 +8,3 @@ export interface TurnActivityProjectorOptions {
|
|
|
8
8
|
}
|
|
9
9
|
/** Projects canonical TurnEvents into the shared IM activity lifecycle. */
|
|
10
10
|
export declare function createTurnActivityProjector(options: TurnActivityProjectorOptions): (event: TurnEvent) => void;
|
|
11
|
-
//# sourceMappingURL=turn-event-projector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-event-projector.js","sourceRoot":"","sources":["../../src/activity-feedback/turn-event-projector.ts"],"names":[],"mappings":"AAUA,2EAA2E;AAC3E,MAAM,UAAU,2BAA2B,CAAC,OAAqC;IAE/E,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC9B,GAAG,OAAO;gBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;gBAChC,GAAG,OAAO;gBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IACE,KAAK,CAAC,IAAI,KAAK,aAAa;eACzB,KAAK,CAAC,IAAI,KAAK,aAAa;eAC5B,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAClC,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;gBAChC,GAAG,OAAO;gBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;gBAChE,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE;gBACrC,GAAG,OAAO;gBACV,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,OAAO,EAAE,QAAQ,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,MAAM;aAC9D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO;QACrD,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC;QAClC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB;gBACpE,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,KAAK;gBACjE,CAAC,CAAC,mBAAmB,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACzB,YAAY,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"turn-event-projector.js","sourceRoot":"","sources":["../../src/activity-feedback/turn-event-projector.ts"],"names":[],"mappings":"AAUA,2EAA2E;AAC3E,MAAM,UAAU,2BAA2B,CAAC,OAAqC;IAE/E,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC9B,GAAG,OAAO;gBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;gBAChC,GAAG,OAAO;gBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IACE,KAAK,CAAC,IAAI,KAAK,aAAa;eACzB,KAAK,CAAC,IAAI,KAAK,aAAa;eAC5B,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAClC,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;gBAChC,GAAG,OAAO;gBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;gBAChE,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE;gBACrC,GAAG,OAAO;gBACV,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,OAAO,EAAE,QAAQ,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,MAAM;aAC9D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO;QACrD,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC;QAClC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB;gBACpE,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,KAAK;gBACjE,CAAC,CAAC,mBAAmB,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACzB,YAAY,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { TurnEvent } from '../event/turn-event.js';\nimport type { AIEventName, AIEventPayload } from '../ai-event-subscriber.js';\n\nexport interface TurnActivityProjectorOptions {\n readonly payload: AIEventPayload;\n readonly publish: (event: AIEventName, payload: AIEventPayload) => void;\n readonly thinkingPreview: boolean;\n readonly thinkingMaxLength: number;\n}\n\n/** Projects canonical TurnEvents into the shared IM activity lifecycle. */\nexport function createTurnActivityProjector(options: TurnActivityProjectorOptions):\n(event: TurnEvent) => void {\n let thinkingSent = false;\n let accumulatedThinking = '';\n return (event) => {\n const payload = options.payload;\n if (event.type === 'tool_call') {\n options.publish('ai.tool.call', {\n ...payload,\n toolName: event.toolName,\n args: event.args,\n });\n return;\n }\n if (event.type === 'tool_result') {\n options.publish('ai.tool.result', {\n ...payload,\n toolName: event.toolName,\n result: event.output,\n status: 'ok',\n });\n return;\n }\n if (\n event.type === 'tool_failed'\n || event.type === 'tool_denied'\n || event.type === 'tool_cancelled'\n ) {\n options.publish('ai.tool.result', {\n ...payload,\n toolName: event.toolName,\n error: event.type === 'tool_failed' ? event.error : event.reason,\n status: 'error',\n });\n return;\n }\n if (event.type === 'iteration_start' && event.iteration > 1) {\n options.publish('ai.processing.start', {\n ...payload,\n iterations: event.iteration,\n content: `处理中 [${event.iteration}/${event.maxIterations}]...`,\n });\n return;\n }\n if (event.type !== 'thinking' || !event.text) return;\n accumulatedThinking += event.text;\n if (options.thinkingPreview) {\n const preview = accumulatedThinking.length > options.thinkingMaxLength\n ? accumulatedThinking.slice(0, options.thinkingMaxLength) + '...'\n : accumulatedThinking;\n options.publish('ai.thinking', { ...payload, thinking: preview });\n } else if (!thinkingSent) {\n thinkingSent = true;\n options.publish('ai.thinking', { ...payload, thinking: event.text });\n }\n };\n}\n"]}
|
|
@@ -21,4 +21,3 @@ export interface ActivityFeedbackConfig {
|
|
|
21
21
|
}
|
|
22
22
|
export type ResolvedActivityFeedbackPhaseConfig = Required<Pick<ActivityFeedbackPhaseConfig, 'type'>> & ActivityFeedbackPhaseConfig;
|
|
23
23
|
export declare function toTypingIndicatorConfig(phase: ResolvedActivityFeedbackPhaseConfig): Partial<TypingIndicatorConfig>;
|
|
24
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/activity-feedback/types.ts"],"names":[],"mappings":"AAoCA,MAAM,UAAU,uBAAuB,CACrC,KAA0C;IAE1C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/activity-feedback/types.ts"],"names":[],"mappings":"AAoCA,MAAM,UAAU,uBAAuB,CACrC,KAA0C;IAE1C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC;AACJ,CAAC","sourcesContent":["import type { TypingIndicatorConfig, TypingIndicatorType } from '../typing-indicator/index.js';\n\nexport type ActivityFeedbackType = TypingIndicatorType;\nexport type ActivityFeedbackPhase =\n | 'queued'\n | 'active'\n | 'thinking'\n | 'schedule_start'\n | 'schedule_finish'\n | 'schedule_error';\nexport type ActivitySceneType = 'private' | 'group' | 'channel';\n\nexport interface ActivityFeedbackPhaseConfig {\n type?: ActivityFeedbackType;\n emoji?: string;\n message?: string;\n autoRemove?: boolean;\n removeDelay?: number;\n platformConfig?: Record<string, unknown>;\n}\n\nexport interface ActivityFeedbackScenePhases {\n private?: ActivityFeedbackPhaseConfig;\n group?: ActivityFeedbackPhaseConfig;\n channel?: ActivityFeedbackPhaseConfig;\n}\n\nexport interface ActivityFeedbackConfig {\n enabled?: boolean;\n phases?: Partial<Record<ActivityFeedbackPhase, ActivityFeedbackScenePhases>>;\n}\n\nexport type ResolvedActivityFeedbackPhaseConfig = Required<\n Pick<ActivityFeedbackPhaseConfig, 'type'>\n> & ActivityFeedbackPhaseConfig;\n\nexport function toTypingIndicatorConfig(\n phase: ResolvedActivityFeedbackPhaseConfig,\n): Partial<TypingIndicatorConfig> {\n return {\n type: phase.type,\n emoji: phase.emoji,\n message: phase.message,\n autoRemove: phase.autoRemove,\n removeDelay: phase.removeDelay,\n platformConfig: phase.platformConfig,\n };\n}\n"]}
|
package/lib/ai-event-bus.d.ts
CHANGED
|
@@ -12,4 +12,3 @@ export interface AISessionCompactPayload extends AIEventPayload {
|
|
|
12
12
|
export declare function createAIHookBusPayload(event: AIHookEvent, source: AIEventPayload['source'], agentId?: string): AIEventPayload;
|
|
13
13
|
export declare function isAISessionNewPayload(payload: AIEventPayload): payload is AISessionNewPayload;
|
|
14
14
|
export declare function isAISessionCompactPayload(payload: AIEventPayload): payload is AISessionCompactPayload;
|
|
15
|
-
//# sourceMappingURL=ai-event-bus.d.ts.map
|
package/lib/ai-event-bus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-event-bus.js","sourceRoot":"","sources":["../src/ai-event-bus.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-event-bus.js","sourceRoot":"","sources":["../src/ai-event-bus.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Message, commMessageFromHookContext, resolveIMSessionId, resolveIMSessionIdFromMessage } from '@zhin.js/core';\nimport type { AIHookEvent } from './resource-hub/types.js';\nimport type { AIEventPayload } from './ai-event-contract.js';\n\nexport interface AISessionNewPayload extends AIEventPayload {\n reason: 'first_message';\n}\n\nexport interface AISessionCompactPayload extends AIEventPayload {\n compactedCount: number;\n savedTokens: number;\n totalTokensBefore: number;\n totalTokensAfter: number;\n}\n\nfunction resolveCommMessage(event: AIHookEvent): Message<any> | undefined {\n return commMessageFromHookContext(event.context);\n}\n\nfunction resolveSessionId(event: AIHookEvent): string {\n if (event.sessionId) return event.sessionId;\n const commMessage = resolveCommMessage(event);\n if (commMessage) {\n return resolveIMSessionIdFromMessage(commMessage);\n }\n return resolveIMSessionId({\n platform: 'system',\n endpointKey: 'default',\n kind: 'private',\n sceneId: 'unknown',\n });\n}\n\nexport function createAIHookBusPayload(\n event: AIHookEvent,\n source: AIEventPayload['source'],\n agentId?: string,\n): AIEventPayload {\n const commMessage = resolveCommMessage(event);\n return {\n sessionId: resolveSessionId(event),\n source,\n hookType: event.type,\n hookAction: event.action,\n hookContext: event.context,\n messages: event.messages,\n agentId,\n platform: commMessage\n ? String(commMessage.clientAdapter ?? commMessage.conversation.endpoint.adapter)\n : undefined,\n endpointKey: commMessage?.endpointId ?? commMessage?.conversation.endpoint.id,\n userId: commMessage?.sender?.id,\n sceneId: commMessage?.conversation.id,\n messageId: typeof event.context.messageId === 'string' ? event.context.messageId : commMessage?.id,\n content: typeof event.context.content === 'string' ? event.context.content : undefined,\n toolName: typeof event.context.toolName === 'string' ? event.context.toolName : undefined,\n args: typeof event.context.args === 'object' && event.context.args !== null\n ? event.context.args as Record<string, unknown>\n : undefined,\n result: event.context.result,\n error: typeof event.context.error === 'string' ? event.context.error : undefined,\n reply: event.messages[0],\n compactedCount: typeof event.context.compactedCount === 'number' ? event.context.compactedCount : undefined,\n savedTokens: typeof event.context.savedTokens === 'number' ? event.context.savedTokens : undefined,\n totalTokensBefore: typeof event.context.totalTokensBefore === 'number' ? event.context.totalTokensBefore : undefined,\n totalTokensAfter: typeof event.context.totalTokensAfter === 'number' ? event.context.totalTokensAfter : undefined,\n };\n}\n\nexport function isAISessionNewPayload(payload: AIEventPayload): payload is AISessionNewPayload {\n return payload.reason === 'first_message';\n}\n\nexport function isAISessionCompactPayload(payload: AIEventPayload): payload is AISessionCompactPayload {\n return typeof payload.compactedCount === 'number'\n && typeof payload.savedTokens === 'number'\n && typeof payload.totalTokensBefore === 'number'\n && typeof payload.totalTokensAfter === 'number';\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-event-contract.js","sourceRoot":"","sources":["../src/ai-event-contract.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ai-event-contract.js","sourceRoot":"","sources":["../src/ai-event-contract.ts"],"names":[],"mappings":"","sourcesContent":["/** Agent-owned lifecycle event contract shared by Runtime publishers and subscribers. */\nexport type AIEventName =\n | 'ai.processing.start'\n | 'ai.processing.finish'\n | 'ai.processing.error'\n | 'ai.agent.start'\n | 'ai.agent.finish'\n | 'ai.thinking'\n | 'ai.tool.call'\n | 'ai.tool.result'\n | 'ai.response'\n | 'ai.typing.start'\n | 'ai.typing.stop'\n | 'ai.activity.queued.start'\n | 'ai.activity.queued.clear'\n | 'ai.subagent.spawn'\n | 'ai.subagent.start'\n | 'ai.subagent.finish'\n | 'ai.deferred.start'\n | 'ai.deferred.finish'\n | 'ai.mcp.connect.start'\n | 'ai.mcp.connect.finish'\n | 'ai.mcp.connect.error'\n | 'ai.session.new'\n | 'ai.session.compact'\n | 'ai.hook'\n | 'schedule.start'\n | 'schedule.finish'\n | 'schedule.error';\n\nexport type AIEventSource = 'zhin-agent' | 'subagent' | 'ai-hook' | 'orchestrator-hook';\nexport type AIEventMode = 'text' | 'multimodal';\nexport type AIEventPath = 'chat' | 'fast' | 'agent' | 'multimodal' | 'rate_limited';\n\nexport interface AIEventPayload {\n sessionId: string;\n source: AIEventSource;\n mode?: AIEventMode;\n path?: AIEventPath;\n userId?: string;\n platform?: string;\n endpointKey?: string;\n sceneId?: string;\n messageId?: string;\n scope?: string;\n content?: string;\n reply?: string;\n thinking?: string;\n toolName?: string;\n args?: Record<string, unknown>;\n result?: unknown;\n error?: string;\n model?: string;\n iterations?: number;\n reason?: string;\n taskId?: string;\n label?: string;\n status?: 'ok' | 'partial' | 'error';\n serverName?: string;\n loadedToolNames?: string[];\n hookType?: string;\n hookAction?: string;\n hookContext?: Record<string, unknown>;\n messages?: string[];\n agentId?: string;\n compactedCount?: number;\n savedTokens?: number;\n totalTokensBefore?: number;\n totalTokensAfter?: number;\n keepTyping?: boolean;\n}\n"]}
|
|
@@ -48,4 +48,3 @@ export interface AIEventTarget {
|
|
|
48
48
|
* Does **not** restore Plugin ALS — safe for Plugin Runtime setup.
|
|
49
49
|
*/
|
|
50
50
|
export declare function subscribeAIEventsOnTarget(target: AIEventTarget, handlers: AIEventHandlers, filter?: AIEventFilter): () => void;
|
|
51
|
-
//# sourceMappingURL=ai-event-subscriber.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-event-subscriber.js","sourceRoot":"","sources":["../src/ai-event-subscriber.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-event-subscriber.js","sourceRoot":"","sources":["../src/ai-event-subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AIEventName, AIEventPayload, AIEventSource } from './ai-event-contract.js';\nexport type { AIEventName, AIEventPayload } from './ai-event-contract.js';\n\nexport interface AIEventFilter {\n sessionId?: string;\n platform?: string;\n endpointKey?: string;\n sceneId?: string;\n source?: AIEventSource;\n}\n\nexport interface AIEventHandlers {\n onAny?: (event: AIEventName, payload: AIEventPayload) => void;\n onProcessingStart?: (payload: AIEventPayload) => void;\n onProcessingFinish?: (payload: AIEventPayload) => void;\n onProcessingError?: (payload: AIEventPayload) => void;\n onAgentStart?: (payload: AIEventPayload) => void;\n onAgentFinish?: (payload: AIEventPayload) => void;\n onThinking?: (payload: AIEventPayload) => void;\n onToolCall?: (payload: AIEventPayload) => void;\n onToolResult?: (payload: AIEventPayload) => void;\n onResponse?: (payload: AIEventPayload) => void;\n onTypingStart?: (payload: AIEventPayload) => void;\n onTypingStop?: (payload: AIEventPayload) => void;\n onQueuedStart?: (payload: AIEventPayload) => void;\n onQueuedClear?: (payload: AIEventPayload) => void;\n onSubagentSpawn?: (payload: AIEventPayload) => void;\n onSubagentStart?: (payload: AIEventPayload) => void;\n onSubagentFinish?: (payload: AIEventPayload) => void;\n onDeferredStart?: (payload: AIEventPayload) => void;\n onDeferredFinish?: (payload: AIEventPayload) => void;\n onMcpConnectStart?: (payload: AIEventPayload) => void;\n onMcpConnectFinish?: (payload: AIEventPayload) => void;\n onMcpConnectError?: (payload: AIEventPayload) => void;\n onSessionNew?: (payload: AIEventPayload) => void;\n onSessionCompact?: (payload: AIEventPayload) => void;\n onHook?: (payload: AIEventPayload) => void;\n onScheduleStart?: (payload: AIEventPayload) => void;\n onScheduleFinish?: (payload: AIEventPayload) => void;\n onScheduleError?: (payload: AIEventPayload) => void;\n}\n\nconst EVENT_HANDLER_MAP: Record<AIEventName, keyof AIEventHandlers | undefined> = {\n 'ai.processing.start': 'onProcessingStart',\n 'ai.processing.finish': 'onProcessingFinish',\n 'ai.processing.error': 'onProcessingError',\n 'ai.agent.start': 'onAgentStart',\n 'ai.agent.finish': 'onAgentFinish',\n 'ai.thinking': 'onThinking',\n 'ai.tool.call': 'onToolCall',\n 'ai.tool.result': 'onToolResult',\n 'ai.response': 'onResponse',\n 'ai.typing.start': 'onTypingStart',\n 'ai.typing.stop': 'onTypingStop',\n 'ai.activity.queued.start': 'onQueuedStart',\n 'ai.activity.queued.clear': 'onQueuedClear',\n 'ai.subagent.spawn': 'onSubagentSpawn',\n 'ai.subagent.start': 'onSubagentStart',\n 'ai.subagent.finish': 'onSubagentFinish',\n 'ai.deferred.start': 'onDeferredStart',\n 'ai.deferred.finish': 'onDeferredFinish',\n 'ai.mcp.connect.start': 'onMcpConnectStart',\n 'ai.mcp.connect.finish': 'onMcpConnectFinish',\n 'ai.mcp.connect.error': 'onMcpConnectError',\n 'ai.session.new': 'onSessionNew',\n 'ai.session.compact': 'onSessionCompact',\n 'ai.hook': 'onHook',\n 'schedule.start': 'onScheduleStart',\n 'schedule.finish': 'onScheduleFinish',\n 'schedule.error': 'onScheduleError',\n};\n\nexport const AI_EVENT_NAMES = Object.keys(EVENT_HANDLER_MAP) as AIEventName[];\n\nfunction matchesFilter(payload: AIEventPayload, filter?: AIEventFilter): boolean {\n if (!filter) return true;\n if (filter.sessionId && payload.sessionId !== filter.sessionId) return false;\n if (filter.platform && payload.platform !== filter.platform) return false;\n if (filter.endpointKey && payload.endpointKey !== filter.endpointKey) return false;\n if (filter.sceneId && payload.sceneId !== filter.sceneId) return false;\n if (filter.source && payload.source !== filter.source) return false;\n return true;\n}\n\n/** Plugin-agnostic on/off target (no AsyncLocalStorage). */\nexport interface AIEventTarget {\n on(event: string, listener: (payload: AIEventPayload) => void | Promise<void>): unknown;\n off(event: string, listener: (payload: AIEventPayload) => void | Promise<void>): unknown;\n}\n\nfunction invokeHandlers(\n eventName: AIEventName,\n payload: AIEventPayload,\n handlers: AIEventHandlers,\n): Promise<void> {\n return (async () => {\n handlers.onAny?.(eventName, payload);\n const handlerName = EVENT_HANDLER_MAP[eventName];\n const handler = handlerName ? handlers[handlerName] : undefined;\n if (typeof handler === 'function') {\n await (handler as (payload: AIEventPayload) => void | Promise<void>)(payload);\n }\n })();\n}\n\n/**\n * Subscribe AI lifecycle handlers on any `{ on, off }` target.\n * Does **not** restore Plugin ALS — safe for Plugin Runtime setup.\n */\nexport function subscribeAIEventsOnTarget(\n target: AIEventTarget,\n handlers: AIEventHandlers,\n filter?: AIEventFilter,\n): () => void {\n const disposers = AI_EVENT_NAMES.map((eventName) => {\n const listener = (payload: AIEventPayload) => {\n if (!matchesFilter(payload, filter)) return;\n return invokeHandlers(eventName, payload, handlers);\n };\n target.on(eventName, listener);\n return () => {\n target.off(eventName, listener);\n };\n });\n return () => {\n for (const dispose of disposers) dispose();\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-hook-runtime-bus.js","sourceRoot":"","sources":["../src/ai-hook-runtime-bus.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACV,SAAS,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEvE,EAAE,CAAC,KAAa,EAAE,QAA2B;QAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,QAA2B;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,OAAuB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QACnC,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,sDAAsD;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"ai-hook-runtime-bus.js","sourceRoot":"","sources":["../src/ai-hook-runtime-bus.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACV,SAAS,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEvE,EAAE,CAAC,KAAa,EAAE,QAA2B;QAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,QAA2B;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,OAAuB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QACnC,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,sDAAsD;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC","sourcesContent":["import type { AIEventPayload } from './ai-event-contract.js';\n\ntype AIHookBusListener = (payload: AIEventPayload) => void;\n\n/**\n * Runtime AI hook event bus.\n *\n * `emitAIHookBusEvent` fans out here so Runtime plugins can observe hooks\n * without a classic host Plugin.\n */\nexport class AIHookRuntimeBus {\n private readonly listeners = new Map<string, Set<AIHookBusListener>>();\n\n on(event: string, listener: AIHookBusListener): this {\n let set = this.listeners.get(event);\n if (!set) {\n set = new Set();\n this.listeners.set(event, set);\n }\n set.add(listener);\n return this;\n }\n\n off(event: string, listener: AIHookBusListener): this {\n this.listeners.get(event)?.delete(listener);\n return this;\n }\n\n emit(event: string, payload: AIEventPayload): void {\n const set = this.listeners.get(event);\n if (!set || set.size === 0) return;\n for (const listener of set) {\n try {\n listener(payload);\n } catch {\n // Listener errors must not break the Agent emit path.\n }\n }\n }\n\n clear(): void {\n this.listeners.clear();\n }\n}\n\nexport const aiHookRuntimeBus = new AIHookRuntimeBus();\n"]}
|
|
@@ -28,4 +28,3 @@ export interface BootstrapAssistantHomeResult {
|
|
|
28
28
|
backend: HaHomeBackend | null;
|
|
29
29
|
}
|
|
30
30
|
export declare function bootstrapAssistantHome(options: BootstrapAssistantHomeOptions): Promise<BootstrapAssistantHomeResult>;
|
|
31
|
-
//# sourceMappingURL=bootstrap-assistant-home.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-assistant-home.js","sourceRoot":"","sources":["../../src/assistant/bootstrap-assistant-home.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap-assistant-home.js","sourceRoot":"","sources":["../../src/assistant/bootstrap-assistant-home.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * bootstrapAssistantHome — Plugin Runtime 可注入装配(无 getPlugin)\n */\nimport type { AIConfig } from '@zhin.js/ai';\nimport {\n resolveAssistantHomeConfig,\n type AssistantHomeConfig,\n} from './home-config.js';\nimport { HaHomeBackend } from './domains/ha-home-backend.js';\nimport { HomeFacade } from './home-facade.js';\nimport { createHomeTools, type HomeToolRegistration } from './home-tools.js';\nimport {\n HomeStateWatch,\n buildWatchEntityMap,\n buildWsUrl,\n} from './domains/home-state-watch.js';\nimport { loadAssistantProfileFile, mergeProfileDeviceAliases } from './profile-loader.js';\nimport { validateHomeMcpServer } from './home-mcp-bridge.js';\nimport type { JobNotify } from './types.js';\nimport {\n resolveEffectiveNotify,\n parseJobNotify,\n type NotificationRouter,\n} from './notification-router.js';\n\nexport interface BootstrapAssistantHomeOptions {\n homeRaw?: AssistantHomeConfig;\n /** assistant.profile for device alias merge */\n profile?: import('./profile-types.js').AssistantProfileConfig;\n ai?: AIConfig;\n projectRoot: string;\n notificationRouter: NotificationRouter;\n /** assistant.defaults.notify — required for watch */\n defaultNotify?: JobNotify;\n /** Assign after backend created so JobNotify channel:ha works */\n bindCallHaService?: (fn: (service: string, target?: string, data?: unknown) => Promise<void>) => void;\n log?: (payload: Record<string, string | number | boolean | null | undefined>) => void;\n}\n\nexport interface BootstrapAssistantHomeResult {\n tools: readonly HomeToolRegistration[];\n dispose: () => void;\n homeActive: boolean;\n watchActive: boolean;\n backend: HaHomeBackend | null;\n}\n\nfunction isDeliverableImNotify(notify: JobNotify | undefined): notify is Extract<JobNotify, { channel: 'im' }> {\n if (!notify || notify.channel !== 'im') return false;\n const scene = notify.target?.scene;\n return Boolean(scene?.platform && scene.endpointKey && scene.sceneId && scene.kind);\n}\n\nexport async function bootstrapAssistantHome(\n options: BootstrapAssistantHomeOptions,\n): Promise<BootstrapAssistantHomeResult> {\n const log = options.log ?? ((p) => { /* noop */ void p; });\n const empty: BootstrapAssistantHomeResult = {\n tools: [],\n dispose: () => {},\n homeActive: false,\n watchActive: false,\n backend: null,\n };\n\n if (options.homeRaw?.enabled !== true) return empty;\n if (!options.homeRaw.restUrl?.trim()) {\n throw new TypeError('assistant.home.restUrl is required when Home is enabled');\n }\n if (!options.homeRaw.restToken?.trim()) {\n throw new TypeError('assistant.home.restToken is required when Home is enabled');\n }\n const profile = await loadAssistantProfileFile(options.projectRoot, options.profile);\n const homeCfg = resolveAssistantHomeConfig({\n ...options.homeRaw,\n aliases: mergeProfileDeviceAliases(profile, options.homeRaw?.aliases),\n });\n\n const mcpWarn = validateHomeMcpServer(homeCfg, options.ai);\n if (mcpWarn) log({ assistant_home_mcp: mcpWarn });\n\n const backend = new HaHomeBackend(homeCfg);\n options.bindCallHaService?.((service, target, data) =>\n backend.callHaNotifyService(service, target, data),\n );\n\n const facade = new HomeFacade({ backend, policy: homeCfg.policy });\n const tools = createHomeTools({ facade });\n\n let watch: HomeStateWatch | undefined;\n let watchActive = false;\n const watchAliases = homeCfg.watch;\n if (watchAliases.length > 0 && homeCfg.restUrl && homeCfg.restToken) {\n let notify: JobNotify | undefined = options.defaultNotify;\n if (notify) {\n try {\n notify = resolveEffectiveNotify(parseJobNotify(notify), undefined);\n } catch {\n notify = undefined;\n }\n }\n if (!isDeliverableImNotify(notify)) {\n log({\n op: 'ha_ws_watch_skip',\n reason: 'defaults_notify_not_im',\n });\n } else {\n const entityToAlias = buildWatchEntityMap(homeCfg.aliases, watchAliases);\n watch = new HomeStateWatch({\n wsUrl: buildWsUrl(homeCfg.restUrl),\n token: homeCfg.restToken,\n entityToAlias,\n debounceMs: homeCfg.debounceMs,\n notify,\n router: options.notificationRouter,\n });\n watch.start();\n watchActive = entityToAlias.size > 0;\n log({\n ha_ws_watch: watchActive,\n aliases: entityToAlias.size,\n debounceMs: homeCfg.debounceMs,\n });\n }\n }\n\n log({\n assistant_home: true,\n aliases: Object.keys(homeCfg.aliases).length,\n mcpServer: homeCfg.mcpServer,\n });\n\n return {\n tools,\n homeActive: true,\n watchActive,\n backend,\n dispose: () => {\n watch?.dispose();\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/assistant/config.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAC,MAAM,qBAAqB,GAAgE;IAChG,kBAAkB,EAAE,EAAE;CACvB,CAAC;AAEF,MAAM,UAAU,2BAA2B,CACzC,GAA0B;IAE1B,OAAO;QACL,cAAc,EAAE,GAAG,EAAE,cAAc,IAAI,CAAC;QACxC,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC;QAChC,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,IAAI,OAAO;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAqB;IAC1D,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;QAC9B,KAAK,EAAE,GAAG,EAAE,KAAK;QACjB,QAAQ,EAAE,GAAG,EAAE,QAAQ;QACvB,OAAO,EAAE,GAAG,EAAE,OAAO;QACrB,IAAI,EAAE,GAAG,EAAE,IAAI;QACf,MAAM,EAAE,GAAG,EAAE,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,GAA6B;IAE7B,OAAO;QACL,MAAM,EAAE,GAAG,EAAE,MAAM;QACnB,eAAe,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,GAA2B;IAE3B,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;QAC9B,KAAK,EAAE,GAAG,EAAE,KAAK;QACjB,cAAc,EAAE,GAAG,EAAE,cAAc;QACnC,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,IAAI,qBAAqB,CAAC,kBAAkB;KACxF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAA2B;IAE3B,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;AACxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/assistant/config.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAC,MAAM,qBAAqB,GAAgE;IAChG,kBAAkB,EAAE,EAAE;CACvB,CAAC;AAEF,MAAM,UAAU,2BAA2B,CACzC,GAA0B;IAE1B,OAAO;QACL,cAAc,EAAE,GAAG,EAAE,cAAc,IAAI,CAAC;QACxC,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC;QAChC,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,IAAI,OAAO;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAqB;IAC1D,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;QAC9B,KAAK,EAAE,GAAG,EAAE,KAAK;QACjB,QAAQ,EAAE,GAAG,EAAE,QAAQ;QACvB,OAAO,EAAE,GAAG,EAAE,OAAO;QACrB,IAAI,EAAE,GAAG,EAAE,IAAI;QACf,MAAM,EAAE,GAAG,EAAE,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,GAA6B;IAE7B,OAAO;QACL,MAAM,EAAE,GAAG,EAAE,MAAM;QACnB,eAAe,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,GAA2B;IAE3B,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;QAC9B,KAAK,EAAE,GAAG,EAAE,KAAK;QACjB,cAAc,EAAE,GAAG,EAAE,cAAc;QACnC,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,IAAI,qBAAqB,CAAC,kBAAkB;KACxF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAA2B;IAE3B,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;AACxC,CAAC","sourcesContent":["/**\n * Assistant Runtime 配置(应用级,zhin.config.yml 顶层 assistant 块)\n */\nimport type { AssistantHomeConfig } from './home-config.js';\nimport type { JobNotify } from './types.js';\n\nexport interface AssistantDefaultsConfig {\n /** 未显式指定 notify 时的默认投递目标(M3) */\n notify?: JobNotify;\n /** Job 失败时是否通知(默认 false) */\n notifyOnFailure?: boolean;\n}\n\nexport interface AssistantEventsConfig {\n /** 启用 POST /api/assistant/events(需 assistant.enabled) */\n enabled?: boolean;\n /**\n * 可选专用 Bearer;未设时复用 http.token(路由仍在 /api 下受全局鉴权保护)。\n */\n token?: string;\n /** 允许的来源白名单;空数组表示不限制 */\n allowedSources?: string[];\n /** 每来源每分钟最大请求数(默认 60) */\n rateLimitPerMinute?: number;\n}\n\nexport interface AssistantQueueConfig {\n /** Schedule execution 并发上限 */\n maxConcurrency?: number;\n maxRetries?: number;\n defaultTimeoutMs?: number;\n}\n\nexport interface AssistantConfig {\n /** 启用统一 JobStore(默认 false,Stable 行为不变) */\n enabled?: boolean;\n /** Schedule execution queue(重试 / 并发 / 死信) */\n queue?: AssistantQueueConfig;\n defaults?: AssistantDefaultsConfig;\n profile?: import('./profile-types.js').AssistantProfileConfig;\n home?: AssistantHomeConfig;\n events?: AssistantEventsConfig;\n}\n\nexport const DEFAULT_EVENTS_CONFIG: Required<Pick<AssistantEventsConfig, 'rateLimitPerMinute'>> = {\n rateLimitPerMinute: 60,\n};\n\nexport function resolveAssistantQueueConfig(\n raw?: AssistantQueueConfig,\n): Required<AssistantQueueConfig> {\n return {\n maxConcurrency: raw?.maxConcurrency ?? 3,\n maxRetries: raw?.maxRetries ?? 2,\n defaultTimeoutMs: raw?.defaultTimeoutMs ?? 120_000,\n };\n}\n\nexport function resolveAssistantConfig(raw?: AssistantConfig): AssistantConfig & { enabled: boolean } {\n return {\n enabled: raw?.enabled === true,\n queue: raw?.queue,\n defaults: raw?.defaults,\n profile: raw?.profile,\n home: raw?.home,\n events: raw?.events,\n };\n}\n\nexport function resolveAssistantDefaultsConfig(\n raw?: AssistantDefaultsConfig,\n): AssistantDefaultsConfig & { notifyOnFailure: boolean } {\n return {\n notify: raw?.notify,\n notifyOnFailure: raw?.notifyOnFailure === true,\n };\n}\n\nexport function resolveAssistantEventsConfig(\n raw?: AssistantEventsConfig,\n): AssistantEventsConfig & { enabled: boolean; rateLimitPerMinute: number } {\n return {\n enabled: raw?.enabled === true,\n token: raw?.token,\n allowedSources: raw?.allowedSources,\n rateLimitPerMinute: raw?.rateLimitPerMinute ?? DEFAULT_EVENTS_CONFIG.rateLimitPerMinute,\n };\n}\n\nexport function isAssistantEventsActive(\n assistant?: AssistantConfig,\n): boolean {\n const base = resolveAssistantConfig(assistant);\n const events = resolveAssistantEventsConfig(base.events);\n return base.enabled && events.enabled;\n}\n"]}
|
|
@@ -16,4 +16,3 @@ export interface DeliverScheduleToAdapterInput {
|
|
|
16
16
|
* Deliver schedule/cron task output to IM via the unified outbound chain.
|
|
17
17
|
*/
|
|
18
18
|
export declare function deliverScheduleToAdapter(input: DeliverScheduleToAdapterInput): Promise<DeliverResult>;
|
|
19
|
-
//# sourceMappingURL=deliver-schedule-to-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliver-schedule-to-adapter.js","sourceRoot":"","sources":["../../src/assistant/deliver-schedule-to-adapter.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAoC;IAEpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAChE,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACnE,CAAC"}
|
|
1
|
+
{"version":3,"file":"deliver-schedule-to-adapter.js","sourceRoot":"","sources":["../../src/assistant/deliver-schedule-to-adapter.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAoC;IAEpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAChE,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACnE,CAAC","sourcesContent":["/**\n * Schedule → adapter delivery helper — ADR 0039 P1.\n * Routes scheduled task output through NotificationRouter (unified outbound chain).\n */\nimport type { JobNotify } from './types.js';\nimport {\n type DeliverResult,\n type NotificationRouter,\n} from './notification-router.js';\n\nexport interface DeliverScheduleToAdapterInput {\n notify: JobNotify;\n content: string;\n jobId?: string;\n label?: string;\n router: NotificationRouter;\n source?: string;\n}\n\n/**\n * Deliver schedule/cron task output to IM via the unified outbound chain.\n */\nexport async function deliverScheduleToAdapter(\n input: DeliverScheduleToAdapterInput,\n): Promise<DeliverResult> {\n const { notify, content, jobId, label, source, router } = input;\n return router.deliver({ notify, content, jobId, label, source });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ha-home-backend.js","sourceRoot":"","sources":["../../../src/assistant/domains/ha-home-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ha-home-backend.js","sourceRoot":"","sources":["../../../src/assistant/domains/ha-home-backend.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * HaHomeBackend — Home Assistant REST client(别名解析 + 服务调用)\n */\nimport { getLogger, formatCompact } from '@zhin.js/logger';\nimport { type AssistantHomeConfig, resolveAssistantHomeConfig, type ResolvedAssistantHomeConfig } from '../home-config.js';\nimport { parseEntityDomain } from './home-entity.js';\n\nexport { parseEntityDomain };\n\nconst logger = getLogger('home-assistant');\n\nexport type HaFetch = (url: string, init?: RequestInit) => Promise<Response>;\n\nexport interface HaEntityState {\n entityId: string;\n state: string;\n attributes: Record<string, unknown>;\n lastChanged?: string;\n lastUpdated?: string;\n}\n\nexport interface HaServiceResult {\n alias: string;\n entityId: string;\n service: string;\n}\n\nconst DOMAIN_SERVICE_MAP: Record<string, { on: string; off: string }> = {\n light: { on: 'turn_on', off: 'turn_off' },\n switch: { on: 'turn_on', off: 'turn_off' },\n fan: { on: 'turn_on', off: 'turn_off' },\n cover: { on: 'open_cover', off: 'close_cover' },\n lock: { on: 'unlock', off: 'lock' },\n climate: { on: 'turn_on', off: 'turn_off' },\n media_player: { on: 'turn_on', off: 'turn_off' },\n};\n\nexport class HaHomeBackend {\n private cfg: ResolvedAssistantHomeConfig;\n private fetchFn: HaFetch;\n\n constructor(homeConfig: AssistantHomeConfig, fetchFn: HaFetch = globalThis.fetch.bind(globalThis)) {\n this.cfg = resolveAssistantHomeConfig(homeConfig);\n this.fetchFn = fetchFn;\n }\n\n listAliases(): Record<string, string> {\n return { ...this.cfg.aliases };\n }\n\n resolveAlias(alias: string): string {\n const key = alias.trim();\n const entity = this.cfg.aliases?.[key];\n if (!entity) {\n throw new Error(`未知设备别名: ${alias}(可用: ${Object.keys(this.cfg.aliases ?? {}).join('、') || '无'})`);\n }\n return entity;\n }\n\n private baseUrl(): string {\n const url = this.cfg.restUrl?.replace(/\\/$/, '');\n if (!url) throw new Error('assistant.home.restUrl 未配置');\n return url;\n }\n\n private token(): string {\n if (!this.cfg.restToken) throw new Error('assistant.home.restToken 未配置');\n return this.cfg.restToken;\n }\n\n private async haRequest(path: string, init?: RequestInit): Promise<unknown> {\n const url = `${this.baseUrl()}${path}`;\n const res = await this.fetchFn(url, {\n ...init,\n headers: {\n Authorization: `Bearer ${this.token()}`,\n 'Content-Type': 'application/json',\n ...(init?.headers ?? {}),\n },\n });\n if (!res.ok) {\n const body = await res.text().catch(() => '');\n throw new Error(`HA API ${res.status}: ${body.slice(0, 200) || res.statusText}`);\n }\n if (res.status === 204) return null;\n const text = await res.text();\n if (!text) return null;\n return JSON.parse(text) as unknown;\n }\n\n async getState(alias: string): Promise<HaEntityState> {\n const entityId = this.resolveAlias(alias);\n const raw = await this.haRequest(`/api/states/${encodeURIComponent(entityId)}`) as Record<string, unknown>;\n return {\n entityId,\n state: String(raw.state ?? 'unknown'),\n attributes: (raw.attributes as Record<string, unknown>) ?? {},\n lastChanged: raw.last_changed as string | undefined,\n lastUpdated: raw.last_updated as string | undefined,\n };\n }\n\n resolveServiceForToggle(entityId: string, on: boolean): { domain: string; service: string } {\n const domain = parseEntityDomain(entityId);\n const mapped = DOMAIN_SERVICE_MAP[domain];\n const service = on ? mapped?.on : mapped?.off;\n if (!service) {\n throw new Error(`不支持的控制类型: ${domain}(entity: ${entityId})`);\n }\n return { domain, service };\n }\n\n async callService(\n alias: string,\n service: string,\n data?: Record<string, unknown>,\n ): Promise<void> {\n const entityId = this.resolveAlias(alias);\n const domain = parseEntityDomain(entityId);\n await this.haRequest(`/api/services/${domain}/${service}`, {\n method: 'POST',\n body: JSON.stringify({ entity_id: entityId, ...data }),\n });\n logger.debug(formatCompact({ op: 'ha_service', alias, entityId, domain, service }));\n }\n\n /**\n * JobNotify channel:ha — call by domain/service with optional entity target.\n * `service` may be `domain.service` or bare service name (requires target entity).\n */\n async callHaNotifyService(service: string, target?: string, data?: unknown): Promise<void> {\n const payload = (data && typeof data === 'object') ? data as Record<string, unknown> : {};\n let domain: string;\n let svc: string;\n if (service.includes('.')) {\n const [d, s] = service.split('.', 2);\n domain = d;\n svc = s;\n } else if (target) {\n domain = parseEntityDomain(target);\n svc = service;\n } else {\n throw new Error(`callHaService 需要 domain.service 或 target entity(got: ${service})`);\n }\n const body = target ? { entity_id: target, ...payload } : { ...payload };\n await this.haRequest(`/api/services/${domain}/${svc}`, {\n method: 'POST',\n body: JSON.stringify(body),\n });\n logger.debug(formatCompact({ op: 'ha_notify_service', domain, service: svc, target }));\n }\n\n async turnOn(alias: string): Promise<HaServiceResult> {\n const entityId = this.resolveAlias(alias);\n const { domain, service } = this.resolveServiceForToggle(entityId, true);\n await this.callService(alias, service);\n return { alias, entityId, service: `${domain}.${service}` };\n }\n\n async turnOff(alias: string): Promise<HaServiceResult> {\n const entityId = this.resolveAlias(alias);\n const { domain, service } = this.resolveServiceForToggle(entityId, false);\n await this.callService(alias, service);\n return { alias, entityId, service: `${domain}.${service}` };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ha-ws-transport.js","sourceRoot":"","sources":["../../../src/assistant/domains/ha-ws-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ha-ws-transport.js","sourceRoot":"","sources":["../../../src/assistant/domains/ha-ws-transport.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * HaWsTransport — HA WebSocket auth / subscribe / reconnect.\n * Inject createSocket for tests.\n */\nimport { getLogger, formatCompact } from '@zhin.js/logger';\n\nconst logger = getLogger('ha-ws-transport');\nconst RECONNECT_DELAY_MS = 10_000;\n\nexport type HaSocketLike = {\n readyState: number;\n send(data: string): void;\n close(): void;\n addEventListener(type: string, listener: (ev: { data?: unknown }) => void): void;\n};\n\nexport type CreateHaSocket = (url: string) => HaSocketLike;\n\nexport interface HaStateChangedEvent {\n entityId: string;\n newState: string;\n oldState?: string;\n attributes: Record<string, unknown>;\n}\n\nexport interface HaWsTransportOptions {\n wsUrl: string;\n token: string;\n createSocket?: CreateHaSocket;\n onStateChanged: (event: HaStateChangedEvent) => void;\n reconnectDelayMs?: number;\n}\n\nconst OPEN = 1;\nconst CONNECTING = 0;\n\ninterface HaWsMessage {\n id?: number;\n type: string;\n event?: {\n data?: {\n entity_id?: string;\n new_state?: { state?: string; attributes?: Record<string, unknown> };\n old_state?: { state?: string };\n };\n };\n}\n\nexport class HaWsTransport {\n private ws: HaSocketLike | null = null;\n private disposed = false;\n private msgId = 1;\n private reconnectTimer: ReturnType<typeof setTimeout> | null = null;\n private readonly createSocket: CreateHaSocket;\n\n constructor(private readonly options: HaWsTransportOptions) {\n this.createSocket = options.createSocket\n ?? ((url) => new (globalThis as unknown as { WebSocket: new (u: string) => HaSocketLike }).WebSocket(url));\n }\n\n start(): void {\n if (this.disposed) return;\n if (typeof globalThis.WebSocket === 'undefined' && !this.options.createSocket) {\n logger.warn('ha-ws-transport: WebSocket not available');\n return;\n }\n this.connect();\n }\n\n private connect(): void {\n if (this.disposed) return;\n try {\n this.ws = this.createSocket(this.options.wsUrl);\n } catch (err) {\n logger.warn(formatCompact({ op: 'ha_ws_connect_error', error: String(err) }));\n this.scheduleReconnect();\n return;\n }\n\n this.ws.addEventListener('open', () => {\n logger.debug('ha-ws connected');\n });\n this.ws.addEventListener('message', (event) => {\n try {\n const msg = JSON.parse(String(event.data)) as HaWsMessage;\n this.handleMessage(msg);\n } catch {\n // ignore\n }\n });\n this.ws.addEventListener('close', () => {\n logger.debug('ha-ws closed');\n this.scheduleReconnect();\n });\n this.ws.addEventListener('error', () => {\n logger.warn(formatCompact({ op: 'ha_ws_error' }));\n });\n }\n\n /** Test/helper: feed a parsed HA message as if received from the socket. */\n handleMessage(msg: HaWsMessage): void {\n switch (msg.type) {\n case 'auth_required':\n this.send({ type: 'auth', access_token: this.options.token });\n break;\n case 'auth_ok':\n this.subscribeEvents();\n break;\n case 'auth_invalid':\n logger.error('ha-ws auth failed — check restToken');\n this.dispose();\n break;\n case 'event':\n this.emitStateChange(msg);\n break;\n }\n }\n\n private subscribeEvents(): void {\n const id = this.msgId++;\n this.send({ id, type: 'subscribe_events', event_type: 'state_changed' });\n logger.info(formatCompact({ op: 'ha_ws_subscribed' }));\n }\n\n private emitStateChange(msg: HaWsMessage): void {\n const data = msg.event?.data;\n if (!data?.entity_id) return;\n const newState = data.new_state?.state ?? 'unknown';\n const oldState = data.old_state?.state;\n if (newState === oldState) return;\n this.options.onStateChanged({\n entityId: data.entity_id,\n newState,\n oldState,\n attributes: data.new_state?.attributes ?? {},\n });\n }\n\n private send(data: Record<string, unknown>): void {\n if (this.ws && this.ws.readyState === OPEN) {\n this.ws.send(JSON.stringify(data));\n }\n }\n\n private scheduleReconnect(): void {\n if (this.disposed) return;\n const delay = this.options.reconnectDelayMs ?? RECONNECT_DELAY_MS;\n this.reconnectTimer = setTimeout(() => {\n this.reconnectTimer = null;\n this.connect();\n }, delay);\n }\n\n dispose(): void {\n this.disposed = true;\n if (this.reconnectTimer) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n if (this.ws) {\n if (this.ws.readyState === OPEN || this.ws.readyState === CONNECTING) {\n this.ws.close();\n }\n this.ws = null;\n }\n }\n}\n\nexport function buildWsUrl(restUrl: string): string {\n const url = new URL(restUrl);\n url.protocol = url.protocol === 'https:' ? 'wss:' : 'ws:';\n url.pathname = '/api/websocket';\n return url.toString();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home-entity.js","sourceRoot":"","sources":["../../../src/assistant/domains/home-entity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC"}
|
|
1
|
+
{"version":3,"file":"home-entity.js","sourceRoot":"","sources":["../../../src/assistant/domains/home-entity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC","sourcesContent":["/**\n * HA entity_id helpers (domain parsing shared by policy / facade / backend).\n */\n\nexport function parseEntityDomain(entityId: string): string {\n const dot = entityId.indexOf('.');\n return dot > 0 ? entityId.slice(0, dot) : entityId;\n}\n"]}
|
|
@@ -37,4 +37,3 @@ export declare function formatStateMessage(alias: string, state: string, attribu
|
|
|
37
37
|
export { buildWsUrl };
|
|
38
38
|
/** Build entity→alias map from alias→entity record for watch list. */
|
|
39
39
|
export declare function buildWatchEntityMap(aliases: Record<string, string>, watchAliases: string[]): Map<string, string>;
|
|
40
|
-
//# sourceMappingURL=home-state-watch.d.ts.map
|