@promptbook/core 0.94.0-0 → 0.94.0-2

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.
Files changed (29) hide show
  1. package/README.md +1 -8
  2. package/esm/index.es.js +61 -11
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  5. package/esm/typings/src/_packages/core.index.d.ts +2 -0
  6. package/esm/typings/src/_packages/ollama.index.d.ts +10 -0
  7. package/esm/typings/src/_packages/types.index.d.ts +2 -0
  8. package/esm/typings/src/_packages/wizzard.index.d.ts +4 -0
  9. package/esm/typings/src/execution/AvailableModel.d.ts +9 -1
  10. package/esm/typings/src/execution/ExecutionTask.d.ts +3 -1
  11. package/esm/typings/src/llm-providers/_common/filterModels.d.ts +2 -2
  12. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  13. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +1 -1
  14. package/esm/typings/src/llm-providers/deepseek/DeepseekExecutionToolsOptions.d.ts +1 -1
  15. package/esm/typings/src/llm-providers/google/GoogleExecutionToolsOptions.d.ts +1 -1
  16. package/esm/typings/src/llm-providers/ollama/OllamaExecutionToolsOptions.d.ts +23 -0
  17. package/esm/typings/src/llm-providers/ollama/createOllamaExecutionTools.d.ts +11 -0
  18. package/esm/typings/src/llm-providers/ollama/playground/playground.d.ts +6 -0
  19. package/esm/typings/src/llm-providers/ollama/register-configuration.d.ts +14 -0
  20. package/esm/typings/src/llm-providers/ollama/register-constructor.d.ts +15 -0
  21. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +1 -1
  22. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +1 -1
  23. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  24. package/esm/typings/src/llm-providers/openai/createOpenAiExecutionTools.d.ts +2 -0
  25. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -7
  26. package/esm/typings/src/version.d.ts +1 -1
  27. package/package.json +1 -1
  28. package/umd/index.umd.js +61 -10
  29. package/umd/index.umd.js.map +1 -1
package/README.md CHANGED
@@ -191,16 +191,8 @@ Join our growing community of developers and users:
191
191
 
192
192
  _A concise, Markdown-based DSL for crafting AI workflows and automations._
193
193
 
194
- ---
195
194
 
196
- ### 📑 Table of Contents
197
195
 
