feat(llm): format system prompt metadata as YAML

This commit is contained in:
Elian Doran
2026-04-03 18:54:58 +03:00
parent faebacb883
commit be40d65982
3 changed files with 13 additions and 11 deletions

View File

@@ -37,6 +37,7 @@
"ai": "6.0.142",
"better-sqlite3": "12.8.0",
"html-to-text": "9.0.5",
"js-yaml": "4.1.1",
"node-html-parser": "7.1.0",
"sucrase": "3.35.1",
"unpdf": "1.4.0"
@@ -61,6 +62,7 @@
"@types/fs-extra": "11.0.4",
"@types/html": "1.0.4",
"@types/ini": "4.1.1",
"@types/js-yaml": "4.0.9",
"@types/mime-types": "3.0.1",
"@types/multer": "2.1.0",
"@types/safe-compare": "1.1.2",

View File

@@ -7,6 +7,8 @@ import { generateText, streamText, stepCountIs, type ModelMessage, type ToolSet
import type { LanguageModel } from "ai";
import type { LlmMessage } from "@triliumnext/commons";
import yaml from "js-yaml";
import becca from "../../../becca/becca.js";
import mappers from "../../../etapi/mappers.js";
import { getSkillsSummary } from "../skills/index.js";
@@ -33,7 +35,7 @@ function buildNoteHint(noteId: string): string | null {
return null;
}
const metadata = JSON.stringify(mappers.mapNoteToPojo(note), null, 2);
const metadata = yaml.dump(mappers.mapNoteToPojo(note), { lineWidth: -1 });
return `The user is currently viewing the following note:\n${metadata}`;
}

18
pnpm-lock.yaml generated
View File

@@ -577,6 +577,9 @@ importers:
html-to-text:
specifier: 9.0.5
version: 9.0.5
js-yaml:
specifier: 4.1.1
version: 4.1.1
node-html-parser:
specifier: 7.1.0
version: 7.1.0
@@ -644,6 +647,9 @@ importers:
'@types/ini':
specifier: 4.1.1
version: 4.1.1
'@types/js-yaml':
specifier: 4.0.9
version: 4.0.9
'@types/mime-types':
specifier: 3.0.1
version: 3.0.1
@@ -17190,6 +17196,8 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.6.1
'@ckeditor/ckeditor5-widget': 47.6.1
es-toolkit: 1.39.5
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-cloud-services@47.6.1':
dependencies:
@@ -17568,8 +17576,6 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.6.1
'@ckeditor/ckeditor5-utils': 47.6.1
ckeditor5: 47.6.1
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-highlight@47.6.1':
dependencies:
@@ -17579,8 +17585,6 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.6.1
'@ckeditor/ckeditor5-utils': 47.6.1
ckeditor5: 47.6.1
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-horizontal-line@47.6.1':
dependencies:
@@ -17590,8 +17594,6 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.6.1
'@ckeditor/ckeditor5-widget': 47.6.1
ckeditor5: 47.6.1
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-html-embed@47.6.1':
dependencies:
@@ -17635,8 +17637,6 @@ snapshots:
'@ckeditor/ckeditor5-widget': 47.6.1
ckeditor5: 47.6.1
es-toolkit: 1.39.5
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-import-word@47.6.1':
dependencies:
@@ -17660,8 +17660,6 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.6.1
'@ckeditor/ckeditor5-utils': 47.6.1
ckeditor5: 47.6.1
transitivePeerDependencies:
- supports-color
'@ckeditor/ckeditor5-inspector@5.0.0': {}