@promptbook/core 0.92.0-4 → 0.92.0-6

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/esm/index.es.js CHANGED
@@ -27,7 +27,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
27
27
  * @generated
28
28
  * @see https://github.com/webgptorg/promptbook
29
29
  */
30
- const PROMPTBOOK_ENGINE_VERSION = '0.92.0-4';
30
+ const PROMPTBOOK_ENGINE_VERSION = '0.92.0-6';
31
31
  /**
32
32
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
33
33
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1893,6 +1893,45 @@ function $randomToken(randomness) {
1893
1893
  * TODO: Maybe use nanoid instead https://github.com/ai/nanoid
1894
1894
  */
1895
1895
 
1896
+ /**
1897
+ * Converts a JavaScript Object Notation (JSON) string into an object.
1898
+ *
1899
+ * Note: This is wrapper around `JSON.parse()` with better error and type handling
1900
+ *
1901
+ * @public exported from `@promptbook/utils`
1902
+ */
1903
+ function jsonParse(value) {
1904
+ if (value === undefined) {
1905
+ throw new Error(`Can not parse JSON from undefined value.`);
1906
+ }
1907
+ else if (typeof value !== 'string') {
1908
+ console.error('Can not parse JSON from non-string value.', { text: value });
1909
+ throw new Error(spaceTrim(`
1910
+ Can not parse JSON from non-string value.
1911
+
1912
+ The value type: ${typeof value}
1913
+ See more in console.
1914
+ `));
1915
+ }
1916
+ try {
1917
+ return JSON.parse(value);
1918
+ }
1919
+ catch (error) {
1920
+ if (!(error instanceof Error)) {
1921
+ throw error;
1922
+ }
1923
+ throw new Error(spaceTrim((block) => `
1924
+ ${block(error.message)}
1925
+
1926
+ The JSON text:
1927
+ ${block(value)}
1928
+ `));
1929
+ }
1930
+ }
1931
+ /**
1932
+ * TODO: !!!! Use in Promptbook.studio
1933
+ */
1934
+
1896
1935
  /**
1897
1936
  * Recursively converts JSON strings to JSON objects
1898
1937
 
@@ -1911,7 +1950,7 @@ function jsonStringsToJsons(object) {
1911
1950
  const newObject = { ...object };
1912
1951
  for (const [key, value] of Object.entries(object)) {
1913
1952
  if (typeof value === 'string' && isValidJsonString(value)) {
1914
- newObject[key] = JSON.parse(value);
1953
+ newObject[key] = jsonParse(value);
1915
1954
  }
1916
1955
  else {
1917
1956
  newObject[key] = jsonStringsToJsons(value);
@@ -4327,13 +4366,79 @@ async function getExamplesForTask(task) {
4327
4366
  /**
4328
4367
  * @@@
4329
4368
  *
4369
+ * Here is the place where RAG (retrieval-augmented generation) happens
4370
+ *
4330
4371
  * @private internal utility of `createPipelineExecutor`
4331
4372
  */
