@promptbook/javascript 0.103.0-1 → 0.103.0-3

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 CHANGED
@@ -106,19 +106,131 @@ Rest of the documentation is common for **entire promptbook ecosystem**:
106
106
 
107
107
 
108
108
 
109
- ## 🤍 The Book Abstract
109
+ ## 📖 The Book Whitepaper
110
110
 
111
- **It's time for a paradigm shift! The future of software is written in plain English, French, or Latin.**
111
+ For most business applications nowadays, the biggest challenge isn't about the raw capabilities of AI models. Large language models like GPT-5 or Claude-4.1 are extremely capable.
112
112
 
113
- During the computer revolution, we have seen [multiple generations of computer languages](https://github.com/webgptorg/promptbook/discussions/180), from the physical rewiring of the vacuum tubes through low-level machine code to the high-level languages like Python or JavaScript. And now, we're on the edge of the **next revolution**!
113
+ The main challenge is to narrow it down, constrain it, set the proper **context, rules, knowledge, and personality**. There are a lot of tools which can do exactly this. On one side, there are no-code platforms which can launch your agent in seconds. On the other side, there are heavy frameworks like Langchain or Semantic Kernel, which can give you deep control.
114
114
 
115
- It's a revolution of writing software in **plain human language** that is understandable and executable by both humans and machines and it's going to change everything!
115
+ 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.
116
116
 
117
- The incredible growth in power of microprocessors and the Moore's Law have been the driving force behind the ever-more powerful languages, and it's been an amazing journey! Similarly, the large language models (like GPT or Claude) are the next big thing in language technology, and they're set to transform the way we interact with computers.
118
117
 
119
- This shift will happen whether we're ready or not. Our mission is to make it excellent, not just good.
120
118
 
121
- **Join us in this journey!**
119
+ <img
120
+ alt="Paul Smith & Associés Book"
121
+ 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"
122
+ />
123
+
124
+ <div style="page-break-after: always;"></div>
125
+
126
+ ### Aspects of great AI agent
127
+
128
+ We have created a language called **Book**, which allows you to write AI agents in their native language and create your own AI persona. Book provides a guide to define all the traits and commitments.
129
+
130
+ You can look at it as prompting (or writing a system message), but decorated by **commitments**.
131
+
132
+ #### `Persona` commitment
133
+
134
+ 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.
135
+
136
+
137
+
138
+ <img
139
+ alt="Paul Smith & Associés Book"
140
+ 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"
141
+ />
142
+
143
+ #### `Knowledge` commitment
144
+
145
+ Knowledge Commitment allows you to provide specific information, facts, or context that the AI should be aware of when responding.
146
+
147
+ This can include domain-specific knowledge, company policies, or any other relevant information.
148
+
149
+ 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.
150
+
151
+
152
+
153
+ <img
154
+ alt="Paul Smith & Associés Book"
155
+ 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"
156
+ />
157
+
158
+ #### `Rule` commitment
159
+
160
+ Rules will enforce specific behaviors or constraints on the AI's responses. This can include ethical guidelines, communication styles, or any other rules you want the AI to follow.
161
+
162
+ Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
163
+
164
+
165
+
166
+ <img
167
+ alt="Paul Smith & Associés Book"
168
+ 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"
169
+ />
170
+
171
+ #### `Action` commitment
172
+
173
+ 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.
174
+
175
+
176
+
177
+ <img
178
+ alt="Paul Smith & Associés Book"
179
+ 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
+ />
181
+
182
+ [Read more about the language](./BLUEPRINT.md)
183
+
184
+ <div style="page-break-after: always;"></div>
185
+
186
+ ### Where to use your AI agent in book
187
+
188
+ Books can be useful in various applications and scenarios. Here are some examples:
189
+
190
+ #### Chat apps:
191
+
192
+ Create your own chat shopping assistant and place it in your eShop.
193
+ You will be able to answer customer questions, help them find products, and provide personalized recommendations. Everything is tightly controlled by the book you have written.
194
+
195
+ #### Reply Agent:
196
+
197
+ Create your own AI agent, which will look at your emails and reply to them. It can even create drafts for you to review before sending.
198
+
199
+ #### Coding Agent:
200
+
201
+ Do you love Vibecoding, but the AI code is not always aligned with your coding style and architecture, rules, security, etc.? Create your own coding agent to help enforce your specific coding standards and practices.
202
+
203
+ This can be integrated to almost any Vibecoding platform, like GitHub Copilot, Amazon CodeWhisperer, Cursor, Cline, Kilocode, Roocode,...
204
+
205
+ They will work the same as you are used to, but with your specific rules written in book.
206
+
207
+ #### Internal Expertise
208
+
209
+ Do you have an app written in TypeScript, Python, C#, Java, or any other language, and you are integrating the AI.
210
+
211
+ You can avoid struggle with choosing the best model, its settings like temperature, max tokens, etc., by writing a book agent and using it as your AI expertise.
212
+
213
+ Doesn't matter if you do automations, data analysis, customer support, sentiment analysis, classification, or any other task. Your AI agent will be tailored to your specific needs and requirements.
214
+
215
+ Even works in no-code platforms!
216
+
217
+ <div style="page-break-after: always;"></div>
218
+
219
+ ### How to create your AI agent in book
220
+
221
+ Now you want to use it. There are several ways how to write your first book:
222
+
223
+ #### From scratch with help from Paul
224
+
225
+ We have written ai asistant in book who can help you with writing your first book.
226
+
227
+ #### Your AI twin
228
+
229
+ 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.
230
+
231
+ #### AI persona workpool
232
+
233
+ 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.
122
234
 
123
235
 
124
236
 
@@ -235,78 +347,207 @@ Join our growing community of developers and users:
235
347
 
236
348
  ## 📘 Book Language Blueprint
237
349
 
238
- _A concise, Markdown-based DSL for crafting AI workflows and automations._
350
+ <blockquote style="color:#FFE600">
351
+ ⚠ This file is a work in progress and may be incomplete or inaccurate.
352
+ </blockquote>
239
353
 
240
- ### Introduction
354
+ ---
241
355
 
242
- Book is a Markdown-based language that simplifies the creation of AI applications, workflows, and automations. With human-readable commands, you can define inputs, outputs, personas, knowledge sources, and actions—without needing model-specific details.
356
+ 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.
243
357
 
244
- ### Example
358
+ Book is defined in file with `.book` extension
245
359
 
246
- ```book
247
- # 🌟 My First Book
360
+ ### Examples
248
361
 
249
- - BOOK VERSION 1.0.0
250
- - URL https://promptbook.studio/hello.book
251
- - INPUT PARAMETER {topic}
252
- - OUTPUT PARAMETER {article}
253
362
 
254
- # Write an Article
255
363
 
256
- - PERSONA Jane, marketing specialist with prior experience in tech and AI writing
257
- - KNOWLEDGE https://wikipedia.org/
258
- - KNOWLEDGE ./journalist-ethics.pdf
259
- - EXPECT MIN 1 Sentence
260
- - EXPECT MAX 5 Pages
364
+ <img
365
+ alt="Write an article about {topic} Book"
366
+ 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"
367
+ />
261
368
 
262
- > Write an article about {topic}
369
+ ---
263
370
 
264
- → {article}
265
- ```
266
371
 
267
- Each part of the book defines one of three circles:
268
372
 
269
- ### **1. What:** Workflows, Tasks and Parameters
373
+ <img
374
+ alt="Make post on LinkedIn based on @Input. Book"
375
+ 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"
376
+ />
377
+
378
+ ---
379
+
380
+
381
+
382
+ <img
383
+ alt="Odpověz na Email Book"
384
+ 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"
385
+ />
386
+
387
+ ---
388
+
389
+
390
+
391
+ <img
392
+ alt="Analyzuj {Případ}. Book"
393
+ 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"
394
+ />
395
+
396
+ iframe:
397
+
398
+ <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>
399
+
400
+ books.svg
401
+
402
+ ![Books](./books/diagram/books.svg)
403
+
404
+ books.png
405
+
406
+ ![Books](./books/diagram/books.png)
407
+
408
+ ### Basic Commitments:
409
+
410
+ 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.
411
+
412
+ #### `PERSONA`
413
+
414
+ defines basic contour of
415
+
416
+ > PERSONA @Joe Average man with
417
+
418
+ also the PERSONA is
419
+
420
+ Describes
421
+
422
+ #### `RULE` or `RULES`
423
+
424
+ defines
425
+
426
+ #### `STYLE`
427
+
428
+ xxx
429
+
430
+ #### `SAMPLE`
431
+
432
+ xxx
433
+
434
+ #### `KNOWLEDGE`
435
+
436
+ xxx
437
+
438
+ #### `EXPECT`
439
+
440
+ xxx
441
+
442
+ #### `FORMAT`
443
+
444
+ xxx
445
+
446
+ #### `JOKER`
447
+
448
+ xxx
449
+
450
+ #### `MODEL`
451
+
452
+ xxx
453
+
454
+ #### `ACTION`
455
+
456
+ xxx
457
+
458
+ #### `META`
459
+
460
+ ### Names
461
+
462
+ each commitment is
463
+
464
+ `PERSONA`
465
+
466
+ Variable names
467
+
468
+ ### Types
469
+
470
+ ### Miscellaneous aspects of Book language
471
+
472
+ #### Named vs Anonymous commitments
473
+
474
+ #### Single line vs multiline
475
+
476
+ #### Bookish vs Non-bookish definitions
477
+
478
+ ---
479
+
480
+ ## **\_\_\_\_**
481
+
482
+ 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.
483
+
484
+ 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.
485
+
486
+
487
+
488
+ <img
489
+ alt="Franz Kafka Book"
490
+ 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"
491
+ />
492
+
493
+ ## Who, what and how?
494
+
495
+ To write a good prompt and the book you will be answering 3 main questions
496
+
497
+ - **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?
498
+ You rather want `Paul, an typescript developer who prefers SOLID code` not `gemini-2`
499
+ - **What**
500
+ - **How**
270
501
 
271
- What work needs to be done. Each book defines a [workflow _(scenario or pipeline)_](https://github.com/webgptorg/promptbook/discussions/88), which is one or more tasks. Each workflow has a fixed input and output. For example, you have a book that generates an article from a topic. Once it generates an article about AI, once about marketing, once about cooking. The workflow (= your AI program) is the same, only the input and output change.
502
+ each commitment (described bellow) is connected with one of theese 3 questions.
272
503
 
273
- **Related commands:**
504
+ ### Commitments
274
505
 
275
- - [PARAMETER](https://github.com/webgptorg/promptbook/blob/main/documents/commands/PARAMETER.md)
506
+ Commitment is one piece of book, you can imagine it as one paragraph of book.
276
507
 
277
- ### **2. Who:** Personas
508
+ 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.
278
509
 
279
- Who does the work. Each task is performed by a persona. A persona is a description of your virtual employee. It is a higher abstraction than the model, tokens, temperature, top-k, top-p and other model parameters.
510
+ Commitments are chained one after another, in general commitments which are written later are more important and redefines things defined earlier.
280
511
 
281
- You can describe what you want in human language like `Jane, creative writer with a sense of sharp humour` instead of `gpt-4-2024-13-31, temperature 1.2, top-k 40, STOP token ".\n",...`.
512
+ Each commitment falls into one or more of cathegory who, what or how
282
513
 
283
- Personas can have access to different knowledge, tools and actions. They can also consult their work with other personas or user, if allowed.
514
+ Here are some basic commintemts:
284
515
 
285
- **Related commands:**
516
+ - `PERSONA` tells **who** is working on the task
517
+ - `KNOWLEDGE` describes **what** knowledge the person has
518
+ - `GOAL` describes **what** is the goal of the task
519
+ - `ACTION` describes **what** actions can be done
520
+ - `RULE` describes **what** rules should be followed
521
+ - `STYLE` describes **how** the output should be presented
286
522
 
287
- - [PERSONA](https://github.com/webgptorg/promptbook/blob/main/documents/commands/PERSONA.md)
523
+ ### Variables and references
288
524
 
289
- ### **3. How:** Knowledge, Instruments and Actions
525
+ When the prompt should be to be useful it should have some fixed static part and some variable dynamic part
290
526
 
291
- The resources used by the personas are used to do the work.
292
527
 
293
- **Related commands:**
294
528
 
295
- - [KNOWLEDGE](https://github.com/webgptorg/promptbook/blob/main/documents/commands/KNOWLEDGE.md) of documents, websites, and other resources
296
- - [INSTRUMENT](https://github.com/webgptorg/promptbook/blob/main/documents/commands/INSTRUMENT.md) for real-time data like time, location, weather, stock prices, searching the internet, calculations, etc.
297
- - [ACTION](https://github.com/webgptorg/promptbook/blob/main/documents/commands/ACTION.md) for actions like sending emails, creating files, ending a workflow, etc.
529
+ <img
530
+ alt="Untitled Book"
531
+ src="https://promptbook.studio/embed/book-preview.png?book=&width=800&height=450&nonce=0"
532
+ />
298
533
 
299
- ### General Principles
534
+ ### Imports
300
535
 
301
- Book language is based on markdown. It is subset of markdown. It is designed to be easy to read and write. It is designed to be understandable by both humans and machines and without specific knowledge of the language.
536
+ ### Layering
302
537
 
303
- The file has a `.book` extension and uses UTF-8 encoding without BOM.
538
+ ### Book defined in book
304
539
 
305
- Books have two variants: flat — just a prompt without structure, and full — with tasks, commands, and prompts.
540
+ ###
306
541
 
307
- As it is source code, it can leverage all the features of version control systems like git and does not suffer from the problems of binary formats, proprietary formats, or no-code solutions.
542
+ Book vs:
308
543
 
309
- But unlike programming languages, it is designed to be understandable by non-programmers and non-technical people.
544
+ - Why just dont pick the right model
545
+ - Orchestration frameworks - Langchain, Google Agent ..., Semantic Kernel,...
546
+ - Finetunning
547
+ - Temperature, top_t, top_k,... etc.
548
+ - System message
549
+ - MCP server
550
+ - function calling
310
551
 
311
552
 
312
553
 
package/esm/index.es.js CHANGED
@@ -16,7 +16,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
16
16
  * @generated
17
17
  * @see https://github.com/webgptorg/promptbook
18
18
  */
19
- const PROMPTBOOK_ENGINE_VERSION = '0.103.0-1';
19
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-3';
20
20
  /**
21
21
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
22
22
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1,4 +1,5 @@
1
1
  import type { AgentBasicInformation } from '../../../book-2.0/agent-source/AgentBasicInformation';
2
+ import type { string_book } from '../../../book-2.0/agent-source/string_book';
2
3
  import type { string_css_class } from '../../../types/typeAliases';
3
4
  /**
4
5
  * Props of `AvatarProfile`
@@ -10,6 +11,10 @@ export type AvatarProfileProps = {
10
11
  * Agent to be shown
11
12
  */
12
13
  readonly agent: AgentBasicInformation;
14
+ /**
15
+ * The source of the agent, which will be displayed in the BookEditor.
16
+ */
17
+ readonly agentSource: string_book;
13
18
  /**
14
19
  * Optional CSS class name which will be added to root <div> element
15
20
  */
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import type { string_book } from '../../../book-2.0/agent-source/string_book';
3
+ type AvatarProfileTooltipProps = {
4
+ agentSource: string_book;
5
+ position: {
6
+ top: number;
7
+ left: number;
8
+ };
9
+ };
10
+ /**
11
+ *
12
+ * @private internal subcomponent of `<Chat>` component
13
+ */
14
+ export declare const AvatarProfileTooltip: import("react").ForwardRefExoticComponent<AvatarProfileTooltipProps & import("react").RefAttributes<HTMLDivElement>>;
15
+ export {};
@@ -8,6 +8,14 @@ import type { string_knowledge_source_content } from '../../types/typeAliases';
8
8
  * @public exported from `@promptbook/components`
9
9
  */
10
10
  export type BookEditorProps = {
11
+ /**
12
+ * The source of the agent to be displayed in the editor.
13
+ */
14
+ readonly agentSource?: string_book;
15
+ /**
16
+ * Callback function to be called when the editor is closed.
17
+ */
18
+ onClose?(): void;
11
19
  /**
12
20
  * Additional CSS classes to apply to the editor container.
13
21
  */
@@ -46,6 +54,12 @@ export type BookEditorProps = {
46
54
  * By default, the footer is hidden.
47
55
  */
48
56
  readonly isFooterShown?: boolean;
57
+ /**
58
+ * If true, the editor is in read-only mode
59
+ *
60
+ * @default false
61
+ */
62
+ readonly isReadonly?: boolean;
49
63
  };
50
64
  /**
51
65
  * Renders a book editor
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import type { BookEditorProps } from './BookEditor';
3
+ /**
4
+ * @private util of `<BookEditor />`
5
+ */
6
+ export declare function BookEditorWrapper(props: BookEditorProps): import("react").ReactPortal;
@@ -1,5 +1,6 @@
1
1
  import type { id, string_color, string_person_fullname, string_url_image } from '../../../types/typeAliases';
2
2
  import { Color } from '../../../utils/color/Color';
3
+ import type { string_book } from '../../../book-2.0/agent-source/string_book';
3
4
  /**
4
5
  * A participant in the chat
5
6
  *
@@ -26,6 +27,10 @@ export type ChatParticipant = {
26
27
  * Color associated with the participant
27
28
  */
28
29
  color?: string_color | Color;
30
+ /**
31
+ * Agent source for avatar profile
32
+ */
33
+ agentSource?: string_book;
29
34
  };
30
35
  /**
31
36
  * TODO: [🕛] Unite `AgentBasicInformation`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ *
4
+ * @private internal subcomponent of `<Chat>` component
5
+ */
6
+ export declare function Modal({ children, onClose, className, }: {
7
+ children: ReactNode;
8
+ onClose: () => void;
9
+ className?: string;
10
+ }): import("react").ReactPortal;
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.103.0-0`).
18
+ * It follows semantic versioning (e.g., `0.103.0-2`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/javascript",
3
- "version": "0.103.0-1",
3
+ "version": "0.103.0-3",
4
4
  "description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -94,7 +94,7 @@
94
94
  "module": "./esm/index.es.js",
95
95
  "typings": "./esm/typings/src/_packages/javascript.index.d.ts",
96
96
  "peerDependencies": {
97
- "@promptbook/core": "0.103.0-1"
97
+ "@promptbook/core": "0.103.0-3"
98
98
  },
99
99
  "dependencies": {
100
100
  "crypto": "1.0.1",
package/umd/index.umd.js CHANGED
@@ -22,7 +22,7 @@
22
22
  * @generated
23
23
  * @see https://github.com/webgptorg/promptbook
24
24
  */
25
- const PROMPTBOOK_ENGINE_VERSION = '0.103.0-1';
25
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-3';
26
26
  /**
27
27
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
28
28
  * Note: [💞] Ignore a discrepancy between file name and entity name