@promptbook/remote-client 0.103.0-3 → 0.103.0-30

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 (89) hide show
  1. package/README.md +6 -207
  2. package/esm/index.es.js +61 -4
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/browser.index.d.ts +6 -0
  5. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  6. package/esm/typings/src/_packages/components.index.d.ts +12 -8
  7. package/esm/typings/src/_packages/core.index.d.ts +10 -0
  8. package/esm/typings/src/_packages/types.index.d.ts +10 -0
  9. package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
  10. package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
  11. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +76 -15
  12. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
  13. package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
  14. package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
  15. package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
  16. package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
  17. package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
  18. package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
  19. package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
  20. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
  21. package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +4 -1
  22. package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
  23. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  24. package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
  25. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
  26. package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
  27. package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
  28. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
  29. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  30. package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
  31. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  32. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  33. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  34. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  35. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  36. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  37. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  38. package/esm/typings/src/cli/cli-commands/start-server.d.ts +3 -1
  39. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  40. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  41. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  42. package/esm/typings/src/config.d.ts +14 -1
  43. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  44. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  45. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  46. package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -0
  47. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  48. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  49. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  50. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  51. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  52. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  53. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  54. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  55. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  56. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  57. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  58. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  59. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  60. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  61. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  62. package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +19 -0
  63. package/esm/typings/src/transpilers/_common/BookTranspilerDefinition.d.ts +37 -0
  64. package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +19 -0
  65. package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
  66. package/esm/typings/src/transpilers/langchain/LangchainTranspiler.d.ts +7 -0
  67. package/esm/typings/src/transpilers/langchain/register.d.ts +15 -0
  68. package/esm/typings/src/transpilers/openai/OpenAiSdkTranspiler.d.ts +13 -0
  69. package/esm/typings/src/transpilers/openai/register.d.ts +15 -0
  70. package/esm/typings/src/types/typeAliases.d.ts +1 -1
  71. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  72. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  73. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  74. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  75. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  76. package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +21 -0
  77. package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
  78. package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
  79. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  80. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  81. package/esm/typings/src/version.d.ts +1 -1
  82. package/package.json +4 -4
  83. package/umd/index.umd.js +61 -4
  84. package/umd/index.umd.js.map +1 -1
  85. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
  86. package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -6
  87. package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
  88. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
  89. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.test.d.ts +0 -1
package/README.md CHANGED
@@ -69,7 +69,6 @@ The main challenge is to narrow it down, constrain it, set the proper **context,
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
71
 
72
-
73
72
  <img
74
73
  alt="Paul Smith & Associés Book"
75
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"
@@ -88,7 +87,6 @@ You can look at it as prompting (or writing a system message), but decorated by
88
87
  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.
89
88
 
90
89
 
91
-
92
90
  <img
93
91
  alt="Paul Smith & Associés Book"
94
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"
@@ -103,7 +101,6 @@ This can include domain-specific knowledge, company policies, or any other relev
103
101
  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.
104
102
 
105
103
 
106
-
107
104
  <img
108
105
  alt="Paul Smith & Associés Book"
109
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"
@@ -116,7 +113,6 @@ Rules will enforce specific behaviors or constraints on the AI's responses. This
116
113
  Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
117
114
 
118
115
 
119
-
120
116
  <img
121
117
  alt="Paul Smith & Associés Book"
122
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"
@@ -127,7 +123,6 @@ Depending on rule strictness, Promptbook will either propagate it to the prompt
127
123
  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.
128
124
 
129
125
 
130
-
131
126
  <img
132
127
  alt="Paul Smith & Associés Book"
133
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"
@@ -178,10 +173,14 @@ Now you want to use it. There are several ways how to write your first book:
178
173
 
179
174
  We have written ai asistant in book who can help you with writing your first book.
180
175
 
176
+
177
+
181
178
  #### Your AI twin
182
179
 
183
180
  Copy your own behavior, personality, and knowledge into book and create your AI twin. It can help you with your work, personal life, or any other task.
184
181
 
182
+
183
+
185
184
  #### AI persona workpool
186
185
 
187
186
  Or you can pick from our library of pre-written books for various roles and tasks. You can find books for customer support, coding, marketing, sales, HR, legal, and many other roles.
@@ -299,209 +298,7 @@ Join our growing community of developers and users:
299
298
 
300
299
 
301
300
 
