@promptbook/wizard 0.100.0-6 → 0.100.0-61

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 (129) hide show
  1. package/README.md +2 -8
  2. package/esm/index.es.js +651 -150
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/color.index.d.ts +50 -0
  5. package/esm/typings/src/_packages/components.index.d.ts +36 -0
  6. package/esm/typings/src/_packages/core.index.d.ts +30 -0
  7. package/esm/typings/src/_packages/types.index.d.ts +38 -0
  8. package/esm/typings/src/book-2.0/agent-source/parseAgentSource.d.ts +30 -0
  9. package/esm/typings/src/book-2.0/agent-source/parseAgentSource.test.d.ts +1 -0
  10. package/esm/typings/src/book-2.0/agent-source/string_book.d.ts +26 -0
  11. package/esm/typings/src/book-2.0/commitments/ACTION/ACTION.d.ts +38 -0
  12. package/esm/typings/src/book-2.0/commitments/FORMAT/FORMAT.d.ts +39 -0
  13. package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/KNOWLEDGE.d.ts +45 -0
  14. package/esm/typings/src/book-2.0/commitments/META_IMAGE/META_IMAGE.d.ts +44 -0
  15. package/esm/typings/src/book-2.0/commitments/META_LINK/META_LINK.d.ts +56 -0
  16. package/esm/typings/src/book-2.0/commitments/MODEL/MODEL.d.ts +39 -0
  17. package/esm/typings/src/book-2.0/commitments/NOTE/NOTE.d.ts +49 -0
  18. package/esm/typings/src/book-2.0/commitments/PERSONA/PERSONA.d.ts +46 -0
  19. package/esm/typings/src/book-2.0/commitments/RULE/RULE.d.ts +44 -0
  20. package/esm/typings/src/book-2.0/commitments/SAMPLE/SAMPLE.d.ts +44 -0
  21. package/esm/typings/src/book-2.0/commitments/STYLE/STYLE.d.ts +38 -0
  22. package/esm/typings/src/book-2.0/commitments/_base/BaseCommitmentDefinition.d.ts +52 -0
  23. package/esm/typings/src/book-2.0/commitments/_base/BookCommitment.d.ts +5 -0
  24. package/esm/typings/src/book-2.0/commitments/_base/CommitmentDefinition.d.ts +48 -0
  25. package/esm/typings/src/book-2.0/commitments/_base/NotYetImplementedCommitmentDefinition.d.ts +22 -0
  26. package/esm/typings/src/book-2.0/commitments/_base/createEmptyAgentModelRequirements.d.ts +19 -0
  27. package/esm/typings/src/book-2.0/commitments/_misc/AgentModelRequirements.d.ts +37 -0
  28. package/esm/typings/src/book-2.0/commitments/_misc/AgentSourceParseResult.d.ts +18 -0
  29. package/esm/typings/src/book-2.0/commitments/_misc/ParsedCommitment.d.ts +22 -0
  30. package/esm/typings/src/book-2.0/commitments/_misc/createAgentModelRequirements.d.ts +62 -0
  31. package/esm/typings/src/book-2.0/commitments/_misc/createAgentModelRequirementsWithCommitments.d.ts +36 -0
  32. package/esm/typings/src/book-2.0/commitments/_misc/createCommitmentRegex.d.ts +20 -0
  33. package/esm/typings/src/book-2.0/commitments/_misc/parseAgentSourceWithCommitments.d.ts +24 -0
  34. package/esm/typings/src/book-2.0/commitments/_misc/removeCommentsFromSystemMessage.d.ts +11 -0
  35. package/esm/typings/src/book-2.0/commitments/index.d.ts +56 -0
  36. package/esm/typings/src/book-2.0/utils/profileImageUtils.d.ts +39 -0
  37. package/esm/typings/src/book-components/AvatarProfile/AvatarChip/AvatarChip.d.ts +35 -0
  38. package/esm/typings/src/book-components/AvatarProfile/AvatarChip/AvatarChipFromSource.d.ts +21 -0
  39. package/esm/typings/src/book-components/AvatarProfile/AvatarChip/index.d.ts +2 -0
  40. package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +26 -0
  41. package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfileFromSource.d.ts +19 -0
  42. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +35 -0
  43. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +15 -0
  44. package/esm/typings/src/book-components/BookEditor/config.d.ts +10 -0
  45. package/esm/typings/src/book-components/BookEditor/injectCssModuleIntoShadowRoot.d.ts +11 -0
  46. package/esm/typings/src/book-components/Chat/Chat/Chat.d.ts +20 -0
  47. package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +110 -0
  48. package/esm/typings/src/book-components/Chat/LlmChat/LlmChat.d.ts +14 -0
  49. package/esm/typings/src/book-components/Chat/LlmChat/LlmChat.test.d.ts +1 -0
  50. package/esm/typings/src/book-components/Chat/LlmChat/LlmChatProps.d.ts +24 -0
  51. package/esm/typings/src/book-components/Chat/types/ChatMessage.d.ts +16 -0
  52. package/esm/typings/src/book-components/Chat/types/ChatParticipant.d.ts +32 -0
  53. package/esm/typings/src/book-components/Chat/utils/ChatPersistence.d.ts +25 -0
  54. package/esm/typings/src/book-components/Chat/utils/ExportFormat.d.ts +4 -0
  55. package/esm/typings/src/book-components/Chat/utils/addUtmParamsToUrl.d.ts +7 -0
  56. package/esm/typings/src/book-components/Chat/utils/createShortLinkForChat.d.ts +7 -0
  57. package/esm/typings/src/book-components/Chat/utils/downloadFile.d.ts +6 -0
  58. package/esm/typings/src/book-components/Chat/utils/exportChatHistory.d.ts +9 -0
  59. package/esm/typings/src/book-components/Chat/utils/generatePdfContent.d.ts +8 -0
  60. package/esm/typings/src/book-components/Chat/utils/generateQrDataUrl.d.ts +7 -0
  61. package/esm/typings/src/book-components/Chat/utils/getPromptbookBranding.d.ts +6 -0
  62. package/esm/typings/src/book-components/Chat/utils/messagesToHtml.d.ts +8 -0
  63. package/esm/typings/src/book-components/Chat/utils/messagesToJson.d.ts +7 -0
  64. package/esm/typings/src/book-components/Chat/utils/messagesToMarkdown.d.ts +8 -0
  65. package/esm/typings/src/book-components/Chat/utils/messagesToText.d.ts +8 -0
  66. package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +7 -0
  67. package/esm/typings/src/book-components/_common/react-utils/collectCssTextsForClass.d.ts +7 -0
  68. package/esm/typings/src/book-components/_common/react-utils/escapeHtml.d.ts +6 -0
  69. package/esm/typings/src/book-components/_common/react-utils/escapeRegex.d.ts +6 -0
  70. package/esm/typings/src/config.d.ts +19 -0
  71. package/esm/typings/src/execution/AvailableModel.d.ts +4 -0
  72. package/esm/typings/src/execution/ExecutionTask.d.ts +27 -1
  73. package/esm/typings/src/execution/LlmExecutionTools.d.ts +8 -0
  74. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +6 -1
  75. package/esm/typings/src/llm-providers/_common/filterModels.d.ts +0 -3
  76. package/esm/typings/src/llm-providers/_common/profiles/llmProviderProfiles.d.ts +81 -0
  77. package/esm/typings/src/llm-providers/_common/profiles/test/llmProviderProfiles.test.d.ts +1 -0
  78. package/esm/typings/src/llm-providers/_multiple/MultipleLlmExecutionTools.d.ts +5 -0
  79. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +5 -5
  80. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  81. package/esm/typings/src/llm-providers/deepseek/deepseek-models.d.ts +1 -1
  82. package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
  83. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -0
  84. package/esm/typings/src/llm-providers/ollama/ollama-models.d.ts +1 -1
  85. package/esm/typings/src/llm-providers/openai/OpenAiCompatibleExecutionTools.d.ts +8 -0
  86. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +5 -0
  87. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  88. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +5 -0
  89. package/esm/typings/src/pipeline/book-notation.d.ts +2 -1
  90. package/esm/typings/src/playground/permanent/error-handling-playground.d.ts +5 -0
  91. package/esm/typings/src/types/ModelRequirements.d.ts +0 -2
  92. package/esm/typings/src/types/typeAliases.d.ts +6 -0
  93. package/esm/typings/src/utils/color/$randomColor.d.ts +11 -0
  94. package/esm/typings/src/utils/color/Color.d.ts +180 -0
  95. package/esm/typings/src/utils/color/css-colors.d.ts +159 -0
  96. package/esm/typings/src/utils/color/internal-utils/checkChannelValue.d.ts +14 -0
  97. package/esm/typings/src/utils/color/internal-utils/hslToRgb.d.ts +17 -0
  98. package/esm/typings/src/utils/color/internal-utils/rgbToHsl.d.ts +17 -0
  99. package/esm/typings/src/utils/color/operators/ColorTransformer.d.ts +5 -0
  100. package/esm/typings/src/utils/color/operators/darken.d.ts +9 -0
  101. package/esm/typings/src/utils/color/operators/furthest.d.ts +16 -0
  102. package/esm/typings/src/utils/color/operators/grayscale.d.ts +9 -0
  103. package/esm/typings/src/utils/color/operators/lighten.d.ts +12 -0
  104. package/esm/typings/src/utils/color/operators/mixWithColor.d.ts +11 -0
  105. package/esm/typings/src/utils/color/operators/nearest.d.ts +10 -0
  106. package/esm/typings/src/utils/color/operators/negative.d.ts +7 -0
  107. package/esm/typings/src/utils/color/operators/negativeLightness.d.ts +7 -0
  108. package/esm/typings/src/utils/color/operators/withAlpha.d.ts +9 -0
  109. package/esm/typings/src/utils/color/utils/areColorsEqual.d.ts +14 -0
  110. package/esm/typings/src/utils/color/utils/colorDistance.d.ts +21 -0
  111. package/esm/typings/src/utils/color/utils/colorHue.d.ts +11 -0
  112. package/esm/typings/src/utils/color/utils/colorHueDistance.d.ts +11 -0
  113. package/esm/typings/src/utils/color/utils/colorHueDistance.test.d.ts +1 -0
  114. package/esm/typings/src/utils/color/utils/colorLuminance.d.ts +9 -0
  115. package/esm/typings/src/utils/color/utils/colorSatulightion.d.ts +7 -0
  116. package/esm/typings/src/utils/color/utils/colorSaturation.d.ts +9 -0
  117. package/esm/typings/src/utils/color/utils/colorToDataUrl.d.ts +10 -0
  118. package/esm/typings/src/utils/color/utils/mixColors.d.ts +11 -0
  119. package/esm/typings/src/utils/organization/preserve.d.ts +21 -0
  120. package/esm/typings/src/utils/take/classes/TakeChain.d.ts +11 -0
  121. package/esm/typings/src/utils/take/interfaces/ITakeChain.d.ts +12 -0
  122. package/esm/typings/src/utils/take/interfaces/Takeable.d.ts +7 -0
  123. package/esm/typings/src/utils/take/take.d.ts +12 -0
  124. package/esm/typings/src/utils/take/take.test.d.ts +1 -0
  125. package/esm/typings/src/version.d.ts +1 -1
  126. package/package.json +2 -3
  127. package/umd/index.umd.js +655 -154
  128. package/umd/index.umd.js.map +1 -1
  129. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +0 -14
