@promptbook/pdf 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 +57 -21
  2. package/esm/index.es.js +109 -30
  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 +6 -6
  131. package/umd/index.umd.js +109 -30
  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,49 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { AgentBasicInformation, BookParameter, LlmExecutionTools, string_agent_name, string_book, string_url_image } from '../../_packages/types.index';
3
+ import { AgentOptions } from './AgentOptions';
4
+ /**
5
+ * Represents one AI Agent
6
+ *
7
+ * Note: [🦖] There are several different things in Promptbook:
8
+ * - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
9
+ * - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
10
+ * - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
11
+ * - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
12
+ *
13
+ * @public exported from `@promptbook/core`
14
+ */
15
+ export declare class Agent implements AgentBasicInformation {
16
+ private readonly options;
17
+ /**
18
+ * Name of the agent
19
+ */
20
+ agentName: string_agent_name | null;
21
+ /**
22
+ * Description of the agent
23
+ */
24
+ personaDescription: string | null;
25
+ /**
26
+ * Metadata like image or color
27
+ */
28
+ meta: {
29
+ image?: string_url_image;
30
+ link?: string;
31
+ title?: string;
32
+ description?: string;
33
+ [key: string]: string | undefined;
34
+ };
35
+ /**
36
+ * Not used in Agent, always returns empty array
37
+ */
38
+ get parameters(): BookParameter[];
39
+ readonly agentSource: BehaviorSubject<string_book>;
40
+ constructor(options: AgentOptions);
41
+ /**
42
+ * Creates LlmExecutionTools which exposes the agent as a model
43
+ */
44
+ getLlmExecutionTools(): LlmExecutionTools;
45
+ }
46
+ /**
47
+ * TODO: [🧠][😰]Agent is not working with the parameters, should it be?
48
+ * TODO: !!! Agent on remote server
49
+ */
@@ -1,20 +1,25 @@
1
1
  import type { Promisable } from 'type-fest';
2
- import type { string_book } from '../../book-2.0/agent-source/string_book';
3
2
  import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
4
3
  import type { AvailableModel } from '../../execution/AvailableModel';
5
4
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
6
5
  import type { ChatPromptResult } from '../../execution/PromptResult';
7
6
  import type { Prompt } from '../../types/Prompt';
8
7
  import type { string_markdown, string_markdown_text, string_model_name, string_title } from '../../types/typeAliases';
8
+ import { CreateAgentLlmExecutionToolsOptions } from './CreateAgentLlmExecutionToolsOptions';
9
9
  /**
10
10
  * Execution Tools for calling LLM models with a predefined agent "soul"
11
11
  * This wraps underlying LLM execution tools and applies agent-specific system prompts and requirements
12
12
  *
13
+ * Note: [🦖] There are several different things in Promptbook:
14
+ * - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
15
+ * - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
16
+ * - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
17
+ * - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
18
+ *
13
19
  * @public exported from `@promptbook/core`
14
20
  */
