@promptbook/utils 0.103.0-3 → 0.103.0-8

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
@@ -372,7 +372,6 @@ The main challenge is to narrow it down, constrain it, set the proper **context,
372
372
  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.
373
373
 
374
374
 
375
-
376
375
  <img
377
376
  alt="Paul Smith & Associés Book"
378
377
  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"
@@ -391,7 +390,6 @@ You can look at it as prompting (or writing a system message), but decorated by
391
390
  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.
392
391
 
393
392
 
394
-
395
393
  <img
396
394
  alt="Paul Smith & Associés Book"
397
395
  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"
@@ -406,7 +404,6 @@ This can include domain-specific knowledge, company policies, or any other relev
406
404
  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.
407
405
 
408
406
 
409
-
410
407
  <img
411
408
  alt="Paul Smith & Associés Book"
412
409
  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"
@@ -419,7 +416,6 @@ Rules will enforce specific behaviors or constraints on the AI's responses. This
419
416
  Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
420
417
 
421
418
 
422
-
423
419
  <img
424
420
  alt="Paul Smith & Associés Book"
425
421
  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"
@@ -430,7 +426,6 @@ Depending on rule strictness, Promptbook will either propagate it to the prompt
430
426
  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.
431
427
 
432
428
 
433
-
434
429
  <img
435
430
  alt="Paul Smith & Associés Book"
436
431
  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"
@@ -481,10 +476,14 @@ Now you want to use it. There are several ways how to write your first book:
481
476
 
482
477
  We have written ai asistant in book who can help you with writing your first book.
483
478
 
479
+
480
+
484
481
  #### Your AI twin
485
482
 
486
483
  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.
487
484
 
485
+
486
+
488
487
  #### AI persona workpool
489
488
 
490
489
  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.
@@ -602,209 +601,7 @@ Join our growing community of developers and users:
602
601
 
603
602
 
604
603
 
605
- ## 📘 Book Language Blueprint
606
-
607
- <blockquote style="color:#FFE600">
608
- ⚠ This file is a work in progress and may be incomplete or inaccurate.
609
- </blockquote>
610
-
611
- ---
612
-
613
- 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.
614
-
615
- Book is defined in file with `.book` extension
616
-
617
- ### Examples
618
-
619
-
620
-
621
- <img
622
- alt="Write an article about {topic} Book"
623
- 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"
624
- />
625
-
626
- ---
627
-
628
-
629
-
630
- <img
631
- alt="Make post on LinkedIn based on @Input. Book"
632
- 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"
633
- />
634
-
635
- ---
636
-
637
-
638
-
639
- <img
640
- alt="Odpověz na Email Book"
641
- 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"
642
- />
643
-
644
- ---
645
-
646
-
647
-
648
- <img
649
- alt="Analyzuj {Případ}. Book"
650
- 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"
651
- />
652
-
653
- iframe:
654
-
655
- <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>
656
-
657
- books.svg
658
-
659
- ![Books](./books/diagram/books.svg)
660
-
661
- books.png
662
-
663
- ![Books](./books/diagram/books.png)
664
-
665
- ### Basic Commitments:
666
-
667
- 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.
668
-
669
- #### `PERSONA`
670
-
671
- defines basic contour of
672
-
673
- > PERSONA @Joe Average man with
674
-
675
- also the PERSONA is
676
-
677
- Describes
678
-
679
- #### `RULE` or `RULES`
680
-
681
- defines
682
-
683
- #### `STYLE`
684
-
685
- xxx
686
604
 
