@promptbook/anthropic-claude 0.103.0-4 → 0.103.0-41

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 (145) hide show
  1. package/README.md +91 -48
  2. package/esm/index.es.js +36 -4
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/books/index.d.ts +0 -81
  5. package/esm/typings/src/_packages/browser.index.d.ts +6 -0
  6. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  7. package/esm/typings/src/_packages/components.index.d.ts +12 -8
  8. package/esm/typings/src/_packages/core.index.d.ts +30 -10
  9. package/esm/typings/src/_packages/node.index.d.ts +4 -2
  10. package/esm/typings/src/_packages/remote-server.index.d.ts +2 -0
  11. package/esm/typings/src/_packages/types.index.d.ts +18 -2
  12. package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
  13. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +1 -0
  14. package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
  15. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +76 -15
  16. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
  17. package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
  18. package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
  19. package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
  20. package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
  21. package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
  22. package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
  23. package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
  24. package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
  25. package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
  26. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
  27. package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +2 -2
  28. package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
  29. package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
  30. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  31. package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
  32. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
  33. package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
  34. package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
  35. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
  36. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  37. package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
  38. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  39. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  40. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  41. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  42. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  43. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  44. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  45. package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
  46. package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
  47. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  48. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  49. package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +36 -0
  50. package/esm/typings/src/collection/agent-collection/constructors/AgentCollectionInDirectory.d.ts +88 -0
  51. package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
  52. package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
  53. package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
  54. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
  55. package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
  56. package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
  57. package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
  58. package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
  59. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  60. package/esm/typings/src/config.d.ts +22 -2
  61. package/esm/typings/src/errors/0-index.d.ts +3 -0
  62. package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
  63. package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
  64. package/esm/typings/src/execution/Executables.d.ts +3 -0
  65. package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
  66. package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
  67. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  68. package/esm/typings/src/execution/LlmExecutionTools.d.ts +7 -1
  69. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
  70. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
  71. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
  72. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
  73. package/esm/typings/src/execution/utils/logLlmCall.d.ts +8 -0
  74. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  75. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  76. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  77. package/esm/typings/src/llm-providers/agent/Agent.d.ts +49 -0
  78. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +9 -4
  79. package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +17 -0
  80. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +16 -0
  81. package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
  82. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +28 -0
  83. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
  84. package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
  85. package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
  86. package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
  87. package/esm/typings/src/playground/playground.d.ts +0 -3
  88. package/esm/typings/src/playground/playground1.d.ts +2 -0
  89. package/esm/typings/src/remote-server/startAgentServer.d.ts +23 -0
  90. package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
  91. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +22 -8
  92. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  93. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  94. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  95. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  96. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  97. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  98. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  99. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  100. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  101. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  102. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  103. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  104. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  105. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  106. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  107. package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +29 -0
  108. package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
  109. package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
  110. package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +13 -0
  111. package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
  112. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +13 -0
  113. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
  114. package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
  115. package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
  116. package/esm/typings/src/types/LlmCall.d.ts +20 -0
  117. package/esm/typings/src/types/Updatable.d.ts +19 -0
  118. package/esm/typings/src/types/typeAliases.d.ts +1 -1
  119. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  120. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  121. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  122. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  123. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  124. package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
  125. package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +21 -0
  126. package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
  127. package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
  128. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  129. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  130. package/esm/typings/src/version.d.ts +1 -1
  131. package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
  132. package/package.json +7 -7
  133. package/umd/index.umd.js +36 -4
  134. package/umd/index.umd.js.map +1 -1
  135. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
  136. package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -9
  137. package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
  138. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
  139. package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
  140. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
  141. /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → collection/agent-collection/constructors/AgentCollectionInDirectory.test.d.ts} +0 -0
  142. /package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
  143. /package/esm/typings/src/collection/{constructors/createCollectionFromJson.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
  144. /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts} +0 -0
  145. /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
package/README.md CHANGED
@@ -59,27 +59,28 @@ This package bridges the gap between Promptbook's unified pipeline execution sys
59
59
  ## 🔧 High-Level Functionality
60
60
 
