@promptbook/vercel 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.
Files changed (89) hide show
  1. package/README.md +6 -207
  2. package/esm/index.es.js +23 -5
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/browser.index.d.ts +6 -0
  5. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  6. package/esm/typings/src/_packages/components.index.d.ts +12 -8
  7. package/esm/typings/src/_packages/core.index.d.ts +10 -0
  8. package/esm/typings/src/_packages/types.index.d.ts +10 -0
  9. package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
  10. package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
  11. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +76 -15
  12. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
  13. package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
  14. package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
  15. package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
  16. package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
  17. package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
  18. package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
  19. package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
  20. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
  21. package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +4 -1
  22. package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
  23. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  24. package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
  25. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
  26. package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
  27. package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
  28. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
  29. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  30. package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
  31. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  32. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  33. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  34. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  35. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  36. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  37. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  38. package/esm/typings/src/cli/cli-commands/start-server.d.ts +3 -1
  39. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  40. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  41. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  42. package/esm/typings/src/config.d.ts +14 -1
  43. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  44. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  45. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  46. package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -0
  47. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  48. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  49. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  50. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  51. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  52. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  53. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  54. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  55. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  56. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  57. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  58. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  59. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  60. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  61. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  62. package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +19 -0
  63. package/esm/typings/src/transpilers/_common/BookTranspilerDefinition.d.ts +37 -0
  64. package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +19 -0
  65. package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
  66. package/esm/typings/src/transpilers/langchain/LangchainTranspiler.d.ts +7 -0
  67. package/esm/typings/src/transpilers/langchain/register.d.ts +15 -0
  68. package/esm/typings/src/transpilers/openai/OpenAiSdkTranspiler.d.ts +13 -0
  69. package/esm/typings/src/transpilers/openai/register.d.ts +15 -0
  70. package/esm/typings/src/types/typeAliases.d.ts +1 -1
  71. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  72. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  73. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  74. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  75. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  76. package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +21 -0
  77. package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
  78. package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
  79. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  80. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  81. package/esm/typings/src/version.d.ts +1 -1
  82. package/package.json +3 -3
  83. package/umd/index.umd.js +23 -5
  84. package/umd/index.umd.js.map +1 -1
  85. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
  86. package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -6
  87. package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
  88. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
  89. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.test.d.ts +0 -1
@@ -7,9 +7,9 @@ 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
- import { DEFAULT_BOOK_FONT_CLASS } from '../book-components/BookEditor/config';
13
13
  import { Chat } from '../book-components/Chat/Chat/Chat';
14
14
  import type { ChatProps } from '../book-components/Chat/Chat/ChatProps';
15
15
  import { useChatAutoScroll } from '../book-components/Chat/hooks/useChatAutoScroll';
@@ -17,6 +17,7 @@ import type { SendMessageToLlmChatFunction } from '../book-components/Chat/hooks
17
17
  import { useSendMessageToLlmChat } from '../book-components/Chat/hooks/useSendMessageToLlmChat';
18
18
  import { LlmChat } from '../book-components/Chat/LlmChat/LlmChat';
19
19
  import type { LlmChatProps } from '../book-components/Chat/LlmChat/LlmChatProps';
20
+ import { MarkdownContent } from '../book-components/Chat/MarkdownContent/MarkdownContent';
20
21
  import { NORMAL_FLOW } from '../book-components/Chat/MockedChat/constants';
21
22
  import { FAST_FLOW } from '../book-components/Chat/MockedChat/constants';
22
23
  import { SLOW_FLOW } from '../book-components/Chat/MockedChat/constants';
@@ -40,18 +41,19 @@ import type { ChatMessage } from '../book-components/Chat/types/ChatMessage';
40
41
  import type { ChatParticipant } from '../book-components/Chat/types/ChatParticipant';
41
42
  import type { MessageButton } from '../book-components/Chat/utils/parseMessageButtons';
42
43
  import { parseMessageButtons } from '../book-components/Chat/utils/parseMessageButtons';
43
- import { renderMarkdown } from '../book-components/Chat/utils/renderMarkdown';
44
- import { isMarkdownContent } from '../book-components/Chat/utils/renderMarkdown';
45
44
  import { ArrowIcon } from '../book-components/icons/ArrowIcon';
46
45
  import { AttachmentIcon } from '../book-components/icons/AttachmentIcon';
47
- import { CloseIcon } from '../book-components/icons/CloseIcon';
48
46
  import { PauseIcon } from '../book-components/icons/PauseIcon';
49
47
  import { PlayIcon } from '../book-components/icons/PlayIcon';
