@promptbook/openai 0.103.0-4 → 0.103.0-41
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.
- package/README.md +64 -30
- package/esm/index.es.js +166 -8
- package/esm/index.es.js.map +1 -1
- package/esm/typings/books/index.d.ts +0 -81
- package/esm/typings/src/_packages/browser.index.d.ts +6 -0
- package/esm/typings/src/_packages/cli.index.d.ts +4 -0
- package/esm/typings/src/_packages/components.index.d.ts +12 -8
- package/esm/typings/src/_packages/core.index.d.ts +30 -10
- package/esm/typings/src/_packages/node.index.d.ts +4 -2
- package/esm/typings/src/_packages/remote-server.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +18 -2
- package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +1 -0
- package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
- package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +76 -15
- package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
- package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
- package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
- package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
- package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
- package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
- package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
- package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
- package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
- package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +2 -2
- package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
- package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
- package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
- package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
- package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
- package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
- package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
- package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
- package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
- package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
- package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
- package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +36 -0
- package/esm/typings/src/collection/agent-collection/constructors/AgentCollectionInDirectory.d.ts +88 -0
- package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
- package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
- package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
- package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
- package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
- package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
- package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
- package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
- package/esm/typings/src/config.d.ts +22 -2
- package/esm/typings/src/errors/0-index.d.ts +3 -0
- package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
- package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
- package/esm/typings/src/execution/Executables.d.ts +3 -0
- package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
- package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
- package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
- package/esm/typings/src/execution/LlmExecutionTools.d.ts +7 -1
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
- package/esm/typings/src/execution/utils/logLlmCall.d.ts +8 -0
- package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
- package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
- package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
- package/esm/typings/src/llm-providers/agent/Agent.d.ts +49 -0
- package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +9 -4
- package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +17 -0
- package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +16 -0
- package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +28 -0
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
- package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
- package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
- package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
- package/esm/typings/src/playground/playground.d.ts +0 -3
- package/esm/typings/src/playground/playground1.d.ts +2 -0
- package/esm/typings/src/remote-server/startAgentServer.d.ts +23 -0
- package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
- package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +22 -8
- package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
- package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
- package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +29 -0
- package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
- package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
- package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +13 -0
- package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
- package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +13 -0
- package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
- package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
- package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
- package/esm/typings/src/types/LlmCall.d.ts +20 -0
- package/esm/typings/src/types/Updatable.d.ts +19 -0
- package/esm/typings/src/types/typeAliases.d.ts +1 -1
- package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
- package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
- package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
- package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
- package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
- package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
- package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +21 -0
- package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
- package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
- package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
- package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
- package/esm/typings/src/version.d.ts +1 -1
- package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
- package/package.json +7 -6
- package/umd/index.umd.js +169 -12
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
- package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -9
- package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
- package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
- package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
- package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
- /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → collection/agent-collection/constructors/AgentCollectionInDirectory.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{constructors/createCollectionFromJson.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { string_url } from '
|
|
1
|
+
import type { string_url } from '../../../types/typeAliases';
|
|
2
2
|
import type { PipelineCollection } from '../PipelineCollection';
|
|
3
3
|
/**
|
|
4
|
-
* Options for `
|
|
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
|
|
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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { string_pipeline_url } from '
|
|
1
|
+
import type { string_pipeline_url } from '../../../types/typeAliases';
|
|
2
2
|
import type { PipelineCollection } from '../PipelineCollection';
|
|
3
3
|
/**
|
|
4
|
-
* Creates PipelineCollection as a subset of another PipelineCollection
|
|
4
|
+
* Creates `PipelineCollection` as a subset of another `PipelineCollection`
|
|
5
5
|
*
|
|
6
6
|
* Note: You can use any type of collection as a parent collection - local, remote, etc.
|
|
7
7
|
* Note: This is just a thin wrapper / proxy around the parent collection
|
|
@@ -10,4 +10,4 @@ import type { PipelineCollection } from '../PipelineCollection';
|
|
|
10
10
|
* @returns PipelineCollection
|
|
11
11
|
* @public exported from `@promptbook/core`
|
|
12
12
|
*/
|
|
13
|
-
export declare function
|
|
13
|
+
export declare function createPipelineSubcollection(collection: PipelineCollection, predicate: (url: string_pipeline_url) => boolean): PipelineCollection;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
|
|
2
|
+
import type { PipelineCollection } from './PipelineCollection';
|
|
3
|
+
/**
|
|
4
|
+
* Converts PipelineCollection to serialized JSON
|
|
5
|
+
*
|
|
6
|
+
* Note: Functions `pipelineCollectionToJson` and `createPipelineCollectionFromJson` are complementary
|
|
7
|
+
*
|
|
8
|
+
* @public exported from `@promptbook/core`
|
|
9
|
+
*/
|
|
10
|
+
export declare function pipelineCollectionToJson(collection: PipelineCollection): Promise<ReadonlyArray<PipelineJson>>;
|
|
11
|
+
/**
|
|
12
|
+
* TODO: [🧠] Maybe clear `sourceFile` or clear when exposing through API or remote server
|
|
13
|
+
*/
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { SetOptional, WritableDeep } from 'type-fest';
|
|
2
2
|
import type { PipelineJson } from '../../../pipeline/PipelineJson/PipelineJson';
|
|
3
3
|
import type { TaskJson } from '../../../pipeline/PipelineJson/TaskJson';
|
|
4
|
-
import type { string_markdown_text } from '../../../types/typeAliases';
|
|
5
|
-
import type { string_name } from '../../../types/typeAliases';
|
|
6
|
-
import type { string_promptbook_documentation_url } from '../../../types/typeAliases';
|
|
4
|
+
import type { string_markdown_text, string_name, string_promptbook_documentation_url } from '../../../types/typeAliases';
|
|
7
5
|
import type { string_SCREAMING_CASE } from '../../../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
6
|
+
import { $side_effect } from '../../../utils/organization/$side_effect';
|
|
8
7
|
import type { ___and___ } from '../../../utils/organization/___and___';
|
|
9
8
|
import type { CommandUsagePlace } from './CommandUsagePlaces';
|
|
10
9
|
/**
|
|
@@ -98,7 +97,7 @@ export type PipelineHeadCommandParser<TCommand extends CommandBase> = CommonComm
|
|
|
98
97
|
*
|
|
99
98
|
* Note: `$` is used to indicate that this function mutates given `pipelineJson`
|
|
100
99
|
*/
|
|
101
|
-
$applyToPipelineJson(command: TCommand, $pipelineJson: $PipelineJson):
|
|
100
|
+
$applyToPipelineJson(command: TCommand, $pipelineJson: $PipelineJson): $side_effect;
|
|
102
101
|
/**
|
|
103
102
|
* Reads the command from the `PipelineJson`
|
|
104
103
|
*
|
|
@@ -126,7 +125,7 @@ export type PipelineTaskCommandParser<TCommand extends CommandBase> = CommonComm
|
|
|
126
125
|
*
|
|
127
126
|
* Note: `$` is used to indicate that this function mutates given `taskJson` and/or `pipelineJson`
|
|
128
127
|
*/
|
|
129
|
-
$applyToTaskJson(command: TCommand, $taskJson: $TaskJson, $pipelineJson: $PipelineJson):
|
|
128
|
+
$applyToTaskJson(command: TCommand, $taskJson: $TaskJson, $pipelineJson: $PipelineJson): $side_effect;
|
|
130
129
|
/**
|
|
131
130
|
* Reads the command from the `TaskJson`
|
|
132
131
|
*
|
|
@@ -45,7 +45,20 @@ export declare const CLAIM = "Turn your company's scattered knowledge into AI re
|
|
|
45
45
|
*/
|
|
46
46
|
export declare const PROMPTBOOK_COLOR: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* Colors for syntax highlighting in the `<BookEditor/>`
|
|
49
|
+
*
|
|
50
|
+
* TODO: [🗽] Unite branding and make single place for it
|
|
51
|
+
*
|
|
52
|
+
* @public exported from `@promptbook/core`
|
|
53
|
+
*/
|
|
54
|
+
export declare const PROMPTBOOK_SYNTAX_COLORS: {
|
|
55
|
+
readonly TITLE: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
|
|
56
|
+
readonly LINE: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
|
|
57
|
+
readonly COMMITMENT: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
|
|
58
|
+
readonly PARAMETER: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Chat color of the Promptbook (in chat)
|
|
49
62
|
*
|
|
50
63
|
* TODO: [🗽] Unite branding and make single place for it
|
|
51
64
|
*
|
|
@@ -220,6 +233,13 @@ export declare const DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_TOTAL = 200;
|
|
|
220
233
|
* @public exported from `@promptbook/core`
|
|
221
234
|
*/
|
|
222
235
|
export declare const DEFAULT_BOOKS_DIRNAME = "./books";
|
|
236
|
+
/**
|
|
237
|
+
* Where to store your agents (also book files)
|
|
238
|
+
* This is kind of a "src" for your books
|
|
239
|
+
*
|
|
240
|
+
* @public exported from `@promptbook/core`
|
|
241
|
+
*/
|
|
242
|
+
export declare const DEFAULT_AGENTS_DIRNAME = "./agents";
|
|
223
243
|
/**
|
|
224
244
|
* Where to store the temporary downloads
|
|
225
245
|
*
|
|
@@ -257,7 +277,7 @@ export declare const CLI_APP_ID: string_app_id;
|
|
|
257
277
|
*/
|
|
258
278
|
export declare const PLAYGROUND_APP_ID: string_app_id;
|
|
259
279
|
/**
|
|
260
|
-
* The name of the builded pipeline collection made by CLI `ptbk make` and for lookup in `
|
|
280
|
+
* The name of the builded pipeline collection made by CLI `ptbk make` and for lookup in `createPipelineCollectionFromDirectory`
|
|
261
281
|
*
|
|
262
282
|
* @public exported from `@promptbook/core`
|
|
263
283
|
*/
|
|
@@ -7,6 +7,7 @@ import { ExpectError } from './ExpectError';
|
|
|
7
7
|
import { KnowledgeScrapeError } from './KnowledgeScrapeError';
|
|
8
8
|
import { LimitReachedError } from './LimitReachedError';
|
|
9
9
|
import { MissingToolsError } from './MissingToolsError';
|
|
10
|
+
import { NotAllowed } from './NotAllowed';
|
|
10
11
|
import { NotFoundError } from './NotFoundError';
|
|
11
12
|
import { NotYetImplementedError } from './NotYetImplementedError';
|
|
12
13
|
import { ParseError } from './ParseError';
|
|
@@ -40,6 +41,7 @@ export declare const PROMPTBOOK_ERRORS: {
|
|
|
40
41
|
readonly PromptbookFetchError: typeof PromptbookFetchError;
|
|
41
42
|
readonly UnexpectedError: typeof UnexpectedError;
|
|
42
43
|
readonly WrappedError: typeof WrappedError;
|
|
44
|
+
readonly NotAllowed: typeof NotAllowed;
|
|
43
45
|
};
|
|
44
46
|
/**
|
|
45
47
|
* Index of all javascript errors
|
|
@@ -88,6 +90,7 @@ export declare const ALL_ERRORS: {
|
|
|
88
90
|
readonly PromptbookFetchError: typeof PromptbookFetchError;
|
|
89
91
|
readonly UnexpectedError: typeof UnexpectedError;
|
|
90
92
|
readonly WrappedError: typeof WrappedError;
|
|
93
|
+
readonly NotAllowed: typeof NotAllowed;
|
|
91
94
|
};
|
|
92
95
|
/**
|
|
93
96
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -46,5 +46,6 @@ export type AvailableModel = {
|
|
|
46
46
|
readonly isDeprecated?: boolean;
|
|
47
47
|
};
|
|
48
48
|
/**
|
|
49
|
+
* TODO: [🕛] Extend this from sth like `AgentBasicInformation` / `ModelBasicInformation`
|
|
49
50
|
* TODO: [🧠] Maybe rename to something else - like `ModelInformation` or `ModelMetadata`
|
|
50
51
|
*/
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { Observable } from 'rxjs';
|
|
2
2
|
import { PartialDeep } from 'type-fest';
|
|
3
|
-
import type {
|
|
4
|
-
import type { task_id } from '../types/typeAliases';
|
|
3
|
+
import type { LlmCall } from '../types/LlmCall';
|
|
4
|
+
import type { number_percent, task_id } from '../types/typeAliases';
|
|
5
5
|
import type { string_SCREAMING_CASE } from '../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
6
|
+
import type { really_any } from '../utils/organization/really_any';
|
|
6
7
|
import type { string_promptbook_version } from '../version';
|
|
7
8
|
import type { AbstractTaskResult } from './AbstractTaskResult';
|
|
8
9
|
import type { PipelineExecutorResult } from './PipelineExecutorResult';
|
|
@@ -32,7 +33,7 @@ type CreateTaskOptions<TTaskResult extends AbstractTaskResult> = {
|
|
|
32
33
|
}) => void, updateTldr: (tldrInfo: {
|
|
33
34
|
readonly percent: number_percent;
|
|
34
35
|
readonly message: string;
|
|
35
|
-
}) => void): Promise<TTaskResult>;
|
|
36
|
+
}) => void, logLlmCall: (llmCall: LlmCall) => void): Promise<TTaskResult>;
|
|
36
37
|
};
|
|
37
38
|
/**
|
|
38
39
|
* Helper to create a new task
|
|
@@ -136,6 +137,14 @@ export type AbstractTask<TTaskResult extends AbstractTaskResult> = {
|
|
|
136
137
|
* List of warnings that occurred during the task processing
|
|
137
138
|
*/
|
|
138
139
|
readonly warnings: Array<Error>;
|
|
140
|
+
/**
|
|
141
|
+
* List of LLM calls that occurred during the task processing
|
|
142
|
+
*/
|
|
143
|
+
readonly llmCalls: Array<LlmCall>;
|
|
144
|
+
/**
|
|
145
|
+
* Optional nonce to correlate logs with version of the Promptbook engine
|
|
146
|
+
*/
|
|
147
|
+
readonly ptbkNonce?: really_any;
|
|
139
148
|
};
|
|
140
149
|
export type Task = ExecutionTask | PreparationTask;
|
|
141
150
|
export {};
|
|
@@ -67,3 +67,8 @@ export type ExecutionTools = {
|
|
|
67
67
|
*/
|
|
68
68
|
readonly userInterface?: UserInterfaceTools;
|
|
69
69
|
};
|
|
70
|
+
/**
|
|
71
|
+
* <- TODO: Add !!! `promptbookAgent` to `ExecutionTools`
|
|
72
|
+
* <- TODO: Add !!! `mcps` to `ExecutionTools`
|
|
73
|
+
* <- TODO: Add !!! `prepareCache` to `ExecutionTools`
|
|
74
|
+
*/
|
|
@@ -3,7 +3,7 @@ import type fs from 'fs/promises';
|
|
|
3
3
|
/**
|
|
4
4
|
* Container for all the tools needed to manipulate with filesystem
|
|
5
5
|
*/
|
|
6
|
-
export type FilesystemTools = Pick<typeof fs, 'access' | 'constants' | 'readFile' | 'writeFile' | 'stat' | 'readdir' | 'mkdir'>;
|
|
6
|
+
export type FilesystemTools = Pick<typeof fs, 'access' | 'constants' | 'readFile' | 'writeFile' | 'stat' | 'readdir' | 'mkdir' | 'watch'>;
|
|
7
7
|
/**
|
|
8
8
|
* TODO: Implement destroyable pattern to free resources
|
|
9
9
|
*/
|
|
@@ -9,6 +9,12 @@ import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult }
|
|
|
9
9
|
* On its interface it exposes common methods for prompt execution.
|
|
10
10
|
* Inside (in constructor) it calls OpenAI, Azure, GPU, proxy, cache, logging,...
|
|
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
|
* @see https://github.com/webgptorg/promptbook#llm-execution-tools
|
|
13
19
|
*/
|
|
14
20
|
export type LlmExecutionTools = {
|
|
@@ -56,7 +62,7 @@ export type LlmExecutionTools = {
|
|
|
56
62
|
callEmbeddingModel?(prompt: Prompt): Promise<EmbeddingPromptResult>;
|
|
57
63
|
};
|
|
58
64
|
/**
|
|
59
|
-
* TODO: [🕛] Extend this from sth class
|
|
65
|
+
* TODO: [🕛] Extend this from sth class - like `AgentBasicInformation` / `ModelBasicInformation``
|
|
60
66
|
* TODO: [🍚] Implement destroyable pattern to free resources
|
|
61
67
|
* TODO: [🏳] Add `callTranslationModel`
|
|
62
68
|
* TODO: [🧠] Emulation of one type of model with another one - emuate chat with completion; emulate translation with chat
|
|
@@ -2,6 +2,7 @@ import type { PartialDeep, Promisable, ReadonlyDeep } from 'type-fest';
|
|
|
2
2
|
import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
|
|
3
3
|
import type { InputParameters } from '../../types/typeAliases';
|
|
4
4
|
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
|
|
5
|
+
import type { LlmCall } from '../../types/LlmCall';
|
|
5
6
|
import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
|
|
6
7
|
/**
|
|
7
8
|
* Options for executing an entire pipeline, including input parameters, pipeline context, and progress callbacks.
|
|
@@ -17,6 +18,10 @@ type ExecutePipelineOptions = Required<CreatePipelineExecutorOptions> & {
|
|
|
17
18
|
* Optional callback invoked with partial results as the pipeline execution progresses.
|
|
18
19
|
*/
|
|
19
20
|
onProgress?(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Optional callback invoked with each LLM call.
|
|
23
|
+
*/
|
|
24
|
+
logLlmCall?(llmCall: LlmCall): Promisable<void>;
|
|
20
25
|
/**
|
|
21
26
|
* The pipeline definition to execute.
|
|
22
27
|
*/
|
|
@@ -2,6 +2,7 @@ import type { PartialDeep, Promisable, ReadonlyDeep, WritableDeep } from 'type-f
|
|
|
2
2
|
import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
|
|
3
3
|
import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
|
|
4
4
|
import type { Parameters } from '../../types/typeAliases';
|
|
5
|
+
import type { LlmCall } from '../../types/LlmCall';
|
|
5
6
|
import type { ExecutionReportJson } from '../execution-report/ExecutionReportJson';
|
|
6
7
|
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
|
|
7
8
|
import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
|
|
@@ -27,6 +28,10 @@ type executeSingleTaskOptions = Required<CreatePipelineExecutorOptions> & {
|
|
|
27
28
|
* Callback invoked with partial results as the execution progresses.
|
|
28
29
|
*/
|
|
29
30
|
onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Optional callback invoked with each LLM call.
|
|
33
|
+
*/
|
|
34
|
+
logLlmCall?(llmCall: LlmCall): Promisable<void>;
|
|
30
35
|
/**
|
|
31
36
|
* Mutable execution report object for tracking execution details.
|
|
32
37
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { PartialDeep, Promisable } from 'type-fest';
|
|
2
2
|
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
3
|
+
import type { LlmCall } from '../../types/LlmCall';
|
|
3
4
|
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
|
|
4
5
|
import type { ExecuteAttemptsOptions } from './40-executeAttempts';
|
|
5
6
|
/**
|
|
@@ -13,6 +14,10 @@ type ExecuteFormatCellsOptions = ExecuteAttemptsOptions & {
|
|
|
13
14
|
* Callback invoked with partial results as the execution progresses.
|
|
14
15
|
*/
|
|
15
16
|
onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Optional callback invoked with each LLM call.
|
|
19
|
+
*/
|
|
20
|
+
logLlmCall?(llmCall: LlmCall): Promisable<void>;
|
|
16
21
|
};
|
|
17
22
|
/**
|
|
18
23
|
* Executes a pipeline task that requires mapping or iterating over subvalues of a parameter (such as rows in a CSV).
|
|
@@ -3,6 +3,7 @@ import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
|
|
|
3
3
|
import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
|
|
4
4
|
import type { Parameters, string_parameter_name } from '../../types/typeAliases';
|
|
5
5
|
import type { TODO_string } from '../../utils/organization/TODO_string';
|
|
6
|
+
import type { LlmCall } from '../../types/LlmCall';
|
|
6
7
|
import type { ExecutionReportJson } from '../execution-report/ExecutionReportJson';
|
|
7
8
|
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
|
|
8
9
|
import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
|
|
@@ -50,6 +51,10 @@ export type ExecuteAttemptsOptions = Required<Omit<CreatePipelineExecutorOptions
|
|
|
50
51
|
* Callback invoked with partial results as the execution progresses.
|
|
51
52
|
*/
|
|
52
53
|
onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Optional callback invoked with each LLM call.
|
|
56
|
+
*/
|
|
57
|
+
logLlmCall?(llmCall: LlmCall): Promisable<void>;
|
|
53
58
|
/**
|
|
54
59
|
* The execution report object, which is updated during execution.
|
|
55
60
|
*/
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LlmCall } from '../../types/LlmCall';
|
|
2
|
+
import type { ExecutionPromptReportJson } from '../execution-report/ExecutionPromptReportJson';
|
|
3
|
+
/**
|
|
4
|
+
* Logs an LLM call with the given report.
|
|
5
|
+
*
|
|
6
|
+
* @private internal utility of `createPipelineExecutor`
|
|
7
|
+
*/
|
|
8
|
+
export declare function logLlmCall(logLlmCall: (llmCall: LlmCall) => void, report: ExecutionPromptReportJson): void;
|
|
@@ -3,145 +3,25 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @public exported from `@promptbook/core`
|
|
5
5
|
*/
|
|
6
|
-
export declare const ZERO_VALUE:
|
|
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:
|
|
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:
|
|
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:
|
|
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):
|
|
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):
|
|
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
|
|
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(
|
|
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
|
+
};
|