@@ -1,4 +1,5 @@
1
1
  import type { Promisable } from 'type-fest';
2
+ import type { ChatParticipant } from '../book-components/Chat/types/ChatParticipant';
2
3
  import type { Prompt } from '../types/Prompt';
3
4
  import type { string_markdown } from '../types/typeAliases';
4
5
  import type { string_markdown_text } from '../types/typeAliases';
@@ -27,6 +28,13 @@ export type LlmExecutionTools = {
27
28
  * @example "Use all models from OpenAI"
28
29
  */
29
30
  readonly description?: string_markdown;
31
+ /**
32
+ * Profile representing the model as a virtual persona for chat interfaces
33
+ * This includes visual identity like avatar, colors, and display information
34
+ *
35
+ * @example { name: 'OPENAI', fullname: 'OpenAI GPT', color: '#10a37f', avatarSrc: '/openai-logo.png' }
36
+ */
37
+ readonly profile?: ChatParticipant;
30
38
  /**
31
39
  * Check comfiguration
32
40
  *
@@ -1,10 +1,11 @@
1
- import type { ReadonlyDeep, WritableDeep } from 'type-fest';
1
+ import type { PartialDeep, Promisable, ReadonlyDeep, WritableDeep } from 'type-fest';
2
2
  import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
3
3
  import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
4
4
  import type { Parameters } from '../../types/typeAliases';
5
5
  import type { string_parameter_name } from '../../types/typeAliases';
6
6
  import type { TODO_string } from '../../utils/organization/TODO_string';
7
7
  import type { ExecutionReportJson } from '../execution-report/ExecutionReportJson';
8
+ import type { PipelineExecutorResult } from '../PipelineExecutorResult';
8
9
  import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
9
10
  /**
10
11
  * Options for executing attempts of a pipeline task, including configuration for jokers, priority,
@@ -46,6 +47,10 @@ export type ExecuteAttemptsOptions = Required<Omit<CreatePipelineExecutorOptions
46
47
  * The pipeline structure prepared for execution, as a deeply immutable PipelineJson object.
47
48
  */
48
49
  readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
50
+ /**
51
+ * Callback invoked with partial results as the execution progresses.
52
+ */
53
+ onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
49
54
  /**
50
55
  * The execution report object, which is updated during execution.
51
56
  */
@@ -10,6 +10,3 @@ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
10
10
  * @public exported from `@promptbook/core`
11
11
  */
12
12
  export declare function filterModels<TLlmTools extends LlmExecutionTools>(llmTools: TLlmTools, predicate: (model: AvailableModel) => boolean): TLlmTools;
13
- /**
14
- * TODO: !!! [models] Test that this is working
15
- */
@@ -0,0 +1,81 @@
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 `AvatarProfileProps` and `ChatParticipant`
80
+ * Note: [💞] Ignore a discrepancy between file name and entity name
81
+ */
@@ -28,6 +28,11 @@ export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
28
28
  constructor(...llmExecutionTools: ReadonlyArray<LlmExecutionTools>);
29
29
  get title(): string_title & string_markdown_text;
30
30
  get description(): string_markdown;
31
+ get profile(): {
32
+ name: string;
33
+ fullname: string;
34
+ color: string;
35
+ };
31
36
  /**
32
37
  * Check the configuration of all execution tools
33
38
  */
@@ -2,7 +2,6 @@ import Anthropic from '@anthropic-ai/sdk';
2
2
  import type { AvailableModel } from '../../execution/AvailableModel';
3
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
4
4
  import type { ChatPromptResult } from '../../execution/PromptResult';
5
- import type { CompletionPromptResult } from '../../execution/PromptResult';
6
5
  import type { Prompt } from '../../types/Prompt';
7
6
  import type { string_markdown } from '../../types/typeAliases';
8
7
  import type { string_markdown_text } from '../../types/typeAliases';
@@ -29,6 +28,11 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
29
28
  constructor(options?: AnthropicClaudeExecutionToolsNonProxiedOptions);
30
29
  get title(): string_title & string_markdown_text;
31
30
  get description(): string_markdown;
31
+ get profile(): {
32
+ name: string;
33
+ fullname: string;
34
+ color: string;
35
+ };
32
36
  getClient(): Promise<Anthropic>;
33
37
  /**
34
38
  * Check the `options` passed to `constructor`
@@ -42,10 +46,6 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
42
46
  * Calls Anthropic Claude API to use a chat model.
43
47
  */
44
48
  callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<ChatPromptResult>;
45
- /**
46
- * Calls Anthropic Claude API to use a completion model.
47
- */
48
- callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<CompletionPromptResult>;
49
49
  /**
50
50
  * Get the model that should be used as default
51
51
  */
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
3
3
  /**
4
4
  * List of available Anthropic Claude models with pricing
5
5
  *
6
- * Note: Done at 2025-05-06
6
+ * Note: Synced with official API docs at 2025-08-20
7
7
  *
8
8
  * @see https://docs.anthropic.com/en/docs/models-overview
9
9
  * @public exported from `@promptbook/anthropic-claude`
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
3
3
  /**
4
4
  * List of available Deepseek models with descriptions
5
5
  *
6
- * Note: Done at 2025-05-06
6
+ * Note: Synced with official API docs at 2025-08-20
7
7
  *
8
8
  * @see https://www.deepseek.com/models
9
9
  * @public exported from `@promptbook/deepseek`
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
3
3
  /**
4
4
  * List of available Google models with descriptions
5
5
  *
6
- * Note: Done at 2025-05-06
6
+ * Note: Synced with official API docs at 2025-08-20
7
7
  *
8
8
  * @see https://ai.google.dev/models/gemini
9
9
  * @public exported from `@promptbook/google`
@@ -17,6 +17,11 @@ export declare class MockedEchoLlmExecutionTools implements LlmExecutionTools {
17
17
  constructor(options?: CommonToolsOptions);
18
18
  get title(): string_title & string_markdown_text;
19
19
  get description(): string_markdown;
20
+ get profile(): {
21
+ name: string;
22
+ fullname: string;
23
+ color: string;
24
+ };
20
25
  /**
21
26
  * Does nothing, just to implement the interface
22
27
  */
@@ -2,7 +2,7 @@ import type { AvailableModel } from '../../execution/AvailableModel';
2
2
  /**
3
3
  * List of available models in Ollama library
4
4
  *
5
- * Note: Done at 2025-05-19
5
+ * Note: Synced with official API docs at 2025-08-20
6
6
  *
7
7
  * @see https://ollama.com/library
8
8
  * @public exported from `@promptbook/ollama`
@@ -82,6 +82,14 @@ export declare abstract class OpenAiCompatibleExecutionTools implements LlmExecu
82
82
  * Default model for completion variant.
83
83
  */
84
84
  protected abstract getDefaultEmbeddingModel(): AvailableModel;
85
+ /**
86
+ * Makes a request with retry logic for network errors like ECONNRESET
87
+ */
88
+ private makeRequestWithRetry;
89
+ /**
90
+ * Determines if an error is retryable (network-related errors)
91
+ */
92
+ private isRetryableNetworkError;
85
93
  }
