@promptbook/openai 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 (143) hide show
  1. package/README.md +64 -30
  2. package/esm/index.es.js +166 -8
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/books/index.d.ts +0 -81
  5. package/esm/typings/src/_packages/browser.index.d.ts +6 -0
  6. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  7. package/esm/typings/src/_packages/components.index.d.ts +12 -8
  8. package/esm/typings/src/_packages/core.index.d.ts +30 -10
  9. package/esm/typings/src/_packages/node.index.d.ts +4 -2
  10. package/esm/typings/src/_packages/types.index.d.ts +18 -2
  11. package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
  12. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +1 -0
  13. package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
  14. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +76 -15
  15. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
  16. package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
  17. package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
  18. package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
  19. package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
  20. package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
  21. package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
  22. package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
  23. package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
  24. package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
  25. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
  26. package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +2 -2
  27. package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
  28. package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
  29. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  30. package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
  31. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
  32. package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
  33. package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
  34. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
  35. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  36. package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
  37. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  38. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  39. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  40. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  41. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  42. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  43. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  44. package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
  45. package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
  46. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  47. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  48. package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +36 -0
  49. package/esm/typings/src/collection/agent-collection/constructors/AgentCollectionInDirectory.d.ts +88 -0
  50. package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
  51. package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
  52. package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
  53. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
  54. package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
  55. package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
  56. package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
  57. package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
  58. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  59. package/esm/typings/src/config.d.ts +22 -2
  60. package/esm/typings/src/errors/0-index.d.ts +3 -0
  61. package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
  62. package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
  63. package/esm/typings/src/execution/Executables.d.ts +3 -0
  64. package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
  65. package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
  66. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  67. package/esm/typings/src/execution/LlmExecutionTools.d.ts +7 -1
  68. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
  69. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
  70. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
  71. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
  72. package/esm/typings/src/execution/utils/logLlmCall.d.ts +8 -0
  73. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  74. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  75. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  76. package/esm/typings/src/llm-providers/agent/Agent.d.ts +49 -0
  77. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +9 -4
  78. package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +17 -0
  79. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +16 -0
  80. package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
  81. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +28 -0
  82. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
  83. package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
  84. package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
  85. package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
  86. package/esm/typings/src/playground/playground.d.ts +0 -3
  87. package/esm/typings/src/playground/playground1.d.ts +2 -0
  88. package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
  89. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +22 -8
  90. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  91. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  92. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  93. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  94. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  95. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  96. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  97. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  98. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  99. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  100. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  101. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  102. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  103. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  104. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  105. package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +29 -0
  106. package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
  107. package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
  108. package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +13 -0
  109. package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
  110. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +13 -0
  111. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
  112. package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
  113. package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
  114. package/esm/typings/src/types/LlmCall.d.ts +20 -0
  115. package/esm/typings/src/types/Updatable.d.ts +19 -0
  116. package/esm/typings/src/types/typeAliases.d.ts +1 -1
  117. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  118. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  119. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  120. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  121. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  122. package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
  123. package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +21 -0
  124. package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
  125. package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
  126. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  127. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  128. package/esm/typings/src/version.d.ts +1 -1
  129. package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
  130. package/package.json +7 -6
  131. package/umd/index.umd.js +169 -12
  132. package/umd/index.umd.js.map +1 -1
  133. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
  134. package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -9
  135. package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
  136. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
  137. package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
  138. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
  139. /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → collection/agent-collection/constructors/AgentCollectionInDirectory.test.d.ts} +0 -0
  140. /package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
  141. /package/esm/typings/src/collection/{constructors/createCollectionFromJson.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
  142. /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts} +0 -0
  143. /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
