@promptbook/types 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.
Files changed (62) hide show
  1. package/README.md +6 -207
  2. package/esm/typings/src/_packages/browser.index.d.ts +6 -0
  3. package/esm/typings/src/_packages/components.index.d.ts +2 -0
  4. package/esm/typings/src/_packages/core.index.d.ts +6 -0
  5. package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
  6. package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +5 -0
  7. package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfileTooltip.d.ts +15 -0
  8. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +66 -8
  9. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +11 -0
  10. package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
  11. package/esm/typings/src/book-components/BookEditor/config.d.ts +1 -0
  12. package/esm/typings/src/book-components/Chat/types/ChatParticipant.d.ts +5 -0
  13. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
  14. package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +13 -0
  15. package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
  16. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  17. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
  18. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
  19. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  20. package/esm/typings/src/cli/cli-commands/about.d.ts +2 -1
  21. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  22. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  23. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  24. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  25. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  26. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  27. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  28. package/esm/typings/src/cli/cli-commands/start-server.d.ts +2 -1
  29. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  30. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  31. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  32. package/esm/typings/src/config.d.ts +14 -1
  33. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  34. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  35. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  36. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  37. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  38. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  39. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  40. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  41. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  42. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  43. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  44. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  45. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  46. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  47. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  48. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  49. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  50. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  51. package/esm/typings/src/types/typeAliases.d.ts +1 -1
  52. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  53. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  54. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  55. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  56. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  57. package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
  58. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  59. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  60. package/esm/typings/src/version.d.ts +1 -1
  61. package/package.json +2 -2
  62. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
package/README.md CHANGED
@@ -315,7 +315,6 @@ The main challenge is to narrow it down, constrain it, set the proper **context,
315
315
  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.
316
316
 
317
317
 
318
-
319
318
  <img
320
319
  alt="Paul Smith & Associés Book"
321
320
  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"
@@ -334,7 +333,6 @@ You can look at it as prompting (or writing a system message), but decorated by
334
333
  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.
335
334
 
336
335
 
337
-
338
336
  <img
339
337
  alt="Paul Smith & Associés Book"
340
338
  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"
@@ -349,7 +347,6 @@ This can include domain-specific knowledge, company policies, or any other relev
349
347
  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.
350
348
 
351
349
 
352
-
353
350
  <img
354
351
  alt="Paul Smith & Associés Book"
355
352
  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"
@@ -362,7 +359,6 @@ Rules will enforce specific behaviors or constraints on the AI's responses. This
362
359
  Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
363
360
 
364
361
 
365
-
366
362
  <img
367
363
  alt="Paul Smith & Associés Book"
368
364
  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"
@@ -373,7 +369,6 @@ Depending on rule strictness, Promptbook will either propagate it to the prompt
373
369
  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.
374
370
 
375
371
 
376
-
377
372
  <img
378
373
  alt="Paul Smith & Associés Book"
379
374
  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"
@@ -424,10 +419,14 @@ Now you want to use it. There are several ways how to write your first book:
424
419
 
425
420
  We have written ai asistant in book who can help you with writing your first book.
426
421
 
422
+
423
+
427
424
  #### Your AI twin
428
425
 
429
426
  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.
430
427
 
428
+
429
+
431
430
  #### AI persona workpool
432
431
 
433
432
  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.
@@ -545,209 +544,7 @@ Join our growing community of developers and users:
545
544
 
546
545
 
547
546
 
548
- ## 📘 Book Language Blueprint
549
-
550
- <blockquote style="color:#FFE600">
551
- ⚠ This file is a work in progress and may be incomplete or inaccurate.
552
- </blockquote>
553
-
554
- ---
555
-
556
- 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.
557
-
558
- Book is defined in file with `.book` extension
559
-
560
- ### Examples
561
-
562
-
563
-
564
- <img
565
- alt="Write an article about {topic} Book"
566
- 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"
567
- />
568
-
569
- ---
570
-
571
-
572
-
573
- <img
574
- alt="Make post on LinkedIn based on @Input. Book"
575
- 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"
576
- />
577
-
578
- ---
579
-
580
-
581
-
582
- <img
583
- alt="Odpověz na Email Book"
584
- 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"
585
- />
586
-
587
- ---
588
-
589
-
590
-
591
- <img
592
- alt="Analyzuj {Případ}. Book"
593
- 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"
594
- />
595
-
596
- iframe:
597
-
598
- <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>
599
-
600
- books.svg
601
-
602
- ![Books](./books/diagram/books.svg)
603
-
604
- books.png
605
-
606
- ![Books](./books/diagram/books.png)
607
-
608
- ### Basic Commitments:
609
-
610
- 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.
611
-
612
- #### `PERSONA`
613
-
614
- defines basic contour of
615
-
616
- > PERSONA @Joe Average man with
617
-
618
- also the PERSONA is
619
-
620
- Describes
621
-
622
- #### `RULE` or `RULES`
623
-
624
- defines
625
-
626
- #### `STYLE`
627
-
628
- xxx
629
547
 
