Add ink integration UI and media playback
This commit is contained in:
Vendored
+36
@@ -0,0 +1,36 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.textToParagraphs = textToParagraphs;
|
||||
/**
|
||||
* Shared engine-to-client turn protocol.
|
||||
*/
|
||||
const tag_parser_1 = require("../utils/tag-parser");
|
||||
function textToParagraphs(text, tags = []) {
|
||||
return String(text || '')
|
||||
.replace(/\r\n?/g, '\n')
|
||||
.split(/\n{2,}/)
|
||||
.map((paragraph) => paragraph.trim())
|
||||
.filter(Boolean)
|
||||
.map((paragraph) => {
|
||||
const lines = paragraph.split('\n');
|
||||
const paragraphTags = [...tags];
|
||||
const textLines = [];
|
||||
let tagPrefixOpen = true;
|
||||
for (const line of lines) {
|
||||
const trimmed = line.trim();
|
||||
const maybeTag = tagPrefixOpen && trimmed.startsWith('#') ? (0, tag_parser_1.parseTag)(trimmed) : null;
|
||||
if (maybeTag) {
|
||||
paragraphTags.push(maybeTag);
|
||||
}
|
||||
else {
|
||||
tagPrefixOpen = false;
|
||||
textLines.push(line);
|
||||
}
|
||||
}
|
||||
return {
|
||||
text: textLines.join('\n').trim(),
|
||||
tags: paragraphTags,
|
||||
};
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=turn-result.js.map
|
||||
Reference in New Issue
Block a user