@promptbook/openai 0.58.0 → 0.59.0-1

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 (108) hide show
  1. package/README.md +1 -1
  2. package/esm/index.es.js +2 -1
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/_packages/core.index.d.ts +9 -10
  5. package/esm/typings/_packages/node.index.d.ts +1 -1
  6. package/esm/typings/_packages/types.index.d.ts +11 -70
  7. package/esm/typings/conversion/prettify/prettifyPromptbookString.d.ts +1 -1
  8. package/esm/typings/conversion/promptbookStringToJson.d.ts +17 -2
  9. package/esm/typings/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +1 -1
  10. package/esm/typings/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +1 -1
  11. package/esm/typings/expectations/drafts/isDomainNameFree.d.ts +6 -0
  12. package/esm/typings/expectations/drafts/isGithubNameFree.d.ts +6 -0
  13. package/esm/typings/formats/_common/FormatDefinition.d.ts +20 -4
  14. package/esm/typings/formats/csv/ListFormatDefinition.d.ts +11 -0
  15. package/esm/typings/formats/json/JsonFormatDefinition.d.ts +5 -1
  16. package/esm/typings/formats/list/ListFormatDefinition.d.ts +13 -0
  17. package/esm/typings/formats/xml/XmlFormatDefinition.d.ts +4 -0
  18. package/{umd/typings/knowledgebase → esm/typings/knowledge}/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +1 -1
  19. package/esm/typings/knowledge/prepare-knowledge/_common/IndexPreparer.d.ts +4 -0
  20. package/esm/typings/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +2 -0
  21. package/esm/typings/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +7 -0
  22. package/esm/typings/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +16 -0
  23. package/esm/typings/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +2 -1
  24. package/esm/typings/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +1 -1
  25. package/esm/typings/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +1 -1
  26. package/esm/typings/llm-providers/openai/OpenAiExecutionTools.d.ts +1 -1
  27. package/esm/typings/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +1 -1
  28. package/{umd/typings/library → esm/typings/promptbook-library}/constructors/createPromptbookLibraryFromDirectory.d.ts +3 -0
  29. package/esm/typings/{library → promptbook-library}/constructors/createPromptbookLibraryFromPromise.d.ts +3 -0
  30. package/{umd/typings/library → esm/typings/promptbook-library}/constructors/createPromptbookLibraryFromSources.d.ts +4 -1
  31. package/esm/typings/{library → promptbook-library}/constructors/createPromptbookLibraryFromUrl.d.ts +3 -0
  32. package/esm/typings/scripting/python/PythonExecutionTools.d.ts +1 -1
  33. package/esm/typings/scripting/typescript/TypescriptExecutionTools.d.ts +1 -1
  34. package/esm/typings/types/PromptbookJson/KnowledgeJson.d.ts +6 -0
  35. package/esm/typings/types/PromptbookJson/MaterialKnowledgePieceJson.d.ts +27 -0
  36. package/esm/typings/types/PromptbookJson/PromptbookJson.d.ts +8 -6
  37. package/esm/typings/types/typeAliases.d.ts +7 -1
  38. package/package.json +2 -2
  39. package/umd/index.umd.js +2 -1
  40. package/umd/index.umd.js.map +1 -1
  41. package/umd/typings/_packages/core.index.d.ts +9 -10
  42. package/umd/typings/_packages/node.index.d.ts +1 -1
  43. package/umd/typings/_packages/types.index.d.ts +11 -70
  44. package/umd/typings/conversion/prettify/prettifyPromptbookString.d.ts +1 -1
  45. package/umd/typings/conversion/promptbookStringToJson.d.ts +17 -2
  46. package/umd/typings/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +1 -1
  47. package/umd/typings/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +1 -1
  48. package/umd/typings/expectations/drafts/isDomainNameFree.d.ts +6 -0
  49. package/umd/typings/expectations/drafts/isGithubNameFree.d.ts +6 -0
  50. package/umd/typings/formats/_common/FormatDefinition.d.ts +20 -4
  51. package/umd/typings/formats/csv/ListFormatDefinition.d.ts +11 -0
  52. package/umd/typings/formats/json/JsonFormatDefinition.d.ts +5 -1
  53. package/umd/typings/formats/list/ListFormatDefinition.d.ts +13 -0
  54. package/umd/typings/formats/xml/XmlFormatDefinition.d.ts +4 -0
  55. package/{esm/typings/knowledgebase → umd/typings/knowledge}/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +1 -1
  56. package/umd/typings/knowledge/prepare-knowledge/_common/IndexPreparer.d.ts +4 -0
  57. package/umd/typings/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +2 -0
  58. package/umd/typings/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +7 -0
  59. package/umd/typings/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +16 -0
  60. package/umd/typings/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +2 -1
  61. package/umd/typings/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +1 -1
  62. package/umd/typings/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +1 -1
  63. package/umd/typings/llm-providers/openai/OpenAiExecutionTools.d.ts +1 -1
  64. package/umd/typings/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +1 -1
  65. package/{esm/typings/library → umd/typings/promptbook-library}/constructors/createPromptbookLibraryFromDirectory.d.ts +3 -0
  66. package/umd/typings/{library → promptbook-library}/constructors/createPromptbookLibraryFromPromise.d.ts +3 -0
  67. package/{esm/typings/library → umd/typings/promptbook-library}/constructors/createPromptbookLibraryFromSources.d.ts +4 -1
  68. package/umd/typings/{library → promptbook-library}/constructors/createPromptbookLibraryFromUrl.d.ts +3 -0
  69. package/umd/typings/scripting/python/PythonExecutionTools.d.ts +1 -1
  70. package/umd/typings/scripting/typescript/TypescriptExecutionTools.d.ts +1 -1
  71. package/umd/typings/types/PromptbookJson/KnowledgeJson.d.ts +6 -0
  72. package/umd/typings/types/PromptbookJson/MaterialKnowledgePieceJson.d.ts +27 -0
  73. package/umd/typings/types/PromptbookJson/PromptbookJson.d.ts +8 -6
  74. package/umd/typings/types/typeAliases.d.ts +7 -1
  75. package/esm/typings/execution/plugins/script-execution-tools/postprocessing.test.d.ts +0 -1
  76. package/esm/typings/execution/plugins/script-execution-tools/script-execution-errors.test.d.ts +0 -1
  77. package/esm/typings/execution/plugins/script-execution-tools/script-execution-tools.test.d.ts +0 -1
  78. package/umd/typings/execution/plugins/script-execution-tools/custom-function-async.test.ts.test.d.ts +0 -1
  79. package/umd/typings/execution/plugins/script-execution-tools/custom-function-missing.test.d.ts +0 -1
  80. package/umd/typings/execution/plugins/script-execution-tools/custom-function-with-dependencies.test.d.ts +0 -1
  81. package/umd/typings/execution/plugins/script-execution-tools/custom-function.test.d.ts +0 -1
  82. package/umd/typings/execution/plugins/script-execution-tools/postprocessing.test.d.ts +0 -1
  83. package/umd/typings/execution/plugins/script-execution-tools/script-execution-errors.test.d.ts +0 -1
  84. package/umd/typings/execution/plugins/script-execution-tools/script-execution-tools.test.d.ts +0 -1
  85. /package/esm/typings/{knowledgebase → knowledge}/dialogs/callback/CallbackInterfaceTools.d.ts +0 -0
  86. /package/esm/typings/{knowledgebase → knowledge}/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +0 -0
  87. /package/esm/typings/{knowledgebase → knowledge}/dialogs/user-interface-execution-tools.test.d.ts +0 -0
  88. /package/esm/typings/{execution/plugins/script-execution-tools/custom-function-async.test.ts.test.d.ts → knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts} +0 -0
  89. /package/esm/typings/{execution/plugins/script-execution-tools/custom-function-missing.test.d.ts → knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts} +0 -0
  90. /package/esm/typings/{library → promptbook-library}/PromptbookLibrary.d.ts +0 -0
  91. /package/esm/typings/{library → promptbook-library}/SimplePromptbookLibrary.d.ts +0 -0
  92. /package/esm/typings/{library → promptbook-library}/constructors/createPromptbookLibraryFromDirectory.test.d.ts +0 -0
  93. /package/esm/typings/{library → promptbook-library}/constructors/createPromptbookLibraryFromPromise.test.d.ts +0 -0
  94. /package/esm/typings/{library → promptbook-library}/constructors/createPromptbookLibraryFromSources.test.d.ts +0 -0
  95. /package/esm/typings/{library → promptbook-library}/constructors/createPromptbookSublibrary.d.ts +0 -0
  96. /package/esm/typings/{library → promptbook-library}/constructors/justTestFsImport.d.ts +0 -0
  97. /package/umd/typings/{knowledgebase → knowledge}/dialogs/callback/CallbackInterfaceTools.d.ts +0 -0
  98. /package/umd/typings/{knowledgebase → knowledge}/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +0 -0
  99. /package/umd/typings/{knowledgebase → knowledge}/dialogs/user-interface-execution-tools.test.d.ts +0 -0
  100. /package/{esm/typings/execution/plugins/script-execution-tools/custom-function-with-dependencies.test.d.ts → umd/typings/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts} +0 -0
  101. /package/{esm/typings/execution/plugins/script-execution-tools/custom-function.test.d.ts → umd/typings/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts} +0 -0
  102. /package/umd/typings/{library → promptbook-library}/PromptbookLibrary.d.ts +0 -0
  103. /package/umd/typings/{library → promptbook-library}/SimplePromptbookLibrary.d.ts +0 -0
  104. /package/umd/typings/{library → promptbook-library}/constructors/createPromptbookLibraryFromDirectory.test.d.ts +0 -0
  105. /package/umd/typings/{library → promptbook-library}/constructors/createPromptbookLibraryFromPromise.test.d.ts +0 -0
  106. /package/umd/typings/{library → promptbook-library}/constructors/createPromptbookLibraryFromSources.test.d.ts +0 -0
  107. /package/umd/typings/{library → promptbook-library}/constructors/createPromptbookSublibrary.d.ts +0 -0
  108. /package/umd/typings/{library → promptbook-library}/constructors/justTestFsImport.d.ts +0 -0