50
48
  import { ResetIcon } from '../book-components/icons/ResetIcon';
51
49
  import { SaveIcon } from '../book-components/icons/SaveIcon';
52
50
  import { SendIcon } from '../book-components/icons/SendIcon';
53
51
  import { TemplateIcon } from '../book-components/icons/TemplateIcon';
52
+ import { BrandedQrCode } from '../book-components/Qr/BrandedQrCode';
53
+ import { GenericQrCode } from '../book-components/Qr/GenericQrCode';
54
+ import { PromptbookQrCode } from '../book-components/Qr/PromptbookQrCode';
54
55
  import { injectCssModuleIntoShadowRoot } from '../utils/misc/injectCssModuleIntoShadowRoot';
56
+ import { AboutPromptbookInformation } from '../utils/misc/xAboutPromptbookInformation';
55
57
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
56
58
  export type { AvatarChipProps };
57
59
  export { AvatarChip };
@@ -61,9 +63,9 @@ export type { AvatarProfileProps };
61
63
  export { AvatarProfile };
62
64
  export type { AvatarProfileFromSourceProps };
63
65
  export { AvatarProfileFromSource };
66
+ export { DEFAULT_BOOK_EDITOR_HEIGHT };
64
67
  export type { BookEditorProps };
65
68
  export { BookEditor };
66
- export { DEFAULT_BOOK_FONT_CLASS };
67
69
  export { Chat };
68
70
  export type { ChatProps };
69
71
  export { useChatAutoScroll };
@@ -71,6 +73,7 @@ export type { SendMessageToLlmChatFunction };
71
73
  export { useSendMessageToLlmChat };
72
74
  export { LlmChat };
73
75
  export type { LlmChatProps };
76
+ export { MarkdownContent };
74
77
  export { NORMAL_FLOW };
75
78
  export { FAST_FLOW };
76
79
  export { SLOW_FLOW };
@@ -94,15 +97,16 @@ export type { ChatMessage };
94
97
  export type { ChatParticipant };
95
98
  export type { MessageButton };
96
99
  export { parseMessageButtons };
97
- export { renderMarkdown };
98
- export { isMarkdownContent };
99
100
  export { ArrowIcon };
100
101
  export { AttachmentIcon };
101
- export { CloseIcon };
102
102
  export { PauseIcon };
103
103
  export { PlayIcon };
104
104
  export { ResetIcon };
105
105
  export { SaveIcon };
106
106
  export { SendIcon };
107
107
  export { TemplateIcon };
108
+ export { BrandedQrCode };
109
+ export { GenericQrCode };
110
+ export { PromptbookQrCode };
108
111
  export { injectCssModuleIntoShadowRoot };
112
+ export { AboutPromptbookInformation };
@@ -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';
@@ -168,14 +171,18 @@ import { _WebsiteScraperMetadataRegistration } from '../scrapers/website/registe
168
171
  import { BlackholeStorage } from '../storage/blackhole/BlackholeStorage';
169
172
  import { MemoryStorage } from '../storage/memory/MemoryStorage';
170
173
  import { PrefixStorage } from '../storage/utils/PrefixStorage';
174
+ import { $bookTranspilersRegister } from '../transpilers/_common/register/$bookTranspilersRegister';
171
175
  import { MODEL_VARIANTS } from '../types/ModelVariant';
172
176
  import { NonTaskSectionTypes } from '../types/SectionType';
173
177
  import { SectionTypes } from '../types/SectionType';
174
178
  import { TaskTypes } from '../types/TaskType';
179
+ import { aboutPromptbookInformation } from '../utils/misc/aboutPromptbookInformation';
175
180
  import { REMOTE_SERVER_URLS } from '../../servers';
176
181
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
177
182
  export { createAgentModelRequirements };
178
183
  export { createAgentModelRequirementsWithCommitments };
184
+ export { PADDING_LINES };
185
+ export { padBook };
179
186
  export { parseAgentSource };
180
187
  export { parseParameters };
181
188
  export { isValidBook };
@@ -199,6 +206,7 @@ export { ADMIN_EMAIL };
199
206
  export { ADMIN_GITHUB_NAME };
200
207
  export { CLAIM };
201
208
  export { PROMPTBOOK_COLOR };
209
+ export { PROMPTBOOK_SYNTAX_COLORS };
202
210
  export { PROMPTBOOK_CHAT_COLOR };
203
211
  export { USER_CHAT_COLOR };
204
212
  export { DEFAULT_BOOK_TITLE };
@@ -343,8 +351,10 @@ export { _WebsiteScraperMetadataRegistration };
343
351
  export { BlackholeStorage };