4332
4373
  async function getKnowledgeForTask(options) {
4333
- const { preparedPipeline, task } = options;
4334
- return preparedPipeline.knowledgePieces.map(({ content }) => `- ${content}`).join('\n');
4374
+ const { tools, preparedPipeline, task } = options;
4375
+ const firstKnowlegePiece = preparedPipeline.knowledgePieces[0];
4376
+ const firstKnowlegeIndex = firstKnowlegePiece === null || firstKnowlegePiece === void 0 ? void 0 : firstKnowlegePiece.index[0];
4377
+ // <- TODO: Do not use just first knowledge piece and first index to determine embedding model, use also keyword search
4378
+ if (firstKnowlegePiece === undefined || firstKnowlegeIndex === undefined) {
4379
+ return 'No knowledge pieces found';
4380
+ }
4381
+ // TODO: [🚐] Make arrayable LLMs -> single LLM DRY
4382
+ const _llms = arrayableToArray(tools.llm);
4383
+ const llmTools = _llms.length === 1 ? _llms[0] : joinLlmExecutionTools(..._llms);
4384
+ const taskEmbeddingPrompt = {
4385
+ title: 'Knowledge Search',
4386
+ modelRequirements: {
4387
+ modelVariant: 'EMBEDDING',
4388
+ modelName: firstKnowlegeIndex.modelName,
4389
+ },
4390
+ content: task.content,
4391
+ parameters: {
4392
+ /* !!!!!!!! */
4393
+ },
4394
+ };
4395
+ const taskEmbeddingResult = await llmTools.callEmbeddingModel(taskEmbeddingPrompt);
4396
+ const knowledgePiecesWithRelevance = preparedPipeline.knowledgePieces.map((knowledgePiece) => {
4397
+ const { index } = knowledgePiece;
4398
+ const knowledgePieceIndex = index.find((i) => i.modelName === firstKnowlegeIndex.modelName);
4399
+ // <- TODO: Do not use just first knowledge piece and first index to determine embedding model
4400
+ if (knowledgePieceIndex === undefined) {
4401
+ return {
4402
+ content: knowledgePiece.content,
4403
+ relevance: 0,
4404
+ };
4405
+ }
4406
+ const relevance = computeCosineSimilarity(knowledgePieceIndex.position, taskEmbeddingResult.content);
4407
+ return {
4408
+ content: knowledgePiece.content,
4409
+ relevance,
4410
+ };
4411
+ });
4412
+ const knowledgePiecesSorted = knowledgePiecesWithRelevance.sort((a, b) => a.relevance - b.relevance);
4413
+ const knowledgePiecesLimited = knowledgePiecesSorted.slice(0, 5);
4414
+ console.log('!!! Embedding', {
4415
+ task,
4416
+ taskEmbeddingPrompt,
4417
+ taskEmbeddingResult,
4418
+ firstKnowlegePiece,
4419
+ firstKnowlegeIndex,
4420
+ knowledgePiecesWithRelevance,
4421
+ knowledgePiecesSorted,
4422
+ knowledgePiecesLimited,
4423
+ });
4424
+ return knowledgePiecesLimited.map(({ content }) => `- ${content}`).join('\n');
4335
4425
  // <- TODO: [🧠] Some smart aggregation of knowledge pieces, single-line vs multi-line vs mixed
4336
4426
  }
4427
+ // TODO: !!!!!! Annotate + to new file
4428
+ function computeCosineSimilarity(embeddingVector1, embeddingVector2) {
4429
+ if (embeddingVector1.length !== embeddingVector2.length) {
4430
+ throw new TypeError('Embedding vectors must have the same length');
4431
+ }
4432
+ const dotProduct = embeddingVector1.reduce((sum, value, index) => sum + value * embeddingVector2[index], 0);
4433
+ const magnitude1 = Math.sqrt(embeddingVector1.reduce((sum, value) => sum + value * value, 0));
4434
+ const magnitude2 = Math.sqrt(embeddingVector2.reduce((sum, value) => sum + value * value, 0));
4435
+ return 1 - dotProduct / (magnitude1 * magnitude2);
4436
+ }
4437
+ /**
4438
+ * TODO: !!!! Verify if this is working
4439
+ * TODO: [♨] Implement Better - use keyword search
4440
+ * TODO: [♨] Examples of values
4441
+ */
4337
4442
 
4338
4443
  /**
4339
4444
  * @@@
@@ -4341,9 +4446,9 @@ async function getKnowledgeForTask(options) {
4341
4446
  * @private internal utility of `createPipelineExecutor`
4342
4447
  */