86
94
  /**
87
95
  * TODO: [🛄] Some way how to re-wrap the errors from `OpenAiCompatibleExecutionTools`
@@ -13,6 +13,11 @@ import { OpenAiCompatibleExecutionTools } from './OpenAiCompatibleExecutionTools
13
13
  export declare class OpenAiExecutionTools extends OpenAiCompatibleExecutionTools implements LlmExecutionTools {
14
14
  get title(): string_title & string_markdown_text;
15
15
  get description(): string_markdown;
16
+ get profile(): {
17
+ name: string;
18
+ fullname: string;
19
+ color: string;
20
+ };
16
21
  /**
17
22
  * List all available models (non dynamically)
18
23
  *
@@ -2,7 +2,7 @@ import type { AvailableModel } from '../../execution/AvailableModel';
2
2
  /**
3
3
  * List of available OpenAI models with pricing
4
4
  *
5
- * Note: Done at 2025-05-06
5
+ * Note: Synced with official API docs at 2025-08-20
6
6
  *
7
7
  * @see https://platform.openai.com/docs/models/
8
8
  * @see https://openai.com/api/pricing/
@@ -24,6 +24,11 @@ export declare class RemoteLlmExecutionTools<TCustomOptions = undefined> impleme
24
24
  constructor(options: RemoteClientOptions<TCustomOptions>);
25
25
  get title(): string_title & string_markdown_text;
26
26
  get description(): string_markdown;
27
+ get profile(): {
28
+ name: string;
29
+ fullname: string;
30
+ color: string;
31
+ };
27
32
  /**
28
33
  * Check the configuration of all execution tools
29
34
  */
