@promptbook/editable 0.100.4-0 → 0.101.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/index.es.js +11 -1
- 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 +4 -2
- package/esm/typings/src/_packages/markdown-utils.index.d.ts +14 -0
- package/esm/typings/src/_packages/types.index.d.ts +4 -6
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +21 -0
- package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/AgentModelRequirements.d.ts +1 -1
- package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/AgentSourceParseResult.d.ts +3 -1
- package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/createAgentModelRequirements.d.ts +2 -2
- package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/createAgentModelRequirementsWithCommitments.d.ts +3 -3
- package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/createCommitmentRegex.d.ts +2 -2
- package/esm/typings/src/book-2.0/agent-source/extractMetaLinks.d.ts +8 -0
- package/esm/typings/src/book-2.0/agent-source/parseAgentSource.d.ts +4 -19
- package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.d.ts +9 -0
- package/esm/typings/src/book-2.0/commitments/ACTION/ACTION.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/FORMAT/FORMAT.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/KNOWLEDGE.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/META_IMAGE/META_IMAGE.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/META_LINK/META_LINK.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/MODEL/MODEL.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/NOTE/NOTE.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/PERSONA/PERSONA.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/RULE/RULE.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/SAMPLE/SAMPLE.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/STYLE/STYLE.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/_base/BaseCommitmentDefinition.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/_base/CommitmentDefinition.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/_base/NotYetImplementedCommitmentDefinition.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/{_misc → _base}/ParsedCommitment.d.ts +1 -1
- package/esm/typings/src/book-2.0/commitments/_base/createEmptyAgentModelRequirements.d.ts +1 -1
- package/esm/typings/src/book-2.0/utils/extractAgentMetadata.d.ts +17 -0
- package/esm/typings/src/book-2.0/utils/extractProfileImageFromSystemMessage.d.ts +12 -0
- package/esm/typings/src/book-2.0/utils/generateGravatarUrl.d.ts +10 -0
- package/esm/typings/src/book-2.0/utils/generatePlaceholderAgentProfileImageUrl.d.ts +10 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarChip/AvatarChip.d.ts +1 -1
- package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +2 -8
- package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +6 -0
- package/esm/typings/src/book-components/Chat/examples/ChatMarkdownDemo.d.ts +16 -0
- package/esm/typings/src/book-components/Chat/types/ChatParticipant.d.ts +1 -1
- 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/llm-providers/_common/profiles/llmProviderProfiles.d.ts +1 -1
- package/esm/typings/src/utils/expectation-counters/countCharacters.d.ts +2 -1
- package/esm/typings/src/utils/expectation-counters/countLines.d.ts +2 -1
- package/esm/typings/src/utils/expectation-counters/countPages.d.ts +2 -1
- package/esm/typings/src/utils/expectation-counters/countParagraphs.d.ts +2 -1
- package/esm/typings/src/utils/expectation-counters/countSentences.d.ts +1 -0
- package/esm/typings/src/utils/expectation-counters/countWords.d.ts +3 -1
- package/esm/typings/src/utils/markdown/escapeMarkdownBlock.d.ts +2 -0
- package/esm/typings/src/utils/markdown/humanizeAiText.d.ts +13 -0
- package/esm/typings/src/utils/markdown/humanizeAiText.test.d.ts +1 -0
- package/esm/typings/src/utils/markdown/humanizeAiTextEllipsis.d.ts +13 -0
- package/esm/typings/src/utils/markdown/humanizeAiTextEmdashed.d.ts +13 -0
- package/esm/typings/src/utils/markdown/humanizeAiTextQuotes.d.ts +13 -0
- package/esm/typings/src/utils/markdown/humanizeAiTextWhitespace.d.ts +13 -0
- package/esm/typings/src/utils/markdown/prettifyMarkdown.d.ts +8 -0
- package/esm/typings/src/utils/markdown/promptbookifyAiText.d.ts +12 -0
- package/esm/typings/src/utils/markdown/promptbookifyAiText.test.d.ts +1 -0
- package/esm/typings/src/utils/markdown/removeMarkdownLinks.d.ts +11 -0
- package/esm/typings/src/utils/markdown/removeMarkdownLinks.test.d.ts +4 -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/umd/index.umd.js +11 -1
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/book-2.0/commitments/_misc/parseAgentSourceWithCommitments.d.ts +0 -24
- package/esm/typings/src/book-2.0/utils/profileImageUtils.d.ts +0 -39
- /package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/removeCommentsFromSystemMessage.d.ts +0 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
import type { string_agent_name, string_url_image } from '../../types/typeAliases';
|
2
|
+
export type AgentBasicInformation = {
|
3
|
+
/**
|
4
|
+
* Name of the agent
|
5
|
+
* This is the first line of the agent source
|
6
|
+
*/
|
7
|
+
agentName: string_agent_name | null;
|
8
|
+
/**
|
9
|
+
* Optional description of the agent
|
10
|
+
* This is the line starting with "PERSONA"
|
11
|
+
*/
|
12
|
+
personaDescription: string | null;
|
13
|
+
/**
|
14
|
+
* Optional profile image URL
|
15
|
+
* This is the line starting with "META IMAGE"
|
16
|
+
*/
|
17
|
+
profileImageUrl: string_url_image;
|
18
|
+
};
|
19
|
+
/**
|
20
|
+
* TODO: [🕛] Unite `AgentBasicInformation`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
|
21
|
+
*/
|
package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/AgentSourceParseResult.d.ts
RENAMED
@@ -1,6 +1,8 @@
|
|
1
|
-
import type { ParsedCommitment } from '
|
1
|
+
import type { ParsedCommitment } from '../commitments/_base/ParsedCommitment';
|
2
2
|
/**
|
3
3
|
* Result of parsing agent source for commitments
|
4
|
+
*
|
5
|
+
* @private internal utility of `parseAgentSource` and `parseAgentSourceWithCommitments`
|
4
6
|
*/
|
5
7
|
export type AgentSourceParseResult = {
|
6
8
|
/**
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import type { string_model_name } from '
|
2
|
-
import type { string_book } from '../../agent-source/string_book';
|
1
|
+
import type { string_model_name } from '../../types/typeAliases';
|
3
2
|
import type { AgentModelRequirements } from './AgentModelRequirements';
|
3
|
+
import type { string_book } from './string_book';
|
4
4
|
/**
|
5
5
|
* Creates model requirements for an agent based on its source
|
6
6
|
* Results are cached to improve performance for repeated calls with the same agentSource and modelName
|
@@ -1,12 +1,12 @@
|
|
1
|
-
import type { string_model_name } from '
|
2
|
-
import type { string_book } from '../../agent-source/string_book';
|
1
|
+
import type { string_model_name } from '../../types/typeAliases';
|
3
2
|
import type { AgentModelRequirements } from './AgentModelRequirements';
|
3
|
+
import type { string_book } from './string_book';
|
4
4
|
/**
|
5
5
|
* Creates agent model requirements using the new commitment system
|
6
6
|
* This function uses a reduce-like pattern where each commitment applies its changes
|
7
7
|
* to build the final requirements starting from a basic empty model
|
8
8
|
*
|
9
|
-
* @private
|
9
|
+
* @private - TODO: [🧠] Maybe should be public?
|
10
10
|
*/
|
11
11
|
export declare function createAgentModelRequirementsWithCommitments(agentSource: string_book, modelName?: string_model_name): Promise<AgentModelRequirements>;
|
12
12
|
/**
|
package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/createCommitmentRegex.d.ts
RENAMED
@@ -1,11 +1,11 @@
|
|
1
|
-
import type { BookCommitment } from '../_base/BookCommitment';
|
1
|
+
import type { BookCommitment } from '../commitments/_base/BookCommitment';
|
2
2
|
/**
|
3
3
|
* Generates a regex pattern to match a specific commitment
|
4
4
|
*
|
5
5
|
* Note: It always creates new Regex object
|
6
6
|
* Note: Uses word boundaries to ensure only full words are matched (e.g., "PERSONA" matches but "PERSONALITY" does not)
|
7
7
|
*
|
8
|
-
* @private
|
8
|
+
* @private - TODO: [🧠] Maybe should be public?
|
9
9
|
*/
|
10
10
|
export declare function createCommitmentRegex(commitment: BookCommitment): RegExp;
|
11
11
|
/**
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { string_book } from './string_book';
|
2
|
+
/**
|
3
|
+
* Extracts META LINK commitments from agent source
|
4
|
+
* Returns an array of all META LINK URLs found in the agent source
|
5
|
+
*
|
6
|
+
* @private - TODO: [🧠] Maybe should be public?
|
7
|
+
*/
|
8
|
+
export declare function extractMetaLinks(agentSource: string_book): string[];
|
@@ -1,23 +1,5 @@
|
|
1
|
-
import type {
|
2
|
-
import type { string_url_image } from '../../types/typeAliases';
|
1
|
+
import type { AgentBasicInformation } from './AgentBasicInformation';
|
3
2
|
import type { string_book } from './string_book';
|
4
|
-
export type AgentBasicInformation = {
|
5
|
-
/**
|
6
|
-
* Name of the agent
|
7
|
-
* This is the first line of the agent source
|
8
|
-
*/
|
9
|
-
agentName: string_agent_name | null;
|
10
|
-
/**
|
11
|
-
* Optional description of the agent
|
12
|
-
* This is the line starting with "PERSONA"
|
13
|
-
*/
|
14
|
-
personaDescription: string | null;
|
15
|
-
/**
|
16
|
-
* Optional profile image URL
|
17
|
-
* This is the line starting with "META IMAGE"
|
18
|
-
*/
|
19
|
-
profileImageUrl: string_url_image;
|
20
|
-
};
|
21
3
|
/**
|
22
4
|
* Parses basic information from agent source
|
23
5
|
*
|
@@ -28,3 +10,6 @@ export type AgentBasicInformation = {
|
|
28
10
|
* @public exported from `@promptbook/core`
|
29
11
|
*/
|
30
12
|
export declare function parseAgentSource(agentSource: string_book): AgentBasicInformation;
|
13
|
+
/**
|
14
|
+
* TODO: [🕛] Unite `AgentBasicInformation`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
|
15
|
+
*/
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import type { AgentSourceParseResult } from './AgentSourceParseResult';
|
2
|
+
import type { string_book } from './string_book';
|
3
|
+
/**
|
4
|
+
* Parses agent source using the new commitment system with multiline support
|
5
|
+
* This function replaces the hardcoded commitment parsing in the original parseAgentSource
|
6
|
+
*
|
7
|
+
* @private internal utility of `parseAgentSource`
|
8
|
+
*/
|
9
|
+
export declare function parseAgentSourceWithCommitments(agentSource: string_book): AgentSourceParseResult;
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* ACTION commitment definition
|
5
5
|
*
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* FORMAT commitment definition
|
5
5
|
*
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* KNOWLEDGE commitment definition
|
5
5
|
*
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* META IMAGE commitment definition
|
5
5
|
*
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* META LINK commitment definition
|
5
5
|
*
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* MODEL commitment definition
|
5
5
|
*
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* NOTE commitment definition
|
5
5
|
*
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* PERSONA commitment definition
|
5
5
|
*
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* RULE commitment definition
|
5
5
|
*
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* SAMPLE commitment definition
|
5
5
|
*
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
1
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
-
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
3
|
/**
|
4
4
|
* STYLE commitment definition
|
5
5
|
*
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { AgentModelRequirements } from '
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
2
2
|
import type { CommitmentDefinition } from './CommitmentDefinition';
|
3
3
|
/**
|
4
4
|
* Base implementation of CommitmentDefinition that provides common functionality
|
package/esm/typings/src/book-2.0/commitments/_base/NotYetImplementedCommitmentDefinition.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { AgentModelRequirements } from '
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
2
2
|
import { BaseCommitmentDefinition } from './BaseCommitmentDefinition';
|
3
3
|
/**
|
4
4
|
* Placeholder commitment definition for commitments that are not yet implemented
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { AgentModelRequirements } from '
|
1
|
+
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
2
2
|
/**
|
3
3
|
* Creates an empty/basic agent model requirements object
|
4
4
|
* This serves as the starting point for the reduce-like pattern
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { string_url_image } from '../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Extracts persona, examples, and profile image from agent definition text
|
4
|
+
* @param systemMessage The original system message that may contain PERSONA, EXAMPLE, and META IMAGE lines
|
5
|
+
* @returns Object with extracted information and cleaned system message
|
6
|
+
*
|
7
|
+
* @private - TODO: [🧠] Maybe should be public?
|
8
|
+
*/
|
9
|
+
export declare function extractAgentMetadata(systemMessage: string): {
|
10
|
+
persona?: {
|
11
|
+
name: string;
|
12
|
+
description?: string;
|
13
|
+
};
|
14
|
+
examples: string[];
|
15
|
+
profileImageUrl?: string_url_image;
|
16
|
+
cleanedSystemMessage: string;
|
17
|
+
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import type { string_url_image } from '../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Extracts profile image URL from agent definition text and returns cleaned system message
|
4
|
+
* @param systemMessage The original system message that may contain META IMAGE line
|
5
|
+
* @returns Object with profileImageUrl (if found) and cleanedSystemMessage (without META IMAGE line)
|
6
|
+
*
|
7
|
+
* @private - TODO: [🧠] Maybe should be public?
|
8
|
+
*/
|
9
|
+
export declare function extractProfileImageFromSystemMessage(systemMessage: string): {
|
10
|
+
profileImageUrl?: string_url_image;
|
11
|
+
cleanedSystemMessage: string;
|
12
|
+
};
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { string_agent_name } from '../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Generates a gravatar URL based on agent name for fallback avatar
|
4
|
+
*
|
5
|
+
* @param agentName The agent name to generate avatar for
|
6
|
+
* @returns Gravatar URL
|
7
|
+
*
|
8
|
+
* @private - [🤹] The fact that profile image is Gravatar is just implementation detail which should be hidden for consumer
|
9
|
+
*/
|
10
|
+
export declare function generateGravatarUrl(agentName?: string_agent_name): string;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { string_agent_name, string_url_image } from '../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Generates an image for the agent to use as profile image
|
4
|
+
*
|
5
|
+
* @param agentName The agent name to generate avatar for
|
6
|
+
* @returns The placeholder profile image URL for the agent
|
7
|
+
*
|
8
|
+
* @public exported from `@promptbook/core`
|
9
|
+
*/
|
10
|
+
export declare function generatePlaceholderAgentProfileImageUrl(agentName?: string_agent_name): string_url_image;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { AgentBasicInformation } from '../../../book-2.0/agent-source/
|
1
|
+
import type { AgentBasicInformation } from '../../../book-2.0/agent-source/AgentBasicInformation';
|
2
2
|
import type { string_css_class } from '../../../types/typeAliases';
|
3
3
|
/**
|
4
4
|
* Props of `AvatarChip`
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { AgentBasicInformation } from '../../../book-2.0/agent-source/
|
1
|
+
import type { AgentBasicInformation } from '../../../book-2.0/agent-source/AgentBasicInformation';
|
2
2
|
import type { string_css_class } from '../../../types/typeAliases';
|
3
3
|
/**
|
4
4
|
* Props of `AvatarProfile`
|
@@ -9,10 +9,7 @@ export type AvatarProfileProps = {
|
|
9
9
|
/**
|
10
10
|
* Agent to be shown
|
11
11
|
*/
|
12
|
-
readonly agent: AgentBasicInformation
|
13
|
-
agentTitle?: string;
|
14
|
-
agentDescription?: string;
|
15
|
-
};
|
12
|
+
readonly agent: AgentBasicInformation;
|
16
13
|
/**
|
17
14
|
* Optional CSS class name which will be added to root <div> element
|
18
15
|
*/
|
@@ -24,6 +21,3 @@ export type AvatarProfileProps = {
|
|
24
21
|
* @public exported from `@promptbook/components`
|
25
22
|
*/
|
26
23
|
export declare function AvatarProfile(props: AvatarProfileProps): import("react/jsx-runtime").JSX.Element;
|
27
|
-
/**
|
28
|
-
* TODO: [🕛] Unite `AvatarProfileProps`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
|
29
|
-
*/
|
@@ -79,6 +79,12 @@ export type ChatProps = {
|
|
79
79
|
onAssistantVoiceResponse?: (content: string, isVoiceCall: boolean) => void;
|
80
80
|
onVoiceCallStateChange?: (isVoiceCalling: boolean) => void;
|
81
81
|
};
|
82
|
+
/**
|
83
|
+
* Indicates whether a the text is AI-generated and should be humanized
|
84
|
+
*
|
85
|
+
* @default true
|
86
|
+
*/
|
87
|
+
readonly isAiTextHumanized?: boolean;
|
82
88
|
/**
|
83
89
|
* Indicates whether a voice call is currently active
|
84
90
|
*/
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/**
|
2
|
+
* Demo component showing Chat with markdown rendering capabilities
|
3
|
+
*
|
4
|
+
* This example demonstrates various markdown features supported by the Chat component:
|
5
|
+
* - Headers
|
6
|
+
* - Bold and italic text
|
7
|
+
* - Code blocks and inline code
|
8
|
+
* - Lists (ordered and unordered)
|
9
|
+
* - Links
|
10
|
+
* - Blockquotes
|
11
|
+
* - Tables
|
12
|
+
* - Strikethrough text
|
13
|
+
*
|
14
|
+
* @private temporary for testing purposes
|
15
|
+
*/
|
16
|
+
export declare function ChatMarkdownDemo(): import("react/jsx-runtime").JSX.Element;
|
@@ -28,5 +28,5 @@ export type ChatParticipant = {
|
|
28
28
|
color: string_color | Color;
|
29
29
|
};
|
30
30
|
/**
|
31
|
-
* TODO: [🕛] Unite `
|
31
|
+
* TODO: [🕛] Unite `AgentBasicInformation`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
|
32
32
|
*/
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import type { string_html, string_markdown } from '../../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Convert markdown content to HTML for display in chat messages
|
4
|
+
*
|
5
|
+
* @param markdown - The markdown content to convert
|
6
|
+
* @returns HTML string ready for rendering
|
7
|
+
*
|
8
|
+
* @public exported from `@promptbook/components`
|
9
|
+
* <- TODO: [🧠] Maybe export from `@promptbook/markdown-utils`
|
10
|
+
*/
|
11
|
+
export declare function renderMarkdown(markdown: string_markdown): string_html;
|
12
|
+
/**
|
13
|
+
* Check if content appears to be markdown (contains markdown syntax)
|
14
|
+
*
|
15
|
+
* @param content - Content to check
|
16
|
+
* @returns true if content appears to contain markdown syntax
|
17
|
+
*
|
18
|
+
* @public exported from `@promptbook/components`
|
19
|
+
* <- TODO: [🧠] Maybe export from `@promptbook/markdown-utils`
|
20
|
+
*/
|
21
|
+
export declare function isMarkdownContent(content: string): boolean;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -76,6 +76,6 @@ export declare function getLlmProviderProfile(providerKey: keyof typeof LLM_PROV
|
|
76
76
|
export declare function createCustomLlmProfile(baseProfile: ChatParticipant, overrides: Partial<ChatParticipant>): ChatParticipant;
|
77
77
|
/**
|
78
78
|
* TODO: Refactor this - each profile must be alongside the provider definition
|
79
|
-
* TODO: [🕛] Unite `
|
79
|
+
* TODO: [🕛] Unite `AgentBasicInformation`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
|
80
80
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
81
81
|
*/
|
@@ -7,4 +7,5 @@ import type { ExpectationAmount } from '../../pipeline/PipelineJson/Expectations
|
|
7
7
|
export declare function countCharacters(text: string): ExpectationAmount;
|
8
8
|
/**
|
9
9
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|
10
|
-
|
10
|
+
* TODO: [🧠][✌️] Make some Promptbook-native token system
|
11
|
+
*/
|
@@ -9,4 +9,5 @@ import type { ExpectationAmount } from '../../pipeline/PipelineJson/Expectations
|
|
9
9
|
export declare function countLines(text: string): ExpectationAmount;
|
10
10
|
/**
|
11
11
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|
12
|
-
|
12
|
+
* TODO: [🧠][✌️] Make some Promptbook-native token system
|
13
|
+
*/
|
@@ -9,4 +9,5 @@ import type { ExpectationAmount } from '../../pipeline/PipelineJson/Expectations
|
|
9
9
|
export declare function countPages(text: string): ExpectationAmount;
|
10
10
|
/**
|
11
11
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|
12
|
-
|
12
|
+
* TODO: [🧠][✌️] Make some Promptbook-native token system
|
13
|
+
*/
|
@@ -7,4 +7,5 @@ import type { ExpectationAmount } from '../../pipeline/PipelineJson/Expectations
|
|
7
7
|
export declare function countParagraphs(text: string): ExpectationAmount;
|
8
8
|
/**
|
9
9
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|
10
|
-
|
10
|
+
* TODO: [🧠][✌️] Make some Promptbook-native token system
|
11
|
+
*/
|
@@ -13,4 +13,5 @@ export declare function splitIntoSentences(text: string): ReadonlyArray<string>;
|
|
13
13
|
export declare function countSentences(text: string): ExpectationAmount;
|
14
14
|
/**
|
15
15
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|
16
|
+
* TODO: [🧠][✌️] Make some Promptbook-native token system
|
16
17
|
*/
|
@@ -7,4 +7,6 @@ import type { ExpectationAmount } from '../../pipeline/PipelineJson/Expectations
|
|
7
7
|
export declare function countWords(text: string): ExpectationAmount;
|
8
8
|
/**
|
9
9
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|
10
|
-
|
10
|
+
* TODO: [🧠][✌️] Make some Promptbook-native token system
|
11
|
+
* TODO: [✌️] `countWords` should be just `splitWords(...).length`, and all other counters should use this pattern as well
|
12
|
+
*/
|
@@ -3,6 +3,8 @@ import type { string_markdown_text } from '../../types/typeAliases';
|
|
3
3
|
* Function escapeMarkdownBlock will escape markdown block if needed
|
4
4
|
* It is useful when you want have block in block
|
5
5
|
*
|
6
|
+
* Note: [🔂] This function is idempotent.
|
7
|
+
*
|
6
8
|
* @public exported from `@promptbook/markdown-utils`
|
7
9
|
*/
|
8
10
|
export declare function escapeMarkdownBlock(value: string_markdown_text): string_markdown_text;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { string_markdown } from '../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Function `humanizeAiText` will remove traces of AI text generation artifacts
|
4
|
+
*
|
5
|
+
* Note: [🔂] This function is idempotent.
|
6
|
+
* Tip: If you want more control, look for other functions for example `humanizeAiTextEmdashed` exported `@promptbook/markdown-utils`
|
7
|
+
*
|
8
|
+
* @public exported from `@promptbook/markdown-utils`
|
9
|
+
*/
|
10
|
+
export declare function humanizeAiText(aiText: string_markdown): string_markdown;
|
11
|
+
/**
|
12
|
+
* TODO: [🅾️] !!! Use this across the project where AI text is involved
|
13
|
+
*/
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { string_markdown } from '../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Change ellipsis character to three dots `…` -> `...`
|
4
|
+
*
|
5
|
+
* Note: [🔂] This function is idempotent.
|
6
|
+
* Tip: If you want to do the full cleanup, look for `humanizeAiText` exported `@promptbook/markdown-utils`
|
7
|
+
*
|
8
|
+
* @public exported from `@promptbook/markdown-utils`
|
9
|
+
*/
|
10
|
+
export declare function humanizeAiTextEllipsis(aiText: string_markdown): string_markdown;
|
11
|
+
/**
|
12
|
+
* Note: [🏂] This function is not tested by itself but together with other cleanup functions with `humanizeAiText`
|
13
|
+
*/
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { string_markdown } from '../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Change em-dashes to regular dashes `—` -> `-`
|
4
|
+
*
|
5
|
+
* Note: [🔂] This function is idempotent.
|
6
|
+
* Tip: If you want to do the full cleanup, look for `humanizeAiText` exported `@promptbook/markdown-utils`
|
7
|
+
*
|
8
|
+
* @public exported from `@promptbook/markdown-utils`
|
9
|
+
*/
|
10
|
+
export declare function humanizeAiTextEmdashed(aiText: string_markdown): string_markdown;
|
11
|
+
/**
|
12
|
+
* Note: [🏂] This function is not tested by itself but together with other cleanup functions with `humanizeAiText`
|
13
|
+
*/
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { string_markdown } from '../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Change smart quotes to regular quotes
|
4
|
+
*
|
5
|
+
* Note: [🔂] This function is idempotent.
|
6
|
+
* Tip: If you want to do the full cleanup, look for `humanizeAiText` exported `@promptbook/markdown-utils`
|
7
|
+
*
|
8
|
+
* @public exported from `@promptbook/markdown-utils`
|
9
|
+
*/
|
10
|
+
export declare function humanizeAiTextQuotes(aiText: string_markdown): string_markdown;
|
11
|
+
/**
|
12
|
+
* Note: [🏂] This function is not tested by itself but together with other cleanup functions with `humanizeAiText`
|
13
|
+
*/
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { string_markdown } from '../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Change unprintable hard spaces to regular spaces
|
4
|
+
*
|
5
|
+
* Note: [🔂] This function is idempotent.
|
6
|
+
* Tip: If you want to do the full cleanup, look for `humanizeAiText` exported `@promptbook/markdown-utils`
|
7
|
+
*
|
8
|
+
* @public exported from `@promptbook/markdown-utils`
|
9
|
+
*/
|
10
|
+
export declare function humanizeAiTextWhitespace(aiText: string_markdown): string_markdown;
|
11
|
+
/**
|
12
|
+
* Note: [🏂] This function is not tested by itself but together with other cleanup functions with `humanizeAiText`
|
13
|
+
*/
|
@@ -7,3 +7,11 @@ import type { string_html } from '../../types/typeAliases';
|
|
7
7
|
* @private withing the package because of HUGE size of prettier dependency
|
8
8
|
*/
|
9
9
|
export declare function prettifyMarkdown<TContent extends string_html>(content: TContent): TContent;
|
10
|
+
/**
|
11
|
+
* Async version of prettifyMarkdown using dynamic imports
|
12
|
+
*
|
13
|
+
* @param content raw html code
|
14
|
+
* @returns formatted html code
|
15
|
+
* @private withing the package because of HUGE size of prettier dependency
|
16
|
+
*/
|
17
|
+
export declare function prettifyMarkdownAsync<TContent extends string_html>(content: TContent): Promise<TContent>;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { string_markdown } from '../../types/typeAliases';
|
2
|
+
/**
|
3
|
+
* Function `promptbookifyAiText` will slightly modify the text so we know it was processed by Promptbook
|
4
|
+
*
|
5
|
+
* @public exported from `@promptbook/markdown-utils`
|
6
|
+
*/
|
7
|
+
export declare function promptbookifyAiText(text: string_markdown): string_markdown;
|
8
|
+
/**
|
9
|
+
* TODO: !!!!! Make the function idempotent and add "Note: [🔂] This function is idempotent."
|
10
|
+
* TODO: [🅾️]!!! Use this across the project where AI text is involved
|
11
|
+
* TODO: [🧠][✌️] Make some Promptbook-native token system
|
12
|
+
*/
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/**
|
2
|
+
* Removes Markdown link tags from a string.
|
3
|
+
*
|
4
|
+
* @param {string} str - The string to remove Markdown tags from.
|
5
|
+
* @returns {string} The input string with all Markdown tags removed.
|
6
|
+
* @public exported from `@promptbook/markdown-utils`
|
7
|
+
*/
|
8
|
+
export declare function removeMarkdownLinks(str: string): string;
|
9
|
+
/**
|
10
|
+
* @see https://chat.openai.com/chat/bb7c3a5b-fe9c-4ccc-9057-f47e0fd66489
|
11
|
+
*/
|