@promptbook/remote-client 0.103.0-4 → 0.103.0-40

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 (143) hide show
  1. package/README.md +57 -21
  2. package/esm/index.es.js +75 -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/types.index.d.ts +18 -2
  11. package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
  12. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +1 -0
  13. package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
  14. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +76 -15
  15. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
  16. package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
  17. package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
  18. package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
  19. package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
  20. package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
  21. package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
  22. package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
  23. package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
  24. package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
  25. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
  26. package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +2 -2
  27. package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
  28. package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
  29. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  30. package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
  31. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
  32. package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
  33. package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
  34. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
  35. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  36. package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
  37. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  38. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  39. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  40. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  41. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  42. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  43. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  44. package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
  45. package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
  46. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  47. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  48. package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +36 -0
  49. package/esm/typings/src/collection/agent-collection/constructors/AgentCollectionInDirectory.d.ts +88 -0
  50. package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
  51. package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
  52. package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
  53. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
  54. package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
  55. package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
  56. package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
  57. package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
  58. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  59. package/esm/typings/src/config.d.ts +22 -2
  60. package/esm/typings/src/errors/0-index.d.ts +3 -0
  61. package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
  62. package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
  63. package/esm/typings/src/execution/Executables.d.ts +3 -0
  64. package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
  65. package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
  66. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  67. package/esm/typings/src/execution/LlmExecutionTools.d.ts +7 -1
  68. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
  69. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
  70. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
  71. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
  72. package/esm/typings/src/execution/utils/logLlmCall.d.ts +8 -0
  73. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  74. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  75. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  76. package/esm/typings/src/llm-providers/agent/Agent.d.ts +49 -0
  77. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +9 -4
  78. package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +17 -0
  79. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +16 -0
  80. package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
  81. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +28 -0
  82. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
  83. package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
  84. package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
  85. package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
  86. package/esm/typings/src/playground/playground.d.ts +0 -3
  87. package/esm/typings/src/playground/playground1.d.ts +2 -0
  88. package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
  89. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +22 -8
  90. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  91. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  92. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  93. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  94. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  95. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  96. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  97. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  98. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  99. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  100. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  101. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  102. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  103. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  104. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  105. package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +29 -0
  106. package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
  107. package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
  108. package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +13 -0
  109. package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
  110. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +13 -0
  111. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
  112. package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
  113. package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
  114. package/esm/typings/src/types/LlmCall.d.ts +20 -0
  115. package/esm/typings/src/types/Updatable.d.ts +19 -0
  116. package/esm/typings/src/types/typeAliases.d.ts +1 -1
  117. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  118. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  119. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  120. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  121. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  122. package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
  123. package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +21 -0
  124. package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
  125. package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
  126. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  127. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  128. package/esm/typings/src/version.d.ts +1 -1
  129. package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
  130. package/package.json +4 -4
  131. package/umd/index.umd.js +75 -4
  132. package/umd/index.umd.js.map +1 -1
  133. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
  134. package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -9
  135. package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
  136. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
  137. package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
  138. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
  139. /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → collection/agent-collection/constructors/AgentCollectionInDirectory.test.d.ts} +0 -0
  140. /package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
  141. /package/esm/typings/src/collection/{constructors/createCollectionFromJson.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
  142. /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts} +0 -0
  143. /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
package/README.md CHANGED
@@ -68,11 +68,15 @@ The main challenge is to narrow it down, constrain it, set the proper **context,
68
68
 
69
69
  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.
70
70
 
71
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
71
72
 
72
- <img
73
- alt="Paul Smith & Associés Book"
74
- 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"
75
- />
73
+ **<ins>Paul Smith & Associés</ins>**<br/>
74
+ <br/>
75
+ **PERSONA** You are a company lawyer.<br/>
76
+ Your job is to provide legal advice and support to the company and its employees.<br/>
77
+ You are knowledgeable, professional, and detail-oriented.<br/>
78
+
79
+ </td></tr></table>
76
80
 
77
81
  <div style="page-break-after: always;"></div>
78
82
 
@@ -86,11 +90,15 @@ You can look at it as prompting (or writing a system message), but decorated by
86
90
 
87
91
  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.
88
92
 
93
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
94
+
95
+ **<ins>Paul Smith & Associés</ins>**<br/>
96
+ <br/>
97
+ **PERSONA** You are a company lawyer.<br/>
98
+ Your job is to provide legal advice and support to the company and its employees.<br/>
99
+ You are knowledgeable, professional, and detail-oriented.<br/>
89
100
 
