@luzzle/core 0.0.37 → 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.
- package/README.md +9 -36
- package/dist/src/database/migrations/2026-02-11T23:03:45Z-clear-pieces-cache.d.ts +3 -0
- package/dist/src/database/migrations/2026-02-11T23:03:45Z-clear-pieces-cache.js +8 -0
- package/dist/src/database/migrations/2026-02-11T23:03:45Z-clear-pieces-cache.js.map +1 -0
- package/dist/src/lib/ajv.test.js +1 -1
- package/dist/src/lib/ajv.test.js.map +1 -1
- package/dist/src/llm/google.d.ts +1 -1
- package/dist/src/pieces/Piece.d.ts +2 -2
- package/dist/src/pieces/Piece.fixtures.d.ts +21 -27
- package/dist/src/pieces/Piece.fixtures.js +34 -21
- package/dist/src/pieces/Piece.fixtures.js.map +1 -1
- package/dist/src/pieces/Piece.js +45 -42
- package/dist/src/pieces/Piece.js.map +1 -1
- package/dist/src/pieces/Piece.test.js +487 -739
- package/dist/src/pieces/Piece.test.js.map +1 -1
- package/dist/src/pieces/item.js +29 -17
- package/dist/src/pieces/item.js.map +1 -1
- package/dist/src/pieces/item.test.js +137 -115
- package/dist/src/pieces/item.test.js.map +1 -1
- package/dist/src/pieces/manager.test.js +1 -1
- package/dist/src/pieces/manager.test.js.map +1 -1
- package/dist/src/pieces/utils/frontmatter.d.ts +42 -10
- package/dist/src/pieces/utils/frontmatter.js +112 -44
- package/dist/src/pieces/utils/frontmatter.js.map +1 -1
- package/dist/src/pieces/utils/frontmatter.path.d.ts +5 -0
- package/dist/src/pieces/utils/frontmatter.path.js +92 -0
- package/dist/src/pieces/utils/frontmatter.path.js.map +1 -0
- package/dist/src/pieces/utils/frontmatter.path.test.d.ts +1 -0
- package/dist/src/pieces/utils/frontmatter.path.test.js +172 -0
- package/dist/src/pieces/utils/frontmatter.path.test.js.map +1 -0
- package/dist/src/pieces/utils/frontmatter.test.js +200 -169
- package/dist/src/pieces/utils/frontmatter.test.js.map +1 -1
- package/dist/src/pieces/utils/piece.js +3 -2
- package/dist/src/pieces/utils/piece.js.map +1 -1
- package/dist/src/pieces/utils/piece.test.js +1 -1
- package/dist/src/pieces/utils/piece.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/pieces/utils/piece.fixtures.d.ts +0 -19
- package/dist/src/pieces/utils/piece.fixtures.js +0 -39
- package/dist/src/pieces/utils/piece.fixtures.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,41 +1,14 @@
|
|
|
1
|
-
# @luzzle/core
|
|
1
|
+
# @luzzle/core 🫀
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The foundational implementation of the Luzzle specification. It solves the inherent challenges of managing large-scale digital records using plain text.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Challenges Solved 🏗️
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
* **Consistency**: Enforces structure across thousands of records using JSON schemas.
|
|
8
|
+
* **Organization**: Standardizes where files and attachments (`.assets/`) live within an archive.
|
|
9
|
+
* **Scale**: Maps thousands of text files into a high-performance SQLite index, enabling complex queries and fast searching without slow filesystem traversal.
|
|
10
|
+
* **Portability**: Provides a unified Storage abstraction (Local, WebDAV) so your data remains accessible anywhere.
|
|
10
11
|
|
|
11
|
-
##
|
|
12
|
+
## How it works 🚂
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
This package strictly adheres to the Luzzle philosophy. While it provides a
|
|
16
|
-
powerful database client, the database is treated as a disposable cache. Your
|
|
17
|
-
Markdown files are the source of truth, forever and always.
|
|
18
|
-
|
|
19
|
-
## Usage
|
|
20
|
-
|
|
21
|
-
This library is primarily for other Luzzle tools, but feel free to use it for
|
|
22
|
-
your own scripts!
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
npm install @luzzle/core
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### Example: Database Access
|
|
29
|
-
|
|
30
|
-
```typescript
|
|
31
|
-
import { getDatabaseClient } from '@luzzle/core/database/client';
|
|
32
|
-
|
|
33
|
-
const db = getDatabaseClient('/path/to/luzzle/root');
|
|
34
|
-
// Execute type-safe queries with Kysely 🚀
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Features
|
|
38
|
-
|
|
39
|
-
* **Schema Validation:** Enforces structure using Ajv. Strict but fair. ⚖️
|
|
40
|
-
* **File Synchronization:** Reads Markdown, updates SQLite.
|
|
41
|
-
* **Type-Safe Querying:** Because runtime errors are no fun.
|
|
14
|
+
Core treats your filesystem as the primary database. It parses Markdown, validates frontmatter, and maintains a derivative SQLite cache for application-layer performance.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2
|
+
export async function up(db) {
|
|
3
|
+
await db.deleteFrom('pieces_items').execute();
|
|
4
|
+
}
|
|
5
|
+
export async function down() {
|
|
6
|
+
// nothing to do
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=2026-02-11T23:03:45Z-clear-pieces-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2026-02-11T23:03:45Z-clear-pieces-cache.js","sourceRoot":"","sources":["../../../../src/database/migrations/2026-02-11T23:03:45Z-clear-pieces-cache.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAe;IACvC,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAA;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,gBAAgB;AACjB,CAAC"}
|
package/dist/src/lib/ajv.test.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, test, vi, afterEach } from 'vitest';
|
|
2
|
-
import { makeSchema } from '../pieces/
|
|
2
|
+
import { makeSchema } from '../pieces/Piece.fixtures.js';
|
|
3
3
|
import Ajv from 'ajv';
|
|
4
4
|
import ajv, { assetFormatValidator, dateFormatValidator, commaSeparatedFormatValidator, paragraphValidator } from './ajv.js';
|
|
5
5
|
vi.mock('ajv');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ajv.test.js","sourceRoot":"","sources":["../../../src/lib/ajv.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAgB,MAAM,QAAQ,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ajv.test.js","sourceRoot":"","sources":["../../../src/lib/ajv.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAgB,MAAM,QAAQ,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,GAAG,EAAE,EACX,oBAAoB,EACpB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,MAAM,UAAU,CAAA;AAEjB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEd,MAAM,KAAK,GAAG;IACb,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;IACzC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;CAC7C,CAAA;AAED,MAAM,KAAK,GAAoC,EAAE,CAAA;AAEjD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC/B,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,CAAC,SAAS,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAClC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;QAChB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;QAE3B,GAAG,CAAC,MAAM,CAAC,CAAA;QAEX,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC1C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|
package/dist/src/llm/google.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JSONSchemaType } from 'ajv';
|
|
2
2
|
import { type PieceFrontmatter } from '../pieces/index.js';
|
|
3
3
|
declare function pieceFrontMatterFromPrompt(apiKey: string, schema: JSONSchemaType<PieceFrontmatter>, prompt: string, files?: Array<string | Buffer>): Promise<{
|
|
4
|
-
[k: string]:
|
|
4
|
+
[k: string]: import("../index.js").PieceFrontMatterValue;
|
|
5
5
|
}>;
|
|
6
6
|
export { pieceFrontMatterFromPrompt };
|
|
@@ -60,7 +60,7 @@ declare class Piece<F extends PieceFrontmatter> {
|
|
|
60
60
|
toMarkdown(data: LuzzleSelectable<'pieces_items'>): PieceMarkdown<F>;
|
|
61
61
|
setFields(markdown: PieceMarkdown<F>, fields: Record<string, unknown>): Promise<PieceMarkdown<F>>;
|
|
62
62
|
removeFields(markdown: PieceMarkdown<F>, fields: string[]): Promise<PieceMarkdown<Omit<F, keyof F>>>;
|
|
63
|
-
setField(markdown: PieceMarkdown<F>,
|
|
64
|
-
removeField(markdown: PieceMarkdown<F>,
|
|
63
|
+
setField(markdown: PieceMarkdown<F>, fieldPath: string, value: unknown): Promise<PieceMarkdown<F>>;
|
|
64
|
+
removeField(markdown: PieceMarkdown<F>, fieldPath: string, value?: number | string | boolean): Promise<PieceMarkdown<F>>;
|
|
65
65
|
}
|
|
66
66
|
export default Piece;
|
|
@@ -1,43 +1,37 @@
|
|
|
1
|
+
import { ValidateFunction } from 'ajv';
|
|
1
2
|
import { LuzzleSelectable } from '../database/tables/index.js';
|
|
2
3
|
import { PieceFrontmatter, PieceFrontmatterSchema } from './utils/frontmatter.js';
|
|
3
4
|
import { PieceMarkdown } from './utils/markdown.js';
|
|
4
|
-
import compile from '../lib/ajv.js';
|
|
5
5
|
import LuzzleStorage from '../storage/abstract.js';
|
|
6
6
|
import Piece from './Piece.js';
|
|
7
7
|
import { PieceManagerSelect } from '../database/tables/pieces_manager.schema.js';
|
|
8
|
-
type PieceValidator =
|
|
8
|
+
export type PieceValidator = ValidateFunction<PieceFrontmatter>;
|
|
9
9
|
export declare function makeValidator(): PieceValidator;
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
export declare function
|
|
25
|
-
export declare function
|
|
26
|
-
export declare function makeMarkdownSample<F extends PieceFrontmatter>(initial?: Partial<PieceMarkdown<F>>): PieceMarkdown<F>;
|
|
10
|
+
export type MockSchemaProperty = {
|
|
11
|
+
type?: string;
|
|
12
|
+
nullable?: boolean;
|
|
13
|
+
items?: MockSchemaProperty;
|
|
14
|
+
format?: string;
|
|
15
|
+
pattern?: string;
|
|
16
|
+
enum?: string[] | number[];
|
|
17
|
+
properties?: Record<string, MockSchemaProperty>;
|
|
18
|
+
required?: string[];
|
|
19
|
+
examples?: unknown[];
|
|
20
|
+
default?: unknown;
|
|
21
|
+
};
|
|
22
|
+
export declare function makeSchema(propertiesOrName?: string | Record<string, MockSchemaProperty>): PieceFrontmatterSchema<PieceFrontmatter>;
|
|
23
|
+
export declare function makeStorage(root?: string): LuzzleStorage;
|
|
24
|
+
export declare function makeFrontmatterSample(overrides?: Record<string, unknown>): PieceFrontmatter;
|
|
25
|
+
export declare function makeMarkdownSample<F extends PieceFrontmatter>(filePathOrOptions?: string | Partial<PieceMarkdown<F>>, piece?: string, note?: string, frontmatter?: F): PieceMarkdown<F>;
|
|
27
26
|
export declare function makePieceItemSelectable(overrides?: Partial<LuzzleSelectable<'pieces_items'>>): LuzzleSelectable<'pieces_items'>;
|
|
28
|
-
declare class
|
|
27
|
+
export declare class PieceMock extends Piece<PieceFrontmatter> {
|
|
29
28
|
constructor(name?: string, storage?: LuzzleStorage, schema?: PieceFrontmatterSchema<PieceFrontmatter>);
|
|
30
29
|
}
|
|
31
|
-
export declare function makePieceMock(): typeof
|
|
30
|
+
export declare function makePieceMock(): typeof PieceMock;
|
|
32
31
|
export declare function makeRegisteredPiece(overrides?: Partial<PieceManagerSelect>): {
|
|
33
32
|
id: string;
|
|
34
33
|
date_added: number;
|
|
35
34
|
date_updated: number | null;
|
|
36
35
|
name: string;
|
|
37
|
-
schema: PieceFrontmatterSchema<
|
|
38
|
-
title: string;
|
|
39
|
-
keywords?: string;
|
|
40
|
-
subtitle?: string;
|
|
41
|
-
}>;
|
|
36
|
+
schema: PieceFrontmatterSchema<PieceFrontmatter>;
|
|
42
37
|
};
|
|
43
|
-
export {};
|
|
@@ -2,9 +2,9 @@ import Piece from './Piece.js';
|
|
|
2
2
|
import { vi } from 'vitest';
|
|
3
3
|
const sample = {
|
|
4
4
|
note_markdown: 'sampleNote',
|
|
5
|
-
file_path: 'samplePath',
|
|
5
|
+
file_path: 'samplePath.md',
|
|
6
6
|
id: 'sampleId',
|
|
7
|
-
type: '
|
|
7
|
+
type: 'table',
|
|
8
8
|
date_added: new Date().getTime(),
|
|
9
9
|
date_updated: new Date().getTime(),
|
|
10
10
|
frontmatter_json: JSON.stringify({ title: 'sampleTitle' }),
|
|
@@ -13,25 +13,27 @@ export function makeValidator() {
|
|
|
13
13
|
const validate = () => true;
|
|
14
14
|
return validate;
|
|
15
15
|
}
|
|
16
|
-
export function makeSchema(
|
|
16
|
+
export function makeSchema(propertiesOrName) {
|
|
17
|
+
const name = typeof propertiesOrName === 'string' ? propertiesOrName : 'table';
|
|
18
|
+
const properties = typeof propertiesOrName === 'object' ? propertiesOrName : {};
|
|
17
19
|
return {
|
|
18
20
|
type: 'object',
|
|
19
21
|
title: name,
|
|
20
22
|
properties: {
|
|
21
23
|
title: { type: 'string', examples: ['title'] },
|
|
22
|
-
keywords: { type: 'string', nullable: true },
|
|
23
|
-
subtitle: { type: 'string', nullable: true },
|
|
24
|
+
keywords: { type: 'string', nullable: true, examples: ['keyword1'] },
|
|
25
|
+
subtitle: { type: 'string', nullable: true, examples: ['subtitle'] },
|
|
24
26
|
...properties,
|
|
25
27
|
},
|
|
26
28
|
required: ['title'],
|
|
27
29
|
additionalProperties: true,
|
|
28
30
|
};
|
|
29
31
|
}
|
|
30
|
-
export function makeStorage(root) {
|
|
32
|
+
export function makeStorage(root = 'root') {
|
|
31
33
|
return {
|
|
32
34
|
root,
|
|
33
35
|
type: 'fs',
|
|
34
|
-
parseArgPath: vi.fn(),
|
|
36
|
+
parseArgPath: vi.fn((p) => p),
|
|
35
37
|
readFile: vi.fn(),
|
|
36
38
|
writeFile: vi.fn(),
|
|
37
39
|
getFilesIn: vi.fn(),
|
|
@@ -43,16 +45,27 @@ export function makeStorage(root) {
|
|
|
43
45
|
makeDirectory: vi.fn(),
|
|
44
46
|
};
|
|
45
47
|
}
|
|
46
|
-
export function makeFrontmatterSample(
|
|
47
|
-
return
|
|
48
|
+
export function makeFrontmatterSample(overrides = {}) {
|
|
49
|
+
return {
|
|
50
|
+
title: 'sampleTitle',
|
|
51
|
+
...overrides,
|
|
52
|
+
};
|
|
48
53
|
}
|
|
49
|
-
export function makeMarkdownSample(
|
|
54
|
+
export function makeMarkdownSample(filePathOrOptions = 'samplePath.md', piece = 'table', note = 'sampleNote', frontmatter) {
|
|
55
|
+
if (typeof filePathOrOptions === 'object') {
|
|
56
|
+
return {
|
|
57
|
+
filePath: 'samplePath.md',
|
|
58
|
+
piece: 'table',
|
|
59
|
+
note: 'sampleNote',
|
|
60
|
+
frontmatter: makeFrontmatterSample(),
|
|
61
|
+
...filePathOrOptions,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
50
64
|
return {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
frontmatter: makeFrontmatterSample(),
|
|
55
|
-
...initial,
|
|
65
|
+
filePath: filePathOrOptions,
|
|
66
|
+
piece,
|
|
67
|
+
note,
|
|
68
|
+
frontmatter: (frontmatter || makeFrontmatterSample()),
|
|
56
69
|
};
|
|
57
70
|
}
|
|
58
71
|
export function makePieceItemSelectable(overrides) {
|
|
@@ -61,22 +74,22 @@ export function makePieceItemSelectable(overrides) {
|
|
|
61
74
|
...overrides,
|
|
62
75
|
};
|
|
63
76
|
}
|
|
64
|
-
class
|
|
65
|
-
constructor(name = 'table', storage = makeStorage(
|
|
77
|
+
export class PieceMock extends Piece {
|
|
78
|
+
constructor(name = 'table', storage = makeStorage(), schema = makeSchema(name)) {
|
|
66
79
|
super(name, storage, schema);
|
|
67
80
|
}
|
|
68
81
|
}
|
|
69
82
|
export function makePieceMock() {
|
|
70
|
-
return
|
|
83
|
+
return PieceMock;
|
|
71
84
|
}
|
|
72
85
|
export function makeRegisteredPiece(overrides) {
|
|
73
86
|
const { schema, ...rest } = overrides || {};
|
|
74
87
|
return {
|
|
75
|
-
id: `
|
|
88
|
+
id: `id-${Math.random()}`,
|
|
76
89
|
date_added: new Date().getTime(),
|
|
77
90
|
date_updated: null,
|
|
78
|
-
name: '
|
|
79
|
-
schema: makeSchema(schema
|
|
91
|
+
name: 'table',
|
|
92
|
+
schema: makeSchema(typeof schema === 'string' ? schema : 'table'),
|
|
80
93
|
...rest,
|
|
81
94
|
};
|
|
82
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Piece.fixtures.js","sourceRoot":"","sources":["../../../src/pieces/Piece.fixtures.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"Piece.fixtures.js","sourceRoot":"","sources":["../../../src/pieces/Piece.fixtures.ts"],"names":[],"mappings":"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"}
|
package/dist/src/pieces/Piece.js
CHANGED
|
@@ -4,6 +4,7 @@ import path from 'path';
|
|
|
4
4
|
import slugify from '@sindresorhus/slugify';
|
|
5
5
|
import { Readable } from 'stream';
|
|
6
6
|
import { databaseValueToPieceFrontmatterValue, getPieceFrontmatterSchemaFields, initializePieceFrontMatter, } from './utils/frontmatter.js';
|
|
7
|
+
import * as paths from './utils/frontmatter.path.js';
|
|
7
8
|
import { makePieceMarkdown, makePieceMarkdownString } from './utils/markdown.js';
|
|
8
9
|
import { calculateHashFromFile, makePieceAttachment, makePieceValue } from './utils/piece.js';
|
|
9
10
|
import compile from '../lib/ajv.js';
|
|
@@ -119,9 +120,9 @@ class Piece {
|
|
|
119
120
|
async sync(db, files, options) {
|
|
120
121
|
const stream = Readable.from(files);
|
|
121
122
|
return stream.map(async (file) => {
|
|
122
|
-
const markdown = await this.get(file);
|
|
123
|
-
const dbPiece = await selectItem(db, markdown.filePath);
|
|
124
123
|
try {
|
|
124
|
+
const markdown = await this.get(file);
|
|
125
|
+
const dbPiece = await selectItem(db, markdown.filePath);
|
|
125
126
|
if (dbPiece) {
|
|
126
127
|
const readStream = this._storage.createReadStream(markdown.filePath);
|
|
127
128
|
const newHash = await calculateHashFromFile(readStream);
|
|
@@ -173,10 +174,10 @@ class Piece {
|
|
|
173
174
|
const frontmatter = JSON.parse(data.frontmatter_json);
|
|
174
175
|
const frontmatterJson = {};
|
|
175
176
|
const dataKeys = Object.keys(frontmatter);
|
|
176
|
-
const fields = getPieceFrontmatterSchemaFields(this._schema).filter((f) => dataKeys.includes(f.name));
|
|
177
|
+
const fields = getPieceFrontmatterSchemaFields(this._schema).filter((f) => !!f.name && dataKeys.includes(f.name));
|
|
177
178
|
fields.forEach((field) => {
|
|
178
179
|
const name = field.name;
|
|
179
|
-
const value = frontmatter[
|
|
180
|
+
const value = frontmatter[name];
|
|
180
181
|
frontmatterJson[name] = databaseValueToPieceFrontmatterValue(value, field);
|
|
181
182
|
});
|
|
182
183
|
return makePieceMarkdown(data.file_path, data.type, data.note_markdown, frontmatterJson);
|
|
@@ -191,65 +192,67 @@ class Piece {
|
|
|
191
192
|
async removeFields(markdown, fields) {
|
|
192
193
|
let updatedMarkdown = markdown;
|
|
193
194
|
for (const field of fields) {
|
|
194
|
-
updatedMarkdown = await this.removeField(
|
|
195
|
+
updatedMarkdown = (await this.removeField(updatedMarkdown, field));
|
|
195
196
|
}
|
|
196
197
|
return updatedMarkdown;
|
|
197
198
|
}
|
|
198
|
-
async setField(markdown,
|
|
199
|
-
const pieceField = this.fields
|
|
199
|
+
async setField(markdown, fieldPath, value) {
|
|
200
|
+
const pieceField = paths.findField(this.fields, fieldPath);
|
|
200
201
|
if (!pieceField) {
|
|
201
|
-
throw new Error(`${
|
|
202
|
+
throw new Error(`${fieldPath} is not a field in ${this._pieceName} ${markdown.filePath}`);
|
|
202
203
|
}
|
|
203
204
|
const isArray = pieceField.type === 'array';
|
|
205
|
+
const itemField = isArray
|
|
206
|
+
? { ...pieceField.items, name: pieceField.name }
|
|
207
|
+
: pieceField;
|
|
204
208
|
const values = Array.isArray(value) ? value : [value];
|
|
205
|
-
const
|
|
209
|
+
const updatedFrontmatter = { ...markdown.frontmatter };
|
|
206
210
|
try {
|
|
211
|
+
// Process each value individually (e.g. for bulk asset uploads)
|
|
207
212
|
for (const one of values) {
|
|
208
|
-
const pieceValue = await makePieceValue(
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
set.push(asset);
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
set.push(pieceValue);
|
|
217
|
-
}
|
|
213
|
+
const pieceValue = await makePieceValue(itemField, one);
|
|
214
|
+
const val = pieceValue instanceof Readable
|
|
215
|
+
? await makePieceAttachment(markdown.filePath, itemField, pieceValue, this._storage)
|
|
216
|
+
: pieceValue;
|
|
217
|
+
paths.set(updatedFrontmatter, fieldPath, val);
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
220
|
catch (e) {
|
|
221
221
|
const error = e;
|
|
222
|
-
console.error(`could not set field ${
|
|
223
|
-
return markdown;
|
|
222
|
+
console.error(`could not set field ${fieldPath}: ${error.message}`);
|
|
223
|
+
return markdown;
|
|
224
224
|
}
|
|
225
|
-
return makePieceMarkdown(markdown.filePath, markdown.piece, markdown.note,
|
|
226
|
-
...markdown.frontmatter,
|
|
227
|
-
[field]: isArray ? set : set.pop(),
|
|
228
|
-
});
|
|
225
|
+
return makePieceMarkdown(markdown.filePath, markdown.piece, markdown.note, updatedFrontmatter);
|
|
229
226
|
}
|
|
230
|
-
async removeField(markdown,
|
|
231
|
-
const pieceField = this.fields
|
|
232
|
-
const { [field]: fieldValue, ...frontmatter } = markdown.frontmatter;
|
|
227
|
+
async removeField(markdown, fieldPath, value) {
|
|
228
|
+
const pieceField = paths.findField(this.fields, fieldPath);
|
|
233
229
|
if (!pieceField) {
|
|
234
|
-
throw new Error(`${
|
|
230
|
+
throw new Error(`${fieldPath} is not a field in ${this._pieceName} ${markdown.filePath}`);
|
|
235
231
|
}
|
|
236
232
|
if (pieceField.nullable !== true) {
|
|
237
|
-
throw new Error(`${
|
|
238
|
-
}
|
|
239
|
-
if (value === undefined || fieldValue === undefined) {
|
|
240
|
-
return makePieceMarkdown(markdown.filePath, markdown.piece, markdown.note, frontmatter);
|
|
233
|
+
throw new Error(`${fieldPath} is a required field in ${this._pieceName} ${markdown.filePath}`);
|
|
241
234
|
}
|
|
242
|
-
const
|
|
243
|
-
if (
|
|
244
|
-
|
|
245
|
-
...frontmatter,
|
|
246
|
-
[field]: fieldValue.filter((v) => v !== pieceValue),
|
|
247
|
-
});
|
|
235
|
+
const updatedFrontmatter = { ...markdown.frontmatter };
|
|
236
|
+
if (value === undefined) {
|
|
237
|
+
paths.unset(updatedFrontmatter, fieldPath);
|
|
248
238
|
}
|
|
249
|
-
else
|
|
250
|
-
|
|
239
|
+
else {
|
|
240
|
+
const pieceValue = await makePieceValue(pieceField, value);
|
|
241
|
+
const current = paths.get(updatedFrontmatter, fieldPath);
|
|
242
|
+
if (Array.isArray(current) && !(pieceValue instanceof Readable)) {
|
|
243
|
+
const index = current.indexOf(pieceValue);
|
|
244
|
+
if (index !== -1) {
|
|
245
|
+
paths.unset(updatedFrontmatter, `${fieldPath}.${index}`);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
return markdown;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
else if (current === pieceValue) {
|
|
252
|
+
paths.unset(updatedFrontmatter, fieldPath);
|
|
253
|
+
}
|
|
251
254
|
}
|
|
252
|
-
return markdown;
|
|
255
|
+
return makePieceMarkdown(markdown.filePath, markdown.piece, markdown.note, updatedFrontmatter);
|
|
253
256
|
}
|
|
254
257
|
}
|
|
255
258
|
export default Piece;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Piece.js","sourceRoot":"","sources":["../../../src/pieces/Piece.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Piece.js","sourceRoot":"","sources":["../../../src/pieces/Piece.ts"],"names":[],"mappings":"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"}
|