687
- #### `SAMPLE`
688
-
689
- xxx
690
-
691
- #### `KNOWLEDGE`
692
-
693
- xxx
694
-
695
- #### `EXPECT`
696
-
697
- xxx
698
-
699
- #### `FORMAT`
700
-
701
- xxx
702
-
703
- #### `JOKER`
704
-
705
- xxx
706
-
707
- #### `MODEL`
708
-
709
- xxx
710
-
711
- #### `ACTION`
712
-
713
- xxx
714
-
715
- #### `META`
716
-
717
- ### Names
718
-
719
- each commitment is
720
-
721
- `PERSONA`
722
-
723
- Variable names
724
-
725
- ### Types
726
-
727
- ### Miscellaneous aspects of Book language
728
-
729
- #### Named vs Anonymous commitments
730
-
731
- #### Single line vs multiline
732
-
733
- #### Bookish vs Non-bookish definitions
734
-
735
- ---
736
-
737
- ## **\_\_\_\_**
738
-
739
- 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.
740
-
741
- 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.
742
-
743
-
744
-
745
- <img
746
- alt="Franz Kafka Book"
747
- 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"
748
- />
749
-
750
- ## Who, what and how?
751
-
752
- To write a good prompt and the book you will be answering 3 main questions
753
-
754
- - **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?
755
- You rather want `Paul, an typescript developer who prefers SOLID code` not `gemini-2`
756
- - **What**
757
- - **How**
758
-
759
- each commitment (described bellow) is connected with one of theese 3 questions.
760
-
761
- ### Commitments
762
-
763
- Commitment is one piece of book, you can imagine it as one paragraph of book.
764
-
765
- 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.
766
-
767
- Commitments are chained one after another, in general commitments which are written later are more important and redefines things defined earlier.
768
-
769
- Each commitment falls into one or more of cathegory who, what or how
770
-
771
- Here are some basic commintemts:
772
-
773
- - `PERSONA` tells **who** is working on the task
774
- - `KNOWLEDGE` describes **what** knowledge the person has
775
- - `GOAL` describes **what** is the goal of the task
776
- - `ACTION` describes **what** actions can be done
777
- - `RULE` describes **what** rules should be followed
778
- - `STYLE` describes **how** the output should be presented
779
-
780
- ### Variables and references
781
-
782
- When the prompt should be to be useful it should have some fixed static part and some variable dynamic part
783
-
784
-
785
-
786
- <img
787
- alt="Untitled Book"
788
- src="https://promptbook.studio/embed/book-preview.png?book=&width=800&height=450&nonce=0"
789
- />
790
-
791
- ### Imports
792
-
793
- ### Layering
794
-
795
- ### Book defined in book
796
-
797
- ###
798
-
799
- Book vs:
800
-
801
- - Why just dont pick the right model
802
- - Orchestration frameworks - Langchain, Google Agent ..., Semantic Kernel,...
803
- - Finetunning
804
- - Temperature, top_t, top_k,... etc.
805
- - System message
806
- - MCP server
807
- - function calling
808
605
 
809
606
 
810
607
 
@@ -884,6 +681,8 @@ The following glossary is used to clarify certain concepts:
884
681
 
885
682
  _Note: This section is not a complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
886
683
 
684
+
685
+
887
686
  ### 💯 Core concepts
888
687
 
889
688
  - [📚 Collection of pipelines](https://github.com/webgptorg/promptbook/discussions/65)
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-3';
19
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-8';
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
@@ -4,3 +4,6 @@ import type { BookEditorProps } from './BookEditor';
4
4
  * @private util of `<BookEditor />`
5
5
  */
6
6
  export declare function BookEditorWrapper(props: BookEditorProps): import("react").ReactPortal;
7
+ /**
8
+ * TODO: !!! Maybe remove
9
+ */
@@ -8,3 +8,6 @@ export declare function Modal({ children, onClose, className, }: {
8
8
  onClose: () => void;
9
9
  className?: string;
10
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;
@@ -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-2`).
18
+ * It follows semantic versioning (e.g., `0.103.0-7`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/utils",
3
- "version": "0.103.0-3",
3
+ "version": "0.103.0-8",
4
4
  "description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
5
5
  "private": false,
6
6
  "sideEffects": false,
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-3';
25
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-8';
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