@promptbook/utils 0.61.0-13 → 0.61.0-14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/esm/index.es.js +1 -1
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/src/_packages/types.index.d.ts +6 -3
  4. package/esm/typings/src/commands/MODEL/ModelCommand.d.ts +2 -2
  5. package/esm/typings/src/config.d.ts +4 -0
  6. package/esm/typings/src/conversion/utils/stringifyPipelineJson.d.ts +13 -0
  7. package/esm/typings/src/conversion/utils/stringifyPipelineJson.test.d.ts +1 -0
  8. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +10 -1
  9. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +1 -1
  10. package/esm/typings/src/execution/LlmExecutionTools.d.ts +7 -7
  11. package/esm/typings/src/execution/PipelineExecutor.d.ts +1 -1
  12. package/esm/typings/src/execution/PromptResult.d.ts +14 -56
  13. package/esm/typings/src/execution/PromptResultUsage.d.ts +26 -0
  14. package/esm/typings/src/execution/UncertainNumber.d.ts +18 -0
  15. package/esm/typings/src/execution/utils/addUsage.d.ts +1 -1
  16. package/esm/typings/src/execution/utils/computeUsageCounts.d.ts +1 -1
  17. package/esm/typings/src/execution/utils/uncertainNumber.d.ts +1 -1
  18. package/esm/typings/src/execution/utils/usageToWorktime.d.ts +2 -2
  19. package/esm/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +10 -2
  20. package/esm/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +2 -1
  21. package/esm/typings/src/llm-providers/_common/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +1 -1
  22. package/esm/typings/src/llm-providers/_common/utils/count-total-cost/limitTotalCost.d.ts +3 -3
  23. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +2 -2
  24. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +4 -4
  25. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +4 -4
  26. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +6 -6
  27. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +9 -7
  28. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +6 -6
  29. package/esm/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  30. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +9 -7
  31. package/esm/typings/src/scripting/javascript/utils/unknownToString.d.ts +2 -1
  32. package/esm/typings/src/types/ModelRequirements.d.ts +53 -14
  33. package/esm/typings/src/types/ModelVariant.d.ts +14 -0
  34. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +2 -4
  35. package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +1 -1
  36. package/esm/typings/src/types/Prompt.d.ts +45 -1
  37. package/esm/typings/src/types/typeAliases.d.ts +11 -0
  38. package/esm/typings/src/utils/normalization/parseKeywords.d.ts +2 -1
  39. package/esm/typings/src/utils/organization/{TODO.d.ts → TODO_any.d.ts} +1 -1
  40. package/esm/typings/src/utils/organization/TODO_object.d.ts +6 -0
  41. package/esm/typings/src/utils/organization/TODO_unknown.d.ts +6 -0
  42. package/esm/typings/src/utils/organization/really_any.d.ts +1 -1
  43. package/esm/typings/src/utils/organization/really_unknown.d.ts +6 -0
  44. package/esm/typings/src/utils/validators/email/isValidEmail.d.ts +2 -1
  45. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -1
  46. package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -1
  47. package/esm/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +2 -1
  48. package/esm/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +2 -1
  49. package/esm/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
  50. package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +2 -1
  51. package/esm/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -1
  52. package/package.json +1 -1
  53. package/umd/index.umd.js +1 -1
  54. package/umd/index.umd.js.map +1 -1
  55. package/umd/typings/src/_packages/types.index.d.ts +6 -3
  56. package/umd/typings/src/commands/MODEL/ModelCommand.d.ts +2 -2
  57. package/umd/typings/src/config.d.ts +4 -0
  58. package/umd/typings/src/conversion/utils/stringifyPipelineJson.d.ts +13 -0
  59. package/umd/typings/src/conversion/utils/stringifyPipelineJson.test.d.ts +1 -0
  60. package/umd/typings/src/conversion/validation/_importPipeline.d.ts +10 -1
  61. package/umd/typings/src/conversion/validation/validatePipeline.d.ts +1 -1
  62. package/umd/typings/src/execution/LlmExecutionTools.d.ts +7 -7
  63. package/umd/typings/src/execution/PipelineExecutor.d.ts +1 -1
  64. package/umd/typings/src/execution/PromptResult.d.ts +14 -56
  65. package/umd/typings/src/execution/PromptResultUsage.d.ts +26 -0
  66. package/umd/typings/src/execution/UncertainNumber.d.ts +18 -0
  67. package/umd/typings/src/execution/utils/addUsage.d.ts +1 -1
  68. package/umd/typings/src/execution/utils/computeUsageCounts.d.ts +1 -1
  69. package/umd/typings/src/execution/utils/uncertainNumber.d.ts +1 -1
  70. package/umd/typings/src/execution/utils/usageToWorktime.d.ts +2 -2
  71. package/umd/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +10 -2
  72. package/umd/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +2 -1
  73. package/umd/typings/src/llm-providers/_common/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +1 -1
  74. package/umd/typings/src/llm-providers/_common/utils/count-total-cost/limitTotalCost.d.ts +3 -3
  75. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +2 -2
  76. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +4 -4
  77. package/umd/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +4 -4
  78. package/umd/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +6 -6
  79. package/umd/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +9 -7
  80. package/umd/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +6 -6
  81. package/umd/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  82. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +9 -7
  83. package/umd/typings/src/scripting/javascript/utils/unknownToString.d.ts +2 -1
  84. package/umd/typings/src/types/ModelRequirements.d.ts +53 -14
  85. package/umd/typings/src/types/ModelVariant.d.ts +14 -0
  86. package/umd/typings/src/types/PipelineJson/PersonaJson.d.ts +2 -4
  87. package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +1 -1
  88. package/umd/typings/src/types/Prompt.d.ts +45 -1
  89. package/umd/typings/src/types/typeAliases.d.ts +11 -0
  90. package/umd/typings/src/utils/normalization/parseKeywords.d.ts +2 -1
  91. package/umd/typings/src/utils/organization/{TODO.d.ts → TODO_any.d.ts} +1 -1
  92. package/umd/typings/src/utils/organization/TODO_object.d.ts +6 -0
  93. package/umd/typings/src/utils/organization/TODO_unknown.d.ts +6 -0
  94. package/umd/typings/src/utils/organization/really_any.d.ts +1 -1
  95. package/umd/typings/src/utils/organization/really_unknown.d.ts +6 -0
  96. package/umd/typings/src/utils/validators/email/isValidEmail.d.ts +2 -1
  97. package/umd/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -1
  98. package/umd/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -1
  99. package/umd/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +2 -1
  100. package/umd/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +2 -1
  101. package/umd/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
  102. package/umd/typings/src/utils/validators/url/isValidUrl.d.ts +2 -1
  103. package/umd/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -1
