@promptbook/core 0.94.0-0 → 0.94.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.
@@ -8,6 +8,8 @@ import { _DeepseekMetadataRegistration } from '../llm-providers/deepseek/registe
8
8
  import { _DeepseekRegistration } from '../llm-providers/deepseek/register-constructor';
9
9
  import { _GoogleMetadataRegistration } from '../llm-providers/google/register-configuration';
10
10
  import { _GoogleRegistration } from '../llm-providers/google/register-constructor';
11
+ import { _OllamaMetadataRegistration } from '../llm-providers/ollama/register-configuration';
12
+ import { _OllamaRegistration } from '../llm-providers/ollama/register-constructor';
11
13
  import { _OpenAiMetadataRegistration } from '../llm-providers/openai/register-configuration';
12
14
  import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/register-configuration';
13
15
  import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
@@ -36,6 +38,8 @@ export { _DeepseekMetadataRegistration };
36
38
  export { _DeepseekRegistration };
37
39
  export { _GoogleMetadataRegistration };
38
40
  export { _GoogleRegistration };
41
+ export { _OllamaMetadataRegistration };
42
+ export { _OllamaRegistration };
39
43
  export { _OpenAiMetadataRegistration };
40
44
  export { _OpenAiAssistantMetadataRegistration };
41
45
  export { _OpenAiRegistration };
@@ -108,6 +108,7 @@ import { _AnthropicClaudeMetadataRegistration } from '../llm-providers/anthropic
108
108
  import { _AzureOpenAiMetadataRegistration } from '../llm-providers/azure-openai/register-configuration';
109
109
  import { _DeepseekMetadataRegistration } from '../llm-providers/deepseek/register-configuration';
110
110
  import { _GoogleMetadataRegistration } from '../llm-providers/google/register-configuration';
111
+ import { _OllamaMetadataRegistration } from '../llm-providers/ollama/register-configuration';
111
112
  import { _OpenAiMetadataRegistration } from '../llm-providers/openai/register-configuration';
112
113
  import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/register-configuration';
113
114
  import { migratePipeline } from '../migrations/migratePipeline';
@@ -255,6 +256,7 @@ export { _AnthropicClaudeMetadataRegistration };
255
256
  export { _AzureOpenAiMetadataRegistration };
256
257
  export { _DeepseekMetadataRegistration };
257
258
  export { _GoogleMetadataRegistration };
259
+ export { _OllamaMetadataRegistration };
258
260
  export { _OpenAiMetadataRegistration };
259
261
  export { _OpenAiAssistantMetadataRegistration };
260
262
  export { migratePipeline };
@@ -0,0 +1,8 @@
1
+ import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
2
+ import { createOllamaExecutionTools } from '../llm-providers/ollama/createOllamaExecutionTools';
3
+ import { OllamaExecutionTools } from '../llm-providers/ollama/OllamaExecutionTools';
4
+ import { _OllamaRegistration } from '../llm-providers/ollama/register-constructor';
5
+ export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
6
+ export { createOllamaExecutionTools };
7
+ export { OllamaExecutionTools };
8
+ export { _OllamaRegistration };
@@ -79,6 +79,7 @@ import type { AnthropicClaudeExecutionToolsProxiedOptions } from '../llm-provide
79
79
  import type { AzureOpenAiExecutionToolsOptions } from '../llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions';
80
80
  import type { DeepseekExecutionToolsOptions } from '../llm-providers/deepseek/DeepseekExecutionToolsOptions';
81
81
  import type { GoogleExecutionToolsOptions } from '../llm-providers/google/GoogleExecutionToolsOptions';
82
+ import type { OllamaExecutionToolsOptions } from '../llm-providers/ollama/OllamaExecutionToolsOptions';
82
83
  import type { OpenAiAssistantExecutionToolsOptions } from '../llm-providers/openai/OpenAiAssistantExecutionToolsOptions';
83
84
  import type { OpenAiExecutionToolsOptions } from '../llm-providers/openai/OpenAiExecutionToolsOptions';
84
85
  import type { VercelExecutionToolsOptions } from '../llm-providers/vercel/VercelExecutionToolsOptions';
@@ -377,6 +378,7 @@ export type { AnthropicClaudeExecutionToolsProxiedOptions };
377
378
  export type { AzureOpenAiExecutionToolsOptions };
378
379
  export type { DeepseekExecutionToolsOptions };
379
380
  export type { GoogleExecutionToolsOptions };
381
+ export type { OllamaExecutionToolsOptions };
380
382
  export type { OpenAiAssistantExecutionToolsOptions };
381
383
  export type { OpenAiExecutionToolsOptions };
382
384
  export type { VercelExecutionToolsOptions };
@@ -7,6 +7,8 @@ import { _DeepseekMetadataRegistration } from '../llm-providers/deepseek/registe
7
7
  import { _DeepseekRegistration } from '../llm-providers/deepseek/register-constructor';
8
8
  import { _GoogleMetadataRegistration } from '../llm-providers/google/register-configuration';
9
9
  import { _GoogleRegistration } from '../llm-providers/google/register-constructor';
