@promptbook/core 0.92.0-20 β†’ 0.92.0-22

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-20';
30
+ const PROMPTBOOK_ENGINE_VERSION = '0.92.0-22';
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
@@ -462,6 +462,14 @@ const DEFAULT_IS_AUTO_INSTALLED = false;
462
462
  * @public exported from `@promptbook/core`
463
463
  */
464
464
  const DEFAULT_GET_PIPELINE_COLLECTION_FUNCTION_NAME = `getPipelineCollection`;
465
+ /**
466
+ * Default rate limits (requests per minute)
467
+ *
468
+ * Note: Adjust based on the provider tier you are have
469
+ *
470
+ * @public exported from `@promptbook/core`
471
+ */
472
+ const DEFAULT_RPM = 60;
465
473
  /**
466
474
  * @@@
467
475
  *
@@ -2185,15 +2193,12 @@ function jsonParse(value) {
2185
2193
  }
2186
2194
  throw new Error(spaceTrim((block) => `
2187
2195
  ${block(error.message)}
2188
-
2196
+
2189
2197
  The JSON text:
2190
2198
  ${block(value)}
2191
2199
  `));
2192
2200
  }
2193
2201
  }
2194
- /**
2195
- * TODO: !!!! Use in Promptbook.studio
2196
- */
2197
2202
 
2198
2203
  /**
2199
2204
  * Recursively converts JSON strings to JSON objects
@@ -2817,7 +2822,8 @@ const CsvFormatParser = {
2817
2822
  subvalueParsers: [
2818
2823
  {
2819
2824
  subvalueName: 'ROW',
2820
- async mapValues(value, outputParameterName, settings, mapCallback) {
2825
+ async mapValues(options) {
2826
+ const { value, outputParameterName, settings, mapCallback, onProgress } = options;
2821
2827
  const csv = csvParse(value, settings);
2822
2828
  if (csv.errors.length !== 0) {
2823
2829
  throw new CsvFormatError(spaceTrim((block) => `
@@ -2833,21 +2839,29 @@ const CsvFormatParser = {
2833
2839
  ${block(value)}
2834
2840
  `));
2835
2841
  }
2836
- const mappedData = await Promise.all(csv.data.map(async (row, index) => {
2842
+ const mappedData = [];
2843
+ for (let index = 0; index < csv.data.length; index++) {
2844
+ const row = csv.data[index];
2837
2845
  if (row[outputParameterName]) {
2838
2846
  throw new CsvFormatError(`Can not overwrite existing column "${outputParameterName}" in CSV row`);
2839
2847
  }
2840
- return {
2848
+ const mappedRow = {
2841
2849
  ...row,
2842
2850
  [outputParameterName]: await mapCallback(row, index),
2843
2851
  };
2844
- }));
2852
+ mappedData.push(mappedRow);
2853
+ if (onProgress) {
2854
+ // Note: Report the CSV with all rows mapped so far
2855
+ await onProgress(unparse(mappedData, { ...settings, ...MANDATORY_CSV_SETTINGS }));
2856
+ }
2857
+ }
2845
2858
  return unparse(mappedData, { ...settings, ...MANDATORY_CSV_SETTINGS });
2846
2859
  },
2847
2860
  },
2848
2861
  {
2849
2862
  subvalueName: 'CELL',
2850
- async mapValues(value, outputParameterName, settings, mapCallback) {
2863
+ async mapValues(options) {
2864
+ const { value, settings, mapCallback, onProgress } = options;
2851
2865
  const csv = csvParse(value, settings);
2852
2866
  if (csv.errors.length !== 0) {
2853
2867
  throw new CsvFormatError(spaceTrim((block) => `
@@ -2934,7 +2948,8 @@ const TextFormatParser = {
2934
2948
  subvalueParsers: [
2935
2949
  {
2936
2950
  subvalueName: 'LINE',
2937
- async mapValues(value, outputParameterName, settings, mapCallback) {
2951
+ async mapValues(options) {
2952
+ const { value, mapCallback, onProgress } = options;
2938
2953
  const lines = value.split('\n');
2939
2954
  const mappedLines = await Promise.all(lines.map((lineContent, lineNumber) =>
2940
2955
  // TODO: [🧠] Maybe option to skip empty line
@@ -4266,7 +4281,7 @@ async function executeAttempts(options) {
4266
4281
  * @private internal utility of `createPipelineExecutor`
4267
4282
  */
