@luzzle/core 0.0.36 → 0.0.38

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 (51) hide show
  1. package/README.md +9 -36
  2. package/dist/src/database/migrations/2026-02-11T23:03:45Z-clear-pieces-cache.d.ts +3 -0
  3. package/dist/src/database/migrations/2026-02-11T23:03:45Z-clear-pieces-cache.js +8 -0
  4. package/dist/src/database/migrations/2026-02-11T23:03:45Z-clear-pieces-cache.js.map +1 -0
  5. package/dist/src/lib/ajv.test.js +1 -1
  6. package/dist/src/lib/ajv.test.js.map +1 -1
  7. package/dist/src/llm/google.d.ts +1 -1
  8. package/dist/src/llm/google.js +2 -1
  9. package/dist/src/llm/google.js.map +1 -1
  10. package/dist/src/pieces/Piece.d.ts +2 -2
  11. package/dist/src/pieces/Piece.fixtures.d.ts +21 -27
  12. package/dist/src/pieces/Piece.fixtures.js +34 -21
  13. package/dist/src/pieces/Piece.fixtures.js.map +1 -1
  14. package/dist/src/pieces/Piece.js +45 -42
  15. package/dist/src/pieces/Piece.js.map +1 -1
  16. package/dist/src/pieces/Piece.test.js +487 -739
  17. package/dist/src/pieces/Piece.test.js.map +1 -1
  18. package/dist/src/pieces/item.js +29 -17
  19. package/dist/src/pieces/item.js.map +1 -1
  20. package/dist/src/pieces/item.test.js +137 -115
  21. package/dist/src/pieces/item.test.js.map +1 -1
  22. package/dist/src/pieces/manager.test.js +1 -1
  23. package/dist/src/pieces/manager.test.js.map +1 -1
  24. package/dist/src/pieces/utils/frontmatter.d.ts +42 -10
  25. package/dist/src/pieces/utils/frontmatter.js +112 -44
  26. package/dist/src/pieces/utils/frontmatter.js.map +1 -1
  27. package/dist/src/pieces/utils/frontmatter.path.d.ts +5 -0
  28. package/dist/src/pieces/utils/frontmatter.path.js +92 -0
  29. package/dist/src/pieces/utils/frontmatter.path.js.map +1 -0
  30. package/dist/src/pieces/utils/frontmatter.path.test.d.ts +1 -0
  31. package/dist/src/pieces/utils/frontmatter.path.test.js +172 -0
  32. package/dist/src/pieces/utils/frontmatter.path.test.js.map +1 -0
  33. package/dist/src/pieces/utils/frontmatter.test.js +200 -169
  34. package/dist/src/pieces/utils/frontmatter.test.js.map +1 -1
  35. package/dist/src/pieces/utils/piece.js +3 -2
  36. package/dist/src/pieces/utils/piece.js.map +1 -1
  37. package/dist/src/pieces/utils/piece.test.js +1 -1
  38. package/dist/src/pieces/utils/piece.test.js.map +1 -1
  39. package/dist/src/storage/fs.js +6 -1
  40. package/dist/src/storage/fs.js.map +1 -1
  41. package/dist/src/storage/fs.test.js +28 -38
  42. package/dist/src/storage/fs.test.js.map +1 -1
  43. package/dist/src/storage/webdav.js +6 -1
  44. package/dist/src/storage/webdav.js.map +1 -1
  45. package/dist/src/storage/webdav.test.js +7 -0
  46. package/dist/src/storage/webdav.test.js.map +1 -1
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/package.json +2 -2
  49. package/dist/src/pieces/utils/piece.fixtures.d.ts +0 -19
  50. package/dist/src/pieces/utils/piece.fixtures.js +0 -39
  51. package/dist/src/pieces/utils/piece.fixtures.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Piece.test.js","sourceRoot":"","sources":["../../../src/pieces/Piece.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Piece.test.js","sourceRoot":"","sources":["../../../src/pieces/Piece.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,31 @@
1
1
  import { createId } from '@paralleldrive/cuid2';
2
2
  import { pieceFrontmatterValueToDatabaseValue, getPieceFrontmatterSchemaFields, } from './utils/frontmatter.js';
