@promptbook/editable 0.103.0-2 → 0.103.0-20
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.
- package/README.md +6 -207
- package/esm/index.es.js +61 -4
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/browser.index.d.ts +6 -0
- package/esm/typings/src/_packages/components.index.d.ts +2 -0
- package/esm/typings/src/_packages/core.index.d.ts +6 -0
- package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +5 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfileTooltip.d.ts +15 -0
- package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +66 -8
- package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +11 -0
- package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
- package/esm/typings/src/book-components/BookEditor/config.d.ts +1 -0
- package/esm/typings/src/book-components/Chat/types/ChatParticipant.d.ts +5 -0
- package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
- package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +13 -0
- package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
- package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
- package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/about.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/start-server.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
- package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
- package/esm/typings/src/config.d.ts +14 -1
- package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
- package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
- package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
- package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
- package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
- package/esm/typings/src/types/typeAliases.d.ts +1 -1
- package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
- package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
- package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
- package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
- package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
- package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
- package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
- package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +61 -4
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
package/README.md
CHANGED
|
@@ -71,7 +71,6 @@ The main challenge is to narrow it down, constrain it, set the proper **context,
|
|
|
71
71
|
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.
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
|
|
75
74
|
<img
|
|
76
75
|
alt="Paul Smith & Associés Book"
|
|
77
76
|
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"
|
|
@@ -90,7 +89,6 @@ You can look at it as prompting (or writing a system message), but decorated by
|
|
|
90
89
|
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.
|
|
91
90
|
|
|
92
91
|
|
|
93
|
-
|
|
94
92
|
<img
|
|
95
93
|
alt="Paul Smith & Associés Book"
|
|
96
94
|
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"
|
|
@@ -105,7 +103,6 @@ This can include domain-specific knowledge, company policies, or any other relev
|
|
|
105
103
|
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.
|
|
106
104
|
|
|
107
105
|
|
|
108
|
-
|
|
109
106
|
<img
|
|
110
107
|
alt="Paul Smith & Associés Book"
|
|
111
108
|
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"
|
|
@@ -118,7 +115,6 @@ Rules will enforce specific behaviors or constraints on the AI's responses. This
|
|
|
118
115
|
Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
|
|
119
116
|
|
|
120
117
|
|
|
121
|
-
|
|
122
118
|
<img
|
|
123
119
|
alt="Paul Smith & Associés Book"
|
|
124
120
|
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"
|
|
@@ -129,7 +125,6 @@ Depending on rule strictness, Promptbook will either propagate it to the prompt
|
|
|
129
125
|
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.
|
|
130
126
|
|
|
131
127
|
|
|
132
|
-
|
|
133
128
|
<img
|
|
134
129
|
alt="Paul Smith & Associés Book"
|
|
135
130
|
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"
|
|
@@ -180,10 +175,14 @@ Now you want to use it. There are several ways how to write your first book:
|
|
|
180
175
|
|
|
181
176
|
We have written ai asistant in book who can help you with writing your first book.
|
|
182
177
|
|
|
178
|
+
|
|
179
|
+
|
|
183
180
|
#### Your AI twin
|
|
184
181
|
|
|
185
182
|
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.
|
|
186
183
|
|
|
184
|
+
|
|
185
|
+
|
|
187
186
|
#### AI persona workpool
|
|
188
187
|
|
|
189
188
|
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.
|
|
@@ -301,209 +300,7 @@ Join our growing community of developers and users:
|
|
|
301
300
|
|
|
302
301
|
|
|
303
302
|
|
|
304
|
-
## 📘 Book Language Blueprint
|
|
305
|
-
|
|
306
|
-
<blockquote style="color:#FFE600">
|
|
307
|
-
⚠ This file is a work in progress and may be incomplete or inaccurate.
|
|
308
|
-
</blockquote>
|
|
309
|
-
|
|
310
|
-
---
|
|
311
|
-
|
|
312
|
-
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.
|
|
313
|
-
|
|
314
|
-
Book is defined in file with `.book` extension
|
|
315
|
-
|
|
316
|
-
### Examples
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
<img
|
|
321
|
-
alt="Write an article about {topic} Book"
|
|
322
|
-
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"
|
|
323
|
-
/>
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
<img
|
|
330
|
-
alt="Make post on LinkedIn based on @Input. Book"
|
|
331
|
-
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"
|
|
332
|
-
/>
|
|
333
|
-
|
|
334
|
-
---
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
<img
|
|
339
|
-
alt="Odpověz na Email Book"
|
|
340
|
-
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"
|
|
341
|
-
/>
|
|
342
|
-
|
|
343
|
-
---
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
<img
|
|
348
|
-
alt="Analyzuj {Případ}. Book"
|
|
349
|
-
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"
|
|
350
|
-
/>
|
|
351
|
-
|
|
352
|
-
iframe:
|
|
353
|
-
|
|
354
|
-
<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>
|
|
355
|
-
|
|
356
|
-
books.svg
|
|
357
|
-
|
|
358
|
-