302
- ## 📘 Book Language Blueprint
303
-
304
- <blockquote style="color:#FFE600">
305
- ⚠ This file is a work in progress and may be incomplete or inaccurate.
306
- </blockquote>
307
-
308
- ---
309
-
310
- Book is a simple format do define AI apps and agents. It is the source code the soul of AI apps and agents.. It's purpose is to avoid ambiguous UIs with multiple fields and low-level ways like programming in langchain.
311
-
312
- Book is defined in file with `.book` extension
313
-
314
- ### Examples
315
-
316
-
317
-
318
- <img
319
- alt="Write an article about {topic} Book"
320
- src="https://promptbook.studio/embed/book-preview.png?book=Write%20an%20article%20about%20%7Btopic%7D%0A%20%20%20%20%20%20%7C%20PERSONA%20Jane%2C%20marketing%20specialist%20with%20prior%20experience%20in%20tech%20and%20AI%20writing%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20https%3A%2F%2Fwikipedia.org%2F%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20.%2Fjournalist-ethics.pdf%0A%20%20%20%20%20%20%7C%20EXPECT%201%20Sentence%20-%205%20Pages%0A%20%20%20%20%20%20%7C%20RESULT%20%7Barticle%7D&width=800&height=450&nonce=0"
321
- />
322
-
323
- ---
324
-
325
-
326
-
327
- <img
328
- alt="Make post on LinkedIn based on @Input. Book"
329
- src="https://promptbook.studio/embed/book-preview.png?book=Make%20post%20on%20LinkedIn%20based%20on%20%40Input.%0A%20%20%20%20%20%20%7C%20PERSONA%20%40Jane%2C%20an%20experienced%20copywriter%20and%20HR%20expert%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20cetin.cz%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20linkedin.com%2Fcompany%2Fcetin%2F&width=800&height=450&nonce=0"
330
- />
331
-
332
- ---
333
-
334
-
335
-
336
- <img
337
- alt="Odpověz na Email Book"
338
- src="https://promptbook.studio/embed/book-preview.png?book=Odpov%C4%9Bz%20na%20Email%0A%20%20%20%20%20%20%7C%20%7BEmail%20content%7D%0A%20%20%20%20%20%20%7C%20PERSONA%20%40Pavol%20-%20pavolhejny.com%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20.%2Finstructions.pdf%0A%20%20%20%20%20%20%7C%20STYLE%20Professional%20tone%20of%20voice&width=800&height=450&nonce=0"
339
- />
340
-
341
- ---
342
-
343
-
344
-
345
- <img
346
- alt="Analyzuj {Případ}. Book"
347
- src="https://promptbook.studio/embed/book-preview.png?book=Analyzuj%20%7BP%C5%99%C3%ADpad%7D.%0A%20%20%20%20%20%20%7C%20%7BDetaily%7D%0A%20%20%20%20%20%20%7C%20PERSONA%20%40Ji%C5%99%C3%AD%2C%20pr%C3%A1vn%C3%ADk%2C%20kter%C3%BD%20nikdy%20neode%C5%A1le%20informace%20o%20klientech%20mimo%20EU%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20%7B89%2F2012%20Sb.%20Ob%C4%8Dansk%C3%BD%20z%C3%A1kon%C3%ADk%7D&width=800&height=450&nonce=0"
348
- />
349
-
350
- iframe:
351
-
352
- <iframe frameborder="0" style="width:100%;height:455px;" src="https://viewer.diagrams.net/?tags=%7B%7D&lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=#R%3Cmxfile%20scale%3D%221%22%20border%3D%220%22%20disableSvgWarning%3D%22true%22%20linkTarget%3D%22_blank%22%3E%3Cdiagram%20name%3D%22Page-1%22%20id%3D%22zo4WBBcyATChdUDADUly%22%3E7ZxtU%2BM2EMc%2FjWfaF2b8kMTwEkKOu%2Fa468BM77ViK4mKLLmy8nSfvitbihPiNEAaIHTfYHm1luzVT7vG%2F5l4cT9f3ChSTG5lRrkXBdnCi6%2B9KAo7YQ8OxrK0liBKastYsczaGsM9%2B0mdo7VOWUbLDUctJdes2DSmUgia6g0bUUrON91Gkm%2FOWpCxnTFoDPcp4XTL7QfL9KS2nnfXvD9TNp64mcPA9uTEOVtDOSGZnK%2BZ4oEX95WUum7liz7lJnouLvV1n3b0rm5MUaGfcoFdiRnhU%2Ftsf1KlGTwqWPtSaMIEVfZe9dIFoJyznBMBZ1fzCdP0viCp6ZrDgoNtonMOZyE07fgwKF3svMdw9eTADJU51WoJLvYCP7qw0bK8JPZ03sQ%2B7lnbZC3ukQs7ses9Xo3dhAQaNirtEbrYipAX9TjMcFUWRDSOvb%2BnZtGuMpmWPhOaKkG4b0j1R2EcdbNO6iej0cgfhufQGiaJnw7PaXIRJT2adpsBoDW2x2qaYiP0zovDuvjuYS%2FDs%2FgcjDlRYyZ8LQtjiwrd2IZSa5k35vX5goypzcG12n0%2F9rG3b2kEuPhltVkvwWE1UVB1jEjO%2BLLugmtIbkCxV95JuD0JHbdSyMedXtQ3Owd6ypqyq2pnc6nqwdR4%2BEtQO7nDr7XTkKQPYyWnIvPX%2FLUionT0rW5vRhQjcBTTnCqW1q5Cqhx2wrYXJaX2SQntPY6EVyBok63%2B1bGQJdNM7huP5vIvtu0zs5sW5mNjO8aQlNRQUntU29SvImiCwUlR2nUqFC2pmtFHUNSLfkseqPGRpYaDNAv%2FlYkHmn0RdorM2R0fsKFqRN4%2FNhe1Uxh060YUJi9AZ%2B52IRgSYBCh2gOV1wm%2BiGKqT5AYTDRHYuJsDwxgLl5WGTtRGHW3imOntTgGH7A2ht34YGgxxT0T5z8Gd%2Fffv11iWURmnlMWfzP%2FU50eMFgVj4VEFdBqwemigMhQkVZv3KkslnMFY6qq35g%2B3zmvfS9WB9TSoLddSwMspZgWj7cHfv%2F2%2FcfXwfXN4DSLKebGI3GRUs3EWfoTkx0muw8D9TGSXYjJ7uS54NVHV5PvIN9En%2BAvrP7StEwWNGLG87NgxmbI1P%2BYKbfoQ9VCyw6IWpjZcn6kFWq6MPY1TdA%2ByDWnI9PjHvDSmnOWZXyXtFgtOTWSW7CabI%2B62GtXF62Y2HmimBg64yFiohOw37XeGjod20bIf2qI%2FhO9NQxRcH3%2FL4eYlFFwxS%2FLpwIVCq7IBAqur4Usfjh5A5xRcEVmUHDFqoiCK5ZSTIsH7QEUXJGLNi5QcMVk9%2BGgRsEVuWjjAgVXZAoFV%2B9FgmsYtOuLb6K4RieouK504tdRXGNUXN%2F%2F2yFmZVRc8dPyqUCFiisygYrrayGLX07eAGdUXJEZVFyxKqLiiqUU0%2BJBewAVV%2BSijQtUXDHZfTioUXFFLtq4QMUVmULF1XuZ4hq9meIKp83PFVd9N82vPseDfwA%3D%3C%2Fdiagram%3E%3C%2Fmxfile%3E"></iframe>
353
-
354
- books.svg
355
-
356
- ![Books](./books/diagram/books.svg)
357
-
358
- books.png
359
-
360
- ![Books](./books/diagram/books.png)
361
-
362
- ### Basic Commitments:
363
-
364
- Book is composed of commitments, which are the building blocks of the book. Each commitment defines a specific task or action to be performed by the AI agent. The commitments are defined in a structured format, allowing for easy parsing and execution.
365
-
366
- #### `PERSONA`
367
-
368
- defines basic contour of
369
-
370
- > PERSONA @Joe Average man with
371
-
372
- also the PERSONA is
373
-
374
- Describes
375
-
376
- #### `RULE` or `RULES`
377
-
378
- defines
379
-
380
- #### `STYLE`
381
-
382
- xxx
383
301
 
