From aca159d2910c80137f536123ff69732ab0f93101 Mon Sep 17 00:00:00 2001 From: Vineet Agarwal <91052168+VineeTagarwaL-code@users.noreply.github.com> Date: Fri, 29 Aug 2025 23:21:01 +0530 Subject: [PATCH 1/5] fix: bind fixes --- src/core.ts | 12 ++++++------ src/vercel-ai-toolkit.ts | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/core.ts b/src/core.ts index 436e507..263d4b6 100644 --- a/src/core.ts +++ b/src/core.ts @@ -40,14 +40,14 @@ export const JigsawStack = (config?: BaseConfig) => { embedding: general.embedding, audio, vision: { - vocr: vision.vocr.bind(vision), - object_detection: vision.object_detection.bind(vision), + vocr: vision.vocr, + object_detection: vision.object_detection, }, web: { - ai_scrape: web.ai_scrape.bind(web), - html_to_any: web.html_to_any.bind(web), - search: web.search.bind(web), - search_suggestions: web.search_suggestions.bind(web), + ai_scrape: web.ai_scrape, + html_to_any: web.html_to_any, + search: web.search, + search_suggestions: web.search_suggestions, }, store, validate, diff --git a/src/vercel-ai-toolkit.ts b/src/vercel-ai-toolkit.ts index 813e6e0..592c147 100644 --- a/src/vercel-ai-toolkit.ts +++ b/src/vercel-ai-toolkit.ts @@ -1,9 +1,9 @@ import { z } from "zod"; import { BaseConfig } from "../types"; import { LanguageCodes } from "./audio/interfaces"; -import { JigsawStack } from "./core"; +// import { JigsawStack } from "./core"; import { tool } from "./vercel-tool"; - +import { JigsawStack } from "../dist/index.cjs"; export interface JigsawStackToolOptions { tools?: string[]; } @@ -15,7 +15,7 @@ export class JigsawStackToolSet { this.jigsawStack = JigsawStack(config); } - async getTools(options: JigsawStackToolOptions = {}) { + async getTools(options: JigsawStackToolOptions = {}): Promise> { const { tools: requestedTools = [] } = options; const availableTools = this.getAllTools(); From 856f6d43a74b4a7638ef57fbcd4d850d63c36685 Mon Sep 17 00:00:00 2001 From: Vineet Agarwal <91052168+VineeTagarwaL-code@users.noreply.github.com> Date: Fri, 29 Aug 2025 23:23:05 +0530 Subject: [PATCH 2/5] fix: bind fixes --- src/core.ts | 2 +- src/vercel-ai-toolkit.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core.ts b/src/core.ts index 263d4b6..0ea4f63 100644 --- a/src/core.ts +++ b/src/core.ts @@ -40,7 +40,7 @@ export const JigsawStack = (config?: BaseConfig) => { embedding: general.embedding, audio, vision: { - vocr: vision.vocr, + vocr: vision.vocr, object_detection: vision.object_detection, }, web: { diff --git a/src/vercel-ai-toolkit.ts b/src/vercel-ai-toolkit.ts index 592c147..22d1c41 100644 --- a/src/vercel-ai-toolkit.ts +++ b/src/vercel-ai-toolkit.ts @@ -1,9 +1,9 @@ import { z } from "zod"; +import { JigsawStack } from "../dist/index.cjs"; import { BaseConfig } from "../types"; import { LanguageCodes } from "./audio/interfaces"; // import { JigsawStack } from "./core"; import { tool } from "./vercel-tool"; -import { JigsawStack } from "../dist/index.cjs"; export interface JigsawStackToolOptions { tools?: string[]; } From 50757f0882a3b854278f1def72fee486bef9d648 Mon Sep 17 00:00:00 2001 From: Vineet Agarwal <91052168+VineeTagarwaL-code@users.noreply.github.com> Date: Fri, 29 Aug 2025 23:24:03 +0530 Subject: [PATCH 3/5] fix: bind fixes --- src/vercel-ai-toolkit.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/vercel-ai-toolkit.ts b/src/vercel-ai-toolkit.ts index 22d1c41..bca060b 100644 --- a/src/vercel-ai-toolkit.ts +++ b/src/vercel-ai-toolkit.ts @@ -1,8 +1,7 @@ import { z } from "zod"; -import { JigsawStack } from "../dist/index.cjs"; import { BaseConfig } from "../types"; import { LanguageCodes } from "./audio/interfaces"; -// import { JigsawStack } from "./core"; +import { JigsawStack } from "./core"; import { tool } from "./vercel-tool"; export interface JigsawStackToolOptions { tools?: string[]; From c8f759042da0863391ad6d97964aba440c67f5af Mon Sep 17 00:00:00 2001 From: Vineet Agarwal <91052168+VineeTagarwaL-code@users.noreply.github.com> Date: Fri, 29 Aug 2025 23:26:39 +0530 Subject: [PATCH 4/5] fix: update type --- src/vercel-ai-toolkit.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vercel-ai-toolkit.ts b/src/vercel-ai-toolkit.ts index bca060b..a6bcb91 100644 --- a/src/vercel-ai-toolkit.ts +++ b/src/vercel-ai-toolkit.ts @@ -14,7 +14,7 @@ export class JigsawStackToolSet { this.jigsawStack = JigsawStack(config); } - async getTools(options: JigsawStackToolOptions = {}): Promise> { + async getTools(options: JigsawStackToolOptions = {}) { const { tools: requestedTools = [] } = options; const availableTools = this.getAllTools(); From d4d02e622f2f46c0c08aa408fec551ac9b3e2b8c Mon Sep 17 00:00:00 2001 From: Win Cheng Date: Fri, 29 Aug 2025 11:24:47 -0700 Subject: [PATCH 5/5] update to bind with overload functions --- src/core.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/core.ts b/src/core.ts index 0ea4f63..1d3b8aa 100644 --- a/src/core.ts +++ b/src/core.ts @@ -9,6 +9,12 @@ import Validate from "./validate"; import Vision from "./vision/vision"; import Web from "./web/web"; +type BoundMethod = T extends (...args: any[]) => any ? T : never; + +const createBoundMethod = any>(obj: any, method: T): BoundMethod => { + return ((...args: any[]) => method.apply(obj, args)) as BoundMethod; +}; + export const JigsawStack = (config?: BaseConfig) => { const _apiKey = config?.apiKey || process?.env?.JIGSAWSTACK_API_KEY; @@ -40,8 +46,8 @@ export const JigsawStack = (config?: BaseConfig) => { embedding: general.embedding, audio, vision: { - vocr: vision.vocr, - object_detection: vision.object_detection, + vocr: createBoundMethod(vision, vision.vocr), + object_detection: createBoundMethod(vision, vision.object_detection), }, web: { ai_scrape: web.ai_scrape,