@promptbook/markdown-utils 0.81.0-9 → 0.82.0-0

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 +25 -4
  2. package/esm/index.es.js +143 -61
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/books/index.d.ts +38 -0
  5. package/esm/typings/src/_packages/core.index.d.ts +12 -4
  6. package/esm/typings/src/_packages/markdown-utils.index.d.ts +2 -2
  7. package/esm/typings/src/_packages/node.index.d.ts +0 -2
  8. package/esm/typings/src/_packages/remote-client.index.d.ts +7 -3
  9. package/esm/typings/src/_packages/remote-server.index.d.ts +2 -2
  10. package/esm/typings/src/_packages/templates.index.d.ts +2 -2
  11. package/esm/typings/src/_packages/types.index.d.ts +32 -30
  12. package/esm/typings/src/_packages/utils.index.d.ts +2 -0
  13. package/esm/typings/src/_packages/wizzard.index.d.ts +44 -0
  14. package/esm/typings/src/cli/cli-commands/make.d.ts +1 -1
  15. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -2
  16. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +11 -0
  17. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
  18. package/esm/typings/src/commands/index.d.ts +1 -1
  19. package/esm/typings/src/config.d.ts +3 -3
  20. package/esm/typings/src/conversion/compilePipeline.d.ts +1 -4
  21. package/esm/typings/src/conversion/compilePipelineOnRemoteServer.d.ts +18 -0
  22. package/esm/typings/src/conversion/{precompilePipeline.d.ts → parsePipeline.d.ts} +3 -3
  23. package/esm/typings/src/conversion/prettify/renderPipelineMermaidOptions.d.ts +3 -3
  24. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +7 -7
  25. package/esm/typings/src/errors/utils/getErrorReportUrl.d.ts +1 -1
  26. package/esm/typings/src/formfactors/generator/GeneratorFormfactorDefinition.d.ts +9 -4
  27. package/esm/typings/src/formfactors/image-generator/ImageGeneratorFormfactorDefinition.d.ts +24 -0
  28. package/esm/typings/src/formfactors/index.d.ts +31 -9
  29. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +1 -1
  30. package/esm/typings/src/high-level-abstractions/index.d.ts +3 -3
  31. package/esm/typings/src/high-level-abstractions/quick-chatbot/QuickChatbotHla.d.ts +3 -0
  32. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +1 -1
  33. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts +1 -1
  34. package/esm/typings/src/llm-providers/_common/register/{$provideLlmToolsForCli.d.ts → $provideLlmToolsForWizzardOrCli.d.ts} +2 -2
  35. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +1 -1
  36. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  37. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  38. package/esm/typings/src/llm-providers/anthropic-claude/createAnthropicClaudeExecutionTools.d.ts +2 -2
  39. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +2 -2
  40. package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +1 -0
  41. package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +2 -0
  42. package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +1 -0
  43. package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +1 -0
  44. package/esm/typings/src/llm-providers/google/register-configuration.d.ts +1 -0
  45. package/esm/typings/src/llm-providers/google/register-constructor.d.ts +1 -0
  46. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +1 -1
  47. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +2 -0
  48. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +2 -0
  49. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +1 -1
  50. package/esm/typings/src/llm-providers/vercel/playground/playground.d.ts +1 -1
  51. package/esm/typings/src/other/templates/getBookTemplates.d.ts +22 -0
  52. package/esm/typings/src/personas/preparePersona.d.ts +4 -4
  53. package/esm/typings/src/pipeline/PipelineString.d.ts +0 -3
  54. package/esm/typings/src/pipeline/book-notation.d.ts +14 -0
  55. package/esm/typings/src/pipeline/isValidPipelineString.d.ts +13 -0
  56. package/esm/typings/src/pipeline/isValidPipelineString.test.d.ts +4 -0
  57. package/esm/typings/src/pipeline/validatePipelineString.d.ts +14 -0
  58. package/esm/typings/src/prepare/isPipelinePrepared.d.ts +3 -1
  59. package/esm/typings/src/prepare/preparePipeline.d.ts +4 -2
  60. package/esm/typings/src/prepare/preparePipelineOnRemoteServer.d.ts +14 -0
  61. package/esm/typings/src/prepare/prepareTasks.d.ts +1 -1
  62. package/esm/typings/src/{llm-providers/remote → remote-server}/interfaces/PromptbookServer_Error.d.ts +1 -1
  63. package/esm/typings/src/{llm-providers/remote → remote-server}/interfaces/PromptbookServer_ListModels_Request.d.ts +4 -4
  64. package/esm/typings/src/{llm-providers/remote → remote-server}/interfaces/PromptbookServer_ListModels_Response.d.ts +1 -1
  65. package/esm/typings/src/{llm-providers/remote → remote-server}/interfaces/PromptbookServer_Prompt_Progress.d.ts +1 -1
  66. package/esm/typings/src/{llm-providers/remote → remote-server}/interfaces/PromptbookServer_Prompt_Request.d.ts +5 -5
  67. package/esm/typings/src/{llm-providers/remote → remote-server}/interfaces/PromptbookServer_Prompt_Response.d.ts +1 -1
  68. package/esm/typings/src/{llm-providers/remote → remote-server}/interfaces/RemoteLlmExecutionToolsOptions.d.ts +7 -7
  69. package/esm/typings/src/{llm-providers/remote → remote-server}/interfaces/RemoteServerOptions.d.ts +10 -10
  70. package/esm/typings/src/scrapers/_common/Converter.d.ts +1 -0
  71. package/esm/typings/src/scrapers/_common/Scraper.d.ts +1 -1
  72. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +3 -0
  73. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +2 -0
  74. package/esm/typings/src/scrapers/_common/utils/scraperFetch.d.ts +3 -0
  75. package/esm/typings/src/scrapers/document/register-constructor.d.ts +1 -0
  76. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -0
  77. package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +1 -0
  78. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -0
  79. package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +1 -0
  80. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -0
  81. package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +1 -0
  82. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -1
  83. package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +1 -0
  84. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +2 -1
  85. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +3 -1
  86. package/esm/typings/src/scrapers/website/register-constructor.d.ts +1 -0
  87. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -0
  88. package/esm/typings/src/scripting/javascript/JavascriptEvalExecutionTools.test.d.ts +1 -1
  89. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +2 -1
  90. package/esm/typings/src/types/typeAliases.d.ts +8 -2
  91. package/esm/typings/src/utils/markdown/flattenMarkdown.d.ts +1 -1
  92. package/esm/typings/src/utils/markdown/{removeContentComments.d.ts → removeMarkdownComments.d.ts} +2 -2
  93. package/esm/typings/src/utils/organization/$sideEffect.d.ts +9 -0
  94. package/esm/typings/src/utils/serialization/checkSerializableAsJson.d.ts +1 -1
  95. package/esm/typings/src/utils/serialization/isSerializableAsJson.d.ts +2 -2
  96. package/esm/typings/src/utils/validators/filePath/isRootPath.d.ts +12 -0
  97. package/esm/typings/src/utils/validators/filePath/isRootPath.test.d.ts +4 -0
  98. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +3 -0
  99. package/esm/typings/src/wizzard/$getCompiledBook.d.ts +16 -0
  100. package/esm/typings/src/wizzard/wizzard.d.ts +51 -7
  101. package/package.json +1 -1
  102. package/umd/index.umd.js +143 -61
  103. package/umd/index.umd.js.map +1 -1
  104. package/esm/typings/src/other/templates/getBookTemplate.d.ts +0 -21
  105. package/esm/typings/src/scripting/javascript/utils/unknownToString.d.ts +0 -8
  106. /package/esm/typings/src/conversion/{precompilePipeline.test.d.ts → parsePipeline.test.d.ts} +0 -0
  107. /package/esm/typings/src/{llm-providers/remote → remote-server}/startRemoteServer.d.ts +0 -0
  108. /package/esm/typings/src/utils/markdown/{removeContentComments.test.d.ts → removeMarkdownComments.test.d.ts} +0 -0