61
61
  The package offers direct integration with Anthropic's Claude API:
62
- - **Claude Models**: Support for Claude 2, Claude 3 (Haiku, Sonnet, Opus), and future Claude models
63
- - **Advanced Reasoning**: Leverage Claude's strong reasoning and analysis capabilities
64
- - **Long Context**: Take advantage of Claude's extended context window
65
- - **Safety Features**: Built-in safety and alignment features from Anthropic
62
+
63
+ - **Claude Models**: Support for Claude 2, Claude 3 (Haiku, Sonnet, Opus), and future Claude models
64
+ - **Advanced Reasoning**: Leverage Claude's strong reasoning and analysis capabilities
65
+ - **Long Context**: Take advantage of Claude's extended context window
66
+ - **Safety Features**: Built-in safety and alignment features from Anthropic
66
67
 
67
68
  ## ✨ Key Features
68
69
 
69
- - 🧠 **Advanced AI Models** - Access to Claude's state-of-the-art language models
70
- - 🔄 **Seamless Integration** - Easy integration with other LLM providers in Promptbook
71
- - 📏 **Long Context Support** - Handle large documents and complex conversations
72
- - 🛡️ **Built-in Safety** - Anthropic's constitutional AI approach for safer outputs
73
- - 📊 **Usage Tracking** - Monitor token usage and costs
74
- - 🔧 **Flexible Configuration** - Support for custom endpoints and parameters
75
- - 🚀 **Performance Optimization** - Efficient request handling and caching
70
+ - 🧠 **Advanced AI Models** - Access to Claude's state-of-the-art language models
71
+ - 🔄 **Seamless Integration** - Easy integration with other LLM providers in Promptbook
72
+ - 📏 **Long Context Support** - Handle large documents and complex conversations
73
+ - 🛡️ **Built-in Safety** - Anthropic's constitutional AI approach for safer outputs
74
+ - 📊 **Usage Tracking** - Monitor token usage and costs
75
+ - 🔧 **Flexible Configuration** - Support for custom endpoints and parameters
76
+ - 🚀 **Performance Optimization** - Efficient request handling and caching
76
77
 
77
78
  ## 🧡 Usage
78
79
 
79
80
  ```typescript
80
- import { createPipelineExecutor, createCollectionFromDirectory } from '@promptbook/core';
81
+ import { createPipelineExecutor, createPipelineCollectionFromDirectory } from '@promptbook/core';
81
82
  import {
82
- createCollectionFromDirectory,
83
+ createPipelineCollectionFromDirectory,
83
84
  $provideExecutionToolsForNode,
84
85
  $provideFilesystemForNode,
85
86
  $provideScrapersForNode,
@@ -107,7 +108,7 @@ const tools = {
107
108
  };
108
109
 
109
110
  // ▶ Create whole pipeline collection
110
- const collection = await createCollectionFromDirectory('./books', tools);
111
+ const collection = await createPipelineCollectionFromDirectory('./books', tools);
111
112
 
112
113
  // ▶ Get single Pipeline
113
114
  const pipeline = await collection.getPipelineByUrl(`https://promptbook.studio/my-collection/write-article.book`);
@@ -155,7 +156,7 @@ console.info(joke);
155
156
  You can just use `$provideExecutionToolsForNode` function to create all required tools from environment variables like `ANTHROPIC_CLAUDE_API_KEY` and `OPENAI_API_KEY` automatically.
156
157
 
157
158
  ```typescript
158
- import { createPipelineExecutor, createCollectionFromDirectory } from '@promptbook/core';
159
+ import { createPipelineExecutor, createPipelineCollectionFromDirectory } from '@promptbook/core';
159
160
  import { JavascriptExecutionTools } from '@promptbook/javascript';
160
161
  import { $provideExecutionToolsForNode } from '@promptbook/node';
161
162
  import { $provideFilesystemForNode } from '@promptbook/node';
@@ -165,7 +166,7 @@ import { $provideFilesystemForNode } from '@promptbook/node';
165
166
  const tools = await $provideExecutionToolsForNode();
166
167
 
167
168
  // ▶ Create whole pipeline collection
168
- const collection = await createCollectionFromDirectory('./books', tools);
169
+ const collection = await createPipelineCollectionFromDirectory('./books', tools);
169
170
 
170
171
  // ▶ Get single Pipeline
171
172
  const pipeline = await collection.getPipelineByUrl(`https://promptbook.studio/my-collection/write-article.book`);
