@promptbook/utils 0.101.0-20 → 0.101.0-21

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 (49) hide show
  1. package/esm/index.es.js +1 -1
  2. package/esm/typings/src/book-2.0/commitments/ACTION/ACTION.d.ts +0 -12
  3. package/esm/typings/src/book-2.0/commitments/DELETE/DELETE.d.ts +0 -24
  4. package/esm/typings/src/book-2.0/commitments/FORMAT/FORMAT.d.ts +0 -12
  5. package/esm/typings/src/book-2.0/commitments/GOAL/GOAL.d.ts +0 -12
  6. package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/KNOWLEDGE.d.ts +0 -6
  7. package/esm/typings/src/book-2.0/commitments/MEMORY/MEMORY.d.ts +0 -12
  8. package/esm/typings/src/book-2.0/commitments/MESSAGE/MESSAGE.d.ts +0 -12
  9. package/esm/typings/src/book-2.0/commitments/META/META.d.ts +0 -6
  10. package/esm/typings/src/book-2.0/commitments/META_IMAGE/META_IMAGE.d.ts +0 -6
  11. package/esm/typings/src/book-2.0/commitments/META_LINK/META_LINK.d.ts +0 -6
  12. package/esm/typings/src/book-2.0/commitments/MODEL/MODEL.d.ts +0 -12
  13. package/esm/typings/src/book-2.0/commitments/NOTE/NOTE.d.ts +0 -24
  14. package/esm/typings/src/book-2.0/commitments/PERSONA/PERSONA.d.ts +0 -12
  15. package/esm/typings/src/book-2.0/commitments/RULE/RULE.d.ts +0 -12
  16. package/esm/typings/src/book-2.0/commitments/SAMPLE/SAMPLE.d.ts +0 -12
  17. package/esm/typings/src/book-2.0/commitments/SCENARIO/SCENARIO.d.ts +0 -12
  18. package/esm/typings/src/book-2.0/commitments/STYLE/STYLE.d.ts +0 -12
  19. package/esm/typings/src/book-2.0/commitments/_base/createEmptyAgentModelRequirements.d.ts +1 -1
  20. package/esm/typings/src/book-components/AvatarProfile/AvatarChip/AvatarChip.d.ts +3 -0
  21. package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +3 -0
  22. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +3 -0
  23. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +2 -16
  24. package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +3 -0
  25. package/esm/typings/src/execution/PromptResult.d.ts +2 -4
  26. package/esm/typings/src/llm-providers/_multiple/MultipleLlmExecutionTools.d.ts +2 -5
  27. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +6 -2
  28. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +3 -8
  29. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +4 -5
  30. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +2 -5
  31. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +2 -0
  32. package/esm/typings/src/llm-providers/mocked/test/joker.test.d.ts +4 -0
  33. package/esm/typings/src/llm-providers/mocked/test/mocked-chat.test.d.ts +5 -0
  34. package/esm/typings/src/llm-providers/mocked/test/mocked-completion.test.d.ts +4 -0
  35. package/esm/typings/src/llm-providers/ollama/OllamaExecutionTools.d.ts +3 -3
  36. package/esm/typings/src/llm-providers/openai/OpenAiCompatibleExecutionTools.d.ts +1 -0
  37. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +3 -8
  38. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +5 -14
  39. package/esm/typings/src/scripting/_test/postprocessing.test.d.ts +1 -0
  40. package/esm/typings/src/utils/markdown/humanizeAiText.d.ts +0 -1
  41. package/esm/typings/src/utils/markdown/promptbookifyAiText.d.ts +2 -2
  42. package/esm/typings/src/version.d.ts +1 -1
  43. package/package.json +1 -1
  44. package/umd/index.umd.js +1 -1
  45. package/esm/typings/src/book-components/Chat/examples/ChatMarkdownDemo.d.ts +0 -16
  46. package/esm/typings/src/expectations/drafts/isDomainNameFree.d.ts +0 -10
  47. package/esm/typings/src/expectations/drafts/isGithubNameFree.d.ts +0 -10
  48. package/esm/typings/src/llm-providers/_common/profiles/llmProviderProfiles.d.ts +0 -81
  49. /package/esm/typings/src/{llm-providers/_common/profiles/test/llmProviderProfiles.test.d.ts → cli/test/ptbk.test.d.ts} +0 -0
package/esm/index.es.js CHANGED
@@ -16,7 +16,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
16
16
  * @generated
17
17
  * @see https://github.com/webgptorg/promptbook
18
18
  */
