@promptbook/components 0.104.0-5 โ†’ 0.104.0-7

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.
@@ -22,6 +22,14 @@ type ServerConfiguration = {
22
22
  */
23
23
  urls: Array<string_promptbook_server_url>;
24
24
  };
25
+ /**
26
+ * Core Promptbook server configuration.
27
+ *
28
+ * This server is also used for auto-federation in the Agents Server.
29
+ *
30
+ * @public exported from `@promptbook/core`
31
+ */
32
+ export declare const CORE_SERVER: ServerConfiguration;
25
33
  /**
26
34
  * Available remote servers for the Promptbook
27
35
  *
@@ -191,6 +191,7 @@ import { SectionTypes } from '../types/SectionType';
191
191
  import { TaskTypes } from '../types/TaskType';
192
192
  import { aboutPromptbookInformation } from '../utils/misc/aboutPromptbookInformation';
193
193
  import { $generateBookBoilerplate } from '../utils/random/$generateBookBoilerplate';
194
+ import { CORE_SERVER } from '../../servers';
194
195
  import { REMOTE_SERVER_URLS } from '../../servers';
195
196
  import { AUTO_FEDERATED_AGENT_SERVER_URLS } from '../../servers';
196
197
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
@@ -386,5 +387,6 @@ export { SectionTypes };
386
387
  export { TaskTypes };
387
388
  export { aboutPromptbookInformation };
388
389
  export { $generateBookBoilerplate };
390
+ export { CORE_SERVER };
389
391
  export { REMOTE_SERVER_URLS };
390
392
  export { AUTO_FEDERATED_AGENT_SERVER_URLS };
@@ -206,6 +206,7 @@ import type { string_char_emoji } from '../types/typeAliasEmoji';
206
206
  import type { string_business_category_name } from '../types/typeAliases';
207
207
  import type { string_model_name } from '../types/typeAliases';
208
208
  import type { string_prompt } from '../types/typeAliases';
209
+ import type { string_prompt_image } from '../types/typeAliases';
209
210
  import type { string_template } from '../types/typeAliases';
210
211
  import type { string_text_prompt } from '../types/typeAliases';
211
212
  import type { string_chat_prompt } from '../types/typeAliases';
@@ -573,6 +574,7 @@ export type { string_char_emoji };
573
574
  export type { string_business_category_name };
574
575
  export type { string_model_name };
575
576
  export type { string_prompt };
577
+ export type { string_prompt_image };
576
578
  export type { string_template };
577
579
  export type { string_text_prompt };
578
580
  export type { string_chat_prompt };
@@ -1,6 +1,6 @@
1
1
  import type { AvailableModel } from '../../execution/AvailableModel';
2
2
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
- import type { string_model_name } from '../../types/typeAliases';
3
+ import type { string_agent_name, string_model_name, string_system_message, string_url_image } from '../../types/typeAliases';
4
4
  import type { AgentModelRequirements } from './AgentModelRequirements';
5
5
  import type { string_book } from './string_book';
6
6
  /**
@@ -27,18 +27,18 @@ export declare function extractMcpServers(agentSource: string_book): string[];
27
27
  * @deprecated Use createAgentModelRequirements instead
28
28
  * @private
29
29
  */
30
- export declare function createAgentSystemMessage(agentSource: string_book): Promise<string>;
30
+ export declare function createAgentSystemMessage(agentSource: string_book): Promise<string_system_message>;
31
31
  /**
32
32
  * Extracts the agent name from the first line of the agent source
33
33
  * @deprecated Use parseAgentSource instead
34
34
  * @private
35
35
  */
36
- export declare function extractAgentName(agentSource: string_book): string;
36
+ export declare function extractAgentName(agentSource: string_book): string_agent_name;
37
37
  /**
38
- * Extracts the profile image URL from agent source or returns gravatar fallback
38
+ * Extracts the profile image URL from agent source or returns default avatar fallback
39
39
  * @param agentSource The agent source string that may contain META IMAGE line
40
- * @returns Profile image URL (from source or gravatar fallback)
40
+ * @returns Profile image URL (from source or default avatar fallback)
41
41
  * @deprecated Use parseAgentSource instead
42
42
  * @private
43
43
  */