15
21
  export declare class AgentLlmExecutionTools implements LlmExecutionTools {
16
- private readonly llmTools;
17
- private readonly agentSource;
22
+ private readonly options;
18
23
  /**
19
24
  * Cached model requirements to avoid re-parsing the agent source
20
25
  */
@@ -29,7 +34,7 @@ export declare class AgentLlmExecutionTools implements LlmExecutionTools {
29
34
  * @param llmTools The underlying LLM execution tools to wrap
30
35
  * @param agentSource The agent source string that defines the agent's behavior
31
36
  */
32
- constructor(llmTools: LlmExecutionTools, agentSource: string_book);
37
+ constructor(options: CreateAgentLlmExecutionToolsOptions);
33
38
  /**
34
39
  * Get cached or parse agent information
35
40
  */
@@ -0,0 +1,17 @@
1
+ import { CommonToolsOptions, ExecutionTools, string_book } from '../../_packages/types.index';
2
+ import { Updatable } from '../../types/Updatable';
3
+ /**
4
+ * Options for creating an Agent
5
+ */
6
+ export type AgentOptions = CommonToolsOptions & {
7
+ /**
8
+ * The execution tools available to the agent
9
+ *
10
+ * Here the agent has access to various LLM models, browser, scrapers, LibreOffice, tools, etc.
11
+ */
12
+ executionTools: ExecutionTools;
13
+ /**
14
+ * The source of the agent
15
+ */
16
+ agentSource: Updatable<string_book>;
17
+ };
@@ -0,0 +1,16 @@
1
+ import type { string_book } from '../../_packages/types.index';
2
+ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
+ import type { OpenAiAssistantExecutionTools } from '../openai/OpenAiAssistantExecutionTools';
4
+ /**
5
+ * Options for creating AgentLlmExecutionTools
6
+ */
7
+ export type CreateAgentLlmExecutionToolsOptions = {
8
+ /**
9
+ * The underlying LLM execution tools to wrap
10
+ */
11
+ llmTools: LlmExecutionTools | OpenAiAssistantExecutionTools;
12
+ /**
13
+ * The agent source string that defines the agent's behavior
14
+ */
15
+ agentSource: string_book;
16
+ };
@@ -1,19 +1,5 @@
1
- import type { string_book } from '../../book-2.0/agent-source/string_book';
2
- import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
1
  import { AgentLlmExecutionTools } from './AgentLlmExecutionTools';
4
- /**
5
- * Options for creating AgentLlmExecutionTools
6
- */
7
- export type CreateAgentLlmExecutionToolsOptions = {
8
- /**
9
- * The underlying LLM execution tools to wrap
10
- */
11
- llmTools: LlmExecutionTools;
12
- /**
13
- * The agent source string that defines the agent's behavior
14
- */
15
- agentSource: string_book;
16
- };
2
+ import { CreateAgentLlmExecutionToolsOptions } from './CreateAgentLlmExecutionToolsOptions';
17
3
  /**
18
4
  * Creates new AgentLlmExecutionTools that wrap underlying LLM tools with agent-specific behavior
19
5
  *
@@ -23,7 +9,3 @@ export declare const createAgentLlmExecutionTools: ((options: CreateAgentLlmExec
23
9
  packageName: string;
24
10
  className: string;
25
11
  };
26
- /**
27
- * TODO: [🧠] Consider adding validation for agent source format
28
- * TODO: [🧠] Consider adding options for caching behavior
29
- */
@@ -9,10 +9,17 @@ import { OpenAiExecutionTools } from './OpenAiExecutionTools';
9
9
  *
10
10
  * This is useful for calling OpenAI API with a single assistant, for more wide usage use `OpenAiExecutionTools`.
11
11
  *
12
+ * Note: [🦖] There are several different things in Promptbook:
13
+ * - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
14
+ * - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
15
+ * - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
16
+ * - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
17
+ *
12
18
  * @public exported from `@promptbook/openai`
13
19
  */
14
20
  export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools implements LlmExecutionTools {
15
21
  private readonly assistantId;
22
+ private readonly isCreatingNewAssistantsAllowed;
16
23
  /**
17
24
  * Creates OpenAI Execution Tools.
18
25
  *
@@ -25,6 +32,27 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
25
32
  * Calls OpenAI API to use a chat model.
26
33
  */
27
34
  callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements' | 'format'>): Promise<ChatPromptResult>;
35
+ playground(): Promise<void>;
36
+ createNewAssistant(options: {
37
+ /**
38
+ * Name of the new assistant
39
+ */
40
+ readonly name: string_title;
41
+ /**
42
+ * Instructions for the new assistant
43
+ */
44
+ readonly instructions: string_markdown;
45
+ }): Promise<OpenAiAssistantExecutionTools>;
46
+ /**
47
+ * Discriminant for type guards
48
+ */
49
+ protected get discriminant(): string;
50
+ /**
51
+ * Type guard to check if given `LlmExecutionTools` are instanceof `OpenAiAssistantExecutionTools`
52
+ *
53
+ * Note: This is useful when you can possibly have multiple versions of `@promptbook/openai` installed
54
+ */
55
+ static isOpenAiAssistantExecutionTools(llmExecutionTools: LlmExecutionTools): llmExecutionTools is OpenAiAssistantExecutionTools;
28
56
  }
29
57
  /**
30
58
  * TODO: [🧠][🧙‍♂️] Maybe there can be some wizard for those who want to use just OpenAI
@@ -7,8 +7,14 @@ import type { OpenAiCompatibleExecutionToolsOptions } from './OpenAiCompatibleEx
7
7
  * @public exported from `@promptbook/openai`
8
8
  */
9
9
  export type OpenAiAssistantExecutionToolsOptions = OpenAiCompatibleExecutionToolsOptions & ClientOptions & {
10
+ /**
11
+ * Whether creating new assistants is allowed
12
+ *
13
+ * @default false
14
+ */
15
+ readonly isCreatingNewAssistantsAllowed?: boolean;
10
16
  /**
11
17
  * Which assistant to use
12
18
  */
13
- assistantId: string_token;
19
+ readonly assistantId: string_token;
14
20
  };
@@ -1,4 +1,4 @@
1
- import type { PipelineCollection } from '../../collection/PipelineCollection';
1
+ import type { PipelineCollection } from '../../collection/pipeline-collection/pipeline-collection/PipelineCollection';
2
2
  /**
3
3
  * Get pipeline collection for Untitled Promptbook project
4
4
  *
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -1,5 +1,2 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
- /**
4
- * Note: [⚫] Code in this file should never be published in any package
5
- */
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
@@ -11,11 +11,14 @@ import type { RemoteServerOptions } from './types/RemoteServerOptions';
11
11
  */
12
12
  export declare function startRemoteServer<TCustomOptions = undefined>(options: RemoteServerOptions<TCustomOptions>): RemoteServer;
13
13
  /**
14
+ * TODO !!!! Add agent
15
+ * TODO: !!!! Allow to chat with agents directly via remote server
16
+ * TODO: [🕋] Use here `aboutPromptbookInformation`
14
17
  * TODO: [🌡] Add CORS and security - probably via `helmet`
15
18
  * TODO: Split this file into multiple functions - handler for each request
16
19
  * TODO: Maybe use `$exportJson`
17
20
  * TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
18
- * TODO: [⚖] Expose the collection to be able to connect to same collection via createCollectionFromUrl
21
+ * TODO: [⚖] Expose the collection to be able to connect to same collection via createPipelineCollectionFromUrl
19
22
  * TODO: Handle progress - support streaming
20
23
  * TODO: [🗯] Do not hang up immediately but wait until client closes OR timeout
21
24
  * TODO: [🗯] Timeout on chat to free up resources
@@ -1,17 +1,13 @@
1
1
  import type { Request, Response } from 'express';
2
2
  import type { Promisable } from 'type-fest';
3
- import type { PipelineCollection } from '../../collection/PipelineCollection';
3
+ import { really_any } from '../../_packages/types.index';
4
+ import type { PipelineCollection } from '../../collection/pipeline-collection/PipelineCollection';
4
5
  import { AuthenticationError } from '../../errors/AuthenticationError';
5
6
  import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
6
7
  import type { ExecutionTools } from '../../execution/ExecutionTools';
7
8
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
8
- import type { string_app_id } from '../../types/typeAliases';
9
- import type { string_email } from '../../types/typeAliases';
10
- import type { string_password } from '../../types/typeAliases';
11
- import type { string_token } from '../../types/typeAliases';
12
- import type { string_user_id } from '../../types/typeAliases';
13
- import type { ApplicationModeIdentification } from '../socket-types/_subtypes/Identification';
14
- import type { Identification } from '../socket-types/_subtypes/Identification';
9
+ import type { string_app_id, string_email, string_password, string_token, string_user_id } from '../../types/typeAliases';
10
+ import type { ApplicationModeIdentification, Identification } from '../socket-types/_subtypes/Identification';
15
11
  /**
16
12
  * Options for configuring the Promptbook remote server.
17
13
  *
@@ -31,6 +27,24 @@ export type RemoteServerOptions<TCustomOptions> = CommonToolsOptions & {
31
27
  * @property {number} port The port number the server will listen on.
32
28
  */
33
29
  readonly port: number;
30
+ /**
31
+ * CORS options to apply to all endpoints (REST, UI, socket.io, etc.).
32
+ * Accepts the same options as the `cors` npm package and socket.io's CORS config.
33
+ * If not provided, defaults to permissive CORS (origin: '*').
34
+ * @see https://www.npmjs.com/package/cors
35
+ * @see https://socket.io/docs/v4/server-options/#cors
36
+ */
37
+ readonly cors?: {
38
+ origin?: string | string[] | boolean;
39
+ methods?: string | string[];
40
+ allowedHeaders?: string | string[];
41
+ exposedHeaders?: string | string[];
42
+ credentials?: boolean;
43
+ maxAge?: number;
44
+ preflightContinue?: boolean;
45
+ optionsSuccessStatus?: number;
46
+ [key: string]: really_any;
47
+ };
34
48
  /**
35
49
  * Enable rich UI (React + Tailwind) at `/` path.
36
50
  * Default: true
@@ -1,20 +1,9 @@
1
- import type { ExecutionTools } from '../../execution/ExecutionTools';
2
- import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
- import { BoilerplateScraper } from './BoilerplateScraper';
4
1
  /**
5
2
  * Constructor of `BoilerplateScraper`
6
3
  *
7
4
  * @public exported from `@promptbook/boilerplate`
8
5
  */
9
- export declare const createBoilerplateScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => BoilerplateScraper) & import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
10
- title: string;
11
- packageName: string;
12
- className: string;
13
- mimeTypes: string[];
14
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
15
- isAvailableInBrowser: false;
16
- requiredExecutables: never[];
17
- }>;
6
+ export declare const createBoilerplateScraper: any;
18
7
  /**
19
8
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
20
9
  */