90
- <img
91
- alt="Paul Smith & Associés Book"
92
- 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"
93
- />
101
+ </td></tr></table>
94
102
 
95
103
  #### `Knowledge` commitment
96
104
 
@@ -100,11 +108,18 @@ This can include domain-specific knowledge, company policies, or any other relev
100
108
 
101
109
  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.
102
110
 
111
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
112
+
113
+ **<ins>Paul Smith & Associés</ins>**<br/>
114
+ <br/>
115
+ **PERSONA** You are a company lawyer.<br/>
116
+ Your job is to provide legal advice and support to the company and its employees.<br/>
117
+ You are knowledgeable, professional, and detail-oriented.<br/>
118
+ <br/>
119
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
120
+ **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
103
121
 
104
- <img
105
- alt="Paul Smith & Associés Book"
106
- 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"
107
- />
122
+ </td></tr></table>
108
123
 
109
124
  #### `Rule` commitment
110
125
 
@@ -112,21 +127,42 @@ Rules will enforce specific behaviors or constraints on the AI's responses. This
112
127
 
113
128
  Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
114
129
 
130
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
115
131
 
116
- <img
117
- alt="Paul Smith & Associés Book"
118
- 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"
119
- />
132
+ **<ins>Paul Smith & Associés</ins>**<br/>
133
+ <br/>
134
+ **PERSONA** You are a company lawyer.<br/>
135
+ Your job is to provide legal advice and support to the company and its employees.<br/>
136
+ You are knowledgeable, professional, and detail-oriented.<br/>
137
+ <br/>
138
+ **RULE** Always ensure compliance with laws and regulations.<br/>
139
+ **RULE** Never provide legal advice outside your area of expertise.<br/>
140
+ **RULE** Never provide legal advice about criminal law.<br/>
141
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
142
+ **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
143
+
144
+ </td></tr></table>
120
145
 
121
146
  #### `Action` commitment
122
147
 
123
148
  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.
124
149
 
125
-
126
- <img
127
- alt="Paul Smith & Associés Book"
128
- 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"
129
- />
150
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
151
+
152
+ **<ins>Paul Smith & Associés</ins>**<br/>
153
+ <br/>
154
+ **PERSONA** You are a company lawyer.<br/>
155
+ Your job is to provide legal advice and support to the company and its employees.<br/>
156
+ You are knowledgeable, professional, and detail-oriented.<br/>
157
+ <br/>
158
+ **RULE** Always ensure compliance with laws and regulations.<br/>
159
+ **RULE** Never provide legal advice outside your area of expertise.<br/>
160
+ **RULE** Never provide legal advice about criminal law.<br/>
161
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
162
+ **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
163
+ **ACTION** When a user asks about an issue that could be treated as a crime, notify legal@company.com.<br/>
164
+
165
+ </td></tr></table>
130
166
 
131
167
  [Read more about the language](./BLUEPRINT.md)
132
168
 
package/esm/index.es.js CHANGED
@@ -20,7 +20,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
20
20
  * @generated
21
21
  * @see https://github.com/webgptorg/promptbook
22
22
  */
23
- const PROMPTBOOK_ENGINE_VERSION = '0.103.0-4';
23
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-40';
24
24
  /**
25
25
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
26
26
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -155,6 +155,19 @@ class MissingToolsError extends Error {
155
155
  }
156
156
  }
157
157
 
158
+ /**
159
+ * This error indicates that promptbook operation is not allowed
160
+ *
161
+ * @public exported from `@promptbook/core`
162
+ */
163
+ class NotAllowed extends Error {
164
+ constructor(message) {
165
+ super(message);
166
+ this.name = 'NotAllowed';
167
+ Object.setPrototypeOf(this, NotAllowed.prototype);
168
+ }
169
+ }
170
+
158
171
  /**
159
172
  * This error indicates that promptbook not found in the collection
160
173
  *
@@ -1218,15 +1231,30 @@ const ADMIN_GITHUB_NAME = 'hejny';
1218
1231
  * @public exported from `@promptbook/core`
1219
1232
  */
1220
1233
  const PROMPTBOOK_COLOR = Color.fromHex('#79EAFD');