@@ -12,6 +12,10 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
12
12
  * @sample "JSON"
13
13
  */
14
14
  readonly name: string_name;
15
+ /**
16
+ * Aliases for the name
17
+ */
18
+ readonly aliases?: Array<string_name>;
15
19
  /**
16
20
  * The mime type of the format (if any)
17
21
  *
@@ -45,9 +49,21 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
45
49
  * @throws {Error} If the value cannot be healed
46
50
  */
47
51
  heal(value: string, scheme?: TSchema): TValue;
52
+ /**
53
+ * Parses just the values and removes structural information
54
+ *
55
+ * Note: This is useful when you want to combine format expectations with counting words, characters,...
56
+ *
57
+ * @param value The value to check, for example "{\"name\": "John Smith"}"
58
+ * @param schema Optional schema
59
+ * @example "{\"name\": "John Smith"}" -> ["John Smith"]
60
+ */
61
+ extractValues(value: string, schema?: TSchema): Array<string>;
48
62
  };
49
63
  /**
50
- * TODO: [👨‍⚖️] Compute TPartialValue dynamically - PartialString<TValue>
51
- * TODO: [🧠] Should execution tools be aviable to heal, canBeValid and isValid?
52
- * TODO: [🧠] llm Provider Bindings
53
- */
64
+ * TODO: [🍓]`name` and `aliases` should be UPPERCASE only and interpreted as case-insensitive (via normalization)
65
+ * TODO: [🍓][👨‍⚖️] Compute TPartialValue dynamically - PartialString<TValue>
66
+ * TODO: [🍓][🧠] Should execution tools be aviable to heal, canBeValid and isValid?
67
+ * TODO: [🍓][🧠] llm Provider Bindings
68
+ * TODO: [🍓]Export via some package
69
+ */
@@ -0,0 +1,11 @@
1
+ import type { FormatDefinition } from '../_common/FormatDefinition';
2
+ /**
3
+ * Definition for CSV spreadsheet
4
+ */
5
+ export declare const CsvFormatDefinition: FormatDefinition<string, string, object>;
6
+ /**
7
+ * TODO: [🍓] In `CsvFormatDefinition` implement simple `isValid`
8
+ * TODO: [🍓] In `CsvFormatDefinition` implement partial `canBeValid`
9
+ * TODO: [🍓] In `CsvFormatDefinition` implement `heal
10
+ * TODO: [🍓] In `CsvFormatDefinition` implement `extractValues`
11
+ */
@@ -8,4 +8,8 @@ export declare const JsonFormatDefinition: FormatDefinition<string, string, obje
8
8
  * TODO: [0] Make string_serialized_json
