@adonis-agora/agent 0.61.0 → 0.63.0
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/CHANGELOG.md +91 -0
- package/README.md +12 -7
- package/dist/configure.d.ts +7 -5
- package/dist/configure.d.ts.map +1 -1
- package/dist/configure.js +7 -5
- package/dist/configure.js.map +1 -1
- package/dist/providers/a2a_provider.d.ts +14 -0
- package/dist/providers/a2a_provider.d.ts.map +1 -0
- package/dist/providers/a2a_provider.js +136 -0
- package/dist/providers/a2a_provider.js.map +1 -0
- package/dist/providers/agent_provider.d.ts.map +1 -1
- package/dist/providers/agent_provider.js +81 -25
- package/dist/providers/agent_provider.js.map +1 -1
- package/dist/providers/mcp_provider.d.ts +3 -0
- package/dist/providers/mcp_provider.d.ts.map +1 -1
- package/dist/providers/mcp_provider.js +147 -62
- package/dist/providers/mcp_provider.js.map +1 -1
- package/dist/src/a2a/auth.d.ts +67 -0
- package/dist/src/a2a/auth.d.ts.map +1 -0
- package/dist/src/a2a/auth.js +47 -0
- package/dist/src/a2a/auth.js.map +1 -0
- package/dist/src/a2a/define_config.d.ts +74 -0
- package/dist/src/a2a/define_config.d.ts.map +1 -0
- package/dist/src/a2a/define_config.js +5 -0
- package/dist/src/a2a/define_config.js.map +1 -0
- package/dist/src/a2a/gate.d.ts +23 -0
- package/dist/src/a2a/gate.d.ts.map +1 -0
- package/dist/src/a2a/gate.js +56 -0
- package/dist/src/a2a/gate.js.map +1 -0
- package/dist/src/a2a/handler.d.ts +65 -0
- package/dist/src/a2a/handler.d.ts.map +1 -0
- package/dist/src/a2a/handler.js +322 -0
- package/dist/src/a2a/handler.js.map +1 -0
- package/dist/src/a2a/index.d.ts +15 -0
- package/dist/src/a2a/index.d.ts.map +1 -0
- package/dist/src/a2a/index.js +9 -0
- package/dist/src/a2a/index.js.map +1 -0
- package/dist/src/a2a/permission-tool.d.ts +17 -0
- package/dist/src/a2a/permission-tool.d.ts.map +1 -0
- package/dist/src/a2a/permission-tool.js +70 -0
- package/dist/src/a2a/permission-tool.js.map +1 -0
- package/dist/src/a2a/protocol.d.ts +100 -0
- package/dist/src/a2a/protocol.d.ts.map +1 -0
- package/dist/src/a2a/protocol.js +106 -0
- package/dist/src/a2a/protocol.js.map +1 -0
- package/dist/src/a2a/runtime.d.ts +6 -0
- package/dist/src/a2a/runtime.d.ts.map +1 -0
- package/dist/src/a2a/runtime.js +13 -0
- package/dist/src/a2a/runtime.js.map +1 -0
- package/dist/src/a2a/server_middleware.d.ts +13 -0
- package/dist/src/a2a/server_middleware.d.ts.map +1 -0
- package/dist/src/a2a/server_middleware.js +18 -0
- package/dist/src/a2a/server_middleware.js.map +1 -0
- package/dist/src/a2a/store.d.ts +79 -0
- package/dist/src/a2a/store.d.ts.map +1 -0
- package/dist/src/a2a/store.js +151 -0
- package/dist/src/a2a/store.js.map +1 -0
- package/dist/src/a2a/turn.d.ts +80 -0
- package/dist/src/a2a/turn.d.ts.map +1 -0
- package/dist/src/a2a/turn.js +211 -0
- package/dist/src/a2a/turn.js.map +1 -0
- package/dist/src/action-proposal-executor.d.ts +3 -0
- package/dist/src/action-proposal-executor.d.ts.map +1 -1
- package/dist/src/action-proposal-executor.js +10 -0
- package/dist/src/action-proposal-executor.js.map +1 -1
- package/dist/src/action-proposal-service.d.ts +7 -2
- package/dist/src/action-proposal-service.d.ts.map +1 -1
- package/dist/src/action-proposal-service.js +21 -16
- package/dist/src/action-proposal-service.js.map +1 -1
- package/dist/src/action-proposal-text.d.ts +42 -3
- package/dist/src/action-proposal-text.d.ts.map +1 -1
- package/dist/src/action-proposal-text.js +80 -12
- package/dist/src/action-proposal-text.js.map +1 -1
- package/dist/src/action-proposal-worker.d.ts +2 -1
- package/dist/src/action-proposal-worker.d.ts.map +1 -1
- package/dist/src/action-proposal-worker.js +9 -2
- package/dist/src/action-proposal-worker.js.map +1 -1
- package/dist/src/actor-resolver.d.ts +12 -4
- package/dist/src/actor-resolver.d.ts.map +1 -1
- package/dist/src/actor-resolver.js +24 -7
- package/dist/src/actor-resolver.js.map +1 -1
- package/dist/src/ag-ui/adapter.d.ts.map +1 -1
- package/dist/src/ag-ui/adapter.js +115 -17
- package/dist/src/ag-ui/adapter.js.map +1 -1
- package/dist/src/ag-ui/core/encoder.d.ts +106 -0
- package/dist/src/ag-ui/core/encoder.d.ts.map +1 -0
- package/dist/src/ag-ui/core/encoder.js +534 -0
- package/dist/src/ag-ui/core/encoder.js.map +1 -0
- package/dist/src/ag-ui/core/index.d.ts +12 -0
- package/dist/src/ag-ui/core/index.d.ts.map +1 -0
- package/dist/src/ag-ui/core/index.js +12 -0
- package/dist/src/ag-ui/core/index.js.map +1 -0
- package/dist/src/ag-ui/core/input.d.ts +92 -0
- package/dist/src/ag-ui/core/input.d.ts.map +1 -0
- package/dist/src/ag-ui/core/input.js +246 -0
- package/dist/src/ag-ui/core/input.js.map +1 -0
- package/dist/src/ag-ui/core/interrupt-id.d.ts +31 -0
- package/dist/src/ag-ui/core/interrupt-id.d.ts.map +1 -0
- package/dist/src/ag-ui/core/interrupt-id.js +48 -0
- package/dist/src/ag-ui/core/interrupt-id.js.map +1 -0
- package/dist/src/ag-ui/{proposal-decision.d.ts → core/proposal-decision.d.ts} +1 -1
- package/dist/src/ag-ui/core/proposal-decision.d.ts.map +1 -0
- package/dist/src/ag-ui/{proposal-decision.js → core/proposal-decision.js} +3 -6
- package/dist/src/ag-ui/core/proposal-decision.js.map +1 -0
- package/dist/src/ag-ui/core/stream.d.ts +49 -0
- package/dist/src/ag-ui/core/stream.d.ts.map +1 -0
- package/dist/src/ag-ui/core/stream.js +90 -0
- package/dist/src/ag-ui/core/stream.js.map +1 -0
- package/dist/src/ag-ui/core/types.d.ts +249 -0
- package/dist/src/ag-ui/core/types.d.ts.map +1 -0
- package/dist/src/ag-ui/core/types.js +35 -0
- package/dist/src/ag-ui/core/types.js.map +1 -0
- package/dist/src/ag-ui/encoder.d.ts +3 -4
- package/dist/src/ag-ui/encoder.d.ts.map +1 -1
- package/dist/src/ag-ui/encoder.js +10 -11
- package/dist/src/ag-ui/encoder.js.map +1 -1
- package/dist/src/ag-ui/frames.d.ts +8 -5
- package/dist/src/ag-ui/frames.d.ts.map +1 -1
- package/dist/src/ag-ui/frames.js +21 -7
- package/dist/src/ag-ui/frames.js.map +1 -1
- package/dist/src/ag-ui/index.d.ts +3 -5
- package/dist/src/ag-ui/index.d.ts.map +1 -1
- package/dist/src/ag-ui/index.js +3 -5
- package/dist/src/ag-ui/index.js.map +1 -1
- package/dist/src/ag-ui/stream.d.ts +3 -4
- package/dist/src/ag-ui/stream.d.ts.map +1 -1
- package/dist/src/ag-ui/stream.js +4 -5
- package/dist/src/ag-ui/stream.js.map +1 -1
- package/dist/src/agent-deps-factory.d.ts +3 -0
- package/dist/src/agent-deps-factory.d.ts.map +1 -1
- package/dist/src/agent-deps-factory.js +3 -0
- package/dist/src/agent-deps-factory.js.map +1 -1
- package/dist/src/agent-deps.d.ts +3 -0
- package/dist/src/agent-deps.d.ts.map +1 -1
- package/dist/src/agent-deps.js.map +1 -1
- package/dist/src/agent-loop.d.ts +4 -3
- package/dist/src/agent-loop.d.ts.map +1 -1
- package/dist/src/agent-loop.js +50 -25
- package/dist/src/agent-loop.js.map +1 -1
- package/dist/src/agent-service.d.ts +46 -4
- package/dist/src/agent-service.d.ts.map +1 -1
- package/dist/src/agent-service.js +87 -11
- package/dist/src/agent-service.js.map +1 -1
- package/dist/src/ai-sdk/ai-sdk-model.js +4 -1
- package/dist/src/ai-sdk/ai-sdk-model.js.map +1 -1
- package/dist/src/ai-tool-ref.d.ts +4 -0
- package/dist/src/ai-tool-ref.d.ts.map +1 -1
- package/dist/src/ai-tool-ref.js +10 -14
- package/dist/src/ai-tool-ref.js.map +1 -1
- package/dist/src/attachment-limits.d.ts +10 -0
- package/dist/src/attachment-limits.d.ts.map +1 -0
- package/dist/src/attachment-limits.js +13 -0
- package/dist/src/attachment-limits.js.map +1 -0
- package/dist/src/channels/adapters/evolution_api.d.ts +49 -0
- package/dist/src/channels/adapters/evolution_api.d.ts.map +1 -0
- package/dist/src/channels/adapters/evolution_api.js +241 -0
- package/dist/src/channels/adapters/evolution_api.js.map +1 -0
- package/dist/src/channels/adapters/telegram.d.ts +34 -0
- package/dist/src/channels/adapters/telegram.d.ts.map +1 -0
- package/dist/src/channels/adapters/telegram.js +196 -0
- package/dist/src/channels/adapters/telegram.js.map +1 -0
- package/dist/src/channels/adapters/whatsapp_cloud.d.ts +31 -0
- package/dist/src/channels/adapters/whatsapp_cloud.d.ts.map +1 -0
- package/dist/src/channels/adapters/whatsapp_cloud.js +177 -0
- package/dist/src/channels/adapters/whatsapp_cloud.js.map +1 -0
- package/dist/src/channels/handler.d.ts +167 -0
- package/dist/src/channels/handler.d.ts.map +1 -0
- package/dist/src/channels/handler.js +569 -0
- package/dist/src/channels/handler.js.map +1 -0
- package/dist/src/channels/http.d.ts +45 -0
- package/dist/src/channels/http.d.ts.map +1 -0
- package/dist/src/channels/http.js +147 -0
- package/dist/src/channels/http.js.map +1 -0
- package/dist/src/channels/index.d.ts +16 -0
- package/dist/src/channels/index.d.ts.map +1 -0
- package/dist/src/channels/index.js +15 -0
- package/dist/src/channels/index.js.map +1 -0
- package/dist/src/channels/markdown.d.ts +12 -0
- package/dist/src/channels/markdown.d.ts.map +1 -0
- package/dist/src/channels/markdown.js +120 -0
- package/dist/src/channels/markdown.js.map +1 -0
- package/dist/src/channels/questions.d.ts +43 -0
- package/dist/src/channels/questions.d.ts.map +1 -0
- package/dist/src/channels/questions.js +90 -0
- package/dist/src/channels/questions.js.map +1 -0
- package/dist/src/channels/split.d.ts +8 -0
- package/dist/src/channels/split.d.ts.map +1 -0
- package/dist/src/channels/split.js +45 -0
- package/dist/src/channels/split.js.map +1 -0
- package/dist/src/channels/store.d.ts +78 -0
- package/dist/src/channels/store.d.ts.map +1 -0
- package/dist/src/channels/store.js +151 -0
- package/dist/src/channels/store.js.map +1 -0
- package/dist/src/channels/types.d.ts +138 -0
- package/dist/src/channels/types.d.ts.map +1 -0
- package/dist/src/channels/types.js +7 -0
- package/dist/src/channels/types.js.map +1 -0
- package/dist/src/chat-queue-service.d.ts.map +1 -1
- package/dist/src/chat-queue-service.js +2 -0
- package/dist/src/chat-queue-service.js.map +1 -1
- package/dist/src/define_config.d.ts +61 -12
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/engine.d.ts +77 -0
- package/dist/src/engine.d.ts.map +1 -0
- package/dist/src/engine.js +27 -0
- package/dist/src/engine.js.map +1 -0
- package/dist/src/genui/builtins.d.ts +73 -3
- package/dist/src/genui/builtins.d.ts.map +1 -1
- package/dist/src/genui/builtins.js +357 -3
- package/dist/src/genui/builtins.js.map +1 -1
- package/dist/src/genui/capabilities.d.ts +24 -0
- package/dist/src/genui/capabilities.d.ts.map +1 -0
- package/dist/src/genui/capabilities.js +81 -0
- package/dist/src/genui/capabilities.js.map +1 -0
- package/dist/src/genui/catalog.d.ts +86 -0
- package/dist/src/genui/catalog.d.ts.map +1 -0
- package/dist/src/genui/catalog.js +96 -0
- package/dist/src/genui/catalog.js.map +1 -0
- package/dist/src/genui/factory.d.ts +7 -14
- package/dist/src/genui/factory.d.ts.map +1 -1
- package/dist/src/genui/factory.js.map +1 -1
- package/dist/src/genui/index.d.ts +4 -12
- package/dist/src/genui/index.d.ts.map +1 -1
- package/dist/src/genui/index.js +5 -18
- package/dist/src/genui/index.js.map +1 -1
- package/dist/src/genui/public.d.ts +9 -0
- package/dist/src/genui/public.d.ts.map +1 -0
- package/dist/src/genui/public.js +9 -0
- package/dist/src/genui/public.js.map +1 -0
- package/dist/src/genui/registry.d.ts +65 -0
- package/dist/src/genui/registry.d.ts.map +1 -0
- package/dist/src/genui/registry.js +151 -0
- package/dist/src/genui/registry.js.map +1 -0
- package/dist/src/genui/schema.d.ts +71 -0
- package/dist/src/genui/schema.d.ts.map +1 -0
- package/dist/src/genui/schema.js +304 -0
- package/dist/src/genui/schema.js.map +1 -0
- package/dist/src/genui/text.d.ts +36 -0
- package/dist/src/genui/text.d.ts.map +1 -0
- package/dist/src/genui/text.js +157 -0
- package/dist/src/genui/text.js.map +1 -0
- package/dist/src/genui/tools.d.ts +92 -0
- package/dist/src/genui/tools.d.ts.map +1 -0
- package/dist/src/genui/tools.js +291 -0
- package/dist/src/genui/tools.js.map +1 -0
- package/dist/src/genui/tree.d.ts +56 -0
- package/dist/src/genui/tree.d.ts.map +1 -0
- package/dist/src/genui/tree.js +188 -0
- package/dist/src/genui/tree.js.map +1 -0
- package/dist/src/index.d.ts +6 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/auth.d.ts +17 -1
- package/dist/src/mcp/auth.d.ts.map +1 -1
- package/dist/src/mcp/auth.js +14 -3
- package/dist/src/mcp/auth.js.map +1 -1
- package/dist/src/mcp/define_config.d.ts +81 -2
- package/dist/src/mcp/define_config.d.ts.map +1 -1
- package/dist/src/mcp/define_config.js.map +1 -1
- package/dist/src/mcp/index.d.ts +1 -1
- package/dist/src/mcp/index.d.ts.map +1 -1
- package/dist/src/mcp/index.js.map +1 -1
- package/dist/src/mcp/oauth-resource.d.ts +9 -0
- package/dist/src/mcp/oauth-resource.d.ts.map +1 -0
- package/dist/src/mcp/oauth-resource.js +16 -0
- package/dist/src/mcp/oauth-resource.js.map +1 -0
- package/dist/src/mcp/server.d.ts +5 -0
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +48 -16
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/negotiated-tool-ui.d.ts.map +1 -1
- package/dist/src/negotiated-tool-ui.js +12 -8
- package/dist/src/negotiated-tool-ui.js.map +1 -1
- package/dist/src/opencode/client.d.ts +202 -0
- package/dist/src/opencode/client.d.ts.map +1 -0
- package/dist/src/opencode/client.js +2 -0
- package/dist/src/opencode/client.js.map +1 -0
- package/dist/src/opencode/durable/index.d.ts +33 -0
- package/dist/src/opencode/durable/index.d.ts.map +1 -0
- package/dist/src/opencode/durable/index.js +38 -0
- package/dist/src/opencode/durable/index.js.map +1 -0
- package/dist/src/opencode/durable/runner.d.ts +36 -0
- package/dist/src/opencode/durable/runner.d.ts.map +1 -0
- package/dist/src/opencode/durable/runner.js +88 -0
- package/dist/src/opencode/durable/runner.js.map +1 -0
- package/dist/src/opencode/durable/workflow.d.ts +40 -0
- package/dist/src/opencode/durable/workflow.d.ts.map +1 -0
- package/dist/src/opencode/durable/workflow.js +106 -0
- package/dist/src/opencode/durable/workflow.js.map +1 -0
- package/dist/src/opencode/engine.d.ts +48 -0
- package/dist/src/opencode/engine.d.ts.map +1 -0
- package/dist/src/opencode/engine.js +98 -0
- package/dist/src/opencode/engine.js.map +1 -0
- package/dist/src/opencode/event-hub.d.ts +23 -0
- package/dist/src/opencode/event-hub.d.ts.map +1 -0
- package/dist/src/opencode/event-hub.js +99 -0
- package/dist/src/opencode/event-hub.js.map +1 -0
- package/dist/src/opencode/forms.d.ts +19 -0
- package/dist/src/opencode/forms.d.ts.map +1 -0
- package/dist/src/opencode/forms.js +82 -0
- package/dist/src/opencode/forms.js.map +1 -0
- package/dist/src/opencode/host.d.ts +179 -0
- package/dist/src/opencode/host.d.ts.map +1 -0
- package/dist/src/opencode/host.js +34 -0
- package/dist/src/opencode/host.js.map +1 -0
- package/dist/src/opencode/index.d.ts +15 -0
- package/dist/src/opencode/index.d.ts.map +1 -0
- package/dist/src/opencode/index.js +9 -0
- package/dist/src/opencode/index.js.map +1 -0
- package/dist/src/opencode/log.d.ts +9 -0
- package/dist/src/opencode/log.d.ts.map +1 -0
- package/dist/src/opencode/log.js +15 -0
- package/dist/src/opencode/log.js.map +1 -0
- package/dist/src/opencode/mcp.d.ts +60 -0
- package/dist/src/opencode/mcp.d.ts.map +1 -0
- package/dist/src/opencode/mcp.js +258 -0
- package/dist/src/opencode/mcp.js.map +1 -0
- package/dist/src/opencode/runner.d.ts +40 -0
- package/dist/src/opencode/runner.d.ts.map +1 -0
- package/dist/src/opencode/runner.js +125 -0
- package/dist/src/opencode/runner.js.map +1 -0
- package/dist/src/opencode/turn.d.ts +167 -0
- package/dist/src/opencode/turn.d.ts.map +1 -0
- package/dist/src/opencode/turn.js +761 -0
- package/dist/src/opencode/turn.js.map +1 -0
- package/dist/src/opencode/turns.d.ts +247 -0
- package/dist/src/opencode/turns.d.ts.map +1 -0
- package/dist/src/opencode/turns.js +867 -0
- package/dist/src/opencode/turns.js.map +1 -0
- package/dist/src/personas.d.ts.map +1 -1
- package/dist/src/personas.js +4 -1
- package/dist/src/personas.js.map +1 -1
- package/dist/src/react/ag-ui.d.ts +4 -2
- package/dist/src/react/ag-ui.d.ts.map +1 -1
- package/dist/src/react/ag-ui.js +2 -2
- package/dist/src/react/ag-ui.js.map +1 -1
- package/dist/src/react/client.d.ts +1 -1
- package/dist/src/react/client.d.ts.map +1 -1
- package/dist/src/react/client.js +1 -1
- package/dist/src/react/client.js.map +1 -1
- package/dist/src/react/core/ag-ui-backend.d.ts +109 -0
- package/dist/src/react/core/ag-ui-backend.d.ts.map +1 -0
- package/dist/src/react/core/ag-ui-backend.js +574 -0
- package/dist/src/react/core/ag-ui-backend.js.map +1 -0
- package/dist/src/react/core/agent-chat-transport.d.ts +187 -0
- package/dist/src/react/core/agent-chat-transport.d.ts.map +1 -0
- package/dist/src/react/core/agent-chat-transport.js +817 -0
- package/dist/src/react/core/agent-chat-transport.js.map +1 -0
- package/dist/src/react/core/approvals/countdown.d.ts +22 -0
- package/dist/src/react/core/approvals/countdown.d.ts.map +1 -0
- package/dist/src/react/core/approvals/countdown.js +39 -0
- package/dist/src/react/core/approvals/countdown.js.map +1 -0
- package/dist/src/react/core/approvals/proposals.d.ts +15 -0
- package/dist/src/react/core/approvals/proposals.d.ts.map +1 -0
- package/dist/src/react/core/approvals/proposals.js +82 -0
- package/dist/src/react/core/approvals/proposals.js.map +1 -0
- package/dist/src/react/core/approvals/use-action-proposals.d.ts +10 -0
- package/dist/src/react/core/approvals/use-action-proposals.d.ts.map +1 -0
- package/dist/src/react/core/approvals/use-action-proposals.js +86 -0
- package/dist/src/react/core/approvals/use-action-proposals.js.map +1 -0
- package/dist/src/react/core/attachments/files.d.ts +39 -0
- package/dist/src/react/core/attachments/files.d.ts.map +1 -0
- package/dist/src/react/core/attachments/files.js +89 -0
- package/dist/src/react/core/attachments/files.js.map +1 -0
- package/dist/src/react/core/attachments/use-attachments.d.ts +106 -0
- package/dist/src/react/core/attachments/use-attachments.d.ts.map +1 -0
- package/dist/src/react/core/attachments/use-attachments.js +217 -0
- package/dist/src/react/core/attachments/use-attachments.js.map +1 -0
- package/dist/src/react/core/backend.d.ts +245 -0
- package/dist/src/react/core/backend.d.ts.map +1 -0
- package/dist/src/react/core/backend.js +21 -0
- package/dist/src/react/core/backend.js.map +1 -0
- package/dist/src/react/core/background-runs.d.ts +32 -0
- package/dist/src/react/core/background-runs.d.ts.map +1 -0
- package/dist/src/react/core/background-runs.js +47 -0
- package/dist/src/react/core/background-runs.js.map +1 -0
- package/dist/src/react/core/catalog/use-agents.d.ts +31 -0
- package/dist/src/react/core/catalog/use-agents.d.ts.map +1 -0
- package/dist/src/react/core/catalog/use-agents.js +28 -0
- package/dist/src/react/core/catalog/use-agents.js.map +1 -0
- package/dist/src/react/core/catalog/use-models.d.ts +41 -0
- package/dist/src/react/core/catalog/use-models.d.ts.map +1 -0
- package/dist/src/react/core/catalog/use-models.js +35 -0
- package/dist/src/react/core/catalog/use-models.js.map +1 -0
- package/dist/src/react/core/catalog/use-resource.d.ts +12 -0
- package/dist/src/react/core/catalog/use-resource.d.ts.map +1 -0
- package/dist/src/react/core/catalog/use-resource.js +41 -0
- package/dist/src/react/core/catalog/use-resource.js.map +1 -0
- package/dist/src/react/core/client-wire.d.ts +14 -0
- package/dist/src/react/core/client-wire.d.ts.map +1 -0
- package/dist/src/react/core/client-wire.js +2 -0
- package/dist/src/react/core/client-wire.js.map +1 -0
- package/dist/src/react/core/client.d.ts +222 -0
- package/dist/src/react/core/client.d.ts.map +1 -0
- package/dist/src/react/core/client.js +435 -0
- package/dist/src/react/core/client.js.map +1 -0
- package/dist/src/react/core/components/ambient-ui.d.ts +22 -0
- package/dist/src/react/core/components/ambient-ui.d.ts.map +1 -0
- package/dist/src/react/core/components/ambient-ui.js +30 -0
- package/dist/src/react/core/components/ambient-ui.js.map +1 -0
- package/dist/src/react/core/components/chat-input.d.ts +44 -0
- package/dist/src/react/core/components/chat-input.d.ts.map +1 -0
- package/dist/src/react/core/components/chat-input.js +69 -0
- package/dist/src/react/core/components/chat-input.js.map +1 -0
- package/dist/src/react/core/components/index.d.ts +7 -0
- package/dist/src/react/core/components/index.d.ts.map +1 -0
- package/dist/src/react/core/components/index.js +7 -0
- package/dist/src/react/core/components/index.js.map +1 -0
- package/dist/src/react/core/components/message-item.d.ts +101 -0
- package/dist/src/react/core/components/message-item.d.ts.map +1 -0
- package/dist/src/react/core/components/message-item.js +118 -0
- package/dist/src/react/core/components/message-item.js.map +1 -0
- package/dist/src/react/core/components/message-list.d.ts +85 -0
- package/dist/src/react/core/components/message-list.d.ts.map +1 -0
- package/dist/src/react/core/components/message-list.js +45 -0
- package/dist/src/react/core/components/message-list.js.map +1 -0
- package/dist/src/react/core/components/speech-languages.d.ts +22 -0
- package/dist/src/react/core/components/speech-languages.d.ts.map +1 -0
- package/dist/src/react/core/components/speech-languages.js +38 -0
- package/dist/src/react/core/components/speech-languages.js.map +1 -0
- package/dist/src/react/core/components/use-speech-recognition.d.ts +19 -0
- package/dist/src/react/core/components/use-speech-recognition.d.ts.map +1 -0
- package/dist/src/react/core/components/use-speech-recognition.js +92 -0
- package/dist/src/react/core/components/use-speech-recognition.js.map +1 -0
- package/dist/src/react/core/composer/index.d.ts +4 -0
- package/dist/src/react/core/composer/index.d.ts.map +1 -0
- package/dist/src/react/core/composer/index.js +4 -0
- package/dist/src/react/core/composer/index.js.map +1 -0
- package/dist/src/react/core/composer/model.d.ts +83 -0
- package/dist/src/react/core/composer/model.d.ts.map +1 -0
- package/dist/src/react/core/composer/model.js +53 -0
- package/dist/src/react/core/composer/model.js.map +1 -0
- package/dist/src/react/core/composer/skills-source.d.ts +29 -0
- package/dist/src/react/core/composer/skills-source.d.ts.map +1 -0
- package/dist/src/react/core/composer/skills-source.js +61 -0
- package/dist/src/react/core/composer/skills-source.js.map +1 -0
- package/dist/src/react/core/composer/use-composer-autocomplete.d.ts +78 -0
- package/dist/src/react/core/composer/use-composer-autocomplete.d.ts.map +1 -0
- package/dist/src/react/core/composer/use-composer-autocomplete.js +244 -0
- package/dist/src/react/core/composer/use-composer-autocomplete.js.map +1 -0
- package/dist/src/react/core/config/use-agent-config.d.ts +21 -0
- package/dist/src/react/core/config/use-agent-config.d.ts.map +1 -0
- package/dist/src/react/core/config/use-agent-config.js +57 -0
- package/dist/src/react/core/config/use-agent-config.js.map +1 -0
- package/dist/src/react/core/elicitation/answers.d.ts +22 -0
- package/dist/src/react/core/elicitation/answers.d.ts.map +1 -0
- package/dist/src/react/core/elicitation/answers.js +65 -0
- package/dist/src/react/core/elicitation/answers.js.map +1 -0
- package/dist/src/react/core/feedback/use-message-feedback.d.ts +32 -0
- package/dist/src/react/core/feedback/use-message-feedback.d.ts.map +1 -0
- package/dist/src/react/core/feedback/use-message-feedback.js +106 -0
- package/dist/src/react/core/feedback/use-message-feedback.js.map +1 -0
- package/dist/src/react/core/genui/generative-ui.d.ts +76 -0
- package/dist/src/react/core/genui/generative-ui.d.ts.map +1 -0
- package/dist/src/react/core/genui/generative-ui.js +210 -0
- package/dist/src/react/core/genui/generative-ui.js.map +1 -0
- package/dist/src/react/core/genui/index.d.ts +5 -0
- package/dist/src/react/core/genui/index.d.ts.map +1 -0
- package/dist/src/react/core/genui/index.js +5 -0
- package/dist/src/react/core/genui/index.js.map +1 -0
- package/dist/src/react/core/genui/json-render.d.ts +54 -0
- package/dist/src/react/core/genui/json-render.d.ts.map +1 -0
- package/dist/src/react/core/genui/json-render.js +64 -0
- package/dist/src/react/core/genui/json-render.js.map +1 -0
- package/dist/src/react/core/genui/playwright.d.ts +12 -0
- package/dist/src/react/core/genui/playwright.d.ts.map +1 -0
- package/dist/src/react/core/genui/playwright.js +141 -0
- package/dist/src/react/core/genui/playwright.js.map +1 -0
- package/dist/src/react/core/genui/react-registry.d.ts +22 -0
- package/dist/src/react/core/genui/react-registry.d.ts.map +1 -0
- package/dist/src/react/core/genui/react-registry.js +72 -0
- package/dist/src/react/core/genui/react-registry.js.map +1 -0
- package/dist/src/react/core/genui/server.d.ts +32 -0
- package/dist/src/react/core/genui/server.d.ts.map +1 -0
- package/dist/src/react/core/genui/server.js +66 -0
- package/dist/src/react/core/genui/server.js.map +1 -0
- package/dist/src/react/core/genui/types.d.ts +98 -0
- package/dist/src/react/core/genui/types.d.ts.map +1 -0
- package/dist/src/react/core/genui/types.js +3 -0
- package/dist/src/react/core/genui/types.js.map +1 -0
- package/dist/src/react/core/genui/use-generative-ui.d.ts +42 -0
- package/dist/src/react/core/genui/use-generative-ui.d.ts.map +1 -0
- package/dist/src/react/core/genui/use-generative-ui.js +186 -0
- package/dist/src/react/core/genui/use-generative-ui.js.map +1 -0
- package/dist/src/react/core/http-error.d.ts +33 -0
- package/dist/src/react/core/http-error.d.ts.map +1 -0
- package/dist/src/react/core/http-error.js +47 -0
- package/dist/src/react/core/http-error.js.map +1 -0
- package/dist/src/react/core/index.d.ts +35 -0
- package/dist/src/react/core/index.d.ts.map +1 -0
- package/dist/src/react/core/index.js +34 -0
- package/dist/src/react/core/index.js.map +1 -0
- package/dist/src/react/core/markdown/agent-markdown.d.ts +39 -0
- package/dist/src/react/core/markdown/agent-markdown.d.ts.map +1 -0
- package/dist/src/react/core/markdown/agent-markdown.js +22 -0
- package/dist/src/react/core/markdown/agent-markdown.js.map +1 -0
- package/dist/src/react/core/markdown/index.d.ts +2 -0
- package/dist/src/react/core/markdown/index.d.ts.map +1 -0
- package/dist/src/react/core/markdown/index.js +2 -0
- package/dist/src/react/core/markdown/index.js.map +1 -0
- package/dist/src/react/core/media/index.d.ts +64 -0
- package/dist/src/react/core/media/index.d.ts.map +1 -0
- package/dist/src/react/core/media/index.js +135 -0
- package/dist/src/react/core/media/index.js.map +1 -0
- package/dist/src/react/core/media/tus.d.ts +13 -0
- package/dist/src/react/core/media/tus.d.ts.map +1 -0
- package/dist/src/react/core/media/tus.js +59 -0
- package/dist/src/react/core/media/tus.js.map +1 -0
- package/dist/src/react/core/presentation/phrasing.d.ts +25 -0
- package/dist/src/react/core/presentation/phrasing.d.ts.map +1 -0
- package/dist/src/react/core/presentation/phrasing.js +58 -0
- package/dist/src/react/core/presentation/phrasing.js.map +1 -0
- package/dist/src/react/core/presentation/result-view.d.ts +43 -0
- package/dist/src/react/core/presentation/result-view.d.ts.map +1 -0
- package/dist/src/react/core/presentation/result-view.js +90 -0
- package/dist/src/react/core/presentation/result-view.js.map +1 -0
- package/dist/src/react/core/presentation/tool-activity.d.ts +106 -0
- package/dist/src/react/core/presentation/tool-activity.d.ts.map +1 -0
- package/dist/src/react/core/presentation/tool-activity.js +165 -0
- package/dist/src/react/core/presentation/tool-activity.js.map +1 -0
- package/dist/src/react/core/presentation/use-tool-catalog.d.ts +39 -0
- package/dist/src/react/core/presentation/use-tool-catalog.d.ts.map +1 -0
- package/dist/src/react/core/presentation/use-tool-catalog.js +77 -0
- package/dist/src/react/core/presentation/use-tool-catalog.js.map +1 -0
- package/dist/src/react/core/provider.d.ts +68 -0
- package/dist/src/react/core/provider.d.ts.map +1 -0
- package/dist/src/react/core/provider.js +61 -0
- package/dist/src/react/core/provider.js.map +1 -0
- package/dist/src/react/core/queue/model.d.ts +73 -0
- package/dist/src/react/core/queue/model.d.ts.map +1 -0
- package/dist/src/react/core/queue/model.js +2 -0
- package/dist/src/react/core/queue/model.js.map +1 -0
- package/dist/src/react/core/quota/use-quota.d.ts +35 -0
- package/dist/src/react/core/quota/use-quota.d.ts.map +1 -0
- package/dist/src/react/core/quota/use-quota.js +47 -0
- package/dist/src/react/core/quota/use-quota.js.map +1 -0
- package/dist/src/react/core/reasoning/timing.d.ts +38 -0
- package/dist/src/react/core/reasoning/timing.d.ts.map +1 -0
- package/dist/src/react/core/reasoning/timing.js +73 -0
- package/dist/src/react/core/reasoning/timing.js.map +1 -0
- package/dist/src/react/core/run-errors.d.ts +37 -0
- package/dist/src/react/core/run-errors.d.ts.map +1 -0
- package/dist/src/react/core/run-errors.js +37 -0
- package/dist/src/react/core/run-errors.js.map +1 -0
- package/dist/src/react/core/stored-message-to-ui-message.d.ts +4 -0
- package/dist/src/react/core/stored-message-to-ui-message.d.ts.map +1 -0
- package/dist/src/react/core/stored-message-to-ui-message.js +216 -0
- package/dist/src/react/core/stored-message-to-ui-message.js.map +1 -0
- package/dist/src/react/core/stored-thread-to-ui-messages.d.ts +82 -0
- package/dist/src/react/core/stored-thread-to-ui-messages.d.ts.map +1 -0
- package/dist/src/react/core/stored-thread-to-ui-messages.js +116 -0
- package/dist/src/react/core/stored-thread-to-ui-messages.js.map +1 -0
- package/dist/src/react/core/threads/threads-events.d.ts +22 -0
- package/dist/src/react/core/threads/threads-events.d.ts.map +1 -0
- package/dist/src/react/core/threads/threads-events.js +21 -0
- package/dist/src/react/core/threads/threads-events.js.map +1 -0
- package/dist/src/react/core/threads/use-threads.d.ts +31 -0
- package/dist/src/react/core/threads/use-threads.d.ts.map +1 -0
- package/dist/src/react/core/threads/use-threads.js +81 -0
- package/dist/src/react/core/threads/use-threads.js.map +1 -0
- package/dist/src/react/core/transcript/index.d.ts +4 -0
- package/dist/src/react/core/transcript/index.d.ts.map +1 -0
- package/dist/src/react/core/transcript/index.js +4 -0
- package/dist/src/react/core/transcript/index.js.map +1 -0
- package/dist/src/react/core/transcript/model.d.ts +399 -0
- package/dist/src/react/core/transcript/model.d.ts.map +1 -0
- package/dist/src/react/core/transcript/model.js +725 -0
- package/dist/src/react/core/transcript/model.js.map +1 -0
- package/dist/src/react/core/transcript/use-chat-transcript.d.ts +254 -0
- package/dist/src/react/core/transcript/use-chat-transcript.d.ts.map +1 -0
- package/dist/src/react/core/transcript/use-chat-transcript.js +572 -0
- package/dist/src/react/core/transcript/use-chat-transcript.js.map +1 -0
- package/dist/src/react/core/transcript/use-stick-to-bottom.d.ts +33 -0
- package/dist/src/react/core/transcript/use-stick-to-bottom.d.ts.map +1 -0
- package/dist/src/react/core/transcript/use-stick-to-bottom.js +48 -0
- package/dist/src/react/core/transcript/use-stick-to-bottom.js.map +1 -0
- package/dist/src/react/core/use-agent-chat.d.ts +341 -0
- package/dist/src/react/core/use-agent-chat.d.ts.map +1 -0
- package/dist/src/react/core/use-agent-chat.js +1118 -0
- package/dist/src/react/core/use-agent-chat.js.map +1 -0
- package/dist/src/react/genui/index.d.ts +1 -7
- package/dist/src/react/genui/index.d.ts.map +1 -1
- package/dist/src/react/genui/index.js +1 -7
- package/dist/src/react/genui/index.js.map +1 -1
- package/dist/src/react/genui/json-render.d.ts +1 -5
- package/dist/src/react/genui/json-render.d.ts.map +1 -1
- package/dist/src/react/genui/json-render.js +1 -5
- package/dist/src/react/genui/json-render.js.map +1 -1
- package/dist/src/react/genui/server.d.ts +2 -0
- package/dist/src/react/genui/server.d.ts.map +1 -0
- package/dist/src/react/genui/server.js +2 -0
- package/dist/src/react/genui/server.js.map +1 -0
- package/dist/src/react/genui/server_playwright.d.ts +2 -0
- package/dist/src/react/genui/server_playwright.d.ts.map +1 -0
- package/dist/src/react/genui/server_playwright.js +2 -0
- package/dist/src/react/genui/server_playwright.js.map +1 -0
- package/dist/src/react/index.d.ts +5 -7
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/react/index.js +5 -7
- package/dist/src/react/index.js.map +1 -1
- package/dist/src/react/markdown.d.ts +1 -6
- package/dist/src/react/markdown.d.ts.map +1 -1
- package/dist/src/react/markdown.js +1 -6
- package/dist/src/react/markdown.js.map +1 -1
- package/dist/src/react/media.d.ts +1 -17
- package/dist/src/react/media.d.ts.map +1 -1
- package/dist/src/react/media.js +1 -17
- package/dist/src/react/media.js.map +1 -1
- package/dist/src/refusal.d.ts +3 -0
- package/dist/src/refusal.d.ts.map +1 -0
- package/dist/src/refusal.js +3 -0
- package/dist/src/refusal.js.map +1 -0
- package/dist/src/spi/agent-runner.d.ts +6 -0
- package/dist/src/spi/agent-runner.d.ts.map +1 -1
- package/dist/src/spi/chat-queue.d.ts +4 -1
- package/dist/src/spi/chat-queue.d.ts.map +1 -1
- package/dist/src/spi/chat-queue.js.map +1 -1
- package/dist/src/spi/protocol-adapter.d.ts +3 -3
- package/dist/src/spi/roles-policy.d.ts +7 -0
- package/dist/src/spi/roles-policy.d.ts.map +1 -1
- package/dist/src/spi/tool.d.ts +18 -3
- package/dist/src/spi/tool.d.ts.map +1 -1
- package/dist/src/stores/lucid-schema.d.ts +24 -6
- package/dist/src/stores/lucid-schema.d.ts.map +1 -1
- package/dist/src/stores/lucid-schema.js +49 -6
- package/dist/src/stores/lucid-schema.js.map +1 -1
- package/dist/src/stores/lucid.d.ts +2 -0
- package/dist/src/stores/lucid.d.ts.map +1 -1
- package/dist/src/stores/lucid.js +7 -0
- package/dist/src/stores/lucid.js.map +1 -1
- package/dist/src/testing/chat-queue-store-contract.d.ts.map +1 -1
- package/dist/src/testing/chat-queue-store-contract.js +4 -0
- package/dist/src/testing/chat-queue-store-contract.js.map +1 -1
- package/dist/src/testing/in-memory-store.d.ts.map +1 -1
- package/dist/src/testing/in-memory-store.js +1 -0
- package/dist/src/testing/in-memory-store.js.map +1 -1
- package/dist/src/tool-discovery.d.ts +1 -1
- package/dist/src/tool-discovery.d.ts.map +1 -1
- package/dist/src/tool-discovery.js +5 -1
- package/dist/src/tool-discovery.js.map +1 -1
- package/dist/src/tool-registry.d.ts +3 -0
- package/dist/src/tool-registry.d.ts.map +1 -1
- package/dist/src/tool-registry.js +15 -3
- package/dist/src/tool-registry.js.map +1 -1
- package/dist/src/tool-result-presentation.d.ts +12 -0
- package/dist/src/tool-result-presentation.d.ts.map +1 -0
- package/dist/src/tool-result-presentation.js +44 -0
- package/dist/src/tool-result-presentation.js.map +1 -0
- package/dist/src/types.d.ts +20 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/ui-capabilities.d.ts +1 -8
- package/dist/src/ui-capabilities.d.ts.map +1 -1
- package/dist/src/ui-capabilities.js +3 -24
- package/dist/src/ui-capabilities.js.map +1 -1
- package/package.json +128 -22
- package/skills/agent-governance/SKILL.md +12 -4
- package/skills/agent-personas-agents/SKILL.md +2 -1
- package/skills/agent-setup/SKILL.md +73 -14
- package/skills/agent-testing/SKILL.md +22 -0
- package/skills/agent-tools/SKILL.md +57 -9
- package/dist/src/ag-ui/proposal-decision.d.ts.map +0 -1
- package/dist/src/ag-ui/proposal-decision.js.map +0 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Follow a streaming transcript only while the reader is already at the bottom. Reading back
|
|
4
|
+
* through history during a stream is the case this exists for: an unconditional scroll-to-bottom
|
|
5
|
+
* yanks the viewport away mid-sentence on every token.
|
|
6
|
+
*/
|
|
7
|
+
export function useStickToBottom({ contentKey, threshold = 32, }) {
|
|
8
|
+
const containerRef = useRef(null);
|
|
9
|
+
const [isAtBottom, setIsAtBottom] = useState(true);
|
|
10
|
+
const measure = useCallback(() => {
|
|
11
|
+
const element = containerRef.current;
|
|
12
|
+
if (!element) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const distance = element.scrollHeight - element.scrollTop - element.clientHeight;
|
|
16
|
+
setIsAtBottom(distance <= threshold);
|
|
17
|
+
}, [threshold]);
|
|
18
|
+
const scrollToBottom = useCallback(() => {
|
|
19
|
+
const element = containerRef.current;
|
|
20
|
+
if (!element) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
element.scrollTop = element.scrollHeight;
|
|
24
|
+
setIsAtBottom(true);
|
|
25
|
+
}, []);
|
|
26
|
+
const setContainer = useCallback((element) => {
|
|
27
|
+
containerRef.current = element;
|
|
28
|
+
if (element) {
|
|
29
|
+
measure();
|
|
30
|
+
}
|
|
31
|
+
}, [measure]);
|
|
32
|
+
// Re-pin as content arrives. Guarded on `isAtBottom` so a reader who scrolled up keeps their
|
|
33
|
+
// position for the rest of the stream, and re-pins the moment they scroll back down.
|
|
34
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: `contentKey` IS the content dependency
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (isAtBottom) {
|
|
37
|
+
scrollToBottom();
|
|
38
|
+
}
|
|
39
|
+
}, [contentKey, isAtBottom, scrollToBottom]);
|
|
40
|
+
const getContainerProps = useCallback(() => ({ ref: setContainer, onScroll: measure }), [setContainer, measure]);
|
|
41
|
+
return {
|
|
42
|
+
isAtBottom,
|
|
43
|
+
showJumpToLatest: !isAtBottom,
|
|
44
|
+
scrollToBottom,
|
|
45
|
+
getContainerProps,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=use-stick-to-bottom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-stick-to-bottom.js","sourceRoot":"","sources":["../../../../../src/react/core/transcript/use-stick-to-bottom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AA8BjE;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,UAAU,EACV,SAAS,GAAG,EAAE,GACO;IACrB,MAAM,YAAY,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;QACjF,aAAa,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,OAA2B,EAAE,EAAE;QAC9B,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,6FAA6F;IAC7F,qFAAqF;IACrF,kGAAkG;IAClG,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAE7C,MAAM,iBAAiB,GAAG,WAAW,CACnC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAChD,CAAC,YAAY,EAAE,OAAO,CAAC,CACxB,CAAC;IAEF,OAAO;QACL,UAAU;QACV,gBAAgB,EAAE,CAAC,UAAU;QAC7B,cAAc;QACd,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
import type { DataUIPart, UIDataTypes, UIMessage } from 'ai';
|
|
2
|
+
import type { UiCapabilities } from '../../genui/index.js';
|
|
3
|
+
import type { QuotaBlock, ThreadSummary } from '../../index.js';
|
|
4
|
+
import { type ReconnectOptions, type StreamConnectionState } from './agent-chat-transport.js';
|
|
5
|
+
import { type AttachmentsState, type UseAttachmentsOptions } from './attachments/use-attachments.js';
|
|
6
|
+
import { type AgentBackend } from './backend.js';
|
|
7
|
+
import { type BackgroundRun } from './background-runs.js';
|
|
8
|
+
import { type ModelOption, type ModelsState } from './catalog/use-models.js';
|
|
9
|
+
import type { ChatQueue, SendWhileRunning, WhileRunning } from './queue/model.js';
|
|
10
|
+
import { type QuotaState } from './quota/use-quota.js';
|
|
11
|
+
import type { AgentRunFailure } from './run-errors.js';
|
|
12
|
+
import type { ChatStatus } from './transcript/model.js';
|
|
13
|
+
import { type AnswerInput, type ApproveInput, type ChatTranscript, type MessageActionInput, type RejectInput, type SkipInput, type UseChatTranscriptOptions } from './transcript/use-chat-transcript.js';
|
|
14
|
+
export interface UseAgentChatOptions<B extends AgentBackend = AgentBackend> {
|
|
15
|
+
uiCapabilities?: UiCapabilities;
|
|
16
|
+
proposalPollMs?: number;
|
|
17
|
+
/** Enable proposal reads even when history and resume are both disabled. */
|
|
18
|
+
proposals?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* What the chat talks to — see {@link AgentBackend}. Omitted → the enclosing `<AgentProvider>`'s,
|
|
21
|
+
* else a same-origin client on `/agent`. Must be stable across renders.
|
|
22
|
+
*/
|
|
23
|
+
backend?: B;
|
|
24
|
+
/**
|
|
25
|
+
* Retry a stream that dropped mid-run from its last frame (`GET <base>/chat/:runId/stream?after=`),
|
|
26
|
+
* with exponential backoff. `status` reads `'reconnecting'` meanwhile. Default on; `false` turns
|
|
27
|
+
* it off.
|
|
28
|
+
*/
|
|
29
|
+
reconnect?: ReconnectOptions | false;
|
|
30
|
+
/** Named agent to run each turn. */
|
|
31
|
+
agent?: string;
|
|
32
|
+
/**
|
|
33
|
+
* One of the agent's personas (`GET <base>/agents` lists them) to answer as. Read per send, so a
|
|
34
|
+
* picker can switch it between messages; the server pins it on the thread, and `threadPersona`
|
|
35
|
+
* reports it back. Omitted → the thread's pinned persona, else the agent's default. A single send
|
|
36
|
+
* can name its own: `sendMessage(message, { body: { persona } })`.
|
|
37
|
+
*/
|
|
38
|
+
persona?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Thread this chat is bound to. Omitted → the backend creates one on the first send
|
|
41
|
+
* ({@link UseAgentChatOptions.onThreadCreated}). Changing it switches the chat to that thread:
|
|
42
|
+
* its history loads and a turn still streaming on it is re-attached. Switching to the thread this
|
|
43
|
+
* chat just created (syncing a URL) keeps the live conversation as it is.
|
|
44
|
+
*/
|
|
45
|
+
threadId?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Load a `threadId`'s persisted history into the chat (`GET <base>/threads/:id`). Default `true`;
|
|
48
|
+
* skipped when {@link UseAgentChatOptions.initialMessages} is given. `false` opts out.
|
|
49
|
+
*/
|
|
50
|
+
history?: boolean;
|
|
51
|
+
/** Persisted history you already have — seeds the chat instead of loading it (read per thread). */
|
|
52
|
+
initialMessages?: UIMessage[];
|
|
53
|
+
/**
|
|
54
|
+
* Re-attach to a turn that was still streaming on `threadId` when the page (re)loaded — read off
|
|
55
|
+
* the thread's `activeRunId`, so a reload mid-answer keeps streaming it. Default `true`; `false`
|
|
56
|
+
* opts out.
|
|
57
|
+
*/
|
|
58
|
+
resume?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* A run id you already know is streaming — attached to on mount without reading the thread first.
|
|
61
|
+
* Rarely needed: {@link UseAgentChatOptions.resume} finds it by itself.
|
|
62
|
+
*/
|
|
63
|
+
resumeRunId?: string;
|
|
64
|
+
/**
|
|
65
|
+
* The model every turn runs on, controlled by you. Omitted → `chat.models.selected` (what
|
|
66
|
+
* `chat.models.select(id)` picked), else the thread's pinned model, else the server default. A
|
|
67
|
+
* single send can still override it with `sendMessage(msg, { body: { model } })`. Sent as the
|
|
68
|
+
* turn's `model`, which the server applies to that turn only — pinning a model on the thread is
|
|
69
|
+
* `chat.models.pinToThread(id)`.
|
|
70
|
+
*/
|
|
71
|
+
model?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Read the caller's budget (`GET <base>/quota`) and refuse sends while a window is exhausted.
|
|
74
|
+
* Default `true` when the backend implements `getQuota`; `false` skips the request.
|
|
75
|
+
*/
|
|
76
|
+
quota?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Override the quota gate: `null` never blocks, a {@link QuotaBlock} always does. Omitted → the
|
|
79
|
+
* gate follows {@link UseAgentChatOptions.quota}'s report. While blocked, `sendMessage` and
|
|
80
|
+
* `regenerate` refuse with {@link QuotaBlockedError}.
|
|
81
|
+
*/
|
|
82
|
+
blocked?: QuotaBlock | null;
|
|
83
|
+
/** Validation and upload for `chat.composer.files` — see `useAttachments`. */
|
|
84
|
+
composer?: Omit<UseAttachmentsOptions, 'backend'>;
|
|
85
|
+
/**
|
|
86
|
+
* What `composer.submit()` and `sendMessage` do while a turn is still running. Default `'queue'`:
|
|
87
|
+
* the message waits in the thread's queue (server-side — it survives a reload) and runs when the
|
|
88
|
+
* turn settles; `chat.queue` lists and edits what is waiting. `'interrupt'` cancels the running
|
|
89
|
+
* turn and runs the message next. `'block'` refuses the send (`composer.blockedBy === 'busy'`).
|
|
90
|
+
* A backend without `enqueueMessage` behaves as `'block'`. One send can answer differently:
|
|
91
|
+
* `composer.submit({ mode })`, `sendMessage(message, { mode })`.
|
|
92
|
+
*/
|
|
93
|
+
whileRunning?: WhileRunning;
|
|
94
|
+
/**
|
|
95
|
+
* Overrides for `chat.transcript` — anything `useChatTranscript` takes (`sources`, `editable` +
|
|
96
|
+
* `onEditSubmit`, `followUps`, `getUsage`, a `toolCatalog` of your own, `onApprove: null`, …).
|
|
97
|
+
* Yours win over the chat's own wiring.
|
|
98
|
+
*/
|
|
99
|
+
transcript?: Partial<Omit<UseChatTranscriptOptions, 'messages' | 'status'>>;
|
|
100
|
+
/** Read at every send to capture a page snapshot for the page-assistant. */
|
|
101
|
+
getPageContext?: () => Record<string, unknown> | null;
|
|
102
|
+
/** Fired after each streamed turn finishes (e.g. to refetch the sidebar). */
|
|
103
|
+
onFinish?: () => void;
|
|
104
|
+
/**
|
|
105
|
+
* Fired when this chat moves to a thread it created: the first send of a threadless chat (the
|
|
106
|
+
* backend created one), or `chat.fork(…)`. Carries the id so the host can sync its URL/router.
|
|
107
|
+
* The hook already remembers a created thread, so every later send reuses it even before the
|
|
108
|
+
* host navigates.
|
|
109
|
+
*/
|
|
110
|
+
onThreadCreated?: (threadId: string) => void;
|
|
111
|
+
/**
|
|
112
|
+
* Fired exactly once per run when its stream settles — normally (`'completed'`) or via a thrown
|
|
113
|
+
* failure / the backend's `event: error` frame (`'failed'`) — including a RESUMED stream's own
|
|
114
|
+
* completion. By the time this fires, the server has already derived and persisted the thread's
|
|
115
|
+
* title (and the run's terminal state).
|
|
116
|
+
*
|
|
117
|
+
* Skipped when the attempt never got far enough to learn a run id. A user-initiated `cancel()`
|
|
118
|
+
* reports `'completed'` (the server-side cancel records its own terminal state).
|
|
119
|
+
*/
|
|
120
|
+
onRunSettled?: (outcome: {
|
|
121
|
+
runId: string;
|
|
122
|
+
status: 'completed' | 'failed';
|
|
123
|
+
}) => void;
|
|
124
|
+
/**
|
|
125
|
+
* Every data part the stream delivers, as it arrives — including transient ones that are never
|
|
126
|
+
* stored on a message (`data-title`, `data-cancelled`). Pushed components arrive as `data-ui`,
|
|
127
|
+
* approval metadata as `data-approval-requested`, and a frame kind this version does not map as
|
|
128
|
+
* `data-<kind>`. See `AgentChatTransport` for the full mapping.
|
|
129
|
+
*/
|
|
130
|
+
onData?: (part: DataUIPart<UIDataTypes>) => void;
|
|
131
|
+
/** The server set or changed the thread's title while a turn streamed. */
|
|
132
|
+
onTitle?: (title: string) => void;
|
|
133
|
+
/**
|
|
134
|
+
* Track DETACHED sub-agents this conversation started: which are still working, and their answers
|
|
135
|
+
* as they land (see {@link ChatBackground}). Default `false`.
|
|
136
|
+
*/
|
|
137
|
+
background?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* How often to re-read the thread while a detached sub-agent is still working, in ms. Default
|
|
140
|
+
* 5000; `0` turns the interval off, leaving {@link ChatBackground.refresh} as the only trigger.
|
|
141
|
+
*/
|
|
142
|
+
backgroundPollMs?: number;
|
|
143
|
+
}
|
|
144
|
+
/** Sub-agents this conversation started and did not wait for. See {@link BackgroundRun}. */
|
|
145
|
+
export interface ChatBackground {
|
|
146
|
+
runs: BackgroundRun[];
|
|
147
|
+
/** True while any of them is still working — what a "2 agents running" affordance reads. */
|
|
148
|
+
isWorking: boolean;
|
|
149
|
+
/** Re-read the thread now, instead of waiting for the next poll. */
|
|
150
|
+
refresh: () => Promise<void>;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* The chat's model picker state. Loaded the first time `list`/`providers`/`defaultModel`/`locked`
|
|
154
|
+
* is read.
|
|
155
|
+
*
|
|
156
|
+
* Two different choices: `select(id)` picks the model this chat's following sends name — each send
|
|
157
|
+
* carries it as `model`, which the server applies to that turn only and never stores; the pick is
|
|
158
|
+
* this conversation's, so switching threads drops it. `pinToThread(id)` stores a model on the
|
|
159
|
+
* thread (`PATCH threads/:id { model }`), which every later turn without a `model` of its own runs
|
|
160
|
+
* on, across reloads and devices.
|
|
161
|
+
*/
|
|
162
|
+
export interface ChatModels {
|
|
163
|
+
/** Every model the caller may pick, flattened (`[]` until loaded). */
|
|
164
|
+
readonly list: ModelOption[];
|
|
165
|
+
/** The same, grouped by provider. */
|
|
166
|
+
readonly providers: ModelsState['providers'];
|
|
167
|
+
/**
|
|
168
|
+
* What the next turn runs on: the lock, the `model` option, the pick, the thread's pin, else the
|
|
169
|
+
* default.
|
|
170
|
+
*/
|
|
171
|
+
selected: string | null;
|
|
172
|
+
/** The model pinned on the thread (`null` when none, or before the thread is read). */
|
|
173
|
+
pinned: string | null;
|
|
174
|
+
/** The catalog's default — what a turn runs on when nothing is picked or pinned (`null` until loaded). */
|
|
175
|
+
readonly defaultModel: string | null;
|
|
176
|
+
/**
|
|
177
|
+
* The agent always runs on one model (`{ model, reason? }`), or `null`. While locked, `select`
|
|
178
|
+
* does nothing and `selected` is the locked model.
|
|
179
|
+
*/
|
|
180
|
+
readonly locked: ModelsState['locked'];
|
|
181
|
+
/** Run this chat's following sends on `id` — each send's `model`, that turn only. */
|
|
182
|
+
select: (id: string) => void;
|
|
183
|
+
/**
|
|
184
|
+
* Pin `id` on the thread (`null` unpins) — every later turn without its own `model` runs on it,
|
|
185
|
+
* across reloads. Replaces the pick, so the next send runs on the pin. On a chat with no thread
|
|
186
|
+
* yet, the pin lands when the first send creates one.
|
|
187
|
+
*/
|
|
188
|
+
pinToThread: (id: string | null) => Promise<void>;
|
|
189
|
+
isLoading: boolean;
|
|
190
|
+
error: Error | null;
|
|
191
|
+
}
|
|
192
|
+
/** Why the composer cannot send right now. */
|
|
193
|
+
export type ComposerBlock = 'empty' | 'busy' | 'uploading' | 'quota';
|
|
194
|
+
/** A headless composer: the draft, its files, and whether (and why not) it can send. */
|
|
195
|
+
export interface ChatComposer {
|
|
196
|
+
text: string;
|
|
197
|
+
setText: (text: string) => void;
|
|
198
|
+
/** The staged attachments — `useAttachments` state on the chat's backend. */
|
|
199
|
+
files: AttachmentsState;
|
|
200
|
+
canSend: boolean;
|
|
201
|
+
/** Why `canSend` is false, or `null`. */
|
|
202
|
+
blockedBy: ComposerBlock | null;
|
|
203
|
+
/**
|
|
204
|
+
* Send the draft with the ready files attached, then clear both. A no-op while blocked.
|
|
205
|
+
*
|
|
206
|
+
* `submit({ mode })` says what to do if a turn is running, for this send only — `'interrupt'`
|
|
207
|
+
* for a "send now" button next to a plain send that queues. It overrides `whileRunning`
|
|
208
|
+
* (`'block'` included) and clears the draft like any other submit.
|
|
209
|
+
*/
|
|
210
|
+
submit: (options?: SendWhileRunning) => Promise<void>;
|
|
211
|
+
}
|
|
212
|
+
interface AddToolResultArgs {
|
|
213
|
+
tool: string;
|
|
214
|
+
toolCallId: string;
|
|
215
|
+
output: unknown;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* The agent chat, wired: the AI SDK v7 `useChat` over `AgentChatTransport`, a thread's history
|
|
219
|
+
* loaded and a streaming turn re-attached on its own, a quota send gate, a model picker, a headless
|
|
220
|
+
* composer with attachments, and a transcript whose approve/reject/answer/skip/stop/fork/regenerate
|
|
221
|
+
* are already bound. Every piece is also a hook of its own (`useChatTranscript`, `useAttachments`,
|
|
222
|
+
* `useModels`, `useQuota`, `useThreads`) for a host that wants to wire it differently.
|
|
223
|
+
*/
|
|
224
|
+
export declare function useAgentChat<B extends AgentBackend = AgentBackend>(options?: UseAgentChatOptions<B>): {
|
|
225
|
+
messages: UIMessage<unknown, UIDataTypes, import("ai").UITools>[];
|
|
226
|
+
resumeStream: (options?: import("ai").ChatRequestOptions) => Promise<void>;
|
|
227
|
+
clearError: () => void;
|
|
228
|
+
addToolApprovalResponse: import("ai").ChatAddToolApproveResponseFunction;
|
|
229
|
+
addToolOutput: import("ai").ChatAddToolOutputFunction<UIMessage<unknown, UIDataTypes, import("ai").UITools>>;
|
|
230
|
+
stop: () => Promise<void>;
|
|
231
|
+
id: string;
|
|
232
|
+
setMessages: (messages: UIMessage<unknown, UIDataTypes, import("ai").UITools>[] | ((messages: UIMessage<unknown, UIDataTypes, import("ai").UITools>[]) => UIMessage<unknown, UIDataTypes, import("ai").UITools>[])) => void;
|
|
233
|
+
error: Error | undefined;
|
|
234
|
+
status: ChatStatus;
|
|
235
|
+
/** Where the live stream stands — see {@link StreamConnectionState}. */
|
|
236
|
+
connection: StreamConnectionState;
|
|
237
|
+
sendMessage: (message?: Parameters<(message?: {
|
|
238
|
+
text: string;
|
|
239
|
+
files?: FileList | import("ai").FileUIPart[];
|
|
240
|
+
metadata?: unknown;
|
|
241
|
+
parts?: never;
|
|
242
|
+
messageId?: string;
|
|
243
|
+
} | {
|
|
244
|
+
files: FileList | import("ai").FileUIPart[];
|
|
245
|
+
metadata?: unknown;
|
|
246
|
+
parts?: never;
|
|
247
|
+
messageId?: string;
|
|
248
|
+
} | (Omit<UIMessage<unknown, UIDataTypes, import("ai").UITools>, "id" | "role"> & {
|
|
249
|
+
id?: string;
|
|
250
|
+
role?: "assistant" | "system" | "user";
|
|
251
|
+
} & {
|
|
252
|
+
text?: never;
|
|
253
|
+
files?: never;
|
|
254
|
+
messageId?: string;
|
|
255
|
+
}) | undefined, options?: import("ai").ChatRequestOptions) => Promise<void>>[0], options?: Parameters<(message?: {
|
|
256
|
+
text: string;
|
|
257
|
+
files?: FileList | import("ai").FileUIPart[];
|
|
258
|
+
metadata?: unknown;
|
|
259
|
+
parts?: never;
|
|
260
|
+
messageId?: string;
|
|
261
|
+
} | {
|
|
262
|
+
files: FileList | import("ai").FileUIPart[];
|
|
263
|
+
metadata?: unknown;
|
|
264
|
+
parts?: never;
|
|
265
|
+
messageId?: string;
|
|
266
|
+
} | (Omit<UIMessage<unknown, UIDataTypes, import("ai").UITools>, "id" | "role"> & {
|
|
267
|
+
id?: string;
|
|
268
|
+
role?: "assistant" | "system" | "user";
|
|
269
|
+
} & {
|
|
270
|
+
text?: never;
|
|
271
|
+
files?: never;
|
|
272
|
+
messageId?: string;
|
|
273
|
+
}) | undefined, options?: import("ai").ChatRequestOptions) => Promise<void>>[1] & SendWhileRunning) => Promise<void>;
|
|
274
|
+
addToolResult: ({ tool, toolCallId, output }: AddToolResultArgs) => void | PromiseLike<void>;
|
|
275
|
+
/** Sub-agents this conversation started and did not wait for. */
|
|
276
|
+
background: ChatBackground;
|
|
277
|
+
proposals: import("./approvals/use-action-proposals.js").ActionProposalsState;
|
|
278
|
+
runId: string | undefined;
|
|
279
|
+
/** The loaded thread's running turn, or `null` once read with none. */
|
|
280
|
+
activeRunId: string | null;
|
|
281
|
+
/** The thread's history is being read. */
|
|
282
|
+
isLoadingHistory: boolean;
|
|
283
|
+
/** Reading the thread's history failed. */
|
|
284
|
+
historyError: Error | null;
|
|
285
|
+
/**
|
|
286
|
+
* How the last run's stream said it failed — the `event: error` frame's `code` and `message` —
|
|
287
|
+
* or `null`. Cleared when the next attempt starts and when the chat moves to another thread.
|
|
288
|
+
* `chat.error` still carries the message; this is where the `code` is, so the app can word each
|
|
289
|
+
* failure itself (`replay_diverged`, `model_no_output`, `run_failed`, `quota_exceeded`, …).
|
|
290
|
+
*/
|
|
291
|
+
runError: AgentRunFailure | null;
|
|
292
|
+
/**
|
|
293
|
+
* The thread this chat is on right now: the `threadId` option, else the one the backend created
|
|
294
|
+
* on the first send. A getter, because the created id is learned mid-stream.
|
|
295
|
+
*/
|
|
296
|
+
getThreadId: () => string | undefined;
|
|
297
|
+
/** The backend this chat talks to — the same one every other hook under the provider uses. */
|
|
298
|
+
backend: B;
|
|
299
|
+
/** The transcript model, with every action already bound to this chat. */
|
|
300
|
+
transcript: ChatTranscript;
|
|
301
|
+
/** A headless composer: draft, files, send gate, `submit()`. */
|
|
302
|
+
composer: ChatComposer;
|
|
303
|
+
/**
|
|
304
|
+
* Messages sent while a turn was running, waiting their turn (server-side): list, edit, move,
|
|
305
|
+
* remove, clear, and resume a paused queue.
|
|
306
|
+
*/
|
|
307
|
+
queue: ChatQueue;
|
|
308
|
+
/** The model picker: `list`, `selected`, `select(id)`, `pinToThread(id)`. */
|
|
309
|
+
models: ChatModels;
|
|
310
|
+
/**
|
|
311
|
+
* The persona pinned on this thread (`ThreadSummary.persona`), or `null` when none is — what a
|
|
312
|
+
* persona picker on a reopened thread starts from (`?? agent.defaultPersona`).
|
|
313
|
+
*/
|
|
314
|
+
threadPersona: string | null;
|
|
315
|
+
/** The caller's budget (`GET <base>/quota`); `quota.blocked` gates sends. */
|
|
316
|
+
quota: QuotaState;
|
|
317
|
+
/** The window blocking sends right now (the `blocked` option, else the quota report's). */
|
|
318
|
+
blocked: QuotaBlock | null;
|
|
319
|
+
cancel: () => Promise<void>;
|
|
320
|
+
approve: ({ toolCallId, target, remember, via }: ApproveInput) => Promise<void>;
|
|
321
|
+
reject: ({ toolCallId, target, reason, via }: RejectInput) => Promise<void>;
|
|
322
|
+
answer: ({ toolCallId, answers, via }: AnswerInput) => Promise<void>;
|
|
323
|
+
skip: ({ toolCallId, via }: SkipInput) => Promise<void>;
|
|
324
|
+
regenerate: (_input?: Partial<MessageActionInput>) => void;
|
|
325
|
+
fork: ({ messageId, threadId, }: MessageActionInput & {
|
|
326
|
+
threadId?: string;
|
|
327
|
+
}) => Promise<ThreadSummary>;
|
|
328
|
+
truncateFrom: ({ messageId, threadId }: MessageActionInput & {
|
|
329
|
+
threadId?: string;
|
|
330
|
+
}) => Promise<void>;
|
|
331
|
+
promote: ({ threadId }?: {
|
|
332
|
+
threadId?: string;
|
|
333
|
+
}) => Promise<void>;
|
|
334
|
+
};
|
|
335
|
+
/** A send refused on the client because a quota window is exhausted. */
|
|
336
|
+
export declare class QuotaBlockedError extends Error {
|
|
337
|
+
readonly block: QuotaBlock;
|
|
338
|
+
constructor(block: QuotaBlock);
|
|
339
|
+
}
|
|
340
|
+
export {};
|
|
341
|
+
//# sourceMappingURL=use-agent-chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-agent-chat.d.ts","sourceRoot":"","sources":["../../../../src/react/core/use-agent-chat.ts"],"names":[],"mappings":"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"}
|