@promptbook/core 0.84.0-13 → 0.84.0-15
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/LICENSE.md +1 -0
- package/README.md +3 -3
- package/esm/index.es.js +56 -13
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/core.index.d.ts +4 -0
- package/esm/typings/src/config.d.ts +12 -0
- package/esm/typings/src/utils/editable/edit-pipeline-string/deflatePipeline.test.d.ts +1 -0
- package/esm/typings/src/utils/editable/utils/isFlatPipeline.test.d.ts +1 -0
- package/esm/typings/src/utils/files/mimeTypeToExtension.d.ts +10 -0
- package/esm/typings/src/utils/files/mimeTypeToExtension.test.d.ts +1 -0
- package/package.json +2 -14
- package/umd/index.umd.js +56 -11
- package/umd/index.umd.js.map +1 -1
package/LICENSE.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[Functional Source License, Version 1.1, ALv2 Future License](https://github.com/getsentry/fsl.software/blob/main/FSL-1.1-ALv2.template.md)
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!-- ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten -->
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# ✨ Promptbook
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
|
|
17
17
|
## ❄ New Features
|
|
18
18
|
|
|
19
|
+
- 🐋 **Support of [DeepSeek models](https://www.deepseek.com/)**
|
|
19
20
|
- 💙 Working [the **Book** language v1.0.0](https://github.com/webgptorg/book)
|
|
20
21
|
- 🖤 Run books from CLI - `npx ptbk run path/to/your/book`
|
|
21
|
-
- 📚 Support of `.docx`, `.doc` and `.pdf` documents
|
|
22
|
-
- ✨ **Support of [OpenAI o1 model](https://openai.com/o1/)**
|
|
22
|
+
- 📚 Support of `.docx`, `.doc` and `.pdf` documents as knowledge
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
package/esm/index.es.js
CHANGED
|
@@ -7,7 +7,7 @@ import hexEncoder from 'crypto-js/enc-hex';
|
|
|
7
7
|
import sha256 from 'crypto-js/sha256';
|
|
8
8
|
import { basename, join, dirname } from 'path';
|
|
9
9
|
import { SHA256 } from 'crypto-js';
|
|
10
|
-
import { lookup } from 'mime-types';
|
|
10
|
+
import { lookup, extension } from 'mime-types';
|
|
11
11
|
import moment from 'moment';
|
|
12
12
|
import colors from 'colors';
|
|
13
13
|
|
|
@@ -25,7 +25,7 @@ var BOOK_LANGUAGE_VERSION = '1.0.0';
|
|
|
25
25
|
* @generated
|
|
26
26
|
* @see https://github.com/webgptorg/promptbook
|
|
27
27
|
*/
|
|
28
|
-
var PROMPTBOOK_ENGINE_VERSION = '0.84.0-
|
|
28
|
+
var PROMPTBOOK_ENGINE_VERSION = '0.84.0-14';
|
|
29
29
|
/**
|
|
30
30
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
31
31
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -672,6 +672,18 @@ var DEFAULT_BOOK_TITLE = "\u2728 Untitled Book";
|
|
|
672
672
|
* @public exported from `@promptbook/core`
|
|
673
673
|
*/
|
|
674
674
|
var DEFAULT_TASK_TITLE = "Task";
|
|
675
|
+
/**
|
|
676
|
+
* When the title of the prompt task is not provided, the default title is used
|
|
677
|
+
*
|
|
678
|
+
* @public exported from `@promptbook/core`
|
|
679
|
+
*/
|
|
680
|
+
var DEFAULT_PROMPT_TASK_TITLE = "Prompt";
|
|
681
|
+
/**
|
|
682
|
+
* When the pipeline is flat and no name of return parameter is provided, this name is used
|
|
683
|
+
*
|
|
684
|
+
* @public exported from `@promptbook/core`
|
|
685
|
+
*/
|
|
686
|
+
var DEFAULT_BOOK_OUTPUT_PARAMETER_NAME = 'result';
|
|
675
687
|
// <- TODO: [🧠] Better system for generator warnings - not always "code" and "by `@promptbook/cli`"
|
|
676
688
|
/**
|
|
677
689
|
* The maximum number of iterations for a loops
|
|
@@ -5821,6 +5833,17 @@ function isFileExisting(filename, fs) {
|
|
|
5821
5833
|
* TODO: [🖇] What about symlinks?
|
|
5822
5834
|
*/
|
|
5823
5835
|
|
|
5836
|
+
/**
|
|
5837
|
+
* Convert mime type to file extension
|
|
5838
|
+
*
|
|
5839
|
+
* Note: If the mime type is invalid, `null` is returned
|
|
5840
|
+
*
|
|
5841
|
+
* @private within the repository
|
|
5842
|
+
*/
|
|
5843
|
+
function mimeTypeToExtension(value) {
|
|
5844
|
+
return extension(value) || null;
|
|
5845
|
+
}
|
|
5846
|
+
|
|
5824
5847
|
/**
|
|
5825
5848
|
* Removes emojis from a string and fix whitespaces
|
|
5826
5849
|
*
|
|
@@ -5914,7 +5937,7 @@ function makeKnowledgeSourceHandler(knowledgeSource, tools, options) {
|
|
|
5914
5937
|
case 1:
|
|
5915
5938
|
response_1 = _l.sent();
|
|
5916
5939
|
mimeType = ((_a = response_1.headers.get('content-type')) === null || _a === void 0 ? void 0 : _a.split(';')[0]) || 'text/html';
|
|
5917
|
-
if (tools.fs === undefined || !url.endsWith('.pdf')) {
|
|
5940
|
+
if (tools.fs === undefined || !url.endsWith('.pdf' /* <- TODO: [💵] */)) {
|
|
5918
5941
|
return [2 /*return*/, {
|
|
5919
5942
|
source: name,
|
|
5920
5943
|
filename: null,
|
|
@@ -5959,7 +5982,7 @@ function makeKnowledgeSourceHandler(knowledgeSource, tools, options) {
|
|
|
5959
5982
|
basename = url.split('/').pop() || titleToName(url);
|
|
5960
5983
|
hash = sha256(hexEncoder.parse(url)).toString( /* hex */);
|
|
5961
5984
|
rootDirname_1 = join(process.cwd(), DEFAULT_DOWNLOAD_CACHE_DIRNAME);
|
|
5962
|
-
filepath = join.apply(void 0, __spreadArray(__spreadArray([], __read(nameToSubfolderPath(hash /* <- TODO: [🎎] Maybe add some SHA256 prefix */)), false), ["".concat(basename.substring(0, MAX_FILENAME_LENGTH), ".
|
|
5985
|
+
filepath = join.apply(void 0, __spreadArray(__spreadArray([], __read(nameToSubfolderPath(hash /* <- TODO: [🎎] Maybe add some SHA256 prefix */)), false), ["".concat(basename.substring(0, MAX_FILENAME_LENGTH), ".").concat(mimeTypeToExtension(mimeType))], false));
|
|
5963
5986
|
return [4 /*yield*/, tools.fs.mkdir(dirname(join(rootDirname_1, filepath)), { recursive: true })];
|
|
5964
5987
|
case 2:
|
|
5965
5988
|
_l.sent();
|
|
@@ -5970,9 +5993,9 @@ function makeKnowledgeSourceHandler(knowledgeSource, tools, options) {
|
|
|
5970
5993
|
case 3: return [4 /*yield*/, _g.apply(_f, _h.concat([_k.apply(_j, [_l.sent()])]))];
|
|
5971
5994
|
case 4:
|
|
5972
5995
|
_l.sent();
|
|
5973
|
-
// TODO:
|
|
5996
|
+
// TODO: [💵] Check the file security
|
|
5974
5997
|
// TODO: !!!!!!!! Check the file size (if it is not too big)
|
|
5975
|
-
// TODO: !!!!!!!! Delete the file
|
|
5998
|
+
// TODO: !!!!!!!! Delete the file after the scraping is done
|
|
5976
5999
|
return [2 /*return*/, makeKnowledgeSourceHandler({ name: name, knowledgeSourceContent: filepath }, tools, __assign(__assign({}, options), { rootDirname: rootDirname_1 }))];
|
|
5977
6000
|
case 5:
|
|
5978
6001
|
if (!isValidFilePath(knowledgeSourceContent)) return [3 /*break*/, 7];
|
|
@@ -9093,12 +9116,15 @@ function isFlatPipeline(pipelineString) {
|
|
|
9093
9116
|
pipelineString = removeMarkdownComments(pipelineString);
|
|
9094
9117
|
pipelineString = spaceTrim(pipelineString);
|
|
9095
9118
|
var isMarkdownBeginningWithHeadline = pipelineString.startsWith('# ');
|
|
9096
|
-
|
|
9097
|
-
|
|
9119
|
+
//const isLastLineReturnStatement = pipelineString.split('\n').pop()!.split('`').join('').startsWith('->');
|
|
9120
|
+
var isBacktickBlockUsed = pipelineString.includes('```');
|
|
9121
|
+
var isQuoteBlocksUsed = /^>\s+/m.test(pipelineString);
|
|
9122
|
+
var isBlocksUsed = isBacktickBlockUsed || isQuoteBlocksUsed;
|
|
9123
|
+
// TODO: [🧉] Also (double)check
|
|
9098
9124
|
// > const usedCommands
|
|
9099
9125
|
// > const isBlocksUsed
|
|
9100
9126
|
// > const returnStatementCount
|
|
9101
|
-
var isFlat = !isMarkdownBeginningWithHeadline && isLastLineReturnStatement
|
|
9127
|
+
var isFlat = !isMarkdownBeginningWithHeadline && !isBlocksUsed; /* && isLastLineReturnStatement */
|
|
9102
9128
|
return isFlat;
|
|
9103
9129
|
}
|
|
9104
9130
|
|
|
@@ -9112,9 +9138,26 @@ function deflatePipeline(pipelineString) {
|
|
|
9112
9138
|
return pipelineString;
|
|
9113
9139
|
}
|
|
9114
9140
|
var pipelineStringLines = pipelineString.split('\n');
|
|
9115
|
-
var
|
|
9141
|
+
var potentialReturnStatement = pipelineStringLines.pop();
|
|
9142
|
+
var returnStatement;
|
|
9143
|
+
if (/(-|=)>\s*\{.*\}/.test(potentialReturnStatement)) {
|
|
9144
|
+
// Note: Last line is return statement
|
|
9145
|
+
returnStatement = potentialReturnStatement;
|
|
9146
|
+
}
|
|
9147
|
+
else {
|
|
9148
|
+
// Note: Last line is not a return statement
|
|
9149
|
+
returnStatement = "-> {".concat(DEFAULT_BOOK_OUTPUT_PARAMETER_NAME, "}");
|
|
9150
|
+
pipelineStringLines.push(potentialReturnStatement);
|
|
9151
|
+
}
|
|
9116
9152
|
var prompt = spaceTrim(pipelineStringLines.join('\n'));
|
|
9117
|
-
|
|
9153
|
+
var quotedPrompt;
|
|
9154
|
+
if (prompt.split('\n').length <= 1) {
|
|
9155
|
+
quotedPrompt = "> ".concat(prompt);
|
|
9156
|
+
}
|
|
9157
|
+
else {
|
|
9158
|
+
quotedPrompt = spaceTrim(function (block) { return "\n ```\n ".concat(block(prompt.split('`').join('\\`')), "\n ```\n "); });
|
|
9159
|
+
}
|
|
9160
|
+
pipelineString = validatePipelineString(spaceTrim(function (block) { return "\n # ".concat(DEFAULT_BOOK_TITLE, "\n\n ## Prompt\n\n ").concat(block(quotedPrompt), "\n\n ").concat(returnStatement, "\n "); }));
|
|
9118
9161
|
// <- TODO: Maybe use book` notation
|
|
9119
9162
|
return pipelineString;
|
|
9120
9163
|
}
|
|
@@ -11373,7 +11416,7 @@ var markitdownScraperMetadata = $deepFreeze({
|
|
|
11373
11416
|
className: 'MarkitdownScraper',
|
|
11374
11417
|
mimeTypes: [
|
|
11375
11418
|
'application/pdf',
|
|
11376
|
-
// TODO: Make priority for scrapers and than allow all mime types here:
|
|
11419
|
+
// TODO: [💵] Make priority for scrapers and than analyze which mime-types can Markitdown scrape and allow all mime types here:
|
|
11377
11420
|
// 'text/html',
|
|
11378
11421
|
// 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
11379
11422
|
],
|
|
@@ -11535,5 +11578,5 @@ var PrefixStorage = /** @class */ (function () {
|
|
|
11535
11578
|
return PrefixStorage;
|
|
11536
11579
|
}());
|
|
11537
11580
|
|
|
11538
|
-
export { $llmToolsMetadataRegister, $llmToolsRegister, $scrapersMetadataRegister, $scrapersRegister, ADMIN_EMAIL, ADMIN_GITHUB_NAME, AbstractFormatError, BOOK_LANGUAGE_VERSION, BlackholeStorage, BoilerplateError, BoilerplateFormfactorDefinition, CLAIM, CallbackInterfaceTools, ChatbotFormfactorDefinition, CollectionError, CsvFormatDefinition, CsvFormatError, DEFAULT_BOOKS_DIRNAME, DEFAULT_BOOK_TITLE, DEFAULT_CSV_SETTINGS, DEFAULT_DOWNLOAD_CACHE_DIRNAME, DEFAULT_EXECUTION_CACHE_DIRNAME, DEFAULT_GET_PIPELINE_COLLECTION_FUNCTION_NAME, DEFAULT_INTERMEDIATE_FILES_STRATEGY, DEFAULT_IS_AUTO_INSTALLED, DEFAULT_IS_VERBOSE, DEFAULT_MAX_EXECUTION_ATTEMPTS, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_TOTAL, DEFAULT_MAX_PARALLEL_COUNT, DEFAULT_PIPELINE_COLLECTION_BASE_FILENAME, DEFAULT_REMOTE_URL, DEFAULT_REMOTE_URL_PATH, DEFAULT_SCRAPE_CACHE_DIRNAME, DEFAULT_TASK_TITLE, EXPECTATION_UNITS, EnvironmentMismatchError, ExecutionReportStringOptionsDefaults, ExpectError, FORMFACTOR_DEFINITIONS, GENERIC_PIPELINE_INTERFACE, GeneratorFormfactorDefinition, GenericFormfactorDefinition, ImageGeneratorFormfactorDefinition, KnowledgeScrapeError, LOGO_DARK_SRC, LOGO_LIGHT_SRC, LimitReachedError, MANDATORY_CSV_SETTINGS, MAX_FILENAME_LENGTH, MODEL_VARIANTS, MatcherFormfactorDefinition, MemoryStorage, MissingToolsError, MultipleLlmExecutionTools, NAME, NonTaskSectionTypes, NotFoundError, NotYetImplementedError, ORDER_OF_PIPELINE_JSON, PROMPTBOOK_ENGINE_VERSION, PROMPTBOOK_ERRORS, ParseError, PipelineExecutionError, PipelineLogicError, PipelineUrlError, PrefixStorage, RESERVED_PARAMETER_NAMES, SET_IS_VERBOSE, SectionTypes, SheetsFormfactorDefinition, TaskTypes, TextFormatDefinition, TranslatorFormfactorDefinition, UNCERTAIN_USAGE, UnexpectedError, ZERO_USAGE, _AnthropicClaudeMetadataRegistration, _AzureOpenAiMetadataRegistration, _BoilerplateScraperMetadataRegistration, _DocumentScraperMetadataRegistration, _GoogleMetadataRegistration, _LegacyDocumentScraperMetadataRegistration, _MarkdownScraperMetadataRegistration, _MarkitdownScraperMetadataRegistration, _OpenAiAssistantMetadataRegistration, _OpenAiMetadataRegistration, _PdfScraperMetadataRegistration, _WebsiteScraperMetadataRegistration, addUsage, assertsExecutionSuccessful, book, cacheLlmTools, collectionToJson, compilePipeline, countTotalUsage, createCollectionFromJson, createCollectionFromPromise, createCollectionFromUrl, createLlmToolsFromConfiguration, createPipelineExecutor, createSubcollection, embeddingVectorToString, executionReportJsonToString, extractParameterNamesFromTask, getPipelineInterface, isPassingExpectations, isPipelineImplementingInterface, isPipelineInterfacesEqual, isPipelinePrepared, isValidPipelineString, joinLlmExecutionTools, limitTotalUsage, makeKnowledgeSourceHandler, parsePipeline, pipelineJsonToString, prepareKnowledgePieces, preparePersona, preparePipeline, prepareTasks, prettifyPipelineString, unpreparePipeline, usageToHuman, usageToWorktime, validatePipeline, validatePipelineString };
|
|
11581
|
+
export { $llmToolsMetadataRegister, $llmToolsRegister, $scrapersMetadataRegister, $scrapersRegister, ADMIN_EMAIL, ADMIN_GITHUB_NAME, AbstractFormatError, BOOK_LANGUAGE_VERSION, BlackholeStorage, BoilerplateError, BoilerplateFormfactorDefinition, CLAIM, CallbackInterfaceTools, ChatbotFormfactorDefinition, CollectionError, CsvFormatDefinition, CsvFormatError, DEFAULT_BOOKS_DIRNAME, DEFAULT_BOOK_OUTPUT_PARAMETER_NAME, DEFAULT_BOOK_TITLE, DEFAULT_CSV_SETTINGS, DEFAULT_DOWNLOAD_CACHE_DIRNAME, DEFAULT_EXECUTION_CACHE_DIRNAME, DEFAULT_GET_PIPELINE_COLLECTION_FUNCTION_NAME, DEFAULT_INTERMEDIATE_FILES_STRATEGY, DEFAULT_IS_AUTO_INSTALLED, DEFAULT_IS_VERBOSE, DEFAULT_MAX_EXECUTION_ATTEMPTS, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_TOTAL, DEFAULT_MAX_PARALLEL_COUNT, DEFAULT_PIPELINE_COLLECTION_BASE_FILENAME, DEFAULT_PROMPT_TASK_TITLE, DEFAULT_REMOTE_URL, DEFAULT_REMOTE_URL_PATH, DEFAULT_SCRAPE_CACHE_DIRNAME, DEFAULT_TASK_TITLE, EXPECTATION_UNITS, EnvironmentMismatchError, ExecutionReportStringOptionsDefaults, ExpectError, FORMFACTOR_DEFINITIONS, GENERIC_PIPELINE_INTERFACE, GeneratorFormfactorDefinition, GenericFormfactorDefinition, ImageGeneratorFormfactorDefinition, KnowledgeScrapeError, LOGO_DARK_SRC, LOGO_LIGHT_SRC, LimitReachedError, MANDATORY_CSV_SETTINGS, MAX_FILENAME_LENGTH, MODEL_VARIANTS, MatcherFormfactorDefinition, MemoryStorage, MissingToolsError, MultipleLlmExecutionTools, NAME, NonTaskSectionTypes, NotFoundError, NotYetImplementedError, ORDER_OF_PIPELINE_JSON, PROMPTBOOK_ENGINE_VERSION, PROMPTBOOK_ERRORS, ParseError, PipelineExecutionError, PipelineLogicError, PipelineUrlError, PrefixStorage, RESERVED_PARAMETER_NAMES, SET_IS_VERBOSE, SectionTypes, SheetsFormfactorDefinition, TaskTypes, TextFormatDefinition, TranslatorFormfactorDefinition, UNCERTAIN_USAGE, UnexpectedError, ZERO_USAGE, _AnthropicClaudeMetadataRegistration, _AzureOpenAiMetadataRegistration, _BoilerplateScraperMetadataRegistration, _DocumentScraperMetadataRegistration, _GoogleMetadataRegistration, _LegacyDocumentScraperMetadataRegistration, _MarkdownScraperMetadataRegistration, _MarkitdownScraperMetadataRegistration, _OpenAiAssistantMetadataRegistration, _OpenAiMetadataRegistration, _PdfScraperMetadataRegistration, _WebsiteScraperMetadataRegistration, addUsage, assertsExecutionSuccessful, book, cacheLlmTools, collectionToJson, compilePipeline, countTotalUsage, createCollectionFromJson, createCollectionFromPromise, createCollectionFromUrl, createLlmToolsFromConfiguration, createPipelineExecutor, createSubcollection, embeddingVectorToString, executionReportJsonToString, extractParameterNamesFromTask, getPipelineInterface, isPassingExpectations, isPipelineImplementingInterface, isPipelineInterfacesEqual, isPipelinePrepared, isValidPipelineString, joinLlmExecutionTools, limitTotalUsage, makeKnowledgeSourceHandler, parsePipeline, pipelineJsonToString, prepareKnowledgePieces, preparePersona, preparePipeline, prepareTasks, prettifyPipelineString, unpreparePipeline, usageToHuman, usageToWorktime, validatePipeline, validatePipelineString };
|
|
11539
11582
|
//# sourceMappingURL=index.es.js.map
|