44
- export declare function extractAgentProfileImage(agentSource: string_book): string;
44
+ export declare function extractAgentProfileImage(agentSource: string_book): string_url_image | null;
@@ -1,13 +1,13 @@
1
- import type { string_agent_name, string_url_image } from '../../types/typeAliases';
1
+ import type { string_agent_name, string_agent_permanent_id, string_url_image } from '../../types/typeAliases';
2
2
  /**
3
3
  * Generates an image for the agent to use as profile image
4
4
  *
5
- * @param agentName The agent name to generate avatar for
5
+ * @param agentId - The permanent ID of the agent
6
6
  * @returns The placeholder profile image URL for the agent
7
7
  *
8
8
  * @public exported from `@promptbook/core`
9
9
  */
10
- export declare function generatePlaceholderAgentProfileImageUrl(agentName?: string_agent_name): string_url_image;
10
+ export declare function generatePlaceholderAgentProfileImageUrl(agentIdOrName: string_agent_permanent_id | string_agent_name, agentsServerUrl?: URL): string_url_image;
11
11
  /**
12
12
  * TODO: [๐Ÿคน] Figure out best placeholder image generator https://i.pravatar.cc/1000?u=568
13
13
  */
@@ -17,7 +17,17 @@ export type CompletionModelRequirements = CommonModelRequirements & {
17
17
  /**
18
18
  * Completion model variant
19
19
  */
20
- modelVariant: 'COMPLETION';
20
+ readonly modelVariant: 'COMPLETION';
21
+ /**
22
+ * The temperature of the model
23
+ *
24
+ * Note: [๐Ÿ’ฑ] Promptbook is using just `temperature` (not `top_k` and `top_p`)
25
+ */
26
+ readonly temperature?: number_model_temperature;
27
+ /**
28
+ * Maximum number of tokens that can be generated by the model
29
+ */
30
+ readonly maxTokens?: number;
21
31
  };
22
32
  /**
23
33
  * Model requirements for the chat variant
@@ -28,11 +38,21 @@ export type ChatModelRequirements = CommonModelRequirements & {
28
38
  /**
29
39
  * Chat model variant
30
40
  */
31
- modelVariant: 'CHAT';
41
+ readonly modelVariant: 'CHAT';
32
42
  /**
33
43
  * System message to be used in the model
34
44
  */
35
45
  readonly systemMessage?: string_system_message;
46
+ /**
47
+ * The temperature of the model
48
+ *
49
+ * Note: [๐Ÿ’ฑ] Promptbook is using just `temperature` (not `top_k` and `top_p`)
50
+ */
51
+ readonly temperature?: number_model_temperature;
52
+ /**
53
+ * Maximum number of tokens that can be generated by the model
54
+ */
55
+ readonly maxTokens?: number;
36
56
  };
37
57
  /**
38
58
  * Model requirements for the image generation variant
@@ -43,7 +63,21 @@ export type ImageGenerationModelRequirements = CommonModelRequirements & {
43
63
  /**
44
64
  * Image generation model variant
45
65
  */
46
- modelVariant: 'IMAGE_GENERATION';
66
+ readonly modelVariant: 'IMAGE_GENERATION';
67
+ /**
68
+ * Size of the generated image
69
+ *
70
+ * e.g. '1536x1536'
71
+ */
72
+ readonly size?: '1024x1024' | '1792x1024' | '1024x1792' | `${number}x${number}`;
73
+ /**
74
+ * Quality of the generated image
75
+ */
76
+ readonly quality?: 'standard' | 'hd';
77
+ /**
78
+ * Style of the generated image
79
+ */
80
+ readonly style?: 'vivid' | 'natural';
47
81
  };
48
82
  /**
49
83
  * Model requirements for the embedding variant
@@ -54,7 +88,7 @@ export type EmbeddingModelRequirements = CommonModelRequirements & {
54
88
  /**
55
89
  * Embedding model variant
56
90
  */
57
- modelVariant: 'EMBEDDING';
91
+ readonly modelVariant: 'EMBEDDING';
58
92
  };
59
93
  /**
60
94
  * Common properties for all model requirements variants
@@ -84,20 +118,10 @@ export type CommonModelRequirements = {
84
118
  * @example 'gpt-4', 'gpt-4-32k-0314', 'gpt-3.5-turbo-instruct',...
85
119
  */
86
120
  readonly modelName?: string_model_name;
87
- /**
88
- * The temperature of the model
89
- *
90
- * Note: [๐Ÿ’ฑ] Promptbook is using just `temperature` (not `top_k` and `top_p`)
91
- */
92
- readonly temperature?: number_model_temperature;
93
121
  /**
94
122
  * Seed for the model
95
123
  */