198
- - [Introduction](#introduction)
199
- - [Example](#example)
200
- - [1. What: Workflows, Tasks & Parameters](#1-what-workflows-tasks--parameters)
201
- - [2. Who: Personas](#2-who-personas)
202
- - [3. How: Knowledge, Instruments & Actions](#3-how-knowledge-instruments-and-actions)
203
- - [General Principles](#general-principles)
204
196
 
205
197
  ### Introduction
206
198
 
@@ -313,6 +305,7 @@ Or you can install them separately:
313
305
  - **[@promptbook/vercel](https://www.npmjs.com/package/@promptbook/vercel)** - Adapter for Vercel functionalities
314
306
  - **[@promptbook/google](https://www.npmjs.com/package/@promptbook/google)** - Integration with Google's Gemini API
315
307
  - **[@promptbook/deepseek](https://www.npmjs.com/package/@promptbook/deepseek)** - Integration with [DeepSeek API](https://www.deepseek.com/)
308
+ - **[@promptbook/ollama](https://www.npmjs.com/package/@promptbook/ollama)** - Integration with [Ollama](https://ollama.com/) API
316
309
  - **[@promptbook/azure-openai](https://www.npmjs.com/package/@promptbook/azure-openai)** - Execution tools for Azure OpenAI API
317
310
 
318
311
  - **[@promptbook/fake-llm](https://www.npmjs.com/package/@promptbook/fake-llm)** - Mocked execution tools for testing the library and saving the tokens
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.94.0-0';
30
+ const PROMPTBOOK_ENGINE_VERSION = '0.94.0-2';
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
@@ -4751,11 +4751,6 @@ async function executeTask(options) {
4751
4751
  const jokerParameterNames = currentTask.jokerParameterNames || [];
4752
4752
  const preparedContent = (currentTask.preparedContent || '{content}').split('{content}').join(currentTask.content);
4753
4753
  // <- TODO: [🍵] Use here `templateParameters` to replace {websiteContent} with option to ignore missing parameters
4754
- await onProgress({
4755
- outputParameters: {
4756
- [currentTask.resultingParameterName]: '',
4757
- },
4758
- });
4759
4754
  const resultString = await executeFormatSubvalues({
4760
4755
  jokerParameterNames,
4761
4756
  priority,
@@ -4854,6 +4849,13 @@ async function executePipeline(options) {
4854
4849
  * Note: This is a flag to prevent `onProgress` call after the pipeline execution is finished
4855
4850
  */
4856
4851
  let isReturned = false;
4852
+ // Note: Report all output parameters upfront as empty strings
4853
+ if (onProgress) {
4854
+ const emptyOutputParameters = Object.fromEntries(preparedPipeline.parameters.filter((param) => !param.isInput).map((param) => [param.name, '']));
4855
+ onProgress({
4856
+ outputParameters: emptyOutputParameters,
4857
+ });
4858
+ }
4857
4859
  // Note: Check that all input input parameters are defined
4858
4860
  for (const parameter of preparedPipeline.parameters.filter(({ isInput }) => isInput)) {
4859
4861
  if (inputParameters[parameter.name] === undefined) {
@@ -10363,12 +10365,12 @@ const BoilerplateFormfactorDefinition = {
10363
10365
  * Creates a wrapper around LlmExecutionTools that only exposes models matching the filter function
10364
10366
  *
10365
10367
  * @param llmTools The original LLM execution tools to wrap
10366
- * @param modelFilter Function that determines whether a model should be included
10368
+ * @param predicate Function that determines whether a model should be included
10367
10369
  * @returns A new LlmExecutionTools instance with filtered models
10368
10370
  *
10369
10371
  * @public exported from `@promptbook/core`
10370
10372
  */
10371
- function filterModels(llmTools, modelFilter) {
10373
+ function filterModels(llmTools, predicate) {
10372
10374
  const filteredTools = {
10373
10375
  // Keep all properties from the original llmTools
10374
10376
  ...llmTools,
@@ -10385,10 +10387,10 @@ function filterModels(llmTools, modelFilter) {
10385
10387
  const originalModels = await llmTools.listModels();
10386
10388
  // Handle both synchronous and Promise return types
10387
10389
  if (originalModels instanceof Promise) {
10388
- return originalModels.then((models) => models.filter(modelFilter));
10390
+ return originalModels.then((models) => models.filter(predicate));
10389
10391
  }
10390
10392
  else {
10391
- return originalModels.filter(modelFilter);
10393
+ return originalModels.filter(predicate);
10392
10394
  }
10393
10395
  },
10394
10396
  };
@@ -11126,6 +11128,54 @@ const _GoogleMetadataRegistration = $llmToolsMetadataRegister.register({
11126
11128
  * Note: [💞] Ignore a discrepancy between file name and entity name
11127
11129
  */
11128
11130
 
11131
+ /**
11132
+ * Registration of LLM provider metadata
11133
+ *
11134
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
11135
+ *
11136
+ * @public exported from `@promptbook/core`
11137
+ * @public exported from `@promptbook/wizzard`
11138
+ * @public exported from `@promptbook/cli`
11139
+ */
11140
+ const _OllamaMetadataRegistration = $llmToolsMetadataRegister.register({
11141
+ title: 'Ollama',
11142
+ packageName: '@promptbook/ollama',
11143
+ className: 'OllamaExecutionTools',
11144
+ envVariables: ['OLLAMA_BASE_URL', 'OLLAMA_MODEL'],
11145
+ trustLevel: 'CLOSED_LOCAL',
11146
+ order: MODEL_ORDERS.NORMAL,
11147
+ getBoilerplateConfiguration() {
11148
+ return {
11149
+ title: 'Ollama',
11150
+ packageName: '@promptbook/ollama',
11151
+ className: 'OllamaExecutionTools',
11152
+ options: {
11153
+ baseURL: 'http://localhost:11434',
11154
+ model: 'llama2',
11155
+ maxRequestsPerMinute: DEFAULT_MAX_REQUESTS_PER_MINUTE,
11156
+ },
11157
+ };
11158
+ },
11159
+ createConfigurationFromEnv(env) {
11160
+ if (typeof env.OLLAMA_BASE_URL === 'string') {
11161
+ return {
11162
+ title: 'Ollama (from env)',
11163
+ packageName: '@promptbook/ollama',
11164
+ className: 'OllamaExecutionTools',
11165
+ options: {
11166
+ baseURL: env.OLLAMA_BASE_URL,
11167
+ model: env.OLLAMA_MODEL || 'llama2',
11168
+ maxRequestsPerMinute: DEFAULT_MAX_REQUESTS_PER_MINUTE,
11169
+ },
11170
+ };
11171
+ }
11172
+ return null;
11173
+ },
11174
+ });
11175
+ /**
11176
+ * Note: [💞] Ignore a discrepancy between file name and entity name
11177
+ */
11178
+
11129
11179
  /**
11130
11180
  * Registration of LLM provider metadata
11131
11181
  *
@@ -11698,5 +11748,5 @@ class PrefixStorage {
11698
11748
  }
11699
11749
  }
11700
11750
 
11701
- export { $llmToolsMetadataRegister, $llmToolsRegister, $scrapersMetadataRegister, $scrapersRegister, ADMIN_EMAIL, ADMIN_GITHUB_NAME, AbstractFormatError, AuthenticationError, BIG_DATASET_TRESHOLD, 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_MAX_REQUESTS_PER_MINUTE, 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, FAILED_VALUE_PLACEHOLDER, FORMFACTOR_DEFINITIONS, GENERIC_PIPELINE_INTERFACE, GeneratorFormfactorDefinition, GenericFormfactorDefinition, ImageGeneratorFormfactorDefinition, KnowledgeScrapeError, LimitReachedError, MANDATORY_CSV_SETTINGS, MAX_FILENAME_LENGTH, MODEL_ORDERS, MODEL_TRUST_LEVELS, MODEL_VARIANTS, MatcherFormfactorDefinition, MemoryStorage, MissingToolsError, MultipleLlmExecutionTools, NAME, NonTaskSectionTypes, NotFoundError, NotYetImplementedError, ORDER_OF_PIPELINE_JSON, PENDING_VALUE_PLACEHOLDER, 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, prettifyPipelineString, promptbookFetch, promptbookTokenToIdentification, unpreparePipeline, usageToHuman, usageToWorktime, validatePipeline, validatePipelineString };
11751
+ export { $llmToolsMetadataRegister, $llmToolsRegister, $scrapersMetadataRegister, $scrapersRegister, ADMIN_EMAIL, ADMIN_GITHUB_NAME, AbstractFormatError, AuthenticationError, BIG_DATASET_TRESHOLD, 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_MAX_REQUESTS_PER_MINUTE, 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, FAILED_VALUE_PLACEHOLDER, FORMFACTOR_DEFINITIONS, GENERIC_PIPELINE_INTERFACE, GeneratorFormfactorDefinition, GenericFormfactorDefinition, ImageGeneratorFormfactorDefinition, KnowledgeScrapeError, LimitReachedError, MANDATORY_CSV_SETTINGS, MAX_FILENAME_LENGTH, MODEL_ORDERS, MODEL_TRUST_LEVELS, MODEL_VARIANTS, MatcherFormfactorDefinition, MemoryStorage, MissingToolsError, MultipleLlmExecutionTools, NAME, NonTaskSectionTypes, NotFoundError, NotYetImplementedError, ORDER_OF_PIPELINE_JSON, PENDING_VALUE_PLACEHOLDER, 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, _OllamaMetadataRegistration, _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, prettifyPipelineString, promptbookFetch, promptbookTokenToIdentification, unpreparePipeline, usageToHuman, usageToWorktime, validatePipeline, validatePipelineString };
11702
11752
  //# sourceMappingURL=index.es.js.map