@promptbook/openai 0.52.0-4 → 0.52.0-6

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 CHANGED
@@ -37,17 +37,21 @@ Wrapper around [OpenAI's SDK](https://www.npmjs.com/package/openai) to make it e
37
37
  ## Usage
38
38
 
39
39
  ```typescript
40
- import { createPromptbookExecutor, createPromptbookLibraryFromDirectory } from '@promptbook/core';
40
+ import {
41
+ createPromptbookExecutor,
42
+ createPromptbookLibraryFromDirectory,
43
+ assertsExecutionSuccessful,
44
+ } from '@promptbook/core';
41
45
  import { JavascriptEvalExecutionTools } from '@promptbook/execute-javascript';
42
46
  import { OpenAiExecutionTools } from '@promptbook/openai';
43
- import { assertsExecutionSuccessful } from '@promptbook/utils';
44
-
45
- // TODO: !!!!! Test that this code works
46
- // TODO: !!!!! Comment
47
47
 
48
+ // Create whole Promptbook library
48
49
  const library = createPromptbookLibraryFromDirectory('./promptbook');
50
+
51
+ // Get one Promptbook
49
52
  const promptbook = library.getPromptbookByUrl(`https://promptbook.studio/my-library/write-article.ptbk.md`);
50
53
 
54
+ // Prepare tools
51
55
  const tools = {
52
56
  llm: new OpenAiExecutionTools({
53
57
  apiKey: process.env.OPENAI_API_KEY,
@@ -55,14 +59,21 @@ const tools = {
55
59
  script: [new JavascriptEvalExecutionTools()],
56
60
  };
57
61
 
62
+ // Create executor - the function that will execute the Promptbook
58
63
  const promptbookExecutor = createPromptbookExecutor({ promptbook, tools });
59
64
 
65
+ // Prepare input parameters
60
66
  const inputParameters = { word: 'cat' };
61
- const { isSuccessful, errors, outputParameters, executionReport } = await promptbookExecutor(inputParameters);
62
67
 
63
- console.info(outputParameters);
68
+ // 🚀 Execute the Promptbook
69
+ const result = await promptbookExecutor(inputParameters);
64
70
 
65
- assertsExecutionSuccessful({ isSuccessful, errors });
71
+ // Fail if the execution was not successful
72
+ assertsExecutionSuccessful(result);
73
+
74
+ // Handle the result
75
+ const { isSuccessful, errors, outputParameters, executionReport } = result;
76
+ console.info(outputParameters);
66
77
  ```
67
78
 
68
79
 
@@ -1,20 +1,26 @@
1
- import { promptbookStringToJson } from '../conversion/promptbookStringToJson';
1
+ import { prettifyPromptbookString } from '../conversion/prettify/prettifyPromptbookString';
2
2
  import { promptbookJsonToString } from '../conversion/promptbookJsonToString';
3
+ import { promptbookStringToJson } from '../conversion/promptbookStringToJson';
3
4
  import { validatePromptbookJson } from '../conversion/validation/validatePromptbookJson';
5
+ import { assertsExecutionSuccessful } from '../execution/assertsExecutionSuccessful';
4
6
  import { createPromptbookExecutor } from '../execution/createPromptbookExecutor';
7
+ import { MultipleLlmExecutionTools } from '../execution/plugins/llm-execution-tools/multiple/MultipleLlmExecutionTools';
5
8
  import { CallbackInterfaceTools } from '../execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceTools';
6
9
  import { CallbackInterfaceToolsOptions } from '../execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceToolsOptions';
7
10
  import { SimplePromptInterfaceTools } from '../execution/plugins/user-interface-execution-tools/simple-prompt/SimplePromptInterfaceTools';
8
- import { SimplePromptbookLibrary } from '../library/SimplePromptbookLibrary';
11
+ import { checkExpectations, isPassingExpectations } from '../execution/utils/checkExpectations';
9
12
  import { createPromptbookLibraryFromPromise } from '../library/constructors/createPromptbookLibraryFromPromise';
10
13
  import { createPromptbookLibraryFromSources } from '../library/constructors/createPromptbookLibraryFromSources';
11
14
  import { createPromptbookSublibrary } from '../library/constructors/createPromptbookSublibrary';
15
+ import { SimplePromptbookLibrary } from '../library/SimplePromptbookLibrary';
16
+ import { executionReportJsonToString } from '../types/execution-report/executionReportJsonToString';
17
+ import { ExecutionReportStringOptions, ExecutionReportStringOptionsDefaults } from '../types/execution-report/ExecutionReportStringOptions';
12
18
  import { ExecutionTypes } from '../types/ExecutionTypes';
13
19
  import { PROMPTBOOK_VERSION } from '../version';
14
- import { MultipleLlmExecutionTools } from '../execution/plugins/llm-execution-tools/multiple/MultipleLlmExecutionTools';
15
20
  export { ExecutionTypes, PROMPTBOOK_VERSION };
21
+ export { assertsExecutionSuccessful, checkExpectations, executionReportJsonToString, ExecutionReportStringOptions, ExecutionReportStringOptionsDefaults, isPassingExpectations, prettifyPromptbookString, };
16
22
  export { createPromptbookLibraryFromPromise, createPromptbookLibraryFromSources, createPromptbookSublibrary, SimplePromptbookLibrary, };
17
23
  export { SimplePromptInterfaceTools };
18
- export { promptbookStringToJson, promptbookJsonToString, validatePromptbookJson };
24
+ export { promptbookJsonToString, promptbookStringToJson, validatePromptbookJson };
19
25
  export { createPromptbookExecutor, MultipleLlmExecutionTools };
20
26
  export { CallbackInterfaceTools, CallbackInterfaceToolsOptions };
@@ -1,16 +1,11 @@
1
1
  import { spaceTrim } from 'spacetrim';
2
- import { prettifyPromptbookString } from '../conversion/prettify/prettifyPromptbookString';
3
2
  import { renderPromptbookMermaid } from '../conversion/prettify/renderPromptbookMermaid';
4
3
  import { extractParametersFromPromptTemplate } from '../conversion/utils/extractParametersFromPromptTemplate';
5
4
  import { extractVariables } from '../conversion/utils/extractVariables';
6
5
  import { parseNumber } from '../conversion/utils/parseNumber';
7
6
  import { renameParameter } from '../conversion/utils/renameParameter';
8
7
  import { titleToName } from '../conversion/utils/titleToName';
9
- import { assertsExecutionSuccessful } from '../execution/assertsExecutionSuccessful';
10
- import { checkExpectations, isPassingExpectations } from '../execution/utils/checkExpectations';
11
8
  import { replaceParameters } from '../execution/utils/replaceParameters';
12
- import { executionReportJsonToString } from '../types/execution-report/executionReportJsonToString';
13
- import { ExecutionReportStringOptions, ExecutionReportStringOptionsDefaults } from '../types/execution-report/ExecutionReportStringOptions';
14
9
  import { CountUtils } from '../utils/expectation-counters';
15
10
  import { countCharacters } from '../utils/expectation-counters/countCharacters';
16
11
  import { countLines } from '../utils/expectation-counters/countLines';
@@ -51,10 +46,10 @@ import { union } from '../utils/sets/union';
51
46
  import { trimCodeBlock } from '../utils/trimCodeBlock';
52
47
  import { trimEndOfCodeBlock } from '../utils/trimEndOfCodeBlock';
53
48
  import { unwrapResult } from '../utils/unwrapResult';
54
- export { assertsExecutionSuccessful, checkExpectations, executionReportJsonToString, ExecutionReportStringOptions, ExecutionReportStringOptionsDefaults, extractAllBlocksFromMarkdown, // <- [🌻]
49
+ export { extractAllBlocksFromMarkdown, // <- [🌻]
55
50
  extractAllListItemsFromMarkdown, extractBlock, // <- [🌻]
56
- extractOneBlockFromMarkdown, extractParameters, extractVariables, isPassingExpectations, isValidJsonString, parseNumber, // <- [🌻]
57
- prettifyPromptbookString, removeContentComments, removeEmojis, removeMarkdownFormatting, removeQuotes, replaceParameters, spaceTrim, trimCodeBlock, trimEndOfCodeBlock, unwrapResult, };
51
+ extractOneBlockFromMarkdown, extractParameters, extractVariables, isValidJsonString, parseNumber, // <- [🌻]
52
+ removeContentComments, removeEmojis, removeMarkdownFormatting, removeQuotes, replaceParameters, spaceTrim, trimCodeBlock, trimEndOfCodeBlock, unwrapResult, };
58
53
  export { countCharacters, countLines, countPages, countParagraphs, countSentences, CountUtils, countWords };
59
54
  export { splitIntoSentences };
60
55
  export declare const normalizeTo: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/openai",
3
- "version": "0.52.0-4",
3
+ "version": "0.52.0-6",
4
4
  "description": "Library to supercharge your use of large language models",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -48,7 +48,7 @@
48
48
  }
49
49
  ],
50
50
  "peerDependencies": {
51
- "@promptbook/core": "0.52.0-4"
51
+ "@promptbook/core": "0.52.0-6"
52
52
  },
53
53
  "main": "./umd/index.umd.js",
54
54
  "module": "./esm/index.es.js",
@@ -1,20 +1,26 @@
1
- import { promptbookStringToJson } from '../conversion/promptbookStringToJson';
1
+ import { prettifyPromptbookString } from '../conversion/prettify/prettifyPromptbookString';
2
2
  import { promptbookJsonToString } from '../conversion/promptbookJsonToString';
3
+ import { promptbookStringToJson } from '../conversion/promptbookStringToJson';
3
4
  import { validatePromptbookJson } from '../conversion/validation/validatePromptbookJson';
5
+ import { assertsExecutionSuccessful } from '../execution/assertsExecutionSuccessful';
4
6
  import { createPromptbookExecutor } from '../execution/createPromptbookExecutor';
7
+ import { MultipleLlmExecutionTools } from '../execution/plugins/llm-execution-tools/multiple/MultipleLlmExecutionTools';
5
8
  import { CallbackInterfaceTools } from '../execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceTools';
6
9
  import { CallbackInterfaceToolsOptions } from '../execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceToolsOptions';
7
10
  import { SimplePromptInterfaceTools } from '../execution/plugins/user-interface-execution-tools/simple-prompt/SimplePromptInterfaceTools';
8
- import { SimplePromptbookLibrary } from '../library/SimplePromptbookLibrary';
11
+ import { checkExpectations, isPassingExpectations } from '../execution/utils/checkExpectations';
9
12
  import { createPromptbookLibraryFromPromise } from '../library/constructors/createPromptbookLibraryFromPromise';
10
13
  import { createPromptbookLibraryFromSources } from '../library/constructors/createPromptbookLibraryFromSources';
11
14
  import { createPromptbookSublibrary } from '../library/constructors/createPromptbookSublibrary';
15
+ import { SimplePromptbookLibrary } from '../library/SimplePromptbookLibrary';
16
+ import { executionReportJsonToString } from '../types/execution-report/executionReportJsonToString';
17
+ import { ExecutionReportStringOptions, ExecutionReportStringOptionsDefaults } from '../types/execution-report/ExecutionReportStringOptions';
12
18
  import { ExecutionTypes } from '../types/ExecutionTypes';
13
19
  import { PROMPTBOOK_VERSION } from '../version';
14
- import { MultipleLlmExecutionTools } from '../execution/plugins/llm-execution-tools/multiple/MultipleLlmExecutionTools';
15
20
  export { ExecutionTypes, PROMPTBOOK_VERSION };
21
+ export { assertsExecutionSuccessful, checkExpectations, executionReportJsonToString, ExecutionReportStringOptions, ExecutionReportStringOptionsDefaults, isPassingExpectations, prettifyPromptbookString, };
16
22
  export { createPromptbookLibraryFromPromise, createPromptbookLibraryFromSources, createPromptbookSublibrary, SimplePromptbookLibrary, };
17
23
  export { SimplePromptInterfaceTools };
18
- export { promptbookStringToJson, promptbookJsonToString, validatePromptbookJson };
24
+ export { promptbookJsonToString, promptbookStringToJson, validatePromptbookJson };
19
25
  export { createPromptbookExecutor, MultipleLlmExecutionTools };
20
26
  export { CallbackInterfaceTools, CallbackInterfaceToolsOptions };
@@ -1,16 +1,11 @@
1
1
  import { spaceTrim } from 'spacetrim';
2
- import { prettifyPromptbookString } from '../conversion/prettify/prettifyPromptbookString';
3
2
  import { renderPromptbookMermaid } from '../conversion/prettify/renderPromptbookMermaid';
4
3
  import { extractParametersFromPromptTemplate } from '../conversion/utils/extractParametersFromPromptTemplate';
5
4
  import { extractVariables } from '../conversion/utils/extractVariables';
6
5
  import { parseNumber } from '../conversion/utils/parseNumber';
7
6
  import { renameParameter } from '../conversion/utils/renameParameter';
8
7
  import { titleToName } from '../conversion/utils/titleToName';
9
- import { assertsExecutionSuccessful } from '../execution/assertsExecutionSuccessful';
10
- import { checkExpectations, isPassingExpectations } from '../execution/utils/checkExpectations';
11
8
  import { replaceParameters } from '../execution/utils/replaceParameters';
12
- import { executionReportJsonToString } from '../types/execution-report/executionReportJsonToString';
13
- import { ExecutionReportStringOptions, ExecutionReportStringOptionsDefaults } from '../types/execution-report/ExecutionReportStringOptions';
14
9
  import { CountUtils } from '../utils/expectation-counters';
15
10
  import { countCharacters } from '../utils/expectation-counters/countCharacters';
16
11
  import { countLines } from '../utils/expectation-counters/countLines';
@@ -51,10 +46,10 @@ import { union } from '../utils/sets/union';
51
46
  import { trimCodeBlock } from '../utils/trimCodeBlock';
52
47
  import { trimEndOfCodeBlock } from '../utils/trimEndOfCodeBlock';
53
48
  import { unwrapResult } from '../utils/unwrapResult';
54
- export { assertsExecutionSuccessful, checkExpectations, executionReportJsonToString, ExecutionReportStringOptions, ExecutionReportStringOptionsDefaults, extractAllBlocksFromMarkdown, // <- [🌻]
49
+ export { extractAllBlocksFromMarkdown, // <- [🌻]
55
50
  extractAllListItemsFromMarkdown, extractBlock, // <- [🌻]
56
- extractOneBlockFromMarkdown, extractParameters, extractVariables, isPassingExpectations, isValidJsonString, parseNumber, // <- [🌻]
57
- prettifyPromptbookString, removeContentComments, removeEmojis, removeMarkdownFormatting, removeQuotes, replaceParameters, spaceTrim, trimCodeBlock, trimEndOfCodeBlock, unwrapResult, };
51
+ extractOneBlockFromMarkdown, extractParameters, extractVariables, isValidJsonString, parseNumber, // <- [🌻]
52
+ removeContentComments, removeEmojis, removeMarkdownFormatting, removeQuotes, replaceParameters, spaceTrim, trimCodeBlock, trimEndOfCodeBlock, unwrapResult, };
58
53
  export { countCharacters, countLines, countPages, countParagraphs, countSentences, CountUtils, countWords };
59
54
  export { splitIntoSentences };
60
55
  export declare const normalizeTo: {
@@ -1,5 +0,0 @@
1
- import { Wizzard } from '../wizzard/Wizzard';
2
- export { Wizzard };
3
- /**
4
- * TODO: [🧙‍♂️]
5
- */
@@ -1,5 +0,0 @@
1
- import { Wizzard } from '../wizzard/Wizzard';
2
- export { Wizzard };
3
- /**
4
- * TODO: [🧙‍♂️]
5
- */