@@ -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
+ };
@@ -0,0 +1,88 @@
1
+ import { Agent } from '../../../_packages/core.index';
2
+ import { CommonToolsOptions, string_book } from '../../../_packages/types.index';
3
+ import type { ExecutionTools } from '../../../execution/ExecutionTools';
4
+ import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
5
+ import type { string_agent_name, string_dirname } from '../../../types/typeAliases';
6
+ import type { AgentCollection } from '../AgentCollection';
7
+ /**
8
+ * Options for `createAgentCollectionFromDirectory` function
9
+ *
10
+ * Note: `rootDirname` is not needed because it is the folder in which `.book` or `.book` file is located
11
+ * This is not same as `path` which is the first argument of `createAgentCollectionFromDirectory` - it can be a subfolder
12
+ */
13
+ type CreateAgentCollectionInDirectoryOptions = Omit<PrepareAndScrapeOptions, 'rootDirname'> & CommonToolsOptions & {
14
+ /**
15
+ * If true, the directory is searched recursively for pipelines
16
+ *
17
+ * @default true
18
+ */
19
+ isRecursive?: boolean;
20
+ /**
21
+ * If true, directory will be scanned only when needed not during the construction
22
+ *
23
+ * @default false
24
+ */
25
+ isLazyLoaded?: boolean;
26
+ /**
27
+ * If true, whole collection creation crashes on error in any pipeline
28
+ * If true and isLazyLoaded is true, the error is thrown on first access to the pipeline
29
+ *
30
+ * @default true
31
+ */
32
+ isCrashedOnError?: boolean;
33
+ };
34
+ /**
35
+ * Agent collection stored in directory
36
+ *
37
+ * Note: Works only in Node.js environment because it reads the file system
38
+ *
39
+ * @public exported from `@promptbook/node`
40
+ */
41
+ export declare class AgentCollectionInDirectory implements AgentCollection {
42
+ readonly rootPath: string_dirname;
43
+ private readonly tools?;
44
+ readonly options?: CreateAgentCollectionInDirectoryOptions | undefined;
45
+ /**
46
+ * @param rootPath - path to the directory with agents
47
+ * @param tools - Execution tools to be used in `Agent` itself and listing the agents
48
+ * @param options - Options for the collection creation
49
+ */
50
+ constructor(rootPath: string_dirname, tools?: Pick<ExecutionTools, "llm" | "fs" | "scrapers"> | undefined, options?: CreateAgentCollectionInDirectoryOptions | undefined);
51
+ /**
52
+ * Cached defined execution tools
53
+ */
54
+ private _definedTools;
55
+ /**
56
+ * Gets or creates execution tools for the collection
57
+ */
58
+ private getTools;
59
+ /**
60
+ * Gets all agents in the collection
61
+ */
62
+ listAgents(): Promise<ReadonlyArray<string_agent_name>>;
63
+ /**
64
+ * Get one agent by its name
65
+ *
66
+ * Note: Agents are existing independently of you getting them or not, you can get the same agent multiple times.
67
+ * Note: Agents are changed by interacting with `Agent` objects directly. Only creation and deletion is done via the collection.
68
+ */
69
+ getAgentByName(agentName: string_agent_name): Promise<Agent>;
70
+ /**
71
+ * Deletes an agent from the collection
72
+ *
73
+ * Note: When you want delete an agent by name, first get the agent using `getAgentByName` and then pass it to `deleteAgent`.
74
+ */
75
+ deleteAgent(agent: Agent): Promise<void>;
76
+ /**
77
+ * Creates a new agent in the collection
78
+ *
79
+ * Note: You can set 'PARENT' in the agent source to inherit from another agent in the collection.
80
+ */
81
+ createAgent(agentSource: string_book): Promise<Agent>;
82
+ }
83
+ export {};
84
+ /**
85
+ * TODO: [🖇] What about symlinks? Maybe option `isSymlinksFollowed`
86
+ * TODO: [🧠] Maybe add option `isImmutable`
87
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
88
+ */
@@ -1,9 +1,13 @@
1
1
  import type { Promisable } from 'type-fest';
2
- import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
3
- import type { Prompt } from '../types/Prompt';
4
- import type { string_pipeline_url } from '../types/typeAliases';
2
+ import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
3
+ import type { Prompt } from '../../types/Prompt';
4
+ import type { string_pipeline_url } from '../../types/typeAliases';
5
5
  /**
6
6
  * Collection that groups together pipelines, knowledge, personas, tools and actions
7
+ *
8
+ * Note: [🧸] There are two types of collections:
9
+ * - `AgentCollection` - which groups together AI Agents
10
+ * - `PipelineCollection` - which groups together *(deprecated)* pipelines
7
11
  */
