@promptbook/wizard 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.
Files changed (81) hide show
  1. package/esm/index.es.js +40 -7
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/src/_packages/components.index.d.ts +4 -0
  4. package/esm/typings/src/_packages/core.index.d.ts +4 -2
  5. package/esm/typings/src/_packages/markdown-utils.index.d.ts +14 -0
  6. package/esm/typings/src/_packages/types.index.d.ts +4 -6
  7. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +21 -0
  8. package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/AgentModelRequirements.d.ts +1 -1
  9. package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/AgentSourceParseResult.d.ts +3 -1
  10. package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/createAgentModelRequirements.d.ts +2 -2
  11. package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/createAgentModelRequirementsWithCommitments.d.ts +3 -3
  12. package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/createCommitmentRegex.d.ts +2 -2
  13. package/esm/typings/src/book-2.0/agent-source/extractMetaLinks.d.ts +8 -0
  14. package/esm/typings/src/book-2.0/agent-source/parseAgentSource.d.ts +4 -19
  15. package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.d.ts +9 -0
  16. package/esm/typings/src/book-2.0/commitments/ACTION/ACTION.d.ts +1 -1
  17. package/esm/typings/src/book-2.0/commitments/FORMAT/FORMAT.d.ts +1 -1
  18. package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/KNOWLEDGE.d.ts +1 -1
  19. package/esm/typings/src/book-2.0/commitments/META_IMAGE/META_IMAGE.d.ts +1 -1
  20. package/esm/typings/src/book-2.0/commitments/META_LINK/META_LINK.d.ts +1 -1
  21. package/esm/typings/src/book-2.0/commitments/MODEL/MODEL.d.ts +1 -1
  22. package/esm/typings/src/book-2.0/commitments/NOTE/NOTE.d.ts +1 -1
  23. package/esm/typings/src/book-2.0/commitments/PERSONA/PERSONA.d.ts +1 -1
  24. package/esm/typings/src/book-2.0/commitments/RULE/RULE.d.ts +1 -1
  25. package/esm/typings/src/book-2.0/commitments/SAMPLE/SAMPLE.d.ts +1 -1
  26. package/esm/typings/src/book-2.0/commitments/STYLE/STYLE.d.ts +1 -1
  27. package/esm/typings/src/book-2.0/commitments/_base/BaseCommitmentDefinition.d.ts +1 -1
  28. package/esm/typings/src/book-2.0/commitments/_base/CommitmentDefinition.d.ts +1 -1
  29. package/esm/typings/src/book-2.0/commitments/_base/NotYetImplementedCommitmentDefinition.d.ts +1 -1
  30. package/esm/typings/src/book-2.0/commitments/{_misc → _base}/ParsedCommitment.d.ts +1 -1
  31. package/esm/typings/src/book-2.0/commitments/_base/createEmptyAgentModelRequirements.d.ts +1 -1
  32. package/esm/typings/src/book-2.0/utils/extractAgentMetadata.d.ts +17 -0
  33. package/esm/typings/src/book-2.0/utils/extractProfileImageFromSystemMessage.d.ts +12 -0
  34. package/esm/typings/src/book-2.0/utils/generateGravatarUrl.d.ts +10 -0
  35. package/esm/typings/src/book-2.0/utils/generatePlaceholderAgentProfileImageUrl.d.ts +10 -0
  36. package/esm/typings/src/book-components/AvatarProfile/AvatarChip/AvatarChip.d.ts +1 -1
  37. package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +2 -8
  38. package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +6 -0
  39. package/esm/typings/src/book-components/Chat/examples/ChatMarkdownDemo.d.ts +16 -0
  40. package/esm/typings/src/book-components/Chat/types/ChatParticipant.d.ts +1 -1
  41. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +21 -0
  42. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.test.d.ts +1 -0
  43. package/esm/typings/src/llm-providers/_common/profiles/llmProviderProfiles.d.ts +1 -1
  44. package/esm/typings/src/utils/expectation-counters/countCharacters.d.ts +2 -1
  45. package/esm/typings/src/utils/expectation-counters/countLines.d.ts +2 -1
  46. package/esm/typings/src/utils/expectation-counters/countPages.d.ts +2 -1
  47. package/esm/typings/src/utils/expectation-counters/countParagraphs.d.ts +2 -1
  48. package/esm/typings/src/utils/expectation-counters/countSentences.d.ts +1 -0
  49. package/esm/typings/src/utils/expectation-counters/countWords.d.ts +3 -1
  50. package/esm/typings/src/utils/markdown/escapeMarkdownBlock.d.ts +2 -0
  51. package/esm/typings/src/utils/markdown/humanizeAiText.d.ts +13 -0
  52. package/esm/typings/src/utils/markdown/humanizeAiText.test.d.ts +1 -0
  53. package/esm/typings/src/utils/markdown/humanizeAiTextEllipsis.d.ts +13 -0
  54. package/esm/typings/src/utils/markdown/humanizeAiTextEmdashed.d.ts +13 -0
  55. package/esm/typings/src/utils/markdown/humanizeAiTextQuotes.d.ts +13 -0
  56. package/esm/typings/src/utils/markdown/humanizeAiTextWhitespace.d.ts +13 -0
  57. package/esm/typings/src/utils/markdown/prettifyMarkdown.d.ts +8 -0
  58. package/esm/typings/src/utils/markdown/promptbookifyAiText.d.ts +12 -0
  59. package/esm/typings/src/utils/markdown/promptbookifyAiText.test.d.ts +1 -0
  60. package/esm/typings/src/utils/markdown/removeMarkdownLinks.d.ts +11 -0
  61. package/esm/typings/src/utils/markdown/removeMarkdownLinks.test.d.ts +4 -0
  62. package/esm/typings/src/utils/normalization/capitalize.d.ts +2 -0
  63. package/esm/typings/src/utils/normalization/decapitalize.d.ts +3 -1
  64. package/esm/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +2 -0
  65. package/esm/typings/src/utils/normalization/normalizeTo_snake_case.d.ts +2 -0
  66. package/esm/typings/src/utils/normalization/normalizeWhitespaces.d.ts +2 -0
  67. package/esm/typings/src/utils/normalization/removeDiacritics.d.ts +2 -0
  68. package/esm/typings/src/utils/parseNumber.d.ts +1 -0
  69. package/esm/typings/src/utils/removeEmojis.d.ts +2 -0
  70. package/esm/typings/src/utils/removeQuotes.d.ts +1 -0
  71. package/esm/typings/src/utils/serialization/deepClone.d.ts +1 -0
  72. package/esm/typings/src/utils/trimCodeBlock.d.ts +1 -0
  73. package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +1 -0
  74. package/esm/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -0
  75. package/esm/typings/src/version.d.ts +1 -1
  76. package/package.json +2 -2
  77. package/umd/index.umd.js +45 -11
  78. package/umd/index.umd.js.map +1 -1
  79. package/esm/typings/src/book-2.0/commitments/_misc/parseAgentSourceWithCommitments.d.ts +0 -24
  80. package/esm/typings/src/book-2.0/utils/profileImageUtils.d.ts +0 -39
  81. /package/esm/typings/src/book-2.0/{commitments/_misc → agent-source}/removeCommentsFromSystemMessage.d.ts +0 -0