9
9
  * TODO: [1] Make type for JSON Schema
10
10
  * TODO: [🧠] What to use for validating JSONs - JSON Schema, ZoD, typescript types/interfaces,...?
11
- */
11
+ * TODO: [🍓] In `JsonFormatDefinition` implement simple `isValid`
12
+ * TODO: [🍓] In `JsonFormatDefinition` implement partial `canBeValid`
13
+ * TODO: [🍓] In `JsonFormatDefinition` implement `heal
14
+ * TODO: [🍓] In `JsonFormatDefinition` implement `extractValues`
15
+ */
@@ -0,0 +1,13 @@
1
+ import type { FormatDefinition } from '../_common/FormatDefinition';
2
+ /**
3
+ * Definition for list of multiple items
4
+ *
5
+ * Note: list is just a string with multiple lines or multiple items separated by comma
6
+ */
7
+ export declare const ListFormatDefinition: FormatDefinition<string, string, object>;
8
+ /**
9
+ * TODO: [🍓] In `ListFormatDefinition` implement simple `isValid`
10
+ * TODO: [🍓] In `ListFormatDefinition` implement partial `canBeValid`
11
+ * TODO: [🍓] In `ListFormatDefinition` implement `heal
12
+ * TODO: [🍓] In `ListFormatDefinition` implement `extractValues`
13
+ */
@@ -8,4 +8,8 @@ export declare const XmlFormatDefinition: FormatDefinition<string, string, objec
8
8
  * TODO: [0] Make string_serialized_xml