@@ -1,5 +1,8 @@
1
1
  import type { ExpectFormatCommand } from '../commands/EXPECT/ExpectFormatCommand';
2
2
  import type { PostprocessingFunction } from '../scripting/javascript/JavascriptExecutionToolsOptions';
3
+ import type { ChatModelRequirements } from './ModelRequirements';
4
+ import type { CompletionModelRequirements } from './ModelRequirements';
5
+ import type { EmbeddingModelRequirements } from './ModelRequirements';
3
6
  import type { ModelRequirements } from './ModelRequirements';
4
7
  import type { Expectations } from './PipelineJson/Expectations';
5
8
  import type { string_parameter_name } from './typeAliases';
@@ -13,7 +16,46 @@ import type { string_title } from './typeAliases';
13
16
  * Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
14
17
  * @see https://github.com/webgptorg/promptbook#prompt
15
18
  */
16
- export type Prompt = {
19
+ export type Prompt = CompletionPrompt | ChatPrompt | EmbeddingPrompt;
20
+ /**
21
+ * Completion prompt
22
+ *
23
+ * Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
24
+ */
25
+ export type CompletionPrompt = CommonPrompt & {
26
+ /**
27
+ * Requirements for completion model
28
+ */
29
+ modelRequirements: CompletionModelRequirements;
30
+ };
31
+ /**
32
+ * Chat prompt
33
+ *
34
+ * Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
35
+ */
36
+ export type ChatPrompt = CommonPrompt & {
37
+ /**
38
+ * Requirements for chat model
39
+ */
40
+ modelRequirements: ChatModelRequirements;
41
+ };
42
+ /**
43
+ * Embedding prompt
44
+ *
45
+ * Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
46
+ */
47
+ export type EmbeddingPrompt = CommonPrompt & {
48
+ /**
49
+ * Requirements for chat model
50
+ */
51
+ modelRequirements: EmbeddingModelRequirements;
52
+ };
53
+ /**
54
+ * Common properties for all prompt results
55
+ *
56
+ * Note: This is fully serializable as JSON
57
+ */
58
+ export type CommonPrompt = {
17
59
  /**
18
60
  * The title of the prompt
19
61
  *
@@ -63,6 +105,8 @@ export type Prompt = {
63
105
  readonly parameters: Record<string_parameter_name, string_parameter_value>;
64
106
  };
65
107
  /**
108
+ * TODO: [🔼] !!!! Export all from `@promptbook/types`
109
+ * TODO: [🧄] Replace all "github.com/webgptorg/promptbook#xxx" with "ptbk.io/xxx"
66
110
  * TODO: [✔] Check ModelRequirements in runtime
67
111
  * TODO: [🏳] Add options for translation - maybe create `TranslationPrompt`
68
112
  */
@@ -196,6 +196,17 @@ export type string_script = string;
196
196
  * For example `console.info("Hello World!")`
197
197
  */
198
198
  export type string_javascript = string;
199
+ /**
200
+ * Semantic helper for JSON strings
201
+ *
202
+ * Note: TType is a type of the JSON object inside the string
203
+ *
204
+ * For example `{"foo": "bar"}`
205
+ */
206
+ export type string_json<TType> = string & {
207
+ _type: 'string_json';
208
+ scheme: TType;
209
+ };
199
210
  /**
200
211
  * Semantic helper
201
212
  *
@@ -1,3 +1,4 @@
1
+ import type { really_unknown } from '../organization/really_unknown';
1
2
  import type { IKeywords } from './IKeywords';
2
3
  /**
3
4
  * Parses keywords from any object and recursively walks through
@@ -7,7 +8,7 @@ import type { IKeywords } from './IKeywords';
7
8
  * @param input of any kind
8
9
  * @returns {Set} of keywords without diacritics in lowercase
9
10
  */
10
- export declare function parseKeywords(input: unknown): IKeywords;
11
+ export declare function parseKeywords(input: really_unknown): IKeywords;
11
12
  /**
12
13
  * Note: Not using spread in input param because of keeping second parameter for options
13
14
  * TODO: [🌺] Use some intermediate util splitWords
@@ -3,4 +3,4 @@
3
3
  *
4
4
  * @private within the repository
5
5
  */
6
- export type TODO = any;
6
+ export type TODO_any = any;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Organizational helper to better mark the place where the type is missing
3
+ *
4
+ * @private within the repository
5
+ */
6
+ export type TODO_object = object;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Organizational helper to better mark the place where the type is missing
3
+ *
4
+ * @private within the repository
5
+ */
6
+ export type TODO_unknown = unknown;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Organizational helper to mark a place where to really use any
2
+ * Organizational helper to mark a place where to really use `any`
3
3
  *
4
4
  * @private within the repository
5
5
  */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Organizational helper to mark a place where to really use `unknown`
3
+ *
4
+ * @private within the repository
5
+ */
6
+ export type really_unknown = unknown;
@@ -1,5 +1,6 @@
1
1
  import type { string_email } from '../../../types/typeAliases';
2
+ import type { really_unknown } from '../../organization/really_unknown';
2
3
  /**
3
4
  * Checks if value is valid email
4
5
  */
5
- export declare function isValidEmail(email: unknown): email is string_email;
6
+ export declare function isValidEmail(email: really_unknown): email is string_email;
@@ -1,7 +1,8 @@
1
1
  import type { string_file_path } from '../../../types/typeAliases';
2
+ import type { really_unknown } from '../../organization/really_unknown';
2
3
  /**
3
4
  * Tests if given string is valid URL.
4
5
  *
5
6
  * Note: This does not check if the file exists only if the path is valid
6
7
  */
7
- export declare function isValidFilePath(filePath: unknown): filePath is string_file_path;
8
+ export declare function isValidFilePath(filePath: really_unknown): filePath is string_file_path;
@@ -1,2 +1,3 @@
1
1
  import type { string_javascript_name } from '../../../types/typeAliases';
2
- export declare function isValidJavascriptName(javascriptName: unknown): javascriptName is string_javascript_name;
2
+ import type { really_unknown } from '../../organization/really_unknown';
3
+ export declare function isValidJavascriptName(javascriptName: really_unknown): javascriptName is string_javascript_name;
@@ -1,4 +1,5 @@
1
1
  import type { string_promptbook_version } from '../../../version';
2
+ import type { really_unknown } from '../../organization/really_unknown';
2
3
  /**
3
4
  * Tests if given string is valid promptbook version
4
5
  * It looks into list of known promptbook versions.
@@ -9,4 +10,4 @@ import type { string_promptbook_version } from '../../../version';
9
10
  * - `isValidSemanticVersion` which tests any semantic version
10
11
  * - `isValidPromptbookVersion` *(this one)* which tests just Promptbook versions
11
12
  */
12
- export declare function isValidPromptbookVersion(version: unknown): version is string_promptbook_version;
13
+ export declare function isValidPromptbookVersion(version: really_unknown): version is string_promptbook_version;
@@ -1,4 +1,5 @@
1
1
  import type { string_semantic_version } from '../../../types/typeAliases';
2
+ import type { really_unknown } from '../../organization/really_unknown';
2
3
  /**
3
4
  * Tests if given string is valid semantic version
4
5
  *
@@ -6,4 +7,4 @@ import type { string_semantic_version } from '../../../types/typeAliases';
6
7
  * - `isValidSemanticVersion` which tests any semantic version
7
8
  * - `isValidPromptbookVersion` *(this one)* which tests just Promptbook versions
8
9
  */
9
- export declare function isValidSemanticVersion(version: unknown): version is string_semantic_version;
10
+ export declare function isValidSemanticVersion(version: really_unknown): version is string_semantic_version;
@@ -1,4 +1,5 @@
1
1
  import type { string_pipeline_url } from '../../../types/typeAliases';
2
+ import type { really_unknown } from '../../organization/really_unknown';
2
3
  /**
3
4
  * Tests if given string is valid pipeline URL URL.
4
5
  *
@@ -6,7 +7,7 @@ import type { string_pipeline_url } from '../../../types/typeAliases';
6
7
  * - `isValidUrl` which tests any URL
7
8
  * - `isValidPipelineUrl` *(this one)* which tests just pipeline URL
8
9
  */
9
- export declare function isValidPipelineUrl(url: unknown): url is string_pipeline_url;
10
+ export declare function isValidPipelineUrl(url: really_unknown): url is string_pipeline_url;
10
11
  /**
11
12
  * TODO: [🐠] Maybe more info why the URL is invalid
12
13
  */
@@ -1,4 +1,5 @@
1
1
  import type { string_url } from '../../../types/typeAliases';
2
+ import type { really_unknown } from '../../organization/really_unknown';
2
3
  /**
3
4
  * Tests if given string is valid URL.
4
5
  *
@@ -7,4 +8,4 @@ import type { string_url } from '../../../types/typeAliases';
7
8
  * - `isValidUrl` which tests any URL
8
9
  * - `isValidPipelineUrl` *(this one)* which tests just promptbook URL
9
10
  */
10
- export declare function isValidUrl(url: unknown): url is string_url;
11
+ export declare function isValidUrl(url: really_unknown): url is string_url;
@@ -1,5 +1,6 @@
1
1
  import type { string_uuid } from '../../../types/typeAliases';
2
+ import type { really_unknown } from '../../organization/really_unknown';
2
3
  /**
3
4
  * Checks if value is valid uuid
4
5
  */
5
- export declare function isValidUuid(value: unknown): value is string_uuid;
6
+ export declare function isValidUuid(value: really_unknown): value is string_uuid;