@promptbook/types 0.101.0-0 → 0.101.0-10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +223 -2
- package/esm/typings/src/_packages/components.index.d.ts +18 -0
- package/esm/typings/src/_packages/core.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +6 -0
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +41 -3
- package/esm/typings/src/book-2.0/agent-source/parseParameters.d.ts +13 -0
- package/esm/typings/src/book-2.0/commitments/ACTION/ACTION.d.ts +8 -2
- package/esm/typings/src/book-2.0/commitments/DELETE/DELETE.d.ts +59 -0
- package/esm/typings/src/book-2.0/commitments/FORMAT/FORMAT.d.ts +8 -2
- package/esm/typings/src/book-2.0/commitments/GOAL/GOAL.d.ts +45 -0
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/KNOWLEDGE.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/MEMORY/MEMORY.d.ts +46 -0
- package/esm/typings/src/book-2.0/commitments/MESSAGE/MESSAGE.d.ts +47 -0
- package/esm/typings/src/book-2.0/commitments/META/META.d.ts +62 -0
- package/esm/typings/src/book-2.0/commitments/MODEL/MODEL.d.ts +8 -2
- package/esm/typings/src/book-2.0/commitments/NOTE/NOTE.d.ts +8 -2
- package/esm/typings/src/book-2.0/commitments/PERSONA/PERSONA.d.ts +8 -2
- package/esm/typings/src/book-2.0/commitments/SCENARIO/SCENARIO.d.ts +46 -0
- package/esm/typings/src/book-2.0/commitments/STYLE/STYLE.d.ts +8 -2
- package/esm/typings/src/book-2.0/commitments/index.d.ts +7 -3
- package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/MockedChat.d.ts +46 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/index.d.ts +3 -0
- package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +10 -0
- package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +3 -0
- package/esm/typings/src/book-components/Chat/Chat/Chat.d.ts +0 -5
- package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +28 -2
- package/esm/typings/src/book-components/Chat/Chat/constants.d.ts +8 -0
- package/esm/typings/src/book-components/Chat/examples/ChatMarkdownDemo.d.ts +16 -0
- package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +21 -0
- package/esm/typings/src/book-components/Chat/utils/renderMarkdown.test.d.ts +1 -0
- package/esm/typings/src/book-components/icons/ArrowIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/ResetIcon.d.ts +6 -0
- package/esm/typings/src/book-components/icons/SendIcon.d.ts +8 -0
- package/esm/typings/src/book-components/icons/TemplateIcon.d.ts +8 -0
- package/esm/typings/src/utils/markdown/escapeMarkdownBlock.d.ts +2 -0
- package/esm/typings/src/utils/markdown/humanizeAiText.d.ts +2 -0
- package/esm/typings/src/utils/markdown/humanizeAiTextEllipsis.d.ts +1 -0
- package/esm/typings/src/utils/markdown/humanizeAiTextEmdashed.d.ts +1 -0
- package/esm/typings/src/utils/markdown/humanizeAiTextQuotes.d.ts +1 -0
- package/esm/typings/src/utils/markdown/humanizeAiTextWhitespace.d.ts +1 -0
- package/esm/typings/src/utils/markdown/prettifyMarkdown.d.ts +8 -0
- package/esm/typings/src/utils/markdown/promptbookifyAiText.d.ts +1 -0
- package/esm/typings/src/utils/normalization/capitalize.d.ts +2 -0
- package/esm/typings/src/utils/normalization/decapitalize.d.ts +3 -1
- package/esm/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +2 -0
- package/esm/typings/src/utils/normalization/normalizeTo_snake_case.d.ts +2 -0
- package/esm/typings/src/utils/normalization/normalizeWhitespaces.d.ts +2 -0
- package/esm/typings/src/utils/normalization/removeDiacritics.d.ts +2 -0
- package/esm/typings/src/utils/parseNumber.d.ts +1 -0
- package/esm/typings/src/utils/removeEmojis.d.ts +2 -0
- package/esm/typings/src/utils/removeQuotes.d.ts +1 -0
- package/esm/typings/src/utils/serialization/deepClone.d.ts +1 -0
- package/esm/typings/src/utils/trimCodeBlock.d.ts +1 -0
- package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +1 -0
- package/esm/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -0
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -47,7 +47,35 @@ npm i ptbk
|
|
|
47
47
|
npm i -D @promptbook/types
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
Comprehensive TypeScript type definitions for all Promptbook entities, enabling type-safe development and excellent IDE support throughout the Promptbook ecosystem.
|
|
51
|
+
|
|
52
|
+
## 🎯 Purpose and Motivation
|
|
53
|
+
|
|
54
|
+
This package centralizes all TypeScript type definitions used throughout the Promptbook ecosystem. It enables developers to write type-safe code when working with promptbooks, pipelines, LLM providers, and other Promptbook components, providing excellent IntelliSense and compile-time error checking.
|
|
55
|
+
|
|
56
|
+
## 🔧 High-Level Functionality
|
|
57
|
+
|
|
58
|
+
The package provides type definitions for:
|
|
59
|
+
|
|
60
|
+
- **Pipeline Structures**: Complete type definitions for promptbook JSON structures
|
|
61
|
+
- **Execution Types**: Types for pipeline execution, results, and error handling
|
|
62
|
+
- **LLM Provider Types**: Configuration and option types for all supported providers
|
|
63
|
+
- **Command Types**: Type definitions for all promptbook commands
|
|
64
|
+
- **Utility Types**: Helper types for common patterns and data structures
|
|
65
|
+
- **Component Types**: React component prop types for UI components
|
|
66
|
+
|
|
67
|
+
## ✨ Key Features
|
|
68
|
+
|
|
69
|
+
- 📝 **Complete Type Coverage** - Types for all Promptbook entities and APIs
|
|
70
|
+
- 🔒 **Type Safety** - Compile-time validation and error prevention
|
|
71
|
+
- 💡 **Excellent IntelliSense** - Rich IDE support with autocomplete and documentation
|
|
72
|
+
- 🏗️ **Structural Types** - Detailed types for promptbook JSON structures
|
|
73
|
+
- 🔧 **Provider-Agnostic** - Generic types that work across all LLM providers
|
|
74
|
+
- 📊 **Execution Types** - Comprehensive types for pipeline execution and results
|
|
75
|
+
- 🎨 **Component Types** - React component prop types for UI development
|
|
76
|
+
- 🔄 **Version Compatibility** - Types that evolve with the Promptbook ecosystem
|
|
77
|
+
|
|
78
|
+
## Usage Example
|
|
51
79
|
|
|
52
80
|
```typescript
|
|
53
81
|
import type { PipelineJson } from '@promptbook/types';
|
|
@@ -73,7 +101,200 @@ const promptbook: PipelineJson = compilePipeline(
|
|
|
73
101
|
);
|
|
74
102
|
```
|
|
75
103
|
|
|
76
|
-
|
|
104
|
+
## 📦 Exported Type Categories
|
|
105
|
+
|
|
106
|
+
### Agent and Book Types
|
|
107
|
+
|
|
108
|
+
- `AgentBasicInformation` - Basic agent information structure (type)
|
|
109
|
+
- `AgentModelRequirements` - Model requirements for agents (type)
|
|
110
|
+
- `string_book` - Book content string type (type)
|
|
111
|
+
- `BookCommitment` - Book commitment structure (type)
|
|
112
|
+
- `CommitmentDefinition` - Commitment definition interface (type)
|
|
113
|
+
- `ParsedCommitment` - Parsed commitment structure (type)
|
|
114
|
+
|
|
115
|
+
### Component Types
|
|
116
|
+
|
|
117
|
+
- `AvatarChipProps` - Avatar chip component props (type)
|
|
118
|
+
- `AvatarChipFromSourceProps` - Avatar chip from source props (type)
|
|
119
|
+
- `AvatarProfileProps` - Avatar profile component props (type)
|
|
120
|
+
- `AvatarProfileFromSourceProps` - Avatar profile from source props (type)
|
|
121
|
+
- `BookEditorProps` - Book editor component props (type)
|
|
122
|
+
- `ChatProps` - Chat component props (type)
|
|
123
|
+
- `LlmChatProps` - LLM chat component props (type)
|
|
124
|
+
- `ChatMessage` - Chat message structure (type)
|
|
125
|
+
- `ChatParticipant` - Chat participant information (type)
|
|
126
|
+
|
|
127
|
+
### Collection and Pipeline Types
|
|
128
|
+
|
|
129
|
+
- `PipelineCollection` - Pipeline collection interface (type)
|
|
130
|
+
- `PipelineJson` - Complete pipeline JSON structure (type)
|
|
131
|
+
- `PipelineString` - Pipeline string format (type)
|
|
132
|
+
- `PipelineInterface` - Pipeline interface definition (type)
|
|
133
|
+
- `TaskJson` - Task JSON structure (type)
|
|
134
|
+
- `PromptTaskJson` - Prompt task structure (type)
|
|
135
|
+
- `ScriptTaskJson` - Script task structure (type)
|
|
136
|
+
- `SimpleTaskJson` - Simple task structure (type)
|
|
137
|
+
- `DialogTaskJson` - Dialog task structure (type)
|
|
138
|
+
- `CommonTaskJson` - Common task properties (type)
|
|
139
|
+
|
|
140
|
+
### Command Types
|
|
141
|
+
|
|
142
|
+
- `Command` - Base command interface (type)
|
|
143
|
+
- `CommandParser` - Command parser interface (type)
|
|
144
|
+
- `PipelineBothCommandParser` - Pipeline both command parser (type)
|
|
145
|
+
- `PipelineHeadCommandParser` - Pipeline head command parser (type)
|
|
146
|
+
- `PipelineTaskCommandParser` - Pipeline task command parser (type)
|
|
147
|
+
- `CommandParserInput` - Command parser input (type)
|
|
148
|
+
- `CommandType` - Command type enumeration (type)
|
|
149
|
+
- `CommandUsagePlace` - Command usage context (type)
|
|
150
|
+
- `BookVersionCommand` - Book version command (type)
|
|
151
|
+
- `ExpectCommand` - Expect command structure (type)
|
|
152
|
+
- `ForeachCommand` - Foreach command structure (type)
|
|
153
|
+
- `ForeachJson` - Foreach JSON structure (type)
|
|
154
|
+
- `FormatCommand` - Format command structure (type)
|
|
155
|
+
- `FormfactorCommand` - Formfactor command structure (type)
|
|
156
|
+
- `JokerCommand` - Joker command structure (type)
|
|
157
|
+
- `KnowledgeCommand` - Knowledge command structure (type)
|
|
158
|
+
- `ModelCommand` - Model command structure (type)
|
|
159
|
+
- `ParameterCommand` - Parameter command structure (type)
|
|
160
|
+
- `PersonaCommand` - Persona command structure (type)
|
|
161
|
+
- `PostprocessCommand` - Postprocess command structure (type)
|
|
162
|
+
- `SectionCommand` - Section command structure (type)
|
|
163
|
+
- `UrlCommand` - URL command structure (type)
|
|
164
|
+
- `ActionCommand` - Action command structure (type)
|
|
165
|
+
- `InstrumentCommand` - Instrument command structure (type)
|
|
166
|
+
|
|
167
|
+
### Execution Types
|
|
168
|
+
|
|
169
|
+
- `ExecutionTools` - Execution tools interface (type)
|
|
170
|
+
- `LlmExecutionTools` - LLM execution tools interface (type)
|
|
171
|
+
- `LlmExecutionToolsConstructor` - LLM execution tools constructor (type)
|
|
172
|
+
- `PipelineExecutor` - Pipeline executor interface (type)
|
|
173
|
+
- `PipelineExecutorResult` - Execution result structure (type)
|
|
174
|
+
- `ExecutionTask` - Execution task structure (type)
|
|
175
|
+
- `PreparationTask` - Preparation task structure (type)
|
|
176
|
+
- `task_status` - Task status type (type)
|
|
177
|
+
- `AbstractTask` - Abstract task interface (type)
|
|
178
|
+
- `Task` - Task interface (type)
|
|
179
|
+
- `ExecutionReportJson` - Execution report structure (type)
|
|
180
|
+
- `ExecutionPromptReportJson` - Execution prompt report structure (type)
|
|
181
|
+
- `ExecutionReportString` - Execution report string (type)
|
|
182
|
+
- `ExecutionReportStringOptions` - Report formatting options (type)
|
|
183
|
+
- `PromptResult` - Prompt execution result (type)
|
|
184
|
+
- `CompletionPromptResult` - Completion prompt result (type)
|
|
185
|
+
- `ChatPromptResult` - Chat prompt result (type)
|
|
186
|
+
- `EmbeddingPromptResult` - Embedding prompt result (type)
|
|
187
|
+
- `Usage` - Usage tracking structure (type)
|
|
188
|
+
- `UsageCounts` - Usage counts structure (type)
|
|
189
|
+
- `UncertainNumber` - Uncertain number type (type)
|
|
190
|
+
- `AvailableModel` - Available model information (type)
|
|
191
|
+
- `AbstractTaskResult` - Abstract task result (type)
|
|
192
|
+
- `EmbeddingVector` - Embedding vector type (type)
|
|
193
|
+
|
|
194
|
+
### LLM Provider Configuration Types
|
|
195
|
+
|
|
196
|
+
- `AnthropicClaudeExecutionToolsOptions` - Anthropic Claude configuration (type)
|
|
197
|
+
- `AnthropicClaudeExecutionToolsNonProxiedOptions` - Anthropic Claude non-proxied options (type)
|
|
198
|
+
- `AnthropicClaudeExecutionToolsProxiedOptions` - Anthropic Claude proxied options (type)
|
|
199
|
+
- `OpenAiExecutionToolsOptions` - OpenAI configuration (type)
|
|
200
|
+
- `OpenAiAssistantExecutionToolsOptions` - OpenAI Assistant configuration (type)
|
|
201
|
+
- `OpenAiCompatibleExecutionToolsOptions` - OpenAI Compatible configuration (type)
|
|
202
|
+
- `OpenAiCompatibleExecutionToolsNonProxiedOptions` - OpenAI Compatible non-proxied options (type)
|
|
203
|
+
- `OpenAiCompatibleExecutionToolsProxiedOptions` - OpenAI Compatible proxied options (type)
|
|
204
|
+
- `AzureOpenAiExecutionToolsOptions` - Azure OpenAI configuration (type)
|
|
205
|
+
- `GoogleExecutionToolsOptions` - Google configuration (type)
|
|
206
|
+
- `DeepseekExecutionToolsOptions` - Deepseek configuration (type)
|
|
207
|
+
- `OllamaExecutionToolsOptions` - Ollama configuration (type)
|
|
208
|
+
- `VercelExecutionToolsOptions` - Vercel configuration (type)
|
|
209
|
+
- `VercelProvider` - Vercel provider type (type)
|
|
210
|
+
|
|
211
|
+
### Parameter and Data Types
|
|
212
|
+
|
|
213
|
+
- `ParameterJson` - Parameter definition structure (type)
|
|
214
|
+
- `InputParameterJson` - Input parameter structure (type)
|
|
215
|
+
- `IntermediateParameterJson` - Intermediate parameter structure (type)
|
|
216
|
+
- `OutputParameterJson` - Output parameter structure (type)
|
|
217
|
+
- `CommonParameterJson` - Common parameter properties (type)
|
|
218
|
+
- `Parameters` - Parameter collection type (type)
|
|
219
|
+
- `InputParameters` - Input parameters type (type)
|
|
220
|
+
- `Expectations` - Expectation validation structure (type)
|
|
221
|
+
- `ExpectationUnit` - Expectation unit type (type)
|
|
222
|
+
- `ExpectationAmount` - Expectation amount type (type)
|
|
223
|
+
- `PersonaJson` - Persona definition structure (type)
|
|
224
|
+
- `PersonaPreparedJson` - Prepared persona structure (type)
|
|
225
|
+
- `KnowledgeSourceJson` - Knowledge source structure (type)
|
|
226
|
+
- `KnowledgeSourcePreparedJson` - Prepared knowledge source structure (type)
|
|
227
|
+
- `KnowledgePiecePreparedJson` - Prepared knowledge piece structure (type)
|
|
228
|
+
|
|
229
|
+
### Utility and Helper Types
|
|
230
|
+
|
|
231
|
+
- `string_prompt` - Prompt string type (type)
|
|
232
|
+
- `string_template` - Template string type (type)
|
|
233
|
+
- `string_text_prompt` - Text prompt string type (type)
|
|
234
|
+
- `string_chat_prompt` - Chat prompt string type (type)
|
|
235
|
+
- `string_system_message` - System message string type (type)
|
|
236
|
+
- `string_completion_prompt` - Completion prompt string type (type)
|
|
237
|
+
- `string_parameter_name` - Parameter name type (type)
|
|
238
|
+
- `string_parameter_value` - Parameter value type (type)
|
|
239
|
+
- `string_reserved_parameter_name` - Reserved parameter name type (type)
|
|
240
|
+
- `ReservedParameters` - Reserved parameters type (type)
|
|
241
|
+
- `string_model_name` - Model name type (type)
|
|
242
|
+
- `string_url` - URL string type (type)
|
|
243
|
+
- `string_filename` - Filename string type (type)
|
|
244
|
+
- `string_absolute_filename` - Absolute filename type (type)
|
|
245
|
+
- `string_relative_filename` - Relative filename type (type)
|
|
246
|
+
- `string_dirname` - Directory name type (type)
|
|
247
|
+
- `string_absolute_dirname` - Absolute directory name type (type)
|
|
248
|
+
- `string_relative_dirname` - Relative directory name type (type)
|
|
249
|
+
- `number_tokens` - Token count type (type)
|
|
250
|
+
- `number_usd` - USD amount type (type)
|
|
251
|
+
- `ModelVariant` - Model variant enumeration (type)
|
|
252
|
+
- `ScriptLanguage` - Script language enumeration (type)
|
|
253
|
+
- `TaskType` - Task type enumeration (type)
|
|
254
|
+
- `SectionType` - Section type enumeration (type)
|
|
255
|
+
- `ModelRequirements` - Model requirements type (type)
|
|
256
|
+
- `CompletionModelRequirements` - Completion model requirements (type)
|
|
257
|
+
- `ChatModelRequirements` - Chat model requirements (type)
|
|
258
|
+
- `EmbeddingModelRequirements` - Embedding model requirements (type)
|
|
259
|
+
|
|
260
|
+
### Remote Server Types
|
|
261
|
+
|
|
262
|
+
- `RemoteServerOptions` - Remote server configuration (type)
|
|
263
|
+
- `AnonymousRemoteServerOptions` - Anonymous remote server options (type)
|
|
264
|
+
- `ApplicationRemoteServerOptions` - Application remote server options (type)
|
|
265
|
+
- `ApplicationRemoteServerClientOptions` - Application remote server client options (type)
|
|
266
|
+
- `RemoteClientOptions` - Remote client configuration (type)
|
|
267
|
+
- `Identification` - User identification structure (type)
|
|
268
|
+
- `ApplicationModeIdentification` - Application mode identification (type)
|
|
269
|
+
- `AnonymousModeIdentification` - Anonymous mode identification (type)
|
|
270
|
+
- `LoginRequest` - Login request structure (type)
|
|
271
|
+
- `LoginResponse` - Login response structure (type)
|
|
272
|
+
- `RemoteServer` - Remote server interface (type)
|
|
273
|
+
|
|
274
|
+
### Storage and Scraper Types
|
|
275
|
+
|
|
276
|
+
- `PromptbookStorage` - Storage interface (type)
|
|
277
|
+
- `FileCacheStorageOptions` - File cache storage options (type)
|
|
278
|
+
- `IndexedDbStorageOptions` - IndexedDB storage options (type)
|
|
279
|
+
- `Scraper` - Scraper interface (type)
|
|
280
|
+
- `ScraperConstructor` - Scraper constructor type (type)
|
|
281
|
+
- `ScraperSourceHandler` - Scraper source handler (type)
|
|
282
|
+
- `ScraperIntermediateSource` - Scraper intermediate source (type)
|
|
283
|
+
- `ScraperAndConverterMetadata` - Scraper and converter metadata (type)
|
|
284
|
+
- `Converter` - Content converter interface (type)
|
|
285
|
+
|
|
286
|
+
### Additional Types
|
|
287
|
+
|
|
288
|
+
- `Prompt` - Prompt interface (type)
|
|
289
|
+
- `CompletionPrompt` - Completion prompt interface (type)
|
|
290
|
+
- `ChatPrompt` - Chat prompt interface (type)
|
|
291
|
+
- `EmbeddingPrompt` - Embedding prompt interface (type)
|
|
292
|
+
- `NonEmptyArray` - Non-empty array type (type)
|
|
293
|
+
- `NonEmptyReadonlyArray` - Non-empty readonly array type (type)
|
|
294
|
+
- `IntermediateFilesStrategy` - Intermediate files strategy (type)
|
|
295
|
+
- `string_promptbook_version` - Promptbook version string type (type)
|
|
296
|
+
|
|
297
|
+
> 💡 This package provides TypeScript types for promptbook applications. For runtime functionality, see [@promptbook/core](#-packages) or install all packages with `npm i ptbk`
|
|
77
298
|
|
|
78
299
|
|
|
79
300
|
---
|
|
@@ -7,6 +7,9 @@ import type { AvatarProfileProps } from '../book-components/AvatarProfile/Avatar
|
|
|
7
7
|
import { AvatarProfile } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfile';
|
|
8
8
|
import type { AvatarProfileFromSourceProps } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfileFromSource';
|
|
9
9
|
import { AvatarProfileFromSource } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfileFromSource';
|
|
10
|
+
import type { MockedChatDelayConfig } from '../book-components/AvatarProfile/AvatarProfile/MockedChat';
|
|
11
|
+
import type { MockedChatProps } from '../book-components/AvatarProfile/AvatarProfile/MockedChat';
|
|
12
|
+
import { MockedChat } from '../book-components/AvatarProfile/AvatarProfile/MockedChat';
|
|
10
13
|
import type { BookEditorProps } from '../book-components/BookEditor/BookEditor';
|
|
11
14
|
import { BookEditor } from '../book-components/BookEditor/BookEditor';
|
|
12
15
|
import { DEFAULT_BOOK_FONT_CLASS } from '../book-components/BookEditor/config';
|
|
@@ -16,6 +19,12 @@ import { LlmChat } from '../book-components/Chat/LlmChat/LlmChat';
|
|
|
16
19
|
import type { LlmChatProps } from '../book-components/Chat/LlmChat/LlmChatProps';
|
|
17
20
|
import type { ChatMessage } from '../book-components/Chat/types/ChatMessage';
|
|
18
21
|
import type { ChatParticipant } from '../book-components/Chat/types/ChatParticipant';
|
|
22
|
+
import { renderMarkdown } from '../book-components/Chat/utils/renderMarkdown';
|
|
23
|
+
import { isMarkdownContent } from '../book-components/Chat/utils/renderMarkdown';
|
|
24
|
+
import { ArrowIcon } from '../book-components/icons/ArrowIcon';
|
|
25
|
+
import { ResetIcon } from '../book-components/icons/ResetIcon';
|
|
26
|
+
import { SendIcon } from '../book-components/icons/SendIcon';
|
|
27
|
+
import { TemplateIcon } from '../book-components/icons/TemplateIcon';
|
|
19
28
|
export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
|
|
20
29
|
export type { AvatarChipProps };
|
|
21
30
|
export { AvatarChip };
|
|
@@ -25,6 +34,9 @@ export type { AvatarProfileProps };
|
|
|
25
34
|
export { AvatarProfile };
|
|
26
35
|
export type { AvatarProfileFromSourceProps };
|
|
27
36
|
export { AvatarProfileFromSource };
|
|
37
|
+
export type { MockedChatDelayConfig };
|
|
38
|
+
export type { MockedChatProps };
|
|
39
|
+
export { MockedChat };
|
|
28
40
|
export type { BookEditorProps };
|
|
29
41
|
export { BookEditor };
|
|
30
42
|
export { DEFAULT_BOOK_FONT_CLASS };
|
|
@@ -34,3 +46,9 @@ export { LlmChat };
|
|
|
34
46
|
export type { LlmChatProps };
|
|
35
47
|
export type { ChatMessage };
|
|
36
48
|
export type { ChatParticipant };
|
|
49
|
+
export { renderMarkdown };
|
|
50
|
+
export { isMarkdownContent };
|
|
51
|
+
export { ArrowIcon };
|
|
52
|
+
export { ResetIcon };
|
|
53
|
+
export { SendIcon };
|
|
54
|
+
export { TemplateIcon };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
|
|
2
2
|
import { createAgentModelRequirements } from '../book-2.0/agent-source/createAgentModelRequirements';
|
|
3
3
|
import { parseAgentSource } from '../book-2.0/agent-source/parseAgentSource';
|
|
4
|
+
import { parseParameters } from '../book-2.0/agent-source/parseParameters';
|
|
4
5
|
import { isValidBook } from '../book-2.0/agent-source/string_book';
|
|
5
6
|
import { validateBook } from '../book-2.0/agent-source/string_book';
|
|
6
7
|
import { DEFAULT_BOOK } from '../book-2.0/agent-source/string_book';
|
|
@@ -166,6 +167,7 @@ import { REMOTE_SERVER_URLS } from '../../servers';
|
|
|
166
167
|
export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
|
|
167
168
|
export { createAgentModelRequirements };
|
|
168
169
|
export { parseAgentSource };
|
|
170
|
+
export { parseParameters };
|
|
169
171
|
export { isValidBook };
|
|
170
172
|
export { validateBook };
|
|
171
173
|
export { DEFAULT_BOOK };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BookParameter } from '../book-2.0/agent-source/AgentBasicInformation';
|
|
1
2
|
import type { AgentBasicInformation } from '../book-2.0/agent-source/AgentBasicInformation';
|
|
2
3
|
import type { AgentModelRequirements } from '../book-2.0/agent-source/AgentModelRequirements';
|
|
3
4
|
import type { string_book } from '../book-2.0/agent-source/string_book';
|
|
@@ -8,6 +9,8 @@ import type { AvatarChipProps } from '../book-components/AvatarProfile/AvatarChi
|
|
|
8
9
|
import type { AvatarChipFromSourceProps } from '../book-components/AvatarProfile/AvatarChip/AvatarChipFromSource';
|
|
9
10
|
import type { AvatarProfileProps } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfile';
|
|
10
11
|
import type { AvatarProfileFromSourceProps } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfileFromSource';
|
|
12
|
+
import type { MockedChatDelayConfig } from '../book-components/AvatarProfile/AvatarProfile/MockedChat';
|
|
13
|
+
import type { MockedChatProps } from '../book-components/AvatarProfile/AvatarProfile/MockedChat';
|
|
11
14
|
import type { BookEditorProps } from '../book-components/BookEditor/BookEditor';
|
|
12
15
|
import type { ChatProps } from '../book-components/Chat/Chat/ChatProps';
|
|
13
16
|
import type { LlmChatProps } from '../book-components/Chat/LlmChat/LlmChatProps';
|
|
@@ -320,6 +323,7 @@ import type { CheckSerializableAsJsonOptions } from '../utils/serialization/chec
|
|
|
320
323
|
import type { ExportJsonOptions } from '../utils/serialization/exportJson';
|
|
321
324
|
import type { ITakeChain } from '../utils/take/interfaces/ITakeChain';
|
|
322
325
|
import type { string_promptbook_version } from '../version';
|
|
326
|
+
export type { BookParameter };
|
|
323
327
|
export type { AgentBasicInformation };
|
|
324
328
|
export type { AgentModelRequirements };
|
|
325
329
|
export type { string_book };
|
|
@@ -330,6 +334,8 @@ export type { AvatarChipProps };
|
|
|
330
334
|
export type { AvatarChipFromSourceProps };
|
|
331
335
|
export type { AvatarProfileProps };
|
|
332
336
|
export type { AvatarProfileFromSourceProps };
|
|
337
|
+
export type { MockedChatDelayConfig };
|
|
338
|
+
export type { MockedChatProps };
|
|
333
339
|
export type { BookEditorProps };
|
|
334
340
|
export type { ChatProps };
|
|
335
341
|
export type { LlmChatProps };
|
|
@@ -1,4 +1,28 @@
|
|
|
1
1
|
import type { string_agent_name, string_url_image } from '../../types/typeAliases';
|
|
2
|
+
/**
|
|
3
|
+
* Unified parameter representation that supports two different notations:
|
|
4
|
+
* 1. @Parameter - single word parameter starting with @
|
|
5
|
+
* 2. {parameterName} or {parameter with multiple words} or {parameterName: description text}
|
|
6
|
+
* Both notations represent the same syntax feature - parameters
|
|
7
|
+
*/
|
|
8
|
+
export type BookParameter = {
|
|
9
|
+
/**
|
|
10
|
+
* The raw text of the parameter as it appears in the source
|
|
11
|
+
*/
|
|
12
|
+
text: string;
|
|
13
|
+
/**
|
|
14
|
+
* The notation used for this parameter
|
|
15
|
+
*/
|
|
16
|
+
notation: 'at' | 'brace';
|
|
17
|
+
/**
|
|
18
|
+
* The parameter name (without @ or {})
|
|
19
|
+
*/
|
|
20
|
+
name: string;
|
|
21
|
+
/**
|
|
22
|
+
* Optional description for {parameterName: description} notation
|
|
23
|
+
*/
|
|
24
|
+
description?: string;
|
|
25
|
+
};
|
|
2
26
|
export type AgentBasicInformation = {
|
|
3
27
|
/**
|
|
4
28
|
* Name of the agent
|
|
@@ -11,10 +35,24 @@ export type AgentBasicInformation = {
|
|
|
11
35
|
*/
|
|
12
36
|
personaDescription: string | null;
|
|
13
37
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
38
|
+
* Metadata commitments parsed from META lines
|
|
39
|
+
* Each META commitment has the format "META TYPE content"
|
|
40
|
+
* When there are multiple meta commitments of the same type, later overrides earlier
|
|
41
|
+
*/
|
|
42
|
+
meta: {
|
|
43
|
+
image?: string_url_image;
|
|
44
|
+
link?: string;
|
|
45
|
+
title?: string;
|
|
46
|
+
description?: string;
|
|
47
|
+
[key: string]: string | undefined;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Parameters found in the agent source
|
|
51
|
+
* Supports two different notations for the same syntax feature:
|
|
52
|
+
* - @Parameter (single word parameter starting with @)
|
|
53
|
+
* - {parameterName} or {parameter with multiple words} or {parameterName: description text}
|
|
16
54
|
*/
|
|
17
|
-
|
|
55
|
+
parameters: BookParameter[];
|
|
18
56
|
};
|
|
19
57
|
/**
|
|
20
58
|
* TODO: [🕛] Unite `AgentBasicInformation`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BookParameter } from './AgentBasicInformation';
|
|
2
|
+
/**
|
|
3
|
+
* Parses parameters from text using both supported notations:
|
|
4
|
+
* 1. @Parameter - single word parameter starting with @
|
|
5
|
+
* 2. {parameterName} or {parameter with multiple words} or {parameterName: description text}
|
|
6
|
+
*
|
|
7
|
+
* Both notations represent the same syntax feature - parameters
|
|
8
|
+
*
|
|
9
|
+
* @param text - Text to extract parameters from
|
|
10
|
+
* @returns Array of parsed parameters with unified representation
|
|
11
|
+
* @public exported from `@promptbook/core`
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseParameters(text: string): BookParameter[];
|
|
@@ -15,8 +15,8 @@ import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
|
15
15
|
*
|
|
16
16
|
* @private [🪔] Maybe export the commitments through some package
|
|
17
17
|
*/
|
|
18
|
-
export declare class ActionCommitmentDefinition extends BaseCommitmentDefinition<'ACTION'> {
|
|
19
|
-
constructor();
|
|
18
|
+
export declare class ActionCommitmentDefinition extends BaseCommitmentDefinition<'ACTION' | 'ACTIONS'> {
|
|
19
|
+
constructor(type?: 'ACTION' | 'ACTIONS');
|
|
20
20
|
/**
|
|
21
21
|
* Short one-line description of ACTION.
|
|
22
22
|
*/
|
|
@@ -33,6 +33,12 @@ export declare class ActionCommitmentDefinition extends BaseCommitmentDefinition
|
|
|
33
33
|
* @private [🪔] Maybe export the commitments through some package
|
|
34
34
|
*/
|
|
35
35
|
export declare const ActionCommitment: ActionCommitmentDefinition;
|
|
36
|
+
/**
|
|
37
|
+
* Singleton instance of the ACTIONS commitment definition
|
|
38
|
+
*
|
|
39
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
40
|
+
*/
|
|
41
|
+
export declare const ActionsCommitment: ActionCommitmentDefinition;
|
|
36
42
|
/**
|
|
37
43
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
38
44
|
*/
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
2
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
|
+
/**
|
|
4
|
+
* DELETE commitment definition
|
|
5
|
+
*
|
|
6
|
+
* The DELETE commitment (and its aliases CANCEL, DISCARD, REMOVE) is used to
|
|
7
|
+
* remove or disregard certain information or context. This can be useful for
|
|
8
|
+
* overriding previous commitments or removing unwanted behaviors.
|
|
9
|
+
*
|
|
10
|
+
* Example usage in agent source:
|
|
11
|
+
*
|
|
12
|
+
* ```book
|
|
13
|
+
* DELETE Previous formatting requirements
|
|
14
|
+
* CANCEL All emotional responses
|
|
15
|
+
* DISCARD Technical jargon explanations
|
|
16
|
+
* REMOVE Casual conversational style
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
20
|
+
*/
|
|
21
|
+
export declare class DeleteCommitmentDefinition extends BaseCommitmentDefinition<'DELETE' | 'CANCEL' | 'DISCARD' | 'REMOVE'> {
|
|
22
|
+
constructor(type: 'DELETE' | 'CANCEL' | 'DISCARD' | 'REMOVE');
|
|
23
|
+
/**
|
|
24
|
+
* Short one-line description of DELETE/CANCEL/DISCARD/REMOVE.
|
|
25
|
+
*/
|
|
26
|
+
get description(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Markdown documentation for DELETE commitment.
|
|
29
|
+
*/
|
|
30
|
+
get documentation(): string;
|
|
31
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Singleton instances of the DELETE commitment definitions with aliases
|
|
35
|
+
*
|
|
36
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
37
|
+
*/
|
|
38
|
+
export declare const DeleteCommitment: DeleteCommitmentDefinition;
|
|
39
|
+
/**
|
|
40
|
+
* Singleton instances of the DELETE commitment definitions with aliases
|
|
41
|
+
*
|
|
42
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
43
|
+
*/
|
|
44
|
+
export declare const CancelCommitment: DeleteCommitmentDefinition;
|
|
45
|
+
/**
|
|
46
|
+
* Singleton instances of the DELETE commitment definitions with aliases
|
|
47
|
+
*
|
|
48
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
49
|
+
*/
|
|
50
|
+
export declare const DiscardCommitment: DeleteCommitmentDefinition;
|
|
51
|
+
/**
|
|
52
|
+
* Singleton instances of the DELETE commitment definitions with aliases
|
|
53
|
+
*
|
|
54
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
55
|
+
*/
|
|
56
|
+
export declare const RemoveCommitment: DeleteCommitmentDefinition;
|
|
57
|
+
/**
|
|
58
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
59
|
+
*/
|
|
@@ -16,8 +16,8 @@ import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
|
16
16
|
*
|
|
17
17
|
* @private [🪔] Maybe export the commitments through some package
|
|
18
18
|
*/
|
|
19
|
-
export declare class FormatCommitmentDefinition extends BaseCommitmentDefinition<'FORMAT'> {
|
|
20
|
-
constructor();
|
|
19
|
+
export declare class FormatCommitmentDefinition extends BaseCommitmentDefinition<'FORMAT' | 'FORMATS'> {
|
|
20
|
+
constructor(type?: 'FORMAT' | 'FORMATS');
|
|
21
21
|
/**
|
|
22
22
|
* Short one-line description of FORMAT.
|
|
23
23
|
*/
|
|
@@ -34,6 +34,12 @@ export declare class FormatCommitmentDefinition extends BaseCommitmentDefinition
|
|
|
34
34
|
* @private [🪔] Maybe export the commitments through some package
|
|
35
35
|
*/
|
|
36
36
|
export declare const FormatCommitment: FormatCommitmentDefinition;
|
|
37
|
+
/**
|
|
38
|
+
* Singleton instance of the FORMATS commitment definition
|
|
39
|
+
*
|
|
40
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
41
|
+
*/
|
|
42
|
+
export declare const FormatsCommitment: FormatCommitmentDefinition;
|
|
37
43
|
/**
|
|
38
44
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
39
45
|
*/
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
2
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
|
+
/**
|
|
4
|
+
* GOAL commitment definition
|
|
5
|
+
*
|
|
6
|
+
* The GOAL commitment defines the main goal which should be achieved by the AI assistant.
|
|
7
|
+
* There can be multiple goals. Later goals are more important than earlier goals.
|
|
8
|
+
*
|
|
9
|
+
* Example usage in agent source:
|
|
10
|
+
*
|
|
11
|
+
* ```book
|
|
12
|
+
* GOAL Help users understand complex technical concepts
|
|
13
|
+
* GOAL Provide accurate and up-to-date information
|
|
14
|
+
* GOAL Always prioritize user safety and ethical guidelines
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
18
|
+
*/
|
|
19
|
+
export declare class GoalCommitmentDefinition extends BaseCommitmentDefinition<'GOAL' | 'GOALS'> {
|
|
20
|
+
constructor(type?: 'GOAL' | 'GOALS');
|
|
21
|
+
/**
|
|
22
|
+
* Short one-line description of GOAL.
|
|
23
|
+
*/
|
|
24
|
+
get description(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Markdown documentation for GOAL commitment.
|
|
27
|
+
*/
|
|
28
|
+
get documentation(): string;
|
|
29
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Singleton instance of the GOAL commitment definition
|
|
33
|
+
*
|
|
34
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
35
|
+
*/
|
|
36
|
+
export declare const GoalCommitment: GoalCommitmentDefinition;
|
|
37
|
+
/**
|
|
38
|
+
* Singleton instance of the GOALS commitment definition
|
|
39
|
+
*
|
|
40
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
41
|
+
*/
|
|
42
|
+
export declare const GoalsCommitment: GoalCommitmentDefinition;
|
|
43
|
+
/**
|
|
44
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
45
|
+
*/
|
|
@@ -35,7 +35,7 @@ export declare class KnowledgeCommitmentDefinition extends BaseCommitmentDefinit
|
|
|
35
35
|
private isUrl;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
|
-
* Singleton instance of the KNOWLEDGE commitment definition
|
|
38
|
+
* Singleton instance of the KNOWLEDGE commitment definition !!!!
|
|
39
39
|
*
|
|
40
40
|
* @private [🪔] Maybe export the commitments through some package
|
|
41
41
|
*/
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
2
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
|
+
/**
|
|
4
|
+
* MEMORY commitment definition
|
|
5
|
+
*
|
|
6
|
+
* The MEMORY commitment is similar to KNOWLEDGE but has a focus on remembering past
|
|
7
|
+
* interactions and user preferences. It helps the agent maintain context about the
|
|
8
|
+
* user's history, preferences, and previous conversations.
|
|
9
|
+
*
|
|
10
|
+
* Example usage in agent source:
|
|
11
|
+
*
|
|
12
|
+
* ```book
|
|
13
|
+
* MEMORY User prefers detailed technical explanations
|
|
14
|
+
* MEMORY Previously worked on React projects
|
|
15
|
+
* MEMORY Timezone: UTC-5 (Eastern Time)
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
19
|
+
*/
|
|
20
|
+
export declare class MemoryCommitmentDefinition extends BaseCommitmentDefinition<'MEMORY' | 'MEMORIES'> {
|
|
21
|
+
constructor(type?: 'MEMORY' | 'MEMORIES');
|
|
22
|
+
/**
|
|
23
|
+
* Short one-line description of MEMORY.
|
|
24
|
+
*/
|
|
25
|
+
get description(): string;
|
|
26
|
+
/**
|
|
27
|
+
* Markdown documentation for MEMORY commitment.
|
|
28
|
+
*/
|
|
29
|
+
get documentation(): string;
|
|
30
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Singleton instance of the MEMORY commitment definition
|
|
34
|
+
*
|
|
35
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
36
|
+
*/
|
|
37
|
+
export declare const MemoryCommitment: MemoryCommitmentDefinition;
|
|
38
|
+
/**
|
|
39
|
+
* Singleton instance of the MEMORIES commitment definition
|
|
40
|
+
*
|
|
41
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
42
|
+
*/
|
|
43
|
+
export declare const MemoriesCommitment: MemoryCommitmentDefinition;
|
|
44
|
+
/**
|
|
45
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
46
|
+
*/
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
2
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
|
+
/**
|
|
4
|
+
* MESSAGE commitment definition
|
|
5
|
+
*
|
|
6
|
+
* The MESSAGE commitment contains 1:1 text of the message which AI assistant already
|
|
7
|
+
* sent during the conversation. Later messages are later in the conversation.
|
|
8
|
+
* It is similar to EXAMPLE but it is not example, it is the real message which
|
|
9
|
+
* AI assistant already sent.
|
|
10
|
+
*
|
|
11
|
+
* Example usage in agent source:
|
|
12
|
+
*
|
|
13
|
+
* ```book
|
|
14
|
+
* MESSAGE Hello! How can I help you today?
|
|
15
|
+
* MESSAGE I understand you're looking for information about our services.
|
|
16
|
+
* MESSAGE Based on your requirements, I'd recommend our premium package.
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
20
|
+
*/
|
|
21
|
+
export declare class MessageCommitmentDefinition extends BaseCommitmentDefinition<'MESSAGE' | 'MESSAGES'> {
|
|
22
|
+
constructor(type?: 'MESSAGE' | 'MESSAGES');
|
|
23
|
+
/**
|
|
24
|
+
* Short one-line description of MESSAGE.
|
|
25
|
+
*/
|
|
26
|
+
get description(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Markdown documentation for MESSAGE commitment.
|
|
29
|
+
*/
|
|
30
|
+
get documentation(): string;
|
|
31
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Singleton instance of the MESSAGE commitment definition
|
|
35
|
+
*
|
|
36
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
37
|
+
*/
|
|
38
|
+
export declare const MessageCommitment: MessageCommitmentDefinition;
|
|
39
|
+
/**
|
|
40
|
+
* Singleton instance of the MESSAGES commitment definition
|
|
41
|
+
*
|
|
42
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
43
|
+
*/
|
|
44
|
+
export declare const MessagesCommitment: MessageCommitmentDefinition;
|
|
45
|
+
/**
|
|
46
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
47
|
+
*/
|