@promptbook/anthropic-claude 0.103.0-3 → 0.103.0-31
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 +22 -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/cli.index.d.ts +4 -0
- package/esm/typings/src/_packages/components.index.d.ts +12 -8
- package/esm/typings/src/_packages/core.index.d.ts +10 -0
- package/esm/typings/src/_packages/types.index.d.ts +10 -0
- package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
- package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
- package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +76 -15
- package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
- package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
- package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
- package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
- package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
- package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
- package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -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 +4 -1
- 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/CloseIcon.d.ts +4 -8
- package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
- package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -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 +3 -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 +3 -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/remote-server/startRemoteServer.d.ts +1 -0
- 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/transpilers/_common/BookTranspiler.d.ts +19 -0
- package/esm/typings/src/transpilers/_common/BookTranspilerDefinition.d.ts +37 -0
- package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +19 -0
- package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
- package/esm/typings/src/transpilers/langchain/LangchainTranspiler.d.ts +7 -0
- package/esm/typings/src/transpilers/langchain/register.d.ts +15 -0
- package/esm/typings/src/transpilers/openai/OpenAiSdkTranspiler.d.ts +13 -0
- package/esm/typings/src/transpilers/openai/register.d.ts +15 -0
- 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/aboutPromptbookInformation.d.ts +21 -0
- package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
- package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -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 +5 -5
- package/umd/index.umd.js +22 -4
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
- package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -6
- package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
- package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
- package/esm/typings/src/book-components/Chat/utils/renderMarkdown.test.d.ts +0 -1
package/README.md
CHANGED
|
@@ -309,7 +309,6 @@ The main challenge is to narrow it down, constrain it, set the proper **context,
|
|
|
309
309
|
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.
|
|
310
310
|
|
|
311
311
|
|
|
312
|
-
|
|
313
312
|
<img
|
|
314
313
|
alt="Paul Smith & Associés Book"
|
|
315
314
|
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"
|
|
@@ -328,7 +327,6 @@ You can look at it as prompting (or writing a system message), but decorated by
|
|
|
328
327
|
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.
|
|
329
328
|
|
|
330
329
|
|
|
331
|
-
|
|
332
330
|
<img
|
|
333
331
|
alt="Paul Smith & Associés Book"
|
|
334
332
|
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"
|
|
@@ -343,7 +341,6 @@ This can include domain-specific knowledge, company policies, or any other relev
|
|
|
343
341
|
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.
|
|
344
342
|
|
|
345
343
|
|
|
346
|
-
|
|
347
344
|
<img
|
|
348
345
|
alt="Paul Smith & Associés Book"
|
|
349
346
|
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"
|
|
@@ -356,7 +353,6 @@ Rules will enforce specific behaviors or constraints on the AI's responses. This
|
|
|
356
353
|
Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
|
|
357
354
|
|
|
358
355
|
|
|
359
|
-
|
|
360
356
|
<img
|
|
361
357
|
alt="Paul Smith & Associés Book"
|
|
362
358
|
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"
|
|
@@ -367,7 +363,6 @@ Depending on rule strictness, Promptbook will either propagate it to the prompt
|
|
|
367
363
|
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.
|
|
368
364
|
|
|
369
365
|
|
|
370
|
-
|
|
371
366
|
<img
|
|
372
367
|
alt="Paul Smith & Associés Book"
|
|
373
368
|
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"
|
|
@@ -418,10 +413,14 @@ Now you want to use it. There are several ways how to write your first book:
|
|
|
418
413
|
|
|
419
414
|
We have written ai asistant in book who can help you with writing your first book.
|
|
420
415
|
|
|
416
|
+
|
|
417
|
+
|
|
421
418
|
#### Your AI twin
|
|
422
419
|
|
|
423
420
|
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.
|
|
424
421
|
|
|
422
|
+
|
|
423
|
+
|
|
425
424
|
#### AI persona workpool
|
|
426
425
|
|
|
427
426
|
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.
|
|
@@ -539,209 +538,7 @@ Join our growing community of developers and users:
|
|
|
539
538
|
|
|
540
539
|
|
|
541
540
|
|
|
542
|
-
## 📘 Book Language Blueprint
|
|
543
|
-
|
|
544
|
-
<blockquote style="color:#FFE600">
|
|
545
|
-
⚠ This file is a work in progress and may be incomplete or inaccurate.
|
|
546
|
-
</blockquote>
|
|
547
|
-
|
|
548
|
-
---
|
|
549
|
-
|
|
550
|
-
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.
|
|
551
|
-
|
|
552
|
-
Book is defined in file with `.book` extension
|
|
553
|
-
|
|
554
|
-
### Examples
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
<img
|
|
559
|
-
alt="Write an article about {topic} Book"
|
|
560
|
-
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"
|
|
561
|
-
/>
|
|
562
|
-
|
|
563
|
-
---
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
<img
|
|
568
|
-
alt="Make post on LinkedIn based on @Input. Book"
|
|
569
|
-
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"
|
|
570
|
-
/>
|
|
571
|
-
|
|
572
|
-
---
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
<img
|
|
577
|
-
alt="Odpověz na Email Book"
|
|
578
|
-
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"
|
|
579
|
-
/>
|
|
580
|
-
|
|
581
|
-
---
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
<img
|
|
586
|
-
alt="Analyzuj {Případ}. Book"
|
|
587
|
-
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"
|
|
588
|
-
/>
|
|
589
|
-
|
|
590
|
-
iframe:
|
|
591
|
-
|
|
592
|
-
<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>
|
|
593
|
-
|
|
594
|
-
books.svg
|
|
595
|
-
|
|
596
|
-