344
352
  export { MemoryStorage };
345
353
  export { PrefixStorage };
354
+ export { $bookTranspilersRegister };
346
355
  export { MODEL_VARIANTS };
347
356
  export { NonTaskSectionTypes };
348
357
  export { SectionTypes };
349
358
  export { TaskTypes };
359
+ export { aboutPromptbookInformation };
350
360
  export { REMOTE_SERVER_URLS };
@@ -21,6 +21,7 @@ import type { string_chat_format_name } from '../book-components/Chat/save/_comm
21
21
  import type { ChatMessage } from '../book-components/Chat/types/ChatMessage';
22
22
  import type { ChatParticipant } from '../book-components/Chat/types/ChatParticipant';
23
23
  import type { MessageButton } from '../book-components/Chat/utils/parseMessageButtons';
24
+ import type { QrCodeOptions } from '../book-components/Qr/useQrCode';
24
25
  import type { PipelineCollection } from '../collection/PipelineCollection';
25
26
  import type { Command } from '../commands/_common/types/Command';
26
27
  import type { CommandParser } from '../commands/_common/types/CommandParser';
@@ -166,6 +167,9 @@ import type { PostprocessingFunction } from '../scripting/javascript/JavascriptE
166
167
  import type { PromptbookStorage } from '../storage/_common/PromptbookStorage';
167
168
  import type { FileCacheStorageOptions } from '../storage/file-cache-storage/FileCacheStorageOptions';
168
169
  import type { IndexedDbStorageOptions } from '../storage/local-storage/utils/IndexedDbStorageOptions';
170
+ import type { BookTranspiler } from '../transpilers/_common/BookTranspiler';
171
+ import type { BookTranspilerDefinition } from '../transpilers/_common/BookTranspilerDefinition';
172
+ import type { BookTranspilerOptions } from '../transpilers/_common/BookTranspilerOptions';
169
173
  import type { IntermediateFilesStrategy } from '../types/IntermediateFilesStrategy';
170
174
  import type { ModelRequirements } from '../types/ModelRequirements';
171
175
  import type { CompletionModelRequirements } from '../types/ModelRequirements';
@@ -314,6 +318,7 @@ import type { CodeBlock } from '../utils/markdown/extractAllBlocksFromMarkdown';
314
318
  import type { MarkdownSection } from '../utils/markdown/parseMarkdownSection';
315
319
  import type { Registered } from '../utils/misc/$Register';
316
320
  import type { Registration } from '../utils/misc/$Register';
321
+ import type { AboutPromptbookInformationOptions } from '../utils/misc/aboutPromptbookInformation';
317
322
  import type { FromtoItems } from '../utils/misc/FromtoItems';
318
323
  import type { InjectCssModuleIntoShadowRootOptions } from '../utils/misc/injectCssModuleIntoShadowRoot';
319
324
  import type { string_keyword } from '../utils/normalization/IKeywords';
@@ -354,6 +359,7 @@ export type { string_chat_format_name };
354
359
  export type { ChatMessage };
355
360
  export type { ChatParticipant };
356
361
  export type { MessageButton };
362
+ export type { QrCodeOptions };
357
363
  export type { PipelineCollection };
358
364
  export type { Command };
359
365
  export type { CommandParser };
@@ -499,6 +505,9 @@ export type { PostprocessingFunction };
499
505
  export type { PromptbookStorage };
500
506
  export type { FileCacheStorageOptions };
501
507
  export type { IndexedDbStorageOptions };
508
+ export type { BookTranspiler };
509
+ export type { BookTranspilerDefinition };
510
+ export type { BookTranspilerOptions };
502
511
  export type { IntermediateFilesStrategy };
503
512
  export type { ModelRequirements };
504
513
  export type { CompletionModelRequirements };
@@ -647,6 +656,7 @@ export type { CodeBlock };
647
656
  export type { MarkdownSection };
648
657
  export type { Registered };
649
658
  export type { Registration };
659
+ export type { AboutPromptbookInformationOptions };
650
660
  export type { FromtoItems };
651
661
  export type { InjectCssModuleIntoShadowRootOptions };
652
662
  export type { string_keyword };
@@ -29,6 +29,8 @@ import { _PdfScraperRegistration } from '../scrapers/pdf/register-constructor';
29
29
  import { _PdfScraperMetadataRegistration } from '../scrapers/pdf/register-metadata';
30
30
  import { _WebsiteScraperRegistration } from '../scrapers/website/register-constructor';
31
31
  import { _WebsiteScraperMetadataRegistration } from '../scrapers/website/register-metadata';