8
12
  export type PipelineCollection = {
9
13
  /**
@@ -1,12 +1,12 @@
1
- import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
2
- import type { Prompt } from '../types/Prompt';
3
- import type { string_pipeline_url } from '../types/typeAliases';
1
+ import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
2
+ import type { Prompt } from '../../types/Prompt';
3
+ import type { string_pipeline_url } from '../../types/typeAliases';
4
4
  import type { PipelineCollection } from './PipelineCollection';
5
5
  /**
6
6
  * Library of pipelines that groups together pipelines for an application.
7
7
  * This implementation is a very thin wrapper around the Array / Map of pipelines.
8
8
  *
9
- * @private internal function of `createCollectionFromJson`, use `createCollectionFromJson` instead
9
+ * @private internal function of `createPipelineCollectionFromJson`, use `createPipelineCollectionFromJson` instead
10
10
  * @see https://github.com/webgptorg/pipeline#pipeline-collection
11
11
  */
12
12
  export declare class SimplePipelineCollection implements PipelineCollection {
@@ -17,7 +17,7 @@ export declare class SimplePipelineCollection implements PipelineCollection {
17
17
  * @param pipelines Array of pipeline JSON objects to include in the collection
18
18
  *
19
19
  * Note: During the construction logic of all pipelines are validated
20
- * Note: It is not recommended to use this constructor directly, use `createCollectionFromJson` *(or other variant)* instead
20
+ * Note: It is not recommended to use this constructor directly, use `createPipelineCollectionFromJson` *(or other variant)* instead
21
21
  */
22
22
  constructor(...pipelines: ReadonlyArray<PipelineJson>);
23
23
  /**
@@ -1,13 +1,12 @@
1
- import type { ExecutionTools } from '../../execution/ExecutionTools';
2
- import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
- import type { string_dirname } from '../../types/typeAliases';
4
- import type { string_pipeline_root_url } from '../../types/typeAliases';
1
+ import type { ExecutionTools } from '../../../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
3
+ import type { string_dirname, string_pipeline_root_url } from '../../../types/typeAliases';
5
4
  import type { PipelineCollection } from '../PipelineCollection';
6
5
  /**
7
- * Options for `createCollectionFromDirectory` function
6
+ * Options for `createPipelineCollectionFromDirectory` function
8
7
  *
9
8
  * Note: `rootDirname` is not needed because it is the folder in which `.book` or `.book` file is located
10
- * This is not same as `path` which is the first argument of `createCollectionFromDirectory` - it can be a subfolder
9
+ * This is not same as `path` which is the first argument of `createPipelineCollectionFromDirectory` - it can be a subfolder
11
10
  */
12
11
  type CreatePipelineCollectionFromDirectoryOptions = Omit<PrepareAndScrapeOptions, 'rootDirname'> & {
13
12
  /**
@@ -28,8 +27,6 @@ type CreatePipelineCollectionFromDirectoryOptions = Omit<PrepareAndScrapeOptions
28
27
  * It has 2 purposes:
29
28
  * 1) Every pipeline in the collection is checked if it is a child of `rootUrl`
30
29
  * 2) If the pipeline does not have a URL, it is created from the `rootUrl` and path to the pipeline
31
- *
32
- * @default false
33
30
  */
34
31
  rootUrl?: string_pipeline_root_url;
35
32
  /**
@@ -47,7 +44,7 @@ type CreatePipelineCollectionFromDirectoryOptions = Omit<PrepareAndScrapeOptions
47
44
  isCrashedOnError?: boolean;
48
45
  };
49
46
  /**
50
- * Constructs Pipeline from given directory
47
+ * Constructs `PipelineCollection` from given directory
51
48
  *
52
49
  * Note: Works only in Node.js environment because it reads the file system
53
50
  *
@@ -57,9 +54,9 @@ type CreatePipelineCollectionFromDirectoryOptions = Omit<PrepareAndScrapeOptions
57
54
  * @returns PipelineCollection
58
55
  * @public exported from `@promptbook/node`
59
56
  */
60
- export declare function createCollectionFromDirectory(rootPath: string_dirname, tools?: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options?: CreatePipelineCollectionFromDirectoryOptions): Promise<PipelineCollection>;
57
+ export declare function createPipelineCollectionFromDirectory(rootPath: string_dirname, tools?: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options?: CreatePipelineCollectionFromDirectoryOptions): Promise<PipelineCollection>;
61
58
  export {};
62
59
  /**
63
- * TODO: [🖇] What about symlinks? Maybe option isSymlinksFollowed
60
+ * TODO: [🖇] What about symlinks? Maybe option `isSymlinksFollowed`
64
61
  * TODO: Maybe move from `@promptbook/node` to `@promptbook/core` as we removes direct dependency on `fs`
65
62
  */
@@ -0,0 +1,13 @@
1
+ import type { PipelineJson } from '../../../pipeline/PipelineJson/PipelineJson';
2
+ import type { PipelineCollection } from '../PipelineCollection';
3
+ /**
4
+ * Creates `PipelineCollection` from array of PipelineJson or PipelineString
5
+ *
6
+ * Note: Functions `pipelineCollectionToJson` and `createPipelineCollectionFromJson` are complementary
7
+ * Note: Syntax, parsing, and logic consistency checks are performed on all sources during build
8
+ *
9
+ * @param promptbookSources
10
+ * @returns PipelineCollection
11
+ * @public exported from `@promptbook/core`
12
+ */
13
+ export declare function createPipelineCollectionFromJson(...promptbooks: ReadonlyArray<PipelineJson>): PipelineCollection;
@@ -1,23 +1,24 @@
1
- import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
1
+ import type { PipelineJson } from '../../../pipeline/PipelineJson/PipelineJson';
2
2
  import type { PipelineCollection } from '../PipelineCollection';
3
3
  /**
4
- * Constructs Promptbook from async sources
4
+ * Constructs `PipelineCollection` from async sources
5
+ *
5
6
  * It can be one of the following:
6
7
  * - Promise of array of PipelineJson or PipelineString
7
8
  * - Factory function that returns Promise of array of PipelineJson or PipelineString
8
9
  *
9
10
  * Note: This is useful as internal tool for other constructor functions like
10
- * `createCollectionFromUrl` or `createCollectionFromDirectory`
11
+ * `createPipelineCollectionFromUrl` or `createPipelineCollectionFromDirectory`
11
12
  * Consider using those functions instead of this one
12
13
  *
13
14
  * Note: The function does NOT return promise it returns the collection directly which waits for the sources to be resolved
14
15
  * when error occurs in given promise or factory function, it is thrown during `listPipelines` or `getPipelineByUrl` call
15
16
  *
16
- * Note: Consider using `createCollectionFromDirectory` or `createCollectionFromUrl`
17
+ * Note: Consider using `createPipelineCollectionFromDirectory` or `createPipelineCollectionFromUrl`
17
18
  *
18
19
  * @param promptbookSourcesPromiseOrFactory
19
20
  * @returns PipelineCollection
20
21
  * @deprecated Do not use, it will became internal tool for other constructor functions
21
22
  * @public exported from `@promptbook/core`
22
23
  */
23
- export declare function createCollectionFromPromise(promptbookSourcesPromiseOrFactory: Promise<ReadonlyArray<PipelineJson>> | (() => Promise<ReadonlyArray<PipelineJson>>)): PipelineCollection;
24
+ export declare function createPipelineCollectionFromPromise(promptbookSourcesPromiseOrFactory: Promise<ReadonlyArray<PipelineJson>> | (() => Promise<ReadonlyArray<PipelineJson>>)): PipelineCollection;
@@ -1,7 +1,7 @@
1
- import type { string_url } from '../../types/typeAliases';
1
+ import type { string_url } from '../../../types/typeAliases';
2
2
  import type { PipelineCollection } from '../PipelineCollection';
3
3
  /**
4
- * Options for `createCollectionFromDirectory` function
4
+ * Options for `createPipelineCollectionFromDirectory` function
5
5
  */
6
6
  type CreatePipelineCollectionFromUrlyOptions = {
7
7
  /**
@@ -22,7 +22,7 @@ type CreatePipelineCollectionFromUrlyOptions = {
22
22
  * @returns PipelineCollection
23
23
  * @public exported from `@promptbook/core`
24
24
  */
25
- export declare function createCollectionFromUrl(url: string_url | URL, options: CreatePipelineCollectionFromUrlyOptions): Promise<PipelineCollection>;
25
+ export declare function createPipelineCollectionFromUrl(url: string_url | URL, options: CreatePipelineCollectionFromUrlyOptions): Promise<PipelineCollection>;
26
26
  export {};
27
27
  /**
28
28
  * TODO: [main] !!4 [🧠] Library precompilation and do not mix markdown and json promptbooks