@@ -1,3 +1,4 @@
1
+ import type { string_book } from '../book-2.0/agent-source/string_book';
1
2
  import type { PipelineString } from './PipelineString';
2
3
  /**
3
4
  * Tag function for notating a pipeline with a book\`...\ notation as template literal
@@ -12,7 +13,7 @@ import type { PipelineString } from './PipelineString';
12
13
  * @returns the pipeline string
13
14
  * @public exported from `@promptbook/core`
14
15
  */
15
- export declare function book(strings: TemplateStringsArray, ...values: Array<string>): PipelineString;
16
+ export declare function book(strings: TemplateStringsArray, ...values: Array<string>): string_book & PipelineString;
16
17
  /**
17
18
  * TODO: [🧠][🈴] Where is the best location for this file
18
19
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -87,8 +87,6 @@ export type CommonModelRequirements = {
87
87
  readonly seed?: number_seed;
88
88
  /**
89
89
  * Maximum number of tokens that can be generated by the model
90
- *
91
- * Note: [🌾]
92
90
  */
93
91
  readonly maxTokens?: number;
94
92
  };
@@ -136,6 +136,12 @@ export type ReservedParameters = Record<string_reserved_parameter_name, string_p
136
136
  * For example `"Ai*nautes"`
137
137
  */
