@promptbook/utils 0.92.0-9 → 0.93.0

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 (206) hide show
  1. package/README.md +143 -91
  2. package/esm/index.es.js +864 -827
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/browser.index.d.ts +2 -0
  5. package/esm/typings/src/_packages/core.index.d.ts +26 -14
  6. package/esm/typings/src/_packages/types.index.d.ts +6 -2
  7. package/esm/typings/src/collection/PipelineCollection.d.ts +0 -2
  8. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +1 -1
  9. package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +6 -6
  10. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +0 -2
  11. package/esm/typings/src/commands/FORMFACTOR/formfactorCommandParser.d.ts +1 -1
  12. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
  13. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +36 -28
  14. package/esm/typings/src/config.d.ts +41 -11
  15. package/esm/typings/src/constants.d.ts +43 -2
  16. package/esm/typings/src/conversion/parsePipeline.d.ts +2 -2
  17. package/esm/typings/src/errors/0-BoilerplateError.d.ts +2 -2
  18. package/esm/typings/src/errors/CollectionError.d.ts +1 -1
  19. package/esm/typings/src/executables/$provideExecutablesForNode.d.ts +1 -1
  20. package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +2 -1
  21. package/esm/typings/src/executables/apps/locatePandoc.d.ts +2 -1
  22. package/esm/typings/src/executables/locateApp.d.ts +2 -2
  23. package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +2 -1
  24. package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +2 -1
  25. package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +2 -1
  26. package/esm/typings/src/execution/AbstractTaskResult.d.ts +1 -1
  27. package/esm/typings/src/execution/CommonToolsOptions.d.ts +3 -3
  28. package/esm/typings/src/execution/ExecutionTask.d.ts +19 -1
  29. package/esm/typings/src/execution/LlmExecutionToolsConstructor.d.ts +2 -1
  30. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +4 -2
  31. package/esm/typings/src/execution/PromptbookFetch.d.ts +1 -1
  32. package/esm/typings/src/execution/ScriptExecutionTools.d.ts +1 -1
  33. package/esm/typings/src/execution/createPipelineExecutor/$OngoingTaskResult.d.ts +12 -9
  34. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +13 -10
  35. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +12 -9
  36. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +15 -3
  37. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +21 -15
  38. package/esm/typings/src/execution/createPipelineExecutor/computeCosineSimilarity.d.ts +13 -0
  39. package/esm/typings/src/execution/createPipelineExecutor/filterJustOutputParameters.d.ts +7 -6
  40. package/esm/typings/src/execution/createPipelineExecutor/getContextForTask.d.ts +5 -1
  41. package/esm/typings/src/execution/createPipelineExecutor/getExamplesForTask.d.ts +1 -1
  42. package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTask.d.ts +12 -9
  43. package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTask.d.ts +18 -5
  44. package/esm/typings/src/execution/createPipelineExecutor/knowledgePiecesToString.d.ts +9 -0
  45. package/esm/typings/src/execution/execution-report/ExecutionReportJson.d.ts +1 -1
  46. package/esm/typings/src/execution/execution-report/ExecutionReportString.d.ts +1 -1
  47. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +4 -4
  48. package/esm/typings/src/execution/utils/checkExpectations.d.ts +3 -3
  49. package/esm/typings/src/execution/utils/uncertainNumber.d.ts +3 -2
  50. package/esm/typings/src/execution/utils/usageToWorktime.d.ts +1 -1
  51. package/esm/typings/src/formats/_common/{FormatDefinition.d.ts → FormatParser.d.ts} +8 -6
  52. package/esm/typings/src/formats/_common/FormatSubvalueParser.d.ts +66 -0
  53. package/esm/typings/src/formats/csv/CsvFormatParser.d.ts +17 -0
  54. package/esm/typings/src/formats/csv/CsvSettings.d.ts +2 -2
  55. package/esm/typings/src/formats/csv/utils/csvParse.d.ts +12 -0
  56. package/esm/typings/src/formats/csv/utils/isValidCsvString.d.ts +1 -1
  57. package/esm/typings/src/formats/index.d.ts +2 -2
  58. package/esm/typings/src/formats/json/JsonFormatParser.d.ts +19 -0
  59. package/esm/typings/src/formats/json/utils/isValidJsonString.d.ts +1 -1
  60. package/esm/typings/src/formats/json/utils/jsonParse.d.ts +0 -3
  61. package/esm/typings/src/formats/text/{TextFormatDefinition.d.ts → TextFormatParser.d.ts} +7 -7
  62. package/esm/typings/src/formats/xml/XmlFormatParser.d.ts +19 -0
  63. package/esm/typings/src/formats/xml/utils/isValidXmlString.d.ts +1 -1
  64. package/esm/typings/src/formfactors/_boilerplate/BoilerplateFormfactorDefinition.d.ts +3 -2
  65. package/esm/typings/src/formfactors/_common/AbstractFormfactorDefinition.d.ts +16 -7
  66. package/esm/typings/src/formfactors/_common/FormfactorDefinition.d.ts +3 -1
  67. package/esm/typings/src/formfactors/_common/string_formfactor_name.d.ts +2 -1
  68. package/esm/typings/src/formfactors/chatbot/ChatbotFormfactorDefinition.d.ts +2 -2
  69. package/esm/typings/src/formfactors/completion/CompletionFormfactorDefinition.d.ts +29 -0
  70. package/esm/typings/src/formfactors/generator/GeneratorFormfactorDefinition.d.ts +2 -1
  71. package/esm/typings/src/formfactors/generic/GenericFormfactorDefinition.d.ts +2 -2
  72. package/esm/typings/src/formfactors/index.d.ts +33 -8
  73. package/esm/typings/src/formfactors/matcher/MatcherFormfactorDefinition.d.ts +4 -2
  74. package/esm/typings/src/formfactors/sheets/SheetsFormfactorDefinition.d.ts +3 -2
  75. package/esm/typings/src/formfactors/translator/TranslatorFormfactorDefinition.d.ts +3 -2
  76. package/esm/typings/src/high-level-abstractions/index.d.ts +2 -2
  77. package/esm/typings/src/llm-providers/_common/register/$llmToolsMetadataRegister.d.ts +3 -3
  78. package/esm/typings/src/llm-providers/_common/register/$llmToolsRegister.d.ts +3 -3
  79. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +4 -4
  80. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts +4 -3
  81. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +18 -5
  82. package/esm/typings/src/llm-providers/_common/register/LlmToolsConfiguration.d.ts +11 -4
  83. package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +21 -42
  84. package/esm/typings/src/llm-providers/_common/register/LlmToolsOptions.d.ts +9 -2
  85. package/esm/typings/src/llm-providers/_common/register/createLlmToolsFromConfiguration.d.ts +13 -4
  86. package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +10 -5
  87. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +11 -3
  88. package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +3 -3
  89. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.d.ts +5 -5
  90. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +6 -0
  91. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  92. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  93. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -4
  94. package/esm/typings/src/llm-providers/deepseek/deepseek-models.d.ts +1 -1
  95. package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
  96. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +1 -1
  97. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  98. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +2 -2
  99. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +2 -2
  100. package/esm/typings/src/migrations/migratePipeline.d.ts +9 -0
  101. package/esm/typings/src/other/templates/getBookTemplates.d.ts +2 -2
  102. package/esm/typings/src/pipeline/PipelineInterface/PipelineInterface.d.ts +3 -3
  103. package/esm/typings/src/pipeline/PipelineInterface/constants.d.ts +1 -1
  104. package/esm/typings/src/pipeline/PipelineInterface/getPipelineInterface.d.ts +1 -1
  105. package/esm/typings/src/pipeline/PipelineInterface/isPipelineImplementingInterface.d.ts +5 -4
  106. package/esm/typings/src/pipeline/PipelineInterface/isPipelineInterfacesEqual.d.ts +1 -1
  107. package/esm/typings/src/pipeline/PipelineJson/CommonTaskJson.d.ts +10 -7
  108. package/esm/typings/src/pipeline/PipelineJson/ParameterJson.d.ts +1 -1
  109. package/esm/typings/src/pipeline/PipelineJson/PipelineJson.d.ts +3 -2
  110. package/esm/typings/src/pipeline/PipelineString.d.ts +3 -1
  111. package/esm/typings/src/pipeline/book-notation.d.ts +2 -2
  112. package/esm/typings/src/postprocessing/utils/extractBlock.d.ts +1 -1
  113. package/esm/typings/src/postprocessing/utils/extractJsonBlock.d.ts +2 -2
  114. package/esm/typings/src/prepare/prepareTasks.d.ts +8 -5
  115. package/esm/typings/src/remote-server/openapi.d.ts +1 -1
  116. package/esm/typings/src/remote-server/socket-types/listModels/PromptbookServer_ListModels_Response.d.ts +1 -1
  117. package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -1
  118. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +7 -6
  119. package/esm/typings/src/scrapers/_boilerplate/BoilerplateScraper.d.ts +3 -3
  120. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -1
  121. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -1
  122. package/esm/typings/src/scrapers/_common/Converter.d.ts +3 -1
  123. package/esm/typings/src/scrapers/_common/Scraper.d.ts +4 -3
  124. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +4 -2
  125. package/esm/typings/src/scrapers/_common/prepareKnowledgePieces.d.ts +2 -2
  126. package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +2 -1
  127. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +6 -3
  128. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +3 -5
  129. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +3 -3
  130. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +3 -2
  131. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +8 -5
  132. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +2 -1
  133. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +6 -5
  134. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +3 -1
  135. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -1
  136. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +2 -1
  137. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +4 -1
  138. package/esm/typings/src/scrapers/markitdown/MarkitdownScraper.d.ts +1 -1
  139. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +2 -1
  140. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +3 -4
  141. package/esm/typings/src/scripting/javascript/JavascriptExecutionTools.d.ts +1 -1
  142. package/esm/typings/src/scripting/javascript/postprocessing-functions.d.ts +5 -1
  143. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  144. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -1
  145. package/esm/typings/src/storage/file-cache-storage/FileCacheStorage.d.ts +12 -5
  146. package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +4 -2
  147. package/esm/typings/src/storage/file-cache-storage/utils/nameToSubfolderPath.d.ts +2 -1
  148. package/esm/typings/src/storage/local-storage/getIndexedDbStorage.d.ts +11 -0
  149. package/esm/typings/src/storage/local-storage/utils/IndexedDbStorageOptions.d.ts +14 -0
  150. package/esm/typings/src/storage/local-storage/utils/makePromptbookStorageFromIndexedDb.d.ts +8 -0
  151. package/esm/typings/src/storage/local-storage/utils/makePromptbookStorageFromWebStorage.d.ts +2 -1
  152. package/esm/typings/src/types/IntermediateFilesStrategy.d.ts +2 -1
  153. package/esm/typings/src/types/ModelRequirements.d.ts +2 -2
  154. package/esm/typings/src/types/ModelVariant.d.ts +5 -5
  155. package/esm/typings/src/types/typeAliases.d.ts +22 -19
  156. package/esm/typings/src/utils/$Register.d.ts +8 -7
  157. package/esm/typings/src/utils/editable/edit-pipeline-string/addPipelineCommand.d.ts +2 -2
  158. package/esm/typings/src/utils/editable/edit-pipeline-string/deflatePipeline.d.ts +4 -1
  159. package/esm/typings/src/utils/editable/utils/isFlatPipeline.d.ts +2 -1
  160. package/esm/typings/src/utils/editable/utils/stringifyPipelineJson.d.ts +1 -1
  161. package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -1
  162. package/esm/typings/src/utils/expectation-counters/index.d.ts +1 -1
  163. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +2 -2
  164. package/esm/typings/src/utils/markdown/extractAllListItemsFromMarkdown.d.ts +1 -1
  165. package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +2 -2
  166. package/esm/typings/src/utils/normalization/nameToUriPart.d.ts +4 -4
  167. package/esm/typings/src/utils/normalization/nameToUriParts.d.ts +4 -4
  168. package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +3 -3
  169. package/esm/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +3 -3
  170. package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +4 -4
  171. package/esm/typings/src/utils/normalization/normalizeTo_snake_case.d.ts +3 -3
  172. package/esm/typings/src/utils/normalization/removeDiacritics.d.ts +3 -3
  173. package/esm/typings/src/utils/normalization/searchKeywords.d.ts +4 -1
  174. package/esm/typings/src/utils/normalization/titleToName.d.ts +4 -4
  175. package/esm/typings/src/utils/organization/TODO_USE.d.ts +1 -1
  176. package/esm/typings/src/utils/organization/empty_object.d.ts +2 -2
  177. package/esm/typings/src/utils/organization/just.d.ts +1 -1
  178. package/esm/typings/src/utils/organization/just_empty_object.d.ts +4 -4
  179. package/esm/typings/src/utils/organization/keepUnused.d.ts +1 -1
  180. package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.d.ts +7 -7
  181. package/esm/typings/src/utils/removeQuotes.d.ts +2 -2
  182. package/esm/typings/src/utils/serialization/clonePipeline.d.ts +4 -3
  183. package/esm/typings/src/utils/serialization/deepClone.d.ts +5 -1
  184. package/esm/typings/src/utils/trimCodeBlock.d.ts +1 -1
  185. package/esm/typings/src/utils/trimEndOfCodeBlock.d.ts +1 -1
  186. package/esm/typings/src/utils/unwrapResult.d.ts +2 -2
  187. package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +3 -3
  188. package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +5 -4
  189. package/esm/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +1 -1
  190. package/esm/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +1 -1
  191. package/esm/typings/src/utils/validators/url/isHostnameOnPrivateNetwork.d.ts +1 -1
  192. package/esm/typings/src/utils/validators/url/isUrlOnPrivateNetwork.d.ts +1 -1
  193. package/esm/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +1 -1
  194. package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +1 -1
  195. package/esm/typings/src/version.d.ts +2 -1
  196. package/esm/typings/src/wizzard/wizzard.d.ts +1 -1
  197. package/package.json +14 -2
  198. package/umd/index.umd.js +871 -834
  199. package/umd/index.umd.js.map +1 -1
  200. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +0 -31
  201. package/esm/typings/src/formats/csv/CsvFormatDefinition.d.ts +0 -17
  202. package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +0 -19
  203. package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +0 -19
  204. /package/esm/typings/src/llm-providers/{multiple → _multiple}/MultipleLlmExecutionTools.d.ts +0 -0
  205. /package/esm/typings/src/llm-providers/{multiple → _multiple}/joinLlmExecutionTools.d.ts +0 -0
  206. /package/esm/typings/src/llm-providers/{multiple → _multiple}/playground/playground.d.ts +0 -0
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  <!-- ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten -->
2
2
 