1221
- // <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
1234
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1222
1235
  /**
1223
- * Dark color of the Promptbook
1236
+ * Colors for syntax highlighting in the `<BookEditor/>`
1237
+ *
1238
+ * TODO: [🗽] Unite branding and make single place for it
1239
+ *
1240
+ * @public exported from `@promptbook/core`
1241
+ */
1242
+ ({
1243
+ TITLE: Color.fromHex('#244EA8'),
1244
+ LINE: Color.fromHex('#eeeeee'),
1245
+ COMMITMENT: Color.fromHex('#DA0F78'),
1246
+ PARAMETER: Color.fromHex('#8e44ad'),
1247
+ });
1248
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1249
+ /**
1250
+ * Chat color of the Promptbook (in chat)
1224
1251
  *
1225
1252
  * TODO: [🗽] Unite branding and make single place for it
1226
1253
  *
1227
1254
  * @public exported from `@promptbook/core`
1228
1255
  */
1229
1256
  PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
1257
+ // <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
1230
1258
  /**
1231
1259
  * Color of the user (in chat)
1232
1260
  *
@@ -1235,6 +1263,7 @@ PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
1235
1263
  * @public exported from `@promptbook/core`
1236
1264
  */
1237
1265
  Color.fromHex('#1D4ED8');
1266
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1238
1267
  /**
1239
1268
  * When the title is not provided, the default title is used
1240
1269
  *
@@ -1409,6 +1438,7 @@ const PROMPTBOOK_ERRORS = {
1409
1438
  PromptbookFetchError,
1410
1439
  UnexpectedError,
1411
1440
  WrappedError,
1441
+ NotAllowed,
1412
1442
  // TODO: [🪑]> VersionMismatchError,
1413
1443
  };
1414
1444
  /**
@@ -5560,6 +5590,46 @@ function validatePipelineString(pipelineString) {
5560
5590
  const SUPPORTED_SCRIPT_LANGUAGES = ['javascript', 'typescript', 'python'];
5561
5591
  // <- TODO: [🏥] DRY
5562
5592
 
5593
+ /**
5594
+ * Number of padding lines to add at the end of the book content
5595
+ *
5596
+ * @public exported from `@promptbook/core`
5597
+ */
5598
+ const PADDING_LINES = 11;
5599
+ /**
5600
+ * A function that adds padding to the book content
5601
+ *
5602
+ * @public exported from `@promptbook/core`
5603
+ */
5604
+ function padBook(content) {
5605
+ if (!content) {
5606
+ return '\n'.repeat(PADDING_LINES);
5607
+ }
5608
+ const lines = content.split('\n');
5609
+ let trailingEmptyLines = 0;
5610
+ for (let i = lines.length - 1; i >= 0; i--) {
5611
+ const line = lines[i];
5612
+ if (line === undefined) {
5613
+ // Note: This should not happen in reality, but it's here to satisfy TypeScript's noUncheckedIndexedAccess option
5614
+ continue;
5615
+ }
5616
+ if (line.trim() === '') {
5617
+ trailingEmptyLines++;
5618
+ }
5619
+ else {
5620
+ break;
5621
+ }
5622
+ }
5623
+ if (trailingEmptyLines >= PADDING_LINES) {
5624
+ return content;
5625
+ }
5626
+ const linesToAdd = PADDING_LINES - trailingEmptyLines;
5627
+ return (content + '\n'.repeat(linesToAdd));
5628
+ }
5629
+ /**
5630
+ * TODO: [🧠] Maybe export
5631
+ */
5632
+
5563
5633
  /**
5564
5634
  * Removes Markdown (or HTML) comments
5565
5635
  *
@@ -5605,6 +5675,7 @@ function deflatePipeline(pipelineString) {
5605
5675
  if (!isFlatPipeline(pipelineString)) {
5606
5676
  return pipelineString;
5607
5677
  }
5678
+ pipelineString = spaceTrim$1(pipelineString);
5608
5679
  const pipelineStringLines = pipelineString.split('\n');
5609
5680
  const potentialReturnStatement = pipelineStringLines.pop();
5610
5681
  let returnStatement;
@@ -5639,7 +5710,7 @@ function deflatePipeline(pipelineString) {
5639
5710
  ${returnStatement}
5640
5711
  `));
5641
5712
  // <- TODO: Maybe use book` notation
5642
- return pipelineString;
5713
+ return padBook(pipelineString);
5643
5714
  }
5644
5715
  /**
5645
5716
  * TODO: Unit test