@promptbook/editable 0.94.0-0 → 0.94.0-3

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 (27) hide show
  1. package/README.md +1 -8
  2. package/esm/index.es.js +1 -1
  3. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  4. package/esm/typings/src/_packages/core.index.d.ts +2 -0
  5. package/esm/typings/src/_packages/ollama.index.d.ts +10 -0
  6. package/esm/typings/src/_packages/types.index.d.ts +2 -0
  7. package/esm/typings/src/_packages/wizzard.index.d.ts +4 -0
  8. package/esm/typings/src/execution/AvailableModel.d.ts +9 -1
  9. package/esm/typings/src/execution/ExecutionTask.d.ts +3 -1
  10. package/esm/typings/src/llm-providers/_common/filterModels.d.ts +2 -2
  11. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  12. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +1 -1
  13. package/esm/typings/src/llm-providers/deepseek/DeepseekExecutionToolsOptions.d.ts +1 -1
  14. package/esm/typings/src/llm-providers/google/GoogleExecutionToolsOptions.d.ts +1 -1
  15. package/esm/typings/src/llm-providers/ollama/OllamaExecutionToolsOptions.d.ts +23 -0
  16. package/esm/typings/src/llm-providers/ollama/createOllamaExecutionTools.d.ts +11 -0
  17. package/esm/typings/src/llm-providers/ollama/playground/playground.d.ts +6 -0
  18. package/esm/typings/src/llm-providers/ollama/register-configuration.d.ts +14 -0
  19. package/esm/typings/src/llm-providers/ollama/register-constructor.d.ts +15 -0
  20. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +1 -1
  21. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +1 -1
  22. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  23. package/esm/typings/src/llm-providers/openai/createOpenAiExecutionTools.d.ts +2 -0
  24. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -7
  25. package/esm/typings/src/version.d.ts +1 -1
  26. package/package.json +2 -2
  27. package/umd/index.umd.js +1 -1
package/README.md CHANGED
@@ -189,16 +189,8 @@ Join our growing community of developers and users:
189
189
 
190
190
  _A concise, Markdown-based DSL for crafting AI workflows and automations._
191
191
 
192
- ---
193
192
 
194
- ### 📑 Table of Contents
195
193
 