3
+ /**
4
+ * Recursively collects asset paths from frontmatter values based on schema property definitions.
5
+ */
6
+ function collectAssets(value, property, assets) {
7
+ if (value === undefined || value === null) {
8
+ return;
9
+ }
10
+ if (property.type === 'array') {
11
+ const values = value;
12
+ if (property.items.format === 'asset') {
13
+ assets.push(...values);
14
+ }
15
+ else if (property.items.type === 'array' || property.items.type === 'object') {
16
+ values.forEach((v) => collectAssets(v, property.items, assets));
17
+ }
18
+ }
19
+ else if (property.type === 'object') {
20
+ const obj = value;
21
+ for (const key in property.properties) {
22
+ collectAssets(obj[key], property.properties[key], assets);
23
+ }
24
+ }
25
+ else if (property.format === 'asset') {
26
+ assets.push(value);
27
+ }
28
+ }
3
29
  function makePieceItemInsertable(piece, markdown, schema) {
4
30
  const frontmatterJson = {};
5
31
  const fields = getPieceFrontmatterSchemaFields(schema);
@@ -8,14 +34,7 @@ function makePieceItemInsertable(piece, markdown, schema) {
8
34
  const name = field.name;
9
35
  const value = markdown.frontmatter[name];
10
36
  const jsonValue = pieceFrontmatterValueToDatabaseValue(value, field);
11
- if (field.type === 'array') {
12
- if (field.format === 'asset') {
13
- assets.push(...value);
14
- }
15
- }
16
- else if (field.format === 'asset') {
17
- assets.push(value);
18
- }
37
+ collectAssets(value, field, assets);
19
38
  frontmatterJson[name] = jsonValue;
20
39
  });
21
40
  const insertable = {
@@ -39,20 +58,13 @@ function makePieceItemUpdatable(markdown, schema, data, force = false) {
39
58
  const name = field.name;
40
59
  const value = markdown.frontmatter[name];
41
60
  const updateValue = pieceFrontmatterValueToDatabaseValue(value, field);
42
- if (field.type === 'array') {
43
- if (field.format === 'asset') {
44
- assets.push(...value);
45
- }
46
- }
47
- else if (field.format === 'asset') {
48
- assets.push(value);
49
- }
61
+ collectAssets(value, field, assets);
50
62
  frontmatter[name] = updateValue;
51
63
  });
52
64
  const frontmatterJson = JSON.stringify(frontmatter);
53
65
  const assetString = JSON.stringify(assets);
54
66
  if (force || frontmatterJson !== data.frontmatter_json) {
55
- update.frontmatter_json = JSON.stringify(frontmatter);
67
+ update.frontmatter_json = frontmatterJson;
56
68
  }
