@promptbook/types 0.103.0-4 → 0.103.0-40

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 (139) hide show
  1. package/README.md +57 -21
  2. package/esm/typings/books/index.d.ts +0 -81
  3. package/esm/typings/src/_packages/browser.index.d.ts +6 -0
  4. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  5. package/esm/typings/src/_packages/components.index.d.ts +12 -8
  6. package/esm/typings/src/_packages/core.index.d.ts +30 -10
  7. package/esm/typings/src/_packages/node.index.d.ts +4 -2
  8. package/esm/typings/src/_packages/types.index.d.ts +18 -2
  9. package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
  10. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +1 -0
  11. package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
  12. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +76 -15
  13. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
  14. package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
  15. package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
  16. package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
  17. package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
  18. package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
  19. package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
  20. package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
  21. package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
  22. package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
  23. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
  24. package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +2 -2
  25. package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
  26. package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
  27. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  28. package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
  29. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
  30. package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
  31. package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
  32. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
  33. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  34. package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
  35. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  36. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  37. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  38. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  39. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  40. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  41. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  42. package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
  43. package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
  44. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  45. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  46. package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +36 -0
  47. package/esm/typings/src/collection/agent-collection/constructors/AgentCollectionInDirectory.d.ts +88 -0
  48. package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
  49. package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
  50. package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
  51. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
  52. package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
  53. package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
  54. package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
  55. package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
  56. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  57. package/esm/typings/src/config.d.ts +22 -2
  58. package/esm/typings/src/errors/0-index.d.ts +3 -0
  59. package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
  60. package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
  61. package/esm/typings/src/execution/Executables.d.ts +3 -0
  62. package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
  63. package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
  64. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  65. package/esm/typings/src/execution/LlmExecutionTools.d.ts +7 -1
  66. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
  67. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
  68. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
  69. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
  70. package/esm/typings/src/execution/utils/logLlmCall.d.ts +8 -0
  71. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  72. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  73. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  74. package/esm/typings/src/llm-providers/agent/Agent.d.ts +49 -0
  75. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +9 -4
  76. package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +17 -0
  77. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +16 -0
  78. package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
  79. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +28 -0
  80. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
  81. package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
  82. package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
  83. package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
  84. package/esm/typings/src/playground/playground.d.ts +0 -3
  85. package/esm/typings/src/playground/playground1.d.ts +2 -0
  86. package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
  87. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +22 -8
  88. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  89. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  90. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  91. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  92. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  93. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  94. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  95. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  96. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  97. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  98. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  99. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  100. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  101. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  102. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  103. package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +29 -0
  104. package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
  105. package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
  106. package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +13 -0
  107. package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
  108. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +13 -0
  109. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
  110. package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
  111. package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
  112. package/esm/typings/src/types/LlmCall.d.ts +20 -0
  113. package/esm/typings/src/types/Updatable.d.ts +19 -0
  114. package/esm/typings/src/types/typeAliases.d.ts +1 -1
  115. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  116. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  117. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  118. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  119. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  120. package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
  121. package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +21 -0
  122. package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
  123. package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
  124. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  125. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  126. package/esm/typings/src/version.d.ts +1 -1
  127. package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
  128. package/package.json +2 -2
  129. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
  130. package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -9
  131. package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
  132. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
  133. package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
  134. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
  135. /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → collection/agent-collection/constructors/AgentCollectionInDirectory.test.d.ts} +0 -0
  136. /package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
  137. /package/esm/typings/src/collection/{constructors/createCollectionFromJson.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
  138. /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts} +0 -0
  139. /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
@@ -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
@@ -15,5 +15,6 @@ export declare const htmlSaveFormatDefinition: {
15
15
  readonly fileExtension: "html";
16
16
  };
17
17
  /**
18
+ * TODO: !!! Add QR code with branding to the footer
18
19
  * TODO: [😬] Take chat save to HTML from existing parallel implementation
19
20
  */