@@ -191,7 +192,7 @@ console.info(outputParameters);
191
192
  You can use multiple LLM providers in one Promptbook execution. The best model will be chosen automatically according to the prompt and the model's capabilities.
192
193
 
193
194
  ```typescript
194
- import { createPipelineExecutor, createCollectionFromDirectory } from '@promptbook/core';
195
+ import { createPipelineExecutor, createPipelineCollectionFromDirectory } from '@promptbook/core';
195
196
  import { $provideExecutionToolsForNode } from '@promptbook/node';
196
197
  import { $provideFilesystemForNode } from '@promptbook/node';
197
198
  import { JavascriptExecutionTools } from '@promptbook/javascript';
@@ -233,7 +234,7 @@ const tools = {
233
234
  };
234
235
 
235
236
  // ▶ Create whole pipeline collection
236
- const collection = await createCollectionFromDirectory('./books', tools);
237
+ const collection = await createPipelineCollectionFromDirectory('./books', tools);
237
238
 
238
239
  // ▶ Get single Pipeline
239
240
  const pipeline = await collection.getPipelineByUrl(`https://promptbook.studio/my-collection/write-article.book`);
@@ -270,25 +271,31 @@ See the other model integrations:
270
271
  ## 📦 Exported Entities
271
272
 
272
273
  ### Version Information
273
- - `BOOK_LANGUAGE_VERSION` - Current book language version
274
- - `PROMPTBOOK_ENGINE_VERSION` - Current engine version
274
+
275
+ - `BOOK_LANGUAGE_VERSION` - Current book language version
276
+ - `PROMPTBOOK_ENGINE_VERSION` - Current engine version
275
277
 
276
278
  ### Model Information
277
- - `ANTHROPIC_CLAUDE_MODELS` - Available Anthropic Claude models configuration
279
+
280
+ - `ANTHROPIC_CLAUDE_MODELS` - Available Anthropic Claude models configuration
278
281
 
279
282
  ### Execution Tools Creation Function
280
- - `createAnthropicClaudeExecutionTools` - Create Anthropic Claude execution tools
283
+
284
+ - `createAnthropicClaudeExecutionTools` - Create Anthropic Claude execution tools
281
285
 
282
286
  ### Execution Tools Class
283
- - `AnthropicClaudeExecutionTools` - Anthropic Claude execution tools class
287
+
288
+ - `AnthropicClaudeExecutionTools` - Anthropic Claude execution tools class
284
289
 
285
290
  ### Configuration Types
286
- - `AnthropicClaudeExecutionToolsOptions` - Configuration options for Anthropic Claude tools (type)
287
- - `AnthropicClaudeExecutionToolsNonProxiedOptions` - Non-proxied configuration options (type)
288
- - `AnthropicClaudeExecutionToolsProxiedOptions` - Proxied configuration options (type)
291
+
292
+ - `AnthropicClaudeExecutionToolsOptions` - Configuration options for Anthropic Claude tools (type)
293
+ - `AnthropicClaudeExecutionToolsNonProxiedOptions` - Non-proxied configuration options (type)
294
+ - `AnthropicClaudeExecutionToolsProxiedOptions` - Proxied configuration options (type)
289
295
 
290
296
  ### Provider Registration
291
- - `_AnthropicClaudeRegistration` - Anthropic Claude provider registration
297
+
298
+ - `_AnthropicClaudeRegistration` - Anthropic Claude provider registration
292
299
 
293
300
 
294
301
 
@@ -308,11 +315,15 @@ The main challenge is to narrow it down, constrain it, set the proper **context,
308
315
 
309
316
  Promptbook takes the best from both worlds. You are defining your AI behavior by simple **books**, which are very explicit. They are automatically enforced, but they are very easy to understand, very easy to write, and very reliable and portable.
