@delofarag/ai-utils 1.4.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +354 -216
- package/dist/chatbot.d.ts +33 -0
- package/dist/chatbot.d.ts.map +1 -0
- package/dist/chatbot.js +72 -0
- package/dist/chatbot.js.map +1 -0
- package/dist/heart/agent.d.ts +1 -1
- package/dist/heart/agent.d.ts.map +1 -1
- package/dist/heart/agent.js +3 -8
- package/dist/heart/agent.js.map +1 -1
- package/dist/heart/chain.d.ts +1 -1
- package/dist/heart/chain.d.ts.map +1 -1
- package/dist/heart/chain.js +4 -4
- package/dist/heart/chain.js.map +1 -1
- package/dist/heart/chatbot.d.ts +1 -1
- package/dist/heart/memorychain.d.ts +2 -2
- package/dist/heart/memorychain.js +6 -6
- package/dist/heart/memorychain.js.map +1 -1
- package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts +1 -1
- package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts.map +1 -1
- package/dist/helpers/chatbot.d.ts +33 -0
- package/dist/helpers/chatbot.d.ts.map +1 -0
- package/dist/helpers/chatbot.js +72 -0
- package/dist/helpers/chatbot.js.map +1 -0
- package/dist/helpers/helpers.d.ts +25 -0
- package/dist/helpers/helpers.d.ts.map +1 -0
- package/dist/helpers/helpers.js +43 -0
- package/dist/helpers/helpers.js.map +1 -0
- package/dist/helpers/llms.d.ts +92 -0
- package/dist/helpers/llms.d.ts.map +1 -0
- package/dist/helpers/llms.js +49 -0
- package/dist/helpers/llms.js.map +1 -0
- package/dist/helpers/memory.d.ts +91 -0
- package/dist/helpers/memory.d.ts.map +1 -0
- package/dist/helpers/memory.js +351 -0
- package/dist/helpers/memory.js.map +1 -0
- package/dist/helpers/rag.d.ts +42 -0
- package/dist/helpers/rag.d.ts.map +1 -0
- package/dist/helpers/rag.js +66 -0
- package/dist/helpers/rag.js.map +1 -0
- package/dist/helpers.d.ts +3 -3
- package/dist/index.d.ts +10 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/magic-funcs/answerers/ask.d.ts +18 -2
- package/dist/magic-funcs/answerers/ask.d.ts.map +1 -1
- package/dist/magic-funcs/answerers/ask.js +20 -9
- package/dist/magic-funcs/answerers/ask.js.map +1 -1
- package/dist/magic-funcs/answerers/websearch.d.ts +15 -0
- package/dist/magic-funcs/answerers/websearch.d.ts.map +1 -1
- package/dist/magic-funcs/answerers/websearch.js +15 -0
- package/dist/magic-funcs/answerers/websearch.js.map +1 -1
- package/dist/magic-funcs/evaluators/classify.d.ts +20 -1
- package/dist/magic-funcs/evaluators/classify.d.ts.map +1 -1
- package/dist/magic-funcs/evaluators/classify.js +22 -3
- package/dist/magic-funcs/evaluators/classify.js.map +1 -1
- package/dist/magic-funcs/evaluators/decide.d.ts +18 -0
- package/dist/magic-funcs/evaluators/decide.d.ts.map +1 -1
- package/dist/magic-funcs/evaluators/decide.js +21 -3
- package/dist/magic-funcs/evaluators/decide.js.map +1 -1
- package/dist/magic-funcs/optimizers/promptify.d.ts +18 -0
- package/dist/magic-funcs/optimizers/promptify.d.ts.map +1 -1
- package/dist/magic-funcs/optimizers/promptify.js +21 -3
- package/dist/magic-funcs/optimizers/promptify.js.map +1 -1
- package/dist/magic-funcs/optimizers/ragify.d.ts +16 -0
- package/dist/magic-funcs/optimizers/ragify.d.ts.map +1 -1
- package/dist/magic-funcs/optimizers/ragify.js +19 -3
- package/dist/magic-funcs/optimizers/ragify.js.map +1 -1
- package/dist/magic-funcs/parsers/extract.d.ts +23 -0
- package/dist/magic-funcs/parsers/extract.d.ts.map +1 -1
- package/dist/magic-funcs/parsers/extract.js +26 -3
- package/dist/magic-funcs/parsers/extract.js.map +1 -1
- package/dist/magic-funcs/parsers/rewrite.d.ts +19 -0
- package/dist/magic-funcs/parsers/rewrite.d.ts.map +1 -1
- package/dist/magic-funcs/parsers/rewrite.js +22 -2
- package/dist/magic-funcs/parsers/rewrite.js.map +1 -1
- package/dist/magic-funcs/parsers/structure.d.ts +22 -0
- package/dist/magic-funcs/parsers/structure.d.ts.map +1 -1
- package/dist/magic-funcs/parsers/structure.js +27 -4
- package/dist/magic-funcs/parsers/structure.js.map +1 -1
- package/dist/magic-funcs/parsers/summarize.d.ts +20 -0
- package/dist/magic-funcs/parsers/summarize.d.ts.map +1 -1
- package/dist/magic-funcs/parsers/summarize.js +23 -3
- package/dist/magic-funcs/parsers/summarize.js.map +1 -1
- package/dist/memory.d.ts +1 -1
- package/dist/modalities/image-gen/generateImages.d.ts +56 -0
- package/dist/modalities/image-gen/generateImages.d.ts.map +1 -0
- package/dist/modalities/image-gen/generateImages.js +66 -0
- package/dist/modalities/image-gen/generateImages.js.map +1 -0
- package/dist/modalities/image-gen/helpers.d.ts +15 -0
- package/dist/modalities/image-gen/helpers.d.ts.map +1 -0
- package/dist/modalities/image-gen/helpers.js +17 -0
- package/dist/modalities/image-gen/helpers.js.map +1 -0
- package/dist/modalities/openrouter.d.ts +11 -0
- package/dist/modalities/openrouter.d.ts.map +1 -0
- package/dist/modalities/openrouter.js +39 -0
- package/dist/modalities/openrouter.js.map +1 -0
- package/dist/modalities/speech/VoiceEngine.d.ts +3 -0
- package/dist/modalities/speech/VoiceEngine.d.ts.map +1 -0
- package/dist/modalities/speech/VoiceEngine.js +3 -0
- package/dist/modalities/speech/VoiceEngine.js.map +1 -0
- package/dist/modalities/speech/stt/helpers.d.ts +3 -0
- package/dist/modalities/speech/stt/helpers.d.ts.map +1 -0
- package/dist/modalities/speech/stt/helpers.js +28 -0
- package/dist/modalities/speech/stt/helpers.js.map +1 -0
- package/dist/modalities/speech/stt/stt.d.ts +113 -0
- package/dist/modalities/speech/stt/stt.d.ts.map +1 -0
- package/dist/modalities/speech/stt/stt.js +177 -0
- package/dist/modalities/speech/stt/stt.js.map +1 -0
- package/dist/modalities/speech/tts/helpers.d.ts +12 -0
- package/dist/modalities/speech/tts/helpers.d.ts.map +1 -0
- package/dist/modalities/speech/tts/helpers.js +10 -0
- package/dist/modalities/speech/tts/helpers.js.map +1 -0
- package/dist/modalities/speech/tts/tts.d.ts +115 -0
- package/dist/modalities/speech/tts/tts.d.ts.map +1 -0
- package/dist/modalities/speech/tts/tts.js +142 -0
- package/dist/modalities/speech/tts/tts.js.map +1 -0
- package/dist/modalities/vision/helpers.d.ts +3 -0
- package/dist/modalities/vision/helpers.d.ts.map +1 -0
- package/dist/modalities/vision/helpers.js +7 -0
- package/dist/modalities/vision/helpers.js.map +1 -0
- package/dist/modalities/vision/vision.d.ts +55 -0
- package/dist/modalities/vision/vision.d.ts.map +1 -0
- package/dist/modalities/vision/vision.js +71 -0
- package/dist/modalities/vision/vision.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/modalities/vision/helpers.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,KAAuB;IACxD,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjG,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,OAAO,0BAA0B,KAAK,EAAE,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { OpenRouterVisionModel } from "../../helpers/llms";
|
|
2
|
+
import { LLMInstance } from "../openrouter";
|
|
3
|
+
import { VisionImageInput } from "./helpers";
|
|
4
|
+
type VisionOptions = {
|
|
5
|
+
llm?: LLMInstance;
|
|
6
|
+
prompt: string;
|
|
7
|
+
images: VisionImageInput[];
|
|
8
|
+
detail?: "auto" | "low" | "high";
|
|
9
|
+
model?: OpenRouterVisionModel;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Analyzes one or more images with a vision-capable OpenRouter model.
|
|
13
|
+
*
|
|
14
|
+
* Internally this function sends `image_url` content parts through OpenRouter's
|
|
15
|
+
* chat-completions-compatible interface. If no `llm` is provided, it builds one
|
|
16
|
+
* with `getLLM({ provider: "openrouter", type: "vision" })` and reads
|
|
17
|
+
* `process.env.OPENROUTER_API_KEY`.
|
|
18
|
+
*
|
|
19
|
+
* Make sure `OPENROUTER_API_KEY` is set in your `.env`.
|
|
20
|
+
*
|
|
21
|
+
* @param params.llm Optional LLM instance from `getLLM(...)`.
|
|
22
|
+
* @param params.prompt Instruction/question for the model about the provided images.
|
|
23
|
+
* @param params.images Array of image URLs, data URLs, or base64 strings.
|
|
24
|
+
* @param params.detail Vision detail level (`auto`, `low`, `high`).
|
|
25
|
+
* @param params.model Optional model override for this call.
|
|
26
|
+
* @returns Promise with normalized `text` and full provider response in `raw`.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* CONFIG:
|
|
30
|
+
* ```ts
|
|
31
|
+
* vision({
|
|
32
|
+
* llm = getLLM({ provider: "openrouter", type: "vision" }),
|
|
33
|
+
* prompt = "Describe the image in detail.",
|
|
34
|
+
* detail = "auto",
|
|
35
|
+
* images,
|
|
36
|
+
* model
|
|
37
|
+
* })
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* const result = await vision({
|
|
43
|
+
* prompt: "What objects do you see?",
|
|
44
|
+
* images: ["https://example.com/cat.jpg"]
|
|
45
|
+
* });
|
|
46
|
+
*
|
|
47
|
+
* console.log(result.text);
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function vision({ llm, prompt, detail, images, model }: VisionOptions): Promise<{
|
|
51
|
+
text: string;
|
|
52
|
+
raw: unknown;
|
|
53
|
+
}>;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=vision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision.d.ts","sourceRoot":"","sources":["../../../src/modalities/vision/vision.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAwB,MAAM,eAAe,CAAA;AACjE,OAAO,EAAwB,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAElE,KAAK,aAAa,GAAG;IACjB,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;IAChC,KAAK,CAAC,EAAE,qBAAqB,CAAA;CAChC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,MAAM,CAAC,EACzB,GAAwD,EACxD,MAAwC,EACxC,MAAe,EACf,MAAM,EACN,KAAK,EACR,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CA+BzD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { HumanMessage } from "../../imports";
|
|
2
|
+
import { getLLM } from "../../helpers/llms";
|
|
3
|
+
import { getOpenRouterRuntime } from "../openrouter";
|
|
4
|
+
import { normalizeVisionImage } from "./helpers";
|
|
5
|
+
/**
|
|
6
|
+
* Analyzes one or more images with a vision-capable OpenRouter model.
|
|
7
|
+
*
|
|
8
|
+
* Internally this function sends `image_url` content parts through OpenRouter's
|
|
9
|
+
* chat-completions-compatible interface. If no `llm` is provided, it builds one
|
|
10
|
+
* with `getLLM({ provider: "openrouter", type: "vision" })` and reads
|
|
11
|
+
* `process.env.OPENROUTER_API_KEY`.
|
|
12
|
+
*
|
|
13
|
+
* Make sure `OPENROUTER_API_KEY` is set in your `.env`.
|
|
14
|
+
*
|
|
15
|
+
* @param params.llm Optional LLM instance from `getLLM(...)`.
|
|
16
|
+
* @param params.prompt Instruction/question for the model about the provided images.
|
|
17
|
+
* @param params.images Array of image URLs, data URLs, or base64 strings.
|
|
18
|
+
* @param params.detail Vision detail level (`auto`, `low`, `high`).
|
|
19
|
+
* @param params.model Optional model override for this call.
|
|
20
|
+
* @returns Promise with normalized `text` and full provider response in `raw`.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* CONFIG:
|
|
24
|
+
* ```ts
|
|
25
|
+
* vision({
|
|
26
|
+
* llm = getLLM({ provider: "openrouter", type: "vision" }),
|
|
27
|
+
* prompt = "Describe the image in detail.",
|
|
28
|
+
* detail = "auto",
|
|
29
|
+
* images,
|
|
30
|
+
* model
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* const result = await vision({
|
|
37
|
+
* prompt: "What objects do you see?",
|
|
38
|
+
* images: ["https://example.com/cat.jpg"]
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* console.log(result.text);
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export async function vision({ llm = getLLM({ provider: "openrouter", type: "vision" }), prompt = "Describe the image in detail.", detail = "auto", images, model }) {
|
|
45
|
+
const runtime = getOpenRouterRuntime(llm);
|
|
46
|
+
const content = [
|
|
47
|
+
{ type: "text", text: prompt },
|
|
48
|
+
...images.map((image) => ({
|
|
49
|
+
type: "image_url",
|
|
50
|
+
image_url: {
|
|
51
|
+
url: normalizeVisionImage(image),
|
|
52
|
+
detail
|
|
53
|
+
}
|
|
54
|
+
}))
|
|
55
|
+
];
|
|
56
|
+
const runtimeLLM = model && model !== runtime.model
|
|
57
|
+
? getLLM({
|
|
58
|
+
provider: "openrouter",
|
|
59
|
+
type: "vision",
|
|
60
|
+
model,
|
|
61
|
+
apikey: runtime.apiKey
|
|
62
|
+
})
|
|
63
|
+
: llm;
|
|
64
|
+
const response = await runtimeLLM.invoke([new HumanMessage({ content })]);
|
|
65
|
+
const text = typeof response.content === "string" ? response.content : JSON.stringify(response.content);
|
|
66
|
+
return {
|
|
67
|
+
text,
|
|
68
|
+
raw: response
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=vision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision.js","sourceRoot":"","sources":["../../../src/modalities/vision/vision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAyB,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAe,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAoB,MAAM,WAAW,CAAA;AAUlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EACzB,GAAG,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EACxD,MAAM,GAAG,+BAA+B,EACxC,MAAM,GAAG,MAAM,EACf,MAAM,EACN,KAAK,EACO;IACZ,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;IAEzC,MAAM,OAAO,GAAG;QACZ,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE;QACvC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,WAAoB;YAC1B,SAAS,EAAE;gBACP,GAAG,EAAE,oBAAoB,CAAC,KAAK,CAAC;gBAChC,MAAM;aACT;SACJ,CAAC,CAAC;KACN,CAAA;IAED,MAAM,UAAU,GACZ,KAAK,IAAI,KAAK,KAAK,OAAO,CAAC,KAAK;QAC5B,CAAC,CAAC,MAAM,CAAC;YACH,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACJ,CAAC,CAAC,GAAG,CAAA;IAEb,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACzE,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEvG,OAAO;QACH,IAAI;QACJ,GAAG,EAAE,QAAQ;KAChB,CAAA;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@delofarag/ai-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,11 +8,6 @@
|
|
|
8
8
|
"dist",
|
|
9
9
|
"README.md"
|
|
10
10
|
],
|
|
11
|
-
"scripts": {
|
|
12
|
-
"build": "tsc",
|
|
13
|
-
"dev": "tsx",
|
|
14
|
-
"start": "tsx"
|
|
15
|
-
},
|
|
16
11
|
"dependencies": {
|
|
17
12
|
"@supabase/supabase-js": "^2.39.0",
|
|
18
13
|
"@delofarag/base-utils": "^1.3.1",
|
|
@@ -40,5 +35,10 @@
|
|
|
40
35
|
"@types/node": "^20.0.0",
|
|
41
36
|
"tsx": "^4.0.0",
|
|
42
37
|
"typescript": "^5.9.3"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "tsc",
|
|
41
|
+
"dev": "tsx",
|
|
42
|
+
"start": "tsx"
|
|
43
43
|
}
|
|
44
|
-
}
|
|
44
|
+
}
|