@promptbook/openai 0.89.0-1 → 0.89.0-2

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 (24) hide show
  1. package/esm/index.es.js +50 -35
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/src/_packages/core.index.d.ts +4 -0
  4. package/esm/typings/src/_packages/types.index.d.ts +6 -4
  5. package/esm/typings/src/cli/cli-commands/login.d.ts +15 -0
  6. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +2 -2
  7. package/esm/typings/src/execution/PromptResult.d.ts +2 -2
  8. package/esm/typings/src/execution/{PromptResultUsage.d.ts → Usage.d.ts} +5 -5
  9. package/esm/typings/src/execution/utils/addUsage.d.ts +2 -2
  10. package/esm/typings/src/execution/utils/computeUsageCounts.d.ts +3 -3
  11. package/esm/typings/src/execution/utils/usage-constants.d.ts +77 -60
  12. package/esm/typings/src/execution/utils/usageToHuman.d.ts +5 -5
  13. package/esm/typings/src/execution/utils/usageToWorktime.d.ts +5 -5
  14. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/LlmExecutionToolsWithTotalUsage.d.ts +3 -3
  15. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.d.ts +2 -2
  16. package/esm/typings/src/llm-providers/anthropic-claude/computeAnthropicClaudeUsage.d.ts +2 -2
  17. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +0 -9
  18. package/esm/typings/src/llm-providers/openai/computeOpenAiUsage.d.ts +2 -2
  19. package/esm/typings/src/pipeline/PipelineJson/PreparationJson.d.ts +2 -2
  20. package/esm/typings/src/playground/BrjappConnector.d.ts +3 -0
  21. package/esm/typings/src/types/typeAliases.d.ts +6 -0
  22. package/package.json +2 -2
  23. package/umd/index.umd.js +50 -35
  24. package/umd/index.umd.js.map +1 -1
@@ -1,57 +1,74 @@
1
+ /**
2
+ * Represents the uncertain value
3
+ *
4
+ * @public exported from `@promptbook/core`
5
+ */
6
+ export declare const ZERO_VALUE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
7
+ readonly value: 0;
8
+ }>;
9
+ /**
10
+ * Represents the uncertain value
11
+ *
12
+ * @public exported from `@promptbook/core`
13
+ */
14
+ export declare const UNCERTAIN_ZERO_VALUE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
15
+ readonly value: 0;
16
+ readonly isUncertain: true;
17
+ }>;
1
18
  /**
2
19
  * Represents the usage with no resources consumed
3
20
  *
4
21
  * @public exported from `@promptbook/core`
5
22
  */
6
23
  export declare const ZERO_USAGE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
7
- readonly price: {
24
+ readonly price: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
25
  readonly value: 0;
9
- };
26
+ }>;
10
27
  readonly input: {
11
- readonly tokensCount: {
28
+ readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
12
29
  readonly value: 0;
13
- };
14
- readonly charactersCount: {
30
+ }>;
31
+ readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
15
32
  readonly value: 0;
16
- };
17
- readonly wordsCount: {
33
+ }>;
34
+ readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
18
35
  readonly value: 0;
19
- };
20
- readonly sentencesCount: {
36
+ }>;
37
+ readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
21
38
  readonly value: 0;
22
- };
23
- readonly linesCount: {
39
+ }>;
40
+ readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
24
41
  readonly value: 0;
25
- };
26
- readonly paragraphsCount: {
42
+ }>;
43
+ readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
27
44
  readonly value: 0;
28
- };
29
- readonly pagesCount: {
45
+ }>;
46
+ readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
30
47
  readonly value: 0;
31
- };
48
+ }>;
32
49
  };
33
50
  readonly output: {
34
- readonly tokensCount: {
51
+ readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
35
52
  readonly value: 0;
36
- };
37
- readonly charactersCount: {
53
+ }>;
54
+ readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
38
55
  readonly value: 0;
39
- };
40
- readonly wordsCount: {
56
+ }>;
57
+ readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
41
58
  readonly value: 0;
42
- };
43
- readonly sentencesCount: {
59
+ }>;
60
+ readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
44
61
  readonly value: 0;
45
- };
46
- readonly linesCount: {
62
+ }>;
63
+ readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
47
64
  readonly value: 0;