@@ -4,15 +4,7 @@ import type { Registration } from '../../utils/misc/$Register';
4
4
  *
5
5
  * @private within the scraper directory
6
6
  */
7
- export declare const boilerplateScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
- title: string;
9
- packageName: string;
10
- className: string;
11
- mimeTypes: string[];
12
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
- isAvailableInBrowser: false;
14
- requiredExecutables: never[];
15
- }>;
7
+ export declare const boilerplateScraperMetadata: any;
16
8
  /**
17
9
  * Registration of known scraper metadata
18
10
  *
@@ -1,20 +1,9 @@
1
- import type { ExecutionTools } from '../../execution/ExecutionTools';
2
- import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
- import { DocumentScraper } from './DocumentScraper';
4
1
  /**
5
2
  * Creates a scraper for document content.
6
3
  *
7
4
  * @public exported from `@promptbook/documents`
8
5
  */
9
- export declare const createDocumentScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => DocumentScraper) & import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
10
- title: string;
11
- packageName: string;
12
- className: string;
13
- mimeTypes: string[];
14
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
15
- isAvailableInBrowser: false;
16
- requiredExecutables: "Pandoc"[];
17
- }>;
6
+ export declare const createDocumentScraper: any;
18
7
  /**
19
8
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
20
9
  */