96
124
  readonly seed?: number_seed;
97
- /**
98
- * Maximum number of tokens that can be generated by the model
99
- */
100
- readonly maxTokens?: number;
101
125
  };
102
126
  /**
103
127
  * TODO: [๐Ÿง ][๐Ÿˆ] `seed` should maybe be somewhere else (not in `ModelRequirements`) (similar that `user` identification is not here)
@@ -14,9 +14,15 @@ export type string_model_name = 'gpt-4' | 'gpt-4-0314' | 'gpt-4-0613' | 'gpt-4-3
14
14
  /**
15
15
  * Semantic helper
16
16
  *
17
- * For example `"A cat wearing a hat"`
17
+ * For example `"How many eyes does a cat have?"`
18
18
  */
19
19
  export type string_prompt = string;
20
+ /**
21
+ * Semantic helper
22
+ *
23
+ * For example `"A cat wearing a hat"`
24
+ */
25
+ export type string_prompt_image = string;
20
26
  /**
21
27
  * Semantic helper
22
28
  *
@@ -140,6 +146,8 @@ export type string_title = string;
140
146
  * Semantic helper
141
147
  *
142
148
  * For example `"My AI Assistant"`
149
+ *
150
+ * TODO: !!!! Brand the type
143
151
  */
144
152
  export type string_agent_name = string;
145
153
  /**
@@ -158,6 +166,8 @@ export type string_agent_hash = string_sha256;
158
166
  * Semantic helper
159
167
  *
160
168
  * For example `"3mJr7AoUXx2Wqd"`
169
+ *
170
+ * TODO: !!!! Brand the type
161
171
  */
162
172
  export type string_agent_permanent_id = string_base_58;
163
173
  /**
@@ -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.104.0-4`).
18
+ * It follows semantic versioning (e.g., `0.104.0-6`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/components",
3
- "version": "0.104.0-5",
3
+ "version": "0.104.0-7",
4
4
  "description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
5
5
  "private": false,
6
6
  "sideEffects": false,
package/umd/index.umd.js CHANGED
@@ -30,7 +30,7 @@
30
30
  * @generated
31
31
  * @see https://github.com/webgptorg/promptbook
32
32
  */
33
- const PROMPTBOOK_ENGINE_VERSION = '0.104.0-5';
33
+ const PROMPTBOOK_ENGINE_VERSION = '0.104.0-7';
34
34
  /**
35
35
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
36
36
  * Note: [๐Ÿ’ž] Ignore a discrepancy between file name and entity name
@@ -148,48 +148,12 @@
148
148
  * TODO: [๐ŸŒบ] Use some intermediate util splitWords
149
149
  */
150
150
 
151
- /**
152
- * Generates a gravatar URL based on agent name for fallback avatar
153
- *
154
- * @param agentName The agent name to generate avatar for
155
- * @returns Gravatar URL
156
- *
157
- * @private - [๐Ÿคน] The fact that profile image is Gravatar is just implementation detail which should be hidden for consumer
158
- */
159
- function generateGravatarUrl(agentName) {
160
- // Use a default name if none provided
161
- const safeName = agentName || 'Anonymous Agent';
162
- // Create a simple hash from the name for consistent avatar
163
- let hash = 0;
164
- for (let i = 0; i < safeName.length; i++) {
165
- const char = safeName.charCodeAt(i);
166
- hash = (hash << 5) - hash + char;
167
- hash = hash & hash; // Convert to 32bit integer
168
- }
169
- const avatarId = Math.abs(hash).toString();
170
- return `https://www.gravatar.com/avatar/${avatarId}?default=robohash&size=200&rating=x`;
171
- }
172
-
173
- /**
174
- * Generates an image for the agent to use as profile image
175
- *
176
- * @param agentName The agent name to generate avatar for
177
- * @returns The placeholder profile image URL for the agent
178
- *
179
- * @public exported from `@promptbook/core`
180
- */
181
- function generatePlaceholderAgentProfileImageUrl(agentName) {
182
- // Note: [๐Ÿคน] The fact that profile image is Gravatar is just implementation detail which should be hidden for consumer
183
- return generateGravatarUrl(agentName);
184
- }
185
- /**
186
- * TODO: [๐Ÿคน] Figure out best placeholder image generator https://i.pravatar.cc/1000?u=568
187
- */
188
-
189
151
  /**
190
152
  * Core Promptbook server configuration.
191
153
  *
192
154
  * This server is also used for auto-federation in the Agents Server.
155
+ *
156
+ * @public exported from `@promptbook/core`
193
157
  */