3
- # ✨ Promptbook
3
+ # ✨ Promptbook: AI apps in plain Language
4
+
5
+ Write AI applications using plain human language across multiple models and platforms.
4
6
 
5
7
 
6
8
 
@@ -8,24 +10,20 @@
8
10
  [![NPM Version of ![Promptbook logo - cube with letters P and B](./design/logo-h1.png) Promptbook](https://badge.fury.io/js/promptbook.svg)](https://www.npmjs.com/package/promptbook)
9
11
  [![Quality of package ![Promptbook logo - cube with letters P and B](./design/logo-h1.png) Promptbook](https://packagequality.com/shield/promptbook.svg)](https://packagequality.com/#?package=promptbook)
10
12
  [![Known Vulnerabilities](https://snyk.io/test/github/webgptorg/promptbook/badge.svg)](https://snyk.io/test/github/webgptorg/promptbook)
13
+ [![Build Status](https://github.com/webgptorg/promptbook/actions/workflows/ci.yml/badge.svg)](https://github.com/webgptorg/promptbook/actions)
14
+ [![Coverage Status](https://coveralls.io/repos/github/webgptorg/promptbook/badge.svg?branch=main)](https://coveralls.io/github/webgptorg/promptbook?branch=main)
11
15
  [![Issues](https://img.shields.io/github/issues/webgptorg/promptbook.svg?style=flat)](https://github.com/webgptorg/promptbook/issues)
12
16
 
13
17
 
14
18
 
15
-
16
-
17
19
  ## 🌟 New Features
18
20
 
19
- - 📂 We have plugin for [VSCode](https://github.com/webgptorg/book-extension) to support `.book` file extension
20
- - 🐳 Available [Docker image](https://hub.docker.com/r/hejny/promptbook/)
21
- - 💫 Support of [`o3-mini` model by OpenAI](https://openai.com/index/openai-o3-mini/)
22
- - 🐋 **Support of [DeepSeek models](https://www.npmjs.com/package/@promptbook/deepseek)**
23
-
21
+ - 💡 VS Code support for `.book` files with syntax highlighting and IntelliSense
22
+ - 🐳 Official Docker image (`hejny/promptbook`) for seamless containerized usage
23
+ - 🔥 Native support for OpenAI `o3-mini`, GPT-4 and other leading LLMs
24
+ - 🔍 DeepSeek integration for advanced knowledge search
24
25
 
25
26
 
26
- <blockquote style="color: #ff8811">
27
- <b>⚠ Warning:</b> This is a pre-release version of the library. It is not yet ready for production use. Please look at <a href="https://www.npmjs.com/package/@promptbook/core?activeTab=versions">latest stable release</a>.
28
- </blockquote>
29
27
 
30
28
  ## 📦 Package `@promptbook/utils`
31
29
 
@@ -114,7 +112,7 @@ templateParameters(
114
112
 
115
113
  ## Counting
116
114
 
117
- Theese functions are usefull to count stats about the input/output in human-like terms not tokens and bytes, you can use
115
+ These functions are useful to count stats about the input/output in human-like terms not tokens and bytes, you can use
118
116
  `countCharacters`, `countLines`, `countPages`, `countParagraphs`, `countSentences`, `countWords`
119
117
 
120
118
  ```typescript
@@ -125,7 +123,7 @@ console.log(countWords('Hello, world!')); // 2
125
123
 
126
124
  ## Splitting
127
125
 
128
- Splitting functions are similar to counting but they return the splitted parts of the input/output, you can use
126
+ Splitting functions are similar to counting but they return the split parts of the input/output, you can use
129
127
  `splitIntoCharacters`, `splitIntoLines`, `splitIntoPages`, `splitIntoParagraphs`, `splitIntoSentences`, `splitIntoWords`
130
128
 
131
129
  ```typescript
@@ -150,7 +148,7 @@ console.log(normalizeTo['kebab-case']('Hello, world!')); // 'hello-world'
150
148
  ```
151
149
 
152
150
  - There are more normalization functions like `capitalize`, `decapitalize`, `removeDiacritics`,...
153
- - Theese can be also used as postprocessing functions in the `POSTPROCESS` command in promptbook
151
+ - These can be also used as postprocessing functions in the `POSTPROCESS` command in promptbook
154
152
 
155
153
  ## Postprocessing
156
154
 
@@ -273,65 +271,92 @@ Hello world examples:
273
271
  - [Hello world in Node.js](https://github.com/webgptorg/hello-world-node-js)
274
272
  - [Hello world in Next.js](https://github.com/webgptorg/hello-world-next-js)
275
273
 
274
+ ### 🌐 Community & Social Media
276
275
 
276
+ Join our growing community of developers and users:
277
277
 
278
- We also have a community of developers and users of **Promptbook**:
279
-
280
- - [Discord community](https://discord.gg/x3QWNaa89N)
281
- - [Landing page `ptbk.io`](https://ptbk.io)
282
- - [Github discussions](https://github.com/webgptorg/promptbook/discussions)
283
- - [LinkedIn `Promptbook`](https://linkedin.com/company/promptbook)
284
- - [Facebook `Promptbook`](https://www.facebook.com/61560776453536)
285
-
286
- And **Promptbook.studio** branded socials:
287
-
288
-
289
-
290
- - [Instagram `@promptbook.studio`](https://www.instagram.com/promptbook.studio/)
291
-
292
- And **Promptujeme** sub-brand:
293
-
294
- _/Subbrand for Czech clients/_
295
-
296
-
278
+ <table>
279
+ <thead>
280
+ <tr>
281
+ <th>Platform</th>
282
+ <th>Description</th>
283
+ </tr>
284
+ </thead>
285
+ <tbody>
286
+ <tr>
287
+ <td><a href="https://discord.gg/x3QWNaa89N">💬 Discord</a></td>
288
+ <td>Join our active developer community for discussions and support</td>
289
+ </tr>
290
+ <tr>
291
+ <td><a href="https://github.com/webgptorg/promptbook/discussions">🗣️ GitHub Discussions</a></td>
292
+ <td>Technical discussions, feature requests, and community Q&A</td>
293
+ </tr>
294
+ <tr>
295
+ <td><a href="https://linkedin.com/company/promptbook">👔 LinkedIn</a></td>
296
+ <td>Professional updates and industry insights</td>
297
+ </tr>
298
+ <tr>
299
+ <td><a href="https://www.facebook.com/61560776453536">📱 Facebook</a></td>
300
+ <td>General announcements and community engagement</td>
301
+ </tr>
302
+ <tr>
303
+ <td><a href="https://ptbk.io">🔗 ptbk.io</a></td>
304
+ <td>Official landing page with project information</td>
305
+ </tr>
306
+ </tbody>
307
+ </table>
297
308
 
309
+ ### 🖼️ Product & Brand Channels
298
310
 
299
- - [Promptujeme.cz](https://www.promptujeme.cz/)
300
- - [Facebook `Promptujeme`](https://www.facebook.com/promptujeme/)
311
+ #### Promptbook.studio
301
312
 
302
- And **Promptbook.city** branded socials:
313
+ <table>
314
+ <tbody>
315
+ <tr>
316
+ <td><a href="https://www.instagram.com/promptbook.studio/">📸 Instagram @promptbook.studio</a></td>
317
+ <td>Visual updates, UI showcases, and design inspiration</td>
318
+ </tr>
319
+
320
+ </tbody>
321
+ </table>
303
322
 
304
- _/Sub-brand for images and graphics generated via Promptbook prompting/_
305
323
 
306
- - [Instagram `@promptbook.city`](https://www.instagram.com/promptbook.city/)
307
- - [Facebook `Promptbook City`](https://www.facebook.com/61565718625569)
308
324
 
309
325
 
310
326
 
311
327
 
328
+ ## 📘 Book Language Blueprint
312
329
 
330
+ _A concise, Markdown-based DSL for crafting AI workflows and automations._
313
331
 
314
- ## 💙 The Book language
332
+ ---
315
333
 
334
+ ### 📑 Table of Contents
316
335
 
336
+ - [Introduction](#introduction)
337
+ - [Example](#example)
338
+ - [1. What: Workflows, Tasks & Parameters](#1-what-workflows-tasks--parameters)
339
+ - [2. Who: Personas](#2-who-personas)
340
+ - [3. How: Knowledge, Instruments & Actions](#3-how-knowledge-instruments-and-actions)
341
+ - [General Principles](#general-principles)
317
342
 
318
- Following is the documentation and blueprint of the [Book language](https://github.com/webgptorg/book).
343
+ ### Introduction
319
344
 
320
- Book is a language that can be used to write AI applications, agents, workflows, automations, knowledgebases, translators, sheet processors, email automations and more. It allows you to harness the power of AI models in human-like terms, without the need to know the specifics and technicalities of the models.
345
+ Book is a Markdown-based language that simplifies the creation of AI applications, workflows, and automations. With human-readable commands, you can define inputs, outputs, personas, knowledge sources, and actions—without needing model-specific details.
321
346
 
322
347
  ### Example
323
348
 
324
- ```markdown
325
- # 🌟 My first Book
349
+ ```book
350
+ # 🌟 My First Book
326
351
 
327
352
  - BOOK VERSION 1.0.0
328
353
  - URL https://promptbook.studio/hello.book
329
354
  - INPUT PARAMETER {topic}
330
355
  - OUTPUT PARAMETER {article}
331
356
 
332
- # Write an article
357
+ # Write an Article
333
358
 
334
- - PERSONA Jane, marketing specialist with prior experience in writing articles about technology and artificial intelligence
359
+ - PERSONA Jane, marketing specialist with prior experience in tech and AI writing
335
360
  - KNOWLEDGE https://wikipedia.org/
336
361
  - KNOWLEDGE ./journalist-ethics.pdf
337
362
  - EXPECT MIN 1 Sentence
@@ -339,20 +364,20 @@ Book is a language that can be used to write AI applications, agents, workflows,
339
364
 
340
365
  > Write an article about {topic}
341
366
 
342
- -> {article}
367
+ {article}
343
368
  ```
344
369
 
345
370
  Each part of the book defines one of 3 circles:
346
371
 
347
- ### **What:** Workflows, Tasks and Parameters
372
+ ### **1. What:** Workflows, Tasks and Parameters
348
373
 
349
- What work needs to be done. Each book defines a [workflow *(scenario or pipeline)*](https://github.com/webgptorg/promptbook/discussions/88), which is one or more tasks. Each workflow has a fixed input and output. For example, you have a book that generates an article from a topic. Once it generates an article about AI, once about marketing, once about cooking. The workflow (= your AI program) is the same, only the input and output change.
374
+ What work needs to be done. Each book defines a [workflow _(scenario or pipeline)_](https://github.com/webgptorg/promptbook/discussions/88), which is one or more tasks. Each workflow has a fixed input and output. For example, you have a book that generates an article from a topic. Once it generates an article about AI, once about marketing, once about cooking. The workflow (= your AI program) is the same, only the input and output change.
350
375
 
351
376
  **Related commands:**
352
377
 
353
378
  - [PARAMETER](https://github.com/webgptorg/promptbook/blob/main/documents/commands/PARAMETER.md)
354
379
 
355
- ### **Who:** Personas
380
+ ### **2. Who:** Personas
356
381
 
357
382
  Who does the work. Each task is performed by a persona. A persona is a description of your virtual employee. It is a higher abstraction than the model, tokens, temperature, top-k, top-p and other model parameters.
358
383
 
@@ -366,7 +391,7 @@ Personas can have access to different knowledge, tools and actions. They can als
366
391
 
367
392
 
368
393
 
369
- ### **How:** Knowledge, Instruments and Actions
394
+ ### **3. How:** Knowledge, Instruments and Actions
370
395
 
371
396
  The resources used by the personas are used to do the work.
372
397
 
@@ -376,7 +401,7 @@ The resources used by the personas are used to do the work.
376
401
  - [INSTRUMENT](https://github.com/webgptorg/promptbook/blob/main/documents/commands/INSTRUMENT.md) for real-time data like time, location, weather, stock prices, searching the internet, calculations, etc.
377
402
  - [ACTION](https://github.com/webgptorg/promptbook/blob/main/documents/commands/ACTION.md) for actions like sending emails, creating files, ending a workflow, etc.
378
403
 
379
- ### General principles of book language
404
+ ### General Principles
380
405
 
381
406
  Book language is based on markdown. It is subset of markdown. It is designed to be easy to read and write. It is designed to be understandable by both humans and machines and without specific knowledge of the language.
382
407
 
@@ -390,6 +415,10 @@ But unlike programming languages, it is designed to be understandable by non-pro
390
415
 
391
416
 
392
417
 
418
+ ## 📚 Documentation
419
+
420
+ See detailed guides and API reference in the [docs](https://github.com/webgptorg/promptbook/discussions/categories/concepts) or [online](https://discord.gg/x3QWNaa89N).
421
+
393
422
  ## 🔒 Security
394
423
 
395
424
  For information on reporting security vulnerabilities, see our [Security Policy](./SECURITY.md).
@@ -433,7 +462,7 @@ Or you can install them separately:
433
462
  - **[@promptbook/legacy-documents](https://www.npmjs.com/package/@promptbook/legacy-documents)** - Read knowledge from legacy documents like `.doc`, `.rtf`,…
434
463
  - **[@promptbook/website-crawler](https://www.npmjs.com/package/@promptbook/website-crawler)** - Crawl knowledge from the web
435
464
  - **[@promptbook/editable](https://www.npmjs.com/package/@promptbook/editable)** - Editable book as native javascript object with imperative object API
436
- - **[@promptbook/templates](https://www.npmjs.com/package/@promptbook/templates)** - Usefull templates and examples of books which can be used as a starting point
465
+ - **[@promptbook/templates](https://www.npmjs.com/package/@promptbook/templates)** - Useful templates and examples of books which can be used as a starting point
437
466
  - **[@promptbook/types](https://www.npmjs.com/package/@promptbook/types)** - Just typescript types used in the library
438
467
  - ⭐ **[@promptbook/cli](https://www.npmjs.com/package/@promptbook/cli)** - Command line interface utilities for promptbooks
439
468
  - 🐋 **[Docker image](https://hub.docker.com/r/hejny/promptbook/)** - Promptbook server
@@ -470,25 +499,56 @@ _Note: This section is not complete dictionary, more list of general AI / LLM te
470
499
  - [🤼 Personas](https://github.com/webgptorg/promptbook/discussions/22)
471
500
  - [⭕ Parameters](https://github.com/webgptorg/promptbook/discussions/83)
472
501
  - [🚀 Pipeline execution](https://github.com/webgptorg/promptbook/discussions/84)
473
- - [🧪 Expectations](https://github.com/webgptorg/promptbook/discussions/30)
474
- - [✂️ Postprocessing](https://github.com/webgptorg/promptbook/discussions/31)
475
- - [🔣 Words not tokens](https://github.com/webgptorg/promptbook/discussions/29)
476
- - [☯ Separation of concerns](https://github.com/webgptorg/promptbook/discussions/32)
502
+ - [🧪 Expectations](https://github.com/webgptorg/promptbook/discussions/30) - Define what outputs should look like and how they're validated
503
+ - [✂️ Postprocessing](https://github.com/webgptorg/promptbook/discussions/31) - How outputs are refined after generation
504
+ - [🔣 Words not tokens](https://github.com/webgptorg/promptbook/discussions/29) - The human-friendly way to think about text generation
505
+ - [☯ Separation of concerns](https://github.com/webgptorg/promptbook/discussions/32) - How Book language organizes different aspects of AI workflows
477
506
 
478
- #### Advanced concepts
507
+ ### Advanced concepts
508
+
509
+ <table>
510
+ <tr>
511
+ <th>Data & Knowledge Management</th>
512
+ <th>Pipeline Control</th>
513
+ </tr>
514
+ <tr>
515
+ <td>
516
+ <ul>
517
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/41">📚 Knowledge (RAG)</a> - Retrieve and use external information</li>
518
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/54">📽 Media handling</a> - Working with images, audio, video, spreadsheets</li>
519
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/40">🔴 Anomaly detection</a> - Identifying unusual patterns or outputs</li>
520
+ </ul>
521
+ </td>
522
+ <td>
523
+ <ul>
524
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/89">🌏 Remote server</a> - Executing workflows on remote infrastructure</li>
525
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/66">🃏 Jokers (conditions)</a> - Adding conditional logic to workflows</li>
526
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/35">🔳 Metaprompting</a> - Creating prompts that generate other prompts</li>
527
+ </ul>
528
+ </td>
529
+ </tr>
530
+ <tr>
531
+ <th>Language & Output Control</th>
532
+ <th>Advanced Generation</th>
533
+ </tr>
534
+ <tr>
535
+ <td>
536
+ <ul>
537
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/53">🌏 Linguistically typed languages</a> - Type systems for natural language</li>
538
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/42">🌍 Auto-Translations</a> - Automatic multilingual support</li>
539
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/39">👮 Agent adversary expectations</a> - Safety and control mechanisms</li>
540
+ </ul>
541
+ </td>
542
+ <td>
543
+ <ul>
544
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/37">🔙 Expectation-aware generation</a> - Outputs that meet defined criteria</li>
545
+ <li><a href="https://github.com/webgptorg/promptbook/discussions/33">⏳ Just-in-time fine-tuning</a> - Dynamic model adaptation</li>
546
+ </ul>
547
+ </td>
548
+ </tr>
549
+ </table>
479
550
 
480
- - [📚 Knowledge (Retrieval-augmented generation)](https://github.com/webgptorg/promptbook/discussions/41)
481
- - [🌏 Remote server](https://github.com/webgptorg/promptbook/discussions/89)
482
- - [🃏 Jokers (conditions)](https://github.com/webgptorg/promptbook/discussions/66)
483
- - [🔳 Metaprompting](https://github.com/webgptorg/promptbook/discussions/35)
484
- - [🌏 Linguistically typed languages](https://github.com/webgptorg/promptbook/discussions/53)
485
- - [🌍 Auto-Translations](https://github.com/webgptorg/promptbook/discussions/42)
486
- - [📽 Images, audio, video, spreadsheets](https://github.com/webgptorg/promptbook/discussions/54)
487
- - [🔙 Expectation-aware generation](https://github.com/webgptorg/promptbook/discussions/37)
488
- - [⏳ Just-in-time fine-tuning](https://github.com/webgptorg/promptbook/discussions/33)
489
- - [🔴 Anomaly detection](https://github.com/webgptorg/promptbook/discussions/40)
490
- - [👮 Agent adversary expectations](https://github.com/webgptorg/promptbook/discussions/39)
491
- - [view more](https://github.com/webgptorg/promptbook/discussions/categories/concepts)
551
+ <p align="center"><a href="https://github.com/webgptorg/promptbook/discussions/categories/concepts">🔍 View more concepts</a></p>
492
552
 
493
553
 
494
554
 
@@ -543,36 +603,28 @@ If you have a question [start a discussion](https://github.com/webgptorg/promptb
543
603
  - [❔ Is Promptbook using RAG _(Retrieval-Augmented Generation)_?](https://github.com/webgptorg/promptbook/discussions/123)
544
604
  - [❔ Is Promptbook using function calling?](https://github.com/webgptorg/promptbook/discussions/124)
545
605
 
546
- ## Changelog
606
+ ## 📅 Changelog
547
607
 
548
608
  See [CHANGELOG.md](./CHANGELOG.md)
549
609
 
550
610
  ## 📜 License
551
611
 
552
- Promptbook project is under [BUSL 1.1 is an SPDX license](https://spdx.org/licenses/BUSL-1.1.html)
612
+ This project is licensed under [BUSL 1.1](./LICENSE.md).
553
613
 
554
- ## 🎯 Todos
614
+ ## 🤝 Contributing
555
615
 
556
- See [TODO.md](./TODO.md)
616
+ We welcome contributions! See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
557
617
 
558
- ## 🤝 Partners
559
-
560
- <div style="display: flex; align-items: center; gap: 20px;">
561
-
562
- <a href="https://promptbook.studio/">
563
- <img src="./design/promptbook-studio-logo.png" alt="Partner 3" height="70">
564
- </a>
565
-
566
- <a href="https://technologickainkubace.org/en/about-technology-incubation/about-the-project/">
567
- <img src="./other/partners/CI-Technology-Incubation.png" alt="Technology Incubation" height="70">
568
- </a>
569
-
570
- </div>
618
+ You can also ⭐ star the project, [follow us on GitHub](https://github.com/hejny) or [various other social networks](https://www.pavolhejny.com/contact/).We are open to [pull requests, feedback, and suggestions](./CONTRIBUTING.md).
571
619
 
572
- ## 🖋️ Contributing
620
+ ## 🆘 Support & Community
573
621
 
574
- You can also star the project, [follow us on GitHub](https://github.com/hejny) or [various other social networks](https://www.pavolhejny.com/contact/).We are open to [pull requests, feedback, and suggestions](./CONTRIBUTING.md).
622
+ Need help with Book language? We're here for you!
575
623
 
576
- ## 📞 Support
624
+ - 💬 [Join our Discord community](https://discord.gg/x3QWNaa89N) for real-time support
625
+ - 📝 [Browse our GitHub discussions](https://github.com/webgptorg/promptbook/discussions) for FAQs and community knowledge
626
+ - 🐛 [Report issues](https://github.com/webgptorg/book/issues) for bugs or feature requests
627
+ - 📚 Visit [ptbk.io](https://ptbk.io) for more resources and documentation
628
+ - 📧 Contact us directly through the channels listed in our [signpost](./SIGNPOST.md)
577
629
 
578
- If you need help or have questions, please check our [Support Resources](./SUPPORT.md).
630
+ We welcome contributions and feedback to make Book language better for everyone!