@@ -4,15 +4,7 @@ import type { Registration } from '../../utils/misc/$Register';
4
4
  *
5
5
  * @private within the scraper directory
6
6
  */
7
- export declare const documentScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
- title: string;
9
- packageName: string;
10
- className: string;
11
- mimeTypes: string[];
12
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
- isAvailableInBrowser: false;
14
- requiredExecutables: "Pandoc"[];
15
- }>;
7
+ export declare const documentScraperMetadata: any;
16
8
  /**
17
9
  * Registration of known scraper metadata
18
10
  *
@@ -1,21 +1,10 @@
1
- import type { ExecutionTools } from '../../execution/ExecutionTools';
2
- import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
- import { LegacyDocumentScraper } from './LegacyDocumentScraper';
4
1
  /**
5
2
  * Creates a scraper for legacy document formats (.doc, .rtf, etc).
6
3
  * Uses LibreOffice for conversion to extract content from older document formats.
7
4
  *
8
5
  * @public exported from `@promptbook/legacy-documents`
9
6
  */
10
- export declare const createLegacyDocumentScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => LegacyDocumentScraper) & import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
11
- title: string;
12
- packageName: string;
13
- className: string;
14
- mimeTypes: string[];
15
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
16
- isAvailableInBrowser: false;
17
- requiredExecutables: ("Pandoc" | "LibreOffice")[];
18
- }>;
7
+ export declare const createLegacyDocumentScraper: any;
19
8
  /**
20
9
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
21
10
  */
