@promptbook/components 0.104.0-10 → 0.104.0-11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/index.es.js +70 -13
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/types.index.d.ts +6 -0
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +23 -0
- package/esm/typings/src/book-components/Chat/types/ChatMessage.d.ts +2 -2
- package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +1 -1
- package/esm/typings/src/book-components/_common/HamburgerMenu/HamburgerMenu.d.ts +1 -1
- package/esm/typings/src/book-components/icons/AboutIcon.d.ts +1 -1
- package/esm/typings/src/book-components/icons/AttachmentIcon.d.ts +1 -1
- package/esm/typings/src/book-components/icons/CameraIcon.d.ts +1 -1
- package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +1 -1
- package/esm/typings/src/book-components/icons/MenuIcon.d.ts +1 -1
- package/esm/typings/src/book-components/icons/SaveIcon.d.ts +1 -1
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +2 -2
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +0 -54
- package/esm/typings/src/llm-providers/_common/utils/count-total-usage/countUsage.d.ts +1 -1
- package/esm/typings/src/llm-providers/agent/Agent.d.ts +6 -1
- package/esm/typings/src/remote-server/ui/ServerApp.d.ts +1 -1
- package/esm/typings/src/search-engines/SearchEngine.d.ts +9 -0
- package/esm/typings/src/search-engines/SearchResult.d.ts +18 -0
- package/esm/typings/src/search-engines/bing/BingSearchEngine.d.ts +15 -0
- package/esm/typings/src/search-engines/dummy/DummySearchEngine.d.ts +15 -0
- package/esm/typings/src/utils/random/$randomAgentPersona.d.ts +3 -2
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +1 -1
- package/umd/index.umd.js +70 -13
- package/umd/index.umd.js.map +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { BookParameter } from '../book-2.0/agent-source/AgentBasicInformation';
|
|
2
|
+
import type { AgentCapability } from '../book-2.0/agent-source/AgentBasicInformation';
|
|
2
3
|
import type { AgentBasicInformation } from '../book-2.0/agent-source/AgentBasicInformation';
|
|
3
4
|
import type { AgentModelRequirements } from '../book-2.0/agent-source/AgentModelRequirements';
|
|
4
5
|
import type { string_book } from '../book-2.0/agent-source/string_book';
|
|
@@ -178,6 +179,8 @@ import type { ScraperSourceHandler } from '../scrapers/_common/Scraper';
|
|
|
178
179
|
import type { ScraperIntermediateSource } from '../scrapers/_common/ScraperIntermediateSource';
|
|
179
180
|
import type { JavascriptExecutionToolsOptions } from '../scripting/javascript/JavascriptExecutionToolsOptions';
|
|
180
181
|
import type { PostprocessingFunction } from '../scripting/javascript/JavascriptExecutionToolsOptions';
|
|
182
|
+
import type { SearchEngine } from '../search-engines/SearchEngine';
|
|
183
|
+
import type { SearchResult } from '../search-engines/SearchResult';
|
|
181
184
|
import type { PromptbookStorage } from '../storage/_common/PromptbookStorage';
|
|
182
185
|
import type { FileCacheStorageOptions } from '../storage/file-cache-storage/FileCacheStorageOptions';
|
|
183
186
|
import type { IndexedDbStorageOptions } from '../storage/local-storage/utils/IndexedDbStorageOptions';
|
|
@@ -367,6 +370,7 @@ import type { ExportJsonOptions } from '../utils/serialization/exportJson';
|
|
|
367
370
|
import type { ITakeChain } from '../utils/take/interfaces/ITakeChain';
|
|
368
371
|
import type { string_promptbook_version } from '../version';
|
|
369
372
|
export type { BookParameter };
|
|
373
|
+
export type { AgentCapability };
|
|
370
374
|
export type { AgentBasicInformation };
|
|
371
375
|
export type { AgentModelRequirements };
|
|
372
376
|
export type { string_book };
|
|
@@ -546,6 +550,8 @@ export type { ScraperSourceHandler };
|
|
|
546
550
|
export type { ScraperIntermediateSource };
|
|
547
551
|
export type { JavascriptExecutionToolsOptions };
|
|
548
552
|
export type { PostprocessingFunction };
|
|
553
|
+
export type { SearchEngine };
|
|
554
|
+
export type { SearchResult };
|
|
549
555
|
export type { PromptbookStorage };
|
|
550
556
|
export type { FileCacheStorageOptions };
|
|
551
557
|
export type { IndexedDbStorageOptions };
|
|
@@ -23,6 +23,24 @@ export type BookParameter = {
|
|
|
23
23
|
*/
|
|
24
24
|
description?: string;
|
|
25
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* Capability of the agent
|
|
28
|
+
* This is parsed from commitments like USE BROWSER, USE SEARCH ENGINE, KNOWLEDGE, etc.
|
|
29
|
+
*/
|
|
30
|
+
export type AgentCapability = {
|
|
31
|
+
/**
|
|
32
|
+
* The type of the capability
|
|
33
|
+
*/
|
|
34
|
+
type: 'browser' | 'search-engine' | 'knowledge';
|
|
35
|
+
/**
|
|
36
|
+
* The label to display for this capability
|
|
37
|
+
*/
|
|
38
|
+
label: string;
|
|
39
|
+
/**
|
|
40
|
+
* The name of the icon to display for this capability
|
|
41
|
+
*/
|
|
42
|
+
iconName: string;
|
|
43
|
+
};
|
|
26
44
|
export type AgentBasicInformation = {
|
|
27
45
|
/**
|
|
28
46
|
* Name of the agent
|
|
@@ -72,6 +90,11 @@ export type AgentBasicInformation = {
|
|
|
72
90
|
* - {parameterName} or {parameter with multiple words} or {parameterName: description text}
|
|
73
91
|
*/
|
|
74
92
|
parameters: BookParameter[];
|
|
93
|
+
/**
|
|
94
|
+
* Capabilities of the agent
|
|
95
|
+
* This is parsed from commitments like USE BROWSER, USE SEARCH ENGINE, KNOWLEDGE, etc.
|
|
96
|
+
*/
|
|
97
|
+
capabilities: AgentCapability[];
|
|
75
98
|
};
|
|
76
99
|
/**
|
|
77
100
|
* TODO: [🐱🚀] Make all properties of `AgentBasicInformation` readonly
|
|
@@ -23,11 +23,11 @@ export type ChatMessage = Omit<Message<id>, 'direction' | 'recipients' | 'thread
|
|
|
23
23
|
*/
|
|
24
24
|
isComplete?: boolean;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* The expected answer for the message (used for testing or validation)
|
|
27
27
|
*/
|
|
28
28
|
expectedAnswer?: string;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Indicates if the message was sent via a voice call
|
|
31
31
|
*/
|
|
32
32
|
isVoiceCall?: boolean;
|
|
33
33
|
};
|
|
@@ -26,11 +26,11 @@ export declare class AgentCollectionInSupabase {
|
|
|
26
26
|
*/
|
|
27
27
|
listAgents(): Promise<ReadonlyArray<AgentBasicInformation>>;
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Retrieves the permanent ID of an agent by its name or permanent ID.
|
|
30
30
|
*/
|
|
31
31
|
getAgentPermanentId(agentNameOrPermanentId: string_agent_name | string_agent_permanent_id): Promise<string_agent_permanent_id>;
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* Retrieves the source code of an agent by its name or permanent ID.
|
|
34
34
|
*/
|
|
35
35
|
getAgentSource(agentNameOrPermanentId: string_agent_name | string_agent_permanent_id): Promise<string_book>;
|
|
36
36
|
/**
|
|
@@ -108,60 +108,6 @@ export type AgentsDatabaseSchema = {
|
|
|
108
108
|
}
|
|
109
109
|
];
|
|
110
110
|
};
|
|
111
|
-
GenerationLock: {
|
|
112
|
-
Row: {
|
|
113
|
-
id: number;
|
|
114
|
-
createdAt: string;
|
|
115
|
-
updatedAt: string;
|
|
116
|
-
lockKey: string;
|
|
117
|
-
expiresAt: string;
|
|
118
|
-
};
|
|
119
|
-
Insert: {
|
|
120
|
-
id?: number;
|
|
121
|
-
createdAt?: string;
|
|
122
|
-
updatedAt?: string;
|
|
123
|
-
lockKey: string;
|
|
124
|
-
expiresAt: string;
|
|
125
|
-
};
|
|
126
|
-
Update: {
|
|
127
|
-
id?: number;
|
|
128
|
-
createdAt?: string;
|
|
129
|
-
updatedAt?: string;
|
|
130
|
-
lockKey?: string;
|
|
131
|
-
expiresAt?: string;
|
|
132
|
-
};
|
|
133
|
-
Relationships: [];
|
|
134
|
-
};
|
|
135
|
-
Image: {
|
|
136
|
-
Row: {
|
|
137
|
-
id: number;
|
|
138
|
-
createdAt: string;
|
|
139
|
-
updatedAt: string;
|
|
140
|
-
filename: string;
|
|
141
|
-
prompt: string;
|
|
142
|
-
cdnUrl: string;
|
|
143
|
-
cdnKey: string;
|
|
144
|
-
};
|
|
145
|
-
Insert: {
|
|
146
|
-
id?: number;
|
|
147
|
-
createdAt?: string;
|
|
148
|
-
updatedAt?: string;
|
|
149
|
-
filename: string;
|
|
150
|
-
prompt: string;
|
|
151
|
-
cdnUrl: string;
|
|
152
|
-
cdnKey: string;
|
|
153
|
-
};
|
|
154
|
-
Update: {
|
|
155
|
-
id?: number;
|
|
156
|
-
createdAt?: string;
|
|
157
|
-
updatedAt?: string;
|
|
158
|
-
filename?: string;
|
|
159
|
-
prompt?: string;
|
|
160
|
-
cdnUrl?: string;
|
|
161
|
-
cdnKey?: string;
|
|
162
|
-
};
|
|
163
|
-
Relationships: [];
|
|
164
|
-
};
|
|
165
111
|
};
|
|
166
112
|
Views: Record<string, never>;
|
|
167
113
|
Functions: Record<string, never>;
|
|
@@ -13,5 +13,5 @@ export declare function countUsage(llmTools: LlmExecutionTools): LlmExecutionToo
|
|
|
13
13
|
* TODO: [🧠] Is there some meaningfull way how to test this util
|
|
14
14
|
* TODO: [🧠][🌯] Maybe a way how to hide ability to `get totalUsage`
|
|
15
15
|
* > const [llmToolsWithUsage,getUsage] = countTotalUsage(llmTools);
|
|
16
|
-
* TODO: [👷♂️]
|
|
16
|
+
* TODO: [👷♂️] Write a comprehensive manual explaining the construction and usage of LLM tools in the Promptbook ecosystem
|
|
17
17
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BehaviorSubject } from 'rxjs';
|
|
2
|
-
import type { AgentBasicInformation, BookParameter } from '../../book-2.0/agent-source/AgentBasicInformation';
|
|
2
|
+
import type { AgentBasicInformation, AgentCapability, BookParameter } from '../../book-2.0/agent-source/AgentBasicInformation';
|
|
3
3
|
import type { string_book } from '../../book-2.0/agent-source/string_book';
|
|
4
4
|
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
5
5
|
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
@@ -37,6 +37,11 @@ export declare class Agent extends AgentLlmExecutionTools implements LlmExecutio
|
|
|
37
37
|
* Links found in the agent source
|
|
38
38
|
*/
|
|
39
39
|
links: Array<string_agent_url>;
|
|
40
|
+
/**
|
|
41
|
+
* Capabilities of the agent
|
|
42
|
+
* This is parsed from commitments like USE BROWSER, USE SEARCH ENGINE, KNOWLEDGE, etc.
|
|
43
|
+
*/
|
|
44
|
+
capabilities: AgentCapability[];
|
|
40
45
|
/**
|
|
41
46
|
* Computed hash of the agent source for integrity verification
|
|
42
47
|
*/
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Promisable } from 'type-fest';
|
|
2
|
+
import type { string_markdown, string_markdown_text, string_title } from '../types/typeAliases';
|
|
3
|
+
import type { SearchResult } from './SearchResult';
|
|
4
|
+
export type SearchEngine = {
|
|
5
|
+
readonly title: string_title & string_markdown_text;
|
|
6
|
+
readonly description?: string_markdown;
|
|
7
|
+
checkConfiguration(): Promisable<void>;
|
|
8
|
+
search(query: string): Promise<SearchResult[]>;
|
|
9
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Promisable } from 'type-fest';
|
|
2
|
+
import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
|
|
3
|
+
import type { SearchEngine } from '../SearchEngine';
|
|
4
|
+
import type { SearchResult } from '../SearchResult';
|
|
5
|
+
/**
|
|
6
|
+
* @@@
|
|
7
|
+
*
|
|
8
|
+
* @private <- TODO: !!!! Export via some package
|
|
9
|
+
*/
|
|
10
|
+
export declare class BingSearchEngine implements SearchEngine {
|
|
11
|
+
get title(): string_title & string_markdown_text;
|
|
12
|
+
get description(): string_markdown;
|
|
13
|
+
checkConfiguration(): Promisable<void>;
|
|
14
|
+
search(query: string): Promise<SearchResult[]>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Promisable } from 'type-fest';
|
|
2
|
+
import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
|
|
3
|
+
import type { SearchEngine } from '../SearchEngine';
|
|
4
|
+
import type { SearchResult } from '../SearchResult';
|
|
5
|
+
/**
|
|
6
|
+
* @@@
|
|
7
|
+
*
|
|
8
|
+
* @private <- TODO: !!!! Export via some package, maybe `@promptbook/search-engines` or `@promptbook/fake-llm`
|
|
9
|
+
*/
|
|
10
|
+
export declare class DummySearchEngine implements SearchEngine {
|
|
11
|
+
get title(): string_title & string_markdown_text;
|
|
12
|
+
get description(): string_markdown;
|
|
13
|
+
checkConfiguration(): Promisable<void>;
|
|
14
|
+
search(query: string): Promise<SearchResult[]>;
|
|
15
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { string_persona_description } from '../../types/typeAliases';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Generates a random agent persona description.
|
|
3
4
|
*
|
|
4
5
|
* @private internal helper function
|
|
5
6
|
*/
|
|
6
|
-
export declare function $randomAgentPersona():
|
|
7
|
+
export declare function $randomAgentPersona(): string_persona_description;
|
|
7
8
|
/**
|
|
8
9
|
* TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
|
|
9
10
|
*/
|
|
@@ -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-
|
|
18
|
+
* It follows semantic versioning (e.g., `0.104.0-10`).
|
|
19
19
|
*
|
|
20
20
|
* @generated
|
|
21
21
|
*/
|
package/package.json
CHANGED
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-
|
|
33
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.104.0-11';
|
|
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
|
|
@@ -7312,7 +7312,57 @@
|
|
|
7312
7312
|
}
|
|
7313
7313
|
const meta = {};
|
|
7314
7314
|
const links = [];
|
|
7315
|
+
const capabilities = [];
|
|
7315
7316
|
for (const commitment of parseResult.commitments) {
|
|
7317
|
+
if (commitment.type === 'USE BROWSER') {
|
|
7318
|
+
capabilities.push({
|
|
7319
|
+
type: 'browser',
|
|
7320
|
+
label: 'Browser',
|
|
7321
|
+
iconName: 'Globe',
|
|
7322
|
+
});
|
|
7323
|
+
continue;
|
|
7324
|
+
}
|
|
7325
|
+
if (commitment.type === 'USE SEARCH ENGINE') {
|
|
7326
|
+
capabilities.push({
|
|
7327
|
+
type: 'search-engine',
|
|
7328
|
+
label: 'Search Internet',
|
|
7329
|
+
iconName: 'Search',
|
|
7330
|
+
});
|
|
7331
|
+
continue;
|
|
7332
|
+
}
|
|
7333
|
+
if (commitment.type === 'KNOWLEDGE') {
|
|
7334
|
+
const content = spaceTrim__default["default"](commitment.content).split('\n')[0] || '';
|
|
7335
|
+
let label = content;
|
|
7336
|
+
let iconName = 'Book';
|
|
7337
|
+
if (content.startsWith('http://') || content.startsWith('https://')) {
|
|
7338
|
+
try {
|
|
7339
|
+
const url = new URL(content);
|
|
7340
|
+
if (url.pathname.endsWith('.pdf')) {
|
|
7341
|
+
label = url.pathname.split('/').pop() || 'Document.pdf';
|
|
7342
|
+
iconName = 'FileText';
|
|
7343
|
+
}
|
|
7344
|
+
else {
|
|
7345
|
+
label = url.hostname.replace(/^www\./, '');
|
|
7346
|
+
}
|
|
7347
|
+
}
|
|
7348
|
+
catch (e) {
|
|
7349
|
+
// Invalid URL, treat as text
|
|
7350
|
+
}
|
|
7351
|
+
}
|
|
7352
|
+
else {
|
|
7353
|
+
// Text content - take first few words
|
|
7354
|
+
const words = content.split(/\s+/);
|
|
7355
|
+
if (words.length > 4) {
|
|
7356
|
+
label = words.slice(0, 4).join(' ') + '...';
|
|
7357
|
+
}
|
|
7358
|
+
}
|
|
7359
|
+
capabilities.push({
|
|
7360
|
+
type: 'knowledge',
|
|
7361
|
+
label,
|
|
7362
|
+
iconName,
|
|
7363
|
+
});
|
|
7364
|
+
continue;
|
|
7365
|
+
}
|
|
7316
7366
|
if (commitment.type === 'META LINK') {
|
|
7317
7367
|
const linkValue = spaceTrim__default["default"](commitment.content);
|
|
7318
7368
|
links.push(linkValue);
|
|
@@ -7359,6 +7409,7 @@
|
|
|
7359
7409
|
meta,
|
|
7360
7410
|
links,
|
|
7361
7411
|
parameters,
|
|
7412
|
+
capabilities,
|
|
7362
7413
|
};
|
|
7363
7414
|
}
|
|
7364
7415
|
/**
|
|
@@ -7720,7 +7771,7 @@
|
|
|
7720
7771
|
styleInject(css_248z$6);
|
|
7721
7772
|
|
|
7722
7773
|
/**
|
|
7723
|
-
*
|
|
7774
|
+
* Creates a showdown converter configured for chat markdown rendering
|
|
7724
7775
|
*
|
|
7725
7776
|
* @private utility of `MarkdownContent` component
|
|
7726
7777
|
*/
|
|
@@ -7768,13 +7819,13 @@
|
|
|
7768
7819
|
});
|
|
7769
7820
|
}
|
|
7770
7821
|
/**
|
|
7771
|
-
*
|
|
7822
|
+
* Pre-configured showdown converter for chat markdown
|
|
7772
7823
|
*
|
|
7773
7824
|
* @private utility of `MarkdownContent` component
|
|
7774
7825
|
*/
|
|
7775
7826
|
const chatMarkdownConverter = createChatMarkdownConverter();
|
|
7776
7827
|
/**
|
|
7777
|
-
*
|
|
7828
|
+
* Renders math expressions in markdown using KaTeX
|
|
7778
7829
|
*
|
|
7779
7830
|
* @private utility of `MarkdownContent` component
|
|
7780
7831
|
*/
|
|
@@ -7971,7 +8022,7 @@
|
|
|
7971
8022
|
}
|
|
7972
8023
|
|
|
7973
8024
|
/**
|
|
7974
|
-
*
|
|
8025
|
+
* Renders an about icon
|
|
7975
8026
|
*
|
|
7976
8027
|
* @private internal subcomponent used by various components
|
|
7977
8028
|
*/
|
|
@@ -7981,7 +8032,7 @@
|
|
|
7981
8032
|
}
|
|
7982
8033
|
|
|
7983
8034
|
/**
|
|
7984
|
-
*
|
|
8035
|
+
* Renders an attachment icon
|
|
7985
8036
|
*
|
|
7986
8037
|
* @public exported from `@promptbook/components`
|
|
7987
8038
|
*/
|
|
@@ -7990,7 +8041,7 @@
|
|
|
7990
8041
|
}
|
|
7991
8042
|
|
|
7992
8043
|
/**
|
|
7993
|
-
*
|
|
8044
|
+
* Renders a camera icon
|
|
7994
8045
|
*
|
|
7995
8046
|
* @public exported from `@promptbook/components`
|
|
7996
8047
|
*/
|
|
@@ -7999,7 +8050,7 @@
|
|
|
7999
8050
|
}
|
|
8000
8051
|
|
|
8001
8052
|
/**
|
|
8002
|
-
*
|
|
8053
|
+
* Renders a download icon
|
|
8003
8054
|
*
|
|
8004
8055
|
* @private internal subcomponent used by various components
|
|
8005
8056
|
*/
|
|
@@ -8093,7 +8144,7 @@
|
|
|
8093
8144
|
styleInject(css_248z$5);
|
|
8094
8145
|
|
|
8095
8146
|
/**
|
|
8096
|
-
*
|
|
8147
|
+
* An animated hamburger menu button component.
|
|
8097
8148
|
*
|
|
8098
8149
|
* @private Internal component
|
|
8099
8150
|
*/
|
|
@@ -8106,7 +8157,7 @@
|
|
|
8106
8157
|
styleInject(css_248z$4);
|
|
8107
8158
|
|
|
8108
8159
|
/**
|
|
8109
|
-
*
|
|
8160
|
+
* A dropdown menu component that displays a list of actions triggered by a hamburger menu button.
|
|
8110
8161
|
*
|
|
8111
8162
|
* @private internal subcomponent used by various components
|
|
8112
8163
|
*/
|
|
@@ -9029,7 +9080,7 @@
|
|
|
9029
9080
|
const ResetIcon = () => (jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsxRuntime.jsx("path", { d: "M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4L17.65,6.35z" }) }));
|
|
9030
9081
|
|
|
9031
9082
|
/**
|
|
9032
|
-
*
|
|
9083
|
+
* Renders a save icon
|
|
9033
9084
|
*
|
|
9034
9085
|
* @public exported from `@promptbook/components`
|
|
9035
9086
|
*/
|
|
@@ -12471,7 +12522,7 @@
|
|
|
12471
12522
|
* TODO: [🧠] Is there some meaningfull way how to test this util
|
|
12472
12523
|
* TODO: [🧠][🌯] Maybe a way how to hide ability to `get totalUsage`
|
|
12473
12524
|
* > const [llmToolsWithUsage,getUsage] = countTotalUsage(llmTools);
|
|
12474
|
-
* TODO: [👷♂️]
|
|
12525
|
+
* TODO: [👷♂️] Write a comprehensive manual explaining the construction and usage of LLM tools in the Promptbook ecosystem
|
|
12475
12526
|
*/
|
|
12476
12527
|
|
|
12477
12528
|
/**
|
|
@@ -17783,6 +17834,11 @@
|
|
|
17783
17834
|
* Links found in the agent source
|
|
17784
17835
|
*/
|
|
17785
17836
|
this.links = [];
|
|
17837
|
+
/**
|
|
17838
|
+
* Capabilities of the agent
|
|
17839
|
+
* This is parsed from commitments like USE BROWSER, USE SEARCH ENGINE, KNOWLEDGE, etc.
|
|
17840
|
+
*/
|
|
17841
|
+
this.capabilities = [];
|
|
17786
17842
|
/**
|
|
17787
17843
|
* Metadata like image or color
|
|
17788
17844
|
*/
|
|
@@ -17792,11 +17848,12 @@
|
|
|
17792
17848
|
this.agentSource = agentSource;
|
|
17793
17849
|
this.agentSource.subscribe((source) => {
|
|
17794
17850
|
this.updateAgentSource(source);
|
|
17795
|
-
const { agentName, personaDescription, initialMessage, links, meta } = parseAgentSource(source);
|
|
17851
|
+
const { agentName, personaDescription, initialMessage, links, meta, capabilities } = parseAgentSource(source);
|
|
17796
17852
|
this._agentName = agentName;
|
|
17797
17853
|
this.personaDescription = personaDescription;
|
|
17798
17854
|
this.initialMessage = initialMessage;
|
|
17799
17855
|
this.links = links;
|
|
17856
|
+
this.capabilities = capabilities;
|
|
17800
17857
|
this.meta = { ...this.meta, ...meta };
|
|
17801
17858
|
});
|
|
17802
17859
|
}
|