@@ -16,6 +16,8 @@ import { LlmChat } from '../book-components/Chat/LlmChat/LlmChat';
16
16
  import type { LlmChatProps } from '../book-components/Chat/LlmChat/LlmChatProps';
17
17
  import type { ChatMessage } from '../book-components/Chat/types/ChatMessage';
18
18
  import type { ChatParticipant } from '../book-components/Chat/types/ChatParticipant';
19
+ import { renderMarkdown } from '../book-components/Chat/utils/renderMarkdown';
20
+ import { isMarkdownContent } from '../book-components/Chat/utils/renderMarkdown';
19
21
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
20
22
  export type { AvatarChipProps };
21
23
  export { AvatarChip };
@@ -34,3 +36,5 @@ export { LlmChat };
34
36
  export type { LlmChatProps };
35
37
  export type { ChatMessage };
36
38
  export type { ChatParticipant };
39
+ export { renderMarkdown };
40
+ export { isMarkdownContent };
@@ -1,4 +1,5 @@
1
1
  import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
2
+ import { createAgentModelRequirements } from '../book-2.0/agent-source/createAgentModelRequirements';
2
3
  import { parseAgentSource } from '../book-2.0/agent-source/parseAgentSource';
3
4
  import { isValidBook } from '../book-2.0/agent-source/string_book';