|
|
597
|
-
|
|
598
|
-
books.png
|
|
599
|
-
|
|
600
|
-

|
|
601
|
-
|
|
602
|
-
### Basic Commitments:
|
|
603
|
-
|
|
604
|
-
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.
|
|
605
|
-
|
|
606
|
-
#### `PERSONA`
|
|
607
|
-
|
|
608
|
-
defines basic contour of
|
|
609
|
-
|
|
610
|
-
> PERSONA @Joe Average man with
|
|
611
|
-
|
|
612
|
-
also the PERSONA is
|
|
613
|
-
|
|
614
|
-
Describes
|
|
615
|
-
|
|
616
|
-
#### `RULE` or `RULES`
|
|
617
|
-
|
|
618
|
-
defines
|
|
619
|
-
|
|
620
|
-
#### `STYLE`
|
|
621
|
-
|
|
622
|
-
xxx
|
|
623
541
|
|
|
624
|
-
#### `SAMPLE`
|
|
625
|
-
|
|
626
|
-
xxx
|
|
627
|
-
|
|
628
|
-
#### `KNOWLEDGE`
|
|
629
|
-
|
|
630
|
-
xxx
|
|
631
|
-
|
|
632
|
-
#### `EXPECT`
|
|
633
|
-
|
|
634
|
-
xxx
|
|
635
|
-
|
|
636
|
-
#### `FORMAT`
|
|
637
|
-
|
|
638
|
-
xxx
|
|
639
|
-
|
|
640
|
-
#### `JOKER`
|
|
641
|
-
|
|
642
|
-
xxx
|
|
643
|
-
|
|
644
|
-
#### `MODEL`
|
|
645
|
-
|
|
646
|
-
xxx
|
|
647
|
-
|
|
648
|
-
#### `ACTION`
|
|
649
|
-
|
|
650
|
-
xxx
|
|
651
|
-
|
|
652
|
-
#### `META`
|
|
653
|
-
|
|
654
|
-
### Names
|
|
655
|
-
|
|
656
|
-
each commitment is
|
|
657
|
-
|
|
658
|
-
`PERSONA`
|
|
659
|
-
|
|
660
|
-
Variable names
|
|
661
|
-
|
|
662
|
-
### Types
|
|
663
|
-
|
|
664
|
-
### Miscellaneous aspects of Book language
|
|
665
|
-
|
|
666
|
-
#### Named vs Anonymous commitments
|
|
667
|
-
|
|
668
|
-
#### Single line vs multiline
|
|
669
|
-
|
|
670
|
-
#### Bookish vs Non-bookish definitions
|
|
671
|
-
|
|
672
|
-
---
|
|
673
|
-
|
|
674
|
-
## **\_\_\_\_**
|
|
675
|
-
|
|
676
|
-
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.
|
|
677
|
-
|
|
678
|
-
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.
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
<img
|
|
683
|
-
alt="Franz Kafka Book"
|
|
684
|
-
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"
|
|
685
|
-
/>
|
|
686
|
-
|
|
687
|
-
## Who, what and how?
|
|
688
|
-
|
|
689
|
-
To write a good prompt and the book you will be answering 3 main questions
|
|
690
|
-
|
|
691
|
-
- **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?
|
|
692
|
-
You rather want `Paul, an typescript developer who prefers SOLID code` not `gemini-2`
|
|
693
|
-
- **What**
|
|
694
|
-
- **How**
|
|
695
|
-
|
|
696
|
-
each commitment (described bellow) is connected with one of theese 3 questions.
|
|
697
|
-
|
|
698
|
-
### Commitments
|
|
699
|
-
|
|
700
|
-
Commitment is one piece of book, you can imagine it as one paragraph of book.
|
|
701
|
-
|
|
702
|
-
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.
|
|
703
|
-
|
|
704
|
-
Commitments are chained one after another, in general commitments which are written later are more important and redefines things defined earlier.
|
|
705
|
-
|
|
706
|
-
Each commitment falls into one or more of cathegory who, what or how
|
|
707
|
-
|
|
708
|
-
Here are some basic commintemts:
|
|
709
|
-
|
|
710
|
-
- `PERSONA` tells **who** is working on the task
|
|
711
|
-
- `KNOWLEDGE` describes **what** knowledge the person has
|
|
712
|
-
- `GOAL` describes **what** is the goal of the task
|
|
713
|
-
- `ACTION` describes **what** actions can be done
|
|
714
|
-
- `RULE` describes **what** rules should be followed
|
|
715
|
-
- `STYLE` describes **how** the output should be presented
|
|
716
|
-
|
|
717
|
-
### Variables and references
|
|
718
|
-
|
|
719
|
-
When the prompt should be to be useful it should have some fixed static part and some variable dynamic part
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
<img
|
|
724
|
-
alt="Untitled Book"
|
|
725
|
-
src="https://promptbook.studio/embed/book-preview.png?book=&width=800&height=450&nonce=0"
|
|
726
|
-
/>
|
|
727
|
-
|
|
728
|
-
### Imports
|
|
729
|
-
|
|
730
|
-
### Layering
|
|
731
|
-
|
|
732
|
-
### Book defined in book
|
|
733
|
-
|
|
734
|
-
###
|
|
735
|
-
|
|
736
|
-
Book vs:
|
|
737
|
-
|
|
738
|
-
- Why just dont pick the right model
|
|
739
|
-
- Orchestration frameworks - Langchain, Google Agent ..., Semantic Kernel,...
|
|
740
|
-
- Finetunning
|
|
741
|
-
- Temperature, top_t, top_k,... etc.
|
|
742
|
-
- System message
|
|
743
|
-
- MCP server
|
|
744
|
-
- function calling
|
|
745
542
|
|
|
746
543
|
|
|
747
544
|
|
|
@@ -821,6 +618,8 @@ The following glossary is used to clarify certain concepts:
|
|
|
821
618
|
|
|
822
619
|
_Note: This section is not a complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
|
|
823
620
|
|
|
621
|
+
|
|
622
|
+
|
|
824
623
|
### 💯 Core concepts
|
|
825
624
|
|
|
826
625
|
- [📚 Collection of pipelines](https://github.com/webgptorg/promptbook/discussions/65)
|
package/esm/index.es.js
CHANGED
|
@@ -19,7 +19,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
|
|
|
19
19
|
* @generated
|
|
20
20
|
* @see https://github.com/webgptorg/promptbook
|
|
21
21
|
*/
|
|
22
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.103.0-
|
|
22
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.103.0-31';
|
|
23
23
|
/**
|
|
24
24
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
25
25
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -985,15 +985,30 @@ const ADMIN_GITHUB_NAME = 'hejny';
|
|
|
985
985
|
* @public exported from `@promptbook/core`
|
|
986
986
|
*/
|
|
987
987
|
const PROMPTBOOK_COLOR = Color.fromHex('#79EAFD');
|
|
988
|
-
// <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
988
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
989
989
|
/**
|
|
990
|
-
*
|
|
990
|
+
* Colors for syntax highlighting in the `<BookEditor/>`
|
|
991
|
+
*
|
|
992
|
+
* TODO: [🗽] Unite branding and make single place for it
|
|
993
|
+
*
|
|
994
|
+
* @public exported from `@promptbook/core`
|
|
995
|
+
*/
|
|
996
|
+
({
|
|
997
|
+
TITLE: Color.fromHex('#244EA8'),
|
|
998
|
+
LINE: Color.fromHex('#eeeeee'),
|
|
999
|
+
COMMITMENT: Color.fromHex('#DA0F78'),
|
|
1000
|
+
PARAMETER: Color.fromHex('#8e44ad'),
|
|
1001
|
+
});
|
|
1002
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
1003
|
+
/**
|
|
1004
|
+
* Chat color of the Promptbook (in chat)
|
|
991
1005
|
*
|
|
992
1006
|
* TODO: [🗽] Unite branding and make single place for it
|
|
993
1007
|
*
|
|
994
1008
|
* @public exported from `@promptbook/core`
|
|
995
1009
|
*/
|
|
996
1010
|
PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
|
|
1011
|
+
// <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
|
|
997
1012
|
/**
|
|
998
1013
|
* Color of the user (in chat)
|
|
999
1014
|
*
|
|
@@ -1871,10 +1886,13 @@ const LINES_PER_STANDARD_PAGE = 44;
|
|
|
1871
1886
|
* @public exported from `@promptbook/utils`
|
|
1872
1887
|
*/
|
|
1873
1888
|
function countLines(text) {
|
|
1889
|
+
if (text === '') {
|
|
1890
|
+
return 0;
|
|
1891
|
+
}
|
|
1874
1892
|
text = text.replace('\r\n', '\n');
|
|
1875
1893
|
text = text.replace('\r', '\n');
|
|
1876
1894
|
const lines = text.split('\n');
|
|
1877
|
-
return lines.reduce((count, line) => count + Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 0);
|
|
1895
|
+
return lines.reduce((count, line) => count + Math.max(Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 1), 0);
|
|
1878
1896
|
}
|
|
1879
1897
|
/**
|
|
1880
1898
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|