@promptbook/utils 0.103.0-4 → 0.103.0-41
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 +57 -21
- package/esm/index.es.js +36 -4
- package/esm/index.es.js.map +1 -1
- package/esm/typings/books/index.d.ts +0 -81
- 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 +30 -10
- package/esm/typings/src/_packages/node.index.d.ts +4 -2
- package/esm/typings/src/_packages/remote-server.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +18 -2
- package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +1 -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/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
- package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -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 +2 -2
- package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
- package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
- package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/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 → start-agents-server.d.ts} +3 -2
- package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
- 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/collection/agent-collection/AgentCollection.d.ts +36 -0
- package/esm/typings/src/collection/agent-collection/constructors/AgentCollectionInDirectory.d.ts +88 -0
- package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
- package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
- package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
- package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
- package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
- package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
- package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
- package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
- package/esm/typings/src/config.d.ts +22 -2
- package/esm/typings/src/errors/0-index.d.ts +3 -0
- package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
- package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
- package/esm/typings/src/execution/Executables.d.ts +3 -0
- package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
- package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
- package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
- package/esm/typings/src/execution/LlmExecutionTools.d.ts +7 -1
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
- package/esm/typings/src/execution/utils/logLlmCall.d.ts +8 -0
- 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/llm-providers/agent/Agent.d.ts +49 -0
- package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +9 -4
- package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +17 -0
- package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +16 -0
- package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +28 -0
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
- package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
- package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
- package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
- package/esm/typings/src/playground/playground.d.ts +0 -3
- package/esm/typings/src/playground/playground1.d.ts +2 -0
- package/esm/typings/src/remote-server/startAgentServer.d.ts +23 -0
- package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
- package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +22 -8
- 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 +29 -0
- package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
- package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
- package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +13 -0
- package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
- package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +13 -0
- package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
- package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
- package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
- package/esm/typings/src/types/LlmCall.d.ts +20 -0
- package/esm/typings/src/types/Updatable.d.ts +19 -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/files/listAllFiles.d.ts +2 -3
- 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/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
- package/package.json +2 -2
- package/umd/index.umd.js +36 -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 -9
- 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/collection/collectionToJson.d.ts +0 -13
- package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
- /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → collection/agent-collection/constructors/AgentCollectionInDirectory.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{constructors/createCollectionFromJson.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -371,11 +371,15 @@ The main challenge is to narrow it down, constrain it, set the proper **context,
|
|
|
371
371
|
|
|
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
|
+
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
374
375
|
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
/>
|
|
376
|
+
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
377
|
+
<br/>
|
|
378
|
+
**PERSONA** You are a company lawyer.<br/>
|
|
379
|
+
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
380
|
+
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
381
|
+
|
|
382
|
+
</td></tr></table>
|
|
379
383
|
|
|
380
384
|
<div style="page-break-after: always;"></div>
|
|
381
385
|
|
|
@@ -389,11 +393,15 @@ You can look at it as prompting (or writing a system message), but decorated by
|
|
|
389
393
|
|
|
390
394
|
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.
|
|
391
395
|
|
|
396
|
+
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
397
|
+
|
|
398
|
+
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
399
|
+
<br/>
|
|
400
|
+
**PERSONA** You are a company lawyer.<br/>
|
|
401
|
+
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
402
|
+
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
392
403
|
|
|
393
|
-
|
|
394
|
-
alt="Paul Smith & Associés Book"
|
|
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"
|
|
396
|
-
/>
|
|
404
|
+
</td></tr></table>
|
|
397
405
|
|
|
398
406
|
#### `Knowledge` commitment
|
|
399
407
|
|
|
@@ -403,11 +411,18 @@ This can include domain-specific knowledge, company policies, or any other relev
|
|
|
403
411
|
|
|
404
412
|
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.
|
|
405
413
|
|
|
414
|
+
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
415
|
+
|
|
416
|
+
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
417
|
+
<br/>
|
|
418
|
+
**PERSONA** You are a company lawyer.<br/>
|
|
419
|
+
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
420
|
+
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
421
|
+
<br/>
|
|
422
|
+
**KNOWLEDGE** https://company.com/company-policies.pdf<br/>
|
|
423
|
+
**KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
|
|
406
424
|
|
|
407
|
-
|
|
408
|
-
alt="Paul Smith & Associés Book"
|
|
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"
|
|
410
|
-
/>
|
|
425
|
+
</td></tr></table>
|
|
411
426
|
|
|
412
427
|
#### `Rule` commitment
|
|
413
428
|
|
|
@@ -415,21 +430,42 @@ Rules will enforce specific behaviors or constraints on the AI's responses. This
|
|
|
415
430
|
|
|
416
431
|
Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
|
|
417
432
|
|
|
433
|
+
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
418
434
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
/>
|
|
435
|
+
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
436
|
+
<br/>
|
|
437
|
+
**PERSONA** You are a company lawyer.<br/>
|
|
438
|
+
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
439
|
+
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
440
|
+
<br/>
|
|
441
|
+
**RULE** Always ensure compliance with laws and regulations.<br/>
|
|
442
|
+
**RULE** Never provide legal advice outside your area of expertise.<br/>
|
|
443
|
+
**RULE** Never provide legal advice about criminal law.<br/>
|
|
444
|
+
**KNOWLEDGE** https://company.com/company-policies.pdf<br/>
|
|
445
|
+
**KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
|
|
446
|
+
|
|
447
|
+
</td></tr></table>
|
|
423
448
|
|
|
424
449
|
#### `Action` commitment
|
|
425
450
|
|
|
426
451
|
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.
|
|
427
452
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
/>
|
|
453
|
+
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
454
|
+
|
|
455
|
+
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
456
|
+
<br/>
|
|
457
|
+
**PERSONA** You are a company lawyer.<br/>
|
|
458
|
+
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
459
|
+
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
460
|
+
<br/>
|
|
461
|
+
**RULE** Always ensure compliance with laws and regulations.<br/>
|
|
462
|
+
**RULE** Never provide legal advice outside your area of expertise.<br/>
|
|
463
|
+
**RULE** Never provide legal advice about criminal law.<br/>
|
|
464
|
+
**KNOWLEDGE** https://company.com/company-policies.pdf<br/>
|
|
465
|
+
**KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
|
|
466
|
+
**ACTION** When a user asks about an issue that could be treated as a crime, notify legal@company.com.<br/>
|
|
467
|
+
|
|
468
|
+
</td></tr></table>
|
|
433
469
|
|
|
434
470
|
[Read more about the language](./BLUEPRINT.md)
|
|
435
471
|
|
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-
|
|
19
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.103.0-41';
|
|
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
|
|
@@ -940,15 +940,30 @@ const ADMIN_GITHUB_NAME = 'hejny';
|
|
|
940
940
|
* @public exported from `@promptbook/core`
|
|
941
941
|
*/
|
|
942
942
|
const PROMPTBOOK_COLOR = Color.fromHex('#79EAFD');
|
|
943
|
-
// <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
943
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
944
944
|
/**
|
|
945
|
-
*
|
|
945
|
+
* Colors for syntax highlighting in the `<BookEditor/>`
|
|
946
|
+
*
|
|
947
|
+
* TODO: [🗽] Unite branding and make single place for it
|
|
948
|
+
*
|
|
949
|
+
* @public exported from `@promptbook/core`
|
|
950
|
+
*/
|
|
951
|
+
({
|
|
952
|
+
TITLE: Color.fromHex('#244EA8'),
|
|
953
|
+
LINE: Color.fromHex('#eeeeee'),
|
|
954
|
+
COMMITMENT: Color.fromHex('#DA0F78'),
|
|
955
|
+
PARAMETER: Color.fromHex('#8e44ad'),
|
|
956
|
+
});
|
|
957
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
958
|
+
/**
|
|
959
|
+
* Chat color of the Promptbook (in chat)
|
|
946
960
|
*
|
|
947
961
|
* TODO: [🗽] Unite branding and make single place for it
|
|
948
962
|
*
|
|
949
963
|
* @public exported from `@promptbook/core`
|
|
950
964
|
*/
|
|
951
965
|
PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
|
|
966
|
+
// <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
|
|
952
967
|
/**
|
|
953
968
|
* Color of the user (in chat)
|
|
954
969
|
*
|
|
@@ -2140,6 +2155,19 @@ class MissingToolsError extends Error {
|
|
|
2140
2155
|
}
|
|
2141
2156
|
}
|
|
2142
2157
|
|
|
2158
|
+
/**
|
|
2159
|
+
* This error indicates that promptbook operation is not allowed
|
|
2160
|
+
*
|
|
2161
|
+
* @public exported from `@promptbook/core`
|
|
2162
|
+
*/
|
|
2163
|
+
class NotAllowed extends Error {
|
|
2164
|
+
constructor(message) {
|
|
2165
|
+
super(message);
|
|
2166
|
+
this.name = 'NotAllowed';
|
|
2167
|
+
Object.setPrototypeOf(this, NotAllowed.prototype);
|
|
2168
|
+
}
|
|
2169
|
+
}
|
|
2170
|
+
|
|
2143
2171
|
/**
|
|
2144
2172
|
* This error indicates that promptbook not found in the collection
|
|
2145
2173
|
*
|
|
@@ -2289,6 +2317,7 @@ const PROMPTBOOK_ERRORS = {
|
|
|
2289
2317
|
PromptbookFetchError,
|
|
2290
2318
|
UnexpectedError,
|
|
2291
2319
|
WrappedError,
|
|
2320
|
+
NotAllowed,
|
|
2292
2321
|
// TODO: [🪑]> VersionMismatchError,
|
|
2293
2322
|
};
|
|
2294
2323
|
/**
|
|
@@ -2854,10 +2883,13 @@ function countCharacters(text) {
|
|
|
2854
2883
|
* @public exported from `@promptbook/utils`
|
|
2855
2884
|
*/
|
|
2856
2885
|
function countLines(text) {
|
|
2886
|
+
if (text === '') {
|
|
2887
|
+
return 0;
|
|
2888
|
+
}
|
|
2857
2889
|
text = text.replace('\r\n', '\n');
|
|
2858
2890
|
text = text.replace('\r', '\n');
|
|
2859
2891
|
const lines = text.split('\n');
|
|
2860
|
-
return lines.reduce((count, line) => count + Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 0);
|
|
2892
|
+
return lines.reduce((count, line) => count + Math.max(Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 1), 0);
|
|
2861
2893
|
}
|
|
2862
2894
|
/**
|
|
2863
2895
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|