9
9
  * TODO: [1] Make type for XML Schema
10
10
  * TODO: [🧠] What to use for validating XMLs - XSD,...
11
+ * TODO: [🍓] In `XmlFormatDefinition` implement simple `isValid`
12
+ * TODO: [🍓] In `XmlFormatDefinition` implement partial `canBeValid`
13
+ * TODO: [🍓] In `XmlFormatDefinition` implement `heal
14
+ * TODO: [🍓] In `XmlFormatDefinition` implement `extractValues`
11
15
  */
@@ -9,7 +9,7 @@ import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/U
9
9
  */
10
10
  export declare class SimplePromptInterfaceTools implements UserInterfaceTools {
11
11
  private readonly options;
12
- constructor(options: CommonExecutionToolsOptions);
12
+ constructor(options?: CommonExecutionToolsOptions);
13
13
  /**
14
14
  * Trigger window.PROMPT DIALOG
15
15
  */
@@ -0,0 +1,4 @@
1
+ export type IndexPreparer = {};
2
+ /**
3
+ * TODO: Export via some package
4
+ */
@@ -0,0 +1,7 @@
1
+ import type { LlmExecutionTools } from '../../../execution/LlmExecutionTools';
2
+ import type { KnowledgeJson } from '../../../types/PromptbookJson/KnowledgeJson';
3
+ import type { string_markdown } from '../../../types/typeAliases';
4
+ export declare function prepareKnowledgeFromMarkdown(options: {
5
+ content: string_markdown;
6
+ llmTools: LlmExecutionTools;
7
+ }): Promise<KnowledgeJson>;
@@ -0,0 +1,16 @@
1
+ import type { LlmExecutionTools } from '../../../execution/LlmExecutionTools';
2
+ import type { KnowledgeJson } from '../../../types/PromptbookJson/KnowledgeJson';
3
+ import type { string_base64 } from '../../../types/typeAliases';
4
+ type PrepareKnowledgeFromPdfOptions = {
5
+ /**
6
+ * The source of the knowledge in PDF format
7
+ */
8
+ content: string_base64;
9
+ llmTools: LlmExecutionTools;
10
+ };
11
+ export declare function prepareKnowledgeFromPdf(options: PrepareKnowledgeFromPdfOptions): Promise<KnowledgeJson>;
12
+ export {};
13
+ /**
14
+ * TODO: [🧺] In future, content can be alse File or Blob BUT for now for wider compatibility its only base64
15
+ * @see https://stackoverflow.com/questions/14653349/node-js-cant-create-blobs
16
+ */
@@ -18,7 +18,7 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
18
18
  *
19
19
  * @param options which are relevant are directly passed to the Anthropic Claude client
20
20
  */
21
- constructor(options: AnthropicClaudeExecutionToolsOptions);
21
+ constructor(options?: AnthropicClaudeExecutionToolsOptions);
22
22
  /**
23
23
  * Calls Anthropic Claude API to use a chat model.
24
24
  */
@@ -37,6 +37,7 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
37
37
  listModels(): Array<AvailableModel>;
38
38
  }
39
39
  /**
40
+ * TODO: !!!! [🍆] JSON mode
40
41
  * TODO: [🧠] Maybe handle errors via transformAnthropicError (like transformAzureError)
41
42
  * TODO: Maybe Create some common util for gptChat and gptComplete
42
43
  * TODO: Maybe make custom OpenaiError
@@ -9,7 +9,7 @@ import type { Prompt } from '../../types/Prompt';
9
9
  */
10
10
  export declare class MockedEchoLlmExecutionTools implements LlmExecutionTools {
11
11
  private readonly options;
12
- constructor(options: CommonExecutionToolsOptions);
12
+ constructor(options?: CommonExecutionToolsOptions);
13
13
  /**
14
14
  * Mocks chat model
15
15
  */
@@ -9,7 +9,7 @@ import type { Prompt } from '../../types/Prompt';
9
9
  */
10
10
  export declare class MockedFackedLlmExecutionTools implements LlmExecutionTools {
11
11
  private readonly options;
12
- constructor(options: CommonExecutionToolsOptions);
12
+ constructor(options?: CommonExecutionToolsOptions);
13
13
  /**
14
14
  * Fakes chat model
15
15
  */
@@ -18,7 +18,7 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
18
18
  *
19
19
  * @param options which are relevant are directly passed to the OpenAI client
20
20
  */
21
- constructor(options: OpenAiExecutionToolsOptions);
21
+ constructor(options?: OpenAiExecutionToolsOptions);
22
22
  /**
23
23
  * Calls OpenAI API to use a chat model.
24
24
  */
@@ -1,6 +1,6 @@
1
1
  import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
2
2
  import type { LlmExecutionTools } from '../../../execution/LlmExecutionTools';
3
- import type { PromptbookLibrary } from '../../../library/PromptbookLibrary';
3
+ import type { PromptbookLibrary } from '../../../promptbook-library/PromptbookLibrary';
4
4
  import type { client_id } from '../../../types/typeAliases';
5
5
  import type { string_uri } from '../../../types/typeAliases';
6
6
  export type RemoteServerOptions = CommonExecutionToolsOptions & {
@@ -41,3 +41,6 @@ type CreatePromptbookLibraryFromDirectoryOptions = {
41
41
  */
42
42
  export declare function createPromptbookLibraryFromDirectory(path: string_folder_path, options?: CreatePromptbookLibraryFromDirectoryOptions): Promise<PromptbookLibrary>;
43
43
  export {};
44
+ /**
45
+ * TODO: !!!! [🧠] Library precompilation and do not mix markdown and json promptbooks
46
+ */
@@ -21,3 +21,6 @@ import type { PromptbookLibrary } from '../PromptbookLibrary';
21
21
  * @deprecated Do not use, it will became internal tool for other constructor functions
22
22
  */
23
23
  export declare function createPromptbookLibraryFromPromise(promptbookSourcesPromiseOrFactory: Promise<Array<PromptbookJson | PromptbookString>> | (() => Promise<Array<PromptbookJson | PromptbookString>>)): PromptbookLibrary;
24
+ /**
25
+ * TODO: !!!! [🧠] Library precompilation and do not mix markdown and json promptbooks
26
+ */
@@ -10,4 +10,7 @@ import { SimplePromptbookLibrary } from '../SimplePromptbookLibrary';
10
10
  * @param promptbookSources
11
11
  * @returns PromptbookLibrary
12
12
  */
13
- export declare function createPromptbookLibraryFromSources(...promptbookSources: Array<PromptbookJson | PromptbookString>): SimplePromptbookLibrary;
13
+ export declare function createPromptbookLibraryFromSources(...promptbookSources: Array<PromptbookJson | PromptbookString>): Promise<SimplePromptbookLibrary>;
14
+ /**
15
+ * TODO: !!!! [🧠] Library precompilation and do not mix markdown and json promptbooks
16
+ */
@@ -24,3 +24,6 @@ type CreatePromptbookLibraryFromUrlyOptions = {
24
24
  */
25
25
  export declare function createPromptbookLibraryFromUrl(url: string_url | URL, options: CreatePromptbookLibraryFromUrlyOptions): Promise<PromptbookLibrary>;
26
26
  export {};
27
+ /**
28
+ * TODO: !!!! [🧠] Library precompilation and do not mix markdown and json promptbooks
29
+ */
@@ -8,7 +8,7 @@ import type { ScriptExecutionToolsExecuteOptions } from '../../execution/ScriptE
8
8
  */
9
9
  export declare class PythonExecutionTools implements ScriptExecutionTools {
10
10
  private readonly options;
11
- constructor(options: CommonExecutionToolsOptions);
11
+ constructor(options?: CommonExecutionToolsOptions);
12
12
  /**
13
13
  * Executes a Python
14
14
  */
@@ -8,7 +8,7 @@ import type { ScriptExecutionToolsExecuteOptions } from '../../execution/ScriptE
8
8
  */
9
9
  export declare class TypescriptExecutionTools implements ScriptExecutionTools {
10
10
  private readonly options;
11
- constructor(options: CommonExecutionToolsOptions);
11
+ constructor(options?: CommonExecutionToolsOptions);
12
12
  /**
13
13
  * Executes a TypeScript
14
14
  */
@@ -0,0 +1,6 @@
1
+ import type { MaterialKnowledgePieceJson } from './MaterialKnowledgePieceJson';
2
+ export type KnowledgeJson = Array<MaterialKnowledgePieceJson>;
3
+ /**
4
+ * !!!! Annotate
5
+ * TODO: [🦪]
6
+ */
@@ -0,0 +1,27 @@
1
+ import { IVectorData } from 'xyzt';
2
+ import type { string_keyword } from '../../utils/normalization/IKeywords';
3
+ import type { string_href } from '../typeAliases';
4
+ import type { string_markdown } from '../typeAliases';
5
+ import type { string_markdown_text } from '../typeAliases';
6
+ import type { string_model_name } from '../typeAliases';
7
+ import type { string_name } from '../typeAliases';
8
+ export type MaterialKnowledgePieceJson = {
9
+ readonly name: string_name;
10
+ readonly title: string_markdown_text;
11
+ readonly content: string_markdown;
12
+ readonly keywords: Array<string_keyword>;
13
+ readonly index: Array<{
14
+ modelName: string_model_name;
15
+ position: IVectorData;
16
+ }>;
17
+ readonly sources: Array<{
18
+ title: string_markdown_text;
19
+ href: string_href;
20
+ }>;
21
+ };
22
+ /**
23
+ * !!!! Annotate
24
+ * TODO: [🧠][🦪] Maybe allow internal linkes between (Material)KnowledgePieces withing the KnowledgeJson and maybe require to explicitelly reference the source of the knowledge
25
+ * TODO: [🧠] Make some non-material sources like external search engine or dialog to user
26
+ * TODO: [🧠] Make some non-material (and maybe non-knowledge-like but tool-like) sources like calculator, code interpreter
27
+ */
@@ -1,6 +1,7 @@
1
1
  import type { string_markdown_text } from '../typeAliases';
2
2
  import type { string_promptbook_url } from '../typeAliases';
3
3
  import type { string_version } from '../typeAliases';
4
+ import type { KnowledgeJson } from './KnowledgeJson';
4
5
  import type { PromptTemplateJson } from './PromptTemplateJson';
5
6
  import type { PromptTemplateParameterJson } from './PromptTemplateParameterJson';
6
7
  /**
@@ -42,12 +43,13 @@ export type PromptbookJson = {
42
43
  * Sequence of prompt templates that are chained together to form a pipeline
43
44
  */
44
45
  readonly promptTemplates: Array<PromptTemplateJson>;
46
+ /**
47
+ * Set of information that are used as external knowledge in the pipeline
48
+ */
49
+ readonly knowledge: KnowledgeJson;
45
50
  };
46
51
  /**
47
- * TODO: [🧠] Best format of this code?
48
- * There must be possible to make
49
- * - Branching
50
- * - Loops
51
- * - Paralelization
52
- * - ...and more
52
+ * Note: There was a proposal for multiple types of promptbook objects 78816ff33e2705ee1a187aa2eb8affd976d4ea1a
53
+ * But then immediately reverted back to the single type
54
+ * With knowledge as part of the promptbook and library just as a collection of promptbooks
53
55
  */
@@ -193,7 +193,13 @@ export type string_promptbook_url_with_hashtemplate = string;
193
193
  *
194
194
  * For example `"data:text/plain;base64,SGVsbG8sIFdvcmxkIQ=="`
195
195
  */
196
- export type string_data_url = string;
196
+ export type string_data_url = `data:${string_mime_type};base64,${string_base64}`;
197
+ /**
198
+ * Semantic helper
199
+ *
200
+ * For example `"SGVsbG8sIFdvcmxkIQ=="`
201
+ */
202
+ export type string_base64 = string;
197
203
  /**
198
204
  * Semantic helper
199
205
  *