@microsoft/agents-copilotstudio-client
Version:
Microsoft Copilot Studio Client for JavaScript. Copilot Studio Client.
43 lines (34 loc) • 1.27 kB
text/typescript
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
import type { Strategy, StrategySettings } from './strategy'
/** @deprecated This interface will not be supported in future versions. Use StrategySettings instead. */
interface PublishedBotStrategySettings {
readonly host: URL;
readonly schema: string;
}
/**
* Strategy for constructing PowerPlatform API connection URLs for published agents.
*/
export class PublishedBotStrategy implements Strategy {
private readonly API_VERSION = '2022-03-01-preview'
private baseURL: URL
constructor (settings: PublishedBotStrategySettings)
constructor (settings: StrategySettings) {
const { schema, host } = settings
this.baseURL = new URL(
`/copilotstudio/dataverse-backed/authenticated/bots/${schema}`,
host
)
this.baseURL.searchParams.append('api-version', this.API_VERSION)
}
public getConversationUrl (conversationId?: string): string {
const conversationUrl = new URL(this.baseURL.href)
conversationUrl.pathname = `${conversationUrl.pathname}/conversations`
if (conversationId) {
conversationUrl.pathname = `${conversationUrl.pathname}/${conversationId}`
}
return conversationUrl.href
}
}