diff --git a/src/constants.ts b/src/consts.ts similarity index 79% rename from src/constants.ts rename to src/consts.ts index c87b2b63..0c01fca1 100644 --- a/src/constants.ts +++ b/src/consts.ts @@ -1,3 +1,8 @@ +/** + * Default base URL for StackOne API + */ +export const DEFAULT_BASE_URL = 'https://api.stackone.com'; + /** * Default weight for BM25 in hybrid BM25 + TF-IDF search. * diff --git a/src/index.ts b/src/index.ts index 0ba38060..0f98e17c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,6 +2,7 @@ * StackOne AI Node.js SDK */ +export { DEFAULT_BASE_URL, DEFAULT_HYBRID_ALPHA } from './consts'; export { BaseTool, StackOneTool, Tools } from './tool'; export { createFeedbackTool } from './tools/feedback'; export { StackOneAPIError, StackOneError } from './utils/errors'; diff --git a/src/tool.ts b/src/tool.ts index d8bbacf0..f1a67123 100644 --- a/src/tool.ts +++ b/src/tool.ts @@ -1,6 +1,6 @@ import * as orama from '@orama/orama'; import type { ChatCompletionFunctionTool } from 'openai/resources/chat/completions'; -import { DEFAULT_HYBRID_ALPHA } from './constants'; +import { DEFAULT_HYBRID_ALPHA } from './consts'; import { RequestBuilder } from './modules/requestBuilder'; import type { AISDKToolDefinition, diff --git a/src/tools/feedback.ts b/src/tools/feedback.ts index 7fb7722e..fd93b65a 100644 --- a/src/tools/feedback.ts +++ b/src/tools/feedback.ts @@ -1,4 +1,5 @@ import { z } from 'zod'; +import { DEFAULT_BASE_URL } from '../consts'; import { BaseTool } from '../tool'; import type { ExecuteConfig, ExecuteOptions, JsonDict, ToolParameters } from '../types'; import { StackOneError } from '../utils/errors'; @@ -39,7 +40,7 @@ const feedbackInputSchema = z.object({ export function createFeedbackTool( apiKey?: string, accountId?: string, - baseUrl = 'https://api.stackone.com' + baseUrl = DEFAULT_BASE_URL ): BaseTool { const options: FeedbackToolOptions = { apiKey, @@ -102,7 +103,7 @@ export function createFeedbackTool( } const tool = new BaseTool(name, description, parameters, executeConfig, authHeaders); - const resolvedBaseUrl = options.baseUrl || 'https://api.stackone.com'; + const resolvedBaseUrl = options.baseUrl ?? DEFAULT_BASE_URL; tool.execute = async function ( this: BaseTool, diff --git a/src/toolsets/stackone.ts b/src/toolsets/stackone.ts index 33478a4c..d60fcb8b 100644 --- a/src/toolsets/stackone.ts +++ b/src/toolsets/stackone.ts @@ -1,3 +1,4 @@ +import { DEFAULT_BASE_URL } from '../consts'; import { type StackOneTool, Tools } from '../tool'; import { createFeedbackTool } from '../tools/feedback'; import { type BaseToolSetConfig, ToolSet, ToolSetConfigError } from './base'; @@ -94,7 +95,7 @@ export class StackOneToolSet extends ToolSet { // Initialise base class super({ - baseUrl: config?.baseUrl, + baseUrl: config?.baseUrl ?? process.env.STACKONE_BASE_URL ?? DEFAULT_BASE_URL, authentication, headers, });