@luzzle/core 0.0.32 → 0.0.33

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 (230) hide show
  1. package/package.json +3 -3
  2. package/dist/src/database/client.d.ts +0 -4
  3. package/dist/src/database/client.js +0 -12
  4. package/dist/src/database/client.js.map +0 -1
  5. package/dist/src/database/client.test.d.ts +0 -1
  6. package/dist/src/database/client.test.js +0 -34
  7. package/dist/src/database/client.test.js.map +0 -1
  8. package/dist/src/database/database.mock.d.ts +0 -22
  9. package/dist/src/database/database.mock.js +0 -42
  10. package/dist/src/database/database.mock.js.map +0 -1
  11. package/dist/src/database/migrations/2023-05-26T15:04:19.094Z.d.ts +0 -3
  12. package/dist/src/database/migrations/2023-05-26T15:04:19.094Z.js +0 -49
  13. package/dist/src/database/migrations/2023-05-26T15:04:19.094Z.js.map +0 -1
  14. package/dist/src/database/migrations/2023-10-30T23:24:40Z.d.ts +0 -3
  15. package/dist/src/database/migrations/2023-10-30T23:24:40Z.js +0 -35
  16. package/dist/src/database/migrations/2023-10-30T23:24:40Z.js.map +0 -1
  17. package/dist/src/database/migrations/2023-11-22T14:55:18Z.d.ts +0 -3
  18. package/dist/src/database/migrations/2023-11-22T14:55:18Z.js +0 -16
  19. package/dist/src/database/migrations/2023-11-22T14:55:18Z.js.map +0 -1
  20. package/dist/src/database/migrations/2023-11-27T04:32:07Z.d.ts +0 -3
  21. package/dist/src/database/migrations/2023-11-27T04:32:07Z.js +0 -30
  22. package/dist/src/database/migrations/2023-11-27T04:32:07Z.js.map +0 -1
  23. package/dist/src/database/migrations/2024-01-01T23:30:29Z.d.ts +0 -3
  24. package/dist/src/database/migrations/2024-01-01T23:30:29Z.js +0 -11
  25. package/dist/src/database/migrations/2024-01-01T23:30:29Z.js.map +0 -1
  26. package/dist/src/database/migrations/2024-01-06T15:52:43Z.d.ts +0 -3
  27. package/dist/src/database/migrations/2024-01-06T15:52:43Z.js +0 -16
  28. package/dist/src/database/migrations/2024-01-06T15:52:43Z.js.map +0 -1
  29. package/dist/src/database/migrations/2024-02-09T16:33:10Z.d.ts +0 -3
  30. package/dist/src/database/migrations/2024-02-09T16:33:10Z.js +0 -37
  31. package/dist/src/database/migrations/2024-02-09T16:33:10Z.js.map +0 -1
  32. package/dist/src/database/migrations/2024-02-13T05:56:43Z.d.ts +0 -3
  33. package/dist/src/database/migrations/2024-02-13T05:56:43Z.js +0 -116
  34. package/dist/src/database/migrations/2024-02-13T05:56:43Z.js.map +0 -1
  35. package/dist/src/database/migrations/2024-02-24T03:05:47Z-add-texts-table.d.ts +0 -3
  36. package/dist/src/database/migrations/2024-02-24T03:05:47Z-add-texts-table.js +0 -42
  37. package/dist/src/database/migrations/2024-02-24T03:05:47Z-add-texts-table.js.map +0 -1
  38. package/dist/src/database/migrations/2024-02-26T05:37:37Z-add-cache-table.d.ts +0 -3
  39. package/dist/src/database/migrations/2024-02-26T05:37:37Z-add-cache-table.js +0 -20
  40. package/dist/src/database/migrations/2024-02-26T05:37:37Z-add-cache-table.js.map +0 -1
  41. package/dist/src/database/migrations/2024-03-01T01:01:47Z-fix-trigger-bugs.d.ts +0 -3
  42. package/dist/src/database/migrations/2024-03-01T01:01:47Z-fix-trigger-bugs.js +0 -43
  43. package/dist/src/database/migrations/2024-03-01T01:01:47Z-fix-trigger-bugs.js.map +0 -1
  44. package/dist/src/database/migrations/2024-06-15T17:17:51Z-add-games-table.d.ts +0 -3
  45. package/dist/src/database/migrations/2024-06-15T17:17:51Z-add-games-table.js +0 -54
  46. package/dist/src/database/migrations/2024-06-15T17:17:51Z-add-games-table.js.map +0 -1
  47. package/dist/src/database/migrations/2024-06-24T20:16:48Z-remove-book-open-library-fields.d.ts +0 -3
  48. package/dist/src/database/migrations/2024-06-24T20:16:48Z-remove-book-open-library-fields.js +0 -23
  49. package/dist/src/database/migrations/2024-06-24T20:16:48Z-remove-book-open-library-fields.js.map +0 -1
  50. package/dist/src/database/migrations/2024-06-29T16:31:33Z-add-piece-manager-table.d.ts +0 -3
  51. package/dist/src/database/migrations/2024-06-29T16:31:33Z-add-piece-manager-table.js +0 -17
  52. package/dist/src/database/migrations/2024-06-29T16:31:33Z-add-piece-manager-table.js.map +0 -1
  53. package/dist/src/database/migrations/2024-07-14T06:59:07Z-remove-pieces.d.ts +0 -3
  54. package/dist/src/database/migrations/2024-07-14T06:59:07Z-remove-pieces.js +0 -15
  55. package/dist/src/database/migrations/2024-07-14T06:59:07Z-remove-pieces.js.map +0 -1
  56. package/dist/src/database/migrations/2024-11-06T15:27:05Z-remove-tags.d.ts +0 -3
  57. package/dist/src/database/migrations/2024-11-06T15:27:05Z-remove-tags.js +0 -26
  58. package/dist/src/database/migrations/2024-11-06T15:27:05Z-remove-tags.js.map +0 -1
  59. package/dist/src/database/migrations/2024-11-08T05:59:37Z-remove-pieces-items-unique-tables.d.ts +0 -3
  60. package/dist/src/database/migrations/2024-11-08T05:59:37Z-remove-pieces-items-unique-tables.js +0 -24
  61. package/dist/src/database/migrations/2024-11-08T05:59:37Z-remove-pieces-items-unique-tables.js.map +0 -1
  62. package/dist/src/database/migrations/2024-11-13T14:51:17Z-track-file-paths-on-piece.d.ts +0 -3
  63. package/dist/src/database/migrations/2024-11-13T14:51:17Z-track-file-paths-on-piece.js +0 -54
  64. package/dist/src/database/migrations/2024-11-13T14:51:17Z-track-file-paths-on-piece.js.map +0 -1
  65. package/dist/src/database/migrations/2024-12-15T06:35:24Z-track-assets-on-piece.d.ts +0 -3
  66. package/dist/src/database/migrations/2024-12-15T06:35:24Z-track-assets-on-piece.js +0 -10
  67. package/dist/src/database/migrations/2024-12-15T06:35:24Z-track-assets-on-piece.js.map +0 -1
  68. package/dist/src/database/migrations.d.ts +0 -3
  69. package/dist/src/database/migrations.js +0 -16
  70. package/dist/src/database/migrations.js.map +0 -1
  71. package/dist/src/database/migrations.test.d.ts +0 -1
  72. package/dist/src/database/migrations.test.js +0 -37
  73. package/dist/src/database/migrations.test.js.map +0 -1
  74. package/dist/src/database/tables/index.d.ts +0 -21
  75. package/dist/src/database/tables/index.js +0 -7
  76. package/dist/src/database/tables/index.js.map +0 -1
  77. package/dist/src/database/tables/pieces_cache.schema.d.ts +0 -13
  78. package/dist/src/database/tables/pieces_cache.schema.js +0 -2
  79. package/dist/src/database/tables/pieces_cache.schema.js.map +0 -1
  80. package/dist/src/database/tables/pieces_items.schema.d.ts +0 -16
  81. package/dist/src/database/tables/pieces_items.schema.js +0 -2
  82. package/dist/src/database/tables/pieces_items.schema.js.map +0 -1
  83. package/dist/src/database/tables/pieces_manager.schema.d.ts +0 -13
  84. package/dist/src/database/tables/pieces_manager.schema.js +0 -2
  85. package/dist/src/database/tables/pieces_manager.schema.js.map +0 -1
  86. package/dist/src/database/utils.d.ts +0 -8
  87. package/dist/src/database/utils.js +0 -2
  88. package/dist/src/database/utils.js.map +0 -1
  89. package/dist/src/database/utils.test.d.ts +0 -1
  90. package/dist/src/database/utils.test.js +0 -9
  91. package/dist/src/database/utils.test.js.map +0 -1
  92. package/dist/src/index.d.ts +0 -11
  93. package/dist/src/index.js +0 -12
  94. package/dist/src/index.js.map +0 -1
  95. package/dist/src/index.test.d.ts +0 -1
  96. package/dist/src/index.test.js +0 -9
  97. package/dist/src/index.test.js.map +0 -1
  98. package/dist/src/lib/ajv.d.ts +0 -6
  99. package/dist/src/lib/ajv.js +0 -25
  100. package/dist/src/lib/ajv.js.map +0 -1
  101. package/dist/src/lib/ajv.test.d.ts +0 -1
  102. package/dist/src/lib/ajv.test.js +0 -43
  103. package/dist/src/lib/ajv.test.js.map +0 -1
  104. package/dist/src/lib/frontmatter.d.ts +0 -4
  105. package/dist/src/lib/frontmatter.js +0 -8
  106. package/dist/src/lib/frontmatter.js.map +0 -1
  107. package/dist/src/lib/frontmatter.test.d.ts +0 -1
  108. package/dist/src/lib/frontmatter.test.js +0 -37
  109. package/dist/src/lib/frontmatter.test.js.map +0 -1
  110. package/dist/src/lib/markdown.d.ts +0 -7
  111. package/dist/src/lib/markdown.js +0 -21
  112. package/dist/src/lib/markdown.js.map +0 -1
  113. package/dist/src/lib/markdown.test.d.ts +0 -1
  114. package/dist/src/lib/markdown.test.js +0 -34
  115. package/dist/src/lib/markdown.test.js.map +0 -1
  116. package/dist/src/llm/google.d.ts +0 -6
  117. package/dist/src/llm/google.js +0 -91
  118. package/dist/src/llm/google.js.map +0 -1
  119. package/dist/src/llm/google.test.d.ts +0 -1
  120. package/dist/src/llm/google.test.js +0 -253
  121. package/dist/src/llm/google.test.js.map +0 -1
  122. package/dist/src/pieces/Piece.d.ts +0 -66
  123. package/dist/src/pieces/Piece.fixtures.d.ts +0 -43
  124. package/dist/src/pieces/Piece.fixtures.js +0 -83
  125. package/dist/src/pieces/Piece.fixtures.js.map +0 -1
  126. package/dist/src/pieces/Piece.js +0 -256
  127. package/dist/src/pieces/Piece.js.map +0 -1
  128. package/dist/src/pieces/Piece.test.d.ts +0 -1
  129. package/dist/src/pieces/Piece.test.js +0 -839
  130. package/dist/src/pieces/Piece.test.js.map +0 -1
  131. package/dist/src/pieces/Pieces.d.ts +0 -55
  132. package/dist/src/pieces/Pieces.js +0 -144
  133. package/dist/src/pieces/Pieces.js.map +0 -1
  134. package/dist/src/pieces/Pieces.test.d.ts +0 -1
  135. package/dist/src/pieces/Pieces.test.js +0 -327
  136. package/dist/src/pieces/Pieces.test.js.map +0 -1
  137. package/dist/src/pieces/assets.d.ts +0 -5
  138. package/dist/src/pieces/assets.js +0 -6
  139. package/dist/src/pieces/assets.js.map +0 -1
  140. package/dist/src/pieces/cache.d.ts +0 -20
  141. package/dist/src/pieces/cache.fixtures.d.ts +0 -3
  142. package/dist/src/pieces/cache.fixtures.js +0 -12
  143. package/dist/src/pieces/cache.fixtures.js.map +0 -1
  144. package/dist/src/pieces/cache.js +0 -49
  145. package/dist/src/pieces/cache.js.map +0 -1
  146. package/dist/src/pieces/cache.test.d.ts +0 -1
  147. package/dist/src/pieces/cache.test.js +0 -98
  148. package/dist/src/pieces/cache.test.js.map +0 -1
  149. package/dist/src/pieces/index.d.ts +0 -8
  150. package/dist/src/pieces/index.js +0 -9
  151. package/dist/src/pieces/index.js.map +0 -1
  152. package/dist/src/pieces/item.d.ts +0 -9
  153. package/dist/src/pieces/item.js +0 -79
  154. package/dist/src/pieces/item.js.map +0 -1
  155. package/dist/src/pieces/item.test.d.ts +0 -1
  156. package/dist/src/pieces/item.test.js +0 -215
  157. package/dist/src/pieces/item.test.js.map +0 -1
  158. package/dist/src/pieces/items.d.ts +0 -39
  159. package/dist/src/pieces/items.js +0 -45
  160. package/dist/src/pieces/items.js.map +0 -1
  161. package/dist/src/pieces/items.test.d.ts +0 -1
  162. package/dist/src/pieces/items.test.js +0 -100
  163. package/dist/src/pieces/items.test.js.map +0 -1
  164. package/dist/src/pieces/json.schema.d.ts +0 -6
  165. package/dist/src/pieces/json.schema.js +0 -58
  166. package/dist/src/pieces/json.schema.js.map +0 -1
  167. package/dist/src/pieces/json.schema.test.d.ts +0 -1
  168. package/dist/src/pieces/json.schema.test.js +0 -27
  169. package/dist/src/pieces/json.schema.test.js.map +0 -1
  170. package/dist/src/pieces/manager.d.ts +0 -22
  171. package/dist/src/pieces/manager.js +0 -43
  172. package/dist/src/pieces/manager.js.map +0 -1
  173. package/dist/src/pieces/manager.test.d.ts +0 -1
  174. package/dist/src/pieces/manager.test.js +0 -72
  175. package/dist/src/pieces/manager.test.js.map +0 -1
  176. package/dist/src/pieces/utils/frontmatter.d.ts +0 -33
  177. package/dist/src/pieces/utils/frontmatter.js +0 -69
  178. package/dist/src/pieces/utils/frontmatter.js.map +0 -1
  179. package/dist/src/pieces/utils/frontmatter.test.d.ts +0 -1
  180. package/dist/src/pieces/utils/frontmatter.test.js +0 -185
  181. package/dist/src/pieces/utils/frontmatter.test.js.map +0 -1
  182. package/dist/src/pieces/utils/markdown.d.ts +0 -10
  183. package/dist/src/pieces/utils/markdown.js +0 -9
  184. package/dist/src/pieces/utils/markdown.js.map +0 -1
  185. package/dist/src/pieces/utils/markdown.test.d.ts +0 -1
  186. package/dist/src/pieces/utils/markdown.test.js +0 -38
  187. package/dist/src/pieces/utils/markdown.test.js.map +0 -1
  188. package/dist/src/pieces/utils/piece.d.ts +0 -13
  189. package/dist/src/pieces/utils/piece.fixtures.d.ts +0 -19
  190. package/dist/src/pieces/utils/piece.fixtures.js +0 -39
  191. package/dist/src/pieces/utils/piece.fixtures.js.map +0 -1
  192. package/dist/src/pieces/utils/piece.js +0 -142
  193. package/dist/src/pieces/utils/piece.js.map +0 -1
  194. package/dist/src/pieces/utils/piece.test.d.ts +0 -1
  195. package/dist/src/pieces/utils/piece.test.js +0 -333
  196. package/dist/src/pieces/utils/piece.test.js.map +0 -1
  197. package/dist/src/pieces/utils.d.ts +0 -10
  198. package/dist/src/pieces/utils.js +0 -101
  199. package/dist/src/pieces/utils.js.map +0 -1
  200. package/dist/src/pieces/utils.test.d.ts +0 -1
  201. package/dist/src/pieces/utils.test.js +0 -372
  202. package/dist/src/pieces/utils.test.js.map +0 -1
  203. package/dist/src/storage/abstract.d.ts +0 -19
  204. package/dist/src/storage/abstract.js +0 -4
  205. package/dist/src/storage/abstract.js.map +0 -1
  206. package/dist/src/storage/fs.d.ts +0 -22
  207. package/dist/src/storage/fs.js +0 -84
  208. package/dist/src/storage/fs.js.map +0 -1
  209. package/dist/src/storage/fs.test.d.ts +0 -1
  210. package/dist/src/storage/fs.test.js +0 -222
  211. package/dist/src/storage/fs.test.js.map +0 -1
  212. package/dist/src/storage/index.d.ts +0 -5
  213. package/dist/src/storage/index.js +0 -4
  214. package/dist/src/storage/index.js.map +0 -1
  215. package/dist/src/storage/storage.mock.d.ts +0 -2
  216. package/dist/src/storage/storage.mock.js +0 -18
  217. package/dist/src/storage/storage.mock.js.map +0 -1
  218. package/dist/src/storage/types.d.ts +0 -6
  219. package/dist/src/storage/types.js +0 -2
  220. package/dist/src/storage/types.js.map +0 -1
  221. package/dist/src/storage/webdav.d.ts +0 -25
  222. package/dist/src/storage/webdav.js +0 -65
  223. package/dist/src/storage/webdav.js.map +0 -1
  224. package/dist/src/storage/webdav.test.d.ts +0 -1
  225. package/dist/src/storage/webdav.test.js +0 -194
  226. package/dist/src/storage/webdav.test.js.map +0 -1
  227. package/dist/tsconfig.tsbuildinfo +0 -1
  228. package/dist/vite.config.d.ts +0 -2
  229. package/dist/vite.config.js +0 -36
  230. package/dist/vite.config.js.map +0 -1