10
+ import { _OllamaMetadataRegistration } from '../llm-providers/ollama/register-configuration';
11
+ import { _OllamaRegistration } from '../llm-providers/ollama/register-constructor';
10
12
  import { _OpenAiMetadataRegistration } from '../llm-providers/openai/register-configuration';
11
13
  import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/register-configuration';
12
14
  import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
@@ -35,6 +37,8 @@ export { _DeepseekMetadataRegistration };
35
37
  export { _DeepseekRegistration };
36
38
  export { _GoogleMetadataRegistration };
37
39
  export { _GoogleRegistration };
40
+ export { _OllamaMetadataRegistration };
41
+ export { _OllamaRegistration };
38
42
  export { _OpenAiMetadataRegistration };
39
43
  export { _OpenAiAssistantMetadataRegistration };
40
44
  export { _OpenAiRegistration };
@@ -72,6 +72,8 @@ export type AbstractTask<TTaskResult extends AbstractTaskResult> = {
72
72
  readonly taskId: task_id;
73
73
  /**
74
74
  * Human-readable title of the task - used for displaying in the UI
75
+ *
76
+ * For example name of the book which is being executed
75
77
  */
76
78
  readonly title: string;
77
79
  /**
@@ -99,7 +101,7 @@ export type AbstractTask<TTaskResult extends AbstractTaskResult> = {
99
101
  /**
100
102
  * Gets just the current value which is mutated during the task processing
101
103
  */
102
- currentValue: PartialDeep<TTaskResult>;
104
+ readonly currentValue: PartialDeep<TTaskResult>;
103
105
  /**
104
106
  * List of errors that occurred during the task processing
105
107
  */
@@ -0,0 +1,19 @@
1
+ import type { AvailableModel } from '../../execution/AvailableModel';
2
+ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
+ import type { ChatPromptResult } from '../../execution/PromptResult';
4
+ import type { OllamaExecutionToolsOptions } from './OllamaExecutionToolsOptions';
5
+ /**
6
+ * Execution Tools for calling a local Ollama model via HTTP API
7
+ *
8
+ * @public exported from `@promptbook/ollama`
9
+ */
10
+ export declare class OllamaExecutionTools implements LlmExecutionTools {
11
+ protected readonly options: OllamaExecutionToolsOptions;
12
+ private limiter;
13
+ constructor(options: OllamaExecutionToolsOptions);
14
+ get title(): string;
15
+ get description(): string;
16
+ checkConfiguration(): Promise<void>;
17
+ listModels(): Promise<ReadonlyArray<AvailableModel>>;
18
+ callChatModel(prompt: Pick<import('../../types/Prompt').Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<ChatPromptResult>;
19
+ }
@@ -0,0 +1,12 @@
1
+ export interface OllamaExecutionToolsOptions {
2
+ /** Base URL of Ollama API, e.g., http://localhost:11434 */
3
+ baseUrl: string;
4
+ /** Model name to use for requests */
5
+ model: string;
6
+ /** Optional rate limit: max requests per minute */
7
+ maxRequestsPerMinute?: number;
8
+ /** Verbose logging */
9
+ isVerbose?: boolean;
10
+ /** Optional user identifier */
11
+ userId?: string;
12
+ }
@@ -0,0 +1,11 @@
1
+ import { OllamaExecutionTools } from "./OllamaExecutionTools";
2
+ import { OllamaExecutionToolsOptions } from "./OllamaExecutionToolsOptions";
3
+ /**
4
+ * Execution Tools for calling Ollama API
5
+ *
6
+ * @public exported from `@promptbook/ollama`
7
+ */
8
+ export declare const createOllamaExecutionTools: ((options: OllamaExecutionToolsOptions) => OllamaExecutionTools) & {
9
+ packageName: string;
10
+ className: string;
11
+ };
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
3
+ /**
4
+ * TODO: [main] !!3 Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
+ * Note: [⚫] Code in this file should never be published in any package
6
+ */
@@ -0,0 +1,14 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Registration of LLM provider metadata
4
+ *
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
+ *
7
+ * @public exported from `@promptbook/core`
8
+ * @public exported from `@promptbook/wizzard`
9
+ * @public exported from `@promptbook/cli`
10
+ */
11
+ export declare const _OllamaMetadataRegistration: Registration;
12
+ /**
13
+ * Note: [💞] Ignore a discrepancy between file name and entity name
14
+ */
@@ -0,0 +1,15 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Registration of LLM provider
4
+ *
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
+ *
7
+ * @public exported from `@promptbook/ollama`
8
+ * @public exported from `@promptbook/wizzard`
9
+ * @public exported from `@promptbook/cli`
10
+ */
11
+ export declare const _OllamaRegistration: Registration;
12
+ /**
13
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
14
+ * Note: [💞] Ignore a discrepancy between file name and entity name
15
+ */
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.93.0`).
18
+ * It follows semantic versioning (e.g., `0.94.0-0`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/core",
3
- "version": "0.94.0-0",
3
+ "version": "0.94.0-1",
4
4
  "description": "Promptbook: Run AI apps in plain human language across multiple models and platforms",
5
5
  "private": false,
6
6
  "sideEffects": false,
package/umd/index.umd.js CHANGED
@@ -27,7 +27,7 @@
27
27
  * @generated
28
28
  * @see https://github.com/webgptorg/promptbook
29
29
  */
30
- const PROMPTBOOK_ENGINE_VERSION = '0.94.0-0';
30
+ const PROMPTBOOK_ENGINE_VERSION = '0.94.0-1';
31
31
  /**
32
32
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
33
33
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -4751,11 +4751,6 @@
4751
4751
  const jokerParameterNames = currentTask.jokerParameterNames || [];
4752
4752
  const preparedContent = (currentTask.preparedContent || '{content}').split('{content}').join(currentTask.content);
4753
4753
  // <- TODO: [🍵] Use here `templateParameters` to replace {websiteContent} with option to ignore missing parameters
4754
- await onProgress({
4755
- outputParameters: {
4756
- [currentTask.resultingParameterName]: '',
4757
- },
4758
- });
4759
4754
  const resultString = await executeFormatSubvalues({
4760
4755
  jokerParameterNames,
4761
4756
  priority,
@@ -4854,6 +4849,13 @@
4854
4849
  * Note: This is a flag to prevent `onProgress` call after the pipeline execution is finished
4855
4850
  */
4856
4851
  let isReturned = false;
4852
+ // Note: Report all output parameters upfront as empty strings
4853
+ if (onProgress) {
4854
+ const emptyOutputParameters = Object.fromEntries(preparedPipeline.parameters.filter((param) => !param.isInput).map((param) => [param.name, '']));
4855
+ onProgress({
4856
+ outputParameters: emptyOutputParameters,
4857
+ });
4858
+ }
4857
4859
  // Note: Check that all input input parameters are defined
4858
4860
  for (const parameter of preparedPipeline.parameters.filter(({ isInput }) => isInput)) {
4859
4861
  if (inputParameters[parameter.name] === undefined) {
@@ -11126,6 +11128,54 @@
11126
11128
  * Note: [💞] Ignore a discrepancy between file name and entity name
11127
11129
  */
11128
11130
 
11131
+ /**
11132
+ * Registration of LLM provider metadata
11133
+ *
11134
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
11135
+ *
11136
+ * @public exported from `@promptbook/core`
11137
+ * @public exported from `@promptbook/wizzard`
11138
+ * @public exported from `@promptbook/cli`
11139
+ */
11140
+ const _OllamaMetadataRegistration = $llmToolsMetadataRegister.register({
11141
+ title: 'Ollama',
11142
+ packageName: '@promptbook/ollama',
11143
+ className: 'OllamaExecutionTools',
11144
+ envVariables: ['OLLAMA_BASE_URL', 'OLLAMA_MODEL'],
11145
+ trustLevel: 'CLOSED_LOCAL',
11146
+ order: MODEL_ORDERS.NORMAL,
11147
+ getBoilerplateConfiguration() {
11148
+ return {
11149
+ title: 'Ollama',
11150
+ packageName: '@promptbook/ollama',
11151
+ className: 'OllamaExecutionTools',
11152
+ options: {
11153
+ baseUrl: 'http://localhost:11434',
11154
+ model: 'llama2',
11155
+ maxRequestsPerMinute: DEFAULT_MAX_REQUESTS_PER_MINUTE,
11156
+ },
11157
+ };
11158
+ },
11159
+ createConfigurationFromEnv(env) {
11160
+ if (typeof env.OLLAMA_BASE_URL === 'string') {
11161
+ return {
11162
+ title: 'Ollama (from env)',
11163
+ packageName: '@promptbook/ollama',
11164
+ className: 'OllamaExecutionTools',
11165
+ options: {
11166
+ baseUrl: env.OLLAMA_BASE_URL,
11167
+ model: env.OLLAMA_MODEL || 'llama2',
11168
+ maxRequestsPerMinute: DEFAULT_MAX_REQUESTS_PER_MINUTE,
11169
+ },
11170
+ };
11171
+ }
11172
+ return null;
11173
+ },
11174
+ });
11175
+ /**
11176
+ * Note: [💞] Ignore a discrepancy between file name and entity name
11177
+ */
11178
+
11129
11179
  /**
11130
11180
  * Registration of LLM provider metadata
11131
11181
  *
@@ -11798,6 +11848,7 @@
11798
11848
  exports._LegacyDocumentScraperMetadataRegistration = _LegacyDocumentScraperMetadataRegistration;
11799
11849
  exports._MarkdownScraperMetadataRegistration = _MarkdownScraperMetadataRegistration;
11800
11850
  exports._MarkitdownScraperMetadataRegistration = _MarkitdownScraperMetadataRegistration;
11851
+ exports._OllamaMetadataRegistration = _OllamaMetadataRegistration;
11801
11852
  exports._OpenAiAssistantMetadataRegistration = _OpenAiAssistantMetadataRegistration;
11802
11853
  exports._OpenAiMetadataRegistration = _OpenAiMetadataRegistration;
11803
11854
  exports._PdfScraperMetadataRegistration = _PdfScraperMetadataRegistration;