310
317
 
318
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
319
+
320
+ **<ins>Paul Smith & Associés</ins>**<br/>
321
+ <br/>
322
+ **PERSONA** You are a company lawyer.<br/>
323
+ Your job is to provide legal advice and support to the company and its employees.<br/>
324
+ You are knowledgeable, professional, and detail-oriented.<br/>
311
325
 
312
- <img
313
- alt="Paul Smith & Associés Book"
314
- src="https://promptbook.studio/embed/book-preview.png?book=Paul%20Smith%20%26%20Associ%C3%A9s%0A%20%20%20%20%20%20%7C%20PERSONA%20You%20are%20a%20company%20lawyer.%0A%20%20%20%20%20%20%7C%20Your%20job%20is%20to%20provide%20legal%20advice%20and%20support%20to%20the%20company%20and%20its%20employees.%0A%20%20%20%20%20%20%7C%20You%20are%20knowledgeable%2C%20professional%2C%20and%20detail-oriented.&width=800&height=450&nonce=0"
315
- />
326
+ </td></tr></table>
316
327
 
317
328
  <div style="page-break-after: always;"></div>
318
329
 
@@ -326,11 +337,15 @@ You can look at it as prompting (or writing a system message), but decorated by
326
337
 
327
338
  Personas define the character of your AI persona, its role, and how it should interact with users. It sets the tone and style of communication.
328
339
 
340
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
341
+
342
+ **<ins>Paul Smith & Associés</ins>**<br/>
343
+ <br/>
344
+ **PERSONA** You are a company lawyer.<br/>
345
+ Your job is to provide legal advice and support to the company and its employees.<br/>
346
+ You are knowledgeable, professional, and detail-oriented.<br/>
329
347
 
330
- <img
331
- alt="Paul Smith & Associés Book"
332
- src="https://promptbook.studio/embed/book-preview.png?book=Paul%20Smith%20%26%20Associ%C3%A9s%0A%20%20%20%20%20%20%7C%20PERSONA%20You%20are%20a%20company%20lawyer.%0A%20%20%20%20%20%20%7C%20Your%20job%20is%20to%20provide%20legal%20advice%20and%20support%20to%20the%20company%20and%20its%20employees.%0A%20%20%20%20%20%20%7C%20You%20are%20knowledgeable%2C%20professional%2C%20and%20detail-oriented.&width=800&height=450&nonce=0"
333
- />
348
+ </td></tr></table>
334
349
 
335
350
  #### `Knowledge` commitment
336
351
 
@@ -340,11 +355,18 @@ This can include domain-specific knowledge, company policies, or any other relev
340
355
 
341
356
  Promptbook Engine will automatically enforce this knowledge during interactions. When the knowledge is short enough, it will be included in the prompt. When it is too long, it will be stored in vector databases and RAG retrieved when needed. But you don't need to care about it.
342
357
 
358
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
343
359
 
344
- <img
345
- alt="Paul Smith & Associés Book"
346
- src="https://promptbook.studio/embed/book-preview.png?book=Paul%20Smith%20%26%20Associ%C3%A9s%0A%20%20%20%20%20%20%7C%20PERSONA%20You%20are%20a%20company%20lawyer.%0A%20%20%20%20%20%20%7C%20Your%20job%20is%20to%20provide%20legal%20advice%20and%20support%20to%20the%20company%20and%20its%20employees.%0A%20%20%20%20%20%20%7C%20You%20are%20knowledgeable%2C%20professional%2C%20and%20detail-oriented.%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20%20https%3A%2F%2Fcompany.com%2Fcompany-policies.pdf%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20https%3A%2F%2Fcompany.com%2Finternal-documents%2Femployee-handbook.docx&width=800&height=450&nonce=0"
347
- />
360
+ **<ins>Paul Smith & Associés</ins>**<br/>
361
+ <br/>
362
+ **PERSONA** You are a company lawyer.<br/>
363
+ Your job is to provide legal advice and support to the company and its employees.<br/>
364
+ You are knowledgeable, professional, and detail-oriented.<br/>
365
+ <br/>
366
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
367
+ **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
368
+
369
+ </td></tr></table>
348
370
 