4
5
  import { validateBook } from '../book-2.0/agent-source/string_book';
@@ -6,11 +7,11 @@ import { DEFAULT_BOOK } from '../book-2.0/agent-source/string_book';
6
7
  import { createEmptyAgentModelRequirements } from '../book-2.0/commitments/_base/createEmptyAgentModelRequirements';
7
8
  import { createBasicAgentModelRequirements } from '../book-2.0/commitments/_base/createEmptyAgentModelRequirements';
8
9
  import { NotYetImplementedCommitmentDefinition } from '../book-2.0/commitments/_base/NotYetImplementedCommitmentDefinition';
9
- import { createAgentModelRequirements } from '../book-2.0/commitments/_misc/createAgentModelRequirements';
10
10
  import { getCommitmentDefinition } from '../book-2.0/commitments/index';
11
11
  import { getAllCommitmentDefinitions } from '../book-2.0/commitments/index';
12
12
  import { getAllCommitmentTypes } from '../book-2.0/commitments/index';
13
13
  import { isCommitmentSupported } from '../book-2.0/commitments/index';
14
+ import { generatePlaceholderAgentProfileImageUrl } from '../book-2.0/utils/generatePlaceholderAgentProfileImageUrl';
14
15
  import { collectionToJson } from '../collection/collectionToJson';
15
16
  import { createCollectionFromJson } from '../collection/constructors/createCollectionFromJson';
16
17
  import { createCollectionFromPromise } from '../collection/constructors/createCollectionFromPromise';
@@ -163,6 +164,7 @@ import { SectionTypes } from '../types/SectionType';
163
164
  import { TaskTypes } from '../types/TaskType';
164
165
  import { REMOTE_SERVER_URLS } from '../../servers';
165
166
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
167
+ export { createAgentModelRequirements };
166
168
  export { parseAgentSource };
167
169
  export { isValidBook };
168
170
  export { validateBook };
@@ -170,11 +172,11 @@ export { DEFAULT_BOOK };
170
172
  export { createEmptyAgentModelRequirements };
171
173
  export { createBasicAgentModelRequirements };
172
174
  export { NotYetImplementedCommitmentDefinition };
173
- export { createAgentModelRequirements };
174
175
  export { getCommitmentDefinition };
175
176
  export { getAllCommitmentDefinitions };
176
177
  export { getAllCommitmentTypes };
177
178
  export { isCommitmentSupported };
179
+ export { generatePlaceholderAgentProfileImageUrl };
178
180
  export { collectionToJson };
179
181
  export { createCollectionFromJson };
180
182
  export { createCollectionFromPromise };
@@ -17,10 +17,17 @@ import { extractAllBlocksFromMarkdown } from '../utils/markdown/extractAllBlocks
17
17
  import { extractAllListItemsFromMarkdown } from '../utils/markdown/extractAllListItemsFromMarkdown';
18
18
  import { extractOneBlockFromMarkdown } from '../utils/markdown/extractOneBlockFromMarkdown';
19
19
  import { flattenMarkdown } from '../utils/markdown/flattenMarkdown';
20
+ import { humanizeAiText } from '../utils/markdown/humanizeAiText';
21
+ import { humanizeAiTextEllipsis } from '../utils/markdown/humanizeAiTextEllipsis';
22
+ import { humanizeAiTextEmdashed } from '../utils/markdown/humanizeAiTextEmdashed';
23
+ import { humanizeAiTextQuotes } from '../utils/markdown/humanizeAiTextQuotes';
24
+ import { humanizeAiTextWhitespace } from '../utils/markdown/humanizeAiTextWhitespace';
20
25
  import type { MarkdownSection } from '../utils/markdown/parseMarkdownSection';
21
26
  import { parseMarkdownSection } from '../utils/markdown/parseMarkdownSection';
27
+ import { promptbookifyAiText } from '../utils/markdown/promptbookifyAiText';
22
28
  import { removeMarkdownComments } from '../utils/markdown/removeMarkdownComments';
23
29
  import { removeMarkdownFormatting } from '../utils/markdown/removeMarkdownFormatting';
30
+ import { removeMarkdownLinks } from '../utils/markdown/removeMarkdownLinks';
24
31
  import { splitMarkdownIntoSections } from '../utils/markdown/splitMarkdownIntoSections';