19
- const PROMPTBOOK_ENGINE_VERSION = '0.101.0-20';
19
+ const PROMPTBOOK_ENGINE_VERSION = '0.101.0-21';
20
20
  /**
21
21
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
22
22
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -27,18 +27,6 @@ export declare class ActionCommitmentDefinition extends BaseCommitmentDefinition
27
27
  get documentation(): string;
28
28
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
29
29
  }
30
- /**
31
- * Singleton instance of the ACTION commitment definition
32
- *
33
- * @private [🪔] Maybe export the commitments through some package
34
- */
35
- export declare const ActionCommitment: ActionCommitmentDefinition;
36
- /**
37
- * Singleton instance of the ACTIONS commitment definition
38
- *
39
- * @private [🪔] Maybe export the commitments through some package
40
- */
41
- export declare const ActionsCommitment: ActionCommitmentDefinition;
42
30
  /**
43
31
  * Note: [💞] Ignore a discrepancy between file name and entity name
44
32
  */
@@ -30,30 +30,6 @@ export declare class DeleteCommitmentDefinition extends BaseCommitmentDefinition
30
30
  get documentation(): string;
31
31
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
32
32
  }
33
- /**
34
- * Singleton instances of the DELETE commitment definitions with aliases
35
- *
36
- * @private [🪔] Maybe export the commitments through some package
37
- */
38
- export declare const DeleteCommitment: DeleteCommitmentDefinition;
39
- /**
40
- * Singleton instances of the DELETE commitment definitions with aliases
41
- *
42
- * @private [🪔] Maybe export the commitments through some package
43
- */
44
- export declare const CancelCommitment: DeleteCommitmentDefinition;
45
- /**
46
- * Singleton instances of the DELETE commitment definitions with aliases
47
- *
48
- * @private [🪔] Maybe export the commitments through some package
49
- */
50
- export declare const DiscardCommitment: DeleteCommitmentDefinition;
51
- /**
52
- * Singleton instances of the DELETE commitment definitions with aliases
53
- *
54
- * @private [🪔] Maybe export the commitments through some package
55
- */
56
- export declare const RemoveCommitment: DeleteCommitmentDefinition;
57
33
  /**
58
34
  * Note: [💞] Ignore a discrepancy between file name and entity name
59
35
  */
@@ -28,18 +28,6 @@ export declare class FormatCommitmentDefinition extends BaseCommitmentDefinition
28
28
  get documentation(): string;
29
29
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
30
30
  }
31
- /**
32
- * Singleton instance of the FORMAT commitment definition
33
- *
34
- * @private [🪔] Maybe export the commitments through some package
35
- */
36
- export declare const FormatCommitment: FormatCommitmentDefinition;
37
- /**
38
- * Singleton instance of the FORMATS commitment definition
39
- *
40
- * @private [🪔] Maybe export the commitments through some package
41
- */
42
- export declare const FormatsCommitment: FormatCommitmentDefinition;
43
31
  /**
44
32
  * Note: [💞] Ignore a discrepancy between file name and entity name
45
33
  */
@@ -28,18 +28,6 @@ export declare class GoalCommitmentDefinition extends BaseCommitmentDefinition<'
28
28
  get documentation(): string;
29
29
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
30
30
  }
31
- /**
32
- * Singleton instance of the GOAL commitment definition
33
- *
34
- * @private [🪔] Maybe export the commitments through some package
35
- */
36
- export declare const GoalCommitment: GoalCommitmentDefinition;
37
- /**
38
- * Singleton instance of the GOALS commitment definition
39
- *
40
- * @private [🪔] Maybe export the commitments through some package
41
- */
42
- export declare const GoalsCommitment: GoalCommitmentDefinition;
43
31
  /**
44
32
  * Note: [💞] Ignore a discrepancy between file name and entity name
45
33
  */
@@ -34,12 +34,6 @@ export declare class KnowledgeCommitmentDefinition extends BaseCommitmentDefinit
34
34
  */
35
35
  private isUrl;
36
36
  }
37
- /**
38
- * Singleton instance of the KNOWLEDGE commitment definition !!!!
39
- *
40
- * @private [🪔] Maybe export the commitments through some package
41
- */
42
- export declare const KnowledgeCommitment: KnowledgeCommitmentDefinition;
43
37
  /**
44
38
  * Note: [💞] Ignore a discrepancy between file name and entity name
45
39
  */
@@ -29,18 +29,6 @@ export declare class MemoryCommitmentDefinition extends BaseCommitmentDefinition
29
29
  get documentation(): string;
30
30
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
31
31
  }
32
- /**
33
- * Singleton instance of the MEMORY commitment definition
34
- *
35
- * @private [🪔] Maybe export the commitments through some package
36
- */
37
- export declare const MemoryCommitment: MemoryCommitmentDefinition;
38
- /**
39
- * Singleton instance of the MEMORIES commitment definition
40
- *
41
- * @private [🪔] Maybe export the commitments through some package
42
- */
43
- export declare const MemoriesCommitment: MemoryCommitmentDefinition;
44
32
  /**
45
33
  * Note: [💞] Ignore a discrepancy between file name and entity name
46
34
  */