48
- };
49
- readonly paragraphsCount: {
65
+ }>;
66
+ readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
50
67
  readonly value: 0;
51
- };
52
- readonly pagesCount: {
68
+ }>;
69
+ readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
53
70
  readonly value: 0;
54
- };
71
+ }>;
55
72
  };
56
73
  }>;
57
74
  /**
@@ -60,69 +77,69 @@ export declare const ZERO_USAGE: import("type-fest/source/readonly-deep").Readon
60
77
  * @public exported from `@promptbook/core`
61
78
  */
62
79
  export declare const UNCERTAIN_USAGE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
63
- readonly price: {
80
+ readonly price: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
64
81
  readonly value: 0;
65
82
  readonly isUncertain: true;
66
- };
83
+ }>;
67
84
  readonly input: {
68
- readonly tokensCount: {
85
+ readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
69
86
  readonly value: 0;
70
87
  readonly isUncertain: true;
71
- };
72
- readonly charactersCount: {
88
+ }>;
89
+ readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
73
90
  readonly value: 0;
74
91
  readonly isUncertain: true;
75
- };
76
- readonly wordsCount: {
92
+ }>;
93
+ readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
77
94
  readonly value: 0;
78
95
  readonly isUncertain: true;
79
- };
80
- readonly sentencesCount: {
96
+ }>;
97
+ readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
81
98
  readonly value: 0;
82
99
  readonly isUncertain: true;
83
- };
84
- readonly linesCount: {
100
+ }>;
101
+ readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
85
102
  readonly value: 0;
86
103
  readonly isUncertain: true;
87
- };
88
- readonly paragraphsCount: {
104
+ }>;
105
+ readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
89
106
  readonly value: 0;
90
107
  readonly isUncertain: true;
91
- };
92
- readonly pagesCount: {
108
+ }>;
109
+ readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
93
110
  readonly value: 0;
94
111
  readonly isUncertain: true;
95
- };
112
+ }>;
96
113
  };
97
114
  readonly output: {
98
- readonly tokensCount: {
115
+ readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
99
116
  readonly value: 0;
100
117
  readonly isUncertain: true;
101
- };
102
- readonly charactersCount: {
118
+ }>;
119
+ readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
103
120
  readonly value: 0;
104
121
  readonly isUncertain: true;
105
- };
106
- readonly wordsCount: {
122
+ }>;
123
+ readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
107
124
  readonly value: 0;
108
125
  readonly isUncertain: true;
109
- };
110
- readonly sentencesCount: {
126
+ }>;
127
+ readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
111
128
  readonly value: 0;
112
129
  readonly isUncertain: true;
113
- };
114
- readonly linesCount: {
130
+ }>;
131
+ readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
115
132
  readonly value: 0;
116
133
  readonly isUncertain: true;
117
- };
118
- readonly paragraphsCount: {
134
+ }>;
135
+ readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
119
136
  readonly value: 0;
120
137
  readonly isUncertain: true;
121
- };
122
- readonly pagesCount: {
138
+ }>;
139
+ readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
123
140
  readonly value: 0;
124
141
  readonly isUncertain: true;
125
- };
142
+ }>;
126
143
  };
127
144
  }>;
128
145
  /**
@@ -1,20 +1,20 @@
1
1
  import type { string_markdown } from '../../types/typeAliases';
2
- import type { PromptResultUsage } from '../PromptResultUsage';
3
2
  import type { UncertainNumber } from '../UncertainNumber';
3
+ import type { Usage } from '../Usage';
4
4
  /**
5
5
  * Minimal usage information required to calculate worktime
6
6
  */
