@promptbook/node 0.89.0-9 → 0.92.0-10
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 +9 -7
- package/esm/index.es.js +320 -97
- package/esm/index.es.js.map +1 -1
- package/esm/typings/servers.d.ts +40 -0
- package/esm/typings/src/_packages/core.index.d.ts +14 -4
- package/esm/typings/src/_packages/deepseek.index.d.ts +2 -0
- package/esm/typings/src/_packages/google.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +18 -0
- package/esm/typings/src/_packages/utils.index.d.ts +6 -0
- package/esm/typings/src/cli/cli-commands/login.d.ts +0 -1
- package/esm/typings/src/cli/common/$provideLlmToolsForCli.d.ts +16 -3
- package/esm/typings/src/cli/test/ptbk.d.ts +1 -1
- package/esm/typings/src/commands/EXPECT/expectCommandParser.d.ts +2 -0
- package/esm/typings/src/config.d.ts +10 -19
- package/esm/typings/src/conversion/archive/loadArchive.d.ts +2 -2
- package/esm/typings/src/errors/0-index.d.ts +7 -4
- package/esm/typings/src/errors/PipelineExecutionError.d.ts +1 -1
- package/esm/typings/src/errors/WrappedError.d.ts +10 -0
- package/esm/typings/src/errors/assertsError.d.ts +11 -0
- package/esm/typings/src/execution/CommonToolsOptions.d.ts +4 -0
- package/esm/typings/src/execution/PromptbookFetch.d.ts +1 -1
- package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTask.d.ts +12 -0
- package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTask.d.ts +5 -0
- package/esm/typings/src/formats/csv/utils/csvParse.d.ts +12 -0
- package/esm/typings/src/formats/csv/utils/isValidCsvString.d.ts +9 -0
- package/esm/typings/src/formats/csv/utils/isValidCsvString.test.d.ts +1 -0
- package/esm/typings/src/formats/json/utils/isValidJsonString.d.ts +3 -0
- package/esm/typings/src/formats/json/utils/jsonParse.d.ts +11 -0
- package/esm/typings/src/formats/xml/utils/isValidXmlString.d.ts +9 -0
- package/esm/typings/src/formats/xml/utils/isValidXmlString.test.d.ts +1 -0
- package/esm/typings/src/llm-providers/_common/filterModels.d.ts +15 -0
- package/esm/typings/src/llm-providers/_common/register/{$provideEnvFilepath.d.ts → $provideEnvFilename.d.ts} +2 -2
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForWizzardOrCli.d.ts +11 -2
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +43 -0
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +4 -0
- package/esm/typings/src/llm-providers/deepseek/deepseek-models.d.ts +23 -0
- package/esm/typings/src/llm-providers/google/google-models.d.ts +23 -0
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +4 -0
- package/esm/typings/src/personas/preparePersona.d.ts +1 -1
- package/esm/typings/src/pipeline/PipelineJson/PersonaJson.d.ts +4 -2
- package/esm/typings/src/remote-server/openapi-types.d.ts +626 -0
- package/esm/typings/src/remote-server/openapi.d.ts +581 -0
- package/esm/typings/src/remote-server/socket-types/_subtypes/Identification.d.ts +7 -1
- package/esm/typings/src/remote-server/socket-types/_subtypes/identificationToPromptbookToken.d.ts +11 -0
- package/esm/typings/src/remote-server/socket-types/_subtypes/promptbookTokenToIdentification.d.ts +10 -0
- package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -2
- package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +15 -9
- package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +40 -0
- package/esm/typings/src/types/typeAliases.d.ts +26 -0
- package/package.json +9 -5
- package/umd/index.umd.js +320 -97
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/cli/test/ptbk2.d.ts +0 -5
|
@@ -2,11 +2,11 @@ import type { string_filename } from '../../../types/typeAliases';
|
|
|
2
2
|
/**
|
|
3
3
|
* Provides the path to the `.env` file
|
|
4
4
|
*
|
|
5
|
-
* Note: `$` is used to indicate that this function is not a pure function - it uses filesystem to access
|
|
5
|
+
* Note: `$` is used to indicate that this function is not a pure function - it uses filesystem to access `.env` file
|
|
6
6
|
*
|
|
7
7
|
* @private within the repository - for CLI utils
|
|
8
8
|
*/
|
|
9
|
-
export declare function $
|
|
9
|
+
export declare function $provideEnvFilename(): Promise<string_filename | null>;
|
|
10
10
|
/**
|
|
11
11
|
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
12
12
|
*/
|
package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { LlmToolsConfiguration } from './LlmToolsConfiguration';
|
|
|
3
3
|
* @@@
|
|
4
4
|
*
|
|
5
5
|
* @@@ .env
|
|
6
|
-
* Note: `$` is used to indicate that this function is not a pure function - it uses filesystem to access
|
|
6
|
+
* Note: `$` is used to indicate that this function is not a pure function - it uses filesystem to access `.env` file
|
|
7
7
|
*
|
|
8
8
|
* It looks for environment variables:
|
|
9
9
|
* - `process.env.OPENAI_API_KEY`
|
|
@@ -12,7 +12,7 @@ type GetLlmToolsForTestingAndScriptsAndPlaygroundOptions = CreateLlmToolsFromCon
|
|
|
12
12
|
/**
|
|
13
13
|
* Returns LLM tools for testing purposes
|
|
14
14
|
*
|
|
15
|
-
* Note: `$` is used to indicate that this function is not a pure function - it uses filesystem to access
|
|
15
|
+
* Note: `$` is used to indicate that this function is not a pure function - it uses filesystem to access `.env` file
|
|
16
16
|
*
|
|
17
17
|
* @private within the repository - JUST FOR TESTS, SCRIPTS AND PLAYGROUND
|
|
18
18
|
*/
|
|
@@ -5,7 +5,14 @@ import type { string_url } from '../../../types/typeAliases';
|
|
|
5
5
|
import type { really_any } from '../../../utils/organization/really_any';
|
|
6
6
|
import type { CacheLlmToolsOptions } from '../utils/cache/CacheLlmToolsOptions';
|
|
7
7
|
import type { LlmExecutionToolsWithTotalUsage } from '../utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
|
|
8
|
-
type ProvideLlmToolsForWizzardOrCliOptions =
|
|
8
|
+
type ProvideLlmToolsForWizzardOrCliOptions = {
|
|
9
|
+
/**
|
|
10
|
+
* If true, user will be always prompted for login
|
|
11
|
+
*
|
|
12
|
+
* Note: This is used in `ptbk login` command
|
|
13
|
+
*/
|
|
14
|
+
isLoginloaded?: true;
|
|
15
|
+
} & Pick<CacheLlmToolsOptions, 'isCacheReloaded'> & ({
|
|
9
16
|
/**
|
|
10
17
|
* Use local keys and execute LLMs directly
|
|
11
18
|
*/
|
|
@@ -29,13 +36,15 @@ type ProvideLlmToolsForWizzardOrCliOptions = Pick<CacheLlmToolsOptions, 'isCache
|
|
|
29
36
|
readonly appId: string_app_id;
|
|
30
37
|
/**
|
|
31
38
|
*
|
|
39
|
+
*
|
|
40
|
+
* Note: When login prompt fails, `process.exit(1)` is called
|
|
32
41
|
*/
|
|
33
42
|
loginPrompt(): Promisable<Identification<really_any>>;
|
|
34
43
|
});
|
|
35
44
|
/**
|
|
36
45
|
* Returns LLM tools for CLI
|
|
37
46
|
*
|
|
38
|
-
* Note: `$` is used to indicate that this function is not a pure function - it uses filesystem to access
|
|
47
|
+
* Note: `$` is used to indicate that this function is not a pure function - it uses filesystem to access `.env` file and also writes this .env file
|
|
39
48
|
*
|
|
40
49
|
* @private within the repository - for CLI utils
|
|
41
50
|
*/
|
|
@@ -6,7 +6,7 @@ import type { CreateLlmToolsFromConfigurationOptions } from './createLlmToolsFro
|
|
|
6
6
|
* Note: This function is not cached, every call creates new instance of `MultipleLlmExecutionTools`
|
|
7
7
|
*
|
|
8
8
|
* @@@ .env
|
|
9
|
-
* Note: `$` is used to indicate that this function is not a pure function - it uses filesystem to access
|
|
9
|
+
* Note: `$` is used to indicate that this function is not a pure function - it uses filesystem to access `.env` file
|
|
10
10
|
*
|
|
11
11
|
* It looks for environment variables:
|
|
12
12
|
* - `process.env.OPENAI_API_KEY`
|
|
@@ -3,6 +3,41 @@ import type { string_title } from '../../../types/typeAliases';
|
|
|
3
3
|
import type { Registered } from '../../../utils/$Register';
|
|
4
4
|
import type { string_SCREAMING_CASE } from '../../../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
5
5
|
import type { LlmToolsConfiguration } from './LlmToolsConfiguration';
|
|
6
|
+
/**
|
|
7
|
+
* How is the model provider trusted?
|
|
8
|
+
*
|
|
9
|
+
* @public exported from `@promptbook/core`
|
|
10
|
+
*/
|
|
11
|
+
export declare const MODEL_TRUST_LEVEL: {
|
|
12
|
+
readonly FULL: "Model is running on the local machine, training data and model weights are known, data are ethically sourced";
|
|
13
|
+
readonly OPEN: "Model is open source, training data and model weights are known";
|
|
14
|
+
readonly PARTIALLY_OPEN: "Model is open source, but training data and model weights are not (fully) known";
|
|
15
|
+
readonly CLOSED_LOCAL: "Model can be run locally, but it is not open source";
|
|
16
|
+
readonly CLOSED_FREE: "Model is behind API gateway but free to use";
|
|
17
|
+
readonly CLOSED_BUSINESS: "Model is behind API gateway and paid but has good SLA, TOS, privacy policy and in general is a good to use in business applications";
|
|
18
|
+
readonly CLOSED: "Model is behind API gateway and paid";
|
|
19
|
+
readonly UNTRUSTED: "Model has questions about the training data and ethics, but it is not known if it is a problem or not";
|
|
20
|
+
readonly VURNABLE: "Model has some known serious vulnerabilities, leaks, ethical problems, etc.";
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* How is the model provider important?
|
|
24
|
+
*
|
|
25
|
+
* @public exported from `@promptbook/core`
|
|
26
|
+
*/
|
|
27
|
+
export declare const MODEL_ORDER: {
|
|
28
|
+
/**
|
|
29
|
+
* Top-tier models, e.g. OpenAI, Anthropic,...
|
|
30
|
+
*/
|
|
31
|
+
readonly TOP_TIER: 333;
|
|
32
|
+
/**
|
|
33
|
+
* Mid-tier models, e.g. Llama, Mistral, etc.
|
|
34
|
+
*/
|
|
35
|
+
readonly NORMAL: 100;
|
|
36
|
+
/**
|
|
37
|
+
* Low-tier models, e.g. Phi, Tiny, etc.
|
|
38
|
+
*/
|
|
39
|
+
readonly LOW_TIER: 0;
|
|
40
|
+
};
|
|
6
41
|
/**
|
|
7
42
|
* @@@
|
|
8
43
|
*
|
|
@@ -13,6 +48,14 @@ export type LlmToolsMetadata = Registered & {
|
|
|
13
48
|
* @@@
|
|
14
49
|
*/
|
|
15
50
|
readonly title: string_title;
|
|
51
|
+
/**
|
|
52
|
+
* How is the model is trusted?
|
|
53
|
+
*/
|
|
54
|
+
readonly trustLevel: keyof typeof MODEL_TRUST_LEVEL;
|
|
55
|
+
/**
|
|
56
|
+
* How is the model provider important and should be sorted in the list of available providers?
|
|
57
|
+
*/
|
|
58
|
+
readonly order: typeof MODEL_ORDER[keyof typeof MODEL_ORDER] | number;
|
|
16
59
|
/**
|
|
17
60
|
* List of environment variables that can be used to configure the provider
|
|
18
61
|
*
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AvailableModel } from '../../execution/AvailableModel';
|
|
2
|
+
import type { number_usd } from '../../types/typeAliases';
|
|
3
|
+
/**
|
|
4
|
+
* List of available Deepseek models with descriptions
|
|
5
|
+
*
|
|
6
|
+
* Note: Done at 2025-04-22
|
|
7
|
+
*
|
|
8
|
+
* @see https://www.deepseek.com/models
|
|
9
|
+
* @public exported from `@promptbook/deepseek`
|
|
10
|
+
*/
|
|
11
|
+
export declare const DEEPSEEK_MODELS: ReadonlyArray<AvailableModel & {
|
|
12
|
+
modelDescription?: string;
|
|
13
|
+
pricing?: {
|
|
14
|
+
readonly prompt: number_usd;
|
|
15
|
+
readonly output: number_usd;
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
/**
|
|
19
|
+
* TODO: [🧠] Add information about context window sizes, capabilities, and relative performance characteristics
|
|
20
|
+
* TODO: [🎰] Some mechanism to auto-update available models
|
|
21
|
+
* TODO: [🧠] Verify pricing information is current with Deepseek's official documentation
|
|
22
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
23
|
+
*/
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AvailableModel } from '../../execution/AvailableModel';
|
|
2
|
+
import type { number_usd } from '../../types/typeAliases';
|
|
3
|
+
/**
|
|
4
|
+
* List of available Google models with descriptions
|
|
5
|
+
*
|
|
6
|
+
* Note: Done at 2025-04-22
|
|
7
|
+
*
|
|
8
|
+
* @see https://ai.google.dev/models/gemini
|
|
9
|
+
* @public exported from `@promptbook/google`
|
|
10
|
+
*/
|
|
11
|
+
export declare const GOOGLE_MODELS: ReadonlyArray<AvailableModel & {
|
|
12
|
+
modelDescription?: string;
|
|
13
|
+
pricing?: {
|
|
14
|
+
readonly prompt: number_usd;
|
|
15
|
+
readonly output: number_usd;
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
/**
|
|
19
|
+
* TODO: [🧠] Add information about context window sizes, capabilities, and relative performance characteristics
|
|
20
|
+
* TODO: [🎰] Some mechanism to auto-update available models
|
|
21
|
+
* TODO: [🧠] Verify pricing information is current with Google's official documentation
|
|
22
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
23
|
+
*/
|
|
@@ -8,7 +8,7 @@ import type { string_persona_description } from '../types/typeAliases';
|
|
|
8
8
|
* @see https://github.com/webgptorg/promptbook/discussions/22
|
|
9
9
|
* @public exported from `@promptbook/core`
|
|
10
10
|
*/
|
|
11
|
-
export declare function preparePersona(personaDescription: string_persona_description, tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions): Promise<PersonaPreparedJson
|
|
11
|
+
export declare function preparePersona(personaDescription: string_persona_description, tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions): Promise<Pick<PersonaPreparedJson, 'modelsRequirements'>>;
|
|
12
12
|
/**
|
|
13
13
|
* TODO: [🔃][main] If the persona was prepared with different version or different set of models, prepare it once again
|
|
14
14
|
* TODO: [🏢] Check validity of `modelName` in pipeline
|
|
@@ -30,11 +30,13 @@ export type PersonaJson = {
|
|
|
30
30
|
*/
|
|
31
31
|
export type PersonaPreparedJson = PersonaJson & {
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* Models requirements for the persona
|
|
34
|
+
*
|
|
35
|
+
* Sorted by relevance, best-fitting models is first
|
|
34
36
|
*
|
|
35
37
|
* Note: The model must be CHAT variant to be usable through persona
|
|
36
38
|
*/
|
|
37
|
-
readonly
|
|
39
|
+
readonly modelsRequirements: Array<ChatModelRequirements>;
|
|
38
40
|
/**
|
|
39
41
|
* List of preparation ids that were used to prepare this persona
|
|
40
42
|
*/
|