138
138
  export type string_title = string;
139
+ /**
140
+ * Semantic helper
141
+ *
142
+ * For example `"My AI Assistant"`
143
+ */
144
+ export type string_agent_name = string;
139
145
  /**
140
146
  * Unstructured description of the persona
141
147
  *
@@ -0,0 +1,11 @@
1
+ import { Color } from './Color';
2
+ /**
3
+ * Creates a random color
4
+ *
5
+ * @public exported from `@promptbook/color`
6
+ */
7
+ export declare function $randomColor(): Color;
8
+ /**
9
+ * TODO: !! Use Internally Color.fromValues
10
+ * TODO: !! randomColorWithAlpha
11
+ */
@@ -0,0 +1,180 @@
1
+ import type { string_color } from '../../types/typeAliases';
2
+ import type { string_url_image } from '../../types/typeAliases';
3
+ import type { WithTake } from '../take/interfaces/ITakeChain';
4
+ import { CSS_COLORS } from './css-colors';
5
+ /**
6
+ * Color object represents an RGB color with alpha channel
7
+ *
8
+ * Note: There is no fromObject/toObject because the most logical way to serialize color is as a hex string (#009edd)
9
+ *
10
+ * @public exported from `@promptbook/color`
11
+ */
12
+ export declare class Color {
13
+ readonly red: number;
14
+ readonly green: number;
15
+ readonly blue: number;
16
+ readonly alpha: number;
17
+ /**
18
+ * Creates a new Color instance from miscellaneous formats
19
+ * - It can receive Color instance and just return the same instance
20
+ * - It can receive color in string format for example `#009edd`, `rgb(0,158,221)`, `rgb(0%,62%,86.7%)`, `hsl(197.1,100%,43.3%)`
21
+ *
22
+ * Note: This is not including fromImage because detecting color from an image is heavy task which requires async stuff and we cannot safely determine with overloading if return value will be a promise
23
+ *
24
+ * @param color
25
+ * @returns Color object
26
+ */
27
+ static from(color: string_color | Color): WithTake<Color>;
28
+ /**
29
+ * Creates a new Color instance from miscellaneous string formats
30
+ *
31
+ * @param color as a string for example `#009edd`, `rgb(0,158,221)`, `rgb(0%,62%,86.7%)`, `hsl(197.1,100%,43.3%)`, `red`, `darkgrey`,...
32
+ * @returns Color object
33
+ */
34
+ static fromString(color: string_color): WithTake<Color>;
35
+ /**
36
+ * Gets common color
37
+ *
38
+ * @param key as a css string like `midnightblue`
39
+ * @returns Color object
40
+ */
41
+ static get(key: keyof typeof CSS_COLORS): WithTake<Color>;
42
+ /**
43
+ * Creates a new Color instance from average color of given image
44
+ *
45
+ * @param image as a source for example `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAA1JREFUGFdjYJh39z8ABJgCe/ZvAS4AAAAASUVORK5CYII=`
46
+ * @returns Color object
47
+ */
48
+ static fromImage(image: string_url_image): Promise<Color>;
49
+ /**
50
+ * Creates a new Color instance from color in hex format
51
+ *
52
+ * @param color in hex for example `#009edd`, `009edd`, `#555`,...
53
+ * @returns Color object
54
+ */
55
+ static fromHex(hex: string_color): WithTake<Color>;
56
+ /**
57
+ * Creates a new Color instance from color in hex format with 3 color digits (without alpha channel)
58
+ *
59
+ * @param color in hex for example `09d`
60
+ * @returns Color object
61
+ */
62
+ private static fromHex3;
63
+ /**
64
+ * Creates a new Color instance from color in hex format with 6 color digits (without alpha channel)
65
+ *
66
+ * @param color in hex for example `009edd`
67
+ * @returns Color object
68
+ */
69
+ private static fromHex6;
70
+ /**
71
+ * Creates a new Color instance from color in hex format with 8 color digits (with alpha channel)
72
+ *
73
+ * @param color in hex for example `009edd`
74
+ * @returns Color object
75
+ */
76
+ private static fromHex8;
77
+ /**
78
+ * Creates a new Color instance from color in hsl format
79
+ *
80
+ * @param color as a hsl for example `hsl(197.1,100%,43.3%)`
81
+ * @returns Color object
82
+ */
83
+ static fromHsl(hsl: string_color): WithTake<Color>;
84
+ /**
85
+ * Creates a new Color instance from color in rgb format
86
+ *
87
+ * @param color as a rgb for example `rgb(0,158,221)`, `rgb(0%,62%,86.7%)`
88
+ * @returns Color object
89
+ */
90
+ static fromRgbString(rgb: string_color): WithTake<Color>;
91
+ /**
92
+ * Creates a new Color instance from color in rbga format
93
+ *
94
+ * @param color as a rgba for example `rgba(0,158,221,0.5)`, `rgb(0%,62%,86.7%,50%)`
95
+ * @returns Color object
96
+ */
97
+ static fromRgbaString(rgba: string_color): WithTake<Color>;
98
+ /**
99
+ * Creates a new Color for color channels values
100
+ *
101
+ * @param red number from 0 to 255
102
+ * @param green number from 0 to 255
103
+ * @param blue number from 0 to 255
104
+ * @param alpha number from 0 (transparent) to 255 (opaque = default)
105
+ * @returns Color object
106
+ */
107
+ static fromValues(red: number, green: number, blue: number, alpha?: number): WithTake<Color>;
108
+ /**
109
+ * Checks if the given value is a valid Color object.
110
+ *
111
+ * @param {unknown} value - The value to check.
112
+ * @return {value is WithTake<Color>} Returns true if the value is a valid Color object, false otherwise.
113
+ */
114
+ static isColor(value: unknown): value is WithTake<Color>;
115
+ /**
116
+ * Creates new Color object
117
+ *
118
+ * Note: Consider using one of static methods like `from` or `fromString`
119
+ *
120
+ * @param red number from 0 to 255
121
+ * @param green number from 0 to 255
122
+ * @param blue number from 0 to 255
123
+ * @param alpha number from 0 (transparent) to 255 (opaque)
124
+ */
125
+ private constructor();
126
+ /**
127
+ * Shortcut for `red` property
128
+ * Number from 0 to 255
129
+ * @alias red
130
+ */
131
+ get r(): number;
132
+ /**
133
+ * Shortcut for `green` property
134
+ * Number from 0 to 255
135
+ * @alias green
136
+ */
137
+ get g(): number;
138
+ /**
139
+ * Shortcut for `blue` property
140
+ * Number from 0 to 255
141
+ * @alias blue
142
+ */
143
+ get b(): number;
144
+ /**
145
+ * Shortcut for `alpha` property
146
+ * Number from 0 (transparent) to 255 (opaque)
147
+ * @alias alpha
148
+ */
149
+ get a(): number;
150
+ /**
151
+ * Shortcut for `alpha` property
152
+ * Number from 0 (transparent) to 255 (opaque)
153
+ * @alias alpha
154
+ */
155
+ get opacity(): number;
156
+ /**
157
+ * Shortcut for 1-`alpha` property
158
+ */
159
+ get transparency(): number;
160
+ clone(): WithTake<Color>;
161
+ toString(): string_color;
162
+ toHex(): string_color;
163
+ toRgb(): string_color;
164
+ toHsl(): string_color;
165
+ }
166
+ /**
167
+ * TODO: For each method a corresponding static method should be created
168
+ * Like clone can be done by color.clone() OR Color.clone(color)
169
+ * TODO: Probably as an independent LIB OR add to LIB xyzt (ask @roseckyj)
170
+ * TODO: !! Transfer back to Collboard (whole directory)
171
+ * TODO: Maybe [🏌️‍♂️] change ACRY toString => (toHex) toRgb when there will be toRgb and toRgba united
172
+ * TODO: Convert getters to methods - getters only for values
173
+ * TODO: Write tests
174
+ * TODO: Getters for alpha, opacity, transparency, r, b, g, h, s, l, a,...
175
+ * TODO: [0] Should be fromRgbString and fromRgbaString one or two functions + one or two regex
176
+ * TODO: Use rgb, rgba, hsl for testing and parsing with the same regex
177
+ * TODO: Regex for rgb, rgba, hsl does not support all options like deg, rad, turn,...
178
+ * TODO: Convolution matrix
179
+ * TODO: Maybe connect with textures
180
+ */