diff --git a/src/constants.ts b/src/constants.ts index c87b2b63..20a4ea56 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -8,3 +8,8 @@ * - Higher values favour TF-IDF scoring (better semantic matching) */ export const DEFAULT_HYBRID_ALPHA = 0.2; + +/** + * Default base URL for StackOne API + */ +export const DEFAULT_BASE_URL = 'https://api.stackone.com'; diff --git a/src/index.ts b/src/index.ts index 0ba38060..8cd49434 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,6 +2,7 @@ * StackOne AI Node.js SDK */ +export { DEFAULT_BASE_URL } from './constants'; export { BaseTool, StackOneTool, Tools } from './tool'; export { createFeedbackTool } from './tools/feedback'; export { StackOneAPIError, StackOneError } from './utils/errors'; diff --git a/src/tools/feedback.ts b/src/tools/feedback.ts index 7fb7722e..99dadd25 100644 --- a/src/tools/feedback.ts +++ b/src/tools/feedback.ts @@ -1,4 +1,5 @@ import { z } from 'zod'; +import { DEFAULT_BASE_URL } from '../constants'; 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..6f13f010 100644 --- a/src/toolsets/stackone.ts +++ b/src/toolsets/stackone.ts @@ -1,3 +1,4 @@ +import { DEFAULT_BASE_URL } from '../constants'; 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, });