@promptbook/openai 0.61.0-10 → 0.61.0-12
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/esm/index.es.js +9 -2
- package/esm/index.es.js.map +1 -1
- package/esm/typings/promptbook-collection/index.d.ts +83 -2
- package/esm/typings/src/_packages/core.index.d.ts +2 -2
- package/esm/typings/src/_packages/types.index.d.ts +2 -2
- package/esm/typings/src/_packages/utils.index.d.ts +3 -1
- package/esm/typings/src/cli/cli-commands/hello.d.ts +3 -0
- package/esm/typings/src/cli/cli-commands/make.d.ts +3 -0
- package/esm/typings/src/cli/cli-commands/prettify.d.ts +3 -0
- package/esm/typings/src/cli/promptbookCli.d.ts +1 -0
- package/esm/typings/src/collection/PipelineCollection.d.ts +1 -1
- package/esm/typings/src/collection/SimplePipelineCollection.d.ts +1 -1
- package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +1 -0
- package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -0
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -1
- package/esm/typings/src/config.d.ts +4 -0
- package/esm/typings/src/conversion/pipelineJsonToString.d.ts +1 -1
- package/esm/typings/src/conversion/pipelineStringToJson.d.ts +1 -0
- package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +2 -0
- package/esm/typings/src/conversion/validation/validatePipeline.d.ts +6 -0
- package/esm/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
- package/{umd/typings/src/errors/VersionMismatch.d.ts → esm/typings/src/errors/VersionMismatchError.d.ts} +1 -1
- package/esm/typings/src/execution/CommonExecutionToolsOptions.d.ts +1 -0
- package/esm/typings/src/execution/LlmExecutionTools.d.ts +3 -1
- package/esm/typings/src/execution/PipelineExecutor.d.ts +4 -3
- package/esm/typings/src/execution/PromptResult.d.ts +12 -0
- package/esm/typings/src/execution/ScriptExecutionTools.d.ts +4 -2
- package/esm/typings/src/execution/createPipelineExecutor.d.ts +2 -0
- package/esm/typings/src/formats/csv/ListFormatDefinition.d.ts +1 -0
- package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +1 -0
- package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +1 -0
- package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +1 -0
- package/esm/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -0
- package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +1 -1
- package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +1 -0
- package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
- package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +1 -0
- package/esm/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +22 -0
- package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +10 -0
- package/esm/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +10 -0
- package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +29 -0
- package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
- package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +16 -0
- package/esm/typings/src/llm-providers/_common/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +11 -0
- package/esm/typings/src/llm-providers/_common/utils/count-total-cost/countTotalCost.d.ts +14 -0
- package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -0
- package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -0
- package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +3 -0
- package/esm/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +1 -1
- package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +3 -1
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +1 -0
- package/esm/typings/src/llm-providers/openai/computeUsage.d.ts +2 -2
- package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -0
- package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
- package/esm/typings/src/personas/preparePersona.d.ts +4 -2
- package/esm/typings/src/prepare/preparePipeline.d.ts +3 -1
- package/esm/typings/src/prepare/unpreparePipeline.d.ts +1 -0
- package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +25 -0
- package/esm/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
- package/esm/typings/src/storage/files-storage/FilesStorage.d.ts +30 -0
- package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +13 -0
- package/esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
- package/esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts +1 -0
- package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +9 -0
- package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +9 -0
- package/esm/typings/src/storage/memory/MemoryStorage.d.ts +34 -0
- package/esm/typings/src/storage/utils/PrefixStorage.d.ts +26 -0
- package/esm/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +11 -0
- package/esm/typings/src/types/ModelRequirements.d.ts +21 -1
- package/esm/typings/src/types/Parameters.d.ts +0 -1
- package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +1 -2
- package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +1 -5
- package/esm/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +1 -0
- package/esm/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +11 -2
- package/esm/typings/src/types/PipelineString.d.ts +1 -1
- package/esm/typings/src/types/Prompt.d.ts +5 -2
- package/esm/typings/src/types/execution-report/countWorkingDuration.d.ts +1 -1
- package/esm/typings/src/types/typeAliases.d.ts +35 -1
- package/esm/typings/src/utils/emojis.d.ts +2 -2
- package/esm/typings/src/utils/formatNumber.d.ts +1 -1
- package/esm/typings/src/utils/isRunningInWhatever.d.ts +3 -0
- package/esm/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +1 -1
- package/esm/typings/src/utils/markdown/createMarkdownChart.d.ts +1 -1
- package/esm/typings/src/utils/markdown/createMarkdownTable.d.ts +1 -1
- package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts +1 -0
- package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +7 -0
- package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
- package/esm/typings/src/utils/organization/TODO.d.ts +2 -0
- package/esm/typings/src/utils/organization/TODO_USE.d.ts +1 -0
- package/esm/typings/src/utils/organization/___.d.ts +2 -0
- package/esm/typings/src/utils/organization/just.d.ts +1 -0
- package/esm/typings/src/utils/organization/keepImported.d.ts +12 -0
- package/esm/typings/src/utils/organization/notUsing.d.ts +12 -0
- package/esm/typings/src/utils/organization/really_any.d.ts +2 -0
- package/esm/typings/src/utils/random/randomSeed.d.ts +7 -0
- package/esm/typings/src/version.d.ts +3 -0
- package/package.json +2 -2
- package/umd/index.umd.js +9 -2
- package/umd/index.umd.js.map +1 -1
- package/umd/typings/promptbook-collection/index.d.ts +83 -2
- package/umd/typings/src/_packages/core.index.d.ts +2 -2
- package/umd/typings/src/_packages/types.index.d.ts +2 -2
- package/umd/typings/src/_packages/utils.index.d.ts +3 -1
- package/umd/typings/src/cli/cli-commands/hello.d.ts +3 -0
- package/umd/typings/src/cli/cli-commands/make.d.ts +3 -0
- package/umd/typings/src/cli/cli-commands/prettify.d.ts +3 -0
- package/umd/typings/src/cli/promptbookCli.d.ts +1 -0
- package/umd/typings/src/collection/PipelineCollection.d.ts +1 -1
- package/umd/typings/src/collection/SimplePipelineCollection.d.ts +1 -1
- package/umd/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +1 -0
- package/umd/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -0
- package/umd/typings/src/commands/_common/types/CommandParser.d.ts +4 -1
- package/umd/typings/src/config.d.ts +4 -0
- package/umd/typings/src/conversion/pipelineJsonToString.d.ts +1 -1
- package/umd/typings/src/conversion/pipelineStringToJson.d.ts +1 -0
- package/umd/typings/src/conversion/pipelineStringToJsonSync.d.ts +2 -0
- package/umd/typings/src/conversion/validation/validatePipeline.d.ts +6 -0
- package/umd/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
- package/{esm/typings/src/errors/VersionMismatch.d.ts → umd/typings/src/errors/VersionMismatchError.d.ts} +1 -1
- package/umd/typings/src/execution/CommonExecutionToolsOptions.d.ts +1 -0
- package/umd/typings/src/execution/LlmExecutionTools.d.ts +3 -1
- package/umd/typings/src/execution/PipelineExecutor.d.ts +4 -3
- package/umd/typings/src/execution/PromptResult.d.ts +12 -0
- package/umd/typings/src/execution/ScriptExecutionTools.d.ts +4 -2
- package/umd/typings/src/execution/createPipelineExecutor.d.ts +2 -0
- package/umd/typings/src/formats/csv/ListFormatDefinition.d.ts +1 -0
- package/umd/typings/src/formats/json/JsonFormatDefinition.d.ts +1 -0
- package/umd/typings/src/formats/list/ListFormatDefinition.d.ts +1 -0
- package/umd/typings/src/formats/xml/XmlFormatDefinition.d.ts +1 -0
- package/umd/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -0
- package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +1 -1
- package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +1 -0
- package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
- package/umd/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +1 -0
- package/umd/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +22 -0
- package/umd/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +10 -0
- package/umd/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +10 -0
- package/umd/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +29 -0
- package/umd/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
- package/umd/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +16 -0
- package/umd/typings/src/llm-providers/_common/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +11 -0
- package/umd/typings/src/llm-providers/_common/utils/count-total-cost/countTotalCost.d.ts +14 -0
- package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -0
- package/umd/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
- package/umd/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
- package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -0
- package/umd/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
- package/umd/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +3 -0
- package/umd/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +1 -1
- package/umd/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +1 -1
- package/umd/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +1 -1
- package/umd/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +3 -1
- package/umd/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +1 -0
- package/umd/typings/src/llm-providers/openai/computeUsage.d.ts +2 -2
- package/umd/typings/src/llm-providers/openai/openai-models.d.ts +1 -0
- package/umd/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
- package/umd/typings/src/personas/preparePersona.d.ts +4 -2
- package/umd/typings/src/prepare/preparePipeline.d.ts +3 -1
- package/umd/typings/src/prepare/unpreparePipeline.d.ts +1 -0
- package/umd/typings/src/storage/_common/PromptbookStorage.d.ts +25 -0
- package/umd/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
- package/umd/typings/src/storage/files-storage/FilesStorage.d.ts +30 -0
- package/umd/typings/src/storage/files-storage/FilesStorageOptions.d.ts +13 -0
- package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
- package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts +1 -0
- package/umd/typings/src/storage/local-storage/getLocalStorage.d.ts +9 -0
- package/umd/typings/src/storage/local-storage/getSessionStorage.d.ts +9 -0
- package/umd/typings/src/storage/memory/MemoryStorage.d.ts +34 -0
- package/umd/typings/src/storage/utils/PrefixStorage.d.ts +26 -0
- package/umd/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +11 -0
- package/umd/typings/src/types/ModelRequirements.d.ts +21 -1
- package/umd/typings/src/types/Parameters.d.ts +0 -1
- package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +1 -2
- package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +1 -5
- package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +1 -0
- package/umd/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +11 -2
- package/umd/typings/src/types/PipelineString.d.ts +1 -1
- package/umd/typings/src/types/Prompt.d.ts +5 -2
- package/umd/typings/src/types/execution-report/countWorkingDuration.d.ts +1 -1
- package/umd/typings/src/types/typeAliases.d.ts +35 -1
- package/umd/typings/src/utils/emojis.d.ts +2 -2
- package/umd/typings/src/utils/formatNumber.d.ts +1 -1
- package/umd/typings/src/utils/isRunningInWhatever.d.ts +3 -0
- package/umd/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +1 -1
- package/umd/typings/src/utils/markdown/createMarkdownChart.d.ts +1 -1
- package/umd/typings/src/utils/markdown/createMarkdownTable.d.ts +1 -1
- package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts +1 -0
- package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +7 -0
- package/umd/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
- package/umd/typings/src/utils/organization/TODO.d.ts +2 -0
- package/umd/typings/src/utils/organization/TODO_USE.d.ts +1 -0
- package/umd/typings/src/utils/organization/___.d.ts +2 -0
- package/umd/typings/src/utils/organization/just.d.ts +1 -0
- package/umd/typings/src/utils/organization/keepImported.d.ts +12 -0
- package/umd/typings/src/utils/organization/notUsing.d.ts +12 -0
- package/umd/typings/src/utils/organization/really_any.d.ts +2 -0
- package/umd/typings/src/utils/random/randomSeed.d.ts +7 -0
- package/umd/typings/src/version.d.ts +3 -0
- package/esm/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
- package/esm/typings/src/knowledge/prepare-knowledge/_common/utils/getLlmToolsForTests.d.ts +0 -7
- package/umd/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
- package/umd/typings/src/knowledge/prepare-knowledge/_common/utils/getLlmToolsForTests.d.ts +0 -7
|
@@ -15,15 +15,21 @@ export type PromptResult = PromptCompletionResult | PromptChatResult | PromptEmb
|
|
|
15
15
|
/**
|
|
16
16
|
* Prompt completion result
|
|
17
17
|
* It contains only the following text NOT the whole completion
|
|
18
|
+
*
|
|
19
|
+
* Note: This is fully serializable as JSON
|
|
18
20
|
*/
|
|
19
21
|
export type PromptCompletionResult = PromptCommonResult;
|
|
20
22
|
/**
|
|
21
23
|
* Prompt chat result
|
|
24
|
+
*
|
|
25
|
+
* Note: This is fully serializable as JSON
|
|
22
26
|
*/
|
|
23
27
|
export type PromptChatResult = PromptCommonResult & {};
|
|
24
28
|
/**
|
|
25
29
|
* Prompt embedding result
|
|
26
30
|
* It contains only the following text NOT the whole completion
|
|
31
|
+
*
|
|
32
|
+
* Note: This is fully serializable as JSON
|
|
27
33
|
*/
|
|
28
34
|
export type PromptEmbeddingResult = Omit<PromptCommonResult, 'content'> & {
|
|
29
35
|
/**
|
|
@@ -31,6 +37,11 @@ export type PromptEmbeddingResult = Omit<PromptCommonResult, 'content'> & {
|
|
|
31
37
|
*/
|
|
32
38
|
content: EmbeddingVector;
|
|
33
39
|
};
|
|
40
|
+
/**
|
|
41
|
+
* Common properties for all prompt results
|
|
42
|
+
*
|
|
43
|
+
* Note: This is fully serializable as JSON
|
|
44
|
+
*/
|
|
34
45
|
export type PromptCommonResult = {
|
|
35
46
|
/**
|
|
36
47
|
* Exact text response from the model
|
|
@@ -111,4 +122,5 @@ export type UncertainNumber = {
|
|
|
111
122
|
* TODO: [🧠] Maybe type raw properly - not onject but OpenAI.result.whatever
|
|
112
123
|
* TODO: [🧠] Maybe remove redundant raw.choices.text
|
|
113
124
|
* TODO: Log raw even if prompt failed - log the raw error
|
|
125
|
+
* TODO: [🏳] Add `PromptTranslationResult`
|
|
114
126
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ScriptLanguage } from '../types/ScriptLanguage';
|
|
2
|
-
import type {
|
|
2
|
+
import type { string_parameter_name } from '../types/typeAliases';
|
|
3
|
+
import type { string_parameter_value } from '../types/typeAliases';
|
|
3
4
|
import type { string_script } from '../types/typeAliases';
|
|
4
5
|
/**
|
|
5
6
|
* Represents all the tools needed to EXECUTE SCRIPTs
|
|
@@ -22,7 +23,7 @@ export type ScriptExecutionToolsExecuteOptions = {
|
|
|
22
23
|
* Theese parameters are passed to the script as variables
|
|
23
24
|
* For example: { "name": "John" } => const name = "John";
|
|
24
25
|
*/
|
|
25
|
-
readonly parameters: Record<
|
|
26
|
+
readonly parameters: Record<string_parameter_name, string_parameter_value>;
|
|
26
27
|
/**
|
|
27
28
|
* The content of the script to execute
|
|
28
29
|
* - It can be a single statement
|
|
@@ -35,4 +36,5 @@ export type ScriptExecutionToolsExecuteOptions = {
|
|
|
35
36
|
};
|
|
36
37
|
/**
|
|
37
38
|
* TODO: [🧠][💙] Distinct between options passed into ExecutionTools and to ExecutionTools.execute
|
|
39
|
+
* TODO: [🧠][🪐] Should be common things like types, utils in folder containing A,B,C,.. or else outside this listing folder?
|
|
38
40
|
*/
|
|
@@ -36,8 +36,10 @@ export declare function createPipelineExecutor(options: CreatePipelineExecutorOp
|
|
|
36
36
|
export {};
|
|
37
37
|
/**
|
|
38
38
|
* TODO: [🪂] Pass maxParallelCount here
|
|
39
|
+
* TODO: [♈] Probbably move expectations from templates to parameters
|
|
39
40
|
* TODO: [🧠] When not meet expectations in PROMPT_DIALOG, make some way to tell the user
|
|
40
41
|
* TODO: [👧] Strongly type the executors to avoid need of remove nullables whtn noUncheckedIndexedAccess in tsconfig.json
|
|
41
42
|
* Note: CreatePipelineExecutorOptions are just connected to PipelineExecutor so do not extract to types folder
|
|
42
43
|
* TODO: [🧠][3] transparent = (report intermediate parameters) / opaque execution = (report only output parameters) progress reporting mode
|
|
44
|
+
* TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
|
|
43
45
|
*/
|
|
@@ -8,4 +8,5 @@ export declare const CsvFormatDefinition: FormatDefinition<string, string, objec
|
|
|
8
8
|
* TODO: [🍓] In `CsvFormatDefinition` implement partial `canBeValid`
|
|
9
9
|
* TODO: [🍓] In `CsvFormatDefinition` implement `heal
|
|
10
10
|
* TODO: [🍓] In `CsvFormatDefinition` implement `extractValues`
|
|
11
|
+
* TODO: [🏢] Allow to expect something inside CSV objects and other formats
|
|
11
12
|
*/
|
|
@@ -12,4 +12,5 @@ export declare const JsonFormatDefinition: FormatDefinition<string, string, obje
|
|
|
12
12
|
* TODO: [🍓] In `JsonFormatDefinition` implement partial `canBeValid`
|
|
13
13
|
* TODO: [🍓] In `JsonFormatDefinition` implement `heal
|
|
14
14
|
* TODO: [🍓] In `JsonFormatDefinition` implement `extractValues`
|
|
15
|
+
* TODO: [🏢] Allow to expect something inside JSON objects and other formats
|
|
15
16
|
*/
|
|
@@ -10,4 +10,5 @@ export declare const ListFormatDefinition: FormatDefinition<string, string, obje
|
|
|
10
10
|
* TODO: [🍓] In `ListFormatDefinition` implement partial `canBeValid`
|
|
11
11
|
* TODO: [🍓] In `ListFormatDefinition` implement `heal
|
|
12
12
|
* TODO: [🍓] In `ListFormatDefinition` implement `extractValues`
|
|
13
|
+
* TODO: [🏢] Allow to expect something inside each item of list and other formats
|
|
13
14
|
*/
|
|
@@ -12,4 +12,5 @@ export declare const XmlFormatDefinition: FormatDefinition<string, string, objec
|
|
|
12
12
|
* TODO: [🍓] In `XmlFormatDefinition` implement partial `canBeValid`
|
|
13
13
|
* TODO: [🍓] In `XmlFormatDefinition` implement `heal
|
|
14
14
|
* TODO: [🍓] In `XmlFormatDefinition` implement `extractValues`
|
|
15
|
+
* TODO: [🏢] Allow to expect something inside XML and other formats
|
|
15
16
|
*/
|
|
@@ -15,3 +15,6 @@ export declare class SimplePromptInterfaceTools implements UserInterfaceTools {
|
|
|
15
15
|
*/
|
|
16
16
|
promptDialog(options: UserInterfaceToolsPromptDialogOptions): Promise<string>;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Note: [🔵] This code should never be published outside of `@promptbook/browser`
|
|
20
|
+
*/
|
|
@@ -5,10 +5,10 @@ import type { KnowledgeSourceJson } from '../../../types/PipelineJson/KnowledgeS
|
|
|
5
5
|
* Prepares the knowle
|
|
6
6
|
*
|
|
7
7
|
* @see https://github.com/webgptorg/promptbook/discussions/41
|
|
8
|
-
* @private within the package
|
|
9
8
|
*/
|
|
10
9
|
export declare function prepareKnowledgePieces(knowledgeSources: Array<KnowledgeSourceJson>, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'preparationIds'>>>;
|
|
11
10
|
/**
|
|
11
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
12
12
|
* TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
|
|
13
13
|
* Put `knowledgePieces` into `PrepareKnowledgeOptions`
|
|
14
14
|
* TODO: [🪂] More than max things can run in parallel by acident [1,[2a,2b,_],[3a,3b,_]]
|
package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { string_markdown } from '../../../types/typeAliases';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare function prepareKnowledgeFromMarkdown(content: string_markdown, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>>>;
|
|
8
8
|
/**
|
|
9
|
+
* TODO: [🔼] !!! Export via `@promptbook/markdown`
|
|
9
10
|
* TODO: [🪂] Do it in parallel 11:11
|
|
10
11
|
* Note: No need to aggregate usage here, it is done by intercepting the llmTools
|
|
11
12
|
*/
|
|
@@ -6,6 +6,7 @@ import type { string_base64 } from '../../../types/typeAliases';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare function prepareKnowledgeFromPdf(content: string_base64, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>>>;
|
|
8
8
|
/**
|
|
9
|
+
* TODO: [🔼] !!! Export via `@promptbook/pdf`
|
|
9
10
|
* TODO: [🧺] In future, content can be alse File or Blob BUT for now for wider compatibility its only base64
|
|
10
11
|
* @see https://stackoverflow.com/questions/14653349/node-js-cant-create-blobs
|
|
11
12
|
* TODO: [🪂] Do it in parallel
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
2
|
+
/**
|
|
3
|
+
* @@@
|
|
4
|
+
*
|
|
5
|
+
* Note: This function is not cached, every call creates new instance of LlmExecutionTools
|
|
6
|
+
*
|
|
7
|
+
* It looks for environment variables:
|
|
8
|
+
* - `process.env.OPENAI_API_KEY`
|
|
9
|
+
* - `process.env.ANTHROPIC_CLAUDE_API_KEY`
|
|
10
|
+
*
|
|
11
|
+
* @returns @@@
|
|
12
|
+
*/
|
|
13
|
+
export declare function createLlmToolsFromEnv(): LlmExecutionTools;
|
|
14
|
+
/**
|
|
15
|
+
* TODO: [🔼] !!! Export via `@promptbook/node`
|
|
16
|
+
* TODO: @@@ write discussion about this - wizzard
|
|
17
|
+
* TODO: Add Azure
|
|
18
|
+
* TODO: [🧠] Which name is better `createLlmToolsFromEnv` or `createLlmToolsFromEnvironment`?
|
|
19
|
+
* TODO: [🧠] Is there some meaningfull way how to test this util
|
|
20
|
+
* TODO: [🧠] Maybe pass env as argument
|
|
21
|
+
* Note: [🟢] This code should never be published outside of `@promptbook/node`
|
|
22
|
+
*/
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
2
|
+
/**
|
|
3
|
+
* Returns LLM tools for CLI
|
|
4
|
+
*
|
|
5
|
+
* @private within the repository - for CLI utils
|
|
6
|
+
*/
|
|
7
|
+
export declare function getLlmToolsForCli(): LlmExecutionTools;
|
|
8
|
+
/**
|
|
9
|
+
* Note: [🟡] This code should never be published outside of `@promptbook/cli`
|
|
10
|
+
*/
|
package/esm/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
2
|
+
/**
|
|
3
|
+
* Returns LLM tools for testing purposes
|
|
4
|
+
*
|
|
5
|
+
* @private within the repository - JUST FOR TESTS, SCRIPTS AND PLAYGROUND
|
|
6
|
+
*/
|
|
7
|
+
export declare function getLlmToolsForTestingAndScriptsAndPlayground(): LlmExecutionTools;
|
|
8
|
+
/**
|
|
9
|
+
* Note: [⚪] This should never be in any released package
|
|
10
|
+
*/
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { PromptResult } from '../../../../execution/PromptResult';
|
|
2
|
+
import type { Prompt } from '../../../../types/Prompt';
|
|
3
|
+
import type { string_date_iso8601 } from '../../../../types/typeAliases';
|
|
4
|
+
import type { string_promptbook_version } from '../../../../version';
|
|
5
|
+
/**
|
|
6
|
+
* @@@
|
|
7
|
+
*/
|
|
8
|
+
export type CacheItem = {
|
|
9
|
+
/**
|
|
10
|
+
* @@@
|
|
11
|
+
*/
|
|
12
|
+
date: string_date_iso8601;
|
|
13
|
+
/**
|
|
14
|
+
* @@@
|
|
15
|
+
*/
|
|
16
|
+
promptbookVersion: string_promptbook_version;
|
|
17
|
+
/**
|
|
18
|
+
* @@@
|
|
19
|
+
*/
|
|
20
|
+
prompt: Prompt;
|
|
21
|
+
/**
|
|
22
|
+
* @@@
|
|
23
|
+
*/
|
|
24
|
+
promptResult: PromptResult;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* TODO: [🧠] Should be this exported alongsite `cacheLlmTools` through `@promptbook/utils` OR through `@promptbook/types`
|
|
28
|
+
* TODO: [🛫] `prompt` is NOT fully serializable as JSON, it contains functions which are not serializable, fix it
|
|
29
|
+
*/
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PromptbookStorage } from '../../../../storage/_common/PromptbookStorage';
|
|
2
|
+
import type { CacheItem } from './CacheItem';
|
|
3
|
+
export type CacheLlmToolsOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* Total cost of the execution
|
|
6
|
+
*
|
|
7
|
+
* @default MemoryStorage
|
|
8
|
+
*/
|
|
9
|
+
storage: PromptbookStorage<CacheItem>;
|
|
10
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { LlmExecutionTools } from '../../../../execution/LlmExecutionTools';
|
|
2
|
+
import type { CacheLlmToolsOptions } from './CacheLlmToolsOptions';
|
|
3
|
+
/**
|
|
4
|
+
* Intercepts LLM tools and counts total usage of the tools
|
|
5
|
+
*
|
|
6
|
+
* @param llmTools LLM tools to be intercepted with usage counting
|
|
7
|
+
* @returns LLM tools with same functionality with added total cost counting
|
|
8
|
+
*/
|
|
9
|
+
export declare function cacheLlmTools(llmTools: LlmExecutionTools, options?: Partial<CacheLlmToolsOptions>): LlmExecutionTools;
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
12
|
+
* TODO: @@@ write discussion about this and storages
|
|
13
|
+
* write how to combine multiple interceptors
|
|
14
|
+
* TODO: [🧠][💸] Maybe make some common abstraction `interceptLlmTools` and use here (or use javascript Proxy?)
|
|
15
|
+
* TODO: [🧠] Is there some meaningfull way how to test this util
|
|
16
|
+
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LlmExecutionTools } from '../../../../execution/LlmExecutionTools';
|
|
2
|
+
import type { PromptResultUsage } from '../../../../execution/PromptResult';
|
|
3
|
+
/**
|
|
4
|
+
* LLM tools with option to get total cost of the execution
|
|
5
|
+
*/
|
|
6
|
+
export type LlmExecutionToolsWithTotalCost = LlmExecutionTools & {
|
|
7
|
+
/**
|
|
8
|
+
* Total cost of the execution
|
|
9
|
+
*/
|
|
10
|
+
totalUsage: PromptResultUsage;
|
|
11
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { LlmExecutionTools } from '../../../../execution/LlmExecutionTools';
|
|
2
|
+
import type { LlmExecutionToolsWithTotalCost } from './LlmExecutionToolsWithTotalCost';
|
|
3
|
+
/**
|
|
4
|
+
* Intercepts LLM tools and counts total usage of the tools
|
|
5
|
+
*
|
|
6
|
+
* @param llmTools LLM tools to be intercepted with usage counting
|
|
7
|
+
* @returns LLM tools with same functionality with added total cost counting
|
|
8
|
+
*/
|
|
9
|
+
export declare function countTotalUsage(llmTools: LlmExecutionTools): LlmExecutionToolsWithTotalCost;
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [🔼] !!! Export via `@promptbookcore/`
|
|
12
|
+
* TODO: [🧠][💸] Maybe make some common abstraction `interceptLlmTools` and use here (or use javascript Proxy?)
|
|
13
|
+
* TODO: [🧠] Is there some meaningfull way how to test this util
|
|
14
|
+
*/
|
|
@@ -45,4 +45,5 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
|
|
|
45
45
|
* TODO: [🧠] Maybe handle errors via transformAnthropicError (like transformAzureError)
|
|
46
46
|
* TODO: Maybe Create some common util for callChatModel and callCompletionModel
|
|
47
47
|
* TODO: Maybe make custom OpenaiError
|
|
48
|
+
* TODO: [🧠][🈁] Maybe use `isDeterministic` from options
|
|
48
49
|
*/
|
|
@@ -15,7 +15,7 @@ export declare const ANTHROPIC_CLAUDE_MODELS: Array<AvailableModel & {
|
|
|
15
15
|
}>;
|
|
16
16
|
/**
|
|
17
17
|
* Note: [🤖] Add models of new variant
|
|
18
|
-
* TODO:
|
|
18
|
+
* TODO: [🧠] !!! Add embedding models OR Anthropic has only chat+completion models?
|
|
19
19
|
* TODO: [🧠] Some mechanism to propagate unsureness
|
|
20
20
|
* TODO: [🧠][👮♀️] Put here more info like description, isVision, trainingDateCutoff, languages, strengths ( Top-level performance, intelligence, fluency, and understanding), contextWindow,...
|
|
21
21
|
* TODO: [🕚] Make this list dynamic - dynamically can be listed modelNames but not modelVariant, legacy status, context length and pricing
|
|
@@ -44,4 +44,5 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
|
|
|
44
44
|
/**
|
|
45
45
|
* TODO: Maybe Create some common util for callChatModel and callCompletionModel
|
|
46
46
|
* TODO: Maybe make custom AzureOpenaiError
|
|
47
|
+
* TODO: [🧠][🈁] Maybe use `isDeterministic` from options
|
|
47
48
|
*/
|
|
@@ -29,6 +29,6 @@ export declare class MockedEchoLlmExecutionTools implements LlmExecutionTools {
|
|
|
29
29
|
listModels(): Array<AvailableModel>;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
* TODO: [
|
|
32
|
+
* TODO: [🧠][🈁] Maybe use `isDeterministic` from options
|
|
33
33
|
* TODO: Allow in spaceTrim: nesting with > ${block(prompt.request)}, same as replace params
|
|
34
34
|
*/
|
|
@@ -41,10 +41,12 @@ export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
|
|
|
41
41
|
private callModelCommon;
|
|
42
42
|
/**
|
|
43
43
|
* List all available models that can be used
|
|
44
|
-
* This
|
|
44
|
+
* This lists is a combination of all available models from all execution tools
|
|
45
45
|
*/
|
|
46
46
|
listModels(): Promise<Array<AvailableModel>>;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* TODO: [🧠][🎛] Aggregating multiple models - have result not only from one first aviable model BUT all of them
|
|
50
|
+
* TODO: [🏖] If no llmTools have for example not defined `callCompletionModel` this will still return object with defined `callCompletionModel` which just throws `PipelineExecutionError`, make it undefined instead
|
|
51
|
+
* Look how `countTotalUsage` (and `cacheLlmTools`) implements it
|
|
50
52
|
*/
|
|
@@ -62,4 +62,5 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
|
|
|
62
62
|
* TODO: [🧠][🧙♂️] Maybe there can be some wizzard for thoose who want to use just OpenAI
|
|
63
63
|
* TODO: Maybe Create some common util for callChatModel and callCompletionModel
|
|
64
64
|
* TODO: Maybe make custom OpenaiError
|
|
65
|
+
* TODO: [🧠][🈁] Maybe use `isDeterministic` from options
|
|
65
66
|
*/
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
* @see https://openai.com/api/pricing/
|
|
5
5
|
* @see https://docs.anthropic.com/en/docs/models-overview
|
|
6
6
|
*
|
|
7
|
-
* @private within the
|
|
7
|
+
* @private within the repository, used only as internal helper for `OPENAI_MODELS` and `computeUsage`
|
|
8
8
|
*/
|
|
9
9
|
type string_model_price = `$${number}.${number} / ${number}M tokens`;
|
|
10
10
|
/**
|
|
11
11
|
* Function computeUsage will create price per one token based on the string value found on openai page
|
|
12
12
|
*
|
|
13
|
-
* @private within the
|
|
13
|
+
* @private within the repository, used only as internal helper for `OPENAI_MODELS`
|
|
14
14
|
*/
|
|
15
15
|
export declare function computeUsage(value: string_model_price): number;
|
|
16
16
|
export {};
|
|
@@ -24,4 +24,5 @@ export declare const OPENAI_MODELS: Array<AvailableModel & {
|
|
|
24
24
|
* @see /other/playground/playground.ts
|
|
25
25
|
* TODO: [🍓] Make better
|
|
26
26
|
* TODO: Change model titles to human eg: "gpt-4-turbo-2024-04-09" -> "GPT-4 Turbo (2024-04-09)"
|
|
27
|
+
* TODO: [🚸] Not all models are compatible with JSON mode, add this information here and use it
|
|
27
28
|
*/
|
|
@@ -5,9 +5,11 @@ import type { string_persona_description } from '../types/typeAliases';
|
|
|
5
5
|
* Prepares the persona for the pipeline
|
|
6
6
|
*
|
|
7
7
|
* @see https://github.com/webgptorg/promptbook/discussions/22
|
|
8
|
-
* @private within the package
|
|
9
8
|
*/
|
|
10
9
|
export declare function preparePersona(personaDescription: string_persona_description, options: PrepareOptions): Promise<PersonaPreparedJson['modelRequirements']>;
|
|
11
10
|
/**
|
|
12
|
-
* TODO: [
|
|
11
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
12
|
+
* TODO: [🏢] !! Check validity of `modelName` in pipeline
|
|
13
|
+
* TODO: [🏢] !! Check validity of `systemMessage` in pipeline
|
|
14
|
+
* TODO: [🏢] !! Check validity of `temperature` in pipeline
|
|
13
15
|
*/
|
|
@@ -8,8 +8,10 @@ import type { PrepareOptions } from './PrepareOptions';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function preparePipeline(pipeline: PipelineJson, options: PrepareOptions): Promise<PipelineJson>;
|
|
10
10
|
/**
|
|
11
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
11
12
|
* TODO: Write tests for `preparePipeline`
|
|
12
13
|
* TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
|
|
13
14
|
* TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
|
|
14
|
-
* TODO: [
|
|
15
|
+
* TODO: [🎐] !!!! Use here countTotalUsage
|
|
16
|
+
* TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
|
|
15
17
|
*/
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Promisable } from 'type-fest';
|
|
2
|
+
/**
|
|
3
|
+
* Storage of objects with asynchronous API
|
|
4
|
+
*
|
|
5
|
+
* Note: Naming `PromptbookStorage` not `Storage` to avoid name collision with global `Storage` interface.
|
|
6
|
+
* Note: This is simmilar to Web Storage API interface but everything is asynchronous and can store JSON objects.
|
|
7
|
+
*/
|
|
8
|
+
export type PromptbookStorage<TItem> = {
|
|
9
|
+
/**
|
|
10
|
+
* Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object
|
|
11
|
+
*/
|
|
12
|
+
getItem(key: string): Promisable<TItem | null>;
|
|
13
|
+
/**
|
|
14
|
+
* Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously
|
|
15
|
+
*/
|
|
16
|
+
setItem(key: string, value: TItem): Promisable<void>;
|
|
17
|
+
/**
|
|
18
|
+
* 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
|
|
19
|
+
*/
|
|
20
|
+
removeItem(key: string): Promisable<void>;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* TODO: [🔼] !!! Export via `@promptbook/types`
|
|
24
|
+
* TODO: [🧠][🛫] Constrain `TItem` to JSON-serializable objects only
|
|
25
|
+
*/
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
2
|
+
import type { FilesStorageOptions } from './FilesStorageOptions';
|
|
3
|
+
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*/
|
|
6
|
+
export declare class FilesStorage<TItem> implements PromptbookStorage<TItem> {
|
|
7
|
+
private readonly options;
|
|
8
|
+
constructor(options: FilesStorageOptions);
|
|
9
|
+
/**
|
|
10
|
+
* @@@
|
|
11
|
+
*/
|
|
12
|
+
private getFilenameForKey;
|
|
13
|
+
/**
|
|
14
|
+
* @@@ Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.
|
|
15
|
+
*/
|
|
16
|
+
getItem(key: string): Promise<TItem | null>;
|
|
17
|
+
/**
|
|
18
|
+
* @@@ Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
|
|
19
|
+
*/
|
|
20
|
+
setItem(key: string, value: TItem): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* @@@ 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.
|
|
23
|
+
*/
|
|
24
|
+
removeItem(key: string): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* TODO: [🔼] !!! Export via `@promptbook/node`
|
|
28
|
+
* TODO: [🌗] Maybe some checkers, not all valid JSONs are desired and valid values
|
|
29
|
+
* Note: [🟢] This code should never be published outside of `@promptbook/node`
|
|
30
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
2
|
+
/**
|
|
3
|
+
* Gets wrapper around `localStorage` object which can be used as `PromptbookStorage`
|
|
4
|
+
*/
|
|
5
|
+
export declare function getLocalStorage<TItem>(): PromptbookStorage<TItem>;
|
|
6
|
+
/**
|
|
7
|
+
* TODO: [🔼] !!! Export via `@promptbook/browser`
|
|
8
|
+
* Note: [🔵] This code should never be published outside of `@promptbook/browser`
|
|
9
|
+
*/
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
2
|
+
/**
|
|
3
|
+
* Gets wrapper around `sessionStorage` object which can be used as `PromptbookStorage`
|
|
4
|
+
*/
|
|
5
|
+
export declare function getSessionStorage<TItem>(): PromptbookStorage<TItem>;
|
|
6
|
+
/**
|
|
7
|
+
* TODO: [🔼] !!! Export via `@promptbook/browser`
|
|
8
|
+
* Note: [🔵] This code should never be published outside of `@promptbook/browser`
|
|
9
|
+
*/
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
2
|
+
/**
|
|
3
|
+
* Stores
|
|
4
|
+
*/
|
|
5
|
+
export declare class MemoryStorage<TItem> implements PromptbookStorage<TItem> {
|
|
6
|
+
private storage;
|
|
7
|
+
/**
|
|
8
|
+
* Returns the number of key/value pairs currently present in the list associated with the object.
|
|
9
|
+
*/
|
|
10
|
+
get length(): number;
|
|
11
|
+
/**
|
|
12
|
+
* Empties the list associated with the object of all key/value pairs, if there are any.
|
|
13
|
+
*/
|
|
14
|
+
clear(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.
|
|
17
|
+
*/
|
|
18
|
+
getItem(key: string): TItem | null;
|
|
19
|
+
/**
|
|
20
|
+
* Returns the name of the nth key in the list, or null if n is greater than or equal to the number of key/value pairs in the object.
|
|
21
|
+
*/
|
|
22
|
+
key(index: number): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
|
|
25
|
+
*/
|
|
26
|
+
setItem(key: string, value: TItem): void;
|
|
27
|
+
/**
|
|
28
|
+
* 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.
|
|
29
|
+
*/
|
|
30
|
+
removeItem(key: string): void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
34
|
+
*/
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Promisable } from 'type-fest';
|
|
2
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
3
|
+
/**
|
|
4
|
+
* This class behaves like LocalStorage but separates keys by prefix
|
|
5
|
+
*/
|
|
6
|
+
export declare class PrefixStorage<TItem> implements PromptbookStorage<TItem> {
|
|
7
|
+
private baseStorage;
|
|
8
|
+
private keyPrefix;
|
|
9
|
+
private separator;
|
|
10
|
+
constructor(baseStorage: PromptbookStorage<TItem>, keyPrefix: string, separator?: string);
|
|
11
|
+
/**
|
|
12
|
+
* Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.
|
|
13
|
+
*/
|
|
14
|
+
getItem(key: string): Promisable<TItem | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
|
|
17
|
+
*/
|
|
18
|
+
setItem(key: string, value: TItem): Promisable<void>;
|
|
19
|
+
/**
|
|
20
|
+
* 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.
|
|
21
|
+
*/
|
|
22
|
+
removeItem(key: string): void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
26
|
+
*/
|