@@ -14,3 +14,7 @@ export declare const pdfSaveFormatDefinition: {
14
14
  readonly mimeType: "application/pdf";
15
15
  readonly fileExtension: "pdf";
16
16
  };
17
+ /**
18
+ * TODO: !!! Add QR code with branding to the footer
19
+ * TODO: !!! Add print option
20
+ */
@@ -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,7 +1,7 @@
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;
@@ -9,5 +9,5 @@ export declare function Modal({ children, onClose, className, }: {
9
9
  className?: string;
10
10
  }): import("react").ReactPortal;
11
11
  /**
12
- * TODO: !!!! Use this also for feedback modal in Chat component
12
+ * TODO: Use this also for feedback modal in Chat component - Make modals DRY
13
13
  */
@@ -0,0 +1,47 @@
1
+ import { ReactNode } from 'react';
2
+ type TooltipProps = {
3
+ /**
4
+ * The content to display in the tooltip
5
+ */
6
+ content: string;
7
+ /**
8
+ * The element that triggers the tooltip
9
+ */
10
+ children: ReactNode;
11
+ /**
12
+ * The position of the tooltip relative to the trigger element
13
+ * @default "top"
14
+ */
15
+ position?: 'top' | 'right' | 'bottom' | 'left';
16
+ /**
17
+ * Optional delay before showing the tooltip (in milliseconds)
18
+ * @default 0
19
+ */
20
+ delay?: number;
21
+ /**
22
+ * Render the tooltip wrapper as a block-level element that spans full width.
23
+ * Useful when wrapping grid/list items so the clickable area matches the visual card.
24
+ * @default false
25
+ */
26
+ block?: boolean;
27
+ /**
28
+ * Enable tooltip on touch devices. By default tooltips are disabled on touch to avoid
29
+ * stealing clicks from the underlying element (eg. agent card selection).
30
+ * @default false
31
+ */
32
+ isEnabledOnTouch?: boolean;
33
+ /**
34
+ * If true, the tooltip will not be displayed but the content will still be rendered.
35
+ * In this case <Tooltip> is equivalent to a <React.Fragment> with the content.
36
+ *
37
+ * Note: Tooltip sometimes breaks the hover, temporarily disable via this prop
38
+ */
39
+ isDisabled?: boolean;
40
+ };
41
+ /**
42
+ * A tooltip component that displays additional information when hovering over an element
43
+ *
44
+ * @private Used internally in book components
45
+ */
46
+ export declare function Tooltip({ content, children, position, delay, block, isEnabledOnTouch: enableOnTouch, isDisabled, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
47
+ export {};
@@ -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`
@@ -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 `login` 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 $initializeLoginCommand(program: Program): void;
10
+ export declare function $initializeLoginCommand(program: Program): $side_effect;
10
11
  /**
11
12
  * TODO: Implement non-interactive login
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 `make` 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 $initializeMakeCommand(program: Program): void;
10
+ export declare function $initializeMakeCommand(program: Program): $side_effect;
10
11
  /**
11
12
  * TODO: [🥃][main] !!3 Allow `ptbk make` without configuring any llm tools
12
13
  * TODO: [0] DRY Javascript and typescript - Maybe make ONLY typescript and for javascript just remove types
@@ -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 `prettify` 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 $initializePrettifyCommand(program: Program): void;
10
+ export declare function $initializePrettifyCommand(program: Program): $side_effect;
10
11
  /**
11
12
  * TODO: [😶] Unite folder listing
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 `run` 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 $initializeRunCommand(program: Program): void;
10
+ export declare function $initializeRunCommand(program: Program): $side_effect;
10
11
  /**
11
12
  * TODO: !!5 Catch and wrap all errors from CLI
12
13
  * TODO: [🧠] Pass `maxExecutionAttempts`, `csvSettings`
@@ -1,12 +1,13 @@
1
1
  import type { Command as Program } from 'commander';
2
+ import { $side_effect } from '../../utils/organization/$side_effect';
2
3
  /**
3
- * Initializes `start-server` command for Promptbook CLI utilities
4
+ * Initializes `start-agents-server` command for Promptbook CLI utilities
4
5
  *
5
6
  * Note: `$` is used to indicate that this function is not a pure function - it registers a command in the CLI
6
7
  *
7
8
  * @private internal function of `promptbookCli`
8
9
  */
9
- export declare function $initializeStartServerCommand(program: Program): void;
10
+ export declare function $initializeStartAgentsServerCommand(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`
@@ -0,0 +1,15 @@
1
+ import type { Command as Program } from 'commander';
2
+ import { $side_effect } from '../../utils/organization/$side_effect';
3
+ /**
4
+ * Initializes `start-pipelines-server` command for Promptbook CLI utilities
5
+ *
6
+ * Note: `$` is used to indicate that this function is not a pure function - it registers a command in the CLI
7
+ *
8
+ * @private internal function of `promptbookCli`
9
+ */
10
+ export declare function $initializeStartPipelinesServerCommand(program: Program): $side_effect;
11
+ /**
12
+ * TODO: [🕋] Use here `aboutPromptbookInformation`
13
+ * Note: [💞] Ignore a discrepancy between file name and entity name
14
+ * Note: [🟡] Code in this file should never be published outside of `@promptbook/cli`
15
+ */
@@ -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 `test` 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 $initializeTestCommand(program: Program): void;
10
+ export declare function $initializeTestCommand(program: Program): $side_effect;
10
11
  /**
11
12
  * TODO: [😶] Unite folder listing
12
13
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1,7 +1,8 @@
1
1
  import { Command } from 'commander';
2
+ import { $side_effect } from '../../utils/organization/$side_effect';
2
3
  /**
3
4
  * Note: `$` is used to indicate that this function is not a pure function - it registers an option in the CLI
4
5
  *
5
6
  * @private utility of CLI
6
7
  */
7
- export declare function $addGlobalOptionsToCommand(command: Command): void;
8
+ export declare function $addGlobalOptionsToCommand(command: Command): $side_effect;
@@ -0,0 +1,36 @@
1
+ import type { Promisable } from 'type-fest';
2
+ import { Agent } from '../../_packages/core.index';
3
+ import { string_book } from '../../_packages/types.index';
4
+ import type { string_agent_name } from '../../types/typeAliases';
5
+ /**
6
+ * Collection that groups together multiple AI Agents
7
+ *
8
+ * Note: [🧸] There are two types of collections:
9
+ * - `AgentCollection` - which groups together AI Agents
10
+ * - `PipelineCollection` - which groups together *(deprecated)* pipelines
11
+ */
12
+ export type AgentCollection = {
13
+ /**
14
+ * Gets all agents in the collection
15
+ */
16
+ listAgents(): Promisable<ReadonlyArray<string_agent_name>>;
17
+ /**
18
+ * Get one agent by its name
19
+ *
20
+ * Note: Agents are existing independently of you getting them or not, you can get the same agent multiple times.
21
+ * Note: Agents are changed by interacting with `Agent` objects directly. Only creation and deletion is done via the collection.
22
+ */
23
+ getAgentByName(agentName: string_agent_name): Promisable<Agent>;
24
+ /**
25
+ * Deletes an agent from the collection
26
+ *
27
+ * Note: When you want delete an agent by name, first get the agent using `getAgentByName` and then pass it to `deleteAgent`.
28
+ */
29
+ deleteAgent(agent: Agent): Promisable<void>;
30
+ /**
31
+ * Creates a new agent in the collection
32
+ *
33
+ * Note: You can set 'PARENT' in the agent source to inherit from another agent in the collection.
34
+ */
35
+ createAgent(agentSource: string_book): Promisable<Agent>;
36
+ };