4268
4283
  async function executeFormatSubvalues(options) {
4269
- const { task, jokerParameterNames, parameters, priority, csvSettings, pipelineIdentification } = options;
4284
+ const { task, jokerParameterNames, parameters, priority, csvSettings, onProgress, pipelineIdentification } = options;
4270
4285
  if (task.foreach === undefined) {
4271
4286
  return /* not await */ executeAttempts(options);
4272
4287
  }
@@ -4320,21 +4335,32 @@ async function executeFormatSubvalues(options) {
4320
4335
  formatSettings = csvSettings;
4321
4336
  // <- TODO: [πŸ€Ήβ€β™‚οΈ] More universal, make simmilar pattern for other formats for example \n vs \r\n in text
4322
4337
  }
4323
- const resultString = await subvalueParser.mapValues(parameterValue, task.foreach.outputSubparameterName, formatSettings, async (subparameters, index) => {
4324
- let mappedParameters;
4325
- // TODO: [πŸ€Ήβ€β™‚οΈ][πŸͺ‚] Limit to N concurrent executions
4326
- // TODO: When done [🐚] Report progress also for each subvalue here
4327
- try {
4328
- mappedParameters = mapAvailableToExpectedParameters({
4329
- expectedParameters: Object.fromEntries(task.foreach.inputSubparameterNames.map((subparameterName) => [subparameterName, null])),
4330
- availableParameters: subparameters,
4331
- });
4332
- }
4333
- catch (error) {
4334
- if (!(error instanceof PipelineExecutionError)) {
4335
- throw error;
4338
+ const resultString = await subvalueParser.mapValues({
4339
+ value: parameterValue,
4340
+ outputParameterName: task.foreach.outputSubparameterName,
4341
+ settings: formatSettings,
4342
+ onProgress(partialResultString) {
4343
+ return onProgress(Object.freeze({
4344
+ [task.resultingParameterName]:
4345
+ // <- Note: [πŸ‘©β€πŸ‘©β€πŸ‘§] No need to detect parameter collision here because pipeline checks logic consistency during construction
4346
+ partialResultString,
4347
+ }));
4348
+ },
4349
+ async mapCallback(subparameters, index) {
4350
+ let mappedParameters;
4351
+ // TODO: [πŸ€Ήβ€β™‚οΈ][πŸͺ‚] Limit to N concurrent executions
4352
+ // TODO: When done [🐚] Report progress also for each subvalue here
4353
+ try {
4354
+ mappedParameters = mapAvailableToExpectedParameters({
4355
+ expectedParameters: Object.fromEntries(task.foreach.inputSubparameterNames.map((subparameterName) => [subparameterName, null])),
4356
+ availableParameters: subparameters,
4357
+ });
4336
4358
  }
4337
- throw new PipelineExecutionError(spaceTrim((block) => `
4359
+ catch (error) {
4360
+ if (!(error instanceof PipelineExecutionError)) {
4361
+ throw error;
4362
+ }
4363
+ throw new PipelineExecutionError(spaceTrim((block) => `
4338
4364
  ${error.message}
4339
4365
 
4340
4366
  This is error in FOREACH command
@@ -4343,23 +4369,24 @@ async function executeFormatSubvalues(options) {
4343
4369
  ${block(pipelineIdentification)}
4344
4370
  Subparameter index: ${index}
4345
4371
  `));
4346
- }
4347
- const allSubparameters = {
4348
- ...parameters,
4349
- ...mappedParameters,
4350
- };
4351
- // Note: [πŸ‘¨β€πŸ‘¨β€πŸ‘§] Now we can freeze `subparameters` because we are sure that all and only used parameters are defined and are not going to be changed
4352
- Object.freeze(allSubparameters);
4353
- const subresultString = await executeAttempts({
4354
- ...options,
4355
- priority: priority + index,
4356
- parameters: allSubparameters,
4357
- pipelineIdentification: spaceTrim((block) => `
4372
+ }
4373
+ const allSubparameters = {
4374
+ ...parameters,
4375
+ ...mappedParameters,
4376
+ };
4377
+ // Note: [πŸ‘¨β€πŸ‘¨β€πŸ‘§] Now we can freeze `subparameters` because we are sure that all and only used parameters are defined and are not going to be changed
4378
+ Object.freeze(allSubparameters);
4379
+ const subresultString = await executeAttempts({
4380
+ ...options,
4381
+ priority: priority + index,
4382
+ parameters: allSubparameters,
4383
+ pipelineIdentification: spaceTrim((block) => `
4358
4384
  ${block(pipelineIdentification)}
4359
4385
  Subparameter index: ${index}
4360
4386
  `),
4361
- });
4362
- return subresultString;
4387
+ });
4388
+ return subresultString;
4389
+ },
4363
4390
  });
4364
4391
  return resultString;
4365
4392
  }
@@ -4533,11 +4560,6 @@ async function getReservedParametersForTask(options) {
4533
4560
  async function executeTask(options) {
4534
4561
  const { currentTask, preparedPipeline, parametersToPass, tools, onProgress, $executionReport, pipelineIdentification, maxExecutionAttempts, maxParallelCount, csvSettings, isVerbose, rootDirname, cacheDirname, intermediateFilesStrategy, isAutoInstalled, isNotPreparedWarningSupressed, } = options;
4535
4562
  const priority = preparedPipeline.tasks.length - preparedPipeline.tasks.indexOf(currentTask);
4536
- await onProgress({
4537
- outputParameters: {
4538
- [currentTask.resultingParameterName]: '', // <- TODO: [🧠] What is the best value here?
4539
- },
4540
- });
4541
4563
  // Note: Check consistency of used and dependent parameters which was also done in `validatePipeline`, but it’s good to doublecheck
4542
4564
  const usedParameterNames = extractParameterNamesFromTask(currentTask);
4543
4565
  const dependentParameterNames = new Set(currentTask.dependentParameterNames);
@@ -4612,6 +4634,7 @@ async function executeTask(options) {
4612
4634
  preparedPipeline,
4613
4635
  tools,
4614
4636
  $executionReport,
4637
+ onProgress,
4615
4638
  pipelineIdentification,
4616
4639
  maxExecutionAttempts,
4617
4640
  maxParallelCount,
@@ -7212,6 +7235,43 @@ const ChatbotFormfactorDefinition = {
7212
7235
  },
7213
7236
  };
7214
7237
 
7238
+ /**
7239
+ * Completion is formfactor that emulates completion models
7240
+ *
7241
+ * @public exported from `@promptbook/core`
7242
+ */
7243
+ const CompletionFormfactorDefinition = {
7244
+ name: 'COMPLETION',
7245
+ description: `@@@`,
7246
+ documentationUrl: `https://github.com/webgptorg/promptbook/discussions/@@`,
7247
+ // <- TODO: https://github.com/webgptorg/promptbook/discussions/new?category=concepts
7248
+ // "πŸ”  Completion Formfactor"
7249
+ pipelineInterface: {
7250
+ inputParameters: [
7251
+ {
7252
+ name: 'inputText',
7253
+ description: `Input text to be completed`,
7254
+ isInput: true,
7255
+ isOutput: false,
7256
+ },
7257
+ {
7258
+ name: 'instructions',
7259
+ description: `Additional instructions for the model, for example the required length, empty by default`,
7260
+ isInput: true,
7261
+ isOutput: false,
7262
+ },
7263
+ ],
7264
+ outputParameters: [
7265
+ {
7266
+ name: 'followingText',
7267
+ description: `Text that follows the input text`,
7268
+ isInput: false,
7269
+ isOutput: true,
7270
+ },
7271
+ ],
7272
+ },
7273
+ };
7274
+
7215
7275
  /**
7216
7276
  * Generator is form of app that @@@
7217
7277
  *
@@ -7396,6 +7456,8 @@ const FORMFACTOR_DEFINITIONS = [
7396
7456
  MatcherFormfactorDefinition,
7397
7457
  GeneratorFormfactorDefinition,
7398
7458
  ImageGeneratorFormfactorDefinition,
7459
+ CompletionFormfactorDefinition,
7460
+ // <- [πŸ›¬] When making new formfactor, copy the _boilerplate and link it here
7399
7461
  ];
7400
7462
  /**
7401
7463
  * Note: [πŸ’ž] Ignore a discrepancy between file name and entity name
@@ -10888,6 +10950,7 @@ const _OpenAiMetadataRegistration = $llmToolsMetadataRegister.register({
10888
10950
  className: 'OpenAiExecutionTools',
10889
10951
  options: {
10890
10952
  apiKey: 'sk-',
10953
+ maxRequestsPerMinute: DEFAULT_RPM,
10891
10954
  },
10892
10955
  };
10893
10956
  },
@@ -10960,20 +11023,28 @@ const _OpenAiAssistantMetadataRegistration = $llmToolsMetadataRegister.register(
10960
11023
  /**
10961
11024
  * Migrates the pipeline to the latest version
10962
11025
  *
11026
+ * Note: Migration does not do heavy lifting like calling the LLMs, just lightweight changes of the structure
11027
+ *
10963
11028
  * @public exported from `@promptbook/core`
10964
11029
  */
10965
11030
  function migratePipeline(deprecatedPipeline) {
10966
11031
  /* eslint-disable prefer-const */
10967
11032
  let { pipelineUrl, sourceFile, title, bookVersion, description, formfactorName, parameters, tasks, knowledgeSources, knowledgePieces, personas, preparations, sources, } = deprecatedPipeline;
11033
+ let isChanged = false;
10968
11034
  personas = personas.map((persona) => {
10969
11035
  const migratedPersona = { ...persona }; /* <- TODO: [πŸŒͺ] */
10970
11036
  if (migratedPersona.modelRequirements !== undefined) {
11037
+ isChanged = true;
10971
11038
  migratedPersona.modelsRequirements = [migratedPersona.modelRequirements];
10972
11039
  delete migratedPersona.modelRequirements;
10973
11040
  }
10974
11041
  return migratedPersona;
10975
11042
  });
10976
- return {
11043
+ if (!isChanged) {
11044
+ // Note: If nothing to migrate, return the same pipeline
11045
+ return deprecatedPipeline;
11046
+ }
11047
+ const migratedPipeline = {
10977
11048
  pipelineUrl,
10978
11049
  sourceFile,
10979
11050
  title,
@@ -10989,6 +11060,10 @@ function migratePipeline(deprecatedPipeline) {
10989
11060
  sources,
10990
11061
  // <- TODO: [πŸ™] Make some standard order of json properties
10991
11062
  };
11063
+ console.info(`Book automatically migrated`, { deprecatedPipeline, migratedPipeline });
11064
+ // console.info(`Book automatically migrated from ${} -> ${}`, {deprecatedPipeline,migratedPipeline})
11065
+ // <- TODO: Report the versions of the migration, DO not migrate backwards, throw `CompatibilityError` when given newer version than current version of the engine and link the NPM + Docker packages
11066
+ return migratedPipeline;
10992
11067
  }
10993
11068
 
10994
11069
  /**
@@ -11423,5 +11498,5 @@ class PrefixStorage {
11423
11498
  }
11424
11499
  }
11425
11500
 
11426
- 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, CsvFormatError, CsvFormatParser, 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, TextFormatParser, 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, computeCosineSimilarity, countUsage, createCollectionFromJson, createCollectionFromPromise, createCollectionFromUrl, createLlmToolsFromConfiguration, createPipelineExecutor, createSubcollection, embeddingVectorToString, executionReportJsonToString, extractParameterNamesFromTask, filterModels, getPipelineInterface, identificationToPromptbookToken, isPassingExpectations, isPipelineImplementingInterface, isPipelineInterfacesEqual, isPipelinePrepared, isValidPipelineString, joinLlmExecutionTools, limitTotalUsage, makeKnowledgeSourceHandler, migratePipeline, parsePipeline, pipelineJsonToString, prepareKnowledgePieces, preparePersona, preparePipeline, prepareTasks, prettifyPipelineString, promptbookFetch, promptbookTokenToIdentification, unpreparePipeline, usageToHuman, usageToWorktime, validatePipeline, validatePipelineString };
11501
+ 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, CompletionFormfactorDefinition, CsvFormatError, CsvFormatParser, 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_RPM, 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, TextFormatParser, 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, computeCosineSimilarity, countUsage, createCollectionFromJson, createCollectionFromPromise, createCollectionFromUrl, createLlmToolsFromConfiguration, createPipelineExecutor, createSubcollection, embeddingVectorToString, executionReportJsonToString, extractParameterNamesFromTask, filterModels, getPipelineInterface, identificationToPromptbookToken, isPassingExpectations, isPipelineImplementingInterface, isPipelineInterfacesEqual, isPipelinePrepared, isValidPipelineString, joinLlmExecutionTools, limitTotalUsage, makeKnowledgeSourceHandler, migratePipeline, parsePipeline, pipelineJsonToString, prepareKnowledgePieces, preparePersona, preparePipeline, prepareTasks, prettifyPipelineString, promptbookFetch, promptbookTokenToIdentification, unpreparePipeline, usageToHuman, usageToWorktime, validatePipeline, validatePipelineString };
11427
11502
  //# sourceMappingURL=index.es.js.map