384
- #### `SAMPLE`
385
-
386
- xxx
387
-
388
- #### `KNOWLEDGE`
389
-
390
- xxx
391
-
392
- #### `EXPECT`
393
-
394
- xxx
395
-
396
- #### `FORMAT`
397
-
398
- xxx
399
-
400
- #### `JOKER`
401
-
402
- xxx
403
-
404
- #### `MODEL`
405
-
406
- xxx
407
-
408
- #### `ACTION`
409
-
410
- xxx
411
-
412
- #### `META`
413
-
414
- ### Names
415
-
416
- each commitment is
417
-
418
- `PERSONA`
419
-
420
- Variable names
421
-
422
- ### Types
423
-
424
- ### Miscellaneous aspects of Book language
425
-
426
- #### Named vs Anonymous commitments
427
-
428
- #### Single line vs multiline
429
-
430
- #### Bookish vs Non-bookish definitions
431
-
432
- ---
433
-
434
- ## **\_\_\_\_**
435
-
436
- Great context and prompt can make or break you AI app. In last few years we have came from simple one-shot prompts. When you want to add conplexity you have finetunned the model or add better orchestration. But with really large large language models the context seems to be a king.
437
-
438
- The Book is the language to describe and define your AI app. Its like a shem for a Golem, book is the shem and model is the golem.
439
-
440
-
441
-
442
- <img
443
- alt="Franz Kafka Book"
444
- src="https://promptbook.studio/embed/book-preview.png?book=Franz%20Kafka%0A%20%20%20%20%20%20%7C%20PERSONA%20Franz%20Kafka%2C%20a%20writer%20who%20is%20interested%20in%20the%20human%20condition%20and%20the%20absurdity%20of%20life%2C%20speaks%20German%20and%20Czech%20and%20English%0A%20%20%20%20%20%20%7C%20STYLE%20%7Bkafka.com%2Fthe-castle%7D%0A%20%20%20%20%20%20%7C%20STYLE%20%7Bkafka.com%2Fthe-trial.pdf%7D%0A%20%20%20%20%20%20%7C%20STYLE%20%7Bkafka.com%2Fmetamorphosis.docx%7D%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20Franz%20Kafka%20has%20a%20deep%20understanding%20of%20existentialism%2C%20surrealism%2C%20and%20the%20human%20psyche%0A%20%20%20%20%20%20%7C%20GOAL%20Write%20a%20short%20story%20that%20explores%20the%20themes%20of%20alienation%2C%20bureaucracy%2C%20and%20the%20absurd%0A%20%20%20%20%20%20%7C%20ACTION%20%7Bmcp&width=800&height=450&nonce=0"
445
- />
446
-
447
- ## Who, what and how?
448
-
449
- To write a good prompt and the book you will be answering 3 main questions
450
-
451
- - **Who** is working on the task, is it a team or an individual? What is the role of the person in the team? What is the background of the person? What is the motivation of the person to work on this task?
452
- You rather want `Paul, an typescript developer who prefers SOLID code` not `gemini-2`
453
- - **What**
454
- - **How**
455
-
456
- each commitment (described bellow) is connected with one of theese 3 questions.
457
-
458
- ### Commitments
459
-
460
- Commitment is one piece of book, you can imagine it as one paragraph of book.
461
-
462
- Each commitment starts in a new line with commitment name, its usually in UPPERCASE and follows a contents of that commitment. Contents of the commithemt is defined in natural language.
463
-
464
- Commitments are chained one after another, in general commitments which are written later are more important and redefines things defined earlier.
465
-
466
- Each commitment falls into one or more of cathegory who, what or how
467
-
468
- Here are some basic commintemts:
469
-
470
- - `PERSONA` tells **who** is working on the task
471
- - `KNOWLEDGE` describes **what** knowledge the person has
472
- - `GOAL` describes **what** is the goal of the task
473
- - `ACTION` describes **what** actions can be done
474
- - `RULE` describes **what** rules should be followed
475
- - `STYLE` describes **how** the output should be presented
476
-
477
- ### Variables and references
478
-
479
- When the prompt should be to be useful it should have some fixed static part and some variable dynamic part
480
-
481
-
482
-
483
- <img
484
- alt="Untitled Book"
485
- src="https://promptbook.studio/embed/book-preview.png?book=&width=800&height=450&nonce=0"
486
- />
487
-
488
- ### Imports
489
-
490
- ### Layering
491
-
492
- ### Book defined in book
493
-
494
- ###
495
-
496
- Book vs:
497
-
498
- - Why just dont pick the right model
499
- - Orchestration frameworks - Langchain, Google Agent ..., Semantic Kernel,...
500
- - Finetunning
501
- - Temperature, top_t, top_k,... etc.
502
- - System message
503
- - MCP server
504
- - function calling
505
302
 
