@promptbook/node 0.110.0-9 → 0.111.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.
- package/esm/index.es.js +709 -109
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/components.index.d.ts +4 -0
- package/esm/typings/src/_packages/core.index.d.ts +2 -2
- package/esm/typings/src/_packages/types.index.d.ts +6 -0
- package/esm/typings/src/_packages/utils.index.d.ts +12 -0
- package/esm/typings/src/book-2.0/agent-source/AgentReferenceResolver.d.ts +18 -0
- package/esm/typings/src/book-2.0/agent-source/BookEditable.d.ts +41 -0
- package/esm/typings/src/book-2.0/agent-source/CreateAgentModelRequirementsOptions.d.ts +17 -0
- package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirements.d.ts +8 -2
- package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.agentReferenceResolver.test.d.ts +1 -0
- package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.d.ts +4 -5
- package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +42 -0
- package/esm/typings/src/book-components/Chat/Chat/ChatActionsBar.d.ts +0 -2
- package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +11 -0
- package/esm/typings/src/book-components/Chat/Chat/ChatSoundToggle.d.ts +12 -0
- package/esm/typings/src/book-components/Chat/Chat/ImagePromptRenderer.d.ts +21 -0
- package/esm/typings/src/book-components/Chat/LlmChat/LlmChatProps.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/LlmChat/defaults.d.ts +9 -0
- package/esm/typings/src/book-components/Chat/hooks/useChatRatings.d.ts +24 -2
- package/esm/typings/src/book-components/Chat/save/_common/ChatSaveFormatDefinition.d.ts +7 -1
- package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +6 -5
- package/esm/typings/src/book-components/Chat/save/index.d.ts +3 -3
- package/esm/typings/src/book-components/Chat/save/pdf/buildChatPdf.d.ts +11 -0
- package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +2 -2
- package/esm/typings/src/book-components/Chat/utils/getToolCallChipletInfo.d.ts +2 -10
- package/esm/typings/src/book-components/Chat/utils/parseCitationMarker.d.ts +75 -0
- package/esm/typings/src/book-components/Chat/utils/parseCitationsFromContent.d.ts +3 -1
- package/esm/typings/src/book-components/Chat/utils/parseCitationsFromContent.test.d.ts +1 -0
- package/esm/typings/src/book-components/Chat/utils/parseImagePrompts.d.ts +42 -0
- package/esm/typings/src/book-components/Chat/utils/parseImagePrompts.test.d.ts +1 -0
- package/esm/typings/src/book-components/icons/ArrowIcon.d.ts +17 -4
- package/esm/typings/src/commitments/MEMORY/MEMORY.d.ts +67 -0
- package/esm/typings/src/commitments/MEMORY/MEMORY.test.d.ts +1 -0
- package/esm/typings/src/commitments/_common/toolRuntimeContext.d.ts +49 -0
- package/esm/typings/src/constants/streaming.d.ts +20 -0
- package/esm/typings/src/llm-providers/openai/utils/buildToolInvocationScript.d.ts +9 -0
- package/esm/typings/src/utils/clientVersion.d.ts +51 -0
- package/esm/typings/src/utils/knowledge/inlineKnowledgeSource.d.ts +13 -9
- package/esm/typings/src/utils/normalization/constructImageFilename.d.ts +18 -0
- package/esm/typings/src/utils/normalization/constructImageFilename.test.d.ts +1 -0
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +709 -109
- package/umd/index.umd.js.map +1 -1
|
@@ -15,10 +15,12 @@ import { BookEditor } from '../book-components/BookEditor/BookEditor';
|
|
|
15
15
|
import { AgentChat } from '../book-components/Chat/AgentChat/AgentChat';
|
|
16
16
|
import type { AgentChatProps } from '../book-components/Chat/AgentChat/AgentChatProps';
|
|
17
17
|
import { Chat } from '../book-components/Chat/Chat/Chat';
|
|
18
|
+
import type { ChatFeedbackResponse } from '../book-components/Chat/Chat/ChatProps';
|
|
18
19
|
import type { ChatSoundSystem } from '../book-components/Chat/Chat/ChatProps';
|
|
19
20
|
import type { ChatProps } from '../book-components/Chat/Chat/ChatProps';
|
|
20
21
|
import { ChatSoundToggle } from '../book-components/Chat/Chat/ChatSoundToggle';
|
|
21
22
|
import { ChatVibrationToggle } from '../book-components/Chat/Chat/ChatSoundToggle';
|
|
23
|
+
import { ChatSoundAndVibrationPanel } from '../book-components/Chat/Chat/ChatSoundToggle';
|
|
22
24
|
import { ChatEffectsSystem } from '../book-components/Chat/effects/ChatEffectsSystem';
|
|
23
25
|
import { ConfettiEffect } from '../book-components/Chat/effects/components/ConfettiEffect';
|
|
24
26
|
import { HeartsEffect } from '../book-components/Chat/effects/components/HeartsEffect';
|
|
@@ -86,10 +88,12 @@ export { BookEditor };
|
|
|
86
88
|
export { AgentChat };
|
|
87
89
|
export type { AgentChatProps };
|
|
88
90
|
export { Chat };
|
|
91
|
+
export type { ChatFeedbackResponse };
|
|
89
92
|
export type { ChatSoundSystem };
|
|
90
93
|
export type { ChatProps };
|
|
91
94
|
export { ChatSoundToggle };
|
|
92
95
|
export { ChatVibrationToggle };
|
|
96
|
+
export { ChatSoundAndVibrationPanel };
|
|
93
97
|
export { ChatEffectsSystem };
|
|
94
98
|
export { ConfettiEffect };
|
|
95
99
|
export { HeartsEffect };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
|
|
2
2
|
import { computeAgentHash } from '../book-2.0/agent-source/computeAgentHash';
|
|
3
3
|
import { createAgentModelRequirements } from '../book-2.0/agent-source/createAgentModelRequirements';
|
|
4
|
-
import {
|
|
4
|
+
import type { CreateAgentModelRequirementsOptions } from '../book-2.0/agent-source/CreateAgentModelRequirementsOptions';
|
|
5
5
|
import { createDefaultAgentName } from '../book-2.0/agent-source/createDefaultAgentName';
|
|
6
6
|
import { normalizeAgentName } from '../book-2.0/agent-source/normalizeAgentName';
|
|
7
7
|
import { PADDING_LINES } from '../book-2.0/agent-source/padBook';
|
|
@@ -205,7 +205,7 @@ import { PUBLIC_AGENTS_SERVERS } from '../../servers';
|
|
|
205
205
|
export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
|
|
206
206
|
export { computeAgentHash };
|
|
207
207
|
export { createAgentModelRequirements };
|
|
208
|
-
export {
|
|
208
|
+
export type { CreateAgentModelRequirementsOptions };
|
|
209
209
|
export { createDefaultAgentName };
|
|
210
210
|
export { normalizeAgentName };
|
|
211
211
|
export { PADDING_LINES };
|
|
@@ -2,6 +2,7 @@ import type { BookParameter } from '../book-2.0/agent-source/AgentBasicInformati
|
|
|
2
2
|
import type { AgentCapability } from '../book-2.0/agent-source/AgentBasicInformation';
|
|
3
3
|
import type { AgentBasicInformation } from '../book-2.0/agent-source/AgentBasicInformation';
|
|
4
4
|
import type { AgentModelRequirements } from '../book-2.0/agent-source/AgentModelRequirements';
|
|
5
|
+
import type { CreateAgentModelRequirementsOptions } from '../book-2.0/agent-source/CreateAgentModelRequirementsOptions';
|
|
5
6
|
import type { string_book } from '../book-2.0/agent-source/string_book';
|
|
6
7
|
import type { AvatarChipProps } from '../book-components/AvatarProfile/AvatarChip/AvatarChip';
|
|
7
8
|
import type { AvatarChipFromSourceProps } from '../book-components/AvatarProfile/AvatarChip/AvatarChipFromSource';
|
|
@@ -13,10 +14,12 @@ import type { BookEditorProps } from '../book-components/BookEditor/BookEditor';
|
|
|
13
14
|
import type { AgentChatProps } from '../book-components/Chat/AgentChat/AgentChatProps';
|
|
14
15
|
import type { AgentChipData } from '../book-components/Chat/AgentChip/AgentChip';
|
|
15
16
|
import type { AgentChipProps } from '../book-components/Chat/AgentChip/AgentChip';
|
|
17
|
+
import type { ChatFeedbackResponse } from '../book-components/Chat/Chat/ChatProps';
|
|
16
18
|
import type { ChatSoundSystem } from '../book-components/Chat/Chat/ChatProps';
|
|
17
19
|
import type { ChatProps } from '../book-components/Chat/Chat/ChatProps';
|
|
18
20
|
import type { ChatSoundToggleProps } from '../book-components/Chat/Chat/ChatSoundToggle';
|
|
19
21
|
import type { ChatVibrationToggleProps } from '../book-components/Chat/Chat/ChatSoundToggle';
|
|
22
|
+
import type { ChatSoundAndVibrationPanelProps } from '../book-components/Chat/Chat/ChatSoundToggle';
|
|
20
23
|
import type { ChatEffect } from '../book-components/Chat/effects/types/ChatEffect';
|
|
21
24
|
import type { ChatEffectConfig } from '../book-components/Chat/effects/types/ChatEffectConfig';
|
|
22
25
|
import type { ChatEffectsSystemProps } from '../book-components/Chat/effects/types/ChatEffectsSystemProps';
|
|
@@ -407,6 +410,7 @@ export type { BookParameter };
|
|
|
407
410
|
export type { AgentCapability };
|
|
408
411
|
export type { AgentBasicInformation };
|
|
409
412
|
export type { AgentModelRequirements };
|
|
413
|
+
export type { CreateAgentModelRequirementsOptions };
|
|
410
414
|
export type { string_book };
|
|
411
415
|
export type { AvatarChipProps };
|
|
412
416
|
export type { AvatarChipFromSourceProps };
|
|
@@ -418,10 +422,12 @@ export type { BookEditorProps };
|
|
|
418
422
|
export type { AgentChatProps };
|
|
419
423
|
export type { AgentChipData };
|
|
420
424
|
export type { AgentChipProps };
|
|
425
|
+
export type { ChatFeedbackResponse };
|
|
421
426
|
export type { ChatSoundSystem };
|
|
422
427
|
export type { ChatProps };
|
|
423
428
|
export type { ChatSoundToggleProps };
|
|
424
429
|
export type { ChatVibrationToggleProps };
|
|
430
|
+
export type { ChatSoundAndVibrationPanelProps };
|
|
425
431
|
export type { ChatEffect };
|
|
426
432
|
export type { ChatEffectConfig };
|
|
427
433
|
export type { ChatEffectsSystemProps };
|
|
@@ -12,6 +12,12 @@ import { isValidXmlString } from '../formats/xml/utils/isValidXmlString';
|
|
|
12
12
|
import { PromptString } from '../pipeline/prompt-notation';
|
|
13
13
|
import { prompt } from '../pipeline/prompt-notation';
|
|
14
14
|
import { promptTemplate } from '../pipeline/prompt-notation';
|
|
15
|
+
import { CLIENT_VERSION_HEADER } from '../utils/clientVersion';
|
|
16
|
+
import { CLIENT_LATEST_VERSION } from '../utils/clientVersion';
|
|
17
|
+
import { isClientVersionCompatible } from '../utils/clientVersion';
|
|
18
|
+
import { formatClientVersionMismatchMessage } from '../utils/clientVersion';
|
|
19
|
+
import { attachClientVersionHeader } from '../utils/clientVersion';
|
|
20
|
+
import { getClientVersionFromHeaders } from '../utils/clientVersion';
|
|
15
21
|
import { $detectRuntimeEnvironment } from '../utils/environment/$detectRuntimeEnvironment';
|
|
16
22
|
import { $isRunningInBrowser } from '../utils/environment/$isRunningInBrowser';
|
|
17
23
|
import { $isRunningInJest } from '../utils/environment/$isRunningInJest';
|
|
@@ -103,6 +109,12 @@ export { isValidXmlString };
|
|
|
103
109
|
export { PromptString };
|
|
104
110
|
export { prompt };
|
|
105
111
|
export { promptTemplate };
|
|
112
|
+
export { CLIENT_VERSION_HEADER };
|
|
113
|
+
export { CLIENT_LATEST_VERSION };
|
|
114
|
+
export { isClientVersionCompatible };
|
|
115
|
+
export { formatClientVersionMismatchMessage };
|
|
116
|
+
export { attachClientVersionHeader };
|
|
117
|
+
export { getClientVersionFromHeaders };
|
|
106
118
|
export { $detectRuntimeEnvironment };
|
|
107
119
|
export { $isRunningInBrowser };
|
|
108
120
|
export { $isRunningInJest };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { BookCommitment } from '../../commitments/_base/BookCommitment';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves compact agent references that appear inside FROM, IMPORT, and TEAM commitments.
|
|
4
|
+
*
|
|
5
|
+
* Implementations are expected to rewrite reference tokens such as `{Activation code agent}`
|
|
6
|
+
* or `@Superagent` into concrete agent URLs before the commitment is applied.
|
|
7
|
+
*
|
|
8
|
+
* @private @@@
|
|
9
|
+
*/
|
|
10
|
+
export type AgentReferenceResolver = {
|
|
11
|
+
/**
|
|
12
|
+
* Normalizes the content of a commitment before it is applied to the model requirements.
|
|
13
|
+
*
|
|
14
|
+
* @param commitmentType - The commitment keyword (e.g. FROM, IMPORT, TEAM)
|
|
15
|
+
* @param content - Original payload of the commitment
|
|
16
|
+
*/
|
|
17
|
+
resolveCommitmentContent(commitmentType: BookCommitment, content: string): Promise<string>;
|
|
18
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { string_book } from './string_book';
|
|
2
|
+
/**
|
|
3
|
+
* Helper for manipulating agent books in-memory.
|
|
4
|
+
*
|
|
5
|
+
* @private internal helper for `@promptbook/core`
|
|
6
|
+
*/
|
|
7
|
+
export declare class BookEditable {
|
|
8
|
+
private readonly lines;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a mutable view over the supplied book content.
|
|
11
|
+
*
|
|
12
|
+
* @param book - Agent source text to work with.
|
|
13
|
+
*/
|
|
14
|
+
constructor(book: string_book);
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new instance from the supplied book text.
|
|
17
|
+
*
|
|
18
|
+
* @param book - Agent source text to work with.
|
|
19
|
+
* @returns Editable view over the book content.
|
|
20
|
+
*/
|
|
21
|
+
static from(book: string_book): BookEditable;
|
|
22
|
+
/**
|
|
23
|
+
* Returns the editable content as a string_book.
|
|
24
|
+
*
|
|
25
|
+
* @returns Current book content with original line breaks preserved.
|
|
26
|
+
*/
|
|
27
|
+
toString(): string_book;
|
|
28
|
+
/**
|
|
29
|
+
* Checks whether the book contains any non-empty lines.
|
|
30
|
+
*
|
|
31
|
+
* @returns `true` when the book has meaningful content beyond blank lines.
|
|
32
|
+
*/
|
|
33
|
+
hasNonEmptyContent(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Finds the last line index whose trimmed text matches the commitment name.
|
|
36
|
+
*
|
|
37
|
+
* @param commitment - Commitment keyword to locate (for example `CLOSED`).
|
|
38
|
+
* @returns Zero-based line index or `null` when the commitment is absent.
|
|
39
|
+
*/
|
|
40
|
+
findLastCommitmentLineIndex(commitment: string): number | null;
|
|
41
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AgentReferenceResolver } from './AgentReferenceResolver';
|
|
2
|
+
import type { InlineKnowledgeSourceUploader } from '../../utils/knowledge/inlineKnowledgeSource';
|
|
3
|
+
/**
|
|
4
|
+
* Options for `createAgentModelRequirements` and `createAgentModelRequirementsWithCommitments`.
|
|
5
|
+
*
|
|
6
|
+
* @public exported from `@promptbook/core`
|
|
7
|
+
*/
|
|
8
|
+
export type CreateAgentModelRequirementsOptions = {
|
|
9
|
+
/**
|
|
10
|
+
* Resolver that transforms compact agent references (FROM, IMPORT, TEAM) into concrete URLs.
|
|
11
|
+
*/
|
|
12
|
+
readonly agentReferenceResolver?: AgentReferenceResolver;
|
|
13
|
+
/**
|
|
14
|
+
* Optional hook used to upload inline knowledge files before finalizing the requirements.
|
|
15
|
+
*/
|
|
16
|
+
readonly inlineKnowledgeSourceUploader?: InlineKnowledgeSourceUploader;
|
|
17
|
+
};
|
|
@@ -2,17 +2,23 @@ import type { AvailableModel } from '../../execution/AvailableModel';
|
|
|
2
2
|
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
3
3
|
import type { string_agent_name, string_model_name, string_system_message, string_url_image } from '../../types/typeAliases';
|
|
4
4
|
import type { AgentModelRequirements } from './AgentModelRequirements';
|
|
5
|
+
import type { CreateAgentModelRequirementsOptions } from './CreateAgentModelRequirementsOptions';
|
|
5
6
|
import type { string_book } from './string_book';
|
|
6
7
|
/**
|
|
7
|
-
* Creates model requirements for an agent based on its source
|
|
8
|
+
* Creates model requirements for an agent based on its source.
|
|
8
9
|
*
|
|
9
10
|
* There are 2 similar functions:
|
|
10
11
|
* - `parseAgentSource` which is a lightweight parser for agent source, it parses basic information and its purpose is to be quick and synchronous. The commitments there are hardcoded.
|
|
11
12
|
* - `createAgentModelRequirements` which is an asynchronous function that creates model requirements it applies each commitment one by one and works asynchronous.
|
|
12
13
|
*
|
|
14
|
+
* @param agentSource - Book describing the agent.
|
|
15
|
+
* @param modelName - Optional override for the agent's model.
|
|
16
|
+
* @param availableModels - Models that could fulfill the agent.
|
|
17
|
+
* @param llmTools - Execution tools used when selecting a best model.
|
|
18
|
+
* @param options - Optional hooks such as the agent reference resolver.
|
|
13
19
|
* @public exported from `@promptbook/core`
|
|
14
20
|
*/
|
|
15
|
-
export declare function createAgentModelRequirements(agentSource: string_book, modelName?: string_model_name, availableModels?: readonly AvailableModel[], llmTools?: LlmExecutionTools): Promise<AgentModelRequirements>;
|
|
21
|
+
export declare function createAgentModelRequirements(agentSource: string_book, modelName?: string_model_name, availableModels?: readonly AvailableModel[], llmTools?: LlmExecutionTools, options?: CreateAgentModelRequirementsOptions): Promise<AgentModelRequirements>;
|
|
16
22
|
/**
|
|
17
23
|
* Extracts MCP servers from agent source
|
|
18
24
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { string_model_name } from '../../types/typeAliases';
|
|
2
2
|
import type { AgentModelRequirements } from './AgentModelRequirements';
|
|
3
|
+
import type { CreateAgentModelRequirementsOptions } from './CreateAgentModelRequirementsOptions';
|
|
3
4
|
import type { string_book } from './string_book';
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
-
* This function uses a reduce-like pattern where each commitment applies its changes
|
|
7
|
-
* to build the final requirements starting from a basic empty model
|
|
6
|
+
* @@@
|
|
8
7
|
*
|
|
9
|
-
* @
|
|
8
|
+
* @private @@@
|
|
10
9
|
*/
|
|
11
|
-
export declare function createAgentModelRequirementsWithCommitments(agentSource: string_book, modelName?: string_model_name): Promise<AgentModelRequirements>;
|
|
10
|
+
export declare function createAgentModelRequirementsWithCommitments(agentSource: string_book, modelName?: string_model_name, options?: CreateAgentModelRequirementsOptions): Promise<AgentModelRequirements>;
|
|
@@ -2,6 +2,43 @@ import { CSSProperties } from 'react';
|
|
|
2
2
|
import type { Promisable } from 'type-fest';
|
|
3
3
|
import type { string_book } from '../../book-2.0/agent-source/string_book';
|
|
4
4
|
import type { number_percent, number_positive, string_css_value, string_knowledge_source_content } from '../../types/typeAliases';
|
|
5
|
+
/**
|
|
6
|
+
* Monaco diagnostic shown inside `BookEditor`.
|
|
7
|
+
*
|
|
8
|
+
* @private internal type of `BookEditor`
|
|
9
|
+
*/
|
|
10
|
+
type BookEditorDiagnostic = {
|
|
11
|
+
/**
|
|
12
|
+
* 1-based start line.
|
|
13
|
+
*/
|
|
14
|
+
readonly startLineNumber: number;
|
|
15
|
+
/**
|
|
16
|
+
* 1-based start column.
|
|
17
|
+
*/
|
|
18
|
+
readonly startColumn: number;
|
|
19
|
+
/**
|
|
20
|
+
* 1-based end line.
|
|
21
|
+
*/
|
|
22
|
+
readonly endLineNumber: number;
|
|
23
|
+
/**
|
|
24
|
+
* 1-based end column.
|
|
25
|
+
*/
|
|
26
|
+
readonly endColumn: number;
|
|
27
|
+
/**
|
|
28
|
+
* Diagnostic message shown by Monaco.
|
|
29
|
+
*/
|
|
30
|
+
readonly message: string;
|
|
31
|
+
/**
|
|
32
|
+
* Marker severity used for color coding in Monaco.
|
|
33
|
+
*
|
|
34
|
+
* @default 'error'
|
|
35
|
+
*/
|
|
36
|
+
readonly severity?: 'error' | 'warning' | 'info' | 'hint';
|
|
37
|
+
/**
|
|
38
|
+
* Optional source label shown in Monaco hover.
|
|
39
|
+
*/
|
|
40
|
+
readonly source?: string;
|
|
41
|
+
};
|
|
5
42
|
/**
|
|
6
43
|
* Default height of the book editor
|
|
7
44
|
*
|
|
@@ -76,6 +113,10 @@ export type BookEditorProps = {
|
|
|
76
113
|
* Callback function to handle changes in the book content.
|
|
77
114
|
*/
|
|
78
115
|
onChange?(value: string_book): void;
|
|
116
|
+
/**
|
|
117
|
+
* Optional Monaco diagnostics shown as squiggle markers in the editor.
|
|
118
|
+
*/
|
|
119
|
+
readonly diagnostics?: ReadonlyArray<BookEditorDiagnostic>;
|
|
79
120
|
/**
|
|
80
121
|
* Returns the URL of the uploaded file on CDN or storage.
|
|
81
122
|
*/
|
|
@@ -162,6 +203,7 @@ export type BookEditorProps = {
|
|
|
162
203
|
* @public exported from `@promptbook/components`
|
|
163
204
|
*/
|
|
164
205
|
export declare function BookEditor(props: BookEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
206
|
+
export {};
|
|
165
207
|
/**
|
|
166
208
|
* TODO: [☁️] Export component prop types only to `@promptbook/components` (not `@promptbook/types`)
|
|
167
209
|
*/
|
|
@@ -3,7 +3,6 @@ import type { Promisable } from 'type-fest';
|
|
|
3
3
|
import type { string_chat_format_name } from '../save/_common/string_chat_format_name';
|
|
4
4
|
import type { ChatMessage } from '../types/ChatMessage';
|
|
5
5
|
import type { ChatParticipant } from '../types/ChatParticipant';
|
|
6
|
-
import type { ChatSoundSystem } from './ChatProps';
|
|
7
6
|
/**
|
|
8
7
|
* Props for the Chat actions toolbar.
|
|
9
8
|
*
|
|
@@ -26,7 +25,6 @@ export type ChatActionsBarProps = {
|
|
|
26
25
|
*/
|
|
27
26
|
shouldDisableActions: boolean;
|
|
28
27
|
onButtonClick: (handler?: (event: MouseEvent<HTMLButtonElement>) => void) => (event: MouseEvent<HTMLButtonElement>) => void;
|
|
29
|
-
soundSystem?: ChatSoundSystem;
|
|
30
28
|
};
|
|
31
29
|
/**
|
|
32
30
|
* Renders the action buttons row for Chat.
|
|
@@ -6,6 +6,17 @@ import { string_color } from '../../../types/typeAliases';
|
|
|
6
6
|
import type { string_chat_format_name } from '../save/_common/string_chat_format_name';
|
|
7
7
|
import type { ChatMessage } from '../types/ChatMessage';
|
|
8
8
|
import type { ChatParticipant } from '../types/ChatParticipant';
|
|
9
|
+
/**
|
|
10
|
+
* Response data returned by the optional `onFeedback` handler.
|
|
11
|
+
*
|
|
12
|
+
* @public exported from `@promptbook/components`
|
|
13
|
+
*/
|
|
14
|
+
export type ChatFeedbackResponse = {
|
|
15
|
+
/**
|
|
16
|
+
* Optional text that should be shown to the user after the feedback is saved.
|
|
17
|
+
*/
|
|
18
|
+
readonly message?: string;
|
|
19
|
+
};
|
|
9
20
|
/**
|
|
10
21
|
* Interface for sound system that can be passed to Chat component
|
|
11
22
|
* This allows the chat to trigger sounds without tight coupling
|
|
@@ -40,3 +40,15 @@ export type ChatVibrationToggleProps = {
|
|
|
40
40
|
* @public exported from `@promptbook/components`
|
|
41
41
|
*/
|
|
42
42
|
export declare function ChatVibrationToggle(props: ChatVibrationToggleProps): import("react/jsx-runtime").JSX.Element | null;
|
|
43
|
+
/**
|
|
44
|
+
* Props for the combined sound and vibration control panel.
|
|
45
|
+
*/
|
|
46
|
+
export type ChatSoundAndVibrationPanelProps = {
|
|
47
|
+
readonly soundSystem: ChatSoundSystem;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Renders a compact control panel that surfaces both sound and haptic toggles with richer affordances.
|
|
51
|
+
*
|
|
52
|
+
* @public exported from `@promptbook/components`
|
|
53
|
+
*/
|
|
54
|
+
export declare function ChatSoundAndVibrationPanel(props: ChatSoundAndVibrationPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Props for rendering an interactive image prompt placeholder.
|
|
3
|
+
*
|
|
4
|
+
* @private internal component of `<ChatMessageItem/>`
|
|
5
|
+
*/
|
|
6
|
+
export type ImagePromptRendererProps = {
|
|
7
|
+
/**
|
|
8
|
+
* Alt text provided by the agent for the image.
|
|
9
|
+
*/
|
|
10
|
+
alt: string;
|
|
11
|
+
/**
|
|
12
|
+
* Prompt text that will be sent to the image generation API.
|
|
13
|
+
*/
|
|
14
|
+
prompt: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Renders a preview area for the `` notation.
|
|
18
|
+
*
|
|
19
|
+
* @private internal component of `<ChatMessageItem/>`
|
|
20
|
+
*/
|
|
21
|
+
export declare function ImagePromptRenderer({ alt, prompt }: ImagePromptRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -68,6 +68,11 @@ export type LlmChatProps = Omit<ChatProps, 'messages' | 'onMessage' | 'onChange'
|
|
|
68
68
|
* @default Shared thinking message variants
|
|
69
69
|
*/
|
|
70
70
|
readonly thinkingMessages?: ReadonlyArray<string>;
|
|
71
|
+
/**
|
|
72
|
+
* Human-friendly text shown when `LlmChat` fails to process a message.
|
|
73
|
+
* Use metadata overrides in apps (like Agents Server) instead of copying this string.
|
|
74
|
+
*/
|
|
75
|
+
readonly chatFailMessage?: string;
|
|
71
76
|
/**
|
|
72
77
|
* Optional custom error handler that will be called when an error occurs during chat.
|
|
73
78
|
* If not provided, errors will be displayed as messages in the chat.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default user-facing error text shown in chats when the generator fails.
|
|
3
|
+
*
|
|
4
|
+
* @private internal fallback for `LlmChat` so the same string can be reused across the stack without repetition.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DEFAULT_CHAT_FAIL_MESSAGE = "Sorry, I encountered an error processing your message. Please, try again later.";
|
|
7
|
+
/**
|
|
8
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
9
|
+
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Promisable } from 'type-fest';
|
|
2
2
|
import type { id } from '../../../types/typeAliases';
|
|
3
3
|
import type { ChatMessage } from '../types/ChatMessage';
|
|
4
|
+
import type { ChatFeedbackResponse } from '../Chat/ChatProps';
|
|
4
5
|
/**
|
|
5
6
|
* Input parameters for the chat rating hook.
|
|
6
7
|
*
|
|
@@ -21,12 +22,33 @@ export type UseChatRatingsOptions = {
|
|
|
21
22
|
chatThread: string;
|
|
22
23
|
expectedAnswer: string | null;
|
|
23
24
|
url: string;
|
|
24
|
-
}) => Promisable<void>;
|
|
25
|
+
}) => Promisable<ChatFeedbackResponse | void>;
|
|
25
26
|
/**
|
|
26
27
|
* Whether the UI should apply mobile-specific behavior.
|
|
27
28
|
*/
|
|
28
29
|
isMobile: boolean;
|
|
29
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Indicates how the feedback status message should be rendered.
|
|
33
|
+
*
|
|
34
|
+
* @private component of `<Chat/>`
|
|
35
|
+
*/
|
|
36
|
+
export type FeedbackStatusVariant = 'success' | 'error';
|
|
37
|
+
/**
|
|
38
|
+
* Data used to show the transient feedback status toast.
|
|
39
|
+
*
|
|
40
|
+
* @private component of `<Chat/>`
|
|
41
|
+
*/
|
|
42
|
+
export type FeedbackStatus = {
|
|
43
|
+
/**
|
|
44
|
+
* Message displayed to the user.
|
|
45
|
+
*/
|
|
46
|
+
readonly message: string;
|
|
47
|
+
/**
|
|
48
|
+
* Whether the message indicates success or failure.
|
|
49
|
+
*/
|
|
50
|
+
readonly variant: FeedbackStatusVariant;
|
|
51
|
+
};
|
|
30
52
|
/**
|
|
31
53
|
* Rating state tracked for the chat UI.
|
|
32
54
|
*
|
|
@@ -39,7 +61,7 @@ export type ChatRatingsState = {
|
|
|
39
61
|
textRating: string;
|
|
40
62
|
hoveredRating: number;
|
|
41
63
|
expandedMessageId: id | null;
|
|
42
|
-
|
|
64
|
+
feedbackStatus: FeedbackStatus | null;
|
|
43
65
|
};
|
|
44
66
|
/**
|
|
45
67
|
* Rating actions for the chat UI.
|
|
@@ -27,7 +27,7 @@ export type ChatSaveFormatDefinition = {
|
|
|
27
27
|
/**
|
|
28
28
|
* The function that generates the content of the file to be saved
|
|
29
29
|
*/
|
|
30
|
-
getContent(chatExportData: ChatExportData): Promisable<
|
|
30
|
+
getContent(chatExportData: ChatExportData): Promisable<ChatSaveFormatContent>;
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
33
|
* Plugin contract for the data passed to `ChatSaveFormatDefinition.getContent()`
|
|
@@ -48,4 +48,10 @@ type ChatExportData = {
|
|
|
48
48
|
*/
|
|
49
49
|
readonly participants: ReadonlyArray<ChatParticipant>;
|
|
50
50
|
};
|
|
51
|
+
/**
|
|
52
|
+
* Content data that can be wrapped into a browser blob.
|
|
53
|
+
*
|
|
54
|
+
* @private Internal helper type for chat save plugins.
|
|
55
|
+
*/
|
|
56
|
+
type ChatSaveFormatContent = string | Blob | ArrayBuffer | ArrayBufferView;
|
|
51
57
|
export {};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { ChatMessage } from '../../types/ChatMessage';
|
|
2
|
+
import type { ChatParticipant } from '../../types/ChatParticipant';
|
|
1
3
|
/**
|
|
2
4
|
* HTML export plugin
|
|
3
5
|
*
|
|
@@ -6,15 +8,14 @@
|
|
|
6
8
|
export declare const htmlSaveFormatDefinition: {
|
|
7
9
|
readonly formatName: "html";
|
|
8
10
|
readonly label: "Html";
|
|
9
|
-
readonly getContent: ({ messages }: {
|
|
11
|
+
readonly getContent: ({ title, messages, participants }: {
|
|
10
12
|
readonly title: string;
|
|
11
|
-
readonly messages: readonly
|
|
12
|
-
readonly participants: readonly
|
|
13
|
+
readonly messages: readonly ChatMessage[];
|
|
14
|
+
readonly participants: readonly ChatParticipant[];
|
|
13
15
|
}) => string;
|
|
14
16
|
readonly mimeType: "text/html";
|
|
15
17
|
readonly fileExtension: "html";
|
|
16
18
|
};
|
|
17
19
|
/**
|
|
18
|
-
* TODO:
|
|
19
|
-
* TODO: [😬] Take chat save to HTML from existing parallel implementation
|
|
20
|
+
* TODO: Enhance branding
|
|
20
21
|
*/
|
|
@@ -36,7 +36,7 @@ export declare const CHAT_SAVE_FORMATS: readonly [{
|
|
|
36
36
|
}, {
|
|
37
37
|
readonly formatName: "html";
|
|
38
38
|
readonly label: "Html";
|
|
39
|
-
readonly getContent: ({ messages }: {
|
|
39
|
+
readonly getContent: ({ title, messages, participants }: {
|
|
40
40
|
readonly title: string;
|
|
41
41
|
readonly messages: readonly import("../types/ChatMessage").ChatMessage[];
|
|
42
42
|
readonly participants: readonly import("../types/ChatParticipant").ChatParticipant[];
|
|
@@ -56,11 +56,11 @@ export declare const CHAT_SAVE_FORMATS: readonly [{
|
|
|
56
56
|
}, {
|
|
57
57
|
readonly formatName: "pdf";
|
|
58
58
|
readonly label: "Pdf";
|
|
59
|
-
readonly getContent: (
|
|
59
|
+
readonly getContent: ({ messages, participants }: {
|
|
60
60
|
readonly title: string;
|
|
61
61
|
readonly messages: readonly import("../types/ChatMessage").ChatMessage[];
|
|
62
62
|
readonly participants: readonly import("../types/ChatParticipant").ChatParticipant[];
|
|
63
|
-
}) =>
|
|
63
|
+
}) => Uint8Array;
|
|
64
64
|
readonly mimeType: "application/pdf";
|
|
65
65
|
readonly fileExtension: "pdf";
|
|
66
66
|
}];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ChatMessage } from '../../types/ChatMessage';
|
|
2
|
+
import type { ChatParticipant } from '../../types/ChatParticipant';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a minimal PDF representation of the provided chat.
|
|
5
|
+
*
|
|
6
|
+
* @param messages - Messages that should be included in the PDF export.
|
|
7
|
+
* @param participants - Optional participant metadata to resolve sender names.
|
|
8
|
+
* @returns Binary data for the generated PDF file.
|
|
9
|
+
* @private Internal helper used by `pdfSaveFormatDefinition`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function buildChatPdf(messages: ReadonlyArray<ChatMessage>, participants?: ReadonlyArray<ChatParticipant>): Uint8Array;
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
export declare const pdfSaveFormatDefinition: {
|
|
7
7
|
readonly formatName: "pdf";
|
|
8
8
|
readonly label: "Pdf";
|
|
9
|
-
readonly getContent: (
|
|
9
|
+
readonly getContent: ({ messages, participants }: {
|
|
10
10
|
readonly title: string;
|
|
11
11
|
readonly messages: readonly import("../../types/ChatMessage").ChatMessage[];
|
|
12
12
|
readonly participants: readonly import("../../types/ChatParticipant").ChatParticipant[];
|
|
13
|
-
}) =>
|
|
13
|
+
}) => Uint8Array;
|
|
14
14
|
readonly mimeType: "application/pdf";
|
|
15
15
|
readonly fileExtension: "pdf";
|
|
16
16
|
};
|
|
@@ -7,19 +7,13 @@ import type { AgentChipData } from '../AgentChip';
|
|
|
7
7
|
*/
|
|
8
8
|
export type ToolCallChipletInfo = {
|
|
9
9
|
/**
|
|
10
|
-
* Display text for the chiplet
|
|
10
|
+
* Display text for the chiplet.
|
|
11
11
|
*/
|
|
12
12
|
text: string;
|
|
13
13
|
/**
|
|
14
|
-
* Agent data for team tools (if applicable)
|
|
14
|
+
* Agent data for team tools (if applicable).
|
|
15
15
|
*/
|
|
16
16
|
agentData?: AgentChipData;
|
|
17
|
-
/**
|
|
18
|
-
* Whether to wrap the chip text in brackets when rendering.
|
|
19
|
-
*
|
|
20
|
-
* @default true
|
|
21
|
-
*/
|
|
22
|
-
wrapInBrackets?: boolean;
|
|
23
17
|
};
|
|
24
18
|
/**
|
|
25
19
|
* Builds display text for a tool call chiplet.
|
|
@@ -33,12 +27,10 @@ export declare function buildToolCallChipText(chipletInfo: ToolCallChipletInfo):
|
|
|
33
27
|
* Technical to user-friendly tool names and emojis
|
|
34
28
|
*
|
|
35
29
|
* @private utility of `<Chat/>` [🧠] Maybe public?
|
|
36
|
-
*
|
|
37
30
|
*/
|
|
38
31
|
export declare const TOOL_TITLES: Record<string, {
|
|
39
32
|
title: string;
|
|
40
33
|
emoji: string;
|
|
41
|
-
wrapInBrackets?: boolean;
|
|
42
34
|
}>;
|
|
43
35
|
/**
|
|
44
36
|
* Gets the chiplet information including text and agent data (for team tools).
|