@@ -30,18 +30,6 @@ export declare class MessageCommitmentDefinition extends BaseCommitmentDefinitio
30
30
  get documentation(): string;
31
31
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
32
32
  }
33
- /**
34
- * Singleton instance of the MESSAGE commitment definition
35
- *
36
- * @private [🪔] Maybe export the commitments through some package
37
- */
38
- export declare const MessageCommitment: MessageCommitmentDefinition;
39
- /**
40
- * Singleton instance of the MESSAGES commitment definition
41
- *
42
- * @private [🪔] Maybe export the commitments through some package
43
- */
44
- export declare const MessagesCommitment: MessageCommitmentDefinition;
45
33
  /**
46
34
  * Note: [💞] Ignore a discrepancy between file name and entity name
47
35
  */
@@ -51,12 +51,6 @@ export declare class MetaCommitmentDefinition extends BaseCommitmentDefinition<`
51
51
  */
52
52
  isKnownMetaType(metaType: string): boolean;
53
53
  }
54
- /**
55
- * Singleton instance of the META commitment definition
56
- *
57
- * @private [🪔] Maybe export the commitments through some package
58
- */
59
- export declare const MetaCommitment: MetaCommitmentDefinition;
60
54
  /**
61
55
  * Note: [💞] Ignore a discrepancy between file name and entity name
62
56
  */
@@ -33,12 +33,6 @@ export declare class MetaImageCommitmentDefinition extends BaseCommitmentDefinit
33
33
  */
34
34
  extractProfileImageUrl(content: string): string | null;
35
35
  }
36
- /**
37
- * Singleton instance of the META IMAGE commitment definition
38
- *
39
- * @private [🪔] Maybe export the commitments through some package
40
- */
41
- export declare const MetaImageCommitment: MetaImageCommitmentDefinition;
42
36
  /**
43
37
  * Note: [💞] Ignore a discrepancy between file name and entity name
44
38
  */
@@ -45,12 +45,6 @@ export declare class MetaLinkCommitmentDefinition extends BaseCommitmentDefiniti
45
45
  */
46
46
  isValidUrl(content: string): boolean;
47
47
  }
48
- /**
49
- * Singleton instance of the META LINK commitment definition
50
- *
51
- * @private [🪔] Maybe export the commitments through some package
52
- */
53
- export declare const MetaLinkCommitment: MetaLinkCommitmentDefinition;
54
48
  /**
55
49
  * Note: [💞] Ignore a discrepancy between file name and entity name
56
50
  */
@@ -49,18 +49,6 @@ export declare class ModelCommitmentDefinition extends BaseCommitmentDefinition<
49
49
  */
50
50
  private parseLegacyFormat;
51
51
  }
52
- /**
53
- * Singleton instance of the MODEL commitment definition
54
- *
55
- * @private [🪔] Maybe export the commitments through some package
56
- */
57
- export declare const ModelCommitment: ModelCommitmentDefinition;
58
- /**
59
- * Singleton instance of the MODELS commitment definition
60
- *
61
- * @private [🪔] Maybe export the commitments through some package
62
- */
63
- export declare const ModelsCommitment: ModelCommitmentDefinition;
64
52
  /**
65
53
  * Note: [💞] Ignore a discrepancy between file name and entity name
66
54
  */
@@ -38,30 +38,6 @@ export declare class NoteCommitmentDefinition extends BaseCommitmentDefinition<'
38
38
  get documentation(): string;
39
39
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
40
40
  }
41
- /**
42
- * Singleton instance of the NOTE commitment definition
43
- *
44
- * @private [🪔] Maybe export the commitments through some package
45
- */
46
- export declare const NoteCommitment: NoteCommitmentDefinition;
47
- /**
48
- * Singleton instance of the NOTES commitment definition
49
- *
50
- * @private [🪔] Maybe export the commitments through some package
51
- */
52
- export declare const NotesCommitment: NoteCommitmentDefinition;
53
- /**
54
- * Singleton instance of the COMMENT commitment definition
55
- *
56
- * @private [🪔] Maybe export the commitments through some package
57
- */
58
- export declare const CommentCommitment: NoteCommitmentDefinition;
59
- /**
60
- * Singleton instance of the NONCE commitment definition
61
- *
62
- * @private [🪔] Maybe export the commitments through some package
63
- */
64
- export declare const NonceCommitment: NoteCommitmentDefinition;
65
41
  /**
66
42
  * [💞] Ignore a discrepancy between file name and entity name
67
43
  */
@@ -35,18 +35,6 @@ export declare class PersonaCommitmentDefinition extends BaseCommitmentDefinitio
35
35
  get documentation(): string;
36
36
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
37
37
  }
38
- /**
39
- * Singleton instance of the PERSONA commitment definition
40
- *
41
- * @private [🪔] Maybe export the commitments through some package
42
- */
43
- export declare const PersonaCommitment: PersonaCommitmentDefinition;
44
- /**
45
- * Singleton instance of the PERSONAE commitment definition
46
- *
47
- * @private [🪔] Maybe export the commitments through some package
48
- */
49
- export declare const PersonaeCommitment: PersonaCommitmentDefinition;
50
38
  /**
51
39
  * Note: [💞] Ignore a discrepancy between file name and entity name
52
40
  */
@@ -27,18 +27,6 @@ export declare class RuleCommitmentDefinition extends BaseCommitmentDefinition<'
27
27
  get documentation(): string;
28
28
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
29
29
  }
30
- /**
31
- * Singleton instances of the RULE commitment definitions
32
- *
33
- * @private [🪔] Maybe export the commitments through some package
34
- */
35
- export declare const RuleCommitment: RuleCommitmentDefinition;
36
- /**
37
- * Singleton instances of the RULE commitment definitions
38
- *
39
- * @private [🪔] Maybe export the commitments through some package
40
- */
41
- export declare const RulesCommitment: RuleCommitmentDefinition;
42
30
  /**
43
31
  * Note: [💞] Ignore a discrepancy between file name and entity name
44
32
  */
@@ -27,18 +27,6 @@ export declare class SampleCommitmentDefinition extends BaseCommitmentDefinition
27
27
  get documentation(): string;
28
28
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
29
29
  }
30
- /**
31
- * Singleton instances of the SAMPLE commitment definitions
32
- *
33
- * @private [🪔] Maybe export the commitments through some package
34
- */
35
- export declare const SampleCommitment: SampleCommitmentDefinition;
36
- /**
37
- * Singleton instances of the SAMPLE commitment definitions
38
- *
39
- * @private [🪔] Maybe export the commitments through some package
40
- */
41
- export declare const ExampleCommitment: SampleCommitmentDefinition;
42
30
  /**
43
31
  * Note: [💞] Ignore a discrepancy between file name and entity name
44
32
  */
@@ -29,18 +29,6 @@ export declare class ScenarioCommitmentDefinition extends BaseCommitmentDefiniti
29
29
  get documentation(): string;
30
30
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
31
31
  }
32
- /**
33
- * Singleton instance of the SCENARIO commitment definition
34
- *
35
- * @private [🪔] Maybe export the commitments through some package
36
- */
37
- export declare const ScenarioCommitment: ScenarioCommitmentDefinition;
38
- /**
39
- * Singleton instance of the SCENARIOS commitment definition
40
- *
41
- * @private [🪔] Maybe export the commitments through some package
42
- */
43
- export declare const ScenariosCommitment: ScenarioCommitmentDefinition;
44
32
  /**
45
33
  * Note: [💞] Ignore a discrepancy between file name and entity name
46
34
  */
@@ -27,18 +27,6 @@ export declare class StyleCommitmentDefinition extends BaseCommitmentDefinition<
27
27
  get documentation(): string;
28
28
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
29
29
  }
30
- /**
31
- * Singleton instance of the STYLE commitment definition
32
- *
33
- * @private [🪔] Maybe export the commitments through some package
34
- */
35
- export declare const StyleCommitment: StyleCommitmentDefinition;
36
- /**
37
- * Singleton instance of the STYLES commitment definition
38
- *
39
- * @private [🪔] Maybe export the commitments through some package
40
- */
41
- export declare const StylesCommitment: StyleCommitmentDefinition;
42
30
  /**
43
31
  * [💞] Ignore a discrepancy between file name and entity name
44
32
  */
@@ -15,5 +15,5 @@ export declare function createEmptyAgentModelRequirements(): AgentModelRequireme
15
15
  */
16
16
  export declare function createBasicAgentModelRequirements(agentName: string | null): AgentModelRequirements;
17
17
  /**
18
- * TODO: !!! Deduplicate `AgentModelRequirements` and `ModelRequirements` model requirements
18
+ * TODO: [🐤] Deduplicate `AgentModelRequirements` and `ModelRequirements` model requirements
19
19
  */
@@ -33,3 +33,6 @@ export type AvatarChipProps = {
33
33
  * @public exported from `@promptbook/components`
34
34
  */
35
35
  export declare function AvatarChip(props: AvatarChipProps): import("react/jsx-runtime").JSX.Element;
36
+ /**
37
+ * TODO: [☁️] Export component prop types only to `@promptbook/components` (not `@promptbook/types`)
38
+ */
@@ -21,3 +21,6 @@ export type AvatarProfileProps = {
21
21
  * @public exported from `@promptbook/components`
22
22
  */
23
23
  export declare function AvatarProfile(props: AvatarProfileProps): import("react/jsx-runtime").JSX.Element;
24
+ /**
25
+ * TODO: [☁️] Export component prop types only to `@promptbook/components` (not `@promptbook/types`)
26
+ */
@@ -53,3 +53,6 @@ export type BookEditorProps = {
53
53
  * @public exported from `@promptbook/components`
54
54
  */
55
55
  export declare function BookEditor(props: BookEditorProps): import("react/jsx-runtime").JSX.Element;
56
+ /**
57
+ * TODO: [☁️] Export component prop types only to `@promptbook/components` (not `@promptbook/types`)
58
+ */
@@ -1,19 +1,5 @@
1
- import { Promisable } from 'type-fest';
2
- import type { string_book } from '../../book-2.0/agent-source/string_book';
1
+ import { BookEditorProps } from './BookEditor';
3
2
  /**
4
3
  * @private util of `<BookEditor />`
5
4
  */
6
- export type BookEditorInnerProps = {
7
- className?: string;
8
- fontClassName?: string;
9
- value?: string_book;
10
- onChange?(value: string_book): void;
11
- onFileUpload?(file: File): Promisable<string>;
12
- isVerbose?: boolean;
13
- isBorderRadiusDisabled?: boolean;
14
- isFooterShown?: boolean;
15
- };
16
- /**
17
- * @private util of `<BookEditor />`
18
- */
19
- export declare function BookEditorInner(props: BookEditorInnerProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function BookEditorInner(props: BookEditorProps): import("react/jsx-runtime").JSX.Element;
@@ -146,3 +146,6 @@ export type ChatProps = {
146
146
  url: string;
147
147
  }): Promisable<void>;
148
148
  };
149
+ /**
150
+ * TODO: [☁️] Export component prop types only to `@promptbook/components` (not `@promptbook/types`)
151
+ */
@@ -1,6 +1,4 @@
1
- import type { string_date_iso8601 } from '../types/typeAliases';
2
- import type { string_model_name } from '../types/typeAliases';
3
- import type { string_prompt } from '../types/typeAliases';
1
+ import type { string_date_iso8601, string_model_name, string_prompt } from '../types/typeAliases';
4
2
  import type { TODO_object } from '../utils/organization/TODO_object';
5
3
  import type { EmbeddingVector } from './EmbeddingVector';
6
4
  import type { Usage } from './Usage';
@@ -44,7 +42,7 @@ export type EmbeddingPromptResult = Omit<CommonPromptResult, 'content'> & {
44
42
  */
45
43
  export type CommonPromptResult = {
46
44
  /**
47
- * Exact text response from the model
45
+ * Text response from the model
48
46
  */
49
47
  readonly content: string;
50
48
  /**
@@ -1,3 +1,4 @@
1
+ import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
1
2
  import type { AvailableModel } from '../../execution/AvailableModel';
2
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
4
  import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult, PromptResult } from '../../execution/PromptResult';
@@ -20,11 +21,7 @@ export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
20
21
  */
21
22
  constructor(title: string_title & string_markdown_text, ...llmExecutionTools: ReadonlyArray<LlmExecutionTools>);
22
23
  get description(): string_markdown;
23
- get profile(): {
24
- name: string;
25
- fullname: string;
26
- color: string;
27
- };
24
+ get profile(): ChatParticipant;
28
25
  /**
29
26
  * Check the configuration of all execution tools
30
27
  */
@@ -5,7 +5,7 @@ import type { AvailableModel } from '../../execution/AvailableModel';
5
5
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
6
6
  import type { ChatPromptResult } from '../../execution/PromptResult';
7
7
  import type { Prompt } from '../../types/Prompt';
8
- import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
8
+ import type { string_markdown, string_markdown_text, string_model_name, string_title } from '../../types/typeAliases';
9
9
  /**
10
10
  * Execution Tools for calling LLM models with a predefined agent "soul"
11
11
  * This wraps underlying LLM execution tools and applies agent-specific system prompts and requirements
@@ -42,6 +42,10 @@ export declare class AgentLlmExecutionTools implements LlmExecutionTools {
42
42
  get description(): string_markdown;
43
43
  get profile(): ChatParticipant | undefined;
44
44
  checkConfiguration(): Promisable<void>;
45
+ /**
46
+ * Returns a virtual model name representing the agent behavior
47
+ */
48
+ get modelName(): string_model_name;
45
49
  listModels(): Promisable<ReadonlyArray<AvailableModel>>;
46
50
  /**
47
51
  * Calls the chat model with agent-specific system prompt and requirements
@@ -50,5 +54,5 @@ export declare class AgentLlmExecutionTools implements LlmExecutionTools {
50
54
  }
51
55
  /**
52
56
  * TODO: [🍚] Implement Destroyable pattern to free resources
53
- * TODO: !!!! adding parameter substitution support
57
+ * TODO: [🧠] Adding parameter substitution support (here or should be responsibility of the underlying LLM Tools)
54
58
  */
@@ -1,11 +1,10 @@
1
1
  import Anthropic from '@anthropic-ai/sdk';
2
+ import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
2
3
  import type { AvailableModel } from '../../execution/AvailableModel';
3
4
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
4
5
  import type { ChatPromptResult } from '../../execution/PromptResult';
5
6
  import type { Prompt } from '../../types/Prompt';
6
- import type { string_markdown } from '../../types/typeAliases';
7
- import type { string_markdown_text } from '../../types/typeAliases';
8
- import type { string_title } from '../../types/typeAliases';
7
+ import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
9
8
  import type { AnthropicClaudeExecutionToolsNonProxiedOptions } from './AnthropicClaudeExecutionToolsOptions';
10
9
  /**
11
10
  * Execution Tools for calling Anthropic Claude API.
@@ -28,11 +27,7 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
28
27
  constructor(options?: AnthropicClaudeExecutionToolsNonProxiedOptions);
29
28
  get title(): string_title & string_markdown_text;
30
29
  get description(): string_markdown;
31
- get profile(): {
32
- name: string;
33
- fullname: string;
34
- color: string;
35
- };
30
+ get profile(): ChatParticipant;
36
31
  getClient(): Promise<Anthropic>;
37
32
  /**
38
33
  * Check the `options` passed to `constructor`
@@ -1,12 +1,10 @@
1
1
  import { OpenAIClient } from '@azure/openai';
2
+ import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
2
3
  import type { AvailableModel } from '../../execution/AvailableModel';
3
4
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
4
- import type { ChatPromptResult } from '../../execution/PromptResult';
5
- import type { CompletionPromptResult } from '../../execution/PromptResult';
5
+ import type { ChatPromptResult, CompletionPromptResult } from '../../execution/PromptResult';
6
6
  import type { Prompt } from '../../types/Prompt';
7
- import type { string_markdown } from '../../types/typeAliases';
8
- import type { string_markdown_text } from '../../types/typeAliases';
9
- import type { string_title } from '../../types/typeAliases';
7
+ import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
10
8
  import type { AzureOpenAiExecutionToolsOptions } from './AzureOpenAiExecutionToolsOptions';
11
9
  /**
12
10
  * Execution Tools for calling Azure OpenAI API.
@@ -31,6 +29,7 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
31
29
  constructor(options: AzureOpenAiExecutionToolsOptions);
32
30
  get title(): string_title & string_markdown_text;
33
31
  get description(): string_markdown;
32
+ get profile(): ChatParticipant;
34
33
  getClient(): Promise<OpenAIClient>;
35
34
  /**
36
35
  * Check the `options` passed to `constructor`
@@ -1,3 +1,4 @@
1
+ import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
1
2
  import type { AvailableModel } from '../../execution/AvailableModel';
2
3
  import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
4
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
@@ -14,11 +15,7 @@ export declare class MockedEchoLlmExecutionTools implements LlmExecutionTools {
14
15
  constructor(options?: CommonToolsOptions);
15
16
  get title(): string_title & string_markdown_text;
16
17
  get description(): string_markdown;
17
- get profile(): {
18
- name: string;
19
- fullname: string;
20
- color: string;
21
- };
18
+ get profile(): ChatParticipant;
22
19
  /**
23
20
  * Does nothing, just to implement the interface
24
21
  */
@@ -1,3 +1,4 @@
1
+ import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
1
2
  import type { AvailableModel } from '../../execution/AvailableModel';
2
3
  import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
4
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
@@ -14,6 +15,7 @@ export declare class MockedFackedLlmExecutionTools implements LlmExecutionTools
14
15
  constructor(options?: CommonToolsOptions);
15
16
  get title(): string_title & string_markdown_text;
16
17
  get description(): string_markdown;
18
+ get profile(): ChatParticipant;
17
19
  /**
18
20
  * Does nothing, just to implement the interface
19
21
  */
@@ -0,0 +1,4 @@
1
+ export {};
2
+ /**
3
+ * TODO: [🧠] What should be name of this test "MockedEchoExecutionTools.test.ts" or "createPipelineExecutor.test.ts"
4
+ */
@@ -0,0 +1,5 @@
1
+ export {};
2
+ /**
3
+ * TODO: [🧠] What should be name of this test "MockedEchoExecutionTools.test.ts" or "createPipelineExecutor.test.ts"
4
+ * Note: [🤖] For each new model variant consider adding new testing unit like "faked-completion.test.ts", "mocked-chat.test.ts" and "mocked-completion.test.ts"
5
+ */
@@ -0,0 +1,4 @@
1
+ export {};
2
+ /**
3
+ * TODO: [🧠] What should be name of this test "MockedEchoExecutionTools.test.ts" or "createPipelineExecutor.test.ts"
4
+ */
@@ -1,9 +1,8 @@
1
+ import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
1
2
  import type { AvailableModel } from '../../execution/AvailableModel';
2
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
4
  import type { Usage } from '../../execution/Usage';
4
- import type { string_markdown } from '../../types/typeAliases';
5
- import type { string_markdown_text } from '../../types/typeAliases';
6
- import type { string_title } from '../../types/typeAliases';
5
+ import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
7
6
  import { computeOpenAiUsage } from '../openai/computeOpenAiUsage';
8
7
  import { OpenAiCompatibleExecutionTools } from '../openai/OpenAiCompatibleExecutionTools';
9
8
  import type { OllamaExecutionToolsOptions } from './OllamaExecutionToolsOptions';
@@ -16,6 +15,7 @@ export declare class OllamaExecutionTools extends OpenAiCompatibleExecutionTools
16
15
  constructor(ollamaOptions: OllamaExecutionToolsOptions);
17
16
  get title(): string_title & string_markdown_text;
18
17
  get description(): string_markdown;
18
+ get profile(): ChatParticipant;
19
19
  /**
20
20
  * List all available models (non dynamically)
21
21
  *
@@ -103,4 +103,5 @@ export declare abstract class OpenAiCompatibleExecutionTools implements LlmExecu
103
103
  * TODO: [🛄] Maybe make custom `OpenAiCompatibleError`
104
104
  * TODO: [🧠][🈁] Maybe use `isDeterministic` from options
105
105
  * TODO: [🧠][🌰] Allow to pass `title` for tracking purposes
106
+ * TODO: [🧠][🦢] Make reverse adapter from LlmExecutionTools to OpenAI-compatible:
106
107
  */
@@ -1,8 +1,7 @@
1
+ import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
1
2
  import type { AvailableModel } from '../../execution/AvailableModel';
2
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
- import type { string_markdown } from '../../types/typeAliases';
4
- import type { string_markdown_text } from '../../types/typeAliases';
5
- import type { string_title } from '../../types/typeAliases';
4
+ import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
6
5
  import { computeOpenAiUsage } from './computeOpenAiUsage';
7
6
  import { OpenAiCompatibleExecutionTools } from './OpenAiCompatibleExecutionTools';
8
7
  /**
@@ -13,11 +12,7 @@ import { OpenAiCompatibleExecutionTools } from './OpenAiCompatibleExecutionTools
13
12
  export declare class OpenAiExecutionTools extends OpenAiCompatibleExecutionTools implements LlmExecutionTools {
14
13
  get title(): string_title & string_markdown_text;
15
14
  get description(): string_markdown;
16
- get profile(): {
17
- name: string;
18
- fullname: string;
19
- color: string;
20
- };
15
+ get profile(): ChatParticipant;
21
16
  /**
22
17
  * List all available models (non dynamically)
23
18
  *
@@ -1,15 +1,10 @@
1
+ import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
1
2
  import type { AvailableModel } from '../../execution/AvailableModel';
2
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
- import type { ChatPromptResult } from '../../execution/PromptResult';
4
- import type { CompletionPromptResult } from '../../execution/PromptResult';
5
- import type { EmbeddingPromptResult } from '../../execution/PromptResult';
4
+ import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult } from '../../execution/PromptResult';
6
5
  import type { RemoteClientOptions } from '../../remote-server/types/RemoteClientOptions';
7
- import type { ChatPrompt } from '../../types/Prompt';
8
- import type { CompletionPrompt } from '../../types/Prompt';
9
- import type { EmbeddingPrompt } from '../../types/Prompt';
10
- import type { string_markdown } from '../../types/typeAliases';
11
- import type { string_markdown_text } from '../../types/typeAliases';
12
- import type { string_title } from '../../types/typeAliases';
6
+ import type { ChatPrompt, CompletionPrompt, EmbeddingPrompt } from '../../types/Prompt';
7
+ import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
13
8
  /**
14
9
  * Remote server is a proxy server that uses its execution tools internally and exposes the executor interface externally.
15
10
  *
@@ -24,11 +19,7 @@ export declare class RemoteLlmExecutionTools<TCustomOptions = undefined> impleme
24
19
  constructor(options: RemoteClientOptions<TCustomOptions>);
25
20
  get title(): string_title & string_markdown_text;
26
21
  get description(): string_markdown;
27
- get profile(): {
28
- name: string;
29
- fullname: string;
30
- color: string;
31
- };
22
+ get profile(): ChatParticipant;
32
23
  /**
33
24
  * Check the configuration of all execution tools
34
25
  */
@@ -10,5 +10,4 @@ import { string_markdown } from '../../types/typeAliases';
10
10
  export declare function humanizeAiText(aiText: string_markdown): string_markdown;
11
11
  /**
12
12
  * TODO: [🧠] Maybe this should be exported from `@promptbook/utils` not `@promptbook/markdown-utils`
13
- * TODO: [🅾️] !!! Use this across the project where AI text is involved
14
13
  */
@@ -2,11 +2,11 @@ import { string_markdown } from '../../types/typeAliases';
2
2
  /**
3
3
  * Function `promptbookifyAiText` will slightly modify the text so we know it was processed by Promptbook
4
4
  *
5
+ * Note: [🔂] This function is idempotent.
6
+ *
5
7
  * @public exported from `@promptbook/markdown-utils`
6
8
  */
7
9
  export declare function promptbookifyAiText(text: string_markdown): string_markdown;
8
10
  /**
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
11
  * TODO: [🧠][✌️] Make some Promptbook-native token system
12
12
  */
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.101.0-19`).
18
+ * It follows semantic versioning (e.g., `0.101.0-20`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/utils",
3
- "version": "0.101.0-20",
3
+ "version": "0.101.0-21",
4
4
  "description": "Promptbook: Run AI apps in plain human language across multiple models and platforms",
5
5
  "private": false,
6
6
  "sideEffects": false,
package/umd/index.umd.js CHANGED
@@ -22,7 +22,7 @@
22
22
  * @generated
23
23
  * @see https://github.com/webgptorg/promptbook
24
24
  */
25
- const PROMPTBOOK_ENGINE_VERSION = '0.101.0-20';
25
+ const PROMPTBOOK_ENGINE_VERSION = '0.101.0-21';
26
26
  /**
27
27
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
28
28
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1,16 +0,0 @@
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;
@@ -1,10 +0,0 @@
1
- import type { PromptbookFetch } from '../../execution/PromptbookFetch';
2
- import type { string_name } from '../../types/typeAliases';
3
- /**
4
- * @private still in development
5
- */
6
- export declare function isDomainNameFree(name: string_name, fetch: PromptbookFetch): Promise<boolean>;
7
- /**
8
- * TODO: [🍓][🧠] Test and implement `isDomainNameFree`
9
- * TODO: Export via some (and probably new) NPM package
10
- */
@@ -1,10 +0,0 @@
1
- import type { PromptbookFetch } from '../../execution/PromptbookFetch';
2
- import type { string_name } from '../../types/typeAliases';
3
- /**
4
- * @private still in development
5
- */
6
- export declare function isGithubNameFree(name: string_name, fetch: PromptbookFetch): Promise<boolean>;
7
- /**
8
- * TODO: [🍓][🧠] Test and implement `isGithubNameFree`
9
- * TODO: Export via some (and probably new) NPM package
10
- */
@@ -1,81 +0,0 @@
1
- import type { ChatParticipant } from '../../../book-components/Chat/types/ChatParticipant';
2
- /**
3
- * Predefined profiles for LLM providers to maintain consistency across the application
4
- * These profiles represent each provider as a virtual persona in chat interfaces
5
- *
6
- * @private !!!!
7
- */
8
- export declare const LLM_PROVIDER_PROFILES: {
9
- readonly OPENAI: {
10
- name: string;
11
- fullname: string;
12
- color: string;
13
- };
14
- readonly ANTHROPIC: {
15
- name: string;
16
- fullname: string;
17
- color: string;
18
- };
19
- readonly AZURE_OPENAI: {
20
- name: string;
21
- fullname: string;
22
- color: string;
23
- };
24
- readonly GOOGLE: {
25
- name: string;
26
- fullname: string;
27
- color: string;
28
- };
29
- readonly DEEPSEEK: {
30
- name: string;
31
- fullname: string;
32
- color: string;
33
- };
34
- readonly OLLAMA: {
35
- name: string;
36
- fullname: string;
37
- color: string;
38
- };
39
- readonly REMOTE: {
40
- name: string;
41
- fullname: string;
42
- color: string;
43
- };
44
- readonly MOCKED_ECHO: {
45
- name: string;
46
- fullname: string;
47
- color: string;
48
- };
49
- readonly MOCKED_FAKE: {
50
- name: string;
51
- fullname: string;
52
- color: string;
53
- };
54
- readonly VERCEL: {
55
- name: string;
56
- fullname: string;
57
- color: string;
58
- };
59
- readonly MULTIPLE: {
60
- name: string;
61
- fullname: string;
62
- color: string;
63
- };
64
- };
65
- /**
66
- * Helper function to get a profile by provider name with fallback
67
- *
68
- * @private !!!!
69
- */
70
- export declare function getLlmProviderProfile(providerKey: keyof typeof LLM_PROVIDER_PROFILES): ChatParticipant;
71
- /**
72
- * Creates a custom profile based on a provider profile but with custom properties
73
- *
74
- * @private !!!!
75
- */
76
- export declare function createCustomLlmProfile(baseProfile: ChatParticipant, overrides: Partial<ChatParticipant>): ChatParticipant;
77
- /**
78
- * TODO: Refactor this - each profile must be alongside the provider definition
79
- * TODO: [🕛] Unite `AgentBasicInformation`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
80
- * Note: [💞] Ignore a discrepancy between file name and entity name
81
- */