32
+ import { _LangchainTranspilerRegistration } from '../transpilers/langchain/register';
33
+ import { _OpenAiSdkTranspilerRegistration } from '../transpilers/openai/register';
32
34
  import { wizard } from '../wizard/wizard';
33
35
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
34
36
  export { _AnthropicClaudeMetadataRegistration };
@@ -61,4 +63,6 @@ export { _PdfScraperRegistration };
61
63
  export { _PdfScraperMetadataRegistration };
62
64
  export { _WebsiteScraperRegistration };
63
65
  export { _WebsiteScraperMetadataRegistration };
66
+ export { _LangchainTranspilerRegistration };
67
+ export { _OpenAiSdkTranspilerRegistration };
64
68
  export { wizard };
@@ -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,7 +1,15 @@
1
- import type { CSSProperties } from 'react';
1
+ import { 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
  *
@@ -12,10 +20,6 @@ export type BookEditorProps = {
12
20
  * The source of the agent to be displayed in the editor.
13
21
  */
14
22
  readonly agentSource?: string_book;
15
- /**
16
- * Callback function to be called when the editor is closed.
17
- */
18
- onClose?(): void;
19
23
  /**
20
24
  * Additional CSS classes to apply to the editor container.
21
25
  */
@@ -25,10 +29,21 @@ export type BookEditorProps = {
25
29
  */
26
30
  readonly style?: CSSProperties;
27
31
  /**
28
- * CSS className for a font (e.g. from next/font) to style the editor text.
29
- * 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`
30
39
  */
31
- readonly fontClassName?: string;
40
+ readonly height?: string_css_value | null;
41
+ /**
42
+ * Zoom level of the editor
43
+ *
44
+ * @default 1 (100%)
45
+ */
46
+ readonly zoom?: number_percent & number_positive;
32
47
  /**
33
48
  * The book which is being edited.
34
49
  */
@@ -49,17 +64,63 @@ export type BookEditorProps = {
49
64
  * If true, disables border radius making the editor have sharp corners
50
65
  */
51
66
  readonly isBorderRadiusDisabled?: boolean;
52
- /**
53
- * If true, shows the footer with book title and version information.
54
- * By default, the footer is hidden.
55
- */
56
- readonly isFooterShown?: boolean;
57
67
  /**
58
68
  * If true, the editor is in read-only mode
59
69
  *
60
70
  * @default false
61
71
  */
62
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 true, shows the fullscreen button in the action bar.
96
+ * By default, the fullscreen button is shown.
97
+ */
98
+ readonly isFullscreenButtonShown?: boolean;
99
+ /**
100
+ * Callback function to handle fullscreen button click.
101
+ * Note: This is for internal use between BookEditor and BookEditorMonaco
102
+ * @private
103
+ */
104
+ onFullscreenClick?(): void;
105
+ /**
106
+ * If true, the editor is in fullscreen mode.
107
+ * Note: This is for internal use between BookEditor and BookEditorMonaco
108
+ * @private
109
+ */
110
+ readonly isFullscreen?: boolean;
111
+ /**
112
+ * If defined, the editor will be synced with other editors with the same sync configuration.
113
+ */
114
+ readonly sync?: {
115
+ /**
116
+ * The URL of the y-websocket server.
117
+ */
118
+ readonly serverUrl: string;
119
+ /**
120
+ * The name of the room to join.
121
+ */
122
+ readonly roomName: string;
123
+ };
63
124
  };
64
125
  /**
65
126
  * Renders a book editor
@@ -0,0 +1,14 @@
1
+ type BookEditorActionbarProps = {
2
+ value: string | undefined;
3
+ isDownloadButtonShown?: boolean;
4
+ isAboutButtonShown?: boolean;
5
+ isFullscreenButtonShown?: boolean;
6
+ onFullscreenClick?: () => void;
7
+ isFullscreen?: boolean;
8
+ };
9
+ /**
10
+ *
11
+ * @private Internal component used by `BookEditor`
12
+ */
13
+ export declare function BookEditorActionbar(props: BookEditorActionbarProps): import("react/jsx-runtime").JSX.Element;
14
+ 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;
@@ -0,0 +1,15 @@
1
+ import type { string_markdown } from '../../../types/typeAliases';
2
+ type MarkdownContentProps = {
3
+ content: string_markdown;
4
+ className?: string;
5
+ };
6
+ /**
7
+ * Renders markdown content with support for code highlighting, math, and tables.
8
+ *
9
+ * @public exported from `@promptbook/components`
10
+ */
11
+ export declare function MarkdownContent(props: MarkdownContentProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ /**
14
+ * TODO: !!! Split into multiple files
15
+ */
@@ -42,6 +42,11 @@ export type MockedChatDelayConfig = {
42
42
  * If true, disables typing effect and shows full message at once (BLOCKY_FLOW)
43
43
  */
44
44
  blocky?: boolean;
45
+ /**
46
+ * This prop will allow to show N first messages immediately, while the rest will be typed out with delays
47
+ * @default 0
48
+ */
49
+ showIntermediateMessages?: number;
45
50
  };
46
51
  /**
47
52
  * Props for MockedChat component
@@ -0,0 +1,18 @@
1
+ import { QrCodeOptions } from './useQrCode';
2
+ type BrandedQrCodeProps = QrCodeOptions & {
3
+ /**
4
+ * Width and height of the QR code canvas
5
+ *
6
+ * @default 250
7
+ */
8
+ size?: number;
9
+ /**
10
+ * Additional CSS class names to apply to the container div
11
+ */
12
+ className?: string;
13
+ };
14
+ /**
15
+ * @public exported from `@promptbook/components`
16
+ */
17
+ export declare function BrandedQrCode(props: BrandedQrCodeProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,10 @@
1
+ type GenericQrCodeProps = {
2
+ value: string | number;
3
+ size?: number;
4
+ className?: string;
5
+ };
6
+ /**
7
+ * @public exported from `@promptbook/components`
8
+ */
9
+ export declare function GenericQrCode({ value, size, className }: GenericQrCodeProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,18 @@
1
+ type PromptbookQrCodeProps = {
2
+ value: string | number;
3
+ /**
4
+ * Width and height of the QR code canvas
5
+ *
6
+ * @default 250
7
+ */
8
+ size?: number;
9
+ /**
10
+ * Additional CSS class names to apply to the container div
11
+ */
12
+ className?: string;
13
+ };
14
+ /**
15
+ * @public exported from `@promptbook/components`
16
+ */
17
+ export declare function PromptbookQrCode(props: PromptbookQrCodeProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import type { QRCodeRenderersOptions } from 'qrcode';
3
+ import { string_url_image } from '../../types/typeAliases';
4
+ export type QrCodeOptions = QRCodeRenderersOptions & {
5
+ value: string | number;
6
+ logoSrc?: string_url_image;
7
+ };
8
+ /**
9
+ *
10
+ *
11
+ * @private utility of QR code components
12
+ */
13
+ export declare function useQrCode(options: QrCodeOptions): {
14
+ canvasRef: import("react").RefObject<HTMLCanvasElement | null>;
15
+ };
@@ -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 {};
@@ -1,10 +1,13 @@
1
1
  import { ReactNode } from 'react';
2
2
  /**
3
3
  *
4
- * @private internal subcomponent of `<Chat>` component
4
+ * @private internal subcomponent used by various components
5
5
  */
6
6
  export declare function Modal({ children, onClose, className, }: {
7
7
  children: ReactNode;
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;
@@ -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;
@@ -1,11 +1,7 @@
1
- type CloseIconProps = {
2
- size?: number;
3
- color?: string;
4
- };
1
+ import { JSX } from 'react';
5
2
  /**
6
- * @@@
3
+ * Renders an icon that represents the close action
7
4
  *
8
- * @public exported from `@promptbook/components`
5
+ * @private
9
6
  */
10
- export declare function CloseIcon({ size, color }: CloseIconProps): import("react/jsx-runtime").JSX.Element;
11
- export {};
7
+ export declare function CloseIcon(): 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,7 @@
1
+ import { JSX } from 'react';
2
+ /**
3
+ * Renders an icon that represents the exit fullscreen action
4
+ *
5
+ * @private
6
+ */
7
+ export declare function ExitFullscreenIcon(): JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { JSX } from 'react';
2
+ /**
3
+ * Renders an icon that represents the fullscreen action
4
+ *
5
+ * @private
6
+ */
7
+ export declare function FullscreenIcon(): 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,8 +7,9 @@ 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
  /**
12
+ * TODO: [🕋] Use here `aboutPromptbookInformation`
11
13
  * TODO: [🗽] Unite branding and make single place for it
12
14
  * Note: [💞] Ignore a discrepancy between file name and entity name
13
15
  * 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 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
@@ -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 `list-models` 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 $initializeListModelsCommand(program: Program): void;
10
+ export declare function $initializeListModelsCommand(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 `list-scrapers` 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 $initializeListScrapersCommand(program: Program): void;
10
+ export declare function $initializeListScrapersCommand(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`