194
158
  const CORE_SERVER = {
195
159
  title: 'Promptbook Core',
@@ -7378,10 +7342,6 @@
7378
7342
  const metaType = normalizeTo_camelCase(metaTypeRaw);
7379
7343
  meta[metaType] = spaceTrim__default["default"](commitment.content.substring(metaTypeRaw.length));
7380
7344
  }
7381
- // Generate gravatar fallback if no meta image specified
7382
- if (!meta.image) {
7383
- meta.image = generatePlaceholderAgentProfileImageUrl(parseResult.agentName || '!!');
7384
- }
7385
7345
  // Generate fullname fallback if no meta fullname specified
7386
7346
  if (!meta.fullname) {
7387
7347
  meta.fullname = parseResult.agentName || createDefaultAgentName(agentSource);
@@ -9641,7 +9601,10 @@
9641
9601
  console.groupEnd();
9642
9602
  }, children: [avatarSrc && (jsxRuntime.jsxs("div", { ref: avatarRef, className: chatStyles.avatar, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onClick: showTooltip, children: [jsxRuntime.jsx("img", { width: AVATAR_SIZE, src: avatarSrc, alt: `Avatar of ${message.sender.toString().toLocaleLowerCase()}`, style: {
9643
9603
  '--avatar-bg-color': color.toHex(),
9604
+ objectFit: 'cover',
9644
9605
  width: AVATAR_SIZE,
9606
+ height: AVATAR_SIZE,
9607
+ aspectRatio: '1 / 1',
9645
9608
  } }), isAvatarTooltipVisible && (participant === null || participant === void 0 ? void 0 : participant.agentSource) && avatarTooltipPosition && (jsxRuntime.jsx(AvatarProfileTooltip, { ref: tooltipRef, agentSource: participant.agentSource, position: avatarTooltipPosition }))] })), jsxRuntime.jsxs("div", { className: chatStyles.messageText, style: {
9646
9609
  '--message-bg-color': color.toHex(),
9647
9610
  '--message-text-color': colorOfText.toHex(),
@@ -16741,13 +16704,14 @@
16741
16704
  const modelName = currentModelRequirements.modelName || this.getDefaultImageGenerationModel().modelName;
16742
16705
  const modelSettings = {
16743
16706
  model: modelName,
16744
- // size: currentModelRequirements.size,
16745
- // quality: currentModelRequirements.quality,
16746
- // style: currentModelRequirements.style,
16707
+ size: currentModelRequirements.size,
16708
+ quality: currentModelRequirements.quality,
16709
+ style: currentModelRequirements.style,
16747
16710
  };
16748
16711
  const rawPromptContent = templateParameters(content, { ...parameters, modelName });
16749
16712
  const rawRequest = {
16750
16713
  ...modelSettings,
16714
+ size: modelSettings.size || '1024x1024',
16751
16715
  prompt: rawPromptContent,
16752
16716
  user: (_a = this.options.userId) === null || _a === void 0 ? void 0 : _a.toString(),
16753
16717
  response_format: 'url', // TODO: [๐Ÿง ] Maybe allow b64_json
@@ -18129,7 +18093,8 @@
18129
18093
  // TODO: [๐Ÿง ] Handle error state (show error message in the chat window)
18130
18094
  const image = ((_a = agent === null || agent === void 0 ? void 0 : agent.meta) === null || _a === void 0 ? void 0 : _a.image) ||
18131
18095
  (meta === null || meta === void 0 ? void 0 : meta.image) ||
18132
- 'https://www.gravatar.com/avatar/00000000000000000000000000000000?d=mp&f=y';
18096
+ // Note: [๐Ÿคน] Using default avatar from the agent server
18097
+ `${agentUrl}/images/default-avatar.png`;
18133
18098
  const color = ((_b = agent === null || agent === void 0 ? void 0 : agent.meta) === null || _b === void 0 ? void 0 : _b.color) || (meta === null || meta === void 0 ? void 0 : meta.color);
18134
18099
  let connectionStatus = 'pending';
18135
18100
  if (agent) {