630
- #### `SAMPLE`
631
-
632
- xxx
633
-
634
- #### `KNOWLEDGE`
635
-
636
- xxx
637
-
638
- #### `EXPECT`
639
-
640
- xxx
641
-
642
- #### `FORMAT`
643
-
644
- xxx
645
-
646
- #### `JOKER`
647
-
648
- xxx
649
-
650
- #### `MODEL`
651
-
652
- xxx
653
-
654
- #### `ACTION`
655
-
656
- xxx
657
-
658
- #### `META`
659
-
660
- ### Names
661
-
662
- each commitment is
663
-
664
- `PERSONA`
665
-
666
- Variable names
667
-
668
- ### Types
669
-
670
- ### Miscellaneous aspects of Book language
671
-
672
- #### Named vs Anonymous commitments
673
-
674
- #### Single line vs multiline
675
-
676
- #### Bookish vs Non-bookish definitions
677
-
678
- ---
679
-
680
- ## **\_\_\_\_**
681
-
682
- 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.
683
-
684
- 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.
685
-
686
-
687
-
688
- <img
689
- alt="Franz Kafka Book"
690
- 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"
691
- />
692
-
693
- ## Who, what and how?
694
-
695
- To write a good prompt and the book you will be answering 3 main questions
696
-
697
- - **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?
698
- You rather want `Paul, an typescript developer who prefers SOLID code` not `gemini-2`
699
- - **What**
700
- - **How**
701
-
702
- each commitment (described bellow) is connected with one of theese 3 questions.
703
-
704
- ### Commitments
705
-
706
- Commitment is one piece of book, you can imagine it as one paragraph of book.
707
-
708
- 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.
709
-
710
- Commitments are chained one after another, in general commitments which are written later are more important and redefines things defined earlier.
711
-
712
- Each commitment falls into one or more of cathegory who, what or how
713
-
714
- Here are some basic commintemts:
715
-
716
- - `PERSONA` tells **who** is working on the task
717
- - `KNOWLEDGE` describes **what** knowledge the person has
718
- - `GOAL` describes **what** is the goal of the task
719
- - `ACTION` describes **what** actions can be done
720
- - `RULE` describes **what** rules should be followed
721
- - `STYLE` describes **how** the output should be presented
722
-
723
- ### Variables and references
724
-
725
- When the prompt should be to be useful it should have some fixed static part and some variable dynamic part
726
-
727
-
728
-
729
- <img
730
- alt="Untitled Book"
731
- src="https://promptbook.studio/embed/book-preview.png?book=&width=800&height=450&nonce=0"
732
- />
733
-
734
- ### Imports
735
-
736
- ### Layering
737
-
738
- ### Book defined in book
739
-
740
- ###
741
-
742
- Book vs:
743
-
744
- - Why just dont pick the right model
745
- - Orchestration frameworks - Langchain, Google Agent ..., Semantic Kernel,...
746
- - Finetunning
747
- - Temperature, top_t, top_k,... etc.
748
- - System message
749
- - MCP server
750
- - function calling
751
548
 
752
549
 
753
550
 
@@ -827,6 +624,8 @@ The following glossary is used to clarify certain concepts:
827
624
 
828
625
  _Note: This section is not a complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
829
626
 
627
+
628
+
830
629
  ### 💯 Core concepts
831
630
 
