diff --git a/package.json b/package.json index 70d62f2a..6c5c4789 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Transcend Inc.", "name": "@transcend-io/cli", "description": "Small package containing useful typescript utilities.", - "version": "4.115.0", + "version": "4.115.1", "homepage": "https://github.com/transcend-io/cli", "repository": { "type": "git", diff --git a/src/ai/TranscendPromptManager.ts b/src/ai/TranscendPromptManager.ts index b0756e9b..97c54158 100644 --- a/src/ai/TranscendPromptManager.ts +++ b/src/ai/TranscendPromptManager.ts @@ -69,6 +69,13 @@ export type TranscendPrompt< extractFromTag?: string; }; +export interface PromptRunResult { + /** The ID of the prompt run created on Transcend */ + promptRunId: string; + /** The URL of the prompt run on Transcend */ + promptRunUrl: string; +} + /** * Create a regex to extract data from a tag * @@ -446,14 +453,12 @@ export class TranscendPromptManager< async reportAndParsePromptRun( promptName: TPromptName, { largeLanguageModel, ...options }: ReportPromptRunOptions, - ): Promise<{ - /** The ID of the prompt run created on Transcend */ - promptRunId: string; - /** The URL of the prompt run on Transcend */ - promptRunUrl: string; - /** Resulting prompt run */ - result: t.TypeOf; - }> { + ): Promise< + PromptRunResult & { + /** Resulting prompt run */ + result: t.TypeOf; + } + > { const name = options.name || `@transcend-io/cli-prompt-run-${new Date().toISOString()}`; @@ -548,7 +553,7 @@ export class TranscendPromptManager< largeLanguageModel, ...options }: Requirize, - ): Promise { + ): Promise { const name = options.name || `@transcend-io/cli-prompt-run-${new Date().toISOString()}`; @@ -576,7 +581,7 @@ export class TranscendPromptManager< const largeLanguageModelInstance = this.getLargeLanguageModel(largeLanguageModel); - await reportPromptRun(this.graphQLClient, { + const promptRunId = await reportPromptRun(this.graphQLClient, { productArea: PromptRunProductArea.PromptManager, ...options, name, @@ -588,6 +593,11 @@ export class TranscendPromptManager< ...(ind === 0 ? { template: promptInput.content } : {}), })), }); + + return { + promptRunId, + promptRunUrl: `https://app.transcend.io/prompts/runs/${promptRunId}`, + }; } } /* eslint-enable max-lines */