paper-manager 0.2.2 → 0.2.4

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.
@@ -2,6 +2,9 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "type": "object",
4
4
  "properties": {
5
+ "$schema": {
6
+ "type": "string"
7
+ },
5
8
  "embeddingModels": {
6
9
  "default": {},
7
10
  "type": "object",
@@ -14,9 +17,7 @@
14
17
  "properties": {
15
18
  "provider": {
16
19
  "type": "string",
17
- "enum": [
18
- "openai"
19
- ]
20
+ "enum": ["openai"]
20
21
  },
21
22
  "model": {
22
23
  "type": "string"
@@ -34,12 +35,7 @@
34
35
  "maximum": 9007199254740991
35
36
  }
36
37
  },
37
- "required": [
38
- "provider",
39
- "model",
40
- "apiKey",
41
- "dimensions"
42
- ],
38
+ "required": ["provider", "model", "apiKey"],
43
39
  "additionalProperties": false
44
40
  }
45
41
  },
@@ -48,8 +44,6 @@
48
44
  "minLength": 1
49
45
  }
50
46
  },
51
- "required": [
52
- "embeddingModels"
53
- ],
47
+ "required": ["embeddingModels"],
54
48
  "additionalProperties": false
55
49
  }
package/dist/ai/embed.js CHANGED
@@ -1,13 +1,26 @@
1
1
  import { embed as aiEmbed, embedMany as aiEmbedMany } from "ai";
2
2
  import { createEmbeddingModel } from "./provider.js";
3
+ function buildProviderOptions(config) {
4
+ if (config.dimensions == null)
5
+ return undefined;
6
+ return { [config.provider]: { dimensions: config.dimensions } };
7
+ }
3
8
  export async function embed(config, text) {
4
9
  const model = createEmbeddingModel(config);
5
- const result = await aiEmbed({ model, value: text });
10
+ const result = await aiEmbed({
11
+ model,
12
+ value: text,
13
+ providerOptions: buildProviderOptions(config),
14
+ });
6
15
  return result.embedding;
7
16
  }
8
17
  export async function embedMany(config, texts) {
9
18
  const model = createEmbeddingModel(config);
10
- const result = await aiEmbedMany({ model, values: texts });
19
+ const result = await aiEmbedMany({
20
+ model,
21
+ values: texts,
22
+ providerOptions: buildProviderOptions(config),
23
+ });
11
24
  return result.embeddings;
12
25
  }
13
26
  //# sourceMappingURL=embed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/ai/embed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,IAAI,CAAC;AAGhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,MAA4B,EAAE,IAAY;IACpE,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAA4B,EAC5B,KAAe;IAEf,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/ai/embed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,IAAI,CAAC;AAGhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,SAAS,oBAAoB,CAC3B,MAA4B;IAE5B,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,MAA4B,EAAE,IAAY;IACpE,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC3B,KAAK;QACL,KAAK,EAAE,IAAI;QACX,eAAe,EAAE,oBAAoB,CAAC,MAAM,CAAC;KAC9C,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAA4B,EAC5B,KAAe;IAEf,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,KAAK;QACL,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,oBAAoB,CAAC,MAAM,CAAC;KAC9C,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC"}
@@ -12,7 +12,7 @@ declare const configSchemas: {
12
12
  model: z.ZodString;
13
13
  baseUrl: z.ZodOptional<z.ZodURL>;
14
14
  apiKey: z.ZodString;
15
- dimensions: z.ZodNumber;
15
+ dimensions: z.ZodOptional<z.ZodNumber>;
16
16
  }, z.core.$strip>>;
17
17
  readonly defaultEmbeddingModelId: z.ZodString;
18
18
  };
@@ -6,7 +6,7 @@ export declare const EmbeddingModelConfigSchema: z.ZodObject<{
6
6
  model: z.ZodString;
7
7
  baseUrl: z.ZodOptional<z.ZodURL>;
8
8
  apiKey: z.ZodString;
9
- dimensions: z.ZodNumber;
9
+ dimensions: z.ZodOptional<z.ZodNumber>;
10
10
  }, z.core.$strip>;
11
11
  export type EmbeddingModelConfig = z.infer<typeof EmbeddingModelConfigSchema> & {
12
12
  id: string;
@@ -60,6 +60,7 @@ export declare const UpdateLiteratureSchema: z.ZodObject<{
60
60
  }, z.core.$strip>;
61
61
  export type UpdateLiteratureInput = z.infer<typeof UpdateLiteratureSchema>;
62
62
  export declare const ConfigSchema: z.ZodObject<{
63
+ $schema: z.ZodOptional<z.ZodString>;
63
64
  embeddingModels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
64
65
  provider: z.ZodEnum<{
65
66
  openai: "openai";
@@ -67,7 +68,7 @@ export declare const ConfigSchema: z.ZodObject<{
67
68
  model: z.ZodString;
68
69
  baseUrl: z.ZodOptional<z.ZodURL>;
69
70
  apiKey: z.ZodString;
70
- dimensions: z.ZodNumber;
71
+ dimensions: z.ZodOptional<z.ZodNumber>;
71
72
  }, z.core.$strip>>>;
72
73
  defaultEmbeddingModelId: z.ZodOptional<z.ZodString>;
73
74
  }, z.core.$strip>;
@@ -5,7 +5,7 @@ export const EmbeddingModelConfigSchema = z.object({
5
5
  model: z.string(),
6
6
  baseUrl: z.url().optional(),
7
7
  apiKey: z.string(),
8
- dimensions: z.number().int().positive(),
8
+ dimensions: z.number().int().positive().optional(),
9
9
  });
10
10
  // ─── Knowledge Base ─────────────────────────────────────────
11
11
  export const KnowledgeBaseMetadataSchema = z.object({
@@ -39,6 +39,7 @@ export const CreateLiteratureSchema = LiteratureMetadataSchema.omit({
39
39
  export const UpdateLiteratureSchema = CreateLiteratureSchema.partial();
40
40
  // ─── Config ─────────────────────────────────────────────────
41
41
  export const ConfigSchema = z.object({
42
+ $schema: z.string().optional(),
42
43
  embeddingModels: z.record(z.string().min(1), EmbeddingModelConfigSchema).default({}),
43
44
  defaultEmbeddingModelId: z.string().min(1).optional(),
44
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,+DAA+D;AAE/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAMH,+DAA+D;AAE/D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAIH,+DAA+D;AAE/D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE;IACzB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,IAAI,CAAC;IAClE,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC;AAIvE,+DAA+D;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpF,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,+DAA+D;AAE/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAC;AAMH,+DAA+D;AAE/D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAIH,+DAA+D;AAE/D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE;IACzB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,IAAI,CAAC;IAClE,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC;AAIvE,+DAA+D;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpF,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paper-manager",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "A paper management system.",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/EurFelux/paper-manager",
@@ -31,6 +31,7 @@
31
31
  "commander": "^14.0.3",
32
32
  "faiss-node": "^0.5.1",
33
33
  "langchain": "^1.2.28",
34
+ "pdf-parse": "^2.4.5",
34
35
  "zod": "^4.3.6"
35
36
  },
36
37
  "devDependencies": {
@@ -48,7 +49,7 @@
48
49
  },
49
50
  "scripts": {
50
51
  "build": "tsc",
51
- "generate:schema": "tsx scripts/generate-schema.ts",
52
+ "generate:schema": "tsx scripts/generate-schema.ts && oxfmt config.schema.json",
52
53
  "release": "tsx scripts/release.ts",
53
54
  "test": "echo \"Error: no test specified\" && exit 1",
54
55
  "typecheck": "tsc --noEmit",