@@ -19,11 +19,7 @@ export declare const FORMFACTOR_DEFINITIONS: readonly [{
19
19
  readonly pipelineInterface: {
20
20
  readonly inputParameters: readonly [{
21
21
  readonly name: "previousTitle";
22
- readonly description: "Previous title of the conversation"; /**
23
- * All available formfactor definitions
24
- *
25
- * @public exported from `@promptbook/core`
26
- */
22
+ readonly description: "Previous title of the conversation";
27
23
  readonly isInput: true;
28
24
  readonly isOutput: false;
29
25
  }, {
@@ -40,6 +36,9 @@ export declare const FORMFACTOR_DEFINITIONS: readonly [{
40
36
  readonly outputParameters: readonly [{
41
37
  readonly name: "title";
42
38
  readonly description: "Title of the conversation";
39
+ /**
40
+ * Note: [💞] Ignore a discrepancy between file name and entity name
41
+ */
43
42
  readonly isInput: false;
44
43
  readonly isOutput: true;
45
44
  }, {
@@ -106,16 +105,39 @@ export declare const FORMFACTOR_DEFINITIONS: readonly [{
106
105
  };
107
106
  }, {
108
107
  readonly name: "GENERATOR";
109
- readonly description: "@@@";
108
+ readonly description: "Generates any kind (in HTML with possible scripts and css format) of content from input message";
110
109
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/184";
111
110
  readonly pipelineInterface: {
112
111
  readonly inputParameters: readonly [{
113
- readonly name: "nonce";
114
- readonly description: "Just to prevent GENERATOR to be set as implicit formfactor";
112
+ readonly name: "inputMessage";
113
+ readonly description: "Input message to be image made from";
115
114
  readonly isInput: true;
116
115
  readonly isOutput: false;
117
116
  }];
118
- readonly outputParameters: readonly [];
117
+ readonly outputParameters: readonly [{
118
+ readonly name: "result";
119
+ readonly description: "Result in HTML to be shown to user";
120
+ readonly isInput: false;
121
+ readonly isOutput: true;
122
+ }];
123
+ };
124
+ }, {
125
+ readonly name: "IMAGE_GENERATOR";
126
+ readonly description: "Generates prompt for image generation from input message";
127
+ readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/184";
128
+ readonly pipelineInterface: {
129
+ readonly inputParameters: readonly [{
130
+ readonly name: "inputMessage";
131
+ readonly description: "Input message to be image made from";
132
+ readonly isInput: true;
133
+ readonly isOutput: false;
134
+ }];
135
+ readonly outputParameters: readonly [{
136
+ readonly name: "prompt";
137
+ readonly description: "Prompt to be used for image generation";
138
+ readonly isInput: false;
139
+ readonly isOutput: true;
140
+ }];
119
141
  };
120
142
  }];
121
143
  /**
@@ -1,6 +1,6 @@
1
1
  import type { $PipelineJson } from '../../commands/_common/types/CommandParser';
2
2
  /**
3
- * Used in `precompilePipeline`
3
+ * Used in `parsePipeline`
4
4
  *
5
5
  * @private
6
6
  */
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * All high-level abstractions
3
3
  *
4
- * @private internal index of `precompilePipeline` (= used for sync) and `preparePipeline` (= used for async)
4
+ * @private internal index of `parsePipeline` (= used for sync) and `preparePipeline` (= used for async)
5
5
  */
6
6
  export declare const HIGH_LEVEL_ABSTRACTIONS: readonly [{
7
7
  type: "SYNC";
@@ -23,7 +23,7 @@ export declare const HIGH_LEVEL_ABSTRACTIONS: readonly [{
23
23
  path: string | null;
24
24
  content: import("../pipeline/PipelineString").PipelineString;
25
25
  }[];
26
- readonly formfactorName?: "CHATBOT" | "GENERATOR" | "GENERIC" | "EXPERIMENTAL_MATCHER" | "SHEETS" | "TRANSLATOR" | undefined;
26
+ readonly formfactorName?: "CHATBOT" | "GENERATOR" | "GENERIC" | "IMAGE_GENERATOR" | "EXPERIMENTAL_MATCHER" | "SHEETS" | "TRANSLATOR" | undefined;
27
27
  }>): void;
28
28
  }, {
29
29
  type: "SYNC";
@@ -45,7 +45,7 @@ export declare const HIGH_LEVEL_ABSTRACTIONS: readonly [{
45
45
  path: string | null;
46
46
  content: import("../pipeline/PipelineString").PipelineString;
47
47
  }[];
48
- readonly formfactorName?: "CHATBOT" | "GENERATOR" | "GENERIC" | "EXPERIMENTAL_MATCHER" | "SHEETS" | "TRANSLATOR" | undefined;
48
+ readonly formfactorName?: "CHATBOT" | "GENERATOR" | "GENERIC" | "IMAGE_GENERATOR" | "EXPERIMENTAL_MATCHER" | "SHEETS" | "TRANSLATOR" | undefined;
49
49
  }>): void;
50
50
  }];
51
51
  /**
@@ -8,3 +8,6 @@ export declare const QuickChatbotHla: {
8
8
  type: "SYNC";
9
9
  $applyToPipelineJson($pipelineJson: $PipelineJson): void;
10
10
  };
11
+ /**
12
+ * TODO: [🧠][📛] Should this be here?
13
+ */
@@ -12,7 +12,7 @@ import type { LlmToolsConfiguration } from './LlmToolsConfiguration';
12
12
  * @returns @@@
13
13
  * @public exported from `@promptbook/node`
14
14
  */
15
- export declare function $provideLlmToolsConfigurationFromEnv(): LlmToolsConfiguration;
15
+ export declare function $provideLlmToolsConfigurationFromEnv(): Promise<LlmToolsConfiguration>;
16
16
  /**
17
17
  * TODO: [🧠][🪁] Maybe do allow to do auto-install if package not registered and not found
18
18
  * TODO: Add Azure OpenAI
@@ -14,7 +14,7 @@ type GetLlmToolsForTestingAndScriptsAndPlaygroundOptions = CreateLlmToolsFromCon
14
14
  *
15
15
  * @private within the repository - JUST FOR TESTS, SCRIPTS AND PLAYGROUND
16
16
  */
17
- export declare function $provideLlmToolsForTestingAndScriptsAndPlayground(options?: GetLlmToolsForTestingAndScriptsAndPlaygroundOptions): LlmExecutionToolsWithTotalUsage;
17
+ export declare function $provideLlmToolsForTestingAndScriptsAndPlayground(options?: GetLlmToolsForTestingAndScriptsAndPlaygroundOptions): Promise<LlmExecutionToolsWithTotalUsage>;
18
18
  export {};
19
19
  /**
20
20
  * Note: [⚪] This should never be in any released package
@@ -5,9 +5,9 @@ import type { LlmExecutionToolsWithTotalUsage } from '../utils/count-total-usage
5
5
  *
6
6
  * @private within the repository - for CLI utils
7
7
  */
8
- export declare function $provideLlmToolsForCli(options?: Pick<CacheLlmToolsOptions, 'isCacheReloaded'>): LlmExecutionToolsWithTotalUsage;
8
+ export declare function $provideLlmToolsForWizzardOrCli(options?: Pick<CacheLlmToolsOptions, 'isCacheReloaded'>): Promise<LlmExecutionToolsWithTotalUsage>;
9
9
  /**
10
- * Note: [🟡] Code in this file should never be published outside of `@promptbook/cli`
10
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
11
11
  * TODO: [👷‍♂️] @@@ Manual about construction of llmTools
12
12
  * TODO: [🥃] Allow `ptbk make` without llm tools
13
13
  * TODO: This should be maybe not under `_common` but under `utils-internal` / `utils/internal`
@@ -15,7 +15,7 @@ import type { CreateLlmToolsFromConfigurationOptions } from './createLlmToolsFro
15
15
  * @returns @@@
16
16
  * @public exported from `@promptbook/node`
17
17
  */
18
- export declare function $provideLlmToolsFromEnv(options?: CreateLlmToolsFromConfigurationOptions): MultipleLlmExecutionTools;
18
+ export declare function $provideLlmToolsFromEnv(options?: CreateLlmToolsFromConfigurationOptions): Promise<MultipleLlmExecutionTools>;
19
19
  /**
20
20
  * TODO: @@@ write `$provideLlmToolsFromEnv` vs `$provideLlmToolsConfigurationFromEnv` vs `createLlmToolsFromConfiguration`
21
21
  * TODO: [🧠][🍛] Which name is better `$provideLlmToolsFromEnv` or `$provideLlmToolsFromEnvironment`?
@@ -1,6 +1,6 @@
1
1
  import type { ClientOptions } from '@anthropic-ai/sdk';
2
2
  import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
- import type { RemoteLlmExecutionToolsOptions } from '../remote/interfaces/RemoteLlmExecutionToolsOptions';
3
+ import type { RemoteLlmExecutionToolsOptions } from '../../remote-server/interfaces/RemoteLlmExecutionToolsOptions';
4
4
  /**
5
5
  * Options for `AnthropicClaudeExecutionTools`
6
6
  *
@@ -16,7 +16,7 @@ export declare const ANTHROPIC_CLAUDE_MODELS: ReadonlyArray<AvailableModel & {
16
16
  }>;
17
17
  /**
18
18
  * Note: [🤖] Add models of new variant
19
- * TODO: [🧠][main] !!! Add embedding models OR Anthropic has only chat+completion models?
19
+ * TODO: [🧠][main] !!3 Add embedding models OR Anthropic has only chat+completion models?
20
20
  * TODO: [🧠] Some mechanism to propagate unsureness
21
21
  * TODO: [🧠][👮‍♀️] Put here more info like description, isVision, trainingDateCutoff, languages, strengths ( Top-level performance, intelligence, fluency, and understanding), contextWindow,...
22
22
  * TODO: [🎰] Some mechanism to auto-update available models
@@ -11,8 +11,8 @@ export declare const createAnthropicClaudeExecutionTools: ((options: AnthropicCl
11
11
  className: string;
12
12
  };
13
13
  /**
14
- * TODO: [🧠][main] !!!! Make anonymous this with all LLM providers
15
- * TODO: [🧠][🧱][main] !!!! Maybe change all `new AnthropicClaudeExecutionTools` -> `createAnthropicClaudeExecutionTools` in manual
14
+ * TODO: [🧠][main] !!4 Make anonymous this with all LLM providers
15
+ * TODO: [🧠][🧱][main] !!4 Maybe change all `new AnthropicClaudeExecutionTools` -> `createAnthropicClaudeExecutionTools` in manual
16
16
  * TODO: [🧠] Maybe auto-detect usage in browser and determine default value of `isProxied`
17
17
  * TODO: [🦺] Is there some way how to put `packageName` and `className` on top and function definition on bottom?
18
18
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
3
  /**
4
- * TODO: [main] !!! Playground with WebGPT / Promptbook.studio anonymous server
5
- * TODO: [main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
4
+ * TODO: [main] !!3 Playground with WebGPT / Promptbook.studio anonymous server
5
+ * TODO: [main] !!3 Test here that `systemMessage`, `temperature` and `seed` are working correctly
6
6
  * Note: [⚫] Code in this file should never be published in any package
7
7
  */
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
5
5
  * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
6
  *
7
7
  * @public exported from `@promptbook/core`
8
+ * @public exported from `@promptbook/wizzard`
8
9
  * @public exported from `@promptbook/cli`
9
10
  */
10
11
  export declare const _AnthropicClaudeMetadataRegistration: Registration;
@@ -5,7 +5,9 @@ import type { Registration } from '../../utils/$Register';
5
5
  * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
6
  *
7
7
  * @public exported from `@promptbook/anthropic-claude`
8
+ * @public exported from `@promptbook/wizzard`
8
9
  * @public exported from `@promptbook/cli`
10
+ *
9
11
  */
10
12
  export declare const _AnthropicClaudeRegistration: Registration;
11
13
  /**
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
5
5
  * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
6
  *
7
7
  * @public exported from `@promptbook/core`
8
+ * @public exported from `@promptbook/wizzard`
8
9
  * @public exported from `@promptbook/cli`
9
10
  */
10
11
  export declare const _AzureOpenAiMetadataRegistration: Registration;
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
5
5
  * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
6
  *
7
7
  * @public exported from `@promptbook/azure-openai`
8
+ * @public exported from `@promptbook/wizzard`
8
9
  * @public exported from `@promptbook/cli`
9
10
  */
10
11
  export declare const _AzureOpenAiRegistration: Registration;
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
5
5
  * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
6
  *
7
7
  * @public exported from `@promptbook/core`
8
+ * @public exported from `@promptbook/wizzard`
8
9
  * @public exported from `@promptbook/cli`
9
10
  */
10
11
  export declare const _GoogleMetadataRegistration: Registration;
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
5
5
  * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
6
  *
7
7
  * @public exported from `@promptbook/google`
8
+ * @public exported from `@promptbook/wizzard`
8
9
  * @public exported from `@promptbook/cli`
9
10
  */
10
11
  export declare const _GoogleRegistration: Registration;
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
3
  /**
4
- * TODO: [main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
4
+ * TODO: [main] !!3 Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
5
  * Note: [⚫] Code in this file should never be published in any package
6
6
  */
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
5
5
  * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
6
  *
7
7
  * @public exported from `@promptbook/core`
8
+ * @public exported from `@promptbook/wizzard`
8
9
  * @public exported from `@promptbook/cli`
9
10
  */
10
11
  export declare const _OpenAiMetadataRegistration: Registration;
@@ -14,6 +15,7 @@ export declare const _OpenAiMetadataRegistration: Registration;
14
15
  * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
15
16
  *
16
17
  * @public exported from `@promptbook/core`
18
+ * @public exported from `@promptbook/wizzard`
17
19
  * @public exported from `@promptbook/cli`
18
20
  */
19
21
  export declare const _OpenAiAssistantMetadataRegistration: Registration;
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
5
5
  * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
6
  *
7
7
  * @public exported from `@promptbook/openai`
8
+ * @public exported from `@promptbook/wizzard`
8
9
  * @public exported from `@promptbook/cli`
9
10
  */
10
11
  export declare const _OpenAiRegistration: Registration;
@@ -14,6 +15,7 @@ export declare const _OpenAiRegistration: Registration;
14
15
  * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
15
16
  *
16
17
  * @public exported from `@promptbook/openai`
18
+ * @public exported from `@promptbook/wizzard`
17
19
  * @public exported from `@promptbook/cli`
18
20
  */
19
21
  export declare const _OpenAiAssistantRegistration: Registration;
@@ -9,7 +9,7 @@ import type { EmbeddingPrompt } from '../../types/Prompt';
9
9
  import type { string_markdown } from '../../types/typeAliases';
10
10
  import type { string_markdown_text } from '../../types/typeAliases';
11
11
  import type { string_title } from '../../types/typeAliases';
12
- import type { RemoteLlmExecutionToolsOptions } from './interfaces/RemoteLlmExecutionToolsOptions';
12
+ import type { RemoteLlmExecutionToolsOptions } from '../../remote-server/interfaces/RemoteLlmExecutionToolsOptions';
13
13
  /**
14
14
  * Remote server is a proxy server that uses its execution tools internally and exposes the executor interface externally.
15
15
  *
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
3
  /**
4
- * TODO: [main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
4
+ * TODO: [main] !!3 Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
5
  * Note: [⚫] Code in this file should never be published in any package
6
6
  */
@@ -0,0 +1,22 @@
1
+ import type { string_formfactor_name } from '../../formfactors/_common/string_formfactor_name';
2
+ import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
3
+ /**
4
+ * @@@
5
+ *
6
+ * @singleton
7
+ * @private internal cache of `getBookTemplate`
8
+ */
9
+ export declare let pipelines: Array<PipelineJson> | null;
10
+ /**
11
+ * Get template for new book
12
+ *
13
+ * @param formfactorName - optional filter for FORMFACTOR - get only pipelines for this formfactor
14
+ * @returns list of pipelines
15
+ * @public exported from `@promptbook/templates`
16
+ */
17
+ export declare function getBookTemplates(formfactorName?: string_formfactor_name): ReadonlyArray<PipelineJson>;
18
+ /**
19
+ * TODO: Unit test
20
+ * TODO: [🧠] Which is the best place for this function
21
+ * TODO: !!6 For GENERIC template ensure at least one pipeline is present for typescript in `getBookTemplates`
22
+ */
@@ -10,8 +10,8 @@ import type { string_persona_description } from '../types/typeAliases';
10
10
  */
11
11
  export declare function preparePersona(personaDescription: string_persona_description, tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions): Promise<PersonaPreparedJson['modelRequirements']>;
12
12
  /**
13
- * TODO: [🔃][main] !! If the persona was prepared with different version or different set of models, prepare it once again
14
- * TODO: [🏢] !! Check validity of `modelName` in pipeline
15
- * TODO: [🏢] !! Check validity of `systemMessage` in pipeline
16
- * TODO: [🏢] !! Check validity of `temperature` in pipeline
13
+ * TODO: [🔃][main] If the persona was prepared with different version or different set of models, prepare it once again
14
+ * TODO: [🏢] Check validity of `modelName` in pipeline
15
+ * TODO: [🏢] Check validity of `systemMessage` in pipeline
16
+ * TODO: [🏢] Check validity of `temperature` in pipeline
17
17
  */
@@ -7,6 +7,3 @@
7
7
  export type PipelineString = string & {
8
8
  readonly _type: 'Promptbook';
9
9
  };
10
- /**
11
- * TODO: [💩] Better validation (validatePipelineString) or remove branded type and make it just string
12
- */
@@ -0,0 +1,14 @@
1
+ import type { PipelineString } from './PipelineString';
2
+ /**
3
+ * Tag function for notating a pipeline with a book\`...\ notation as template literal
4
+ *
5
+ * @param strings @@@
6
+ * @param values @@@
7
+ * @returns the pipeline string
8
+ * @public exported from `@promptbook/core`
9
+ */
10
+ export declare function book(strings: TemplateStringsArray, ...values: Array<string>): PipelineString;
11
+ /**
12
+ * TODO: [🧠][🈴] Where is the best location for this file
13
+ * Note: [💞] Ignore a discrepancy between file name and entity name
14
+ */
@@ -0,0 +1,13 @@
1
+ import type { PipelineString } from './PipelineString';
2
+ /**
3
+ * Function `isValidPipelineString` will validate the if the string is a valid pipeline string
4
+ * It does not check if the string is fully logically correct, but if it is a string that can be a pipeline string or the string looks completely different.
5
+ *
6
+ * @param {string} pipelineString the candidate for a pipeline string
7
+ * @returns {boolean} if the string is a valid pipeline string
8
+ * @public exported from `@promptbook/core`
9
+ */
10
+ export declare function isValidPipelineString(pipelineString: string): pipelineString is PipelineString;
11
+ /**
12
+ * TODO: [🧠][🈴] Where is the best location for this file
13
+ */
@@ -0,0 +1,4 @@
1
+ export {};
2
+ /**
3
+ * TODO: [🧠][🈴] Where is the best location for this file
4
+ */
@@ -0,0 +1,14 @@
1
+ import type { PipelineString } from './PipelineString';
2
+ /**
3
+ * Function `validatePipelineString` will validate the if the string is a valid pipeline string
4
+ * It does not check if the string is fully logically correct, but if it is a string that can be a pipeline string or the string looks completely different.
5
+ *
6
+ * @param {string} pipelineString the candidate for a pipeline string
7
+ * @returns {PipelineString} the same string as input, but validated as valid
8
+ * @throws {ParseError} if the string is not a valid pipeline string
9
+ * @public exported from `@promptbook/core`
10
+ */
11
+ export declare function validatePipelineString(pipelineString: string): PipelineString;
12
+ /**
13
+ * TODO: [🧠][🈴] Where is the best location for this file
14
+ */
@@ -2,11 +2,13 @@ import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
2
2
  /**
3
3
  * Determine if the pipeline is fully prepared
4
4
  *
5
+ * @see https://github.com/webgptorg/promptbook/discussions/196
6
+ *
5
7
  * @public exported from `@promptbook/core`
6
8
  */
7
9
  export declare function isPipelinePrepared(pipeline: PipelineJson): boolean;
8
10
  /**
9
- * TODO: [🔃][main] !! If the pipeline was prepared with different version or different set of models, prepare it once again
11
+ * TODO: [🔃][main] If the pipeline was prepared with different version or different set of models, prepare it once again
10
12
  * TODO: [🐠] Maybe base this on `makeValidator`
11
13
  * TODO: [🧊] Pipeline can be partially prepared, this should return true ONLY if fully prepared
12
14
  * TODO: [🧿] Maybe do same process with same granularity and subfinctions as `preparePipeline`
@@ -2,7 +2,9 @@ import type { ExecutionTools } from '../execution/ExecutionTools';
2
2
  import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
3
3
  import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
4
4
  /**
5
- * Prepare pipeline from string (markdown) format to JSON format
5
+ * Prepare pipeline locally
6
+ *
7
+ * @see https://github.com/webgptorg/promptbook/discussions/196
6
8
  *
7
9
  * Note: This function does not validate logic of the pipeline
8
10
  * Note: This function acts as part of compilation process
@@ -11,7 +13,7 @@ import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
11
13
  */
12
14
  export declare function preparePipeline(pipeline: PipelineJson, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PipelineJson>;
13
15
  /**
14
- * TODO: Write tests for `preparePipeline`
16
+ * TODO: Write tests for `preparePipeline` and `preparePipelineOnRemoteServer`
15
17
  * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
16
18
  * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
17
19
  * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
@@ -0,0 +1,14 @@
1
+ import type { RemoteServerOptions } from '../remote-server/interfaces/RemoteServerOptions';
2
+ import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
3
+ /**
4
+ * Prepare pipeline on remote server
5
+ *
6
+ * @see https://github.com/webgptorg/promptbook/discussions/196
7
+ *
8
+ * Note: This function does not validate logic of the pipeline
9
+ * Note: This function acts as part of compilation process
10
+ * Note: When the pipeline is already prepared, it returns the same pipeline
11
+ *
12
+ * @public exported from `@promptbook/remote-client`
13
+ */
14
+ export declare function preparePipelineOnRemoteServer<TCustomOptions = undefined>(pipeline: PipelineJson, options: RemoteServerOptions<TCustomOptions>): Promise<PipelineJson>;
@@ -25,7 +25,7 @@ export {};
25
25
  * TODO: [😂] Adding knowledge should be convert to async high-level abstractions, simmilar thing with expectations to sync high-level abstractions
26
26
  * TODO: [🧠] Add context to each task (if missing)
27
27
  * TODO: [🧠] What is better name `prepareTask` or `prepareTaskAndParameters`
28
- * TODO: [♨][main] !!! Prepare index the examples and maybe tasks
28
+ * TODO: [♨][main] !!3 Prepare index the examples and maybe tasks
29
29
  * TODO: Write tests for `preparePipeline`
30
30
  * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
31
31
  * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
@@ -1,4 +1,4 @@
1
- import type { ErrorJson } from '../../../errors/utils/ErrorJson';
1
+ import type { ErrorJson } from '../../errors/utils/ErrorJson';
2
2
  /**
3
3
  * Socket.io error for remote text generation
4
4
  *
@@ -1,13 +1,13 @@
1
- import type { string_user_id } from '../../../types/typeAliases';
2
- import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
3
- import type { CollectionRemoteServerClientOptions } from './RemoteServerOptions';
1
+ import type { LlmToolsConfiguration } from '../../llm-providers/_common/register/LlmToolsConfiguration';
2
+ import type { string_user_id } from '../../types/typeAliases';
3
+ import type { ApplicationRemoteServerClientOptions } from './RemoteServerOptions';
4
4
  /**
5
5
  * Socket.io progress for remote text generation
6
6
  *
7
7
  * This is a request from client to server
8
8
  */
9
9
  export type PromptbookServer_ListModels_Request<TCustomOptions> = PromptbookServer_ListModels_CollectionRequest<TCustomOptions> | PromptbookServer_ListModels_AnonymousRequest;
10
- export type PromptbookServer_ListModels_CollectionRequest<TCustomOptions> = CollectionRemoteServerClientOptions<TCustomOptions> & {
10
+ export type PromptbookServer_ListModels_CollectionRequest<TCustomOptions> = ApplicationRemoteServerClientOptions<TCustomOptions> & {
11
11
  /**
12
12
  * Application mode
13
13
  */
@@ -1,4 +1,4 @@
1
- import type { AvailableModel } from '../../../execution/AvailableModel';
1
+ import type { AvailableModel } from '../../execution/AvailableModel';
2
2
  /**
3
3
  * Socket.io error for remote text generation
4
4
  *
@@ -1,4 +1,4 @@
1
- import type { TaskProgress } from '../../../types/TaskProgress';
1
+ import type { TaskProgress } from '../../types/TaskProgress';
2
2
  /**
3
3
  * Socket.io progress for remote text generation
4
4
  *
@@ -1,14 +1,14 @@
1
- import type { Prompt } from '../../../types/Prompt';
2
- import type { string_user_id } from '../../../types/typeAliases';
3
- import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
4
- import type { CollectionRemoteServerClientOptions } from './RemoteServerOptions';
1
+ import type { LlmToolsConfiguration } from '../../llm-providers/_common/register/LlmToolsConfiguration';
2
+ import type { Prompt } from '../../types/Prompt';
3
+ import type { string_user_id } from '../../types/typeAliases';
4
+ import type { ApplicationRemoteServerClientOptions } from './RemoteServerOptions';
5
5
  /**
6
6
  * Socket.io progress for remote text generation
7
7
  *
8
8
  * This is a request from client to server
9
9
  */
10
10
  export type PromptbookServer_Prompt_Request<TCustomOptions> = PromptbookServer_Prompt_CollectionRequest<TCustomOptions> | PromptbookServer_Prompt_AnonymousRequest;
11
- export type PromptbookServer_Prompt_CollectionRequest<TCustomOptions> = CollectionRemoteServerClientOptions<TCustomOptions> & {
11
+ export type PromptbookServer_Prompt_CollectionRequest<TCustomOptions> = ApplicationRemoteServerClientOptions<TCustomOptions> & {
12
12
  /**
13
13
  * Application mode
14
14
  */
@@ -1,4 +1,4 @@
1
- import type { PromptResult } from '../../../execution/PromptResult';
1
+ import type { PromptResult } from '../../execution/PromptResult';
2
2
  /**
3
3
  * Socket.io error for remote text generation
4
4
  *
@@ -1,9 +1,9 @@
1
- import type { CommonToolsOptions } from '../../../execution/CommonToolsOptions';
2
- import type { string_base_url } from '../../../types/typeAliases';
3
- import type { string_uri } from '../../../types/typeAliases';
4
- import type { string_user_id } from '../../../types/typeAliases';
5
- import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
6
- import type { CollectionRemoteServerClientOptions } from './RemoteServerOptions';
1
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
2
+ import type { LlmToolsConfiguration } from '../../llm-providers/_common/register/LlmToolsConfiguration';
3
+ import type { string_base_url } from '../../types/typeAliases';
4
+ import type { string_uri } from '../../types/typeAliases';
5
+ import type { string_user_id } from '../../types/typeAliases';
6
+ import type { ApplicationRemoteServerClientOptions } from './RemoteServerOptions';
7
7
  /**
8
8
  * Options for `RemoteLlmExecutionTools`
9
9
  *
@@ -47,7 +47,7 @@ export type RemoteLlmExecutionToolsOptions<TCustomOptions> = CommonToolsOptions
47
47
  * Use anonymous server with client identification and fixed collection
48
48
  */
49
49
  readonly isAnonymous: false;
50
- } & CollectionRemoteServerClientOptions<TCustomOptions>));
50
+ } & ApplicationRemoteServerClientOptions<TCustomOptions>));
51
51
  /**
52
52
  * TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
53
53
  * TODO: [🧠][🧜‍♂️] Maybe join remoteUrl and path into single value