506
303
 
507
304
 
@@ -581,6 +378,8 @@ The following glossary is used to clarify certain concepts:
581
378
 
582
379
  _Note: This section is not a complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
583
380
 
381
+
382
+
584
383
  ### 💯 Core concepts
585
384
 
586
385
  - [📚 Collection of pipelines](https://github.com/webgptorg/promptbook/discussions/65)
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-3';
23
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-30';
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
@@ -1218,15 +1218,30 @@ const ADMIN_GITHUB_NAME = 'hejny';
1218
1218
  * @public exported from `@promptbook/core`
1219
1219
  */
1220
1220
  const PROMPTBOOK_COLOR = Color.fromHex('#79EAFD');
1221
- // <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
1221
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1222
1222
  /**
1223
- * Dark color of the Promptbook
1223
+ * Colors for syntax highlighting in the `<BookEditor/>`
1224
+ *
1225
+ * TODO: [🗽] Unite branding and make single place for it
1226
+ *
1227
+ * @public exported from `@promptbook/core`
1228
+ */
1229
+ ({
1230
+ TITLE: Color.fromHex('#244EA8'),
1231
+ LINE: Color.fromHex('#eeeeee'),
1232
+ COMMITMENT: Color.fromHex('#DA0F78'),
1233
+ PARAMETER: Color.fromHex('#8e44ad'),
1234
+ });
1235
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1236
+ /**
1237
+ * Chat color of the Promptbook (in chat)
1224
1238
  *
1225
1239
  * TODO: [🗽] Unite branding and make single place for it
1226
1240
  *
1227
1241
  * @public exported from `@promptbook/core`
1228
1242
  */
1229
1243
  PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
1244
+ // <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
1230
1245
  /**
1231
1246
  * Color of the user (in chat)
1232
1247
  *
@@ -1235,6 +1250,7 @@ PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
1235
1250
  * @public exported from `@promptbook/core`
1236
1251
  */
1237
1252
  Color.fromHex('#1D4ED8');
1253
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1238
1254
  /**
1239
1255
  * When the title is not provided, the default title is used
1240
1256
  *
@@ -5560,6 +5576,46 @@ function validatePipelineString(pipelineString) {
5560
5576
  const SUPPORTED_SCRIPT_LANGUAGES = ['javascript', 'typescript', 'python'];
5561
5577
  // <- TODO: [🏥] DRY
5562
5578
 
5579
+ /**
5580
+ * Number of padding lines to add at the end of the book content
5581
+ *
5582
+ * @public exported from `@promptbook/core`
5583
+ */
5584
+ const PADDING_LINES = 11;
5585
+ /**
5586
+ * A function that adds padding to the book content
5587
+ *
5588
+ * @public exported from `@promptbook/core`
5589
+ */
5590
+ function padBook(content) {
5591
+ if (!content) {
5592
+ return '\n'.repeat(PADDING_LINES);
5593
+ }
5594
+ const lines = content.split('\n');
5595
+ let trailingEmptyLines = 0;
5596
+ for (let i = lines.length - 1; i >= 0; i--) {
5597
+ const line = lines[i];
5598
+ if (line === undefined) {
5599
+ // Note: This should not happen in reality, but it's here to satisfy TypeScript's noUncheckedIndexedAccess option
5600
+ continue;
5601
+ }
5602
+ if (line.trim() === '') {
5603
+ trailingEmptyLines++;
5604
+ }
5605
+ else {
5606
+ break;
5607
+ }
5608
+ }
5609
+ if (trailingEmptyLines >= PADDING_LINES) {
5610
+ return content;
5611
+ }
5612
+ const linesToAdd = PADDING_LINES - trailingEmptyLines;
5613
+ return (content + '\n'.repeat(linesToAdd));
5614
+ }
5615
+ /**
5616
+ * TODO: [🧠] Maybe export
5617
+ */
5618
+
5563
5619
  /**
5564
5620
  * Removes Markdown (or HTML) comments
5565
5621
  *
@@ -5605,6 +5661,7 @@ function deflatePipeline(pipelineString) {
5605
5661
  if (!isFlatPipeline(pipelineString)) {
5606
5662
  return pipelineString;
5607
5663
  }
5664
+ pipelineString = spaceTrim$1(pipelineString);
5608
5665
  const pipelineStringLines = pipelineString.split('\n');
5609
5666
  const potentialReturnStatement = pipelineStringLines.pop();
5610
5667
  let returnStatement;
@@ -5639,7 +5696,7 @@ function deflatePipeline(pipelineString) {
5639
5696
  ${returnStatement}
5640
5697
  `));
5641
5698
  // <- TODO: Maybe use book` notation
5642
- return pipelineString;
5699
+ return padBook(pipelineString);
5643
5700
  }
5644
5701
  /**
5645
5702
  * TODO: Unit test