@@ -4,15 +4,7 @@ import type { Registration } from '../../utils/misc/$Register';
4
4
  *
5
5
  * @private within the scraper directory
6
6
  */
7
- export declare const legacyDocumentScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
- title: string;
9
- packageName: string;
10
- className: string;
11
- mimeTypes: string[];
12
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
- isAvailableInBrowser: false;
14
- requiredExecutables: ("Pandoc" | "LibreOffice")[];
15
- }>;
7
+ export declare const legacyDocumentScraperMetadata: any;
16
8
  /**
17
9
  * Registration of known scraper metadata
18
10
  *
@@ -1,20 +1,9 @@
1
- import type { ExecutionTools } from '../../execution/ExecutionTools';
2
- import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
- import { MarkdownScraper } from './MarkdownScraper';
4
1
  /**
5
2
  * Creates a scraper for markdown content.
6
3
  *
7
4
  * @public exported from `@promptbook/markdown-utils`
8
5
  */
9
- export declare const createMarkdownScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => MarkdownScraper) & import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
10
- title: string;
11
- packageName: string;
12
- className: string;
13
- mimeTypes: string[];
14
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
15
- isAvailableInBrowser: true;
16
- requiredExecutables: never[];
17
- }>;
6
+ export declare const createMarkdownScraper: any;
18
7
  /**
19
8
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
20
9
  */
@@ -4,15 +4,7 @@ import type { Registration } from '../../utils/misc/$Register';
4
4
  *
5
5
  * @private within the scraper directory
6
6
  */
7
- export declare const markdownScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
- title: string;
9
- packageName: string;
10
- className: string;
11
- mimeTypes: string[];
12
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
- isAvailableInBrowser: true;
14
- requiredExecutables: never[];
15
- }>;
7
+ export declare const markdownScraperMetadata: any;
16
8
  /**
17
9
  * Registration of known scraper metadata
18
10
  *
@@ -1,21 +1,10 @@
1
- import type { ExecutionTools } from '../../execution/ExecutionTools';
2
- import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
- import { MarkitdownScraper } from './MarkitdownScraper';
4
1
  /**
5
2
  * Constructor of `MarkitdownScraper`
6
3
  *
7
4
  * @public exported from `@promptbook/markitdown`
8
5
  * @public exported from `@promptbook/pdf`
9
6
  */
10
- export declare const createMarkitdownScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => MarkitdownScraper) & import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
11
- title: string;
12
- packageName: string;
13
- className: string;
14
- mimeTypes: string[];
15
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
16
- isAvailableInBrowser: false;
17
- requiredExecutables: never[];
18
- }>;
7
+ export declare const createMarkitdownScraper: any;
19
8
  /**
20
9
  * TODO: [🧠][🌜] Export only from `@promptbook/markitdown` or `@promptbook/pdf` NOT both
21
10
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
@@ -4,15 +4,7 @@ import type { Registration } from '../../utils/misc/$Register';
4
4
  *
5
5
  * @private within the scraper directory
6
6
  */
7
- export declare const markitdownScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
- title: string;
9
- packageName: string;
10
- className: string;
11
- mimeTypes: string[];
12
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
- isAvailableInBrowser: false;
14
- requiredExecutables: never[];
15
- }>;
7
+ export declare const markitdownScraperMetadata: any;
16
8
  /**
17
9
  * Registration of known scraper metadata
18
10
  *
@@ -1,21 +1,10 @@
1
- import type { ExecutionTools } from '../../execution/ExecutionTools';
2
- import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
- import { PdfScraper } from './PdfScraper';
4
1
  /**
5
2
  * Factory function to create an instance of PdfScraper.
6
3
  * It bundles the scraper class with its metadata.
7
4
  *
8
5
  * @public exported from `@promptbook/pdf`
9
6
  */