4343
4448
  async function getReservedParametersForTask(options) {
4344
- const { preparedPipeline, task, pipelineIdentification } = options;
4449
+ const { tools, preparedPipeline, task, pipelineIdentification } = options;
4345
4450
  const context = await getContextForTask(); // <- [🏍]
4346
- const knowledge = await getKnowledgeForTask({ preparedPipeline, task });
4451
+ const knowledge = await getKnowledgeForTask({ tools, preparedPipeline, task });
4347
4452
  const examples = await getExamplesForTask();
4348
4453
  const currentDate = new Date().toISOString(); // <- TODO: [🧠][💩] Better
4349
4454
  const modelName = RESERVED_PARAMETER_MISSING_VALUE;
@@ -4405,6 +4510,7 @@ async function executeTask(options) {
4405
4510
  }
4406
4511
  const definedParameters = Object.freeze({
4407
4512
  ...(await getReservedParametersForTask({
4513
+ tools,
4408
4514
  preparedPipeline,
4409
4515
  task: currentTask,
4410
4516
  pipelineIdentification,
@@ -4976,7 +5082,7 @@ async function preparePersona(personaDescription, tools, options) {
4976
5082
  }).asPromise();
4977
5083
  const { outputParameters } = result;
4978
5084
  const { modelsRequirements: modelsRequirementsJson } = outputParameters;
4979
- const modelsRequirementsUnchecked = JSON.parse(modelsRequirementsJson);
5085
+ const modelsRequirementsUnchecked = jsonParse(modelsRequirementsJson);
4980
5086
  if (isVerbose) {
4981
5087
  console.info(`PERSONA ${personaDescription}`, modelsRequirementsUnchecked);
4982
5088
  }
@@ -5563,7 +5669,7 @@ async function makeKnowledgeSourceHandler(knowledgeSource, tools, options) {
5563
5669
  > },
5564
5670
  */
5565
5671
  async asJson() {
5566
- return JSON.parse(await tools.fs.readFile(filename, 'utf-8'));
5672
+ return jsonParse(await tools.fs.readFile(filename, 'utf-8'));
5567
5673
  },
5568
5674
  async asText() {
5569
5675
  return await tools.fs.readFile(filename, 'utf-8');
@@ -10209,6 +10315,48 @@ function createLlmToolsFromConfiguration(configuration, options = {}) {
10209
10315
  * TODO: [®] DRY Register logic
10210
10316
  */
10211
10317
 
10318
+ /**
10319
+ * How is the model provider trusted?
10320
+ *
10321
+ * @public exported from `@promptbook/core`
10322
+ */
10323
+ const MODEL_TRUST_LEVEL = {
10324
+ FULL: `Model is running on the local machine, training data and model weights are known, data are ethically sourced`,
10325
+ OPEN: `Model is open source, training data and model weights are known`,
10326
+ PARTIALLY_OPEN: `Model is open source, but training data and model weights are not (fully) known`,
10327
+ CLOSED_LOCAL: `Model can be run locally, but it is not open source`,
10328
+ CLOSED_FREE: `Model is behind API gateway but free to use`,
10329
+ CLOSED_BUSINESS: `Model is behind API gateway and paid but has good SLA, TOS, privacy policy and in general is a good to use in business applications`,
10330
+ CLOSED: `Model is behind API gateway and paid`,
10331
+ UNTRUSTED: `Model has questions about the training data and ethics, but it is not known if it is a problem or not`,
10332
+ VURNABLE: `Model has some known serious vulnerabilities, leaks, ethical problems, etc.`,
10333
+ };
10334
+ // <- TODO: Maybe do better levels of trust
10335
+ /**
10336
+ * How is the model provider important?
10337
+ *
10338
+ * @public exported from `@promptbook/core`
10339
+ */
10340
+ const MODEL_ORDER = {
10341
+ /**
10342
+ * Top-tier models, e.g. OpenAI, Anthropic,...
10343
+ */
10344
+ TOP_TIER: 333,
10345
+ /**
10346
+ * Mid-tier models, e.g. Llama, Mistral, etc.
10347
+ */
10348
+ NORMAL: 100,
10349
+ /**
10350
+ * Low-tier models, e.g. Phi, Tiny, etc.
10351
+ */
10352
+ LOW_TIER: 0,
10353
+ };
10354
+ /**
10355
+ * TODO: Add configuration schema and maybe some documentation link
10356
+ * TODO: Maybe constrain LlmToolsConfiguration[number] by generic to ensure that `createConfigurationFromEnv` and `getBoilerplateConfiguration` always create same `packageName` and `className`
10357
+ * TODO: [®] DRY Register logic
10358
+ */
10359
+
10212
10360
  /**
10213
10361
  * Stores data in memory (HEAP)
10214
10362
  *
@@ -10408,9 +10556,11 @@ const _AnthropicClaudeMetadataRegistration = $llmToolsMetadataRegister.register(
10408
10556
  packageName: '@promptbook/anthropic-claude',
10409
10557
  className: 'AnthropicClaudeExecutionTools',
10410
10558
  envVariables: ['ANTHROPIC_CLAUDE_API_KEY'],
10559
+ trustLevel: 'CLOSED',
10560
+ order: MODEL_ORDER.TOP_TIER,
10411
10561
  getBoilerplateConfiguration() {
10412
10562
  return {
10413
- title: 'Anthropic Claude (boilerplate)',
10563
+ title: 'Anthropic Claude',
10414
10564
  packageName: '@promptbook/anthropic-claude',
10415
10565
  className: 'AnthropicClaudeExecutionTools',
10416
10566
  options: {
@@ -10453,9 +10603,11 @@ const _AzureOpenAiMetadataRegistration = $llmToolsMetadataRegister.register({
10453
10603
  packageName: '@promptbook/azure-openai',
10454
10604
  className: 'AzureOpenAiExecutionTools',
10455
10605
  envVariables: ['AZUREOPENAI_RESOURCE_NAME', 'AZUREOPENAI_DEPLOYMENT_NAME', 'AZUREOPENAI_API_KEY'],
10606
+ trustLevel: 'CLOSED_BUSINESS',
10607
+ order: MODEL_ORDER.NORMAL,
10456
10608
  getBoilerplateConfiguration() {
10457
10609
  return {
10458
- title: 'Azure Open AI (boilerplate)',
10610
+ title: 'Azure Open AI',
10459
10611
  packageName: '@promptbook/azure-openai',
10460
10612
  className: 'AzureOpenAiExecutionTools',
10461
10613
  options: {
@@ -10539,9 +10691,11 @@ const _DeepseekMetadataRegistration = $llmToolsMetadataRegister.register({
10539
10691
  packageName: '@promptbook/deepseek',
10540
10692
  className: 'DeepseekExecutionTools',
10541
10693
  envVariables: ['DEEPSEEK_GENERATIVE_AI_API_KEY'],
10694
+ trustLevel: 'UNTRUSTED',
10695
+ order: MODEL_ORDER.NORMAL,
10542
10696
  getBoilerplateConfiguration() {
10543
10697
  return {
10544
- title: 'Deepseek (boilerplate)',
10698
+ title: 'Deepseek',
10545
10699
  packageName: '@promptbook/deepseek',
10546
10700
  className: 'DeepseekExecutionTools',
10547
10701
  options: {
@@ -10588,9 +10742,11 @@ const _GoogleMetadataRegistration = $llmToolsMetadataRegister.register({
10588
10742
  packageName: '@promptbook/google',
10589
10743
  className: 'GoogleExecutionTools',
10590
10744
  envVariables: ['GOOGLE_GENERATIVE_AI_API_KEY'],
10745
+ trustLevel: 'CLOSED',
10746
+ order: MODEL_ORDER.NORMAL,
10591
10747
  getBoilerplateConfiguration() {
10592
10748
  return {
10593
- title: 'Google Gemini (boilerplate)',
10749
+ title: 'Google Gemini',
10594
10750
  packageName: '@promptbook/google',
10595
10751
  className: 'GoogleExecutionTools',
10596
10752
  options: {
@@ -10637,9 +10793,11 @@ const _OpenAiMetadataRegistration = $llmToolsMetadataRegister.register({
10637
10793
  packageName: '@promptbook/openai',
10638
10794
  className: 'OpenAiExecutionTools',
10639
10795
  envVariables: ['OPENAI_API_KEY'],
10796
+ trustLevel: 'CLOSED',
10797
+ order: MODEL_ORDER.TOP_TIER,
10640
10798
  getBoilerplateConfiguration() {
10641
10799
  return {
10642
- title: 'Open AI (boilerplate)',
10800
+ title: 'Open AI',
10643
10801
  packageName: '@promptbook/openai',
10644
10802
  className: 'OpenAiExecutionTools',
10645
10803
  options: {
@@ -10677,9 +10835,11 @@ const _OpenAiAssistantMetadataRegistration = $llmToolsMetadataRegister.register(
10677
10835
  className: 'OpenAiAssistantExecutionTools',
10678
10836
  envVariables: null,
10679
10837
  // <- TODO: ['OPENAI_API_KEY', 'OPENAI_ASSISTANT_ID']
10838
+ trustLevel: 'CLOSED',
10839
+ order: MODEL_ORDER.NORMAL,
10680
10840
  getBoilerplateConfiguration() {
10681
10841
  return {
10682
- title: 'Open AI Assistant (boilerplate)',
10842
+ title: 'Open AI Assistant',
10683
10843
  packageName: '@promptbook/openai',
10684
10844
  className: 'OpenAiAssistantExecutionTools',
10685
10845
  options: {
@@ -11143,5 +11303,5 @@ class PrefixStorage {
11143
11303
  }
11144
11304
  }
11145
11305
 
11146
- export { $llmToolsMetadataRegister, $llmToolsRegister, $scrapersMetadataRegister, $scrapersRegister, ADMIN_EMAIL, ADMIN_GITHUB_NAME, AbstractFormatError, AuthenticationError, BOOK_LANGUAGE_VERSION, BlackholeStorage, BoilerplateError, BoilerplateFormfactorDefinition, CLAIM, CLI_APP_ID, 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_FILE_SIZE, 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_SERVER_URL, DEFAULT_SCRAPE_CACHE_DIRNAME, DEFAULT_TASK_TITLE, EXPECTATION_UNITS, EnvironmentMismatchError, ExecutionReportStringOptionsDefaults, ExpectError, FORMFACTOR_DEFINITIONS, GENERIC_PIPELINE_INTERFACE, GeneratorFormfactorDefinition, GenericFormfactorDefinition, ImageGeneratorFormfactorDefinition, KnowledgeScrapeError, LimitReachedError, MANDATORY_CSV_SETTINGS, MAX_FILENAME_LENGTH, MODEL_VARIANTS, MatcherFormfactorDefinition, MemoryStorage, MissingToolsError, MultipleLlmExecutionTools, NAME, NonTaskSectionTypes, NotFoundError, NotYetImplementedError, ORDER_OF_PIPELINE_JSON, PLAYGROUND_APP_ID, PROMPTBOOK_ENGINE_VERSION, PROMPTBOOK_ERRORS, ParseError, PipelineExecutionError, PipelineLogicError, PipelineUrlError, PrefixStorage, PromptbookFetchError, REMOTE_SERVER_URLS, RESERVED_PARAMETER_NAMES, SET_IS_VERBOSE, SectionTypes, SheetsFormfactorDefinition, TaskTypes, TextFormatDefinition, TranslatorFormfactorDefinition, UNCERTAIN_USAGE, UNCERTAIN_ZERO_VALUE, UnexpectedError, WrappedError, ZERO_USAGE, ZERO_VALUE, _AnthropicClaudeMetadataRegistration, _AzureOpenAiMetadataRegistration, _BoilerplateScraperMetadataRegistration, _DeepseekMetadataRegistration, _DocumentScraperMetadataRegistration, _GoogleMetadataRegistration, _LegacyDocumentScraperMetadataRegistration, _MarkdownScraperMetadataRegistration, _MarkitdownScraperMetadataRegistration, _OpenAiAssistantMetadataRegistration, _OpenAiMetadataRegistration, _PdfScraperMetadataRegistration, _WebsiteScraperMetadataRegistration, addUsage, book, cacheLlmTools, collectionToJson, compilePipeline, countUsage, createCollectionFromJson, createCollectionFromPromise, createCollectionFromUrl, createLlmToolsFromConfiguration, createPipelineExecutor, createSubcollection, embeddingVectorToString, executionReportJsonToString, extractParameterNamesFromTask, filterModels, getPipelineInterface, identificationToPromptbookToken, isPassingExpectations, isPipelineImplementingInterface, isPipelineInterfacesEqual, isPipelinePrepared, isValidPipelineString, joinLlmExecutionTools, limitTotalUsage, makeKnowledgeSourceHandler, parsePipeline, pipelineJsonToString, prepareKnowledgePieces, preparePersona, preparePipeline, prepareTasks, prettifyPipelineString, promptbookFetch, promptbookTokenToIdentification, unpreparePipeline, usageToHuman, usageToWorktime, validatePipeline, validatePipelineString };
11306
+ export { $llmToolsMetadataRegister, $llmToolsRegister, $scrapersMetadataRegister, $scrapersRegister, ADMIN_EMAIL, ADMIN_GITHUB_NAME, AbstractFormatError, AuthenticationError, BOOK_LANGUAGE_VERSION, BlackholeStorage, BoilerplateError, BoilerplateFormfactorDefinition, CLAIM, CLI_APP_ID, 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_FILE_SIZE, 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_SERVER_URL, DEFAULT_SCRAPE_CACHE_DIRNAME, DEFAULT_TASK_TITLE, EXPECTATION_UNITS, EnvironmentMismatchError, ExecutionReportStringOptionsDefaults, ExpectError, FORMFACTOR_DEFINITIONS, GENERIC_PIPELINE_INTERFACE, GeneratorFormfactorDefinition, GenericFormfactorDefinition, ImageGeneratorFormfactorDefinition, KnowledgeScrapeError, LimitReachedError, MANDATORY_CSV_SETTINGS, MAX_FILENAME_LENGTH, MODEL_ORDER, MODEL_TRUST_LEVEL, MODEL_VARIANTS, MatcherFormfactorDefinition, MemoryStorage, MissingToolsError, MultipleLlmExecutionTools, NAME, NonTaskSectionTypes, NotFoundError, NotYetImplementedError, ORDER_OF_PIPELINE_JSON, PLAYGROUND_APP_ID, PROMPTBOOK_ENGINE_VERSION, PROMPTBOOK_ERRORS, ParseError, PipelineExecutionError, PipelineLogicError, PipelineUrlError, PrefixStorage, PromptbookFetchError, REMOTE_SERVER_URLS, RESERVED_PARAMETER_NAMES, SET_IS_VERBOSE, SectionTypes, SheetsFormfactorDefinition, TaskTypes, TextFormatDefinition, TranslatorFormfactorDefinition, UNCERTAIN_USAGE, UNCERTAIN_ZERO_VALUE, UnexpectedError, WrappedError, ZERO_USAGE, ZERO_VALUE, _AnthropicClaudeMetadataRegistration, _AzureOpenAiMetadataRegistration, _BoilerplateScraperMetadataRegistration, _DeepseekMetadataRegistration, _DocumentScraperMetadataRegistration, _GoogleMetadataRegistration, _LegacyDocumentScraperMetadataRegistration, _MarkdownScraperMetadataRegistration, _MarkitdownScraperMetadataRegistration, _OpenAiAssistantMetadataRegistration, _OpenAiMetadataRegistration, _PdfScraperMetadataRegistration, _WebsiteScraperMetadataRegistration, addUsage, book, cacheLlmTools, collectionToJson, compilePipeline, countUsage, createCollectionFromJson, createCollectionFromPromise, createCollectionFromUrl, createLlmToolsFromConfiguration, createPipelineExecutor, createSubcollection, embeddingVectorToString, executionReportJsonToString, extractParameterNamesFromTask, filterModels, getPipelineInterface, identificationToPromptbookToken, isPassingExpectations, isPipelineImplementingInterface, isPipelineInterfacesEqual, isPipelinePrepared, isValidPipelineString, joinLlmExecutionTools, limitTotalUsage, makeKnowledgeSourceHandler, parsePipeline, pipelineJsonToString, prepareKnowledgePieces, preparePersona, preparePipeline, prepareTasks, prettifyPipelineString, promptbookFetch, promptbookTokenToIdentification, unpreparePipeline, usageToHuman, usageToWorktime, validatePipeline, validatePipelineString };
11147
11307
  //# sourceMappingURL=index.es.js.map