57
69
  if (force || markdown.note !== data.note_markdown) {
58
70
  update.note_markdown = markdown.note;
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/pieces/item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/pieces/item.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,9 @@
1
1
  import { describe, expect, test, vi, afterEach } from 'vitest';
2
- import { getPieceFrontmatterSchemaFields, pieceFrontmatterValueToDatabaseValue, } from './utils/frontmatter.js';
3
- import { makeMarkdownSample, makeSample, makeSchema } from './utils/piece.fixtures.js';
2
+ import { makeMarkdownSample, makePieceItemSelectable, makeSchema } from './Piece.fixtures.js';
4
3
  import * as database from './item.js';
5
- vi.mock('./utils/frontmatter.js');
6
- const mocks = {
7
- getPieceFrontmatterSchemaFields: vi.mocked(getPieceFrontmatterSchemaFields),
8
- pieceFrontmatterValueToDatabaseValue: vi.mocked(pieceFrontmatterValueToDatabaseValue),
9
- };
10
- const spies = {};
11
4
  describe('src/pieces/item.ts', () => {
12
5
  afterEach(() => {
13
- Object.values(mocks).forEach((mock) => {
14
- mock.mockReset();
15
- });
16
- Object.keys(spies).forEach((key) => {
17
- spies[key].mockRestore();
18
- delete spies[key];
19
- });
6
+ vi.resetAllMocks();
20
7
  });
21
8
  test('makePieceItemInsertable', () => {
22
9
  const note = 'note';
@@ -28,16 +15,12 @@ describe('src/pieces/item.ts', () => {
28
15
  subtitle: 'subtitle',
29
16
  };
30
17
  const markdown = makeMarkdownSample(path, piece, note, frontmatter);
31
- const schema = makeSchema();
32
- const fields = [
33
- { name: 'title', type: 'string' },
34
- { name: 'keywords', type: 'string' },
35
- { name: 'subtitle', type: 'string' },
36
- ];
37
- mocks.getPieceFrontmatterSchemaFields.mockReturnValueOnce(fields);
38
- mocks.pieceFrontmatterValueToDatabaseValue.mockImplementation((value) => value);
18
+ const schema = makeSchema({
19
+ title: { type: 'string' },
20
+ keywords: { type: 'string' },
21
+ subtitle: { type: 'string' },
22
+ });
39
23
  const input = database.makePieceItemInsertable(piece, markdown, schema);
40
- expect(mocks.pieceFrontmatterValueToDatabaseValue).toHaveBeenCalledTimes(Object.keys(frontmatter).length);
41
24
  expect(input).toEqual({
42
25
  id: expect.any(String),
43
26
  file_path: path,
@@ -46,41 +29,94 @@ describe('src/pieces/item.ts', () => {
46
29
  type: piece,
47
30
  });
48
31
  });
49
- test('makePieceItemInsertable with assets', () => {
32
+ test('makePieceItemInsertable with recursive assets', () => {
50
33
  const note = 'note';
51
34
  const piece = 'books';
52
35
  const path = 'path';
53
36
  const frontmatter = {
54
37
  title: 'title',
55
- keywords: 'keys',
56
- subtitle: 'subtitle',
57
- poster: 'poster.jpg',
58
- images: ['image1.jpg', 'image2.jpg'],
38
+ metadata: {
39
+ poster: 'poster.jpg',
40
+ gallery: ['img1.png', 'img2.png'],
41
+ deep: {
42
+ icon: 'icon.svg'
43
+ }
44
+ }
59
45
  };
60
46
  const markdown = makeMarkdownSample(path, piece, note, frontmatter);
61
- const schema = makeSchema();
62
- const fields = [
63
- { name: 'title', type: 'string' },
64
- { name: 'keywords', type: 'string' },
65
- { name: 'subtitle', type: 'string' },
66
- { name: 'poster', format: 'asset' },
67
- { name: 'images', type: 'array', format: 'asset' },
68
- ];
69
- mocks.getPieceFrontmatterSchemaFields.mockReturnValueOnce(fields);
70
- mocks.pieceFrontmatterValueToDatabaseValue.mockImplementation((value) => value);
47
+ const schema = makeSchema({
48
+ metadata: {
49
+ type: 'object',
50
+ properties: {
51
+ poster: { type: 'string', format: 'asset' },
52
+ gallery: { type: 'array', items: { type: 'string', format: 'asset' } },
53
+ deep: {
54
+ type: 'object',
55
+ properties: {
56
+ icon: { type: 'string', format: 'asset' }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ });
71
62
  const input = database.makePieceItemInsertable(piece, markdown, schema);
72
- expect(mocks.pieceFrontmatterValueToDatabaseValue).toHaveBeenCalledTimes(Object.keys(frontmatter).length);
73
- expect(input).toEqual({
74
- id: expect.any(String),
75
- file_path: path,
76
- note_markdown: markdown.note,
77
- frontmatter_json: JSON.stringify(frontmatter),
78
- type: piece,
79
- assets_json_array: JSON.stringify([frontmatter.poster, ...frontmatter.images]),
63
+ expect(input.assets_json_array).toBeDefined();
64
+ const assets = JSON.parse(input.assets_json_array);
65
+ expect(assets).toContain('poster.jpg');
66
+ expect(assets).toContain('img1.png');
67
+ expect(assets).toContain('img2.png');
68
+ expect(assets).toContain('icon.svg');
69
+ expect(assets).toHaveLength(4);
70
+ });
71
+ test('makePieceItemInsertable with array of objects containing assets', () => {
72
+ const piece = 'books';
73
+ const frontmatter = {
74
+ title: 'title',
75
+ items: [
76
+ { image: 'a.jpg' },
77
+ { image: 'b.jpg' }
78
+ ]
79
+ };
80
+ const markdown = makeMarkdownSample('path', piece, 'note', frontmatter);
81
+ const schema = makeSchema({
82
+ items: {
83
+ type: 'array',
84
+ items: {
85
+ type: 'object',
86
+ properties: {
87
+ image: { type: 'string', format: 'asset' }
88
+ }
89
+ }
90
+ }
91
+ });
92
+ const input = database.makePieceItemInsertable(piece, markdown, schema);
93
+ expect(input.assets_json_array).toBe(JSON.stringify(['a.jpg', 'b.jpg']));
94
+ });
95
+ test('makePieceItemInsertable with deep array assets', () => {
96
+ const piece = 'books';
97
+ const frontmatter = {
98
+ title: 'title',
99
+ galleries: [
100
+ ['a.jpg', 'b.jpg'],
101
+ ['c.jpg']
102
+ ]
103
+ };
104
+ const markdown = makeMarkdownSample('path', piece, 'note', frontmatter);
105
+ const schema = makeSchema({
106
+ galleries: {
107
+ type: 'array',
108
+ items: {
109
+ type: 'array',
110
+ items: { type: 'string', format: 'asset' }
111
+ }
112
+ }
80
113
  });
114
+ const input = database.makePieceItemInsertable(piece, markdown, schema);
115
+ const assets = JSON.parse(input.assets_json_array);
116
+ expect(assets).toEqual(['a.jpg', 'b.jpg', 'c.jpg']);
81
117
  });
82
118
  test('makePieceItemUpdatable', () => {
83
- const data = makeSample();
119
+ const data = makePieceItemSelectable();
84
120
  const note = 'note';
85
121
  const path = 'path';
86
122
  const piece = 'books';
@@ -90,15 +126,12 @@ describe('src/pieces/item.ts', () => {
90
126
  subtitle: 'subtitle',
91
127
  };
92
128
  const markdown = makeMarkdownSample(path, piece, note, frontmatter);
93
- const schema = makeSchema();
94
- const fields = [
95
- { name: 'title', type: 'string' },
96
- { name: 'keywords', type: 'string' },
97
- { name: 'subtitle', type: 'string' },
98
- ];
129
+ const schema = makeSchema({
130
+ title: { type: 'string' },
131
+ keywords: { type: 'string' },
132
+ subtitle: { type: 'string' },
133
+ });
99
134
  data.note_markdown = 'old note';
100
- mocks.getPieceFrontmatterSchemaFields.mockReturnValueOnce(fields);
101
- mocks.pieceFrontmatterValueToDatabaseValue.mockImplementation((value) => value);
102
135
  const update = database.makePieceItemUpdatable(markdown, schema, data);
103
136
  expect(update).toEqual({
104
137
  date_updated: expect.any(Number),
@@ -107,68 +140,66 @@ describe('src/pieces/item.ts', () => {
107
140
  frontmatter_json: JSON.stringify(frontmatter),
108
141
  });
109
142
  });
110
- test('makePieceItemUpdatable with assets', () => {
111
- const data = makeSample();
143
+ test('makePieceItemUpdatable with recursive assets', () => {
144
+ const data = makePieceItemSelectable();
112
145
  const note = 'note';
113
146
  const path = 'path';
114
147
  const piece = 'books';
115
148
  const frontmatter = {
116
149
  title: 'title',
117
- keywords: 'keys',
118
- subtitle: 'subtitle',
119
- poster: 'poster.jpg',
120
- images: ['image1.jpg', 'image2.jpg'],
150
+ metadata: {
151
+ poster: 'new-poster.jpg'
152
+ }
121
153
  };
122
154
  const markdown = makeMarkdownSample(path, piece, note, frontmatter);
123
- const schema = makeSchema();
124
- const fields = [
125
- { name: 'title', type: 'string' },
126
- { name: 'keywords', type: 'string' },
127
- { name: 'subtitle', type: 'string' },
128
- { name: 'poster', format: 'asset' },
129
- { name: 'images', type: 'array', format: 'asset' },
130
- ];
131
- data.note_markdown = 'old note';
132
- mocks.getPieceFrontmatterSchemaFields.mockReturnValueOnce(fields);
133
- mocks.pieceFrontmatterValueToDatabaseValue.mockImplementation((value) => value);
155
+ const schema = makeSchema({
156
+ metadata: {
157
+ type: 'object',
158
+ properties: {
159
+ poster: { type: 'string', format: 'asset' }
160
+ }
161
+ }
162
+ });
134
163
  const update = database.makePieceItemUpdatable(markdown, schema, data);
135
- expect(update).toEqual({
136
- date_updated: expect.any(Number),
137
- file_path: path,
138
- note_markdown: note,
139
- frontmatter_json: JSON.stringify(frontmatter),
140
- assets_json_array: JSON.stringify([frontmatter.poster, ...frontmatter.images]),
164
+ expect(update.assets_json_array).toBe(JSON.stringify(['new-poster.jpg']));
165
+ });
166
+ test('makePieceItemUpdatable with asset changes but no frontmatter change', () => {
167
+ const data = makePieceItemSelectable();
168
+ const note = 'note';
169
+ const path = data.file_path;
170
+ const piece = 'books';
171
+ const frontmatter = { title: 'title', poster: 'new.jpg' };
172
+ const markdown = makeMarkdownSample(path, piece, note, frontmatter);
173
+ const schema = makeSchema({
174
+ poster: { type: 'string', format: 'asset' }
141
175
  });
176
+ data.frontmatter_json = JSON.stringify({ title: 'title' });
177
+ data.assets_json_array = JSON.stringify(['old.jpg']);
178
+ const update = database.makePieceItemUpdatable(markdown, schema, data);
179
+ expect(update.assets_json_array).toBe(JSON.stringify(['new.jpg']));
180
+ expect(update.frontmatter_json).toBeDefined();
142
181
  });
143
- test('makePieceItemUpdatable force', () => {
144
- const data = makeSample();
182
+ test('makePieceItemUpdatable with force and new path', () => {
183
+ const data = makePieceItemSelectable();
145
184
  const note = 'note';
146
- const path = 'path';
185
+ const path = 'new-path';
147
186
  const piece = 'books';
148
- const frontmatter = {
149
- title: 'title',
150
- keywords: 'keys',
151
- subtitle: 'subtitle',
152
- };
187
+ const frontmatter = { title: 'title' };
153
188
  const markdown = makeMarkdownSample(path, piece, note, frontmatter);
154
- const schema = makeSchema();
155
- const fields = [
156
- { name: 'title', type: 'string' },
157
- { name: 'keywords', type: 'string' },
158
- { name: 'subtitle', type: 'string' },
159
- ];
160
- data.note_markdown = 'old note';
161
- data.frontmatter_json = JSON.stringify(frontmatter);
162
- mocks.getPieceFrontmatterSchemaFields.mockReturnValueOnce(fields);
163
- mocks.pieceFrontmatterValueToDatabaseValue.mockImplementation((value) => value);
189
+ const schema = makeSchema({});
164
190
  const update = database.makePieceItemUpdatable(markdown, schema, data, true);
165
- expect(update).toEqual({
166
- file_path: path,
167
- date_updated: expect.any(Number),
168
- note_markdown: note,
169
- frontmatter_json: JSON.stringify(frontmatter),
170
- assets_json_array: undefined,
171
- });
191
+ expect(update.file_path).toBe(path);
192
+ });
193
+ test('makePieceItemUpdatable with same path and no force', () => {
194
+ const data = makePieceItemSelectable();
195
+ const note = 'note';
196
+ const path = data.file_path;
197
+ const piece = 'books';
198
+ const frontmatter = { title: 'title' };
199
+ const markdown = makeMarkdownSample(path, piece, note, frontmatter);
200
+ const schema = makeSchema({});
201
+ const update = database.makePieceItemUpdatable(markdown, schema, data);
202
+ expect(update.file_path).toBeUndefined();
172
203
  });
173
204
  test('validatePieceItem', () => {
174
205
  const note = 'note';
@@ -176,8 +207,6 @@ describe('src/pieces/item.ts', () => {
176
207
  const path = 'path';
177
208
  const frontmatter = {
178
209
  title: 'title',
179
- keywords: 'keys',
180
- subtitle: 'subtitle',
181
210
  };
182
211
  const markdown = makeMarkdownSample(path, piece, note, frontmatter);
183
212
  const validator = vi.fn(() => true);
@@ -191,8 +220,6 @@ describe('src/pieces/item.ts', () => {
191
220
  const path = 'path';
192
221
  const frontmatter = {
193
222
  title: 'title',
194
- keywords: 'keys',
195
- subtitle: 'subtitle',
196
223
  };
197
224
  const markdown = makeMarkdownSample(path, piece, note, frontmatter);
198
225
  const validator = vi.fn(() => false);
@@ -201,15 +228,10 @@ describe('src/pieces/item.ts', () => {
201
228
  expect(validator).toHaveBeenCalledOnce();
202
229
  });
203
230
  test('getValidatePieceItemErrors', () => {
204
- const errors = ['errors', 'errors', 'errors'];
231
+ const errors = [{ instancePath: '/title', message: 'is required' }];
205
232
  const validator = { errors };
206
233
  const getErrors = database.getValidatePieceItemErrors(validator);
207
- expect(getErrors).length(errors.length);
208
- });
209
- test('getValidatePieceItemErrors but on valid validator', () => {
210
- const validator = { errors: undefined };
211
- const getErrors = database.getValidatePieceItemErrors(validator);
212
- expect(getErrors).length(0);
234
+ expect(getErrors[0]).toContain('/title is required');
213
235
  });
214
236
  });
215
237
  //# sourceMappingURL=item.test.js.map