832
631
  - [📚 Collection of pipelines](https://github.com/webgptorg/promptbook/discussions/65)
@@ -4,9 +4,15 @@ import { $provideScrapersForBrowser } from '../scrapers/_common/register/$provid
4
4
  import { getIndexedDbStorage } from '../storage/local-storage/getIndexedDbStorage';
5
5
  import { getLocalStorage } from '../storage/local-storage/getLocalStorage';
6
6
  import { getSessionStorage } from '../storage/local-storage/getSessionStorage';
7
+ import { $induceBookDownload } from '../utils/files/$induceBookDownload';
8
+ import { $induceFileDownload } from '../utils/files/$induceFileDownload';
9
+ import { ObjectUrl } from '../utils/files/ObjectUrl';
7
10
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
8
11
  export { SimplePromptInterfaceTools };
9
12
  export { $provideScrapersForBrowser };
10
13
  export { getIndexedDbStorage };
11
14
  export { getLocalStorage };
12
15
  export { getSessionStorage };
16
+ export { $induceBookDownload };
17
+ export { $induceFileDownload };
18
+ export { ObjectUrl };
@@ -7,6 +7,7 @@ import type { AvatarProfileProps } from '../book-components/AvatarProfile/Avatar
7
7
  import { AvatarProfile } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfile';
8
8
  import type { AvatarProfileFromSourceProps } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfileFromSource';
9
9
  import { AvatarProfileFromSource } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfileFromSource';
10
+ import { DEFAULT_BOOK_EDITOR_HEIGHT } from '../book-components/BookEditor/BookEditor';
10
11
  import type { BookEditorProps } from '../book-components/BookEditor/BookEditor';
11
12
  import { BookEditor } from '../book-components/BookEditor/BookEditor';
12
13
  import { DEFAULT_BOOK_FONT_CLASS } from '../book-components/BookEditor/config';
@@ -61,6 +62,7 @@ export type { AvatarProfileProps };
61
62
  export { AvatarProfile };
62
63
  export type { AvatarProfileFromSourceProps };
63
64
  export { AvatarProfileFromSource };
65
+ export { DEFAULT_BOOK_EDITOR_HEIGHT };
64
66
  export type { BookEditorProps };
65
67
  export { BookEditor };
66
68
  export { DEFAULT_BOOK_FONT_CLASS };
@@ -1,6 +1,8 @@
1
1
  import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
2
2
  import { createAgentModelRequirements } from '../book-2.0/agent-source/createAgentModelRequirements';
3
3
  import { createAgentModelRequirementsWithCommitments } from '../book-2.0/agent-source/createAgentModelRequirementsWithCommitments';
4
+ import { PADDING_LINES } from '../book-2.0/agent-source/padBook';
5
+ import { padBook } from '../book-2.0/agent-source/padBook';
4
6
  import { parseAgentSource } from '../book-2.0/agent-source/parseAgentSource';
5
7
  import { parseParameters } from '../book-2.0/agent-source/parseParameters';
6
8
  import { isValidBook } from '../book-2.0/agent-source/string_book';
@@ -24,6 +26,7 @@ import { ADMIN_EMAIL } from '../config';
24
26
  import { ADMIN_GITHUB_NAME } from '../config';
25
27
  import { CLAIM } from '../config';
26
28
  import { PROMPTBOOK_COLOR } from '../config';
29
+ import { PROMPTBOOK_SYNTAX_COLORS } from '../config';
27
30
  import { PROMPTBOOK_CHAT_COLOR } from '../config';
28
31
  import { USER_CHAT_COLOR } from '../config';
29
32
  import { DEFAULT_BOOK_TITLE } from '../config';
@@ -176,6 +179,8 @@ import { REMOTE_SERVER_URLS } from '../../servers';
176
179
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
177
180
  export { createAgentModelRequirements };
178
181
  export { createAgentModelRequirementsWithCommitments };
182
+ export { PADDING_LINES };
183
+ export { padBook };
179
184
  export { parseAgentSource };
180
185
  export { parseParameters };
181
186
  export { isValidBook };
@@ -199,6 +204,7 @@ export { ADMIN_EMAIL };
199
204
  export { ADMIN_GITHUB_NAME };
200
205
  export { CLAIM };
201
206
  export { PROMPTBOOK_COLOR };
207
+ export { PROMPTBOOK_SYNTAX_COLORS };
202
208
  export { PROMPTBOOK_CHAT_COLOR };
203
209
  export { USER_CHAT_COLOR };
204
210
  export { DEFAULT_BOOK_TITLE };
@@ -0,0 +1,16 @@
1
+ import { string_book } from './string_book';
2
+ /**
3
+ * Number of padding lines to add at the end of the book content
4
+ *
5
+ * @public exported from `@promptbook/core`
6
+ */
7
+ export declare const PADDING_LINES = 11;
8
+ /**
9
+ * A function that adds padding to the book content
10
+ *
11
+ * @public exported from `@promptbook/core`
12
+ */
13
+ export declare function padBook(content: string_book): string_book;
14
+ /**
15
+ * TODO: [🧠] Maybe export
16
+ */
@@ -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 {};
@@ -1,13 +1,25 @@
1
1
  import type { CSSProperties } from 'react';
2
2
  import type { Promisable } from 'type-fest';
3
- import type { string_book } from '../../book-2.0/agent-source/string_book';
4
- import type { string_knowledge_source_content } from '../../types/typeAliases';
3
+ import { type string_book } from '../../book-2.0/agent-source/string_book';
4
+ import type { number_percent, number_positive, string_css_value, string_knowledge_source_content } from '../../types/typeAliases';
5
+ /**
6
+ * Default height of the book editor
7
+ *
8
+ * Note: This height is computed based on the number of lines in the default book + padding multiplied by an estimated line height.
9
+ *
10
+ * @public exported from `@promptbook/components`
11
+ */
12
+ export declare const DEFAULT_BOOK_EDITOR_HEIGHT: number;
5
13
  /**
6
14
  * Props of `BookEditor`
7
15
  *
8
16
  * @public exported from `@promptbook/components`
9
17
  */
10
18
  export type BookEditorProps = {
19
+ /**
20
+ * The source of the agent to be displayed in the editor.
21
+ */
22
+ readonly agentSource?: string_book;
11
23
  /**
12
24
  * Additional CSS classes to apply to the editor container.
13
25
  */
@@ -17,10 +29,21 @@ export type BookEditorProps = {
17
29
  */
18
30
  readonly style?: CSSProperties;
19
31
  /**
20
- * CSS className for a font (e.g. from next/font) to style the editor text.
21
- * If omitted, defaults to system serif fonts.
32
+ * Height of the `BookEditor` component
33
+ *
34
+ * - You can use any valid CSS value, e.g., `500px`, `100%`, `50vh`, etc.
35
+ * - If not set, the default height is `DEFAULT_BOOK_EDITOR_HEIGHT`.
36
+ * - If set to `null`, the height should be controlled entirely via `className` or `style`, otherwise the editor will have zero height.
37
+ *
38
+ * @default `DEFAULT_BOOK_EDITOR_HEIGHT`
39
+ */
40
+ readonly height?: string_css_value | null;
41
+ /**
42
+ * Zoom level of the editor
43
+ *
44
+ * @default 1 (100%)
22
45
  */
23
- readonly fontClassName?: string;
46
+ readonly zoom?: number_percent & number_positive;
24
47
  /**
25
48
  * The book which is being edited.
26
49
  */
@@ -42,10 +65,45 @@ export type BookEditorProps = {
42
65
  */
43
66
  readonly isBorderRadiusDisabled?: boolean;
44
67
  /**
45
- * If true, shows the footer with book title and version information.
46
- * By default, the footer is hidden.
68
+ * If true, the editor is in read-only mode
69
+ *
70
+ * @default false
71
+ */
72
+ readonly isReadonly?: boolean;
73
+ /**
74
+ * Optional translations for the component
75
+ */
76
+ readonly translations?: {
77
+ /**
78
+ * Message to show when trying to edit a readonly editor
79
+ *
80
+ * @default "You cannot edit this book"
81
+ */
82
+ readonly readonlyMessage?: string;
83
+ };
84
+ /**
85
+ * If true, shows the download button in the action bar.
86
+ * By default, the download button is shown.
87
+ */
88
+ readonly isDownloadButtonShown?: boolean;
89
+ /**
90
+ * If true, shows the about button in the action bar.
91
+ * By default, the about button is shown.
92
+ */
93
+ readonly isAboutButtonShown?: boolean;
94
+ /**
95
+ * If defined, the editor will be synced with other editors with the same sync configuration.
47
96
  */
48
- readonly isFooterShown?: boolean;
97
+ readonly sync?: {
98
+ /**
99
+ * The URL of the y-websocket server.
100
+ */
101
+ readonly serverUrl: string;
102
+ /**
103
+ * The name of the room to join.
104
+ */
105
+ readonly roomName: string;
106
+ };
49
107
  };
50
108
  /**
51
109
  * Renders a book editor
@@ -0,0 +1,11 @@
1
+ type BookEditorActionbarProps = {
2
+ value: string | undefined;
3
+ isDownloadButtonShown?: boolean;
4
+ isAboutButtonShown?: boolean;
5
+ };
6
+ /**
7
+ *
8
+ * @private Internal component used by `BookEditor`
9
+ */
10
+ export declare function BookEditorActionbar(props: BookEditorActionbarProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { BookEditorProps } from './BookEditor';
2
+ /**
3
+ * @private Internal component used by `BookEditor`
4
+ */
5
+ export declare function BookEditorMonaco(props: BookEditorProps): import("react/jsx-runtime").JSX.Element;
@@ -3,6 +3,7 @@
3
3
  * In Next.js environments, you can override this by importing the font directly
4
4
  *
5
5
  * @public exported from `@promptbook/components`
6
+ * @deprecated !!! Remove
6
7
  */
7
8
  export declare const DEFAULT_BOOK_FONT_CLASS: any;
8
9
  /**
@@ -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,15 @@
1
+ import { JSX } from 'react';
2
+ type DropdownProps = {
3
+ actions: Array<{
4
+ icon: JSX.Element;
5
+ name: string;
6
+ onClick: () => void;
7
+ }>;
8
+ };
9
+ /**
10
+ * @@@
11
+ *
12
+ * @private internal subcomponent used by various components
13
+ */
14
+ export declare function Dropdown({ actions }: DropdownProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ *
4
+ * @private internal subcomponent used by various components
5
+ */
6
+ export declare function Modal({ children, onClose, className, }: {
7
+ children: ReactNode;
8
+ onClose: () => void;
9
+ className?: string;
10
+ }): import("react").ReactPortal;
11
+ /**
12
+ * TODO: !!!! Use this also for feedback modal in Chat component - Make modals DRY
13
+ */
@@ -4,4 +4,4 @@ import type { string_css_class } from '../../../types/typeAliases';
4
4
  *
5
5
  * @private within the `@promptbook/components`
6
6
  */
7
- export declare function classNames(...classes: Array<string_css_class | undefined | false | null>): string_css_class;
7
+ export declare function classNames(...classes: Array<string_css_class | undefined | false | null | 0>): string_css_class;
@@ -0,0 +1,9 @@
1
+ import { SVGProps } from 'react';
2
+ /**
3
+ * @@@
4
+ *
5
+ * @private internal subcomponent used by various components
6
+ */
7
+ export declare function AboutIcon(props: SVGProps<SVGSVGElement> & {
8
+ size?: number;
9
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { SVGProps } from 'react';
2
+ /**
3
+ * @@@
4
+ *
5
+ * @private internal subcomponent used by various components
6
+ */
7
+ export declare function DownloadIcon(props: SVGProps<SVGSVGElement> & {
8
+ size?: number;
9
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { SVGProps } from 'react';
2
+ /**
3
+ * @@@
4
+ *
5
+ * @private internal subcomponent used by various components
6
+ */
7
+ export declare function MenuIcon(props: SVGProps<SVGSVGElement> & {
8
+ size?: number;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ /**
11
+ * TODO: !!! Mark all components to not be used outside of browser
12
+ */
@@ -1,4 +1,5 @@
1
1
  import type { Command as Program } from 'commander';
2
+ import { $side_effect } from '../../utils/organization/$side_effect';
2
3
  /**
3
4
  * Initializes `boilerplate` command for Promptbook CLI utilities
4
5
  *
@@ -6,7 +7,7 @@ import type { Command as Program } from 'commander';
6
7
  *
7
8
  * @private internal function of `promptbookCli`
8
9
  */
9
- export declare function $initializeBoilerplateCommand(program: Program): void;
10
+ export declare function $initializeBoilerplateCommand(program: Program): $side_effect;
10
11
  /**
11
12
  * Note: [💞] Ignore a discrepancy between file name and entity name
12
13
  * Note: [🟡] Code in this file should never be published outside of `@promptbook/cli`
@@ -1,4 +1,5 @@
1
1
  import type { Command as Program } from 'commander';
2
+ import { $side_effect } from '../../utils/organization/$side_effect';
2
3
  /**
3
4
  * Initializes `about` command for Promptbook CLI utilities
4
5
  *
@@ -6,7 +7,7 @@ import type { Command as Program } from 'commander';
6
7
  *
7
8
  * @private internal function of `promptbookCli`
8
9
  */
9
- export declare function $initializeAboutCommand(program: Program): void;
10
+ export declare function $initializeAboutCommand(program: Program): $side_effect;
10
11
  /**
11
12
  * TODO: [🗽] Unite branding and make single place for it
12
13
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1,4 +1,5 @@
1
1
  import type { Command as Program } from 'commander';
2
+ import { $side_effect } from '../../utils/organization/$side_effect';
2
3
  /**
3
4
  * Initializes testing `hello` command for Promptbook CLI utilities
4
5
  *
@@ -6,7 +7,7 @@ import type { Command as Program } from 'commander';
6
7
  *
7
8
  * @private internal function of `promptbookCli`
8
9
  */
9
- export declare function $initializeHelloCommand(program: Program): void;
10
+ export declare function $initializeHelloCommand(program: Program): $side_effect;
10
11
  /**
11
12
  * TODO: [🧠][🐣] Make here some easter egg with generated hello greeting via LLM models
12
13
  * Note: [💞] Ignore a discrepancy between file name and entity name