From 4020632acc69c24a8f52267dcd3e4cfc50ce7485 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 9 Dec 2025 01:43:21 +0000 Subject: [PATCH 1/3] fix: set default baseUrl to https://api.stackone.com Create a central consts.ts file with DEFAULT_BASE_URL constant and use it as the default value in StackOneToolSet constructor. This allows users to use the SDK without explicitly providing a baseUrl. Closes #149 --- src/consts.ts | 4 ++++ src/index.ts | 1 + src/tools/feedback.ts | 5 +++-- src/toolsets/stackone.ts | 3 ++- 4 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 src/consts.ts diff --git a/src/consts.ts b/src/consts.ts new file mode 100644 index 00000000..136d593f --- /dev/null +++ b/src/consts.ts @@ -0,0 +1,4 @@ +/** + * 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..2614f76d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,6 +2,7 @@ * StackOne AI Node.js SDK */ +export { DEFAULT_BASE_URL } from './consts'; 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..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, }); From 20116905373d91b3699fbcfaa57a39697bf3974f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Dec 2025 09:56:22 +0000 Subject: [PATCH 2/3] Initial plan From 1d82c9b2a456b1639b2f1f25449bbc2efd330222 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Dec 2025 10:00:16 +0000 Subject: [PATCH 3/3] fix: consolidate DEFAULT_BASE_URL into existing constants.ts Move DEFAULT_BASE_URL from consts.ts to constants.ts to maintain consistent naming convention. Updated all imports accordingly and removed consts.ts file. Co-authored-by: ryoppippi <1560508+ryoppippi@users.noreply.github.com> --- src/constants.ts | 5 +++++ src/consts.ts | 4 ---- src/index.ts | 2 +- src/tools/feedback.ts | 2 +- src/toolsets/stackone.ts | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) delete mode 100644 src/consts.ts 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/consts.ts b/src/consts.ts deleted file mode 100644 index 136d593f..00000000 --- a/src/consts.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 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 2614f76d..8cd49434 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,7 +2,7 @@ * StackOne AI Node.js SDK */ -export { DEFAULT_BASE_URL } from './consts'; +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 fd93b65a..99dadd25 100644 --- a/src/tools/feedback.ts +++ b/src/tools/feedback.ts @@ -1,5 +1,5 @@ import { z } from 'zod'; -import { DEFAULT_BASE_URL } from '../consts'; +import { DEFAULT_BASE_URL } from '../constants'; import { BaseTool } from '../tool'; import type { ExecuteConfig, ExecuteOptions, JsonDict, ToolParameters } from '../types'; import { StackOneError } from '../utils/errors'; diff --git a/src/toolsets/stackone.ts b/src/toolsets/stackone.ts index d60fcb8b..6f13f010 100644 --- a/src/toolsets/stackone.ts +++ b/src/toolsets/stackone.ts @@ -1,4 +1,4 @@ -import { DEFAULT_BASE_URL } from '../consts'; +import { DEFAULT_BASE_URL } from '../constants'; import { type StackOneTool, Tools } from '../tool'; import { createFeedbackTool } from '../tools/feedback'; import { type BaseToolSetConfig, ToolSet, ToolSetConfigError } from './base';