@langchain/langgraph-sdk 1.8.9 → 1.9.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/README.md +90 -43
- package/dist/client/assistants/index.cjs +180 -0
- package/dist/client/assistants/index.cjs.map +1 -0
- package/dist/client/assistants/index.d.cts +155 -0
- package/dist/client/assistants/index.d.cts.map +1 -0
- package/dist/client/assistants/index.d.ts +155 -0
- package/dist/client/assistants/index.d.ts.map +1 -0
- package/dist/client/assistants/index.js +180 -0
- package/dist/client/assistants/index.js.map +1 -0
- package/dist/client/base.cjs +190 -0
- package/dist/client/base.cjs.map +1 -0
- package/dist/client/base.d.cts +84 -0
- package/dist/client/base.d.cts.map +1 -0
- package/dist/client/base.d.ts +84 -0
- package/dist/client/base.d.ts.map +1 -0
- package/dist/client/base.js +188 -0
- package/dist/client/base.js.map +1 -0
- package/dist/client/crons/index.cjs +159 -0
- package/dist/client/crons/index.cjs.map +1 -0
- package/dist/client/crons/index.d.cts +71 -0
- package/dist/client/crons/index.d.cts.map +1 -0
- package/dist/client/crons/index.d.ts +71 -0
- package/dist/client/crons/index.d.ts.map +1 -0
- package/dist/client/crons/index.js +159 -0
- package/dist/client/crons/index.js.map +1 -0
- package/dist/client/index.cjs +84 -0
- package/dist/client/index.cjs.map +1 -0
- package/dist/client/index.d.cts +63 -0
- package/dist/client/index.d.cts.map +1 -0
- package/dist/client/index.d.ts +63 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +83 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/runs/index.cjs +275 -0
- package/dist/client/runs/index.cjs.map +1 -0
- package/dist/client/runs/index.d.cts +123 -0
- package/dist/client/runs/index.d.cts.map +1 -0
- package/dist/client/runs/index.d.ts +123 -0
- package/dist/client/runs/index.d.ts.map +1 -0
- package/dist/client/runs/index.js +275 -0
- package/dist/client/runs/index.js.map +1 -0
- package/dist/client/store/index.cjs +128 -0
- package/dist/client/store/index.cjs.map +1 -0
- package/dist/client/store/index.d.cts +75 -0
- package/dist/client/store/index.d.cts.map +1 -0
- package/dist/client/store/index.d.ts +75 -0
- package/dist/client/store/index.d.ts.map +1 -0
- package/dist/client/store/index.js +128 -0
- package/dist/client/store/index.js.map +1 -0
- package/dist/client/stream/error.cjs +18 -0
- package/dist/client/stream/error.cjs.map +1 -0
- package/dist/client/stream/error.d.cts +14 -0
- package/dist/client/stream/error.d.cts.map +1 -0
- package/dist/client/stream/error.d.ts +14 -0
- package/dist/client/stream/error.d.ts.map +1 -0
- package/dist/client/stream/error.js +18 -0
- package/dist/client/stream/error.js.map +1 -0
- package/dist/client/stream/handles/index.cjs +3 -0
- package/dist/client/stream/handles/index.d.ts +3 -0
- package/dist/client/stream/handles/index.js +4 -0
- package/dist/client/stream/handles/subagents.cjs +263 -0
- package/dist/client/stream/handles/subagents.cjs.map +1 -0
- package/dist/client/stream/handles/subagents.d.cts +45 -0
- package/dist/client/stream/handles/subagents.d.cts.map +1 -0
- package/dist/client/stream/handles/subagents.d.ts +45 -0
- package/dist/client/stream/handles/subagents.d.ts.map +1 -0
- package/dist/client/stream/handles/subagents.js +262 -0
- package/dist/client/stream/handles/subagents.js.map +1 -0
- package/dist/client/stream/handles/subgraphs.cjs +352 -0
- package/dist/client/stream/handles/subgraphs.cjs.map +1 -0
- package/dist/client/stream/handles/subgraphs.d.cts +82 -0
- package/dist/client/stream/handles/subgraphs.d.cts.map +1 -0
- package/dist/client/stream/handles/subgraphs.d.ts +82 -0
- package/dist/client/stream/handles/subgraphs.d.ts.map +1 -0
- package/dist/client/stream/handles/subgraphs.js +351 -0
- package/dist/client/stream/handles/subgraphs.js.map +1 -0
- package/dist/client/stream/handles/tools.cjs +92 -0
- package/dist/client/stream/handles/tools.cjs.map +1 -0
- package/dist/client/stream/handles/tools.d.cts +26 -0
- package/dist/client/stream/handles/tools.d.cts.map +1 -0
- package/dist/client/stream/handles/tools.d.ts +26 -0
- package/dist/client/stream/handles/tools.d.ts.map +1 -0
- package/dist/client/stream/handles/tools.js +92 -0
- package/dist/client/stream/handles/tools.js.map +1 -0
- package/dist/client/stream/index.cjs +1368 -0
- package/dist/client/stream/index.cjs.map +1 -0
- package/dist/client/stream/index.d.cts +238 -0
- package/dist/client/stream/index.d.cts.map +1 -0
- package/dist/client/stream/index.d.ts +238 -0
- package/dist/client/stream/index.d.ts.map +1 -0
- package/dist/client/stream/index.js +1367 -0
- package/dist/client/stream/index.js.map +1 -0
- package/dist/client/stream/media.cjs +506 -0
- package/dist/client/stream/media.cjs.map +1 -0
- package/dist/client/stream/media.d.cts +164 -0
- package/dist/client/stream/media.d.cts.map +1 -0
- package/dist/client/stream/media.d.ts +164 -0
- package/dist/client/stream/media.d.ts.map +1 -0
- package/dist/client/stream/media.js +505 -0
- package/dist/client/stream/media.js.map +1 -0
- package/dist/client/stream/messages.cjs +635 -0
- package/dist/client/stream/messages.cjs.map +1 -0
- package/dist/client/stream/messages.d.cts +139 -0
- package/dist/client/stream/messages.d.cts.map +1 -0
- package/dist/client/stream/messages.d.ts +139 -0
- package/dist/client/stream/messages.d.ts.map +1 -0
- package/dist/client/stream/messages.js +631 -0
- package/dist/client/stream/messages.js.map +1 -0
- package/dist/client/stream/multi-cursor-buffer.cjs +55 -0
- package/dist/client/stream/multi-cursor-buffer.cjs.map +1 -0
- package/dist/client/stream/multi-cursor-buffer.js +55 -0
- package/dist/client/stream/multi-cursor-buffer.js.map +1 -0
- package/dist/client/stream/subscription.cjs +85 -0
- package/dist/client/stream/subscription.cjs.map +1 -0
- package/dist/client/stream/subscription.d.cts +22 -0
- package/dist/client/stream/subscription.d.cts.map +1 -0
- package/dist/client/stream/subscription.d.ts +22 -0
- package/dist/client/stream/subscription.d.ts.map +1 -0
- package/dist/client/stream/subscription.js +84 -0
- package/dist/client/stream/subscription.js.map +1 -0
- package/dist/client/stream/transport/agent-server.cjs +45 -0
- package/dist/client/stream/transport/agent-server.cjs.map +1 -0
- package/dist/client/stream/transport/agent-server.d.cts +39 -0
- package/dist/client/stream/transport/agent-server.d.cts.map +1 -0
- package/dist/client/stream/transport/agent-server.d.ts +39 -0
- package/dist/client/stream/transport/agent-server.d.ts.map +1 -0
- package/dist/client/stream/transport/agent-server.js +45 -0
- package/dist/client/stream/transport/agent-server.js.map +1 -0
- package/dist/client/stream/transport/constants.cjs +10 -0
- package/dist/client/stream/transport/constants.cjs.map +1 -0
- package/dist/client/stream/transport/constants.js +10 -0
- package/dist/client/stream/transport/constants.js.map +1 -0
- package/dist/client/stream/transport/decoder.cjs +115 -0
- package/dist/client/stream/transport/decoder.cjs.map +1 -0
- package/dist/client/stream/transport/decoder.js +114 -0
- package/dist/client/stream/transport/decoder.js.map +1 -0
- package/dist/client/stream/transport/http.cjs +183 -0
- package/dist/client/stream/transport/http.cjs.map +1 -0
- package/dist/client/stream/transport/http.d.cts +45 -0
- package/dist/client/stream/transport/http.d.cts.map +1 -0
- package/dist/client/stream/transport/http.d.ts +45 -0
- package/dist/client/stream/transport/http.d.ts.map +1 -0
- package/dist/client/stream/transport/http.js +183 -0
- package/dist/client/stream/transport/http.js.map +1 -0
- package/dist/client/stream/transport/index.cjs +3 -0
- package/dist/client/stream/transport/index.js +4 -0
- package/dist/client/stream/transport/queue.cjs +55 -0
- package/dist/client/stream/transport/queue.cjs.map +1 -0
- package/dist/client/stream/transport/queue.js +55 -0
- package/dist/client/stream/transport/queue.js.map +1 -0
- package/dist/client/stream/transport/stream.cjs +79 -0
- package/dist/client/stream/transport/stream.cjs.map +1 -0
- package/dist/client/stream/transport/stream.js +79 -0
- package/dist/client/stream/transport/stream.js.map +1 -0
- package/dist/client/stream/transport/types.d.cts +29 -0
- package/dist/client/stream/transport/types.d.cts.map +1 -0
- package/dist/client/stream/transport/types.d.ts +29 -0
- package/dist/client/stream/transport/types.d.ts.map +1 -0
- package/dist/client/stream/transport/utils.cjs +45 -0
- package/dist/client/stream/transport/utils.cjs.map +1 -0
- package/dist/client/stream/transport/utils.js +39 -0
- package/dist/client/stream/transport/utils.js.map +1 -0
- package/dist/client/stream/transport/websocket.cjs +155 -0
- package/dist/client/stream/transport/websocket.cjs.map +1 -0
- package/dist/client/stream/transport/websocket.d.cts +36 -0
- package/dist/client/stream/transport/websocket.d.cts.map +1 -0
- package/dist/client/stream/transport/websocket.d.ts +36 -0
- package/dist/client/stream/transport/websocket.d.ts.map +1 -0
- package/dist/client/stream/transport/websocket.js +155 -0
- package/dist/client/stream/transport/websocket.js.map +1 -0
- package/dist/client/stream/transport.d.cts +104 -0
- package/dist/client/stream/transport.d.cts.map +1 -0
- package/dist/client/stream/transport.d.ts +104 -0
- package/dist/client/stream/transport.d.ts.map +1 -0
- package/dist/client/stream/types.d.cts +208 -0
- package/dist/client/stream/types.d.cts.map +1 -0
- package/dist/client/stream/types.d.ts +208 -0
- package/dist/client/stream/types.d.ts.map +1 -0
- package/dist/client/threads/index.cjs +271 -0
- package/dist/client/threads/index.cjs.map +1 -0
- package/dist/client/threads/index.d.cts +235 -0
- package/dist/client/threads/index.d.cts.map +1 -0
- package/dist/client/threads/index.d.ts +235 -0
- package/dist/client/threads/index.d.ts.map +1 -0
- package/dist/client/threads/index.js +270 -0
- package/dist/client/threads/index.js.map +1 -0
- package/dist/client/ui-internal/index.cjs +29 -0
- package/dist/client/ui-internal/index.cjs.map +1 -0
- package/dist/client/ui-internal/index.d.cts +11 -0
- package/dist/client/ui-internal/index.d.cts.map +1 -0
- package/dist/client/ui-internal/index.d.ts +11 -0
- package/dist/client/ui-internal/index.d.ts.map +1 -0
- package/dist/client/ui-internal/index.js +29 -0
- package/dist/client/ui-internal/index.js.map +1 -0
- package/dist/client.cjs +35 -1308
- package/dist/client.d.cts +19 -857
- package/dist/client.d.ts +19 -857
- package/dist/client.js +16 -1301
- package/dist/index.cjs +25 -4
- package/dist/index.d.cts +15 -3
- package/dist/index.d.ts +15 -3
- package/dist/index.js +14 -3
- package/dist/react/stream.cjs.map +1 -1
- package/dist/react/stream.custom.cjs +1 -1
- package/dist/react/stream.custom.js +1 -1
- package/dist/react/stream.d.cts +2 -1
- package/dist/react/stream.d.cts.map +1 -1
- package/dist/react/stream.d.ts +2 -1
- package/dist/react/stream.d.ts.map +1 -1
- package/dist/react/stream.js.map +1 -1
- package/dist/react/stream.lgp.cjs +8 -6
- package/dist/react/stream.lgp.cjs.map +1 -1
- package/dist/react/stream.lgp.js +6 -4
- package/dist/react/stream.lgp.js.map +1 -1
- package/dist/react/types.d.cts +1 -1
- package/dist/react/types.d.ts +1 -1
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react-ui/server/server.cjs +1 -1
- package/dist/react-ui/server/server.cjs.map +1 -1
- package/dist/react-ui/server/server.js +1 -1
- package/dist/react-ui/server/server.js.map +1 -1
- package/dist/react-ui/types.cjs.map +1 -1
- package/dist/react-ui/types.d.cts +1 -1
- package/dist/react-ui/types.d.cts.map +1 -1
- package/dist/react-ui/types.d.ts +1 -1
- package/dist/react-ui/types.d.ts.map +1 -1
- package/dist/react-ui/types.js.map +1 -1
- package/dist/stream/assembled-to-message.cjs +121 -0
- package/dist/stream/assembled-to-message.cjs.map +1 -0
- package/dist/stream/assembled-to-message.d.cts +35 -0
- package/dist/stream/assembled-to-message.d.cts.map +1 -0
- package/dist/stream/assembled-to-message.d.ts +35 -0
- package/dist/stream/assembled-to-message.d.ts.map +1 -0
- package/dist/stream/assembled-to-message.js +119 -0
- package/dist/stream/assembled-to-message.js.map +1 -0
- package/dist/stream/channel-registry.cjs +224 -0
- package/dist/stream/channel-registry.cjs.map +1 -0
- package/dist/stream/channel-registry.d.cts +102 -0
- package/dist/stream/channel-registry.d.cts.map +1 -0
- package/dist/stream/channel-registry.d.ts +102 -0
- package/dist/stream/channel-registry.d.ts.map +1 -0
- package/dist/stream/channel-registry.js +224 -0
- package/dist/stream/channel-registry.js.map +1 -0
- package/dist/stream/constants.cjs +11 -0
- package/dist/stream/constants.cjs.map +1 -0
- package/dist/stream/constants.d.cts +10 -0
- package/dist/stream/constants.d.cts.map +1 -0
- package/dist/stream/constants.d.ts +10 -0
- package/dist/stream/constants.d.ts.map +1 -0
- package/dist/stream/constants.js +11 -0
- package/dist/stream/constants.js.map +1 -0
- package/dist/stream/controller.cjs +933 -0
- package/dist/stream/controller.cjs.map +1 -0
- package/dist/stream/controller.d.cts +135 -0
- package/dist/stream/controller.d.cts.map +1 -0
- package/dist/stream/controller.d.ts +135 -0
- package/dist/stream/controller.d.ts.map +1 -0
- package/dist/stream/controller.js +910 -0
- package/dist/stream/controller.js.map +1 -0
- package/dist/stream/discovery/index.d.ts +2 -0
- package/dist/stream/discovery/subagents.cjs +235 -0
- package/dist/stream/discovery/subagents.cjs.map +1 -0
- package/dist/stream/discovery/subagents.d.cts +18 -0
- package/dist/stream/discovery/subagents.d.cts.map +1 -0
- package/dist/stream/discovery/subagents.d.ts +18 -0
- package/dist/stream/discovery/subagents.d.ts.map +1 -0
- package/dist/stream/discovery/subagents.js +235 -0
- package/dist/stream/discovery/subagents.js.map +1 -0
- package/dist/stream/discovery/subgraphs.cjs +153 -0
- package/dist/stream/discovery/subgraphs.cjs.map +1 -0
- package/dist/stream/discovery/subgraphs.d.cts +19 -0
- package/dist/stream/discovery/subgraphs.d.cts.map +1 -0
- package/dist/stream/discovery/subgraphs.d.ts +19 -0
- package/dist/stream/discovery/subgraphs.d.ts.map +1 -0
- package/dist/stream/discovery/subgraphs.js +153 -0
- package/dist/stream/discovery/subgraphs.js.map +1 -0
- package/dist/stream/index.cjs +36 -0
- package/dist/stream/index.d.cts +25 -0
- package/dist/stream/index.d.ts +25 -0
- package/dist/stream/index.js +16 -0
- package/dist/stream/lifecycle-loading-tracker.cjs +83 -0
- package/dist/stream/lifecycle-loading-tracker.cjs.map +1 -0
- package/dist/stream/lifecycle-loading-tracker.js +83 -0
- package/dist/stream/lifecycle-loading-tracker.js.map +1 -0
- package/dist/stream/message-metadata-tracker.cjs +165 -0
- package/dist/stream/message-metadata-tracker.cjs.map +1 -0
- package/dist/stream/message-metadata-tracker.d.cts +24 -0
- package/dist/stream/message-metadata-tracker.d.cts.map +1 -0
- package/dist/stream/message-metadata-tracker.d.ts +24 -0
- package/dist/stream/message-metadata-tracker.d.ts.map +1 -0
- package/dist/stream/message-metadata-tracker.js +165 -0
- package/dist/stream/message-metadata-tracker.js.map +1 -0
- package/dist/stream/message-reconciliation.cjs +118 -0
- package/dist/stream/message-reconciliation.cjs.map +1 -0
- package/dist/stream/message-reconciliation.js +115 -0
- package/dist/stream/message-reconciliation.js.map +1 -0
- package/dist/stream/namespace.cjs +54 -0
- package/dist/stream/namespace.cjs.map +1 -0
- package/dist/stream/namespace.js +49 -0
- package/dist/stream/namespace.js.map +1 -0
- package/dist/stream/projections/channel.cjs +53 -0
- package/dist/stream/projections/channel.cjs.map +1 -0
- package/dist/stream/projections/channel.d.cts +22 -0
- package/dist/stream/projections/channel.d.cts.map +1 -0
- package/dist/stream/projections/channel.d.ts +22 -0
- package/dist/stream/projections/channel.d.ts.map +1 -0
- package/dist/stream/projections/channel.js +53 -0
- package/dist/stream/projections/channel.js.map +1 -0
- package/dist/stream/projections/extension.cjs +29 -0
- package/dist/stream/projections/extension.cjs.map +1 -0
- package/dist/stream/projections/extension.d.cts +7 -0
- package/dist/stream/projections/extension.d.cts.map +1 -0
- package/dist/stream/projections/extension.d.ts +7 -0
- package/dist/stream/projections/extension.d.ts.map +1 -0
- package/dist/stream/projections/extension.js +29 -0
- package/dist/stream/projections/extension.js.map +1 -0
- package/dist/stream/projections/index.cjs +6 -0
- package/dist/stream/projections/index.d.ts +6 -0
- package/dist/stream/projections/index.js +7 -0
- package/dist/stream/projections/media.cjs +81 -0
- package/dist/stream/projections/media.cjs.map +1 -0
- package/dist/stream/projections/media.d.cts +18 -0
- package/dist/stream/projections/media.d.cts.map +1 -0
- package/dist/stream/projections/media.d.ts +18 -0
- package/dist/stream/projections/media.d.ts.map +1 -0
- package/dist/stream/projections/media.js +78 -0
- package/dist/stream/projections/media.js.map +1 -0
- package/dist/stream/projections/messages.cjs +121 -0
- package/dist/stream/projections/messages.cjs.map +1 -0
- package/dist/stream/projections/messages.d.cts +8 -0
- package/dist/stream/projections/messages.d.cts.map +1 -0
- package/dist/stream/projections/messages.d.ts +8 -0
- package/dist/stream/projections/messages.d.ts.map +1 -0
- package/dist/stream/projections/messages.js +121 -0
- package/dist/stream/projections/messages.js.map +1 -0
- package/dist/stream/projections/runtime.cjs +44 -0
- package/dist/stream/projections/runtime.cjs.map +1 -0
- package/dist/stream/projections/runtime.js +44 -0
- package/dist/stream/projections/runtime.js.map +1 -0
- package/dist/stream/projections/tool-calls.cjs +50 -0
- package/dist/stream/projections/tool-calls.cjs.map +1 -0
- package/dist/stream/projections/tool-calls.d.cts +8 -0
- package/dist/stream/projections/tool-calls.d.cts.map +1 -0
- package/dist/stream/projections/tool-calls.d.ts +8 -0
- package/dist/stream/projections/tool-calls.d.ts.map +1 -0
- package/dist/stream/projections/tool-calls.js +50 -0
- package/dist/stream/projections/tool-calls.js.map +1 -0
- package/dist/stream/projections/values.cjs +52 -0
- package/dist/stream/projections/values.cjs.map +1 -0
- package/dist/stream/projections/values.d.cts +7 -0
- package/dist/stream/projections/values.d.cts.map +1 -0
- package/dist/stream/projections/values.d.ts +6 -0
- package/dist/stream/projections/values.d.ts.map +1 -0
- package/dist/stream/projections/values.js +52 -0
- package/dist/stream/projections/values.js.map +1 -0
- package/dist/stream/root-message-projection.cjs +256 -0
- package/dist/stream/root-message-projection.cjs.map +1 -0
- package/dist/stream/root-message-projection.js +256 -0
- package/dist/stream/root-message-projection.js.map +1 -0
- package/dist/stream/store.cjs +32 -0
- package/dist/stream/store.cjs.map +1 -0
- package/dist/stream/store.d.cts +37 -0
- package/dist/stream/store.d.cts.map +1 -0
- package/dist/stream/store.d.ts +37 -0
- package/dist/stream/store.d.ts.map +1 -0
- package/dist/stream/store.js +32 -0
- package/dist/stream/store.js.map +1 -0
- package/dist/stream/submit-coordinator.cjs +399 -0
- package/dist/stream/submit-coordinator.cjs.map +1 -0
- package/dist/stream/submit-coordinator.d.cts +27 -0
- package/dist/stream/submit-coordinator.d.cts.map +1 -0
- package/dist/stream/submit-coordinator.d.ts +27 -0
- package/dist/stream/submit-coordinator.d.ts.map +1 -0
- package/dist/stream/submit-coordinator.js +397 -0
- package/dist/stream/submit-coordinator.js.map +1 -0
- package/dist/stream/tool-calls.cjs +15 -0
- package/dist/stream/tool-calls.cjs.map +1 -0
- package/dist/stream/tool-calls.js +15 -0
- package/dist/stream/tool-calls.js.map +1 -0
- package/dist/stream/types-inference.d.cts +43 -0
- package/dist/stream/types-inference.d.cts.map +1 -0
- package/dist/stream/types-inference.d.ts +43 -0
- package/dist/stream/types-inference.d.ts.map +1 -0
- package/dist/stream/types.d.cts +354 -0
- package/dist/stream/types.d.cts.map +1 -0
- package/dist/stream/types.d.ts +354 -0
- package/dist/stream/types.d.ts.map +1 -0
- package/dist/types.d.cts +2 -1
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/index.cjs +1 -1
- package/dist/ui/index.d.cts +3 -3
- package/dist/ui/index.d.ts +3 -3
- package/dist/ui/index.js +1 -1
- package/dist/ui/manager.cjs +2 -2
- package/dist/ui/manager.cjs.map +1 -1
- package/dist/ui/manager.d.cts +1 -0
- package/dist/ui/manager.d.cts.map +1 -1
- package/dist/ui/manager.d.ts +1 -0
- package/dist/ui/manager.d.ts.map +1 -1
- package/dist/ui/manager.js +2 -2
- package/dist/ui/manager.js.map +1 -1
- package/dist/ui/messages.cjs +50 -7
- package/dist/ui/messages.cjs.map +1 -1
- package/dist/ui/messages.d.cts.map +1 -1
- package/dist/ui/messages.d.ts.map +1 -1
- package/dist/ui/messages.js +51 -9
- package/dist/ui/messages.js.map +1 -1
- package/dist/ui/orchestrator-custom.cjs +1 -1
- package/dist/ui/orchestrator-custom.js +1 -1
- package/dist/ui/orchestrator.cjs +4 -3
- package/dist/ui/orchestrator.cjs.map +1 -1
- package/dist/ui/orchestrator.d.cts +1 -1
- package/dist/ui/orchestrator.d.cts.map +1 -1
- package/dist/ui/orchestrator.d.ts +1 -1
- package/dist/ui/orchestrator.d.ts.map +1 -1
- package/dist/ui/orchestrator.js +4 -3
- package/dist/ui/orchestrator.js.map +1 -1
- package/dist/ui/stream/agent.d.cts +1 -1
- package/dist/ui/stream/agent.d.cts.map +1 -1
- package/dist/ui/stream/agent.d.ts +1 -1
- package/dist/ui/stream/agent.d.ts.map +1 -1
- package/dist/ui/stream/base.d.cts +7 -6
- package/dist/ui/stream/base.d.cts.map +1 -1
- package/dist/ui/stream/base.d.ts +7 -6
- package/dist/ui/stream/base.d.ts.map +1 -1
- package/dist/ui/stream/deep-agent.d.cts +1 -1
- package/dist/ui/stream/deep-agent.d.cts.map +1 -1
- package/dist/ui/stream/deep-agent.d.ts +1 -1
- package/dist/ui/stream/deep-agent.d.ts.map +1 -1
- package/dist/ui/stream/index.d.cts +4 -4
- package/dist/ui/stream/index.d.cts.map +1 -1
- package/dist/ui/stream/index.d.ts +4 -4
- package/dist/ui/stream/index.d.ts.map +1 -1
- package/dist/ui/types.d.cts +3 -2
- package/dist/ui/types.d.cts.map +1 -1
- package/dist/ui/types.d.ts +2 -1
- package/dist/ui/types.d.ts.map +1 -1
- package/package.json +18 -8
- package/dist/client.cjs.map +0 -1
- package/dist/client.d.cts.map +0 -1
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { Checkpoint, Config, DefaultValues, Metadata, SortOrder, Thread, ThreadSelectField, ThreadSortBy, ThreadState, ThreadStatus, ThreadValuesFilter } from "../../schema.js";
|
|
2
|
+
import { ThreadStreamMode } from "../../types.stream.js";
|
|
3
|
+
import { Command, OnConflictBehavior, StreamEvent } from "../../types.js";
|
|
4
|
+
import { BaseClient } from "../base.js";
|
|
5
|
+
import { ThreadStreamOptions } from "../stream/types.js";
|
|
6
|
+
import { ThreadStream } from "../stream/index.js";
|
|
7
|
+
|
|
8
|
+
//#region src/client/threads/index.d.ts
|
|
9
|
+
declare class ThreadsClient<TStateType = DefaultValues, TUpdateType = TStateType> extends BaseClient {
|
|
10
|
+
/**
|
|
11
|
+
* Get a thread by ID.
|
|
12
|
+
*
|
|
13
|
+
* @param threadId ID of the thread.
|
|
14
|
+
* @returns The thread.
|
|
15
|
+
*/
|
|
16
|
+
get<ValuesType = TStateType>(threadId: string, options?: {
|
|
17
|
+
signal?: AbortSignal;
|
|
18
|
+
include?: string[];
|
|
19
|
+
}): Promise<Thread<ValuesType>>;
|
|
20
|
+
/**
|
|
21
|
+
* Create a new thread.
|
|
22
|
+
*
|
|
23
|
+
* @param payload Payload for creating a thread.
|
|
24
|
+
* @returns The created thread.
|
|
25
|
+
*/
|
|
26
|
+
create(payload?: {
|
|
27
|
+
metadata?: Metadata;
|
|
28
|
+
threadId?: string;
|
|
29
|
+
ifExists?: OnConflictBehavior;
|
|
30
|
+
graphId?: string;
|
|
31
|
+
supersteps?: Array<{
|
|
32
|
+
updates: Array<{
|
|
33
|
+
values: unknown;
|
|
34
|
+
command?: Command;
|
|
35
|
+
asNode: string;
|
|
36
|
+
}>;
|
|
37
|
+
}>;
|
|
38
|
+
ttl?: number | {
|
|
39
|
+
ttl: number;
|
|
40
|
+
strategy?: "delete";
|
|
41
|
+
};
|
|
42
|
+
signal?: AbortSignal;
|
|
43
|
+
}): Promise<Thread<TStateType>>;
|
|
44
|
+
/**
|
|
45
|
+
* Copy an existing thread
|
|
46
|
+
* @param threadId ID of the thread to be copied
|
|
47
|
+
* @returns Newly copied thread
|
|
48
|
+
*/
|
|
49
|
+
copy(threadId: string, options?: {
|
|
50
|
+
signal?: AbortSignal;
|
|
51
|
+
}): Promise<Thread<TStateType>>;
|
|
52
|
+
/**
|
|
53
|
+
* Update a thread.
|
|
54
|
+
*
|
|
55
|
+
* @param threadId ID of the thread.
|
|
56
|
+
* @param payload Payload for updating the thread.
|
|
57
|
+
* @returns The updated thread.
|
|
58
|
+
*/
|
|
59
|
+
update(threadId: string, payload?: {
|
|
60
|
+
metadata?: Metadata;
|
|
61
|
+
ttl?: number | {
|
|
62
|
+
ttl: number;
|
|
63
|
+
strategy?: "delete";
|
|
64
|
+
};
|
|
65
|
+
returnMinimal?: false;
|
|
66
|
+
signal?: AbortSignal;
|
|
67
|
+
}): Promise<Thread>;
|
|
68
|
+
update(threadId: string, payload: {
|
|
69
|
+
metadata?: Metadata;
|
|
70
|
+
ttl?: number | {
|
|
71
|
+
ttl: number;
|
|
72
|
+
strategy?: "delete";
|
|
73
|
+
};
|
|
74
|
+
returnMinimal: true;
|
|
75
|
+
signal?: AbortSignal;
|
|
76
|
+
}): Promise<void>;
|
|
77
|
+
update(threadId: string, payload: {
|
|
78
|
+
metadata?: Metadata;
|
|
79
|
+
ttl?: number | {
|
|
80
|
+
ttl: number;
|
|
81
|
+
strategy?: "delete";
|
|
82
|
+
};
|
|
83
|
+
returnMinimal: boolean;
|
|
84
|
+
signal?: AbortSignal;
|
|
85
|
+
}): Promise<Thread | void>;
|
|
86
|
+
/**
|
|
87
|
+
* Delete a thread.
|
|
88
|
+
*
|
|
89
|
+
* @param threadId ID of the thread.
|
|
90
|
+
*/
|
|
91
|
+
delete(threadId: string, options?: {
|
|
92
|
+
signal?: AbortSignal;
|
|
93
|
+
}): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Prune threads by ID. The 'delete' strategy removes threads entirely.
|
|
96
|
+
* The 'keep_latest' strategy prunes old checkpoints but keeps threads
|
|
97
|
+
* and their latest state.
|
|
98
|
+
*
|
|
99
|
+
* @param threadIds List of thread IDs to prune.
|
|
100
|
+
* @param options Additional options for pruning.
|
|
101
|
+
* @param options.strategy The prune strategy. Defaults to 'delete'.
|
|
102
|
+
* @param options.signal Signal to abort the request.
|
|
103
|
+
* @returns An object containing `pruned_count`.
|
|
104
|
+
*/
|
|
105
|
+
prune(threadIds: string[], options?: {
|
|
106
|
+
strategy?: "delete" | "keep_latest";
|
|
107
|
+
signal?: AbortSignal;
|
|
108
|
+
}): Promise<{
|
|
109
|
+
pruned_count: number;
|
|
110
|
+
}>;
|
|
111
|
+
/**
|
|
112
|
+
* List threads
|
|
113
|
+
*
|
|
114
|
+
* @param query Query options
|
|
115
|
+
* @returns List of threads
|
|
116
|
+
*/
|
|
117
|
+
search<ValuesType = TStateType>(query?: {
|
|
118
|
+
metadata?: Metadata;
|
|
119
|
+
ids?: string[];
|
|
120
|
+
limit?: number;
|
|
121
|
+
offset?: number;
|
|
122
|
+
status?: ThreadStatus;
|
|
123
|
+
sortBy?: ThreadSortBy;
|
|
124
|
+
sortOrder?: SortOrder;
|
|
125
|
+
select?: ThreadSelectField[];
|
|
126
|
+
values?: ThreadValuesFilter;
|
|
127
|
+
extract?: Record<string, string>;
|
|
128
|
+
signal?: AbortSignal;
|
|
129
|
+
}): Promise<Thread<ValuesType>[]>;
|
|
130
|
+
/**
|
|
131
|
+
* Count threads matching filters.
|
|
132
|
+
*
|
|
133
|
+
* @param query.metadata Thread metadata to filter on.
|
|
134
|
+
* @param query.values State values to filter on.
|
|
135
|
+
* @param query.status Thread status to filter on.
|
|
136
|
+
* @returns Number of threads matching the criteria.
|
|
137
|
+
*/
|
|
138
|
+
count<ValuesType = TStateType>(query?: {
|
|
139
|
+
metadata?: Metadata;
|
|
140
|
+
values?: ValuesType;
|
|
141
|
+
status?: ThreadStatus;
|
|
142
|
+
signal?: AbortSignal;
|
|
143
|
+
}): Promise<number>;
|
|
144
|
+
/**
|
|
145
|
+
* Get state for a thread.
|
|
146
|
+
*
|
|
147
|
+
* @param threadId ID of the thread.
|
|
148
|
+
* @returns Thread state.
|
|
149
|
+
*/
|
|
150
|
+
getState<ValuesType = TStateType>(threadId: string, checkpoint?: Checkpoint | string, options?: {
|
|
151
|
+
subgraphs?: boolean;
|
|
152
|
+
signal?: AbortSignal;
|
|
153
|
+
}): Promise<ThreadState<ValuesType>>;
|
|
154
|
+
/**
|
|
155
|
+
* Add state to a thread.
|
|
156
|
+
*
|
|
157
|
+
* @param threadId The ID of the thread.
|
|
158
|
+
* @returns
|
|
159
|
+
*/
|
|
160
|
+
updateState<ValuesType = TUpdateType>(threadId: string, options: {
|
|
161
|
+
values: ValuesType;
|
|
162
|
+
checkpoint?: Checkpoint;
|
|
163
|
+
checkpointId?: string;
|
|
164
|
+
asNode?: string;
|
|
165
|
+
signal?: AbortSignal;
|
|
166
|
+
}): Promise<Pick<Config, "configurable">>;
|
|
167
|
+
/**
|
|
168
|
+
* Patch the metadata of a thread.
|
|
169
|
+
*
|
|
170
|
+
* @param threadIdOrConfig Thread ID or config to patch the state of.
|
|
171
|
+
* @param metadata Metadata to patch the state with.
|
|
172
|
+
*/
|
|
173
|
+
patchState(threadIdOrConfig: string | Config, metadata: Metadata, options?: {
|
|
174
|
+
signal?: AbortSignal;
|
|
175
|
+
}): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Get all past states for a thread.
|
|
178
|
+
*
|
|
179
|
+
* @param threadId ID of the thread.
|
|
180
|
+
* @param options Additional options.
|
|
181
|
+
* @returns List of thread states.
|
|
182
|
+
*/
|
|
183
|
+
getHistory<ValuesType = TStateType>(threadId: string, options?: {
|
|
184
|
+
limit?: number;
|
|
185
|
+
before?: Config;
|
|
186
|
+
checkpoint?: Partial<Omit<Checkpoint, "thread_id">>;
|
|
187
|
+
metadata?: Metadata;
|
|
188
|
+
signal?: AbortSignal;
|
|
189
|
+
}): Promise<ThreadState<ValuesType>[]>;
|
|
190
|
+
joinStream(threadId: string, options?: {
|
|
191
|
+
lastEventId?: string;
|
|
192
|
+
streamMode?: ThreadStreamMode | ThreadStreamMode[];
|
|
193
|
+
signal?: AbortSignal;
|
|
194
|
+
}): AsyncGenerator<{
|
|
195
|
+
id?: string;
|
|
196
|
+
event: StreamEvent;
|
|
197
|
+
data: any;
|
|
198
|
+
}>;
|
|
199
|
+
/**
|
|
200
|
+
* Open a protocol stream over the thread-centric v2 protocol.
|
|
201
|
+
*
|
|
202
|
+
* Returns a {@link ThreadStream} with lazy getters
|
|
203
|
+
* (`.messages`, `.values`, `.toolCalls`, `.subgraphs`, `.subagents`,
|
|
204
|
+
* `.output`) and `thread.run.start({ input, ... })` for starting runs.
|
|
205
|
+
* Mirrors the in-process `graph.streamEvents(..., { version: "v3" })` API.
|
|
206
|
+
*
|
|
207
|
+
* The thread is bound to `options.assistantId` for its lifetime.
|
|
208
|
+
* The wire transport defaults to SSE; pass `transport: "websocket"`
|
|
209
|
+
* in options (or configure `streamProtocol: "v2-websocket"` on the
|
|
210
|
+
* client) to use a WebSocket instead.
|
|
211
|
+
*
|
|
212
|
+
* @example New thread (UUID generated client-side)
|
|
213
|
+
* ```ts
|
|
214
|
+
* const thread = client.threads.stream({ assistantId: "my-agent" });
|
|
215
|
+
* ```
|
|
216
|
+
*
|
|
217
|
+
* @example Attach to an existing thread
|
|
218
|
+
* ```ts
|
|
219
|
+
* const thread = client.threads.stream(threadId, { assistantId: "my-agent" });
|
|
220
|
+
* ```
|
|
221
|
+
*
|
|
222
|
+
* @example WebSocket transport
|
|
223
|
+
* ```ts
|
|
224
|
+
* const thread = client.threads.stream({
|
|
225
|
+
* assistantId: "my-agent",
|
|
226
|
+
* transport: "websocket",
|
|
227
|
+
* });
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
stream<TExtensions extends Record<string, unknown> = Record<string, unknown>>(options: ThreadStreamOptions): ThreadStream<TExtensions>;
|
|
231
|
+
stream<TExtensions extends Record<string, unknown> = Record<string, unknown>>(threadId: string, options: ThreadStreamOptions): ThreadStream<TExtensions>;
|
|
232
|
+
}
|
|
233
|
+
//#endregion
|
|
234
|
+
export { ThreadsClient };
|
|
235
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/client/threads/index.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { BaseClient } from "../base.js";
|
|
2
|
+
import { ThreadStream } from "../stream/index.js";
|
|
3
|
+
import { ProtocolSseTransportAdapter } from "../stream/transport/http.js";
|
|
4
|
+
import { ProtocolWebSocketTransportAdapter } from "../stream/transport/websocket.js";
|
|
5
|
+
import { v7 } from "uuid";
|
|
6
|
+
//#region src/client/threads/index.ts
|
|
7
|
+
var ThreadsClient = class extends BaseClient {
|
|
8
|
+
/**
|
|
9
|
+
* Get a thread by ID.
|
|
10
|
+
*
|
|
11
|
+
* @param threadId ID of the thread.
|
|
12
|
+
* @returns The thread.
|
|
13
|
+
*/
|
|
14
|
+
async get(threadId, options) {
|
|
15
|
+
return this.fetch(`/threads/${threadId}`, {
|
|
16
|
+
params: { include: options?.include ?? void 0 },
|
|
17
|
+
signal: options?.signal
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create a new thread.
|
|
22
|
+
*
|
|
23
|
+
* @param payload Payload for creating a thread.
|
|
24
|
+
* @returns The created thread.
|
|
25
|
+
*/
|
|
26
|
+
async create(payload) {
|
|
27
|
+
const ttlPayload = typeof payload?.ttl === "number" ? {
|
|
28
|
+
ttl: payload.ttl,
|
|
29
|
+
strategy: "delete"
|
|
30
|
+
} : payload?.ttl;
|
|
31
|
+
return this.fetch(`/threads`, {
|
|
32
|
+
method: "POST",
|
|
33
|
+
json: {
|
|
34
|
+
metadata: {
|
|
35
|
+
...payload?.metadata,
|
|
36
|
+
graph_id: payload?.graphId
|
|
37
|
+
},
|
|
38
|
+
thread_id: payload?.threadId,
|
|
39
|
+
if_exists: payload?.ifExists,
|
|
40
|
+
supersteps: payload?.supersteps?.map((s) => ({ updates: s.updates.map((u) => ({
|
|
41
|
+
values: u.values,
|
|
42
|
+
command: u.command,
|
|
43
|
+
as_node: u.asNode
|
|
44
|
+
})) })),
|
|
45
|
+
ttl: ttlPayload
|
|
46
|
+
},
|
|
47
|
+
signal: payload?.signal
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Copy an existing thread
|
|
52
|
+
* @param threadId ID of the thread to be copied
|
|
53
|
+
* @returns Newly copied thread
|
|
54
|
+
*/
|
|
55
|
+
async copy(threadId, options) {
|
|
56
|
+
return this.fetch(`/threads/${threadId}/copy`, {
|
|
57
|
+
method: "POST",
|
|
58
|
+
signal: options?.signal
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async update(threadId, payload) {
|
|
62
|
+
const ttlPayload = typeof payload?.ttl === "number" ? {
|
|
63
|
+
ttl: payload.ttl,
|
|
64
|
+
strategy: "delete"
|
|
65
|
+
} : payload?.ttl;
|
|
66
|
+
return this.fetch(`/threads/${threadId}`, {
|
|
67
|
+
method: "PATCH",
|
|
68
|
+
headers: payload?.returnMinimal ? { Prefer: "return=minimal" } : void 0,
|
|
69
|
+
json: {
|
|
70
|
+
metadata: payload?.metadata,
|
|
71
|
+
ttl: ttlPayload
|
|
72
|
+
},
|
|
73
|
+
signal: payload?.signal
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Delete a thread.
|
|
78
|
+
*
|
|
79
|
+
* @param threadId ID of the thread.
|
|
80
|
+
*/
|
|
81
|
+
async delete(threadId, options) {
|
|
82
|
+
return this.fetch(`/threads/${threadId}`, {
|
|
83
|
+
method: "DELETE",
|
|
84
|
+
signal: options?.signal
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Prune threads by ID. The 'delete' strategy removes threads entirely.
|
|
89
|
+
* The 'keep_latest' strategy prunes old checkpoints but keeps threads
|
|
90
|
+
* and their latest state.
|
|
91
|
+
*
|
|
92
|
+
* @param threadIds List of thread IDs to prune.
|
|
93
|
+
* @param options Additional options for pruning.
|
|
94
|
+
* @param options.strategy The prune strategy. Defaults to 'delete'.
|
|
95
|
+
* @param options.signal Signal to abort the request.
|
|
96
|
+
* @returns An object containing `pruned_count`.
|
|
97
|
+
*/
|
|
98
|
+
async prune(threadIds, options) {
|
|
99
|
+
return this.fetch("/threads/prune", {
|
|
100
|
+
method: "POST",
|
|
101
|
+
json: {
|
|
102
|
+
thread_ids: threadIds,
|
|
103
|
+
strategy: options?.strategy ?? "delete"
|
|
104
|
+
},
|
|
105
|
+
signal: options?.signal
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* List threads
|
|
110
|
+
*
|
|
111
|
+
* @param query Query options
|
|
112
|
+
* @returns List of threads
|
|
113
|
+
*/
|
|
114
|
+
async search(query) {
|
|
115
|
+
return this.fetch("/threads/search", {
|
|
116
|
+
method: "POST",
|
|
117
|
+
json: {
|
|
118
|
+
metadata: query?.metadata ?? void 0,
|
|
119
|
+
ids: query?.ids ?? void 0,
|
|
120
|
+
limit: query?.limit ?? 10,
|
|
121
|
+
offset: query?.offset ?? 0,
|
|
122
|
+
status: query?.status,
|
|
123
|
+
sort_by: query?.sortBy,
|
|
124
|
+
sort_order: query?.sortOrder,
|
|
125
|
+
select: query?.select ?? void 0,
|
|
126
|
+
values: query?.values ?? void 0,
|
|
127
|
+
extract: query?.extract ?? void 0
|
|
128
|
+
},
|
|
129
|
+
signal: query?.signal
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Count threads matching filters.
|
|
134
|
+
*
|
|
135
|
+
* @param query.metadata Thread metadata to filter on.
|
|
136
|
+
* @param query.values State values to filter on.
|
|
137
|
+
* @param query.status Thread status to filter on.
|
|
138
|
+
* @returns Number of threads matching the criteria.
|
|
139
|
+
*/
|
|
140
|
+
async count(query) {
|
|
141
|
+
return this.fetch(`/threads/count`, {
|
|
142
|
+
method: "POST",
|
|
143
|
+
json: {
|
|
144
|
+
metadata: query?.metadata ?? void 0,
|
|
145
|
+
values: query?.values ?? void 0,
|
|
146
|
+
status: query?.status ?? void 0
|
|
147
|
+
},
|
|
148
|
+
signal: query?.signal
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get state for a thread.
|
|
153
|
+
*
|
|
154
|
+
* @param threadId ID of the thread.
|
|
155
|
+
* @returns Thread state.
|
|
156
|
+
*/
|
|
157
|
+
async getState(threadId, checkpoint, options) {
|
|
158
|
+
if (checkpoint != null) {
|
|
159
|
+
if (typeof checkpoint !== "string") return this.fetch(`/threads/${threadId}/state/checkpoint`, {
|
|
160
|
+
method: "POST",
|
|
161
|
+
json: {
|
|
162
|
+
checkpoint,
|
|
163
|
+
subgraphs: options?.subgraphs
|
|
164
|
+
},
|
|
165
|
+
signal: options?.signal
|
|
166
|
+
});
|
|
167
|
+
return this.fetch(`/threads/${threadId}/state/${checkpoint}`, {
|
|
168
|
+
params: { subgraphs: options?.subgraphs },
|
|
169
|
+
signal: options?.signal
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return this.fetch(`/threads/${threadId}/state`, {
|
|
173
|
+
params: { subgraphs: options?.subgraphs },
|
|
174
|
+
signal: options?.signal
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Add state to a thread.
|
|
179
|
+
*
|
|
180
|
+
* @param threadId The ID of the thread.
|
|
181
|
+
* @returns
|
|
182
|
+
*/
|
|
183
|
+
async updateState(threadId, options) {
|
|
184
|
+
return this.fetch(`/threads/${threadId}/state`, {
|
|
185
|
+
method: "POST",
|
|
186
|
+
json: {
|
|
187
|
+
values: options.values,
|
|
188
|
+
checkpoint: options.checkpoint,
|
|
189
|
+
checkpoint_id: options.checkpointId,
|
|
190
|
+
as_node: options?.asNode
|
|
191
|
+
},
|
|
192
|
+
signal: options?.signal
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Patch the metadata of a thread.
|
|
197
|
+
*
|
|
198
|
+
* @param threadIdOrConfig Thread ID or config to patch the state of.
|
|
199
|
+
* @param metadata Metadata to patch the state with.
|
|
200
|
+
*/
|
|
201
|
+
async patchState(threadIdOrConfig, metadata, options) {
|
|
202
|
+
let threadId;
|
|
203
|
+
if (typeof threadIdOrConfig !== "string") {
|
|
204
|
+
if (typeof threadIdOrConfig.configurable?.thread_id !== "string") throw new Error("Thread ID is required when updating state with a config.");
|
|
205
|
+
threadId = threadIdOrConfig.configurable.thread_id;
|
|
206
|
+
} else threadId = threadIdOrConfig;
|
|
207
|
+
return this.fetch(`/threads/${threadId}/state`, {
|
|
208
|
+
method: "PATCH",
|
|
209
|
+
json: { metadata },
|
|
210
|
+
signal: options?.signal
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Get all past states for a thread.
|
|
215
|
+
*
|
|
216
|
+
* @param threadId ID of the thread.
|
|
217
|
+
* @param options Additional options.
|
|
218
|
+
* @returns List of thread states.
|
|
219
|
+
*/
|
|
220
|
+
async getHistory(threadId, options) {
|
|
221
|
+
return this.fetch(`/threads/${threadId}/history`, {
|
|
222
|
+
method: "POST",
|
|
223
|
+
json: {
|
|
224
|
+
limit: options?.limit ?? 10,
|
|
225
|
+
before: options?.before,
|
|
226
|
+
metadata: options?.metadata,
|
|
227
|
+
checkpoint: options?.checkpoint
|
|
228
|
+
},
|
|
229
|
+
signal: options?.signal
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
async *joinStream(threadId, options) {
|
|
233
|
+
yield* this.streamWithRetry({
|
|
234
|
+
endpoint: `/threads/${threadId}/stream`,
|
|
235
|
+
method: "GET",
|
|
236
|
+
signal: options?.signal,
|
|
237
|
+
headers: options?.lastEventId ? { "Last-Event-ID": options.lastEventId } : void 0,
|
|
238
|
+
params: options?.streamMode ? { stream_mode: options.streamMode } : void 0
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
stream(threadIdOrOptions, maybeOptions) {
|
|
242
|
+
const { threadId, options } = typeof threadIdOrOptions === "string" ? {
|
|
243
|
+
threadId: threadIdOrOptions,
|
|
244
|
+
options: maybeOptions
|
|
245
|
+
} : {
|
|
246
|
+
threadId: v7(),
|
|
247
|
+
options: threadIdOrOptions
|
|
248
|
+
};
|
|
249
|
+
let transport;
|
|
250
|
+
if (options.transport != null && typeof options.transport !== "string") transport = options.transport;
|
|
251
|
+
else transport = (options.transport ?? (this.streamProtocol === "v2-websocket" ? "websocket" : "sse")) === "websocket" ? new ProtocolWebSocketTransportAdapter({
|
|
252
|
+
apiUrl: this.apiUrl,
|
|
253
|
+
threadId,
|
|
254
|
+
defaultHeaders: this.defaultHeaders,
|
|
255
|
+
onRequest: this.onRequest,
|
|
256
|
+
webSocketFactory: options.webSocketFactory
|
|
257
|
+
}) : new ProtocolSseTransportAdapter({
|
|
258
|
+
apiUrl: this.apiUrl,
|
|
259
|
+
threadId,
|
|
260
|
+
defaultHeaders: this.defaultHeaders,
|
|
261
|
+
onRequest: this.onRequest,
|
|
262
|
+
fetch: options.fetch
|
|
263
|
+
});
|
|
264
|
+
return new ThreadStream(transport, options);
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
//#endregion
|
|
268
|
+
export { ThreadsClient };
|
|
269
|
+
|
|
270
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["uuidv7"],"sources":["../../../src/client/threads/index.ts"],"sourcesContent":["import { v7 as uuidv7 } from \"uuid\";\n\nimport {\n Checkpoint,\n Config,\n DefaultValues,\n Metadata,\n SortOrder,\n Thread,\n ThreadSelectField,\n ThreadSortBy,\n ThreadState,\n ThreadStatus,\n ThreadValuesFilter,\n} from \"../../schema.js\";\nimport type { Command, OnConflictBehavior, StreamEvent } from \"../../types.js\";\nimport type { ThreadStreamMode } from \"../../types.stream.js\";\nimport { BaseClient } from \"../base.js\";\nimport { ThreadStream } from \"../stream/index.js\";\nimport type {\n ThreadStreamOptions,\n ThreadStreamTransportKind,\n} from \"../stream/types.js\";\nimport { ProtocolSseTransportAdapter } from \"../stream/transport/http.js\";\nimport { ProtocolWebSocketTransportAdapter } from \"../stream/transport/websocket.js\";\nimport type { TransportAdapter } from \"../stream/transport.js\";\n\nexport class ThreadsClient<\n TStateType = DefaultValues,\n TUpdateType = TStateType,\n> extends BaseClient {\n /**\n * Get a thread by ID.\n *\n * @param threadId ID of the thread.\n * @returns The thread.\n */\n async get<ValuesType = TStateType>(\n threadId: string,\n options?: { signal?: AbortSignal; include?: string[] }\n ): Promise<Thread<ValuesType>> {\n return this.fetch<Thread<ValuesType>>(`/threads/${threadId}`, {\n params: {\n include: options?.include ?? undefined,\n },\n signal: options?.signal,\n });\n }\n\n /**\n * Create a new thread.\n *\n * @param payload Payload for creating a thread.\n * @returns The created thread.\n */\n async create(payload?: {\n metadata?: Metadata;\n threadId?: string;\n ifExists?: OnConflictBehavior;\n graphId?: string;\n supersteps?: Array<{\n updates: Array<{ values: unknown; command?: Command; asNode: string }>;\n }>;\n ttl?: number | { ttl: number; strategy?: \"delete\" };\n signal?: AbortSignal;\n }): Promise<Thread<TStateType>> {\n const ttlPayload =\n typeof payload?.ttl === \"number\"\n ? { ttl: payload.ttl, strategy: \"delete\" as const }\n : payload?.ttl;\n\n return this.fetch<Thread<TStateType>>(`/threads`, {\n method: \"POST\",\n json: {\n metadata: {\n ...payload?.metadata,\n graph_id: payload?.graphId,\n },\n thread_id: payload?.threadId,\n if_exists: payload?.ifExists,\n supersteps: payload?.supersteps?.map((s) => ({\n updates: s.updates.map((u) => ({\n values: u.values,\n command: u.command,\n as_node: u.asNode,\n })),\n })),\n ttl: ttlPayload,\n },\n signal: payload?.signal,\n });\n }\n\n /**\n * Copy an existing thread\n * @param threadId ID of the thread to be copied\n * @returns Newly copied thread\n */\n async copy(\n threadId: string,\n options?: { signal?: AbortSignal }\n ): Promise<Thread<TStateType>> {\n return this.fetch<Thread<TStateType>>(`/threads/${threadId}/copy`, {\n method: \"POST\",\n signal: options?.signal,\n });\n }\n\n /**\n * Update a thread.\n *\n * @param threadId ID of the thread.\n * @param payload Payload for updating the thread.\n * @returns The updated thread.\n */\n async update(\n threadId: string,\n payload?: {\n metadata?: Metadata;\n ttl?: number | { ttl: number; strategy?: \"delete\" };\n returnMinimal?: false;\n signal?: AbortSignal;\n }\n ): Promise<Thread>;\n async update(\n threadId: string,\n payload: {\n metadata?: Metadata;\n ttl?: number | { ttl: number; strategy?: \"delete\" };\n returnMinimal: true;\n signal?: AbortSignal;\n }\n ): Promise<void>;\n async update(\n threadId: string,\n payload: {\n metadata?: Metadata;\n ttl?: number | { ttl: number; strategy?: \"delete\" };\n returnMinimal: boolean;\n signal?: AbortSignal;\n }\n ): Promise<Thread | void>;\n async update(\n threadId: string,\n payload?: {\n metadata?: Metadata;\n ttl?: number | { ttl: number; strategy?: \"delete\" };\n returnMinimal?: boolean;\n signal?: AbortSignal;\n }\n ): Promise<Thread | void> {\n const ttlPayload =\n typeof payload?.ttl === \"number\"\n ? { ttl: payload.ttl, strategy: \"delete\" as const }\n : payload?.ttl;\n\n return this.fetch<Thread | void>(`/threads/${threadId}`, {\n method: \"PATCH\",\n headers: payload?.returnMinimal\n ? { Prefer: \"return=minimal\" }\n : undefined,\n json: { metadata: payload?.metadata, ttl: ttlPayload },\n signal: payload?.signal,\n });\n }\n\n /**\n * Delete a thread.\n *\n * @param threadId ID of the thread.\n */\n async delete(\n threadId: string,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n return this.fetch<void>(`/threads/${threadId}`, {\n method: \"DELETE\",\n signal: options?.signal,\n });\n }\n\n /**\n * Prune threads by ID. The 'delete' strategy removes threads entirely.\n * The 'keep_latest' strategy prunes old checkpoints but keeps threads\n * and their latest state.\n *\n * @param threadIds List of thread IDs to prune.\n * @param options Additional options for pruning.\n * @param options.strategy The prune strategy. Defaults to 'delete'.\n * @param options.signal Signal to abort the request.\n * @returns An object containing `pruned_count`.\n */\n async prune(\n threadIds: string[],\n options?: {\n strategy?: \"delete\" | \"keep_latest\";\n signal?: AbortSignal;\n }\n ): Promise<{ pruned_count: number }> {\n return this.fetch<{ pruned_count: number }>(\"/threads/prune\", {\n method: \"POST\",\n json: {\n thread_ids: threadIds,\n strategy: options?.strategy ?? \"delete\",\n },\n signal: options?.signal,\n });\n }\n\n /**\n * List threads\n *\n * @param query Query options\n * @returns List of threads\n */\n async search<ValuesType = TStateType>(query?: {\n metadata?: Metadata;\n ids?: string[];\n limit?: number;\n offset?: number;\n status?: ThreadStatus;\n sortBy?: ThreadSortBy;\n sortOrder?: SortOrder;\n select?: ThreadSelectField[];\n values?: ThreadValuesFilter;\n extract?: Record<string, string>;\n signal?: AbortSignal;\n }): Promise<Thread<ValuesType>[]> {\n return this.fetch<Thread<ValuesType>[]>(\"/threads/search\", {\n method: \"POST\",\n json: {\n metadata: query?.metadata ?? undefined,\n ids: query?.ids ?? undefined,\n limit: query?.limit ?? 10,\n offset: query?.offset ?? 0,\n status: query?.status,\n sort_by: query?.sortBy,\n sort_order: query?.sortOrder,\n select: query?.select ?? undefined,\n values: query?.values ?? undefined,\n extract: query?.extract ?? undefined,\n },\n signal: query?.signal,\n });\n }\n\n /**\n * Count threads matching filters.\n *\n * @param query.metadata Thread metadata to filter on.\n * @param query.values State values to filter on.\n * @param query.status Thread status to filter on.\n * @returns Number of threads matching the criteria.\n */\n async count<ValuesType = TStateType>(query?: {\n metadata?: Metadata;\n values?: ValuesType;\n status?: ThreadStatus;\n signal?: AbortSignal;\n }): Promise<number> {\n return this.fetch<number>(`/threads/count`, {\n method: \"POST\",\n json: {\n metadata: query?.metadata ?? undefined,\n values: query?.values ?? undefined,\n status: query?.status ?? undefined,\n },\n signal: query?.signal,\n });\n }\n\n /**\n * Get state for a thread.\n *\n * @param threadId ID of the thread.\n * @returns Thread state.\n */\n async getState<ValuesType = TStateType>(\n threadId: string,\n checkpoint?: Checkpoint | string,\n options?: { subgraphs?: boolean; signal?: AbortSignal }\n ): Promise<ThreadState<ValuesType>> {\n if (checkpoint != null) {\n if (typeof checkpoint !== \"string\") {\n return this.fetch<ThreadState<ValuesType>>(\n `/threads/${threadId}/state/checkpoint`,\n {\n method: \"POST\",\n json: { checkpoint, subgraphs: options?.subgraphs },\n signal: options?.signal,\n }\n );\n }\n\n // deprecated\n return this.fetch<ThreadState<ValuesType>>(\n `/threads/${threadId}/state/${checkpoint}`,\n { params: { subgraphs: options?.subgraphs }, signal: options?.signal }\n );\n }\n\n return this.fetch<ThreadState<ValuesType>>(`/threads/${threadId}/state`, {\n params: { subgraphs: options?.subgraphs },\n signal: options?.signal,\n });\n }\n\n /**\n * Add state to a thread.\n *\n * @param threadId The ID of the thread.\n * @returns\n */\n async updateState<ValuesType = TUpdateType>(\n threadId: string,\n options: {\n values: ValuesType;\n checkpoint?: Checkpoint;\n checkpointId?: string;\n asNode?: string;\n signal?: AbortSignal;\n }\n ): Promise<Pick<Config, \"configurable\">> {\n return this.fetch<Pick<Config, \"configurable\">>(\n `/threads/${threadId}/state`,\n {\n method: \"POST\",\n json: {\n values: options.values,\n checkpoint: options.checkpoint,\n checkpoint_id: options.checkpointId,\n as_node: options?.asNode,\n },\n signal: options?.signal,\n }\n );\n }\n\n /**\n * Patch the metadata of a thread.\n *\n * @param threadIdOrConfig Thread ID or config to patch the state of.\n * @param metadata Metadata to patch the state with.\n */\n async patchState(\n threadIdOrConfig: string | Config,\n metadata: Metadata,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n let threadId: string;\n\n if (typeof threadIdOrConfig !== \"string\") {\n if (typeof threadIdOrConfig.configurable?.thread_id !== \"string\") {\n throw new Error(\n \"Thread ID is required when updating state with a config.\"\n );\n }\n threadId = threadIdOrConfig.configurable.thread_id;\n } else {\n threadId = threadIdOrConfig;\n }\n\n return this.fetch<void>(`/threads/${threadId}/state`, {\n method: \"PATCH\",\n json: { metadata },\n signal: options?.signal,\n });\n }\n\n /**\n * Get all past states for a thread.\n *\n * @param threadId ID of the thread.\n * @param options Additional options.\n * @returns List of thread states.\n */\n async getHistory<ValuesType = TStateType>(\n threadId: string,\n options?: {\n limit?: number;\n before?: Config;\n checkpoint?: Partial<Omit<Checkpoint, \"thread_id\">>;\n metadata?: Metadata;\n signal?: AbortSignal;\n }\n ): Promise<ThreadState<ValuesType>[]> {\n return this.fetch<ThreadState<ValuesType>[]>(\n `/threads/${threadId}/history`,\n {\n method: \"POST\",\n json: {\n limit: options?.limit ?? 10,\n before: options?.before,\n metadata: options?.metadata,\n checkpoint: options?.checkpoint,\n },\n signal: options?.signal,\n }\n );\n }\n\n async *joinStream(\n threadId: string,\n options?: {\n lastEventId?: string;\n streamMode?: ThreadStreamMode | ThreadStreamMode[];\n signal?: AbortSignal;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): AsyncGenerator<{ id?: string; event: StreamEvent; data: any }> {\n yield* this.streamWithRetry({\n endpoint: `/threads/${threadId}/stream`,\n method: \"GET\",\n signal: options?.signal,\n headers: options?.lastEventId\n ? { \"Last-Event-ID\": options.lastEventId }\n : undefined,\n params: options?.streamMode\n ? { stream_mode: options.streamMode }\n : undefined,\n });\n }\n\n /**\n * Open a protocol stream over the thread-centric v2 protocol.\n *\n * Returns a {@link ThreadStream} with lazy getters\n * (`.messages`, `.values`, `.toolCalls`, `.subgraphs`, `.subagents`,\n * `.output`) and `thread.run.start({ input, ... })` for starting runs.\n * Mirrors the in-process `graph.streamEvents(..., { version: \"v3\" })` API.\n *\n * The thread is bound to `options.assistantId` for its lifetime.\n * The wire transport defaults to SSE; pass `transport: \"websocket\"`\n * in options (or configure `streamProtocol: \"v2-websocket\"` on the\n * client) to use a WebSocket instead.\n *\n * @example New thread (UUID generated client-side)\n * ```ts\n * const thread = client.threads.stream({ assistantId: \"my-agent\" });\n * ```\n *\n * @example Attach to an existing thread\n * ```ts\n * const thread = client.threads.stream(threadId, { assistantId: \"my-agent\" });\n * ```\n *\n * @example WebSocket transport\n * ```ts\n * const thread = client.threads.stream({\n * assistantId: \"my-agent\",\n * transport: \"websocket\",\n * });\n * ```\n */\n stream<TExtensions extends Record<string, unknown> = Record<string, unknown>>(\n options: ThreadStreamOptions\n ): ThreadStream<TExtensions>;\n stream<TExtensions extends Record<string, unknown> = Record<string, unknown>>(\n threadId: string,\n options: ThreadStreamOptions\n ): ThreadStream<TExtensions>;\n stream<TExtensions extends Record<string, unknown> = Record<string, unknown>>(\n threadIdOrOptions: string | ThreadStreamOptions,\n maybeOptions?: ThreadStreamOptions\n ): ThreadStream<TExtensions> {\n const { threadId, options } =\n typeof threadIdOrOptions === \"string\"\n ? {\n threadId: threadIdOrOptions,\n options: maybeOptions as ThreadStreamOptions,\n }\n : { threadId: uuidv7(), options: threadIdOrOptions };\n\n // `transport` accepts either a preset string (`\"sse\"` / `\"websocket\"`)\n // or a custom {@link AgentServerAdapter}. A custom adapter replaces\n // the built-in factories entirely — this is the seam that lets users\n // point `useStream` at any agent server (including the thin wrappers\n // produced by `HttpAgentServerAdapter`).\n let transport: TransportAdapter;\n if (options.transport != null && typeof options.transport !== \"string\") {\n transport = options.transport;\n } else {\n const transportKind: ThreadStreamTransportKind =\n options.transport ??\n (this.streamProtocol === \"v2-websocket\" ? \"websocket\" : \"sse\");\n transport =\n transportKind === \"websocket\"\n ? new ProtocolWebSocketTransportAdapter({\n apiUrl: this.apiUrl,\n threadId,\n defaultHeaders: this.defaultHeaders,\n onRequest: this.onRequest,\n webSocketFactory: options.webSocketFactory,\n })\n : new ProtocolSseTransportAdapter({\n apiUrl: this.apiUrl,\n threadId,\n defaultHeaders: this.defaultHeaders,\n onRequest: this.onRequest,\n fetch: options.fetch,\n });\n }\n\n return new ThreadStream<TExtensions>(transport, options);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const require_base = require("../base.cjs");
|
|
2
|
+
//#region src/client/ui-internal/index.ts
|
|
3
|
+
var UiClient = class UiClient extends require_base.BaseClient {
|
|
4
|
+
static promiseCache = {};
|
|
5
|
+
static getOrCached(key, fn) {
|
|
6
|
+
if (UiClient.promiseCache[key] != null) return UiClient.promiseCache[key];
|
|
7
|
+
const promise = fn();
|
|
8
|
+
UiClient.promiseCache[key] = promise;
|
|
9
|
+
return promise;
|
|
10
|
+
}
|
|
11
|
+
async getComponent(assistantId, agentName) {
|
|
12
|
+
return UiClient.getOrCached(`${this.apiUrl}-${assistantId}-${agentName}`, async () => {
|
|
13
|
+
let [url, init] = this.prepareFetchOptions(`/ui/${assistantId}`, {
|
|
14
|
+
headers: {
|
|
15
|
+
Accept: "text/html",
|
|
16
|
+
"Content-Type": "application/json"
|
|
17
|
+
},
|
|
18
|
+
method: "POST",
|
|
19
|
+
json: { name: agentName }
|
|
20
|
+
});
|
|
21
|
+
if (this.onRequest != null) init = await this.onRequest(url, init);
|
|
22
|
+
return (await this.asyncCaller.fetch(url.toString(), init)).text();
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
exports.UiClient = UiClient;
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["BaseClient"],"sources":["../../../src/client/ui-internal/index.ts"],"sourcesContent":["import { BaseClient } from \"../base.js\";\n\nexport class UiClient extends BaseClient {\n private static promiseCache: Record<string, Promise<unknown> | undefined> =\n {};\n\n private static getOrCached<T>(key: string, fn: () => Promise<T>): Promise<T> {\n if (UiClient.promiseCache[key] != null) {\n return UiClient.promiseCache[key] as Promise<T>;\n }\n\n const promise = fn();\n UiClient.promiseCache[key] = promise;\n return promise;\n }\n\n async getComponent(assistantId: string, agentName: string): Promise<string> {\n return UiClient.getOrCached(\n `${this.apiUrl}-${assistantId}-${agentName}`,\n async () => {\n // oxlint-disable-next-line prefer-const -- init is reassigned by onRequest hook\n let [url, init] = this.prepareFetchOptions(`/ui/${assistantId}`, {\n headers: {\n Accept: \"text/html\",\n \"Content-Type\": \"application/json\",\n },\n method: \"POST\",\n json: { name: agentName },\n });\n if (this.onRequest != null) init = await this.onRequest(url, init);\n\n const response = await this.asyncCaller.fetch(url.toString(), init);\n return response.text();\n }\n );\n }\n}\n"],"mappings":";;AAEA,IAAa,WAAb,MAAa,iBAAiBA,aAAAA,WAAW;CACvC,OAAe,eACb,EAAE;CAEJ,OAAe,YAAe,KAAa,IAAkC;AAC3E,MAAI,SAAS,aAAa,QAAQ,KAChC,QAAO,SAAS,aAAa;EAG/B,MAAM,UAAU,IAAI;AACpB,WAAS,aAAa,OAAO;AAC7B,SAAO;;CAGT,MAAM,aAAa,aAAqB,WAAoC;AAC1E,SAAO,SAAS,YACd,GAAG,KAAK,OAAO,GAAG,YAAY,GAAG,aACjC,YAAY;GAEV,IAAI,CAAC,KAAK,QAAQ,KAAK,oBAAoB,OAAO,eAAe;IAC/D,SAAS;KACP,QAAQ;KACR,gBAAgB;KACjB;IACD,QAAQ;IACR,MAAM,EAAE,MAAM,WAAW;IAC1B,CAAC;AACF,OAAI,KAAK,aAAa,KAAM,QAAO,MAAM,KAAK,UAAU,KAAK,KAAK;AAGlE,WADiB,MAAM,KAAK,YAAY,MAAM,IAAI,UAAU,EAAE,KAAK,EACnD,MAAM;IAEzB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseClient } from "../base.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/client/ui-internal/index.d.ts
|
|
4
|
+
declare class UiClient extends BaseClient {
|
|
5
|
+
private static promiseCache;
|
|
6
|
+
private static getOrCached;
|
|
7
|
+
getComponent(assistantId: string, agentName: string): Promise<string>;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { UiClient };
|
|
11
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/client/ui-internal/index.ts"],"mappings":";;;cAEa,QAAA,SAAiB,UAAA;EAAA,eACb,YAAA;EAAA,eAGA,WAAA;EAUT,YAAA,CAAa,WAAA,UAAqB,SAAA,WAAoB,OAAA;AAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseClient } from "../base.js";
|
|
2
|
+
|
|
3
|
+
//#region src/client/ui-internal/index.d.ts
|
|
4
|
+
declare class UiClient extends BaseClient {
|
|
5
|
+
private static promiseCache;
|
|
6
|
+
private static getOrCached;
|
|
7
|
+
getComponent(assistantId: string, agentName: string): Promise<string>;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { UiClient };
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/client/ui-internal/index.ts"],"mappings":";;;cAEa,QAAA,SAAiB,UAAA;EAAA,eACb,YAAA;EAAA,eAGA,WAAA;EAUT,YAAA,CAAa,WAAA,UAAqB,SAAA,WAAoB,OAAA;AAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseClient } from "../base.js";
|
|
2
|
+
//#region src/client/ui-internal/index.ts
|
|
3
|
+
var UiClient = class UiClient extends BaseClient {
|
|
4
|
+
static promiseCache = {};
|
|
5
|
+
static getOrCached(key, fn) {
|
|
6
|
+
if (UiClient.promiseCache[key] != null) return UiClient.promiseCache[key];
|
|
7
|
+
const promise = fn();
|
|
8
|
+
UiClient.promiseCache[key] = promise;
|
|
9
|
+
return promise;
|
|
10
|
+
}
|
|
11
|
+
async getComponent(assistantId, agentName) {
|
|
12
|
+
return UiClient.getOrCached(`${this.apiUrl}-${assistantId}-${agentName}`, async () => {
|
|
13
|
+
let [url, init] = this.prepareFetchOptions(`/ui/${assistantId}`, {
|
|
14
|
+
headers: {
|
|
15
|
+
Accept: "text/html",
|
|
16
|
+
"Content-Type": "application/json"
|
|
17
|
+
},
|
|
18
|
+
method: "POST",
|
|
19
|
+
json: { name: agentName }
|
|
20
|
+
});
|
|
21
|
+
if (this.onRequest != null) init = await this.onRequest(url, init);
|
|
22
|
+
return (await this.asyncCaller.fetch(url.toString(), init)).text();
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { UiClient };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/client/ui-internal/index.ts"],"sourcesContent":["import { BaseClient } from \"../base.js\";\n\nexport class UiClient extends BaseClient {\n private static promiseCache: Record<string, Promise<unknown> | undefined> =\n {};\n\n private static getOrCached<T>(key: string, fn: () => Promise<T>): Promise<T> {\n if (UiClient.promiseCache[key] != null) {\n return UiClient.promiseCache[key] as Promise<T>;\n }\n\n const promise = fn();\n UiClient.promiseCache[key] = promise;\n return promise;\n }\n\n async getComponent(assistantId: string, agentName: string): Promise<string> {\n return UiClient.getOrCached(\n `${this.apiUrl}-${assistantId}-${agentName}`,\n async () => {\n // oxlint-disable-next-line prefer-const -- init is reassigned by onRequest hook\n let [url, init] = this.prepareFetchOptions(`/ui/${assistantId}`, {\n headers: {\n Accept: \"text/html\",\n \"Content-Type\": \"application/json\",\n },\n method: \"POST\",\n json: { name: agentName },\n });\n if (this.onRequest != null) init = await this.onRequest(url, init);\n\n const response = await this.asyncCaller.fetch(url.toString(), init);\n return response.text();\n }\n );\n }\n}\n"],"mappings":";;AAEA,IAAa,WAAb,MAAa,iBAAiB,WAAW;CACvC,OAAe,eACb,EAAE;CAEJ,OAAe,YAAe,KAAa,IAAkC;AAC3E,MAAI,SAAS,aAAa,QAAQ,KAChC,QAAO,SAAS,aAAa;EAG/B,MAAM,UAAU,IAAI;AACpB,WAAS,aAAa,OAAO;AAC7B,SAAO;;CAGT,MAAM,aAAa,aAAqB,WAAoC;AAC1E,SAAO,SAAS,YACd,GAAG,KAAK,OAAO,GAAG,YAAY,GAAG,aACjC,YAAY;GAEV,IAAI,CAAC,KAAK,QAAQ,KAAK,oBAAoB,OAAO,eAAe;IAC/D,SAAS;KACP,QAAQ;KACR,gBAAgB;KACjB;IACD,QAAQ;IACR,MAAM,EAAE,MAAM,WAAW;IAC1B,CAAC;AACF,OAAI,KAAK,aAAa,KAAM,QAAO,MAAM,KAAK,UAAU,KAAK,KAAK;AAGlE,WADiB,MAAM,KAAK,YAAY,MAAM,IAAI,UAAU,EAAE,KAAK,EACnD,MAAM;IAEzB"}
|