349
371
  #### `Rule` commitment
350
372
 
@@ -352,21 +374,42 @@ Rules will enforce specific behaviors or constraints on the AI's responses. This
352
374
 
353
375
  Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
354
376
 
377
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
378
+
379
+ **<ins>Paul Smith & Associés</ins>**<br/>
380
+ <br/>
381
+ **PERSONA** You are a company lawyer.<br/>
382
+ Your job is to provide legal advice and support to the company and its employees.<br/>
383
+ You are knowledgeable, professional, and detail-oriented.<br/>
384
+ <br/>
385
+ **RULE** Always ensure compliance with laws and regulations.<br/>
386
+ **RULE** Never provide legal advice outside your area of expertise.<br/>
387
+ **RULE** Never provide legal advice about criminal law.<br/>
388
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
389
+ **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
355
390
 
356
- <img
357
- alt="Paul Smith & Associés Book"
358
- src="https://promptbook.studio/embed/book-preview.png?book=Paul%20Smith%20%26%20Associ%C3%A9s%0A%20%20%20%20%20%20%7C%20PERSONA%20You%20are%20a%20company%20lawyer.%0A%20%20%20%20%20%20%7C%20Your%20job%20is%20to%20provide%20legal%20advice%20and%20support%20to%20the%20company%20and%20its%20employees.%0A%20%20%20%20%20%20%7C%20You%20are%20knowledgeable%2C%20professional%2C%20and%20detail-oriented.%0A%20%20%20%20%20%20%7C%20RULE%20Always%20ensure%20compliance%20with%20laws%20and%20regulations.%0A%20%20%20%20%20%20%7C%20RULE%20Never%20provide%20legal%20advice%20outside%20your%20area%20of%20expertise.%0A%20%20%20%20%20%20%7C%20RULE%20Never%20provide%20legal%20advice%20about%20criminal%20law.%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20%20https%3A%2F%2Fcompany.com%2Fcompany-policies.pdf%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20https%3A%2F%2Fcompany.com%2Finternal-documents%2Femployee-handbook.docx&width=800&height=450&nonce=0"
359
- />
391
+ </td></tr></table>
360
392
 
361
393
  #### `Action` commitment
362
394
 
363
395
  Action Commitment allows you to define specific actions that the AI can take during interactions. This can include things like posting on a social media platform, sending emails, creating calendar events, or interacting with your internal systems.
364
396
 
365
-
366
- <img
367
- alt="Paul Smith & Associés Book"
368
- src="https://promptbook.studio/embed/book-preview.png?book=Paul%20Smith%20%26%20Associ%C3%A9s%0A%20%20%20%20%20%20%7C%20PERSONA%20You%20are%20a%20company%20lawyer.%0A%20%20%20%20%20%20%7C%20Your%20job%20is%20to%20provide%20legal%20advice%20and%20support%20to%20the%20company%20and%20its%20employees.%0A%20%20%20%20%20%20%7C%20You%20are%20knowledgeable%2C%20professional%2C%20and%20detail-oriented.%0A%20%20%20%20%20%20%7C%20RULE%20Always%20ensure%20compliance%20with%20laws%20and%20regulations.%0A%20%20%20%20%20%20%7C%20RULE%20Never%20provide%20legal%20advice%20outside%20your%20area%20of%20expertise.%0A%20%20%20%20%20%20%7C%20RULE%20Never%20provide%20legal%20advice%20about%20criminal%20law.%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20%20https%3A%2F%2Fcompany.com%2Fcompany-policies.pdf%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20https%3A%2F%2Fcompany.com%2Finternal-documents%2Femployee-handbook.docx%0A%20%20%20%20%20%20%7C%20ACTION%20When%20a%20user%20asks%20about%20an%20issue%20that%20could%20be%20treated%20as%20a%20crime%2C%20notify%20legal%40company.com.&width=800&height=450&nonce=0"
369
- />
397
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
398
+
399
+ **<ins>Paul Smith & Associés</ins>**<br/>
400
+ <br/>
401
+ **PERSONA** You are a company lawyer.<br/>
402
+ Your job is to provide legal advice and support to the company and its employees.<br/>
403
+ You are knowledgeable, professional, and detail-oriented.<br/>
404
+ <br/>
405
+ **RULE** Always ensure compliance with laws and regulations.<br/>
406
+ **RULE** Never provide legal advice outside your area of expertise.<br/>
407
+ **RULE** Never provide legal advice about criminal law.<br/>
408
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
409
+ **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
410
+ **ACTION** When a user asks about an issue that could be treated as a crime, notify legal@company.com.<br/>
411
+
412
+ </td></tr></table>
370
413
 