@@ -1,256 +0,0 @@
1
- import { updateCache, addCache, getCache } from './cache.js';
2
- import { cpus } from 'os';
3
- import path from 'path';
4
- import slugify from '@sindresorhus/slugify';
5
- import { Readable } from 'stream';
6
- import { databaseValueToPieceFrontmatterValue, getPieceFrontmatterSchemaFields, initializePieceFrontMatter, } from './utils/frontmatter.js';
7
- import { makePieceMarkdown, makePieceMarkdownString } from './utils/markdown.js';
8
- import { calculateHashFromFile, makePieceAttachment, makePieceValue } from './utils/piece.js';
9
- import compile from '../lib/ajv.js';
10
- import { getValidatePieceItemErrors, makePieceItemInsertable, makePieceItemUpdatable, validatePieceItem, } from './item.js';
11
- import { extractFullMarkdown } from '../lib/markdown.js';
12
- import { deleteItem, insertItem, selectItem, selectItems, updateItem } from './items.js';
13
- import { LUZZLE_PIECE_FILE_EXTENSION } from './assets.js';
14
- class Piece {
15
- _validator;
16
- _schema;
17
- _storage;
18
- _pieceName;
19
- _fields;
20
- constructor(pieceName, storage, schema) {
21
- this._storage = storage;
22
- this._schema = schema;
23
- this._pieceName = pieceName;
24
- if (this._pieceName !== this._schema.title) {
25
- throw new Error(`${pieceName} does not match the schema title: ${this._schema.title}`);
26
- }
27
- }
28
- async create(directory, name) {
29
- const slug = slugify(name);
30
- const filename = `${slug}.${this.type}.${LUZZLE_PIECE_FILE_EXTENSION}`;
31
- const file = path.join(directory, filename);
32
- const exists = await this._storage.exists(file);
33
- if (exists) {
34
- throw new Error(`file already exists: ${file}`);
35
- }
36
- const frontmatter = initializePieceFrontMatter(this._schema, true);
37
- return makePieceMarkdown(file, this._pieceName, undefined, frontmatter);
38
- }
39
- async delete(file) {
40
- const exists = await this._storage.exists(file);
41
- if (exists) {
42
- await this._storage.delete(file);
43
- return;
44
- }
45
- throw new Error(`${file} does not exist`);
46
- }
47
- get type() {
48
- return this._pieceName;
49
- }
50
- get schema() {
51
- return this._schema;
52
- }
53
- get validator() {
54
- this._validator = this._validator || compile(this._schema);
55
- return this._validator;
56
- }
57
- get fields() {
58
- this._fields = this._fields || getPieceFrontmatterSchemaFields(this._schema);
59
- return this._fields;
60
- }
61
- async isOutdated(file, db) {
62
- const fileStat = await this._storage.stat(file).catch(() => null);
63
- if (fileStat) {
64
- const cache = await getCache(db, file);
65
- const cachedDate = cache?.date_updated || cache?.date_added;
66
- return !cachedDate || fileStat.last_modified.getTime() > cachedDate;
67
- }
68
- throw new Error(`${file} does not exist`);
69
- }
70
- validate(markdown) {
71
- const valid = validatePieceItem(markdown, this.validator);
72
- if (valid) {
73
- return { isValid: true };
74
- }
75
- else {
76
- const errors = getValidatePieceItemErrors(this.validator);
77
- return { isValid: false, errors };
78
- }
79
- }
80
- async get(file) {
81
- const exists = await this._storage.exists(file);
82
- if (exists) {
83
- const contents = await this._storage.readFile(file, 'text');
84
- const data = await extractFullMarkdown(contents);
85
- if (!/^\//.test(file)) {
86
- return makePieceMarkdown(file, this._pieceName, data.markdown, data.frontmatter);
87
- }
88
- }
89
- throw new Error(`${file} does not exist`);
90
- }
91
- async write(markdown) {
92
- const validated = this.validate(markdown);
93
- if (validated.isValid) {
94
- const markdownString = makePieceMarkdownString(markdown);
95
- await this._storage.writeFile(markdown.filePath, markdownString);
96
- }
97
- else {
98
- throw new Error(`Could not write ${markdown.filePath} due to\n\n: ${validated.errors.join('\n')}`);
99
- }
100
- }
101
- async prune(db, files, options) {
102
- const dbPieces = await selectItems(db, { type: this._pieceName });
103
- const diskPiecesSet = new Set(files);
104
- const missingPieces = dbPieces.filter((piece) => !diskPiecesSet.has(piece.file_path));
105
- const missingFiles = missingPieces.map((piece) => piece.file_path);
106
- const stream = Readable.from(missingFiles);
107
- return stream.map(async (file) => {
108
- try {
109
- if (!options?.dryRun) {
110
- await deleteItem(db, file);
111
- }
112
- return { action: 'pruned', file };
113
- }
114
- catch (error) {
115
- return { file, error: true, message: `error pruning piece: ${error}` };
116
- }
117
- }, { concurrency: cpus().length });
118
- }
119
- async sync(db, files, options) {
120
- const stream = Readable.from(files);
121
- return stream.map(async (file) => {
122
- const markdown = await this.get(file);
123
- const dbPiece = await selectItem(db, markdown.filePath);
124
- try {
125
- if (dbPiece) {
126
- const readStream = this._storage.createReadStream(markdown.filePath);
127
- const newHash = await calculateHashFromFile(readStream);
128
- const cache = await getCache(db, markdown.filePath);
129
- if (options?.force || cache?.content_hash !== newHash) {
130
- if (!options?.dryRun) {
131
- await this.syncMarkdownUpdate(db, markdown, dbPiece);
132
- }
133
- return { action: 'updated', file };
134
- }
135
- return { action: 'skipped', file };
136
- }
137
- else {
138
- if (!options?.dryRun) {
139
- await this.syncMarkdownAdd(db, markdown);
140
- }
141
- return { action: 'added', file };
142
- }
143
- }
144
- catch (error) {
145
- return { file, error: true, message: `error syncing piece: ${error}` };
146
- }
147
- }, { concurrency: cpus().length });
148
- }
149
- async syncMarkdownAdd(db, markdown) {
150
- const createInput = makePieceItemInsertable(this._pieceName, markdown, this._schema);
151
- const readStream = this._storage.createReadStream(markdown.filePath);
152
- const hash = await calculateHashFromFile(readStream);
153
- await insertItem(db, createInput);
154
- await addCache(db, markdown.filePath, hash);
155
- }
156
- async syncMarkdown(db, markdown) {
157
- const dbPiece = await selectItem(db, markdown.filePath);
158
- if (dbPiece) {
159
- await this.syncMarkdownUpdate(db, markdown, dbPiece);
160
- }
161
- else {
162
- await this.syncMarkdownAdd(db, markdown);
163
- }
164
- }
165
- async syncMarkdownUpdate(db, markdown, data) {
166
- const updateInput = makePieceItemUpdatable(markdown, this._schema, data, false);
167
- await updateItem(db, markdown.filePath, updateInput);
168
- const readStream = this._storage.createReadStream(markdown.filePath);
169
- const hash = await calculateHashFromFile(readStream);
170
- await updateCache(db, data.file_path, hash);
171
- }
172
- toMarkdown(data) {
173
- const frontmatter = JSON.parse(data.frontmatter_json);
174
- const frontmatterJson = {};
175
- const dataKeys = Object.keys(frontmatter);
176
- const fields = getPieceFrontmatterSchemaFields(this._schema).filter((f) => dataKeys.includes(f.name));
177
- fields.forEach((field) => {
178
- const name = field.name;
179
- const value = frontmatter[field.name];
180
- frontmatterJson[name] = databaseValueToPieceFrontmatterValue(value, field);
181
- });
182
- return makePieceMarkdown(data.file_path, data.type, data.note_markdown, frontmatterJson);
183
- }
184
- async setFields(markdown, fields) {
185
- let updatedMarkdown = markdown;
186
- for (const fieldname in fields) {
187
- updatedMarkdown = await this.setField(updatedMarkdown, fieldname, fields[fieldname]);
188
- }
189
- return updatedMarkdown;
190
- }
191
- async removeFields(markdown, fields) {
192
- let updatedMarkdown = markdown;
193
- for (const field of fields) {
194
- updatedMarkdown = await this.removeField(markdown, field);
195
- }
196
- return updatedMarkdown;
197
- }
198
- async setField(markdown, field, value) {
199
- const pieceField = this.fields.find((f) => f.name === field);
200
- if (!pieceField) {
201
- throw new Error(`${field} is not a field in ${this._pieceName} ${markdown.filePath}`);
202
- }
203
- const isArray = pieceField.type === 'array';
204
- const values = Array.isArray(value) ? value : [value];
205
- const set = [];
206
- try {
207
- for (const one of values) {
208
- const pieceValue = await makePieceValue(pieceField, one);
209
- if (pieceValue instanceof Readable) {
210
- const file = markdown.filePath;
211
- const storage = this._storage;
212
- const asset = await makePieceAttachment(file, pieceField, pieceValue, storage);
213
- set.push(asset);
214
- }
215
- else {
216
- set.push(pieceValue);
217
- }
218
- }
219
- }
220
- catch (e) {
221
- const error = e;
222
- console.error(`could not set field ${field}: ${error.message}`);
223
- return markdown; // On error, return the original markdown, preserving the old value
224
- }
225
- return makePieceMarkdown(markdown.filePath, markdown.piece, markdown.note, {
226
- ...markdown.frontmatter,
227
- [field]: isArray ? set : set.pop(),
228
- });
229
- }
230
- async removeField(markdown, field, value) {
231
- const pieceField = this.fields.find((f) => f.name === field);
232
- const { [field]: fieldValue, ...frontmatter } = markdown.frontmatter;
233
- if (!pieceField) {
234
- throw new Error(`${field} is not a field in ${this._pieceName} ${markdown.filePath}`);
235
- }
236
- if (pieceField.nullable !== true) {
237
- throw new Error(`${field} is a required field in ${this._pieceName} ${markdown.filePath}`);
238
- }
239
- if (value === undefined || fieldValue === undefined) {
240
- return makePieceMarkdown(markdown.filePath, markdown.piece, markdown.note, frontmatter);
241
- }
242
- const pieceValue = await makePieceValue(pieceField, value);
243
- if (Array.isArray(fieldValue)) {
244
- return makePieceMarkdown(markdown.filePath, markdown.piece, markdown.note, {
245
- ...frontmatter,
246
- [field]: fieldValue.filter((v) => v !== pieceValue),
247
- });
248
- }
249
- else if (fieldValue === pieceValue) {
250
- return makePieceMarkdown(markdown.filePath, markdown.piece, markdown.note, frontmatter);
251
- }
252
- return markdown;
253
- }
254
- }
255
- export default Piece;
256
- //# sourceMappingURL=Piece.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Piece.js","sourceRoot":"","sources":["../../../src/pieces/Piece.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};