7
- type PartialPromptResultUsage = Partial<PromptResultUsage> & {
7
+ type PartialUsage = Partial<Usage> & {
8
8
  price: UncertainNumber;
9
- input: Pick<PromptResultUsage['input'], 'wordsCount'>;
10
- output: Pick<PromptResultUsage['output'], 'wordsCount' | 'charactersCount'>;
9
+ input: Pick<Usage['input'], 'wordsCount'>;
10
+ output: Pick<Usage['output'], 'wordsCount' | 'charactersCount'>;
11
11
  };
12
12
  /**
13
13
  * Function `usageToHuman` will take usage and convert it to human readable report
14
14
  *
15
15
  * @public exported from `@promptbook/core`
16
16
  */
17
- export declare function usageToHuman(usage: PartialPromptResultUsage): string_markdown;
17
+ export declare function usageToHuman(usage: PartialUsage): string_markdown;
18
18
  export {};
19
19
  /**
20
20
  * TODO: [🍓][🧞‍♂️] Use "$1" not "1 USD"
@@ -1,11 +1,11 @@
1
- import type { PromptResultUsage } from '../PromptResultUsage';
2
1
  import type { UncertainNumber } from '../UncertainNumber';
2
+ import type { Usage } from '../Usage';
3
3
  /**
4
4
  * Minimal usage information required to calculate worktime
5
5
  */
6
- type PartialPromptResultUsage = Pick<PromptResultUsage, 'input' | 'output'> & {
7
- input: Pick<PromptResultUsage['input'], 'wordsCount'>;
8
- output: Pick<PromptResultUsage['output'], 'wordsCount'>;
6
+ type PartialUsage = Pick<Usage, 'input' | 'output'> & {
7
+ input: Pick<Usage['input'], 'wordsCount'>;
8
+ output: Pick<Usage['output'], 'wordsCount'>;
9
9
  };
10
10
  /**
11
11
  * Function usageToWorktime will take usage and estimate saved worktime in hours of reading / writing
@@ -16,5 +16,5 @@ type PartialPromptResultUsage = Pick<PromptResultUsage, 'input' | 'output'> & {
16
16
  *
17
17
  * @public exported from `@promptbook/core`
18
18
  */
19
- export declare function usageToWorktime(usage: PartialPromptResultUsage): UncertainNumber;
19
+ export declare function usageToWorktime(usage: PartialUsage): UncertainNumber;
20
20
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { Observable } from 'rxjs';
2
2
  import type { LlmExecutionTools } from '../../../../execution/LlmExecutionTools';
3
- import type { PromptResultUsage } from '../../../../execution/PromptResultUsage';
3
+ import type { Usage } from '../../../../execution/Usage';
4
4
  /**
5
5
  * LLM tools with option to get total usage of the execution
6
6
  */
@@ -8,13 +8,13 @@ export type LlmExecutionToolsWithTotalUsage = LlmExecutionTools & {
8
8
  /**
9
9
  * Get total cost of the execution up to this point
10
10
  */
11
- getTotalUsage(): PromptResultUsage;
11
+ getTotalUsage(): Usage;
12
12
  /**
13
13
  * Observable of total cost of the execution up to this point
14
14
  *
15
15
  * Note: This does report the cost of the last prompt, not the total cost of the execution up to this point
16
16
  */
17
- spending(): Observable<PromptResultUsage>;
17
+ spending(): Observable<Usage>;
18
18
  };
19
19
  /**
20
20
  * TODO: [👷‍♂️] @@@ Manual about construction of llmTools
@@ -1,5 +1,5 @@
1
1
  import type { LlmExecutionTools } from '../../../../execution/LlmExecutionTools';
2
- import type { PromptResultUsage } from '../../../../execution/PromptResultUsage';
2
+ import type { Usage } from '../../../../execution/Usage';
3
3
  import type { PromptbookStorage } from '../../../../storage/_common/PromptbookStorage';
4
4
  import type { TODO_any } from '../../../../utils/organization/TODO_any';
5
5
  import type { LlmExecutionToolsWithTotalUsage } from './LlmExecutionToolsWithTotalUsage';
@@ -12,7 +12,7 @@ type LimitTotalUsageOptions = {
12
12
  *
13
13
  * @default ZERO_USAGE
14
14
  */
15
- maxTotalUsage: PromptResultUsage;
15
+ maxTotalUsage: Usage;
16
16
  /**
17
17
  * @@@
18
18
  *
@@ -1,6 +1,6 @@
1
1
  import type Anthropic from '@anthropic-ai/sdk';
2
2
  import type { PartialDeep } from 'type-fest';
3
- import type { PromptResultUsage } from '../../execution/PromptResultUsage';
3
+ import type { Usage } from '../../execution/Usage';
4
4
  import type { Prompt } from '../../types/Prompt';
5
5
  /**
6
6
  * Computes the usage of the Anthropic Claude API based on the response from Anthropic Claude
@@ -12,7 +12,7 @@ import type { Prompt } from '../../types/Prompt';
12
12
  * @private internal utility of `AnthropicClaudeExecutionTools`
13
13
  */
14
14
  export declare function computeAnthropicClaudeUsage(promptContent: Prompt['content'], // <- Note: Intentionally using [] to access type properties to bring jsdoc from Prompt/PromptResult to consumer
15
- resultContent: string, rawResponse: PartialDeep<Pick<Anthropic.Messages.Message, 'model' | 'usage'>>): PromptResultUsage;
15
+ resultContent: string, rawResponse: PartialDeep<Pick<Anthropic.Messages.Message, 'model' | 'usage'>>): Usage;
16
16
  /**
17
17
  * TODO: [🤝] DRY Maybe some common abstraction between `computeOpenAiUsage` and `computeAnthropicClaudeUsage`
18
18
  */
@@ -8,8 +8,6 @@ import type { Prompt } from '../../types/Prompt';
8
8
  import type { string_markdown } from '../../types/typeAliases';
9
9
  import type { string_markdown_text } from '../../types/typeAliases';
10
10
  import type { string_title } from '../../types/typeAliases';
11
- import type { string_token } from '../../types/typeAliases';
12
- import { OpenAiAssistantExecutionTools } from './OpenAiAssistantExecutionTools';
13
11
  import type { OpenAiExecutionToolsOptions } from './OpenAiExecutionToolsOptions';
14
12
  /**
15
13
  * Execution Tools for calling OpenAI API
@@ -31,13 +29,6 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
31
29
  get title(): string_title & string_markdown_text;
32
30
  get description(): string_markdown;
33
31
  getClient(): Promise<OpenAI>;
34
- /**
35
- * Create (sub)tools for calling OpenAI API Assistants
36
- *
37
- * @param assistantId Which assistant to use
38
- * @returns Tools for calling OpenAI API Assistants with same token
39
- */
40
- createAssistantSubtools(assistantId: string_token): OpenAiAssistantExecutionTools;
41
32
  /**
42
33
  * Check the `options` passed to `constructor`
43
34
  */
@@ -1,6 +1,6 @@
1
1
  import type OpenAI from 'openai';
2
2
  import type { PartialDeep } from 'type-fest';
3
- import type { PromptResultUsage } from '../../execution/PromptResultUsage';
3
+ import type { Usage } from '../../execution/Usage';
4
4
  import type { Prompt } from '../../types/Prompt';
5
5
  /**
6
6
  * Computes the usage of the OpenAI API based on the response from OpenAI
@@ -12,7 +12,7 @@ import type { Prompt } from '../../types/Prompt';
12
12
  * @private internal utility of `OpenAiExecutionTools`
13
13
  */
14
14
  export declare function computeOpenAiUsage(promptContent: Prompt['content'], // <- Note: Intentionally using [] to access type properties to bring jsdoc from Prompt/PromptResult to consumer
15
- resultContent: string, rawResponse: PartialDeep<Pick<OpenAI.Chat.Completions.ChatCompletion | OpenAI.Completions.Completion | OpenAI.Embeddings.CreateEmbeddingResponse, 'model' | 'usage'>>): PromptResultUsage;
15
+ resultContent: string, rawResponse: PartialDeep<Pick<OpenAI.Chat.Completions.ChatCompletion | OpenAI.Completions.Completion | OpenAI.Embeddings.CreateEmbeddingResponse, 'model' | 'usage'>>): Usage;
16
16
  /**
17
17
  * TODO: [🤝] DRY Maybe some common abstraction between `computeOpenAiUsage` and `computeAnthropicClaudeUsage`
18
18
  */