371
414
  [Read more about the language](./BLUEPRINT.md)
372
415
 
package/esm/index.es.js CHANGED
@@ -19,7 +19,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
19
19
  * @generated
20
20
  * @see https://github.com/webgptorg/promptbook
21
21
  */
22
- const PROMPTBOOK_ENGINE_VERSION = '0.103.0-4';
22
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-41';
23
23
  /**
24
24
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
25
25
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -985,15 +985,30 @@ const ADMIN_GITHUB_NAME = 'hejny';
985
985
  * @public exported from `@promptbook/core`
986
986
  */
987
987
  const PROMPTBOOK_COLOR = Color.fromHex('#79EAFD');
988
- // <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
988
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
989
989
  /**
990
- * Dark color of the Promptbook
990
+ * Colors for syntax highlighting in the `<BookEditor/>`
991
+ *
992
+ * TODO: [🗽] Unite branding and make single place for it
993
+ *
994
+ * @public exported from `@promptbook/core`
995
+ */
996
+ ({
997
+ TITLE: Color.fromHex('#244EA8'),
998
+ LINE: Color.fromHex('#eeeeee'),
999
+ COMMITMENT: Color.fromHex('#DA0F78'),
1000
+ PARAMETER: Color.fromHex('#8e44ad'),
1001
+ });
1002
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1003
+ /**
1004
+ * Chat color of the Promptbook (in chat)
991
1005
  *
992
1006
  * TODO: [🗽] Unite branding and make single place for it
993
1007
  *
994
1008
  * @public exported from `@promptbook/core`
995
1009
  */
996
1010
  PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
1011
+ // <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
997
1012
  /**
998
1013
  * Color of the user (in chat)
999
1014
  *
@@ -1871,10 +1886,13 @@ const LINES_PER_STANDARD_PAGE = 44;
1871
1886
  * @public exported from `@promptbook/utils`
1872
1887
  */
1873
1888
  function countLines(text) {
1889
+ if (text === '') {
1890
+ return 0;
1891
+ }
1874
1892
  text = text.replace('\r\n', '\n');
1875
1893
  text = text.replace('\r', '\n');
1876
1894
  const lines = text.split('\n');
1877
- return lines.reduce((count, line) => count + Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 0);
1895
+ return lines.reduce((count, line) => count + Math.max(Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 1), 0);
1878
1896
  }
1879
1897
  /**
1880
1898
  * TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
@@ -2656,6 +2674,19 @@ class MissingToolsError extends Error {
2656
2674
  }
2657
2675
  }
2658
2676
 
2677
+ /**
2678
+ * This error indicates that promptbook operation is not allowed
2679
+ *
2680
+ * @public exported from `@promptbook/core`
2681
+ */
2682
+ class NotAllowed extends Error {
2683
+ constructor(message) {
2684
+ super(message);
2685
+ this.name = 'NotAllowed';
2686
+ Object.setPrototypeOf(this, NotAllowed.prototype);
2687
+ }
2688
+ }
2689
+
2659
2690
  /**
2660
2691
  * This error indicates that promptbook not found in the collection
2661
2692
  *
@@ -2771,6 +2802,7 @@ const PROMPTBOOK_ERRORS = {
2771
2802
  PromptbookFetchError,
2772
2803
  UnexpectedError,
2773
2804
  WrappedError,
2805
+ NotAllowed,
2774
2806
  // TODO: [🪑]> VersionMismatchError,
2775
2807
  };
2776
2808
  /**