196
- - [Introduction](#introduction)
197
- - [Example](#example)
198
- - [1. What: Workflows, Tasks & Parameters](#1-what-workflows-tasks--parameters)
199
- - [2. Who: Personas](#2-who-personas)
200
- - [3. How: Knowledge, Instruments & Actions](#3-how-knowledge-instruments-and-actions)
201
- - [General Principles](#general-principles)
202
194
 
203
195
  ### Introduction
204
196
 
@@ -311,6 +303,7 @@ Or you can install them separately:
311
303
  - **[@promptbook/vercel](https://www.npmjs.com/package/@promptbook/vercel)** - Adapter for Vercel functionalities
312
304
  - **[@promptbook/google](https://www.npmjs.com/package/@promptbook/google)** - Integration with Google's Gemini API
313
305
  - **[@promptbook/deepseek](https://www.npmjs.com/package/@promptbook/deepseek)** - Integration with [DeepSeek API](https://www.deepseek.com/)
306
+ - **[@promptbook/ollama](https://www.npmjs.com/package/@promptbook/ollama)** - Integration with [Ollama](https://ollama.com/) API
314
307
  - **[@promptbook/azure-openai](https://www.npmjs.com/package/@promptbook/azure-openai)** - Execution tools for Azure OpenAI API
315
308
 
316
309
  - **[@promptbook/fake-llm](https://www.npmjs.com/package/@promptbook/fake-llm)** - Mocked execution tools for testing the library and saving the tokens
package/esm/index.es.js CHANGED
@@ -17,7 +17,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
17
17
  * @generated
18
18
  * @see https://github.com/webgptorg/promptbook
19
19
  */
20
- const PROMPTBOOK_ENGINE_VERSION = '0.94.0-0';
20
+ const PROMPTBOOK_ENGINE_VERSION = '0.94.0-3';
21
21
  /**
22
22
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
23
23
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -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,10 @@
1
+ import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
2
+ import { createOllamaExecutionTools } from '../llm-providers/ollama/createOllamaExecutionTools';
3
+ import { DEFAULT_OLLAMA_BASE_URL } from '../llm-providers/ollama/OllamaExecutionToolsOptions';
4
+ import type { OllamaExecutionToolsOptions } from '../llm-providers/ollama/OllamaExecutionToolsOptions';
5
+ import { _OllamaRegistration } from '../llm-providers/ollama/register-constructor';
6
+ export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
7
+ export { createOllamaExecutionTools };
8
+ export { DEFAULT_OLLAMA_BASE_URL };
9
+ export type { OllamaExecutionToolsOptions };
10
+ 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 };
@@ -1,4 +1,5 @@
1
1
  import type { ModelVariant } from '../types/ModelVariant';
2
+ import type { number_usd } from '../types/typeAliases';
2
3
  import type { string_model_description } from '../types/typeAliases';
3
4
  import type { string_model_name } from '../types/typeAliases';
4
5
  import type { string_title } from '../types/typeAliases';
@@ -32,7 +33,14 @@ export type AvailableModel = {
32
33
  * @example "Model with 1 billion parameters and advanced reasoning capabilities"
33
34
  */
34
35
  readonly modelDescription?: string_model_description;
36
+ /**
37
+ * Pricing information for the model
38
+ */
39
+ readonly pricing?: {
40
+ readonly prompt: number_usd;
41
+ readonly output: number_usd;
42
+ };
35
43
  };
36
44
  /**
37
- * TODO: (not only [🕘]) Put pricing information here
45
+ * TODO: [🧠] Maybe rename to something else - like `ModelInformation` or `ModelMetadata`
38
46
  */
@@ -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
  */
@@ -4,12 +4,12 @@ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
4
4
  * Creates a wrapper around LlmExecutionTools that only exposes models matching the filter function
5
5
  *
6
6
  * @param llmTools The original LLM execution tools to wrap
7
- * @param modelFilter Function that determines whether a model should be included
7
+ * @param predicate Function that determines whether a model should be included
8
8
  * @returns A new LlmExecutionTools instance with filtered models
9
9
  *
10
10
  * @public exported from `@promptbook/core`
11
11
  */
12
- export declare function filterModels<TLlmTools extends LlmExecutionTools>(llmTools: TLlmTools, modelFilter: (model: AvailableModel) => boolean): TLlmTools;
12
+ export declare function filterModels<TLlmTools extends LlmExecutionTools>(llmTools: TLlmTools, predicate: (model: AvailableModel) => boolean): TLlmTools;
13
13
  /**
14
14
  * TODO: !!! [models] Test that this is working
15
15
  */
@@ -2,7 +2,7 @@ import type { ClientOptions } from '@anthropic-ai/sdk';
2
2
  import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
3
  import type { RemoteClientOptions } from '../../remote-server/types/RemoteClientOptions';
4
4
  /**
5
- * Options for `AnthropicClaudeExecutionTools`
5
+ * Options for `createAnthropicClaudeExecutionTools` and `AnthropicClaudeExecutionTools`
6
6
  *
7
7
  * This extends Anthropic's `ClientOptions` with are directly passed to the Anthropic client.
8
8
  * @public exported from `@promptbook/anthropic-claude`
@@ -3,7 +3,7 @@ import type { string_name } from '../../types/typeAliases';
3
3
  import type { string_token } from '../../types/typeAliases';
4
4
  import type { string_user_id } from '../../types/typeAliases';
5
5
  /**
6
- * Options for `AzureOpenAiExecutionTools`
6
+ * Options for `createAzureOpenAiExecutionTools` and `AzureOpenAiExecutionTools`
7
7
  *
8
8
  * @see https://oai.azure.com/portal/
9
9
  * @public exported from `@promptbook/azure-openai`
@@ -1,7 +1,7 @@
1
1
  import type { createDeepSeek } from '@ai-sdk/deepseek';
2
2
  import type { VercelExecutionToolsOptions } from '../vercel/VercelExecutionToolsOptions';
3
3
  /**
4
- * Options for `DeepseekExecutionTools`
4
+ * Options for `createDeepseekExecutionTools`
5
5
  *
6
6
  * This combines options for Promptbook, Deepseek and Vercel together
7
7
  * @public exported from `@promptbook/deepseek`
@@ -1,7 +1,7 @@
1
1
  import type { createGoogleGenerativeAI } from '@ai-sdk/google';
2
2
  import type { VercelExecutionToolsOptions } from '../vercel/VercelExecutionToolsOptions';
3
3
  /**
4
- * Options for `GoogleExecutionTools`
4
+ * Options for `createGoogleExecutionTools`
5
5
  *
6
6
  * This combines options for Promptbook, Google and Vercel together
7
7
  * @public exported from `@promptbook/google`
@@ -0,0 +1,23 @@
1
+ import type { OpenAiExecutionToolsOptions } from '../openai/OpenAiExecutionToolsOptions';
2
+ /**
3
+ * Default base URL for Ollama API
4
+ *
5
+ * @public exported from `@promptbook/ollama`
6
+ */
7
+ export declare const DEFAULT_OLLAMA_BASE_URL = "http://localhost:11434";
8
+ /**
9
+ * Options for `createOllamaExecutionTools`
10
+ *
11
+ * This combines options for Promptbook, Google and Vercel together
12
+ * @public exported from `@promptbook/ollama`
13
+ */
14
+ export type OllamaExecutionToolsOptions = {
15
+ /**
16
+ * Base URL of Ollama API
17
+ *
18
+ * Note: Naming this `baseURL` not `baseUrl` to be consistent with OpenAI API
19
+ *
20
+ * @default `DEFAULT_OLLAMA_BASE_URL`
21
+ */
22
+ baseURL?: string;
23
+ } & Omit<OpenAiExecutionToolsOptions, 'baseURL' | 'userId'>;
@@ -0,0 +1,11 @@
1
+ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
2
+ import type { OllamaExecutionToolsOptions } from './OllamaExecutionToolsOptions';
3
+ /**
4
+ * Execution Tools for calling Ollama API
5
+ *
6
+ * @public exported from `@promptbook/ollama`
7
+ */
8
+ export declare const createOllamaExecutionTools: ((ollamaOptions: OllamaExecutionToolsOptions) => LlmExecutionTools) & {
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
+ */
@@ -2,7 +2,7 @@ import type { ClientOptions } from 'openai';
2
2
  import type { string_token } from '../../types/typeAliases';
3
3
  import type { OpenAiExecutionToolsOptions } from './OpenAiExecutionToolsOptions';
4
4
  /**
5
- * Options for `OpenAiAssistantExecutionTools`
5
+ * Options for `createOpenAiAssistantExecutionTools` and `OpenAiAssistantExecutionTools`
6
6
  *
7
7
  * @public exported from `@promptbook/openai`
8
8
  */
@@ -40,7 +40,7 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
40
40
  /**
41
41
  * List all available OpenAI models that can be used
42
42
  */
43
- listModels(): ReadonlyArray<AvailableModel>;
43
+ listModels(): Promise<ReadonlyArray<AvailableModel>>;
44
44
  /**
45
45
  * Calls OpenAI API to use a chat model.
46
46
  */
@@ -1,7 +1,7 @@
1
1
  import type { ClientOptions } from 'openai';
2
2
  import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
3
  /**
4
- * Options for `OpenAiExecutionTools`
4
+ * Options for `createOpenAiExecutionTools` and `OpenAiExecutionTools`
5
5
  *
6
6
  * This extends OpenAI's `ClientOptions` with are directly passed to the OpenAI client.
7
7
  * Rest is used by the `OpenAiExecutionTools`.
@@ -3,6 +3,8 @@ import type { OpenAiExecutionToolsOptions } from './OpenAiExecutionToolsOptions'
3
3
  /**
4
4
  * Execution Tools for calling OpenAI API
5
5
  *
6
+ * Note: This can be also used for other OpenAI compatible APIs, like Ollama
7
+ *
6
8
  * @public exported from `@promptbook/openai`
7
9
  */
8
10
  export declare const createOpenAiExecutionTools: ((options: OpenAiExecutionToolsOptions) => OpenAiExecutionTools) & {
@@ -1,5 +1,4 @@
1
1
  import type { AvailableModel } from '../../execution/AvailableModel';
2
- import type { number_usd } from '../../types/typeAliases';
3
2
  /**
4
3
  * List of available OpenAI models with pricing
5
4
  *
@@ -9,12 +8,7 @@ import type { number_usd } from '../../types/typeAliases';
9
8
  * @see https://openai.com/api/pricing/
10
9
  * @public exported from `@promptbook/openai`
11
10
  */
12
- export declare const OPENAI_MODELS: ReadonlyArray<AvailableModel & {
13
- pricing?: {
14
- readonly prompt: number_usd;
15
- readonly output: number_usd;
16
- };
17
- }>;
11
+ export declare const OPENAI_MODELS: ReadonlyArray<AvailableModel>;
18
12
  /**
19
13
  * Note: [🤖] Add models of new variant
20
14
  * TODO: [🧠] Some mechanism to propagate unsureness
@@ -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-2`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/editable",
3
- "version": "0.94.0-0",
3
+ "version": "0.94.0-3",
4
4
  "description": "Promptbook: Run AI apps in plain human language across multiple models and platforms",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -63,7 +63,7 @@
63
63
  "module": "./esm/index.es.js",
64
64
  "typings": "./esm/typings/src/_packages/editable.index.d.ts",
65
65
  "peerDependencies": {
66
- "@promptbook/core": "0.94.0-0"
66
+ "@promptbook/core": "0.94.0-3"
67
67
  },
68
68
  "dependencies": {
69
69
  "crypto-js": "4.2.0",
package/umd/index.umd.js CHANGED
@@ -23,7 +23,7 @@
23
23
  * @generated
24
24
  * @see https://github.com/webgptorg/promptbook
25
25
  */
26
- const PROMPTBOOK_ENGINE_VERSION = '0.94.0-0';
26
+ const PROMPTBOOK_ENGINE_VERSION = '0.94.0-3';
27
27
  /**
28
28
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
29
29
  * Note: [💞] Ignore a discrepancy between file name and entity name