10
- export declare const createPdfScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => PdfScraper) & import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
11
- title: string;
12
- packageName: string;
13
- className: string;
14
- mimeTypes: string[];
15
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
16
- isAvailableInBrowser: false;
17
- requiredExecutables: never[];
18
- }>;
7
+ export declare const createPdfScraper: any;
19
8
  /**
20
9
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
21
10
  */
@@ -4,15 +4,7 @@ import type { Registration } from '../../utils/misc/$Register';
4
4
  *
5
5
  * @private within the scraper directory
6
6
  */
7
- export declare const pdfScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
- title: string;
9
- packageName: string;
10
- className: string;
11
- mimeTypes: string[];
12
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
- isAvailableInBrowser: false;
14
- requiredExecutables: never[];
15
- }>;
7
+ export declare const pdfScraperMetadata: any;
16
8
  /**
17
9
  * Registration of known scraper metadata
18
10
  *
@@ -1,21 +1,10 @@
1
- import type { ExecutionTools } from '../../execution/ExecutionTools';
2
- import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
- import { WebsiteScraper } from './WebsiteScraper';
4
1
  /**
5
2
  * Factory function to create an instance of WebsiteScraper.
6
3
  * It bundles the scraper class with its metadata.
7
4
  *
8
5
  * @public exported from `@promptbook/website-crawler`
9
6
  */
10
- export declare const createWebsiteScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => WebsiteScraper) & import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
11
- title: string;
12
- packageName: string;
13
- className: string;
14
- mimeTypes: string[];
15
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
16
- isAvailableInBrowser: false;
17
- requiredExecutables: never[];
18
- }>;
7
+ export declare const createWebsiteScraper: any;
19
8
  /**
20
9
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
21
10
  */
@@ -4,15 +4,7 @@ import type { Registration } from '../../utils/misc/$Register';
4
4
  *
5
5
  * @private within the scraper directory
6
6
  */
7
- export declare const websiteScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
- title: string;
9
- packageName: string;
10
- className: string;
11
- mimeTypes: string[];
12
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
- isAvailableInBrowser: false;
14
- requiredExecutables: never[];
15
- }>;
7
+ export declare const websiteScraperMetadata: any;
16
8
  /**
17
9
  * Registration of known scraper metadata
18
10
  *
@@ -1,4 +1,5 @@
1
1
  import type { PromptbookStorage } from '../_common/PromptbookStorage';
2
+ import { $side_effect } from '../../utils/organization/$side_effect';
2
3
  /**
3
4
  * Stores data in .env variables
4
5
  *
@@ -29,7 +30,7 @@ export declare class $EnvStorage<TItem> implements PromptbookStorage<TItem> {
29
30
  /**
30
31
  * Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
31
32
  */
32
- setItem(key: string, value: TItem): Promise<void>;
33
+ setItem(key: string, value: TItem): Promise<$side_effect>;
33
34
  /**
34
35
  * Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists.
35
36
  */
@@ -0,0 +1,29 @@
1
+ import { Promisable } from 'type-fest';
2
+ import { BookTranspilerOptions, ExecutionTools, Registered, string_book, string_name, string_script, string_title } from '../../_packages/types.index';
3
+ /**
4
+ * Transpiler takes a book and transpiles it into another format (e.g., Langchain).
5
+ */
6
+ export type BookTranspiler = Registered & {
7
+ /**
8
+ * The name of the transpiler.
9
+ * It is used to identify the transpiler in the register.
10
+ *
11
+ * @example 'python-langchain'
12
+ */
13
+ readonly name: string_name;
14
+ /**
15
+ * The title of the transpiler.
16
+ * It is used to display the transpiler in the UI.
17
+ *
18
+ * @example 'Python Langchain'
19
+ */
20
+ readonly title: string_title;
21
+ /**
22
+ * Transpiles a book.
23
+ *
24
+ * @param book book to transpile
25
+ * @param options additional options for the transpiler
26
+ * @returns transpiled book
27
+ */
28
+ transpileBook(book: string_book, tools: ExecutionTools, options?: BookTranspilerOptions): Promisable<string_script>;
29
+ };