|
|
359
|
-
|
|
360
|
-
books.png
|
|
361
|
-
|
|
362
|
-

|
|
363
|
-
|
|
364
|
-
### Basic Commitments:
|
|
365
|
-
|
|
366
|
-
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.
|
|
367
|
-
|
|
368
|
-
#### `PERSONA`
|
|
369
|
-
|
|
370
|
-
defines basic contour of
|
|
371
|
-
|
|
372
|
-
> PERSONA @Joe Average man with
|
|
373
|
-
|
|
374
|
-
also the PERSONA is
|
|
375
|
-
|
|
376
|
-
Describes
|
|
377
|
-
|
|
378
|
-
#### `RULE` or `RULES`
|
|
379
|
-
|
|
380
|
-
defines
|
|
381
|
-
|
|
382
|
-
#### `STYLE`
|
|
383
|
-
|
|
384
|
-
xxx
|
|
385
303
|
|
|
386
|
-
#### `SAMPLE`
|
|
387
|
-
|
|
388
|
-
xxx
|
|
389
|
-
|
|
390
|
-
#### `KNOWLEDGE`
|
|
391
|
-
|
|
392
|
-
xxx
|
|
393
|
-
|
|
394
|
-
#### `EXPECT`
|
|
395
|
-
|
|
396
|
-
xxx
|
|
397
|
-
|
|
398
|
-
#### `FORMAT`
|
|
399
|
-
|
|
400
|
-
xxx
|
|
401
|
-
|
|
402
|
-
#### `JOKER`
|
|
403
|
-
|
|
404
|
-
xxx
|
|
405
|
-
|
|
406
|
-
#### `MODEL`
|
|
407
|
-
|
|
408
|
-
xxx
|
|
409
|
-
|
|
410
|
-
#### `ACTION`
|
|
411
|
-
|
|
412
|
-
xxx
|
|
413
|
-
|
|
414
|
-
#### `META`
|
|
415
|
-
|
|
416
|
-
### Names
|
|
417
|
-
|
|
418
|
-
each commitment is
|
|
419
|
-
|
|
420
|
-
`PERSONA`
|
|
421
|
-
|
|
422
|
-
Variable names
|
|
423
|
-
|
|
424
|
-
### Types
|
|
425
|
-
|
|
426
|
-
### Miscellaneous aspects of Book language
|
|
427
|
-
|
|
428
|
-
#### Named vs Anonymous commitments
|
|
429
|
-
|
|
430
|
-
#### Single line vs multiline
|
|
431
|
-
|
|
432
|
-
#### Bookish vs Non-bookish definitions
|
|
433
|
-
|
|
434
|
-
---
|
|
435
|
-
|
|
436
|
-
## **\_\_\_\_**
|
|
437
|
-
|
|
438
|
-
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.
|
|
439
|
-
|
|
440
|
-
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.
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
<img
|
|
445
|
-
alt="Franz Kafka Book"
|
|
446
|
-
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"
|
|
447
|
-
/>
|
|
448
|
-
|
|
449
|
-
## Who, what and how?
|
|
450
|
-
|
|
451
|
-
To write a good prompt and the book you will be answering 3 main questions
|
|
452
|
-
|
|
453
|
-
- **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?
|
|
454
|
-
You rather want `Paul, an typescript developer who prefers SOLID code` not `gemini-2`
|
|
455
|
-
- **What**
|
|
456
|
-
- **How**
|
|
457
|
-
|
|
458
|
-
each commitment (described bellow) is connected with one of theese 3 questions.
|
|
459
|
-
|
|
460
|
-
### Commitments
|
|
461
|
-
|
|
462
|
-
Commitment is one piece of book, you can imagine it as one paragraph of book.
|
|
463
|
-
|
|
464
|
-
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.
|
|
465
|
-
|
|
466
|
-
Commitments are chained one after another, in general commitments which are written later are more important and redefines things defined earlier.
|
|
467
|
-
|
|
468
|
-
Each commitment falls into one or more of cathegory who, what or how
|
|
469
|
-
|
|
470
|
-
Here are some basic commintemts:
|
|
471
|
-
|
|
472
|
-
- `PERSONA` tells **who** is working on the task
|
|
473
|
-
- `KNOWLEDGE` describes **what** knowledge the person has
|
|
474
|
-
- `GOAL` describes **what** is the goal of the task
|
|
475
|
-
- `ACTION` describes **what** actions can be done
|
|
476
|
-
- `RULE` describes **what** rules should be followed
|
|
477
|
-
- `STYLE` describes **how** the output should be presented
|
|
478
|
-
|
|
479
|
-
### Variables and references
|
|
480
|
-
|
|
481
|
-
When the prompt should be to be useful it should have some fixed static part and some variable dynamic part
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
<img
|
|
486
|
-
alt="Untitled Book"
|
|
487
|
-
src="https://promptbook.studio/embed/book-preview.png?book=&width=800&height=450&nonce=0"
|
|
488
|
-
/>
|
|
489
|
-
|
|
490
|
-
### Imports
|
|
491
|
-
|
|
492
|
-
### Layering
|
|
493
|
-
|
|
494
|
-
### Book defined in book
|
|
495
|
-
|
|
496
|
-
###
|
|
497
|
-
|
|
498
|
-
Book vs:
|
|
499
|
-
|
|
500
|
-
- Why just dont pick the right model
|
|
501
|
-
- Orchestration frameworks - Langchain, Google Agent ..., Semantic Kernel,...
|
|
502
|
-
- Finetunning
|
|
503
|
-
- Temperature, top_t, top_k,... etc.
|
|
504
|
-
- System message
|
|
505
|
-
- MCP server
|
|
506
|
-
- function calling
|
|
507
304
|
|
|
508
305
|
|
|
509
306
|
|
|
@@ -583,6 +380,8 @@ The following glossary is used to clarify certain concepts:
|
|
|
583
380
|
|
|
584
381
|
_Note: This section is not a complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
|
|
585
382
|
|
|
383
|
+
|
|
384
|
+
|
|
586
385
|
### 💯 Core concepts
|
|
587
386
|
|
|
588
387
|
- [📚 Collection of pipelines](https://github.com/webgptorg/promptbook/discussions/65)
|
package/esm/index.es.js
CHANGED
|
@@ -17,7 +17,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
|
|
|
17
17
|
* @generated
|
|
18
18
|
* @see https://github.com/webgptorg/promptbook
|
|
19
19
|
*/
|
|
20
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.103.0-
|
|
20
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.103.0-20';
|
|
21
21
|
/**
|
|
22
22
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
23
23
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -961,15 +961,30 @@ const ADMIN_GITHUB_NAME = 'hejny';
|
|
|
961
961
|
* @public exported from `@promptbook/core`
|
|
962
962
|
*/
|
|
963
963
|
const PROMPTBOOK_COLOR = Color.fromHex('#79EAFD');
|
|
964
|
-
// <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
964
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
965
965
|
/**
|
|
966
|
-
*
|
|
966
|
+
* Colors for syntax highlighting in the `<BookEditor/>`
|
|
967
|
+
*
|
|
968
|
+
* TODO: [🗽] Unite branding and make single place for it
|
|
969
|
+
*
|
|
970
|
+
* @public exported from `@promptbook/core`
|
|
971
|
+
*/
|
|
972
|
+
({
|
|
973
|
+
TITLE: Color.fromHex('#244EA8'),
|
|
974
|
+
LINE: Color.fromHex('#eeeeee'),
|
|
975
|
+
COMMITMENT: Color.fromHex('#DA0F78'),
|
|
976
|
+
PARAMETER: Color.fromHex('#8e44ad'),
|
|
977
|
+
});
|
|
978
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
979
|
+
/**
|
|
980
|
+
* Chat color of the Promptbook (in chat)
|
|
967
981
|
*
|
|
968
982
|
* TODO: [🗽] Unite branding and make single place for it
|
|
969
983
|
*
|
|
970
984
|
* @public exported from `@promptbook/core`
|
|
971
985
|
*/
|
|
972
986
|
PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
|
|
987
|
+
// <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
|
|
973
988
|
/**
|
|
974
989
|
* Color of the user (in chat)
|
|
975
990
|
*
|
|
@@ -978,6 +993,7 @@ PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
|
|
|
978
993
|
* @public exported from `@promptbook/core`
|
|
979
994
|
*/
|
|
980
995
|
Color.fromHex('#1D4ED8');
|
|
996
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
981
997
|
/**
|
|
982
998
|
* When the title is not provided, the default title is used
|
|
983
999
|
*
|
|
@@ -4882,6 +4898,46 @@ function parseCommandVariant(input) {
|
|
|
4882
4898
|
return null;
|
|
4883
4899
|
}
|
|
4884
4900
|
|
|
4901
|
+
/**
|
|
4902
|
+
* Number of padding lines to add at the end of the book content
|
|
4903
|
+
*
|
|
4904
|
+
* @public exported from `@promptbook/core`
|
|
4905
|
+
*/
|
|
4906
|
+
const PADDING_LINES = 11;
|
|
4907
|
+
/**
|
|
4908
|
+
* A function that adds padding to the book content
|
|
4909
|
+
*
|
|
4910
|
+
* @public exported from `@promptbook/core`
|
|
4911
|
+
*/
|
|
4912
|
+
function padBook(content) {
|
|
4913
|
+
if (!content) {
|
|
4914
|
+
return '\n'.repeat(PADDING_LINES);
|
|
4915
|
+
}
|
|
4916
|
+
const lines = content.split('\n');
|
|
4917
|
+
let trailingEmptyLines = 0;
|
|
4918
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
4919
|
+
const line = lines[i];
|
|
4920
|
+
if (line === undefined) {
|
|
4921
|
+
// Note: This should not happen in reality, but it's here to satisfy TypeScript's noUncheckedIndexedAccess option
|
|
4922
|
+
continue;
|
|
4923
|
+
}
|
|
4924
|
+
if (line.trim() === '') {
|
|
4925
|
+
trailingEmptyLines++;
|
|
4926
|
+
}
|
|
4927
|
+
else {
|
|
4928
|
+
break;
|
|
4929
|
+
}
|
|
4930
|
+
}
|
|
4931
|
+
if (trailingEmptyLines >= PADDING_LINES) {
|
|
4932
|
+
return content;
|
|
4933
|
+
}
|
|
4934
|
+
const linesToAdd = PADDING_LINES - trailingEmptyLines;
|
|
4935
|
+
return (content + '\n'.repeat(linesToAdd));
|
|
4936
|
+
}
|
|
4937
|
+
/**
|
|
4938
|
+
* TODO: [🧠] Maybe export
|
|
4939
|
+
*/
|
|
4940
|
+
|
|
4885
4941
|
/**
|
|
4886
4942
|
* Checks if value is valid email
|
|
4887
4943
|
*
|
|
@@ -4971,6 +5027,7 @@ function deflatePipeline(pipelineString) {
|
|
|
4971
5027
|
if (!isFlatPipeline(pipelineString)) {
|
|
4972
5028
|
return pipelineString;
|
|
4973
5029
|
}
|
|
5030
|
+
pipelineString = spaceTrim(pipelineString);
|
|
4974
5031
|
const pipelineStringLines = pipelineString.split('\n');
|
|
4975
5032
|
const potentialReturnStatement = pipelineStringLines.pop();
|
|
4976
5033
|
let returnStatement;
|
|
@@ -5005,7 +5062,7 @@ function deflatePipeline(pipelineString) {
|
|
|
5005
5062
|
${returnStatement}
|
|
5006
5063
|
`));
|
|
5007
5064
|
// <- TODO: Maybe use book` notation
|
|
5008
|
-
return pipelineString;
|
|
5065
|
+
return padBook(pipelineString);
|
|
5009
5066
|
}
|
|
5010
5067
|
/**
|
|
5011
5068
|
* TODO: Unit test
|