doover-js 0.11.0 → 0.13.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 +106 -0
- package/dist/apis/_args.js +5 -5
- package/dist/apis/agents-api.d.ts +4 -4
- package/dist/apis/agents-api.js +2 -2
- package/dist/apis/aggregates-api.d.ts +4 -4
- package/dist/apis/aggregates-api.js +5 -5
- package/dist/apis/alarms-api.d.ts +2 -2
- package/dist/apis/alarms-api.js +3 -3
- package/dist/apis/channels-api.d.ts +3 -3
- package/dist/apis/channels-api.js +6 -6
- package/dist/apis/connections-api.d.ts +2 -2
- package/dist/apis/connections-api.js +6 -6
- package/dist/apis/messages-api.d.ts +4 -4
- package/dist/apis/messages-api.js +11 -11
- package/dist/apis/notifications-api.d.ts +2 -2
- package/dist/apis/notifications-api.js +4 -4
- package/dist/apis/organisations-api.d.ts +2 -2
- package/dist/apis/permissions-api.d.ts +2 -2
- package/dist/apis/permissions-api.js +3 -3
- package/dist/apis/processors-api.d.ts +2 -2
- package/dist/apis/turn-api.d.ts +2 -2
- package/dist/apis/users-api.d.ts +2 -2
- package/dist/auth/auth-store.d.ts +1 -1
- package/dist/auth/build-auth.d.ts +3 -3
- package/dist/auth/build-auth.js +8 -8
- package/dist/auth/cookie-auth.d.ts +1 -1
- package/dist/auth/cookie-auth.js +2 -2
- package/dist/auth/doover-auth.d.ts +2 -2
- package/dist/auth/doover-token-auth.d.ts +3 -3
- package/dist/auth/doover-token-auth.js +13 -13
- package/dist/auth/index.d.ts +10 -0
- package/dist/auth/index.js +15 -0
- package/dist/client/data-client.d.ts +17 -14
- package/dist/client/doover-client.d.ts +9 -7
- package/dist/client/doover-client.js +44 -42
- package/dist/client/errors.d.ts +2 -2
- package/dist/client/errors.js +4 -4
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.js +12 -0
- package/dist/client/local-agent-client.d.ts +3 -3
- package/dist/client/local-agent-client.js +19 -19
- package/dist/client/multiplex-client.d.ts +5 -5
- package/dist/client/multiplex-client.js +25 -25
- package/dist/client/multiplex-gateway.d.ts +3 -3
- package/dist/client/multiplex-merge.d.ts +1 -1
- package/dist/client/network-status.d.ts +17 -0
- package/dist/client/network-status.js +70 -0
- package/dist/client/offline-cache.d.ts +9 -4
- package/dist/client/offline-cache.js +34 -22
- package/dist/client/provenance.d.ts +1 -1
- package/dist/client/request-options.d.ts +1 -1
- package/dist/client/singleton.d.ts +2 -2
- package/dist/client/singleton.js +2 -2
- package/dist/client/status-tracker.d.ts +1 -1
- package/dist/esm/apis/_args.d.ts +16 -0
- package/dist/esm/apis/_args.js +27 -0
- package/dist/esm/apis/agents-api.d.ts +196 -0
- package/dist/esm/apis/agents-api.js +327 -0
- package/dist/esm/apis/aggregates-api.d.ts +67 -0
- package/dist/esm/apis/aggregates-api.js +64 -0
- package/dist/esm/apis/alarms-api.d.ts +48 -0
- package/dist/esm/apis/alarms-api.js +75 -0
- package/dist/esm/apis/channels-api.d.ts +83 -0
- package/dist/esm/apis/channels-api.js +65 -0
- package/dist/esm/apis/connections-api.d.ts +45 -0
- package/dist/esm/apis/connections-api.js +44 -0
- package/dist/esm/apis/messages-api.d.ts +128 -0
- package/dist/esm/apis/messages-api.js +179 -0
- package/dist/esm/apis/notifications-api.d.ts +94 -0
- package/dist/esm/apis/notifications-api.js +153 -0
- package/dist/esm/apis/organisations-api.d.ts +26 -0
- package/dist/esm/apis/organisations-api.js +41 -0
- package/dist/esm/apis/permissions-api.d.ts +17 -0
- package/dist/esm/apis/permissions-api.js +23 -0
- package/dist/esm/apis/processors-api.d.ts +56 -0
- package/dist/esm/apis/processors-api.js +97 -0
- package/dist/esm/apis/turn-api.d.ts +7 -0
- package/dist/esm/apis/turn-api.js +8 -0
- package/dist/esm/apis/users-api.d.ts +8 -0
- package/dist/esm/apis/users-api.js +9 -0
- package/dist/esm/auth/auth-profile.d.ts +45 -0
- package/dist/esm/auth/auth-profile.js +68 -0
- package/dist/esm/auth/auth-store.d.ts +14 -0
- package/dist/esm/auth/build-auth.d.ts +38 -0
- package/dist/esm/auth/build-auth.js +92 -0
- package/dist/esm/auth/cookie-auth.d.ts +91 -0
- package/dist/esm/auth/cookie-auth.js +196 -0
- package/dist/esm/auth/doover-auth.d.ts +52 -0
- package/dist/esm/auth/doover-auth.js +28 -0
- package/dist/esm/auth/doover-token-auth.d.ts +39 -0
- package/dist/esm/auth/doover-token-auth.js +217 -0
- package/dist/esm/auth/errors.d.ts +3 -0
- package/dist/esm/auth/errors.js +6 -0
- package/dist/esm/auth/index.d.ts +10 -0
- package/dist/esm/auth/index.js +6 -0
- package/dist/esm/auth/jwt.d.ts +6 -0
- package/dist/esm/auth/jwt.js +26 -0
- package/dist/esm/client/capabilities.d.ts +10 -0
- package/dist/esm/client/capabilities.js +42 -0
- package/dist/esm/client/data-client.d.ts +107 -0
- package/dist/esm/client/doover-client.d.ts +48 -0
- package/dist/esm/client/doover-client.js +96 -0
- package/dist/esm/client/errors.d.ts +32 -0
- package/dist/esm/client/errors.js +64 -0
- package/dist/esm/client/index.d.ts +6 -0
- package/dist/esm/client/index.js +3 -0
- package/dist/esm/client/local-agent-client.d.ts +65 -0
- package/dist/esm/client/local-agent-client.js +225 -0
- package/dist/esm/client/multiplex-client.d.ts +165 -0
- package/dist/esm/client/multiplex-client.js +842 -0
- package/dist/esm/client/multiplex-gateway.d.ts +49 -0
- package/dist/esm/client/multiplex-gateway.js +110 -0
- package/dist/esm/client/multiplex-merge.d.ts +12 -0
- package/dist/esm/client/multiplex-merge.js +38 -0
- package/dist/esm/client/network-status.d.ts +17 -0
- package/dist/esm/client/network-status.js +66 -0
- package/dist/esm/client/offline-cache.d.ts +167 -0
- package/dist/esm/client/offline-cache.js +769 -0
- package/dist/esm/client/provenance.d.ts +60 -0
- package/dist/esm/client/provenance.js +108 -0
- package/dist/esm/client/request-options.d.ts +23 -0
- package/dist/esm/client/request-options.js +23 -0
- package/dist/esm/client/singleton.d.ts +26 -0
- package/dist/esm/client/singleton.js +54 -0
- package/dist/esm/client/stats.d.ts +79 -0
- package/dist/esm/client/stats.js +155 -0
- package/dist/esm/client/status-tracker.d.ts +24 -0
- package/dist/esm/client/status-tracker.js +86 -0
- package/dist/esm/gateway/gateway-client.d.ts +86 -0
- package/dist/esm/gateway/gateway-client.js +463 -0
- package/dist/esm/gateway/index.d.ts +3 -0
- package/dist/esm/gateway/index.js +1 -0
- package/dist/esm/gateway/types.d.ts +142 -0
- package/dist/esm/http/errors.d.ts +19 -0
- package/dist/esm/http/errors.js +22 -0
- package/dist/esm/http/index.d.ts +3 -0
- package/dist/esm/http/index.js +2 -0
- package/dist/esm/http/rest-client.d.ts +64 -0
- package/dist/esm/http/rest-client.js +181 -0
- package/dist/esm/index.d.ts +64 -0
- package/dist/esm/index.js +38 -0
- package/dist/esm/node/config-manager.d.ts +34 -0
- package/dist/esm/node/config-manager.js +140 -0
- package/dist/esm/node/index.d.ts +1 -0
- package/dist/esm/node/index.js +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/react/context.d.ts +23 -0
- package/dist/esm/react/context.js +28 -0
- package/dist/esm/react/index.d.ts +38 -0
- package/dist/esm/react/index.js +21 -0
- package/dist/esm/react/messageRangeStore.d.ts +93 -0
- package/dist/esm/react/messageRangeStore.js +140 -0
- package/dist/esm/react/sharedQueryClient.d.ts +21 -0
- package/dist/esm/react/sharedQueryClient.js +35 -0
- package/dist/esm/react/useAgentChannel.d.ts +8 -0
- package/dist/esm/react/useAgentChannel.js +9 -0
- package/dist/esm/react/useAgentConnections.d.ts +8 -0
- package/dist/esm/react/useAgentConnections.js +20 -0
- package/dist/esm/react/useAgentTokenState.d.ts +70 -0
- package/dist/esm/react/useAgentTokenState.js +127 -0
- package/dist/esm/react/useChannelAggregate.d.ts +64 -0
- package/dist/esm/react/useChannelAggregate.js +77 -0
- package/dist/esm/react/useChannelMessage.d.ts +45 -0
- package/dist/esm/react/useChannelMessage.js +79 -0
- package/dist/esm/react/useChannelMessages.d.ts +83 -0
- package/dist/esm/react/useChannelMessages.js +214 -0
- package/dist/esm/react/useChannelSubscription.d.ts +27 -0
- package/dist/esm/react/useChannelSubscription.js +30 -0
- package/dist/esm/react/useClientStatus.d.ts +10 -0
- package/dist/esm/react/useClientStatus.js +19 -0
- package/dist/esm/react/useConnectionState.d.ts +26 -0
- package/dist/esm/react/useConnectionState.js +45 -0
- package/dist/esm/react/useDeviceMap.d.ts +109 -0
- package/dist/esm/react/useDeviceMap.js +59 -0
- package/dist/esm/react/useInvocationLogs.d.ts +23 -0
- package/dist/esm/react/useInvocationLogs.js +37 -0
- package/dist/esm/react/useMultiAgentAggregates.d.ts +38 -0
- package/dist/esm/react/useMultiAgentAggregates.js +104 -0
- package/dist/esm/react/useMultiAgentChannelMessages.d.ts +79 -0
- package/dist/esm/react/useMultiAgentChannelMessages.js +169 -0
- package/dist/esm/react/useOfflineStatus.d.ts +8 -0
- package/dist/esm/react/useOfflineStatus.js +37 -0
- package/dist/esm/react/useSendMessage.d.ts +16 -0
- package/dist/esm/react/useSendMessage.js +26 -0
- package/dist/esm/react/useSendRpc.d.ts +68 -0
- package/dist/esm/react/useSendRpc.js +164 -0
- package/dist/esm/react/useTurnCredentials.d.ts +12 -0
- package/dist/esm/react/useTurnCredentials.js +22 -0
- package/dist/esm/react/useUpdateAggregate.d.ts +27 -0
- package/dist/esm/react/useUpdateAggregate.js +39 -0
- package/dist/esm/react/useUpdateMessage.d.ts +38 -0
- package/dist/esm/react/useUpdateMessage.js +36 -0
- package/dist/esm/refine/index.d.ts +72 -0
- package/dist/esm/refine/index.js +215 -0
- package/dist/esm/rpc/errors.d.ts +10 -0
- package/dist/esm/rpc/errors.js +19 -0
- package/dist/esm/rpc/index.d.ts +3 -0
- package/dist/esm/rpc/index.js +2 -0
- package/dist/esm/rpc/rpc-dispatcher.d.ts +41 -0
- package/dist/esm/rpc/rpc-dispatcher.js +141 -0
- package/dist/esm/types/audit.d.ts +53 -0
- package/dist/esm/types/audit.js +11 -0
- package/dist/esm/types/batch.d.ts +85 -0
- package/dist/esm/types/batch.js +42 -0
- package/dist/esm/types/common.d.ts +250 -0
- package/dist/esm/types/connection.d.ts +72 -0
- package/dist/esm/types/connection.js +7 -0
- package/dist/esm/types/index.d.ts +9 -0
- package/dist/esm/types/openapi.d.ts +195 -0
- package/dist/esm/types/provenance.d.ts +45 -0
- package/dist/esm/types/viewer.d.ts +122 -0
- package/dist/esm/utils/snowflake.d.ts +21 -0
- package/dist/esm/utils/snowflake.js +33 -0
- package/dist/esm/viewer/doover-data-provider.d.ts +90 -0
- package/dist/esm/viewer/doover-data-provider.js +189 -0
- package/dist/esm/viewer/path-parsing.d.ts +5 -0
- package/dist/esm/viewer/path-parsing.js +35 -0
- package/dist/gateway/gateway-client.d.ts +5 -5
- package/dist/gateway/gateway-client.js +5 -5
- package/dist/gateway/index.d.ts +3 -0
- package/dist/gateway/index.js +5 -0
- package/dist/gateway/types.d.ts +1 -1
- package/dist/http/index.d.ts +3 -0
- package/dist/http/index.js +9 -0
- package/dist/http/rest-client.d.ts +5 -3
- package/dist/http/rest-client.js +2 -2
- package/dist/index.d.ts +64 -62
- package/dist/index.js +92 -89
- package/dist/node/config-manager.d.ts +2 -2
- package/dist/node/config-manager.js +5 -5
- package/dist/node/index.d.ts +1 -1
- package/dist/node/index.js +2 -2
- package/dist/react/context.d.ts +1 -1
- package/dist/react/index.d.ts +38 -38
- package/dist/react/index.js +59 -59
- package/dist/react/messageRangeStore.d.ts +1 -1
- package/dist/react/useAgentChannel.d.ts +3 -3
- package/dist/react/useAgentChannel.js +2 -2
- package/dist/react/useAgentConnections.d.ts +1 -1
- package/dist/react/useAgentConnections.js +2 -2
- package/dist/react/useAgentTokenState.d.ts +3 -3
- package/dist/react/useAgentTokenState.js +8 -8
- package/dist/react/useChannelAggregate.d.ts +3 -3
- package/dist/react/useChannelAggregate.js +8 -8
- package/dist/react/useChannelMessage.d.ts +2 -2
- package/dist/react/useChannelMessage.js +4 -4
- package/dist/react/useChannelMessages.d.ts +3 -3
- package/dist/react/useChannelMessages.js +10 -10
- package/dist/react/useChannelSubscription.d.ts +2 -2
- package/dist/react/useChannelSubscription.js +2 -2
- package/dist/react/useClientStatus.d.ts +1 -1
- package/dist/react/useClientStatus.js +2 -2
- package/dist/react/useConnectionState.js +2 -2
- package/dist/react/useDeviceMap.js +2 -2
- package/dist/react/useInvocationLogs.d.ts +1 -1
- package/dist/react/useInvocationLogs.js +2 -2
- package/dist/react/useMultiAgentAggregates.d.ts +1 -1
- package/dist/react/useMultiAgentAggregates.js +5 -5
- package/dist/react/useMultiAgentChannelMessages.d.ts +1 -1
- package/dist/react/useMultiAgentChannelMessages.js +2 -2
- package/dist/react/useOfflineStatus.d.ts +2 -2
- package/dist/react/useOfflineStatus.js +31 -17
- package/dist/react/useSendMessage.d.ts +2 -2
- package/dist/react/useSendMessage.js +2 -2
- package/dist/react/useSendRpc.d.ts +2 -2
- package/dist/react/useSendRpc.js +2 -2
- package/dist/react/useTurnCredentials.d.ts +2 -2
- package/dist/react/useTurnCredentials.js +2 -2
- package/dist/react/useUpdateAggregate.d.ts +3 -3
- package/dist/react/useUpdateAggregate.js +4 -4
- package/dist/react/useUpdateMessage.d.ts +2 -2
- package/dist/react/useUpdateMessage.js +2 -2
- package/dist/refine/index.d.ts +1 -1
- package/dist/rpc/errors.d.ts +1 -1
- package/dist/rpc/index.d.ts +3 -0
- package/dist/rpc/index.js +7 -0
- package/dist/rpc/rpc-dispatcher.d.ts +4 -4
- package/dist/rpc/rpc-dispatcher.js +2 -2
- package/dist/types/common.d.ts +1 -1
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.js +2 -0
- package/dist/types/openapi.d.ts +1 -1
- package/dist/types/viewer.d.ts +2 -2
- package/dist/viewer/doover-data-provider.d.ts +10 -10
- package/dist/viewer/doover-data-provider.js +25 -25
- package/dist/viewer/path-parsing.d.ts +1 -1
- package/package.json +795 -8
- package/dist/test/api-args.test.js +0 -48
- package/dist/test/api-overloads.test.d.ts +0 -9
- package/dist/test/api-overloads.test.js +0 -330
- package/dist/test/apis.test.js +0 -408
- package/dist/test/auth.test.js +0 -708
- package/dist/test/batch-apis.test.js +0 -183
- package/dist/test/capabilities.test.js +0 -27
- package/dist/test/config-manager.test.js +0 -160
- package/dist/test/data-client-errors.test.js +0 -24
- package/dist/test/data-client-shape.test.js +0 -28
- package/dist/test/doover-client-dataclient.test.d.ts +0 -1
- package/dist/test/doover-client-dataclient.test.js +0 -58
- package/dist/test/doover-client-provenance.test.d.ts +0 -1
- package/dist/test/doover-client-provenance.test.js +0 -32
- package/dist/test/doover-client.test.d.ts +0 -1
- package/dist/test/doover-client.test.js +0 -42
- package/dist/test/doover-data-provider.test.d.ts +0 -1
- package/dist/test/doover-data-provider.test.js +0 -657
- package/dist/test/exports.test.d.ts +0 -1
- package/dist/test/exports.test.js +0 -80
- package/dist/test/gateway-client.test.d.ts +0 -1
- package/dist/test/gateway-client.test.js +0 -474
- package/dist/test/gateway-provenance.test.d.ts +0 -1
- package/dist/test/gateway-provenance.test.js +0 -29
- package/dist/test/gateway-subscriptions.test.d.ts +0 -1
- package/dist/test/gateway-subscriptions.test.js +0 -95
- package/dist/test/helpers.d.ts +0 -32
- package/dist/test/helpers.js +0 -115
- package/dist/test/local-agent-client.test.d.ts +0 -1
- package/dist/test/local-agent-client.test.js +0 -202
- package/dist/test/message-range-store.test.d.ts +0 -1
- package/dist/test/message-range-store.test.js +0 -183
- package/dist/test/multiplex-capabilities.test.d.ts +0 -1
- package/dist/test/multiplex-capabilities.test.js +0 -37
- package/dist/test/multiplex-conflicts.test.d.ts +0 -1
- package/dist/test/multiplex-conflicts.test.js +0 -35
- package/dist/test/multiplex-gateway.test.d.ts +0 -1
- package/dist/test/multiplex-gateway.test.js +0 -103
- package/dist/test/multiplex-merge.test.d.ts +0 -1
- package/dist/test/multiplex-merge.test.js +0 -19
- package/dist/test/multiplex-noncore.test.d.ts +0 -1
- package/dist/test/multiplex-noncore.test.js +0 -82
- package/dist/test/multiplex-passthrough.test.d.ts +0 -1
- package/dist/test/multiplex-passthrough.test.js +0 -35
- package/dist/test/multiplex-reads.test.d.ts +0 -1
- package/dist/test/multiplex-reads.test.js +0 -87
- package/dist/test/multiplex-registry.test.d.ts +0 -1
- package/dist/test/multiplex-registry.test.js +0 -81
- package/dist/test/multiplex-routing.test.d.ts +0 -1
- package/dist/test/multiplex-routing.test.js +0 -45
- package/dist/test/multiplex-status.test.d.ts +0 -1
- package/dist/test/multiplex-status.test.js +0 -63
- package/dist/test/multiplex-writes.test.d.ts +0 -1
- package/dist/test/multiplex-writes.test.js +0 -93
- package/dist/test/offline-cache.test.d.ts +0 -1
- package/dist/test/offline-cache.test.js +0 -289
- package/dist/test/provenance-regression.test.d.ts +0 -1
- package/dist/test/provenance-regression.test.js +0 -45
- package/dist/test/provenance-stamper.test.d.ts +0 -1
- package/dist/test/provenance-stamper.test.js +0 -41
- package/dist/test/provenance-type.test.d.ts +0 -1
- package/dist/test/provenance-type.test.js +0 -15
- package/dist/test/react-channel-messages-forward.test.d.ts +0 -1
- package/dist/test/react-channel-messages-forward.test.js +0 -139
- package/dist/test/react-channel-messages-range.test.d.ts +0 -1
- package/dist/test/react-channel-messages-range.test.js +0 -109
- package/dist/test/react-client-status.test.d.ts +0 -1
- package/dist/test/react-client-status.test.js +0 -35
- package/dist/test/react-dataclient.test.d.ts +0 -1
- package/dist/test/react-dataclient.test.js +0 -28
- package/dist/test/react-exports.test.d.ts +0 -1
- package/dist/test/react-exports.test.js +0 -46
- package/dist/test/react-multiagent-messages.test.d.ts +0 -1
- package/dist/test/react-multiagent-messages.test.js +0 -113
- package/dist/test/react-sources-option.test.d.ts +0 -1
- package/dist/test/react-sources-option.test.js +0 -41
- package/dist/test/react.test.d.ts +0 -1
- package/dist/test/react.test.js +0 -482
- package/dist/test/refine.test.d.ts +0 -1
- package/dist/test/refine.test.js +0 -71
- package/dist/test/rest-client.test.d.ts +0 -1
- package/dist/test/rest-client.test.js +0 -197
- package/dist/test/rpc-dispatcher.test.d.ts +0 -1
- package/dist/test/rpc-dispatcher.test.js +0 -251
- package/dist/test/singleton.test.d.ts +0 -1
- package/dist/test/singleton.test.js +0 -62
- package/dist/test/stats-rpc.test.d.ts +0 -1
- package/dist/test/stats-rpc.test.js +0 -69
- package/dist/test/status-tracker.test.d.ts +0 -1
- package/dist/test/status-tracker.test.js +0 -85
- package/dist/test/users-api.test.d.ts +0 -1
- package/dist/test/users-api.test.js +0 -19
- package/dist/test/utils.test.d.ts +0 -1
- package/dist/test/utils.test.js +0 -64
- /package/dist/{test/api-args.test.d.ts → esm/auth/auth-store.js} +0 -0
- /package/dist/{test/apis.test.d.ts → esm/client/data-client.js} +0 -0
- /package/dist/{test/auth.test.d.ts → esm/gateway/types.js} +0 -0
- /package/dist/{test/batch-apis.test.d.ts → esm/types/common.js} +0 -0
- /package/dist/{test/capabilities.test.d.ts → esm/types/index.js} +0 -0
- /package/dist/{test/config-manager.test.d.ts → esm/types/openapi.js} +0 -0
- /package/dist/{test/data-client-errors.test.d.ts → esm/types/provenance.js} +0 -0
- /package/dist/{test/data-client-shape.test.d.ts → esm/types/viewer.js} +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { RestClient } from "../http/rest-client.js";
|
|
2
|
+
import type { Alarm, CreateAlarmRequest, PatchAlarmRequest } from "../types/openapi.js";
|
|
3
|
+
export declare class AlarmsApi {
|
|
4
|
+
private readonly rest;
|
|
5
|
+
constructor(rest: RestClient);
|
|
6
|
+
/** Every alarm on every channel of an agent the caller can see. */
|
|
7
|
+
listAgentAlarms(agentId: string): Promise<Alarm[]>;
|
|
8
|
+
listAgentAlarms(identifier: {
|
|
9
|
+
agentId: string;
|
|
10
|
+
}): Promise<Alarm[]>;
|
|
11
|
+
private _listAgentAlarms;
|
|
12
|
+
listAlarms(agentId: string, channelName: string): Promise<Alarm[]>;
|
|
13
|
+
listAlarms(identifier: {
|
|
14
|
+
agentId: string;
|
|
15
|
+
channelName: string;
|
|
16
|
+
}): Promise<Alarm[]>;
|
|
17
|
+
private _listAlarms;
|
|
18
|
+
createAlarm(agentId: string, channelName: string, body: CreateAlarmRequest): Promise<Alarm>;
|
|
19
|
+
createAlarm(identifier: {
|
|
20
|
+
agentId: string;
|
|
21
|
+
channelName: string;
|
|
22
|
+
}, body: CreateAlarmRequest): Promise<Alarm>;
|
|
23
|
+
private _createAlarm;
|
|
24
|
+
getAlarm(agentId: string, channelName: string, alarmId: string): Promise<Alarm>;
|
|
25
|
+
getAlarm(identifier: {
|
|
26
|
+
agentId: string;
|
|
27
|
+
channelName: string;
|
|
28
|
+
}, alarmId: string): Promise<Alarm>;
|
|
29
|
+
private _getAlarm;
|
|
30
|
+
putAlarm(agentId: string, channelName: string, alarmId: string, body: CreateAlarmRequest): Promise<Alarm>;
|
|
31
|
+
putAlarm(identifier: {
|
|
32
|
+
agentId: string;
|
|
33
|
+
channelName: string;
|
|
34
|
+
}, alarmId: string, body: CreateAlarmRequest): Promise<Alarm>;
|
|
35
|
+
private _putAlarm;
|
|
36
|
+
patchAlarm(agentId: string, channelName: string, alarmId: string, body: PatchAlarmRequest): Promise<Alarm>;
|
|
37
|
+
patchAlarm(identifier: {
|
|
38
|
+
agentId: string;
|
|
39
|
+
channelName: string;
|
|
40
|
+
}, alarmId: string, body: PatchAlarmRequest): Promise<Alarm>;
|
|
41
|
+
private _patchAlarm;
|
|
42
|
+
deleteAlarm(agentId: string, channelName: string, alarmId: string): Promise<unknown>;
|
|
43
|
+
deleteAlarm(identifier: {
|
|
44
|
+
agentId: string;
|
|
45
|
+
channelName: string;
|
|
46
|
+
}, alarmId: string): Promise<unknown>;
|
|
47
|
+
private _deleteAlarm;
|
|
48
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { resolveAgentArgs, resolveChannelArgs } from "./_args.js";
|
|
2
|
+
export class AlarmsApi {
|
|
3
|
+
constructor(rest) {
|
|
4
|
+
this.rest = rest;
|
|
5
|
+
}
|
|
6
|
+
listAgentAlarms(...args) {
|
|
7
|
+
const { agentId } = resolveAgentArgs(args);
|
|
8
|
+
return this._listAgentAlarms(agentId);
|
|
9
|
+
}
|
|
10
|
+
_listAgentAlarms(agentId) {
|
|
11
|
+
return this.rest.get(`/agents/${agentId}/alarms`);
|
|
12
|
+
}
|
|
13
|
+
listAlarms(...args) {
|
|
14
|
+
const { agentId, channelName } = resolveChannelArgs(args);
|
|
15
|
+
return this._listAlarms(agentId, channelName);
|
|
16
|
+
}
|
|
17
|
+
_listAlarms(agentId, channelName) {
|
|
18
|
+
return this.rest.get(`/agents/${agentId}/channels/${channelName}/alarms`);
|
|
19
|
+
}
|
|
20
|
+
createAlarm(...args) {
|
|
21
|
+
if (typeof args[0] === "string") {
|
|
22
|
+
const [agentId, channelName, body] = args;
|
|
23
|
+
return this._createAlarm(agentId, channelName, body);
|
|
24
|
+
}
|
|
25
|
+
const id = args[0];
|
|
26
|
+
return this._createAlarm(id.agentId, id.channelName, args[1]);
|
|
27
|
+
}
|
|
28
|
+
_createAlarm(agentId, channelName, body) {
|
|
29
|
+
return this.rest.post(`/agents/${agentId}/channels/${channelName}/alarms`, body);
|
|
30
|
+
}
|
|
31
|
+
getAlarm(...args) {
|
|
32
|
+
if (typeof args[0] === "string") {
|
|
33
|
+
const [agentId, channelName, alarmId] = args;
|
|
34
|
+
return this._getAlarm(agentId, channelName, alarmId);
|
|
35
|
+
}
|
|
36
|
+
const id = args[0];
|
|
37
|
+
return this._getAlarm(id.agentId, id.channelName, args[1]);
|
|
38
|
+
}
|
|
39
|
+
_getAlarm(agentId, channelName, alarmId) {
|
|
40
|
+
return this.rest.get(`/agents/${agentId}/channels/${channelName}/alarms/${alarmId}`);
|
|
41
|
+
}
|
|
42
|
+
putAlarm(...args) {
|
|
43
|
+
if (typeof args[0] === "string") {
|
|
44
|
+
const [agentId, channelName, alarmId, body] = args;
|
|
45
|
+
return this._putAlarm(agentId, channelName, alarmId, body);
|
|
46
|
+
}
|
|
47
|
+
const id = args[0];
|
|
48
|
+
return this._putAlarm(id.agentId, id.channelName, args[1], args[2]);
|
|
49
|
+
}
|
|
50
|
+
_putAlarm(agentId, channelName, alarmId, body) {
|
|
51
|
+
return this.rest.put(`/agents/${agentId}/channels/${channelName}/alarms/${alarmId}`, body);
|
|
52
|
+
}
|
|
53
|
+
patchAlarm(...args) {
|
|
54
|
+
if (typeof args[0] === "string") {
|
|
55
|
+
const [agentId, channelName, alarmId, body] = args;
|
|
56
|
+
return this._patchAlarm(agentId, channelName, alarmId, body);
|
|
57
|
+
}
|
|
58
|
+
const id = args[0];
|
|
59
|
+
return this._patchAlarm(id.agentId, id.channelName, args[1], args[2]);
|
|
60
|
+
}
|
|
61
|
+
_patchAlarm(agentId, channelName, alarmId, body) {
|
|
62
|
+
return this.rest.patch(`/agents/${agentId}/channels/${channelName}/alarms/${alarmId}`, body);
|
|
63
|
+
}
|
|
64
|
+
deleteAlarm(...args) {
|
|
65
|
+
if (typeof args[0] === "string") {
|
|
66
|
+
const [agentId, channelName, alarmId] = args;
|
|
67
|
+
return this._deleteAlarm(agentId, channelName, alarmId);
|
|
68
|
+
}
|
|
69
|
+
const id = args[0];
|
|
70
|
+
return this._deleteAlarm(id.agentId, id.channelName, args[1]);
|
|
71
|
+
}
|
|
72
|
+
_deleteAlarm(agentId, channelName, alarmId) {
|
|
73
|
+
return this.rest.delete(`/agents/${agentId}/channels/${channelName}/alarms/${alarmId}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { RestClient } from "../http/rest-client.js";
|
|
2
|
+
import type { Channel, CreateChannelRequest, DataSeries, PutChannelRequest } from "../types/openapi.js";
|
|
3
|
+
import type { DooverRequestOptions } from "../client/request-options.js";
|
|
4
|
+
export interface ListChannelsOptions {
|
|
5
|
+
include_aggregate?: boolean;
|
|
6
|
+
include_daily_summaries?: boolean;
|
|
7
|
+
include_archived?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface GetChannelOptions {
|
|
10
|
+
include_aggregate?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface DataSeriesParams {
|
|
13
|
+
before?: string;
|
|
14
|
+
after?: string;
|
|
15
|
+
limit?: number;
|
|
16
|
+
field_name: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare class ChannelsApi {
|
|
19
|
+
private readonly rest;
|
|
20
|
+
constructor(rest: RestClient);
|
|
21
|
+
listChannels(agentId: string, options?: ListChannelsOptions): Promise<Channel[]>;
|
|
22
|
+
listChannels(agentId: string, requestOptions: DooverRequestOptions): Promise<Channel[]>;
|
|
23
|
+
listChannels(agentId: string, options: ListChannelsOptions, requestOptions: DooverRequestOptions): Promise<Channel[]>;
|
|
24
|
+
listChannels(identifier: {
|
|
25
|
+
agentId: string;
|
|
26
|
+
}, options?: ListChannelsOptions): Promise<Channel[]>;
|
|
27
|
+
listChannels(identifier: {
|
|
28
|
+
agentId: string;
|
|
29
|
+
}, requestOptions: DooverRequestOptions): Promise<Channel[]>;
|
|
30
|
+
listChannels(identifier: {
|
|
31
|
+
agentId: string;
|
|
32
|
+
}, options: ListChannelsOptions, requestOptions: DooverRequestOptions): Promise<Channel[]>;
|
|
33
|
+
private _listChannels;
|
|
34
|
+
getChannel(agentId: string, channelName: string, options?: GetChannelOptions): Promise<Channel>;
|
|
35
|
+
getChannel(agentId: string, channelName: string, requestOptions: DooverRequestOptions): Promise<Channel>;
|
|
36
|
+
getChannel(agentId: string, channelName: string, options: GetChannelOptions, requestOptions: DooverRequestOptions): Promise<Channel>;
|
|
37
|
+
getChannel(identifier: {
|
|
38
|
+
agentId: string;
|
|
39
|
+
channelName: string;
|
|
40
|
+
}, options?: GetChannelOptions): Promise<Channel>;
|
|
41
|
+
getChannel(identifier: {
|
|
42
|
+
agentId: string;
|
|
43
|
+
channelName: string;
|
|
44
|
+
}, requestOptions: DooverRequestOptions): Promise<Channel>;
|
|
45
|
+
getChannel(identifier: {
|
|
46
|
+
agentId: string;
|
|
47
|
+
channelName: string;
|
|
48
|
+
}, options: GetChannelOptions, requestOptions: DooverRequestOptions): Promise<Channel>;
|
|
49
|
+
private _getChannel;
|
|
50
|
+
createChannel(agentId: string, channelName: string, body: CreateChannelRequest): Promise<{
|
|
51
|
+
id: string;
|
|
52
|
+
}>;
|
|
53
|
+
createChannel(identifier: {
|
|
54
|
+
agentId: string;
|
|
55
|
+
channelName: string;
|
|
56
|
+
}, body: CreateChannelRequest): Promise<{
|
|
57
|
+
id: string;
|
|
58
|
+
}>;
|
|
59
|
+
private _createChannel;
|
|
60
|
+
putChannel(agentId: string, channelName: string, body: PutChannelRequest): Promise<Channel>;
|
|
61
|
+
putChannel(identifier: {
|
|
62
|
+
agentId: string;
|
|
63
|
+
channelName: string;
|
|
64
|
+
}, body: PutChannelRequest): Promise<Channel>;
|
|
65
|
+
private _putChannel;
|
|
66
|
+
archiveChannel(agentId: string, channelName: string): Promise<unknown>;
|
|
67
|
+
archiveChannel(identifier: {
|
|
68
|
+
agentId: string;
|
|
69
|
+
channelName: string;
|
|
70
|
+
}): Promise<unknown>;
|
|
71
|
+
private _archiveChannel;
|
|
72
|
+
unarchiveChannel(agentId: string, channelName: string): Promise<unknown>;
|
|
73
|
+
unarchiveChannel(identifier: {
|
|
74
|
+
agentId: string;
|
|
75
|
+
channelName: string;
|
|
76
|
+
}): Promise<unknown>;
|
|
77
|
+
private _unarchiveChannel;
|
|
78
|
+
listDataSeries(agentId: string, params: DataSeriesParams): Promise<DataSeries>;
|
|
79
|
+
listDataSeries(identifier: {
|
|
80
|
+
agentId: string;
|
|
81
|
+
}, params: DataSeriesParams): Promise<DataSeries>;
|
|
82
|
+
private _listDataSeries;
|
|
83
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { resolveAgentArgs, resolveChannelArgs } from "./_args.js";
|
|
2
|
+
export class ChannelsApi {
|
|
3
|
+
constructor(rest) {
|
|
4
|
+
this.rest = rest;
|
|
5
|
+
}
|
|
6
|
+
listChannels(...args) {
|
|
7
|
+
const { agentId, options } = resolveAgentArgs(args);
|
|
8
|
+
return this._listChannels(agentId, options);
|
|
9
|
+
}
|
|
10
|
+
_listChannels(agentId, options) {
|
|
11
|
+
return this.rest.get(`/agents/${agentId}/channels`, options);
|
|
12
|
+
}
|
|
13
|
+
getChannel(...args) {
|
|
14
|
+
const { agentId, channelName, options } = resolveChannelArgs(args);
|
|
15
|
+
return this._getChannel(agentId, channelName, options);
|
|
16
|
+
}
|
|
17
|
+
_getChannel(agentId, channelName, options) {
|
|
18
|
+
return this.rest.get(`/agents/${agentId}/channels/${channelName}`, options);
|
|
19
|
+
}
|
|
20
|
+
createChannel(...args) {
|
|
21
|
+
if (typeof args[0] === "string") {
|
|
22
|
+
const [agentId, channelName, body] = args;
|
|
23
|
+
return this._createChannel(agentId, channelName, body);
|
|
24
|
+
}
|
|
25
|
+
const id = args[0];
|
|
26
|
+
const body = args[1];
|
|
27
|
+
return this._createChannel(id.agentId, id.channelName, body);
|
|
28
|
+
}
|
|
29
|
+
_createChannel(agentId, channelName, body) {
|
|
30
|
+
return this.rest.post(`/agents/${agentId}/channels/${channelName}`, body);
|
|
31
|
+
}
|
|
32
|
+
putChannel(...args) {
|
|
33
|
+
if (typeof args[0] === "string") {
|
|
34
|
+
const [agentId, channelName, body] = args;
|
|
35
|
+
return this._putChannel(agentId, channelName, body);
|
|
36
|
+
}
|
|
37
|
+
const id = args[0];
|
|
38
|
+
const body = args[1];
|
|
39
|
+
return this._putChannel(id.agentId, id.channelName, body);
|
|
40
|
+
}
|
|
41
|
+
_putChannel(agentId, channelName, body) {
|
|
42
|
+
return this.rest.put(`/agents/${agentId}/channels/${channelName}`, body);
|
|
43
|
+
}
|
|
44
|
+
archiveChannel(...args) {
|
|
45
|
+
const { agentId, channelName } = resolveChannelArgs(args);
|
|
46
|
+
return this._archiveChannel(agentId, channelName);
|
|
47
|
+
}
|
|
48
|
+
_archiveChannel(agentId, channelName) {
|
|
49
|
+
return this.rest.post(`/agents/${agentId}/channels/${channelName}/archive`, {});
|
|
50
|
+
}
|
|
51
|
+
unarchiveChannel(...args) {
|
|
52
|
+
const { agentId, channelName } = resolveChannelArgs(args);
|
|
53
|
+
return this._unarchiveChannel(agentId, channelName);
|
|
54
|
+
}
|
|
55
|
+
_unarchiveChannel(agentId, channelName) {
|
|
56
|
+
return this.rest.post(`/agents/${agentId}/channels/${channelName}/unarchive`, {});
|
|
57
|
+
}
|
|
58
|
+
listDataSeries(...args) {
|
|
59
|
+
const { agentId, options } = resolveAgentArgs(args);
|
|
60
|
+
return this._listDataSeries(agentId, options);
|
|
61
|
+
}
|
|
62
|
+
_listDataSeries(agentId, params) {
|
|
63
|
+
return this.rest.get(`/agents/${agentId}/data_series`, params);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { RestClient } from "../http/rest-client.js";
|
|
2
|
+
import type { ConnectionDetails, ConnectionSubscription, ConnectionSubscriptionLog } from "../types/openapi.js";
|
|
3
|
+
export interface ConnectionHistoryParams {
|
|
4
|
+
before?: string;
|
|
5
|
+
after?: string;
|
|
6
|
+
limit?: number;
|
|
7
|
+
default_connection?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface SubscriptionHistoryParams {
|
|
10
|
+
before?: string;
|
|
11
|
+
after?: string;
|
|
12
|
+
limit?: number;
|
|
13
|
+
channel: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class ConnectionsApi {
|
|
16
|
+
private readonly rest;
|
|
17
|
+
constructor(rest: RestClient);
|
|
18
|
+
getAgentConnections(agentId: string): Promise<ConnectionDetails[]>;
|
|
19
|
+
getAgentConnections(identifier: {
|
|
20
|
+
agentId: string;
|
|
21
|
+
}): Promise<ConnectionDetails[]>;
|
|
22
|
+
private _getAgentConnections;
|
|
23
|
+
getAgentConnectionHistory(agentId: string, params: ConnectionHistoryParams): Promise<ConnectionDetails[]>;
|
|
24
|
+
getAgentConnectionHistory(identifier: {
|
|
25
|
+
agentId: string;
|
|
26
|
+
}, params: ConnectionHistoryParams): Promise<ConnectionDetails[]>;
|
|
27
|
+
private _getAgentConnectionHistory;
|
|
28
|
+
getAgentSubscriptionHistory(agentId: string, params: SubscriptionHistoryParams): Promise<ConnectionSubscriptionLog[]>;
|
|
29
|
+
getAgentSubscriptionHistory(identifier: {
|
|
30
|
+
agentId: string;
|
|
31
|
+
}, params: SubscriptionHistoryParams): Promise<ConnectionSubscriptionLog[]>;
|
|
32
|
+
private _getAgentSubscriptionHistory;
|
|
33
|
+
getConnection(connectionId: string): Promise<ConnectionDetails>;
|
|
34
|
+
getChannelSubscriptions(agentId: string, channelName: string): Promise<ConnectionSubscription[]>;
|
|
35
|
+
getChannelSubscriptions(identifier: {
|
|
36
|
+
agentId: string;
|
|
37
|
+
channelName: string;
|
|
38
|
+
}): Promise<ConnectionSubscription[]>;
|
|
39
|
+
private _getChannelSubscriptions;
|
|
40
|
+
syncConnection(agentId: string): Promise<unknown>;
|
|
41
|
+
syncConnection(identifier: {
|
|
42
|
+
agentId: string;
|
|
43
|
+
}): Promise<unknown>;
|
|
44
|
+
private _syncConnection;
|
|
45
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { resolveAgentArgs, resolveChannelArgs } from "./_args.js";
|
|
2
|
+
export class ConnectionsApi {
|
|
3
|
+
constructor(rest) {
|
|
4
|
+
this.rest = rest;
|
|
5
|
+
}
|
|
6
|
+
getAgentConnections(...args) {
|
|
7
|
+
const { agentId } = resolveAgentArgs(args);
|
|
8
|
+
return this._getAgentConnections(agentId);
|
|
9
|
+
}
|
|
10
|
+
_getAgentConnections(agentId) {
|
|
11
|
+
return this.rest.get(`/agents/${agentId}/wss_connections`);
|
|
12
|
+
}
|
|
13
|
+
getAgentConnectionHistory(...args) {
|
|
14
|
+
const { agentId, options } = resolveAgentArgs(args);
|
|
15
|
+
return this._getAgentConnectionHistory(agentId, options);
|
|
16
|
+
}
|
|
17
|
+
_getAgentConnectionHistory(agentId, params) {
|
|
18
|
+
return this.rest.get(`/agents/${agentId}/wss_connections/history`, params);
|
|
19
|
+
}
|
|
20
|
+
getAgentSubscriptionHistory(...args) {
|
|
21
|
+
const { agentId, options } = resolveAgentArgs(args);
|
|
22
|
+
return this._getAgentSubscriptionHistory(agentId, options);
|
|
23
|
+
}
|
|
24
|
+
_getAgentSubscriptionHistory(agentId, params) {
|
|
25
|
+
return this.rest.get(`/agents/${agentId}/wss_connections/subscriptions/history`, params);
|
|
26
|
+
}
|
|
27
|
+
getConnection(connectionId) {
|
|
28
|
+
return this.rest.get(`/connections/${connectionId}`);
|
|
29
|
+
}
|
|
30
|
+
getChannelSubscriptions(...args) {
|
|
31
|
+
const { agentId, channelName } = resolveChannelArgs(args);
|
|
32
|
+
return this._getChannelSubscriptions(agentId, channelName);
|
|
33
|
+
}
|
|
34
|
+
_getChannelSubscriptions(agentId, channelName) {
|
|
35
|
+
return this.rest.get(`/agents/${agentId}/channels/${channelName}/subscriptions`);
|
|
36
|
+
}
|
|
37
|
+
syncConnection(...args) {
|
|
38
|
+
const { agentId } = resolveAgentArgs(args);
|
|
39
|
+
return this._syncConnection(agentId);
|
|
40
|
+
}
|
|
41
|
+
_syncConnection(agentId) {
|
|
42
|
+
return this.rest.post(`/agents/${agentId}/connection_sync`, {});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { RestClient } from "../http/rest-client.js";
|
|
2
|
+
import type { CreateMessageRequest, DataSeries, MessageStructure, UpdateMessageRequest } from "../types/openapi.js";
|
|
3
|
+
import type { DooverRequestOptions } from "../client/request-options.js";
|
|
4
|
+
import { type BatchCreateMessageItem, type BatchDeleteMessageItem, type BatchMessageResponse, type BatchUpdateMessageItem } from "../types/batch.js";
|
|
5
|
+
export interface ListMessagesParams {
|
|
6
|
+
before?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Lower-bound cursor (exclusive). With `before` set (or defaulted) it merely
|
|
9
|
+
* floors the window. On its own — `after` set, `before` omitted — it pages
|
|
10
|
+
* *forward*: the server returns the `limit` **oldest** messages strictly
|
|
11
|
+
* newer than the cursor, oldest-first. This is the only way to walk history
|
|
12
|
+
* upward toward "now".
|
|
13
|
+
*/
|
|
14
|
+
after?: string;
|
|
15
|
+
limit?: number;
|
|
16
|
+
field_name?: string[];
|
|
17
|
+
/**
|
|
18
|
+
* Result order. `"desc"` (default) returns the server's native newest-first
|
|
19
|
+
* order; `"asc"` reverses the array client-side so the oldest message is at
|
|
20
|
+
* index 0.
|
|
21
|
+
*/
|
|
22
|
+
order?: "asc" | "desc";
|
|
23
|
+
/**
|
|
24
|
+
* Opt into paginated timeseries responses (`getTimeseries` only). When true
|
|
25
|
+
* the server returns a `next` cursor alongside `{ results, count }`; pass it
|
|
26
|
+
* back as `before` to page through results.
|
|
27
|
+
*/
|
|
28
|
+
paginate?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface MessageMutationParams {
|
|
31
|
+
suppress_response?: boolean;
|
|
32
|
+
clear_attachments?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export type MessageBody = CreateMessageRequest | UpdateMessageRequest | FormData;
|
|
35
|
+
export declare class MessagesApi {
|
|
36
|
+
private readonly rest;
|
|
37
|
+
constructor(rest: RestClient);
|
|
38
|
+
listMessages(agentId: string, channelName: string, params?: ListMessagesParams): Promise<MessageStructure[]>;
|
|
39
|
+
listMessages(agentId: string, channelName: string, params: ListMessagesParams, requestOptions: DooverRequestOptions): Promise<MessageStructure[]>;
|
|
40
|
+
listMessages(identifier: {
|
|
41
|
+
agentId: string;
|
|
42
|
+
channelName: string;
|
|
43
|
+
}, params?: ListMessagesParams): Promise<MessageStructure[]>;
|
|
44
|
+
listMessages(identifier: {
|
|
45
|
+
agentId: string;
|
|
46
|
+
channelName: string;
|
|
47
|
+
}, params: ListMessagesParams, requestOptions: DooverRequestOptions): Promise<MessageStructure[]>;
|
|
48
|
+
private _listMessages;
|
|
49
|
+
postMessage(agentId: string, channelName: string, body: MessageBody): Promise<MessageStructure>;
|
|
50
|
+
postMessage(identifier: {
|
|
51
|
+
agentId: string;
|
|
52
|
+
channelName: string;
|
|
53
|
+
}, body: MessageBody): Promise<MessageStructure>;
|
|
54
|
+
private _postMessage;
|
|
55
|
+
getTimeseries(agentId: string, channelName: string, params: ListMessagesParams): Promise<DataSeries>;
|
|
56
|
+
getTimeseries(identifier: {
|
|
57
|
+
agentId: string;
|
|
58
|
+
channelName: string;
|
|
59
|
+
}, params: ListMessagesParams): Promise<DataSeries>;
|
|
60
|
+
private _getTimeseries;
|
|
61
|
+
getMessage(agentId: string, channelName: string, messageId: string): Promise<MessageStructure>;
|
|
62
|
+
getMessage(identifier: {
|
|
63
|
+
agentId: string;
|
|
64
|
+
channelName: string;
|
|
65
|
+
}, messageId: string): Promise<MessageStructure>;
|
|
66
|
+
private _getMessage;
|
|
67
|
+
putMessage(agentId: string, channelName: string, messageId: string, body: MessageBody, params?: MessageMutationParams): Promise<unknown>;
|
|
68
|
+
putMessage(identifier: {
|
|
69
|
+
agentId: string;
|
|
70
|
+
channelName: string;
|
|
71
|
+
}, messageId: string, body: MessageBody, params?: MessageMutationParams): Promise<unknown>;
|
|
72
|
+
private _putMessage;
|
|
73
|
+
patchMessage(agentId: string, channelName: string, messageId: string, body: MessageBody, params?: MessageMutationParams): Promise<unknown>;
|
|
74
|
+
patchMessage(identifier: {
|
|
75
|
+
agentId: string;
|
|
76
|
+
channelName: string;
|
|
77
|
+
}, messageId: string, body: MessageBody, params?: MessageMutationParams): Promise<unknown>;
|
|
78
|
+
private _patchMessage;
|
|
79
|
+
deleteMessage(agentId: string, channelName: string, messageId: string): Promise<unknown>;
|
|
80
|
+
deleteMessage(identifier: {
|
|
81
|
+
agentId: string;
|
|
82
|
+
channelName: string;
|
|
83
|
+
}, messageId: string): Promise<unknown>;
|
|
84
|
+
private _deleteMessage;
|
|
85
|
+
getMessageAttachment(agentId: string, channelName: string, messageId: string, attachmentId: string): Promise<Blob>;
|
|
86
|
+
getMessageAttachment(identifier: {
|
|
87
|
+
agentId: string;
|
|
88
|
+
channelName: string;
|
|
89
|
+
}, messageId: string, attachmentId: string): Promise<Blob>;
|
|
90
|
+
private _getMessageAttachment;
|
|
91
|
+
getInvocationLogs<TLog = unknown>(agentId: string, channelName: string, messageId: string): Promise<TLog[]>;
|
|
92
|
+
getInvocationLogs<TLog = unknown>(identifier: {
|
|
93
|
+
agentId: string;
|
|
94
|
+
channelName: string;
|
|
95
|
+
}, messageId: string): Promise<TLog[]>;
|
|
96
|
+
private _getInvocationLogs;
|
|
97
|
+
/**
|
|
98
|
+
* Create messages across many agents and channels in one request.
|
|
99
|
+
*
|
|
100
|
+
* Supply `message_id` per item where you can: the server's create path is
|
|
101
|
+
* not yet idempotent, so a retry after a lost response can otherwise
|
|
102
|
+
* duplicate the message and double-count the daily summary.
|
|
103
|
+
*/
|
|
104
|
+
batchPostMessages(items: BatchCreateMessageItem[]): Promise<BatchMessageResponse>;
|
|
105
|
+
batchPostMessages(items: BatchCreateMessageItem[], requestOptions: DooverRequestOptions): Promise<BatchMessageResponse>;
|
|
106
|
+
/** Merge-patch messages across many agents and channels in one request. */
|
|
107
|
+
batchPatchMessages(items: BatchUpdateMessageItem[]): Promise<BatchMessageResponse>;
|
|
108
|
+
batchPatchMessages(items: BatchUpdateMessageItem[], requestOptions: DooverRequestOptions): Promise<BatchMessageResponse>;
|
|
109
|
+
/** Replace messages across many agents and channels in one request. */
|
|
110
|
+
batchPutMessages(items: BatchUpdateMessageItem[]): Promise<BatchMessageResponse>;
|
|
111
|
+
batchPutMessages(items: BatchUpdateMessageItem[], requestOptions: DooverRequestOptions): Promise<BatchMessageResponse>;
|
|
112
|
+
/**
|
|
113
|
+
* Delete messages across many agents and channels in one request.
|
|
114
|
+
*
|
|
115
|
+
* Deletion is not idempotent server-side yet — a retried delete can
|
|
116
|
+
* decrement the daily summary twice — so retry only items the response
|
|
117
|
+
* reported as failed.
|
|
118
|
+
*/
|
|
119
|
+
batchDeleteMessages(items: BatchDeleteMessageItem[]): Promise<BatchMessageResponse>;
|
|
120
|
+
batchDeleteMessages(items: BatchDeleteMessageItem[], requestOptions: DooverRequestOptions): Promise<BatchMessageResponse>;
|
|
121
|
+
/**
|
|
122
|
+
* Shared driver for the four `/agents/messages` verbs. Chunks to the
|
|
123
|
+
* server's item ceiling and sends sequentially, so a long list doesn't
|
|
124
|
+
* reintroduce the burst that batching exists to remove.
|
|
125
|
+
*/
|
|
126
|
+
private _batchMessages;
|
|
127
|
+
createMultipartPayload(jsonPayload: Record<string, unknown>, attachments: Array<Blob | File>): FormData;
|
|
128
|
+
}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { addTimestampToMessage, generateSnowflakeIdAtTime } from "../utils/snowflake.js";
|
|
2
|
+
import { resolveChannelArgs } from "./_args.js";
|
|
3
|
+
import { chunkBatchItems, mergeBatchResponses, } from "../types/batch.js";
|
|
4
|
+
function resolveListMessagesParams(params) {
|
|
5
|
+
const order = params?.order ?? "desc";
|
|
6
|
+
const hasAfter = params?.after !== undefined;
|
|
7
|
+
const hasBefore = params?.before !== undefined;
|
|
8
|
+
// The server keys pagination on whichever bound is sent: `before` walks
|
|
9
|
+
// newest-first downward, `after` alone walks oldest-first upward (the N
|
|
10
|
+
// oldest messages strictly newer than the cursor). Sending `after` without
|
|
11
|
+
// `before` is the only way to page forward; sending both, or neither, keeps
|
|
12
|
+
// the newest-first behaviour (defaulting `before` to "now" when unbounded).
|
|
13
|
+
if (hasAfter && !hasBefore) {
|
|
14
|
+
const query = {
|
|
15
|
+
after: params.after,
|
|
16
|
+
limit: params?.limit ?? 10,
|
|
17
|
+
};
|
|
18
|
+
if (params?.field_name !== undefined)
|
|
19
|
+
query.field_name = params.field_name;
|
|
20
|
+
return { query, order, serverAscending: true };
|
|
21
|
+
}
|
|
22
|
+
const query = {
|
|
23
|
+
before: params?.before ?? generateSnowflakeIdAtTime(new Date()),
|
|
24
|
+
limit: params?.limit ?? 10,
|
|
25
|
+
};
|
|
26
|
+
if (hasAfter)
|
|
27
|
+
query.after = params.after;
|
|
28
|
+
if (params?.field_name !== undefined)
|
|
29
|
+
query.field_name = params.field_name;
|
|
30
|
+
return { query, order, serverAscending: false };
|
|
31
|
+
}
|
|
32
|
+
export class MessagesApi {
|
|
33
|
+
constructor(rest) {
|
|
34
|
+
this.rest = rest;
|
|
35
|
+
}
|
|
36
|
+
async listMessages(...args) {
|
|
37
|
+
const { agentId, channelName, options } = resolveChannelArgs(args);
|
|
38
|
+
return this._listMessages(agentId, channelName, options);
|
|
39
|
+
}
|
|
40
|
+
async _listMessages(agentId, channelName, params) {
|
|
41
|
+
const { query, order, serverAscending } = resolveListMessagesParams(params);
|
|
42
|
+
const response = await this.rest.get(`/agents/${agentId}/channels/${channelName}/messages`, query);
|
|
43
|
+
const stamped = response.map(addTimestampToMessage);
|
|
44
|
+
// The server returns newest-first for `before` and oldest-first for a bare
|
|
45
|
+
// `after`; reverse only when that native order differs from what was asked.
|
|
46
|
+
const wantAscending = order === "asc";
|
|
47
|
+
return serverAscending === wantAscending ? stamped : [...stamped].reverse();
|
|
48
|
+
}
|
|
49
|
+
async postMessage(...args) {
|
|
50
|
+
if (typeof args[0] === "string") {
|
|
51
|
+
const [agentId, channelName, body] = args;
|
|
52
|
+
return this._postMessage(agentId, channelName, body);
|
|
53
|
+
}
|
|
54
|
+
const id = args[0];
|
|
55
|
+
const body = args[1];
|
|
56
|
+
return this._postMessage(id.agentId, id.channelName, body);
|
|
57
|
+
}
|
|
58
|
+
async _postMessage(agentId, channelName, body) {
|
|
59
|
+
const response = await this.rest.post(`/agents/${agentId}/channels/${channelName}/messages`, body);
|
|
60
|
+
return addTimestampToMessage(response);
|
|
61
|
+
}
|
|
62
|
+
getTimeseries(...args) {
|
|
63
|
+
const { agentId, channelName, options } = resolveChannelArgs(args);
|
|
64
|
+
return this._getTimeseries(agentId, channelName, options);
|
|
65
|
+
}
|
|
66
|
+
_getTimeseries(agentId, channelName, params) {
|
|
67
|
+
const { order: _order, ...rest } = params;
|
|
68
|
+
return this.rest.get(`/agents/${agentId}/channels/${channelName}/messages/timeseries`, rest);
|
|
69
|
+
}
|
|
70
|
+
async getMessage(...args) {
|
|
71
|
+
if (typeof args[0] === "string") {
|
|
72
|
+
const [agentId, channelName, messageId] = args;
|
|
73
|
+
return this._getMessage(agentId, channelName, messageId);
|
|
74
|
+
}
|
|
75
|
+
const id = args[0];
|
|
76
|
+
const messageId = args[1];
|
|
77
|
+
return this._getMessage(id.agentId, id.channelName, messageId);
|
|
78
|
+
}
|
|
79
|
+
async _getMessage(agentId, channelName, messageId) {
|
|
80
|
+
const response = await this.rest.get(`/agents/${agentId}/channels/${channelName}/messages/${messageId}`);
|
|
81
|
+
return addTimestampToMessage(response);
|
|
82
|
+
}
|
|
83
|
+
putMessage(...args) {
|
|
84
|
+
if (typeof args[0] === "string") {
|
|
85
|
+
const [agentId, channelName, messageId, body, params] = args;
|
|
86
|
+
return this._putMessage(agentId, channelName, messageId, body, params);
|
|
87
|
+
}
|
|
88
|
+
const id = args[0];
|
|
89
|
+
return this._putMessage(id.agentId, id.channelName, args[1], args[2], args[3]);
|
|
90
|
+
}
|
|
91
|
+
_putMessage(agentId, channelName, messageId, body, params) {
|
|
92
|
+
return this.rest.put(`/agents/${agentId}/channels/${channelName}/messages/${messageId}`, body, params);
|
|
93
|
+
}
|
|
94
|
+
patchMessage(...args) {
|
|
95
|
+
if (typeof args[0] === "string") {
|
|
96
|
+
const [agentId, channelName, messageId, body, params] = args;
|
|
97
|
+
return this._patchMessage(agentId, channelName, messageId, body, params);
|
|
98
|
+
}
|
|
99
|
+
const id = args[0];
|
|
100
|
+
return this._patchMessage(id.agentId, id.channelName, args[1], args[2], args[3]);
|
|
101
|
+
}
|
|
102
|
+
_patchMessage(agentId, channelName, messageId, body, params) {
|
|
103
|
+
return this.rest.patch(`/agents/${agentId}/channels/${channelName}/messages/${messageId}`, body, params);
|
|
104
|
+
}
|
|
105
|
+
deleteMessage(...args) {
|
|
106
|
+
if (typeof args[0] === "string") {
|
|
107
|
+
const [agentId, channelName, messageId] = args;
|
|
108
|
+
return this._deleteMessage(agentId, channelName, messageId);
|
|
109
|
+
}
|
|
110
|
+
const id = args[0];
|
|
111
|
+
return this._deleteMessage(id.agentId, id.channelName, args[1]);
|
|
112
|
+
}
|
|
113
|
+
_deleteMessage(agentId, channelName, messageId) {
|
|
114
|
+
return this.rest.delete(`/agents/${agentId}/channels/${channelName}/messages/${messageId}`);
|
|
115
|
+
}
|
|
116
|
+
getMessageAttachment(...args) {
|
|
117
|
+
if (typeof args[0] === "string") {
|
|
118
|
+
const [agentId, channelName, messageId, attachmentId] = args;
|
|
119
|
+
return this._getMessageAttachment(agentId, channelName, messageId, attachmentId);
|
|
120
|
+
}
|
|
121
|
+
const id = args[0];
|
|
122
|
+
return this._getMessageAttachment(id.agentId, id.channelName, args[1], args[2]);
|
|
123
|
+
}
|
|
124
|
+
_getMessageAttachment(agentId, channelName, messageId, attachmentId) {
|
|
125
|
+
return this.rest.get(`/agents/${agentId}/channels/${channelName}/messages/${messageId}/attachments/${attachmentId}`);
|
|
126
|
+
}
|
|
127
|
+
getInvocationLogs(...args) {
|
|
128
|
+
if (typeof args[0] === "string") {
|
|
129
|
+
const [agentId, channelName, messageId] = args;
|
|
130
|
+
return this._getInvocationLogs(agentId, channelName, messageId);
|
|
131
|
+
}
|
|
132
|
+
const id = args[0];
|
|
133
|
+
return this._getInvocationLogs(id.agentId, id.channelName, args[1]);
|
|
134
|
+
}
|
|
135
|
+
_getInvocationLogs(agentId, channelName, messageId) {
|
|
136
|
+
return this.rest.get(`/agents/${agentId}/channels/${channelName}/messages/${messageId}/logs`);
|
|
137
|
+
}
|
|
138
|
+
batchPostMessages(...args) {
|
|
139
|
+
return this._batchMessages("POST", args[0]);
|
|
140
|
+
}
|
|
141
|
+
batchPatchMessages(...args) {
|
|
142
|
+
return this._batchMessages("PATCH", args[0]);
|
|
143
|
+
}
|
|
144
|
+
batchPutMessages(...args) {
|
|
145
|
+
return this._batchMessages("PUT", args[0]);
|
|
146
|
+
}
|
|
147
|
+
batchDeleteMessages(...args) {
|
|
148
|
+
return this._batchMessages("DELETE", args[0]);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Shared driver for the four `/agents/messages` verbs. Chunks to the
|
|
152
|
+
* server's item ceiling and sends sequentially, so a long list doesn't
|
|
153
|
+
* reintroduce the burst that batching exists to remove.
|
|
154
|
+
*/
|
|
155
|
+
async _batchMessages(method, items) {
|
|
156
|
+
if (items.length === 0) {
|
|
157
|
+
return { items: [], count: 0, succeeded: 0, failed: 0 };
|
|
158
|
+
}
|
|
159
|
+
const responses = [];
|
|
160
|
+
for (const chunk of chunkBatchItems(items)) {
|
|
161
|
+
// Goes through `request` rather than the verb helpers because DELETE
|
|
162
|
+
// needs a body, which `rest.delete` does not accept.
|
|
163
|
+
responses.push(await this.rest.request({
|
|
164
|
+
path: "/agents/messages",
|
|
165
|
+
method,
|
|
166
|
+
body: { items: chunk },
|
|
167
|
+
}));
|
|
168
|
+
}
|
|
169
|
+
return mergeBatchResponses(responses);
|
|
170
|
+
}
|
|
171
|
+
createMultipartPayload(jsonPayload, attachments) {
|
|
172
|
+
const formData = new FormData();
|
|
173
|
+
formData.set("json_payload", JSON.stringify(jsonPayload));
|
|
174
|
+
attachments.forEach((attachment, index) => {
|
|
175
|
+
formData.set(`attachment-${index}`, attachment);
|
|
176
|
+
});
|
|
177
|
+
return formData;
|
|
178
|
+
}
|
|
179
|
+
}
|