@polpo-ai/tools 0.6.31 → 0.7.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.
Files changed (67) hide show
  1. package/dist/__tests__/email-tools.test.d.ts +2 -0
  2. package/dist/__tests__/email-tools.test.d.ts.map +1 -0
  3. package/dist/__tests__/email-tools.test.js +705 -0
  4. package/dist/__tests__/email-tools.test.js.map +1 -0
  5. package/dist/__tests__/extended-tools.test.d.ts +2 -0
  6. package/dist/__tests__/extended-tools.test.d.ts.map +1 -0
  7. package/dist/__tests__/extended-tools.test.js +743 -0
  8. package/dist/__tests__/extended-tools.test.js.map +1 -0
  9. package/dist/__tests__/external-api-tools.test.d.ts +2 -0
  10. package/dist/__tests__/external-api-tools.test.d.ts.map +1 -0
  11. package/dist/__tests__/external-api-tools.test.js +1731 -0
  12. package/dist/__tests__/external-api-tools.test.js.map +1 -0
  13. package/dist/__tests__/memory-tools.test.d.ts +2 -0
  14. package/dist/__tests__/memory-tools.test.d.ts.map +1 -0
  15. package/dist/__tests__/memory-tools.test.js +0 -0
  16. package/dist/__tests__/memory-tools.test.js.map +1 -0
  17. package/dist/__tests__/system-tools.test.d.ts +2 -0
  18. package/dist/__tests__/system-tools.test.d.ts.map +1 -0
  19. package/dist/__tests__/system-tools.test.js +417 -0
  20. package/dist/__tests__/system-tools.test.js.map +1 -0
  21. package/dist/adapters/node-shell.d.ts +9 -0
  22. package/dist/adapters/node-shell.d.ts.map +1 -1
  23. package/dist/adapters/node-shell.js +40 -9
  24. package/dist/adapters/node-shell.js.map +1 -1
  25. package/dist/audio-tools.d.ts +25 -27
  26. package/dist/audio-tools.d.ts.map +1 -1
  27. package/dist/audio-tools.js +156 -438
  28. package/dist/audio-tools.js.map +1 -1
  29. package/dist/browser-tools.d.ts.map +1 -1
  30. package/dist/browser-tools.js +5 -1
  31. package/dist/browser-tools.js.map +1 -1
  32. package/dist/email-tools.d.ts.map +1 -1
  33. package/dist/email-tools.js +11 -3
  34. package/dist/email-tools.js.map +1 -1
  35. package/dist/image-tools.d.ts +27 -25
  36. package/dist/image-tools.d.ts.map +1 -1
  37. package/dist/image-tools.js +151 -332
  38. package/dist/image-tools.js.map +1 -1
  39. package/dist/index.d.ts +1 -2
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +3 -2
  42. package/dist/index.js.map +1 -1
  43. package/dist/lib/edge-speech-model.d.ts +61 -0
  44. package/dist/lib/edge-speech-model.d.ts.map +1 -0
  45. package/dist/lib/edge-speech-model.js +144 -0
  46. package/dist/lib/edge-speech-model.js.map +1 -0
  47. package/dist/lib/exa-search-provider.d.ts +27 -0
  48. package/dist/lib/exa-search-provider.d.ts.map +1 -0
  49. package/dist/lib/exa-search-provider.js +109 -0
  50. package/dist/lib/exa-search-provider.js.map +1 -0
  51. package/dist/lib/provider-resolver.d.ts +54 -0
  52. package/dist/lib/provider-resolver.d.ts.map +1 -0
  53. package/dist/lib/provider-resolver.js +115 -0
  54. package/dist/lib/provider-resolver.js.map +1 -0
  55. package/dist/search-tools.d.ts +10 -13
  56. package/dist/search-tools.d.ts.map +1 -1
  57. package/dist/search-tools.js +63 -140
  58. package/dist/search-tools.js.map +1 -1
  59. package/dist/system-tools.d.ts +19 -5
  60. package/dist/system-tools.d.ts.map +1 -1
  61. package/dist/system-tools.js +48 -31
  62. package/dist/system-tools.js.map +1 -1
  63. package/package.json +16 -4
  64. package/dist/phone-tools.d.ts +0 -27
  65. package/dist/phone-tools.d.ts.map +0 -1
  66. package/dist/phone-tools.js +0 -577
  67. package/dist/phone-tools.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"image-tools.js","sourceRoot":"","sources":["../src/image-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-tools.js","sourceRoot":"","sources":["../src/image-tools.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * Extended tools (opt-in, require optional deps):
10
10
  * browser_*, email_*, excel_*, pdf_*, docx_*,
11
- * image_*, audio_*, search_*, phone_*, memory_*
11
+ * image_*, audio_*, search_*, memory_*
12
12
  */
13
13
  export { createSystemTools, createSystemTools as createCodingTools, createAllTools, matchToolPattern, expandToolWildcards, TOOL_CATALOG } from "./system-tools.js";
14
14
  export type { ExtendedToolName, CreateAllToolsOptions } from "./system-tools.js";
@@ -25,7 +25,6 @@ export { createDocxTools, ALL_DOCX_TOOL_NAMES } from "./docx-tools.js";
25
25
  export { createImageTools, ALL_IMAGE_TOOL_NAMES } from "./image-tools.js";
26
26
  export { createAudioTools, ALL_AUDIO_TOOL_NAMES } from "./audio-tools.js";
27
27
  export { createSearchTools, ALL_SEARCH_TOOL_NAMES } from "./search-tools.js";
28
- export { createPhoneTools, ALL_PHONE_TOOL_NAMES } from "./phone-tools.js";
29
28
  export { createMemoryTools } from "./memory-tools.js";
30
29
  export { NodeFileSystem } from "./adapters/node-filesystem.js";
31
30
  export { NodeShell } from "./adapters/node-shell.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnK,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnK,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * Extended tools (opt-in, require optional deps):
10
10
  * browser_*, email_*, excel_*, pdf_*, docx_*,
11
- * image_*, audio_*, search_*, phone_*, memory_*
11
+ * image_*, audio_*, search_*, memory_*
12
12
  */
13
13
  // Core tool factory
14
14
  export { createSystemTools, createSystemTools as createCodingTools, createAllTools, matchToolPattern, expandToolWildcards, TOOL_CATALOG } from "./system-tools.js";
@@ -26,7 +26,8 @@ export { createDocxTools, ALL_DOCX_TOOL_NAMES } from "./docx-tools.js";
26
26
  export { createImageTools, ALL_IMAGE_TOOL_NAMES } from "./image-tools.js";
27
27
  export { createAudioTools, ALL_AUDIO_TOOL_NAMES } from "./audio-tools.js";
28
28
  export { createSearchTools, ALL_SEARCH_TOOL_NAMES } from "./search-tools.js";
29
- export { createPhoneTools, ALL_PHONE_TOOL_NAMES } from "./phone-tools.js";
29
+ // Phone tools removed VAPI integration moved out of the
30
+ // first-class catalog. Future: MCP-based.
30
31
  export { createMemoryTools } from "./memory-tools.js";
31
32
  // Adapters (FileSystem/Shell implementations)
32
33
  export { NodeFileSystem } from "./adapters/node-filesystem.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGnK,qDAAqD;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,8CAA8C;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGnK,qDAAqD;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,0DAA0D;AAC1D,0CAA0C;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,8CAA8C;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * EdgeSpeechModel — adapter that exposes the local `edge-tts` Python CLI
3
+ * as a Vercel AI SDK SpeechModelV3.
4
+ *
5
+ * Why: edge-tts is the only TTS provider in the Polpo catalog that has
6
+ * no remote API — it's a subprocess shelling out to a Python CLI that
7
+ * talks to Microsoft Edge's neural voices for free. Wrapping it as a
8
+ * SpeechModelV3 lets `audio_speak` route every provider — including
9
+ * edge — through one `experimental_generateSpeech()` call. The tool
10
+ * code stops branching on provider, and tests mock the same surface
11
+ * for all four providers.
12
+ *
13
+ * Round-trip: edge-tts requires a file path to write to. doGenerate
14
+ * writes to a tmp file inside cwd, reads the bytes back, returns them.
15
+ * The caller (`audio_speak`) writes them to the agent's requested
16
+ * sandbox path. Costs one extra disk hop vs the old direct-write path
17
+ * — small price for the uniform abstraction.
18
+ */
19
+ import type { FileSystem } from "@polpo-ai/core/filesystem";
20
+ import type { Shell } from "@polpo-ai/core";
21
+ /**
22
+ * Resolve the best Edge TTS voice for a given language and gender hint.
23
+ * Falls back to en-US if the language is unknown.
24
+ */
25
+ export declare function resolveEdgeVoice(voice?: string, language?: string, gender?: "male" | "female"): string;
26
+ export declare function edgeTtsAvailable(shell: Shell): Promise<boolean>;
27
+ interface EdgeSpeechCallOptions {
28
+ text: string;
29
+ voice?: string;
30
+ language?: string;
31
+ providerOptions?: Record<string, unknown>;
32
+ abortSignal?: AbortSignal;
33
+ }
34
+ export declare class EdgeSpeechModel {
35
+ private readonly shell;
36
+ private readonly fs;
37
+ readonly specificationVersion: "v3";
38
+ readonly provider: "edge";
39
+ readonly modelId: string;
40
+ constructor(modelId: string, shell: Shell, fs: FileSystem);
41
+ doGenerate(options: EdgeSpeechCallOptions): Promise<{
42
+ audio: Uint8Array;
43
+ warnings: never[];
44
+ request: {
45
+ body?: unknown;
46
+ };
47
+ response: {
48
+ timestamp: Date;
49
+ modelId: string;
50
+ };
51
+ }>;
52
+ }
53
+ export interface EdgeSpeechProvider {
54
+ speech(modelId: string): EdgeSpeechModel;
55
+ }
56
+ export declare function createEdgeSpeechProvider(deps: {
57
+ shell: Shell;
58
+ fs: FileSystem;
59
+ }): EdgeSpeechProvider;
60
+ export {};
61
+ //# sourceMappingURL=edge-speech-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge-speech-model.d.ts","sourceRoot":"","sources":["../../src/lib/edge-speech-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA2B5C;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GACzB,MAAM,CAOR;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAS/D;AAWD,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,eAAe;IAOxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE;IAPrB,QAAQ,CAAC,oBAAoB,EAAG,IAAI,CAAU;IAC9C,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAGvB,OAAO,EAAE,MAAM,EACE,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,UAAU;IAK3B,UAAU,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC;QACxD,KAAK,EAAE,UAAU,CAAC;QAClB,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClB,OAAO,EAAE;YAAE,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAC5B,QAAQ,EAAE;YAAE,SAAS,EAAE,IAAI,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;CA6DH;AAID,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC;CAC1C;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,UAAU,CAAC;CAChB,GAAG,kBAAkB,CAIrB"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * EdgeSpeechModel — adapter that exposes the local `edge-tts` Python CLI
3
+ * as a Vercel AI SDK SpeechModelV3.
4
+ *
5
+ * Why: edge-tts is the only TTS provider in the Polpo catalog that has
6
+ * no remote API — it's a subprocess shelling out to a Python CLI that
7
+ * talks to Microsoft Edge's neural voices for free. Wrapping it as a
8
+ * SpeechModelV3 lets `audio_speak` route every provider — including
9
+ * edge — through one `experimental_generateSpeech()` call. The tool
10
+ * code stops branching on provider, and tests mock the same surface
11
+ * for all four providers.
12
+ *
13
+ * Round-trip: edge-tts requires a file path to write to. doGenerate
14
+ * writes to a tmp file inside cwd, reads the bytes back, returns them.
15
+ * The caller (`audio_speak`) writes them to the agent's requested
16
+ * sandbox path. Costs one extra disk hop vs the old direct-write path
17
+ * — small price for the uniform abstraction.
18
+ */
19
+ import { join } from "node:path";
20
+ import { tmpdir } from "node:os";
21
+ // ── Voice resolution ──
22
+ /**
23
+ * Default Edge TTS voices per language+gender.
24
+ * Format: `${lang}-${region}-${name}Neural`
25
+ * Each entry: [female, male]. First match wins.
26
+ */
27
+ const EDGE_VOICES = {
28
+ it: ["it-IT-ElsaNeural", "it-IT-DiegoNeural"],
29
+ en: ["en-US-EmmaMultilingualNeural", "en-US-AndrewMultilingualNeural"],
30
+ es: ["es-ES-ElviraNeural", "es-ES-AlvaroNeural"],
31
+ fr: ["fr-FR-DeniseNeural", "fr-FR-HenriNeural"],
32
+ de: ["de-DE-KatjaNeural", "de-DE-ConradNeural"],
33
+ pt: ["pt-BR-FranciscaNeural", "pt-BR-AntonioNeural"],
34
+ ja: ["ja-JP-NanamiNeural", "ja-JP-KeitaNeural"],
35
+ zh: ["zh-CN-XiaoxiaoNeural", "zh-CN-YunxiNeural"],
36
+ ko: ["ko-KR-SunHiNeural", "ko-KR-InJoonNeural"],
37
+ ar: ["ar-SA-ZariyahNeural", "ar-SA-HamedNeural"],
38
+ hi: ["hi-IN-SwaraNeural", "hi-IN-MadhurNeural"],
39
+ ru: ["ru-RU-SvetlanaNeural", "ru-RU-DmitryNeural"],
40
+ nl: ["nl-NL-ColetteNeural", "nl-NL-MaartenNeural"],
41
+ pl: ["pl-PL-AgnieszkaNeural", "pl-PL-MarekNeural"],
42
+ sv: ["sv-SE-SofieNeural", "sv-SE-MattiasNeural"],
43
+ };
44
+ /**
45
+ * Resolve the best Edge TTS voice for a given language and gender hint.
46
+ * Falls back to en-US if the language is unknown.
47
+ */
48
+ export function resolveEdgeVoice(voice, language, gender) {
49
+ // Explicit voice name like "it-IT-DiegoNeural" passes through unchanged.
50
+ if (voice && voice.includes("-") && voice.endsWith("Neural"))
51
+ return voice;
52
+ const lang = (language ?? "en").toLowerCase().split("-")[0]; // "it-IT" → "it"
53
+ const pair = EDGE_VOICES[lang] ?? EDGE_VOICES.en;
54
+ return gender === "male" ? pair[1] : pair[0]; // default female if no gender hint
55
+ }
56
+ // ── Edge-tts availability cache (per-Shell) ──
57
+ const _edgeTtsAvailable = new WeakMap();
58
+ export function edgeTtsAvailable(shell) {
59
+ const existing = _edgeTtsAvailable.get(shell);
60
+ if (existing)
61
+ return existing;
62
+ const fresh = shell
63
+ .execute("edge-tts --version", { timeout: 5_000 })
64
+ .then((r) => r.exitCode === 0)
65
+ .catch(() => false);
66
+ _edgeTtsAvailable.set(shell, fresh);
67
+ return fresh;
68
+ }
69
+ /** Quote a CLI argument for inclusion in a `shell.execute` command line. */
70
+ function quoteArg(arg) {
71
+ return `'${arg.replace(/'/g, `'\\''`)}'`;
72
+ }
73
+ // ── SpeechModelV3 implementation ──
74
+ const EDGE_TTS_TIMEOUT = 120_000; // 2 min per generation
75
+ export class EdgeSpeechModel {
76
+ shell;
77
+ fs;
78
+ specificationVersion = "v3";
79
+ provider = "edge";
80
+ modelId;
81
+ constructor(modelId, shell, fs) {
82
+ this.shell = shell;
83
+ this.fs = fs;
84
+ this.modelId = modelId;
85
+ }
86
+ async doGenerate(options) {
87
+ if (!(await edgeTtsAvailable(this.shell))) {
88
+ throw new Error("edge-tts CLI is not installed. Install it with: pip install edge-tts");
89
+ }
90
+ // edge-tts only accepts these gender hints; ignore anything else.
91
+ const providerOpts = (options.providerOptions ?? {});
92
+ const voice = resolveEdgeVoice(options.voice, options.language, providerOpts.gender);
93
+ // Write to a tmp file we own, then read back. The tool layer
94
+ // re-writes into the agent's sandbox path so the output matches
95
+ // every other provider.
96
+ const tmpFile = join(tmpdir(), `polpo-edge-tts-${Date.now()}-${Math.random().toString(36).slice(2, 10)}.mp3`);
97
+ const cmd = [
98
+ "edge-tts",
99
+ "--text", quoteArg(options.text),
100
+ "--voice", quoteArg(voice),
101
+ "--write-media", quoteArg(tmpFile),
102
+ ].join(" ");
103
+ const result = await this.shell.execute(cmd, {
104
+ timeout: EDGE_TTS_TIMEOUT,
105
+ signal: options.abortSignal,
106
+ });
107
+ if (result.exitCode !== 0) {
108
+ const stderr = (result.stderr || result.stdout || "").trim();
109
+ throw new Error(`edge-tts failed: ${stderr || `exit ${result.exitCode}`}`);
110
+ }
111
+ if (!this.fs.readFileBuffer) {
112
+ throw new Error("FileSystem implementation does not support readFileBuffer");
113
+ }
114
+ let bytes;
115
+ try {
116
+ bytes = await this.fs.readFileBuffer(tmpFile);
117
+ }
118
+ catch (err) {
119
+ throw new Error(`edge-tts produced no output file: ${err.message}`);
120
+ }
121
+ finally {
122
+ // Best-effort cleanup; ignore failures.
123
+ try {
124
+ await this.fs.remove(tmpFile);
125
+ }
126
+ catch { /* noop */ }
127
+ }
128
+ return {
129
+ audio: bytes,
130
+ warnings: [],
131
+ request: { body: { voice, modelId: this.modelId } },
132
+ response: {
133
+ timestamp: new Date(),
134
+ modelId: this.modelId,
135
+ },
136
+ };
137
+ }
138
+ }
139
+ export function createEdgeSpeechProvider(deps) {
140
+ return {
141
+ speech: (modelId) => new EdgeSpeechModel(modelId, deps.shell, deps.fs),
142
+ };
143
+ }
144
+ //# sourceMappingURL=edge-speech-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge-speech-model.js","sourceRoot":"","sources":["../../src/lib/edge-speech-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,yBAAyB;AAEzB;;;;GAIG;AACH,MAAM,WAAW,GAAmD;IAClE,EAAE,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IAC7C,EAAE,EAAE,CAAC,8BAA8B,EAAE,gCAAgC,CAAC;IACtE,EAAE,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAChD,EAAE,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;IAC/C,EAAE,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAC/C,EAAE,EAAE,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;IACpD,EAAE,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;IAC/C,EAAE,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;IACjD,EAAE,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAC/C,EAAE,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;IAChD,EAAE,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAC/C,EAAE,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;IAClD,EAAE,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAClD,EAAE,EAAE,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;IAClD,EAAE,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;CACjD,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,QAAiB,EACjB,MAA0B;IAE1B,yEAAyE;IACzE,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3E,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;IAC9E,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAG,CAAC;IAClD,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;AACnF,CAAC;AAED,gDAAgD;AAEhD,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA2B,CAAC;AAEjE,MAAM,UAAU,gBAAgB,CAAC,KAAY;IAC3C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,KAAK,GAAqB,KAAK;SAClC,OAAO,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SACjD,IAAI,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC;SACnD,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACtB,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED,qCAAqC;AAErC,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,uBAAuB;AAUzD,MAAM,OAAO,eAAe;IAOP;IACA;IAPV,oBAAoB,GAAG,IAAa,CAAC;IACrC,QAAQ,GAAG,MAAe,CAAC;IAC3B,OAAO,CAAS;IAEzB,YACE,OAAe,EACE,KAAY,EACZ,EAAc;QADd,UAAK,GAAL,KAAK,CAAO;QACZ,OAAE,GAAF,EAAE,CAAY;QAE/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA8B;QAM7C,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,kEAAkE;QAClE,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAElD,CAAC;QAEF,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QAErF,6DAA6D;QAC7D,gEAAgE;QAChE,wBAAwB;QACxB,MAAM,OAAO,GAAG,IAAI,CAClB,MAAM,EAAE,EACR,kBAAkB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAC9E,CAAC;QAEF,MAAM,GAAG,GAAG;YACV,UAAU;YACV,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YAChC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC1B,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC;SACnC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3C,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,OAAO,CAAC,WAAW;SACrB,CAAC,CAAC;QAEV,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,IAAI,QAAQ,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,KAAiB,CAAC;QACtB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,wCAAwC;YACxC,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE;YACnD,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;SACF,CAAC;IACJ,CAAC;CACF;AAQD,MAAM,UAAU,wBAAwB,CAAC,IAGxC;IACC,OAAO;QACL,MAAM,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;KAC/E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * ExaSearchProvider — SearchProvider adapter backed by the Exa REST API.
3
+ *
4
+ * Direct fetch to api.exa.ai. Implements both `search` and the optional
5
+ * `findSimilar` (Exa is currently the only provider that supports
6
+ * URL-similarity in our catalog). Credentials resolved from the agent
7
+ * vault (service "exa", key "key") with EXA_API_KEY env var fallback.
8
+ *
9
+ * Cancellation: we wire `signal` into a per-call AbortController so a
10
+ * 15s timeout fires alongside the caller's own abort.
11
+ */
12
+ import type { SearchProvider, SearchResult, SearchOptions } from "@polpo-ai/core";
13
+ export interface ExaSearchProviderOptions {
14
+ apiKey: string;
15
+ /** Override the base URL (e.g. for a local proxy). Defaults to https://api.exa.ai */
16
+ baseUrl?: string;
17
+ }
18
+ export declare class ExaSearchProvider implements SearchProvider {
19
+ readonly name: "exa";
20
+ private readonly apiKey;
21
+ private readonly baseUrl;
22
+ constructor(opts: ExaSearchProviderOptions);
23
+ search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
24
+ findSimilar(url: string, options?: SearchOptions): Promise<SearchResult[]>;
25
+ private post;
26
+ }
27
+ //# sourceMappingURL=exa-search-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exa-search-provider.d.ts","sourceRoot":"","sources":["../../src/lib/exa-search-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAoBlF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAkB,YAAW,cAAc;IACtD,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,IAAI,EAAE,wBAAwB;IAQpC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAwB3E,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAiBtE,IAAI;CA8BnB"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * ExaSearchProvider — SearchProvider adapter backed by the Exa REST API.
3
+ *
4
+ * Direct fetch to api.exa.ai. Implements both `search` and the optional
5
+ * `findSimilar` (Exa is currently the only provider that supports
6
+ * URL-similarity in our catalog). Credentials resolved from the agent
7
+ * vault (service "exa", key "key") with EXA_API_KEY env var fallback.
8
+ *
9
+ * Cancellation: we wire `signal` into a per-call AbortController so a
10
+ * 15s timeout fires alongside the caller's own abort.
11
+ */
12
+ const EXA_BASE = "https://api.exa.ai";
13
+ const DEFAULT_TIMEOUT_MS = 15_000;
14
+ export class ExaSearchProvider {
15
+ name = "exa";
16
+ apiKey;
17
+ baseUrl;
18
+ constructor(opts) {
19
+ if (!opts.apiKey) {
20
+ throw new Error("ExaSearchProvider: apiKey is required");
21
+ }
22
+ this.apiKey = opts.apiKey;
23
+ this.baseUrl = opts.baseUrl ?? EXA_BASE;
24
+ }
25
+ async search(query, options = {}) {
26
+ const body = {
27
+ query,
28
+ numResults: Math.min(options.numResults ?? 5, 20),
29
+ type: "auto",
30
+ };
31
+ if (options.includeText !== false) {
32
+ // Default-on content extraction matches the old tool behavior;
33
+ // callers that don't want bytes pass `includeText: false`.
34
+ body.contents = {
35
+ text: { maxCharacters: 2000 },
36
+ highlights: { numSentences: 3 },
37
+ summary: { query },
38
+ };
39
+ }
40
+ if (options.includeDomains?.length)
41
+ body.includeDomains = options.includeDomains;
42
+ if (options.excludeDomains?.length)
43
+ body.excludeDomains = options.excludeDomains;
44
+ if (options.startPublishedDate)
45
+ body.startPublishedDate = options.startPublishedDate;
46
+ if (options.endPublishedDate)
47
+ body.endPublishedDate = options.endPublishedDate;
48
+ const data = await this.post("/search", body, options.signal);
49
+ return (data.results ?? []).map(toSearchResult);
50
+ }
51
+ async findSimilar(url, options = {}) {
52
+ const body = {
53
+ url,
54
+ numResults: Math.min(options.numResults ?? 5, 20),
55
+ };
56
+ if (options.includeText) {
57
+ body.contents = {
58
+ text: { maxCharacters: 2000 },
59
+ highlights: { numSentences: 3 },
60
+ };
61
+ }
62
+ if (options.excludeDomains?.length)
63
+ body.excludeDomains = options.excludeDomains;
64
+ const data = await this.post("/findSimilar", body, options.signal);
65
+ return (data.results ?? []).map(toSearchResult);
66
+ }
67
+ async post(path, body, callerSignal) {
68
+ const controller = new AbortController();
69
+ const timer = setTimeout(() => controller.abort(), DEFAULT_TIMEOUT_MS);
70
+ if (callerSignal) {
71
+ callerSignal.addEventListener("abort", () => controller.abort(), { once: true });
72
+ }
73
+ try {
74
+ const response = await fetch(`${this.baseUrl}${path}`, {
75
+ method: "POST",
76
+ headers: {
77
+ "x-api-key": this.apiKey,
78
+ "Content-Type": "application/json",
79
+ },
80
+ body: JSON.stringify(body),
81
+ signal: controller.signal,
82
+ });
83
+ if (!response.ok) {
84
+ const errText = await response.text().catch(() => "");
85
+ throw new Error(`Exa API ${response.status}: ${errText}`);
86
+ }
87
+ return (await response.json());
88
+ }
89
+ catch (err) {
90
+ if (err.name === "AbortError") {
91
+ throw new Error("Exa request aborted (timeout or caller cancelled)");
92
+ }
93
+ throw err;
94
+ }
95
+ finally {
96
+ clearTimeout(timer);
97
+ }
98
+ }
99
+ }
100
+ function toSearchResult(r) {
101
+ return {
102
+ title: r.title ?? "",
103
+ url: r.url,
104
+ text: r.summary || r.text || (r.highlights ?? []).join(" • ") || undefined,
105
+ publishedDate: r.publishedDate,
106
+ score: r.score,
107
+ };
108
+ }
109
+ //# sourceMappingURL=exa-search-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exa-search-provider.js","sourceRoot":"","sources":["../../src/lib/exa-search-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Lazy resolvers that map a Polpo provider name + ResolvedVault into an
3
+ * AI SDK provider instance. Each resolver dynamically imports the
4
+ * provider package so it stays optional — installing `@polpo-ai/tools`
5
+ * does not pull in `@ai-sdk/fal` / `@ai-sdk/anthropic` / etc unless the
6
+ * matching tool is actually used.
7
+ *
8
+ * Vault key conventions (must match the strings in the tools):
9
+ * - `fal-ai` / "key" → fal.ai (image_generate, video_generate)
10
+ * - `openai` / "key" → OpenAI (image_analyze)
11
+ * - `anthropic` / "key" → Anthropic (image_analyze)
12
+ *
13
+ * Env-var fallbacks are read by the tool layer, not here. Resolvers
14
+ * receive a fully-resolved API key string.
15
+ */
16
+ import type { FileSystem } from "@polpo-ai/core/filesystem";
17
+ import type { Shell } from "@polpo-ai/core";
18
+ export type ImageProviderName = "fal";
19
+ export type VisionProviderName = "openai" | "anthropic";
20
+ export type VideoProviderName = "fal";
21
+ export type TranscribeProviderName = "openai" | "deepgram";
22
+ export type SpeakProviderName = "openai" | "deepgram" | "elevenlabs" | "edge";
23
+ export interface ImageProvider {
24
+ image(modelId: string): unknown;
25
+ }
26
+ export interface VideoProvider {
27
+ video(modelId: string): unknown;
28
+ }
29
+ export interface TranscribeProvider {
30
+ transcription(modelId: string): unknown;
31
+ }
32
+ export interface SpeakProvider {
33
+ speech(modelId: string): unknown;
34
+ }
35
+ /** Mirrors the `@ai-sdk/openai` / `@ai-sdk/anthropic` factory shape: a callable that returns a language-model handle for a given model id. */
36
+ export interface VisionProvider {
37
+ (modelId: string): unknown;
38
+ }
39
+ /** Build a fal.ai image provider. Throws a friendly error if the optional `@ai-sdk/fal` package is not installed. */
40
+ export declare function resolveImageProvider(name: ImageProviderName, apiKey: string): Promise<ImageProvider>;
41
+ /** Build a video provider — currently fal.ai only. */
42
+ export declare function resolveVideoProvider(name: VideoProviderName, apiKey: string): Promise<VideoProvider>;
43
+ /** Build a speech-to-text (transcription) provider. */
44
+ export declare function resolveTranscribeProvider(name: TranscribeProviderName, apiKey: string): Promise<TranscribeProvider>;
45
+ /** Build a text-to-speech provider. The local `edge` provider needs a
46
+ * Shell + FileSystem (no API key); cloud providers need an API key. */
47
+ export declare function resolveSpeakProvider(name: SpeakProviderName, config: {
48
+ apiKey?: string;
49
+ shell?: Shell;
50
+ fs?: FileSystem;
51
+ }): Promise<SpeakProvider>;
52
+ /** Build a vision (multimodal LanguageModel) provider. */
53
+ export declare function resolveVisionProvider(name: VisionProviderName, apiKey: string): Promise<VisionProvider>;
54
+ //# sourceMappingURL=provider-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/provider-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;AACtC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,CAAC;AACxD,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;AACtC,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC;AAED,8IAA8I;AAC9I,MAAM,WAAW,cAAc;IAC7B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAID,qHAAqH;AACrH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAQxB;AAED,sDAAsD;AACtD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED,uDAAuD;AACvD,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,sBAAsB,EAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAc7B;AAED;wEACwE;AACxE,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,EAAE,CAAC,EAAE,UAAU,CAAA;CAAE,GAC1D,OAAO,CAAC,aAAa,CAAC,CA8BxB;AAED,0DAA0D;AAC1D,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC,CAczB"}