@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
@@ -3,145 +3,25 @@
3
3
  *
4
4
  * @public exported from `@promptbook/core`
5
5
  */
6
- export declare const ZERO_VALUE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
7
- readonly value: 0;
8
- }>;
6
+ export declare const ZERO_VALUE: any;
9
7
  /**
10
8
  * Represents the uncertain value
11
9
  *
12
10
  * @public exported from `@promptbook/core`
13
11
  */
14
- export declare const UNCERTAIN_ZERO_VALUE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
15
- readonly value: 0;
16
- readonly isUncertain: true;
17
- }>;
12
+ export declare const UNCERTAIN_ZERO_VALUE: any;
18
13
  /**
19
14
  * Represents the usage with no resources consumed
20
15
  *
21
16
  * @public exported from `@promptbook/core`
22
17
  */
23
- export declare const ZERO_USAGE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
24
- readonly price: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
25
- readonly value: 0;
26
- }>;
27
- readonly input: {
28
- readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
29
- readonly value: 0;
30
- }>;
31
- readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
32
- readonly value: 0;
33
- }>;
34
- readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
35
- readonly value: 0;
36
- }>;
37
- readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
38
- readonly value: 0;
39
- }>;
40
- readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
41
- readonly value: 0;
42
- }>;
43
- readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
44
- readonly value: 0;
45
- }>;
46
- readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
47
- readonly value: 0;
48
- }>;
49
- };
50
- readonly output: {
51
- readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
52
- readonly value: 0;
53
- }>;
54
- readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
55
- readonly value: 0;
56
- }>;
57
- readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
58
- readonly value: 0;
59
- }>;
60
- readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
61
- readonly value: 0;
62
- }>;
63
- readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
64
- readonly value: 0;
65
- }>;
66
- readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
67
- readonly value: 0;
68
- }>;
69
- readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
70
- readonly value: 0;
71
- }>;
72
- };
73
- }>;
18
+ export declare const ZERO_USAGE: any;
74
19
  /**
75
20
  * Represents the usage with unknown resources consumed
76
21
  *
77
22
  * @public exported from `@promptbook/core`
78
23
  */
79
- export declare const UNCERTAIN_USAGE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
80
- readonly price: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
81
- readonly value: 0;
82
- readonly isUncertain: true;
83
- }>;
84
- readonly input: {
85
- readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
86
- readonly value: 0;
87
- readonly isUncertain: true;
88
- }>;
89
- readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
90
- readonly value: 0;
91
- readonly isUncertain: true;
92
- }>;
93
- readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
94
- readonly value: 0;
95
- readonly isUncertain: true;
96
- }>;
97
- readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
98
- readonly value: 0;
99
- readonly isUncertain: true;
100
- }>;
101
- readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
102
- readonly value: 0;
103
- readonly isUncertain: true;
104
- }>;
105
- readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
106
- readonly value: 0;
107
- readonly isUncertain: true;
108
- }>;
109
- readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
110
- readonly value: 0;
111
- readonly isUncertain: true;
112
- }>;
113
- };
114
- readonly output: {
115
- readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
116
- readonly value: 0;
117
- readonly isUncertain: true;
118
- }>;
119
- readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
120
- readonly value: 0;
121
- readonly isUncertain: true;
122
- }>;
123
- readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
124
- readonly value: 0;
125
- readonly isUncertain: true;
126
- }>;
127
- readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
128
- readonly value: 0;
129
- readonly isUncertain: true;
130
- }>;
131
- readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
132
- readonly value: 0;
133
- readonly isUncertain: true;
134
- }>;
135
- readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
136
- readonly value: 0;
137
- readonly isUncertain: true;
138
- }>;
139
- readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
140
- readonly value: 0;
141
- readonly isUncertain: true;
142
- }>;
143
- };
144
- }>;
24
+ export declare const UNCERTAIN_USAGE: any;
145
25
  /**
146
26
  * Note: [💞] Ignore a discrepancy between file name and entity name
147
27
  */
@@ -1,4 +1,5 @@
1
1
  import type { $PipelineJson } from '../../commands/_common/types/CommandParser';
2
+ import { $side_effect } from '../../utils/organization/$side_effect';
2
3
  /**
3
4
  * Used in `parsePipeline`
4
5
  *
@@ -11,7 +12,7 @@ export type SyncHighLevelAbstraction = {
11
12
  *
12
13
  * Note: `$` is used to indicate that this function mutates given `pipelineJson`
13
14
  */
14
- $applyToPipelineJson($pipelineJson: $PipelineJson): void;
15
+ $applyToPipelineJson($pipelineJson: $PipelineJson): $side_effect;
15
16
  };
16
17
  /**
17
18
  * TODO: [♓️] Add order here
@@ -1,4 +1,5 @@
1
1
  import type { string_filename, string_markdown } from '../../../types/typeAliases';
2
+ import { $side_effect } from '../../../utils/organization/$side_effect';
2
3
  /**
3
4
  * Pass the `.env` file which was used to configure LLM tools
4
5
  *
@@ -6,7 +7,7 @@ import type { string_filename, string_markdown } from '../../../types/typeAliase
6
7
  *
7
8
  * @private internal log of `$provideLlmToolsConfigurationFromEnv` and `$registeredLlmToolsMessage`
8
9
  */
9
- export declare function $setUsedEnvFilename(filepath: string_filename): void;
10
+ export declare function $setUsedEnvFilename(filepath: string_filename): $side_effect;
10
11
  /**
11
12
  * Creates a message with all registered LLM tools
12
13
  *
@@ -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
  */