@lunora/ai 1.0.0-alpha.12 → 1.0.0-alpha.13

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/dist/index.d.mts CHANGED
@@ -14,6 +14,7 @@ interface AiGatewayOptions {
14
14
  }
15
15
  interface LunoraAiOptions {
16
16
  binding?: AiBindingLike;
17
+ defaultEmbeddingModel?: string;
17
18
  defaultModel?: string;
18
19
  gateway?: AiGatewayOptions;
19
20
  provider?: WorkersAiProviderLike;
package/dist/index.d.ts CHANGED
@@ -14,6 +14,7 @@ interface AiGatewayOptions {
14
14
  }
15
15
  interface LunoraAiOptions {
16
16
  binding?: AiBindingLike;
17
+ defaultEmbeddingModel?: string;
17
18
  defaultModel?: string;
18
19
  gateway?: AiGatewayOptions;
19
20
  provider?: WorkersAiProviderLike;
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- export { default as createAi } from './packem_shared/createAi-Bq_4LMcp.mjs';
1
+ export { default as createAi } from './packem_shared/createAi-CYxQuvEL.mjs';
2
2
  export { embed, embedMany, generateObject, generateText, streamObject, streamText, tool } from 'ai';
3
3
  export { createWorkersAI } from 'workers-ai-provider';
@@ -3,7 +3,7 @@ import { createWorkersAI } from 'workers-ai-provider';
3
3
 
4
4
  const buildProvider = (binding, gateway) => createWorkersAI({ binding, gateway });
5
5
  const createAi = (options) => {
6
- const { binding, defaultModel, gateway, provider } = options;
6
+ const { binding, defaultEmbeddingModel, defaultModel, gateway, provider } = options;
7
7
  if (!provider && !binding) {
8
8
  throw new LunoraError("INTERNAL", "@lunora/ai: createAi requires a `binding` (env.AI) or a pre-built `provider`");
9
9
  }
@@ -20,7 +20,8 @@ const createAi = (options) => {
20
20
  const resolveEmbeddingModel = (modelId) => {
21
21
  const factory = workersai.textEmbeddingModel;
22
22
  if (typeof factory !== "function") {
23
- throw new TypeError(
23
+ throw new LunoraError(
24
+ "INTERNAL",
24
25
  "@lunora/ai: the Workers AI provider does not expose `textEmbeddingModel`; pass an AI SDK EmbeddingModel (e.g. from @ai-sdk/openai) to embed()"
25
26
  );
26
27
  }
@@ -30,11 +31,11 @@ const createAi = (options) => {
30
31
  if (typeof input === "object") {
31
32
  return input;
32
33
  }
33
- const modelId = input ?? defaultModel;
34
+ const modelId = input ?? defaultEmbeddingModel;
34
35
  if (!modelId) {
35
36
  throw new LunoraError(
36
37
  "INTERNAL",
37
- "@lunora/ai: no embedding model supplied and no `defaultModel` configured — pass an embedding model id or an AI SDK EmbeddingModel"
38
+ "@lunora/ai: no embedding model supplied and no `defaultEmbeddingModel` configured — pass an embedding model id or an AI SDK EmbeddingModel"
38
39
  );
39
40
  }
40
41
  return resolveEmbeddingModel(modelId);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lunora/ai",
3
- "version": "1.0.0-alpha.12",
3
+ "version": "1.0.0-alpha.13",
4
4
  "description": "Workers AI helper for Lunora: provider-agnostic AI SDK access from functions, Workers AI by default",
5
5
  "keywords": [
6
6
  "ai",
@@ -47,7 +47,7 @@
47
47
  "access": "public"
48
48
  },
49
49
  "dependencies": {
50
- "@lunora/errors": "1.0.0-alpha.3",
50
+ "@lunora/errors": "1.0.0-alpha.4",
51
51
  "ai": "7.0.16",
52
52
  "workers-ai-provider": "3.3.1"
53
53
  },