@@ -1,4 +1,4 @@
1
- import type { PromptResultUsage } from '../../execution/PromptResultUsage';
1
+ import type { Usage } from '../../execution/Usage';
2
2
  import type { number_id } from '../../types/typeAliases';
3
3
  import type { string_promptbook_version } from '../../version';
4
4
  export type PreparationJson = {
@@ -13,7 +13,7 @@ export type PreparationJson = {
13
13
  /**
14
14
  * Usage of the prompt execution
15
15
  */
16
- readonly usage: PromptResultUsage;
16
+ readonly usage: Usage;
17
17
  };
18
18
  /**
19
19
  * TODO: [🍙] Make some standard order of json properties
@@ -1,3 +1,6 @@
1
+ /**
2
+ * TODO: !!!!!! Implement Promptbook remote server login and move to Promptbook.studio
3
+ */
1
4
  type BrjappOptions = {
2
5
  /**
3
6
  * Add user to these groups
@@ -242,6 +242,12 @@ export type string_promptbook_documentation_url = `https://github.com/webgptorg/
242
242
  * For example `"towns.cz"`
243
243
  */
244
244
  export type string_domain = string;
245
+ /**
246
+ * Semantic helper
247
+ *
248
+ * For example `"https://*.pavolhejny.com/*"`
249
+ */
250
+ export type string_origin = string;
245
251
  /**
246
252
  * Semantic helper
247
253
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/openai",
3
- "version": "0.89.0-1",
3
+ "version": "0.89.0-2",
4
4
  "description": "It's time for a paradigm shift. The future of software in plain English, French or Latin",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -47,7 +47,7 @@
47
47
  "module": "./esm/index.es.js",
48
48
  "typings": "./esm/typings/src/_packages/openai.index.d.ts",
49
49
  "peerDependencies": {
50
- "@promptbook/core": "0.89.0-1"
50
+ "@promptbook/core": "0.89.0-2"
51
51
  },
52
52
  "dependencies": {
53
53
  "colors": "1.4.0",
package/umd/index.umd.js CHANGED
@@ -24,7 +24,7 @@
24
24
  * @generated
25
25
  * @see https://github.com/webgptorg/promptbook
26
26
  */
27
- const PROMPTBOOK_ENGINE_VERSION = '0.89.0-1';
27
+ const PROMPTBOOK_ENGINE_VERSION = '0.89.0-2';
28
28
  /**
29
29
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
30
30
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -154,30 +154,42 @@
154
154
  * TODO: [🧠] Is there a way how to meaningfully test this utility
155
155
  */
156
156
 
157
+ /**
158
+ * Represents the uncertain value
159
+ *
160
+ * @public exported from `@promptbook/core`
161
+ */
162
+ const ZERO_VALUE = $deepFreeze({ value: 0 });
163
+ /**
164
+ * Represents the uncertain value
165
+ *
166
+ * @public exported from `@promptbook/core`
167
+ */
168
+ const UNCERTAIN_ZERO_VALUE = $deepFreeze({ value: 0, isUncertain: true });
157
169
  /**
158
170
  * Represents the usage with no resources consumed
159
171
  *
160
172
  * @public exported from `@promptbook/core`
161
173
  */
162
174
  $deepFreeze({
163
- price: { value: 0 },
175
+ price: ZERO_VALUE,
164
176
  input: {
165
- tokensCount: { value: 0 },
166
- charactersCount: { value: 0 },
167
- wordsCount: { value: 0 },
168
- sentencesCount: { value: 0 },
169
- linesCount: { value: 0 },
170
- paragraphsCount: { value: 0 },
171
- pagesCount: { value: 0 },
177
+ tokensCount: ZERO_VALUE,
178
+ charactersCount: ZERO_VALUE,
179
+ wordsCount: ZERO_VALUE,
180
+ sentencesCount: ZERO_VALUE,
181
+ linesCount: ZERO_VALUE,
182
+ paragraphsCount: ZERO_VALUE,
183
+ pagesCount: ZERO_VALUE,
172
184
  },
173
185
  output: {
174
- tokensCount: { value: 0 },
175
- charactersCount: { value: 0 },
176
- wordsCount: { value: 0 },
177
- sentencesCount: { value: 0 },
178
- linesCount: { value: 0 },
179
- paragraphsCount: { value: 0 },
180
- pagesCount: { value: 0 },
186
+ tokensCount: ZERO_VALUE,
187
+ charactersCount: ZERO_VALUE,
188
+ wordsCount: ZERO_VALUE,
189
+ sentencesCount: ZERO_VALUE,
190
+ linesCount: ZERO_VALUE,
191
+ paragraphsCount: ZERO_VALUE,
192
+ pagesCount: ZERO_VALUE,
181
193
  },
182
194
  });
183
195
  /**
@@ -186,24 +198,24 @@
186
198
  * @public exported from `@promptbook/core`
187
199
  */
188
200
  const UNCERTAIN_USAGE = $deepFreeze({
189
- price: { value: 0, isUncertain: true },
201
+ price: UNCERTAIN_ZERO_VALUE,
190
202
  input: {
191
- tokensCount: { value: 0, isUncertain: true },
192
- charactersCount: { value: 0, isUncertain: true },
193
- wordsCount: { value: 0, isUncertain: true },
194
- sentencesCount: { value: 0, isUncertain: true },
195
- linesCount: { value: 0, isUncertain: true },
196
- paragraphsCount: { value: 0, isUncertain: true },
197
- pagesCount: { value: 0, isUncertain: true },
203
+ tokensCount: UNCERTAIN_ZERO_VALUE,
204
+ charactersCount: UNCERTAIN_ZERO_VALUE,
205
+ wordsCount: UNCERTAIN_ZERO_VALUE,
206
+ sentencesCount: UNCERTAIN_ZERO_VALUE,
207
+ linesCount: UNCERTAIN_ZERO_VALUE,
208
+ paragraphsCount: UNCERTAIN_ZERO_VALUE,
209
+ pagesCount: UNCERTAIN_ZERO_VALUE,
198
210
  },
199
211
  output: {
200
- tokensCount: { value: 0, isUncertain: true },
201
- charactersCount: { value: 0, isUncertain: true },
202
- wordsCount: { value: 0, isUncertain: true },
203
- sentencesCount: { value: 0, isUncertain: true },
204
- linesCount: { value: 0, isUncertain: true },
205
- paragraphsCount: { value: 0, isUncertain: true },
206
- pagesCount: { value: 0, isUncertain: true },
212
+ tokensCount: UNCERTAIN_ZERO_VALUE,
213
+ charactersCount: UNCERTAIN_ZERO_VALUE,
214
+ wordsCount: UNCERTAIN_ZERO_VALUE,
215
+ sentencesCount: UNCERTAIN_ZERO_VALUE,
216
+ linesCount: UNCERTAIN_ZERO_VALUE,
217
+ paragraphsCount: UNCERTAIN_ZERO_VALUE,
218
+ pagesCount: UNCERTAIN_ZERO_VALUE,
207
219
  },
208
220
  });
209
221
  /**
@@ -1146,7 +1158,7 @@
1146
1158
  * Helper of usage compute
1147
1159
  *
1148
1160
  * @param content the content of prompt or response
1149
- * @returns part of PromptResultUsageCounts
1161
+ * @returns part of UsageCounts
1150
1162
  *
1151
1163
  * @private internal utility of LlmExecutionTools
1152
1164
  */
@@ -1170,7 +1182,7 @@
1170
1182
  */
1171
1183
  function uncertainNumber(value) {
1172
1184
  if (value === null || value === undefined || Number.isNaN(value)) {
1173
- return { value: 0, isUncertain: true };
1185
+ return UNCERTAIN_ZERO_VALUE;
1174
1186
  }
1175
1187
  return { value };
1176
1188
  }
@@ -1689,15 +1701,18 @@
1689
1701
  }
1690
1702
  return this.client;
1691
1703
  }
1704
+ /*
1705
+ Note: Commenting this out to avoid circular dependency
1692
1706
  /**
1693
1707
  * Create (sub)tools for calling OpenAI API Assistants
1694
1708
  *
1695
1709
  * @param assistantId Which assistant to use
1696
1710
  * @returns Tools for calling OpenAI API Assistants with same token
1697
- */
1698
- createAssistantSubtools(assistantId) {
1711
+ * /
1712
+ public createAssistantSubtools(assistantId: string_token): OpenAiAssistantExecutionTools {
1699
1713
  return new OpenAiAssistantExecutionTools({ ...this.options, assistantId });
1700
1714
  }
1715
+ */
1701
1716
  /**
1702
1717
  * Check the `options` passed to `constructor`
1703
1718
  */