25
32
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
26
33
  export { extractBlock };
@@ -41,8 +48,15 @@ export { extractAllBlocksFromMarkdown };
41
48
  export { extractAllListItemsFromMarkdown };
42
49
  export { extractOneBlockFromMarkdown };
43
50
  export { flattenMarkdown };
51
+ export { humanizeAiText };
52
+ export { humanizeAiTextEllipsis };
53
+ export { humanizeAiTextEmdashed };
54
+ export { humanizeAiTextQuotes };
55
+ export { humanizeAiTextWhitespace };
44
56
  export type { MarkdownSection };
45
57
  export { parseMarkdownSection };
58
+ export { promptbookifyAiText };
46
59
  export { removeMarkdownComments };
47
60
  export { removeMarkdownFormatting };
61
+ export { removeMarkdownLinks };
48
62
  export { splitMarkdownIntoSections };
@@ -1,10 +1,9 @@
1
- import type { AgentBasicInformation } from '../book-2.0/agent-source/parseAgentSource';
1
+ import type { AgentBasicInformation } from '../book-2.0/agent-source/AgentBasicInformation';
2
+ import type { AgentModelRequirements } from '../book-2.0/agent-source/AgentModelRequirements';
2
3
  import type { string_book } from '../book-2.0/agent-source/string_book';
3
4
  import type { BookCommitment } from '../book-2.0/commitments/_base/BookCommitment';
4
5
  import type { CommitmentDefinition } from '../book-2.0/commitments/_base/CommitmentDefinition';
5
- import type { AgentModelRequirements } from '../book-2.0/commitments/_misc/AgentModelRequirements';
6
- import type { AgentSourceParseResult } from '../book-2.0/commitments/_misc/AgentSourceParseResult';
7
- import type { ParsedCommitment } from '../book-2.0/commitments/_misc/ParsedCommitment';
6
+ import type { ParsedCommitment } from '../book-2.0/commitments/_base/ParsedCommitment';
8
7
  import type { AvatarChipProps } from '../book-components/AvatarProfile/AvatarChip/AvatarChip';
9
8
  import type { AvatarChipFromSourceProps } from '../book-components/AvatarProfile/AvatarChip/AvatarChipFromSource';
10
9
  import type { AvatarProfileProps } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfile';
@@ -322,11 +321,10 @@ import type { ExportJsonOptions } from '../utils/serialization/exportJson';
322
321
  import type { ITakeChain } from '../utils/take/interfaces/ITakeChain';
323
322
  import type { string_promptbook_version } from '../version';
324
323
  export type { AgentBasicInformation };
324
+ export type { AgentModelRequirements };
325
325
  export type { string_book };
326
326
  export type { BookCommitment };
327
327
  export type { CommitmentDefinition };
328
- export type { AgentModelRequirements };
329
- export type { AgentSourceParseResult };
330
328
  export type { ParsedCommitment };
331
329
  export type { AvatarChipProps };
332
330
  export type { AvatarChipFromSourceProps };
@@ -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
+ */
@@ -1,4 +1,4 @@
1
- import type { TODO_any } from '../../../utils/organization/TODO_any';
1
+ import type { TODO_any } from '../../utils/organization/TODO_any';
2
2
  /**
3
3
  * Model requirements for an agent
4
4
  *
@@ -1,6 +1,8 @@
1
- import type { ParsedCommitment } from './ParsedCommitment';
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 '../../../types/typeAliases';
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 '../../../types/typeAliases';
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
  /**
@@ -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 { string_agent_name } from '../../types/typeAliases';
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 '../_misc/AgentModelRequirements';
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
@@ -1,4 +1,4 @@
1
- import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
1
+ import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
2
2
  /**
3
3
  * Definition of a commitment that can be applied to agent model requirements
4
4
  *
@@ -1,4 +1,4 @@
1
- import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
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 { BookCommitment } from '../_base/BookCommitment';
1
+ import type { BookCommitment } from './BookCommitment';
2
2
  /**
3
3
  * Parsed commitment line from agent source
4
4
  */
@@ -1,4 +1,4 @@
1
- import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
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/parseAgentSource';
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/parseAgentSource';
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 `AvatarProfileProps`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
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;
@@ -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 `AvatarProfileProps`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
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
+ */