@promptbook/javascript 0.104.0-1 โ 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 +1 -77
- package/esm/index.es.js.map +1 -1
- package/esm/typings/servers.d.ts +8 -0
- package/esm/typings/src/_packages/core.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +16 -2
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +29 -1
- package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirements.d.ts +6 -6
- package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.closed.test.d.ts +1 -0
- package/esm/typings/src/book-2.0/utils/generatePlaceholderAgentProfileImageUrl.d.ts +3 -3
- package/esm/typings/src/book-components/Chat/Chat/ChatMessageItem.d.ts +5 -1
- package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/CodeBlock/CodeBlock.d.ts +13 -0
- package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +1 -0
- package/esm/typings/src/book-components/Chat/types/ChatMessage.d.ts +9 -13
- package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +3 -3
- package/esm/typings/src/book-components/_common/HamburgerMenu/HamburgerMenu.d.ts +1 -1
- package/esm/typings/src/book-components/_common/MenuHoisting/MenuHoistingContext.d.ts +56 -0
- 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 +22 -12
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +27 -15
- package/esm/typings/src/commitments/DICTIONARY/DICTIONARY.d.ts +46 -0
- package/esm/typings/src/commitments/index.d.ts +2 -1
- package/esm/typings/src/llm-providers/_common/utils/count-total-usage/countUsage.d.ts +1 -1
- package/esm/typings/src/llm-providers/_multiple/MultipleLlmExecutionTools.d.ts +6 -2
- package/esm/typings/src/llm-providers/agent/Agent.d.ts +6 -1
- package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/ollama/OllamaExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/createOpenAiCompatibleExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +1 -0
- 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/types/Message.d.ts +49 -0
- package/esm/typings/src/types/ModelRequirements.d.ts +38 -14
- package/esm/typings/src/types/typeAliases.d.ts +23 -1
- package/esm/typings/src/utils/color/utils/colorToDataUrl.d.ts +2 -1
- package/esm/typings/src/utils/environment/$detectRuntimeEnvironment.d.ts +4 -4
- package/esm/typings/src/utils/environment/$isRunningInBrowser.d.ts +1 -1
- package/esm/typings/src/utils/environment/$isRunningInJest.d.ts +1 -1
- package/esm/typings/src/utils/environment/$isRunningInNode.d.ts +1 -1
- package/esm/typings/src/utils/environment/$isRunningInWebWorker.d.ts +1 -1
- package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +2 -2
- package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +2 -2
- package/esm/typings/src/utils/random/$randomAgentPersona.d.ts +3 -2
- package/esm/typings/src/utils/random/$randomBase58.d.ts +12 -0
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +1 -77
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/book-2.0/utils/generateGravatarUrl.d.ts +0 -10
|
@@ -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, 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
|
|
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(
|
|
10
|
+
export declare function generatePlaceholderAgentProfileImageUrl(agentIdOrName: string_agent_permanent_id | string_agent_name, agentsServerUrl?: URL | string_url): string_url_image;
|
|
11
11
|
/**
|
|
12
12
|
* TODO: [๐คน] Figure out best placeholder image generator https://i.pravatar.cc/1000?u=568
|
|
13
13
|
*/
|
|
@@ -29,11 +29,15 @@ type ChatMessageItemProps = Pick<ChatProps, 'onMessage' | 'participants'> & {
|
|
|
29
29
|
* Called when the copy button is pressed.
|
|
30
30
|
*/
|
|
31
31
|
onCopy?: () => void;
|
|
32
|
+
/**
|
|
33
|
+
* Called when the create agent button is pressed for book code blocks.
|
|
34
|
+
*/
|
|
35
|
+
onCreateAgent?: (bookContent: string) => void;
|
|
32
36
|
};
|
|
33
37
|
/**
|
|
34
38
|
* Renders a single chat message item with avatar, content, buttons, and rating.
|
|
35
39
|
*
|
|
36
40
|
* @private internal subcomponent of `<Chat>` component
|
|
37
41
|
*/
|
|
38
|
-
export declare const ChatMessageItem: import("react").MemoExoticComponent<({ message, participant, participants, isLastMessage, onMessage, setExpandedMessageId, isExpanded, currentRating, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, onCopy, }: ChatMessageItemProps) => import("react/jsx-runtime").JSX.Element>;
|
|
42
|
+
export declare const ChatMessageItem: import("react").MemoExoticComponent<({ message, participant, participants, isLastMessage, onMessage, setExpandedMessageId, isExpanded, currentRating, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, onCopy, onCreateAgent, }: ChatMessageItemProps) => import("react/jsx-runtime").JSX.Element>;
|
|
39
43
|
export {};
|
|
@@ -187,6 +187,11 @@ export type ChatProps = {
|
|
|
187
187
|
* @default true
|
|
188
188
|
*/
|
|
189
189
|
isCopyButtonEnabled?: boolean;
|
|
190
|
+
/**
|
|
191
|
+
* Optional callback for creating an agent from a book code block.
|
|
192
|
+
* When provided, "Create Agent" buttons will be shown for book code blocks.
|
|
193
|
+
*/
|
|
194
|
+
onCreateAgent?: (bookContent: string) => void;
|
|
190
195
|
};
|
|
191
196
|
/**
|
|
192
197
|
* TODO: [โ๏ธ] Export component prop types only to `@promptbook/components` (not `@promptbook/types`)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type CodeBlockProps = {
|
|
2
|
+
code: string;
|
|
3
|
+
language?: string;
|
|
4
|
+
className?: string;
|
|
5
|
+
onCreateAgent?: (bookContent: string) => void;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Component to render a code block with syntax highlighting, copy, download, and create agent options.
|
|
9
|
+
*
|
|
10
|
+
* @private Internal utility of `<ChatMessage />` component
|
|
11
|
+
*/
|
|
12
|
+
export declare function CodeBlock({ code, language, className, onCreateAgent }: CodeBlockProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -2,6 +2,7 @@ import type { string_markdown } from '../../../types/typeAliases';
|
|
|
2
2
|
type MarkdownContentProps = {
|
|
3
3
|
content: string_markdown;
|
|
4
4
|
className?: string;
|
|
5
|
+
onCreateAgent?: (bookContent: string) => void;
|
|
5
6
|
};
|
|
6
7
|
/**
|
|
7
8
|
* Renders markdown content with support for code highlighting, math, and tables.
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
+
import { Message } from '../../../types/Message';
|
|
1
2
|
import type { id, string_markdown } from '../../../types/typeAliases';
|
|
2
3
|
/**
|
|
3
4
|
* A message in the chat
|
|
4
5
|
*
|
|
5
6
|
* @public exported from `@promptbook/components`
|
|
6
7
|
*/
|
|
7
|
-
export type ChatMessage = {
|
|
8
|
+
export type ChatMessage = Omit<Message<id>, 'direction' | 'recipients' | 'threadId' | 'metadata'> & {
|
|
8
9
|
/**
|
|
9
|
-
*
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Date when the message was created
|
|
14
|
-
*/
|
|
15
|
-
date?: Date;
|
|
16
|
-
/**
|
|
17
|
-
* The name of the participant who sent the message
|
|
10
|
+
* Force the channel to be 'PROMPTBOOK_CHAT'
|
|
11
|
+
*
|
|
12
|
+
* @default 'PROMPTBOOK_CHAT'
|
|
18
13
|
*/
|
|
19
|
-
|
|
14
|
+
channel?: 'PROMPTBOOK_CHAT';
|
|
20
15
|
/**
|
|
21
16
|
* The content of the message with optional markdown formatting
|
|
22
17
|
*/
|
|
@@ -28,15 +23,16 @@ export type ChatMessage = {
|
|
|
28
23
|
*/
|
|
29
24
|
isComplete?: boolean;
|
|
30
25
|
/**
|
|
31
|
-
*
|
|
26
|
+
* The expected answer for the message (used for testing or validation)
|
|
32
27
|
*/
|
|
33
28
|
expectedAnswer?: string;
|
|
34
29
|
/**
|
|
35
|
-
*
|
|
30
|
+
* Indicates if the message was sent via a voice call
|
|
36
31
|
*/
|
|
37
32
|
isVoiceCall?: boolean;
|
|
38
33
|
};
|
|
39
34
|
/**
|
|
35
|
+
* TODO: Make all fields readonly
|
|
40
36
|
* TODO: Delete `expectedAnswer` from ChatMessage
|
|
41
37
|
* TODO: Rename `date` into `created`+`modified`
|
|
42
38
|
*/
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
type DropdownProps = {
|
|
3
3
|
actions: Array<{
|
|
4
|
-
icon:
|
|
4
|
+
icon: ReactNode;
|
|
5
5
|
name: string;
|
|
6
6
|
onClick: () => void;
|
|
7
7
|
}>;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* A dropdown menu component that displays a list of actions triggered by a hamburger menu button.
|
|
11
11
|
*
|
|
12
12
|
* @private internal subcomponent used by various components
|
|
13
13
|
*/
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Item that can be hoisted to the top menu
|
|
4
|
+
*
|
|
5
|
+
* @private mechanism inside Promptbook
|
|
6
|
+
*/
|
|
7
|
+
export type HoistedMenuItem = {
|
|
8
|
+
/**
|
|
9
|
+
* Unique key for the menu item
|
|
10
|
+
*/
|
|
11
|
+
key?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Icon to display
|
|
14
|
+
*/
|
|
15
|
+
icon: ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* Name/Tooltip of the item
|
|
18
|
+
*/
|
|
19
|
+
name: string;
|
|
20
|
+
/**
|
|
21
|
+
* Action to perform when clicked
|
|
22
|
+
*/
|
|
23
|
+
onClick: () => void;
|
|
24
|
+
/**
|
|
25
|
+
* If true, the item is active/toggled
|
|
26
|
+
*/
|
|
27
|
+
isActive?: boolean;
|
|
28
|
+
};
|
|
29
|
+
type MenuHoistingContextType = {
|
|
30
|
+
/**
|
|
31
|
+
* The currently hoisted menu items
|
|
32
|
+
*/
|
|
33
|
+
menu: HoistedMenuItem[];
|
|
34
|
+
/**
|
|
35
|
+
* Set the hoisted menu items
|
|
36
|
+
*/
|
|
37
|
+
setMenu: (items: HoistedMenuItem[]) => void;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Provider for menu hoisting
|
|
41
|
+
*
|
|
42
|
+
* @private mechanism inside Promptbook
|
|
43
|
+
*/
|
|
44
|
+
export declare function MenuHoistingProvider({ children }: {
|
|
45
|
+
children: ReactNode;
|
|
46
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
/**
|
|
48
|
+
* Hook to use the menu hoisting system
|
|
49
|
+
*
|
|
50
|
+
* @private mechanism inside Promptbook
|
|
51
|
+
*/
|
|
52
|
+
export declare function useMenuHoisting(): MenuHoistingContextType | null;
|
|
53
|
+
export {};
|
|
54
|
+
/**
|
|
55
|
+
* Note: [๐] Ignore a discrepancy between file name and entity name
|
|
56
|
+
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
2
2
|
import type { AgentBasicInformation } from '../../../../book-2.0/agent-source/AgentBasicInformation';
|
|
3
3
|
import type { string_book } from '../../../../book-2.0/agent-source/string_book';
|
|
4
|
-
import type { string_agent_name } from '../../../../types/typeAliases';
|
|
4
|
+
import type { string_agent_name, string_agent_permanent_id } from '../../../../types/typeAliases';
|
|
5
5
|
import { AgentCollectionInSupabaseOptions } from './AgentCollectionInSupabaseOptions';
|
|
6
6
|
import type { AgentsDatabaseSchema } from './AgentsDatabaseSchema';
|
|
7
7
|
/**
|
|
@@ -26,40 +26,50 @@ 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
|
+
/**
|
|
33
|
+
* Retrieves the source code of an agent by its name or permanent ID.
|
|
34
|
+
*/
|
|
35
|
+
getAgentSource(agentNameOrPermanentId: string_agent_name | string_agent_permanent_id): Promise<string_book>;
|
|
32
36
|
/**
|
|
33
37
|
* Creates a new agent in the collection
|
|
34
38
|
*
|
|
35
39
|
* Note: You can set 'PARENT' in the agent source to inherit from another agent in the collection.
|
|
36
40
|
*/
|
|
37
|
-
createAgent(agentSource: string_book): Promise<AgentBasicInformation
|
|
41
|
+
createAgent(agentSource: string_book): Promise<AgentBasicInformation & Required<Pick<AgentBasicInformation, 'permanentId'>>>;
|
|
38
42
|
/**
|
|
39
43
|
* Updates an existing agent in the collection
|
|
40
44
|
*/
|
|
41
|
-
updateAgentSource(
|
|
45
|
+
updateAgentSource(permanentId: string_agent_permanent_id, agentSource: string_book): Promise<void>;
|
|
42
46
|
/**
|
|
43
|
-
*
|
|
47
|
+
* List agents that are soft deleted (deletedAt IS NOT NULL)
|
|
44
48
|
*/
|
|
45
|
-
|
|
49
|
+
listDeletedAgents(): Promise<ReadonlyArray<AgentBasicInformation>>;
|
|
46
50
|
/**
|
|
47
51
|
* List history of an agent
|
|
48
52
|
*/
|
|
49
|
-
listAgentHistory(
|
|
53
|
+
listAgentHistory(permanentId: string_agent_permanent_id): Promise<ReadonlyArray<{
|
|
50
54
|
id: number;
|
|
51
55
|
createdAt: string;
|
|
52
56
|
agentHash: string;
|
|
53
57
|
promptbookEngineVersion: string;
|
|
54
58
|
}>>;
|
|
55
59
|
/**
|
|
56
|
-
*
|
|
60
|
+
* Restore a soft-deleted agent by setting deletedAt to NULL
|
|
61
|
+
*/
|
|
62
|
+
restoreAgent(permanentId: string_agent_permanent_id): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Restore an agent from a specific history entry
|
|
65
|
+
*
|
|
66
|
+
* This will update the current agent with the source from the history entry
|
|
57
67
|
*/
|
|
58
|
-
|
|
68
|
+
restoreAgentFromHistory(historyId: number): Promise<void>;
|
|
59
69
|
/**
|
|
60
|
-
*
|
|
70
|
+
* Soft delete an agent by setting deletedAt to current timestamp
|
|
61
71
|
*/
|
|
62
|
-
|
|
72
|
+
deleteAgent(permanentId: string_agent_permanent_id): Promise<void>;
|
|
63
73
|
/**
|
|
64
74
|
* Get the Supabase table name with prefix
|
|
65
75
|
*
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
* Source of truth: `/apps/agents-server/src/database/schema.sql` *(do not edit table structure here manually)*
|
|
4
4
|
*
|
|
5
5
|
* [๐ฝ] Prompt:
|
|
6
|
-
* Re-generate this sub-schema
|
|
6
|
+
* Re-generate this sub-schema from `/apps/agents-server/src/database/schema.ts` *(which was generated from `/apps/agents-server/src/database/migrations/*.sql`)*
|
|
7
|
+
* `AgentsDatabaseSchema` is strict subset of `AgentsServerDatabase`
|
|
7
8
|
* Generate Supabase TypeScript schema which is a subset of `AgentsServerDatabase`
|
|
8
9
|
* containing only tables `Agent` and `AgentHistory`
|
|
9
10
|
*
|
|
10
|
-
* NOTE: This file intentionally omits all other tables (
|
|
11
|
+
* NOTE: This file intentionally omits all other tables (`Metadata`, `ChatHistory`, `ChatFeedback`, `User`, `LlmCache`, etc.)
|
|
11
12
|
* and any extra schemas (e.g. `graphql_public`) to remain a strict subset.
|
|
12
13
|
*/
|
|
13
14
|
export type Json = string | number | boolean | null | {
|
|
@@ -22,6 +23,7 @@ export type AgentsDatabaseSchema = {
|
|
|
22
23
|
agentName: string;
|
|
23
24
|
createdAt: string;
|
|
24
25
|
updatedAt: string | null;
|
|
26
|
+
permanentId: string | null;
|
|
25
27
|
agentHash: string;
|
|
26
28
|
agentSource: string;
|
|
27
29
|
agentProfile: Json;
|
|
@@ -29,12 +31,15 @@ export type AgentsDatabaseSchema = {
|
|
|
29
31
|
usage: Json | null;
|
|
30
32
|
preparedModelRequirements: Json | null;
|
|
31
33
|
preparedExternals: Json | null;
|
|
34
|
+
deletedAt: string | null;
|
|
35
|
+
visibility: 'PUBLIC' | 'PRIVATE';
|
|
32
36
|
};
|
|
33
37
|
Insert: {
|
|
34
38
|
id?: number;
|
|
35
39
|
agentName: string;
|
|
36
40
|
createdAt: string;
|
|
37
41
|
updatedAt?: string | null;
|
|
42
|
+
permanentId?: string | null;
|
|
38
43
|
agentHash: string;
|
|
39
44
|
agentSource: string;
|
|
40
45
|
agentProfile: Json;
|
|
@@ -42,12 +47,15 @@ export type AgentsDatabaseSchema = {
|
|
|
42
47
|
usage?: Json | null;
|
|
43
48
|
preparedModelRequirements?: Json | null;
|
|
44
49
|
preparedExternals?: Json | null;
|
|
50
|
+
deletedAt?: string | null;
|
|
51
|
+
visibility?: 'PUBLIC' | 'PRIVATE';
|
|
45
52
|
};
|
|
46
53
|
Update: {
|
|
47
54
|
id?: number;
|
|
48
55
|
agentName?: string;
|
|
49
56
|
createdAt?: string;
|
|
50
57
|
updatedAt?: string | null;
|
|
58
|
+
permanentId?: string | null;
|
|
51
59
|
agentHash?: string;
|
|
52
60
|
agentSource?: string;
|
|
53
61
|
agentProfile?: Json;
|
|
@@ -55,6 +63,8 @@ export type AgentsDatabaseSchema = {
|
|
|
55
63
|
usage?: Json | null;
|
|
56
64
|
preparedModelRequirements?: Json | null;
|
|
57
65
|
preparedExternals?: Json | null;
|
|
66
|
+
deletedAt?: string | null;
|
|
67
|
+
visibility?: 'PUBLIC' | 'PRIVATE';
|
|
58
68
|
};
|
|
59
69
|
Relationships: [];
|
|
60
70
|
};
|
|
@@ -63,6 +73,7 @@ export type AgentsDatabaseSchema = {
|
|
|
63
73
|
id: number;
|
|
64
74
|
createdAt: string;
|
|
65
75
|
agentName: string;
|
|
76
|
+
permanentId: string;
|
|
66
77
|
agentHash: string;
|
|
67
78
|
previousAgentHash: string | null;
|
|
68
79
|
agentSource: string;
|
|
@@ -72,6 +83,7 @@ export type AgentsDatabaseSchema = {
|
|
|
72
83
|
id?: number;
|
|
73
84
|
createdAt: string;
|
|
74
85
|
agentName: string;
|
|
86
|
+
permanentId: string;
|
|
75
87
|
agentHash: string;
|
|
76
88
|
previousAgentHash?: string | null;
|
|
77
89
|
agentSource: string;
|
|
@@ -81,26 +93,26 @@ export type AgentsDatabaseSchema = {
|
|
|
81
93
|
id?: number;
|
|
82
94
|
createdAt?: string;
|
|
83
95
|
agentName?: string;
|
|
96
|
+
permanentId?: string;
|
|
84
97
|
agentHash?: string;
|
|
85
98
|
previousAgentHash?: string | null;
|
|
86
99
|
agentSource?: string;
|
|
87
100
|
promptbookEngineVersion?: string;
|
|
88
101
|
};
|
|
89
|
-
Relationships: [
|
|
102
|
+
Relationships: [
|
|
103
|
+
{
|
|
104
|
+
foreignKeyName: 'AgentHistory_permanentId_fkey';
|
|
105
|
+
columns: ['permanentId'];
|
|
106
|
+
referencedRelation: 'Agent';
|
|
107
|
+
referencedColumns: ['permanentId'];
|
|
108
|
+
}
|
|
109
|
+
];
|
|
90
110
|
};
|
|
91
111
|
};
|
|
92
|
-
Views:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
[_ in never]: never;
|
|
97
|
-
};
|
|
98
|
-
Enums: {
|
|
99
|
-
[_ in never]: never;
|
|
100
|
-
};
|
|
101
|
-
CompositeTypes: {
|
|
102
|
-
[_ in never]: never;
|
|
103
|
-
};
|
|
112
|
+
Views: Record<string, never>;
|
|
113
|
+
Functions: Record<string, never>;
|
|
114
|
+
Enums: Record<string, never>;
|
|
115
|
+
CompositeTypes: Record<string, never>;
|
|
104
116
|
};
|
|
105
117
|
};
|
|
106
118
|
type PublicSchema = AgentsDatabaseSchema[Extract<keyof AgentsDatabaseSchema, 'public'>];
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
|
+
/**
|
|
4
|
+
* DICTIONARY commitment definition
|
|
5
|
+
*
|
|
6
|
+
* The DICTIONARY commitment defines specific terms and their meanings that the agent should use correctly
|
|
7
|
+
* in its reasoning and responses. This ensures consistent terminology usage.
|
|
8
|
+
*
|
|
9
|
+
* Key features:
|
|
10
|
+
* - Multiple DICTIONARY commitments are automatically merged into one
|
|
11
|
+
* - Content is placed in a dedicated section of the system message
|
|
12
|
+
* - Terms and definitions are stored in metadata.DICTIONARY for debugging
|
|
13
|
+
* - Agent should use the defined terms correctly in responses
|
|
14
|
+
*
|
|
15
|
+
* Example usage in agent source:
|
|
16
|
+
*
|
|
17
|
+
* ```book
|
|
18
|
+
* Legal Assistant
|
|
19
|
+
*
|
|
20
|
+
* PERSONA You are a knowledgeable legal assistant
|
|
21
|
+
* DICTIONARY Misdemeanor is a minor wrongdoing or criminal offense
|
|
22
|
+
* DICTIONARY Felony is a serious crime usually punishable by imprisonment for more than one year
|
|
23
|
+
* DICTIONARY Tort is a civil wrong that causes harm or loss to another person, leading to legal liability
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @private [๐ช] Maybe export the commitments through some package
|
|
27
|
+
*/
|
|
28
|
+
export declare class DictionaryCommitmentDefinition extends BaseCommitmentDefinition<'DICTIONARY'> {
|
|
29
|
+
constructor();
|
|
30
|
+
/**
|
|
31
|
+
* Short one-line description of DICTIONARY.
|
|
32
|
+
*/
|
|
33
|
+
get description(): string;
|
|
34
|
+
/**
|
|
35
|
+
* Icon for this commitment.
|
|
36
|
+
*/
|
|
37
|
+
get icon(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Markdown documentation for DICTIONARY commitment.
|
|
40
|
+
*/
|
|
41
|
+
get documentation(): string;
|
|
42
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Note: [๐] Ignore a discrepancy between file name and entity name
|
|
46
|
+
*/
|
|
@@ -4,6 +4,7 @@ import { ActionCommitmentDefinition } from './ACTION/ACTION';
|
|
|
4
4
|
import { ClosedCommitmentDefinition } from './CLOSED/CLOSED';
|
|
5
5
|
import { ComponentCommitmentDefinition } from './COMPONENT/COMPONENT';
|
|
6
6
|
import { DeleteCommitmentDefinition } from './DELETE/DELETE';
|
|
7
|
+
import { DictionaryCommitmentDefinition } from './DICTIONARY/DICTIONARY';
|
|
7
8
|
import { FormatCommitmentDefinition } from './FORMAT/FORMAT';
|
|
8
9
|
import { FromCommitmentDefinition } from './FROM/FROM';
|
|
9
10
|
import { GoalCommitmentDefinition } from './GOAL/GOAL';
|
|
@@ -39,7 +40,7 @@ import { NotYetImplementedCommitmentDefinition } from './_base/NotYetImplemented
|
|
|
39
40
|
*
|
|
40
41
|
* @private Use functions to access commitments instead of this array directly
|
|
41
42
|
*/
|
|
42
|
-
export declare const COMMITMENT_REGISTRY: readonly [PersonaCommitmentDefinition, PersonaCommitmentDefinition, KnowledgeCommitmentDefinition, MemoryCommitmentDefinition, MemoryCommitmentDefinition, StyleCommitmentDefinition, StyleCommitmentDefinition, RuleCommitmentDefinition, RuleCommitmentDefinition, LanguageCommitmentDefinition, LanguageCommitmentDefinition, SampleCommitmentDefinition, SampleCommitmentDefinition, FormatCommitmentDefinition, FormatCommitmentDefinition, FromCommitmentDefinition, ModelCommitmentDefinition, ModelCommitmentDefinition, ActionCommitmentDefinition, ActionCommitmentDefinition, ComponentCommitmentDefinition, MetaImageCommitmentDefinition, MetaColorCommitmentDefinition, MetaFontCommitmentDefinition, MetaLinkCommitmentDefinition, MetaCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, GoalCommitmentDefinition, GoalCommitmentDefinition, InitialMessageCommitmentDefinition, UserMessageCommitmentDefinition, AgentMessageCommitmentDefinition, MessageCommitmentDefinition, MessageCommitmentDefinition, ScenarioCommitmentDefinition, ScenarioCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, OpenCommitmentDefinition, ClosedCommitmentDefinition, UseBrowserCommitmentDefinition, UseSearchEngineCommitmentDefinition, UseMcpCommitmentDefinition, UseCommitmentDefinition, NotYetImplementedCommitmentDefinition<"EXPECT">, NotYetImplementedCommitmentDefinition<"BEHAVIOUR">, NotYetImplementedCommitmentDefinition<"BEHAVIOURS">, NotYetImplementedCommitmentDefinition<"AVOID">, NotYetImplementedCommitmentDefinition<"AVOIDANCE">, NotYetImplementedCommitmentDefinition<"CONTEXT">];
|
|
43
|
+
export declare const COMMITMENT_REGISTRY: readonly [PersonaCommitmentDefinition, PersonaCommitmentDefinition, KnowledgeCommitmentDefinition, MemoryCommitmentDefinition, MemoryCommitmentDefinition, StyleCommitmentDefinition, StyleCommitmentDefinition, RuleCommitmentDefinition, RuleCommitmentDefinition, LanguageCommitmentDefinition, LanguageCommitmentDefinition, SampleCommitmentDefinition, SampleCommitmentDefinition, FormatCommitmentDefinition, FormatCommitmentDefinition, FromCommitmentDefinition, ModelCommitmentDefinition, ModelCommitmentDefinition, ActionCommitmentDefinition, ActionCommitmentDefinition, ComponentCommitmentDefinition, MetaImageCommitmentDefinition, MetaColorCommitmentDefinition, MetaFontCommitmentDefinition, MetaLinkCommitmentDefinition, MetaCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, GoalCommitmentDefinition, GoalCommitmentDefinition, InitialMessageCommitmentDefinition, UserMessageCommitmentDefinition, AgentMessageCommitmentDefinition, MessageCommitmentDefinition, MessageCommitmentDefinition, ScenarioCommitmentDefinition, ScenarioCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DictionaryCommitmentDefinition, OpenCommitmentDefinition, ClosedCommitmentDefinition, UseBrowserCommitmentDefinition, UseSearchEngineCommitmentDefinition, UseMcpCommitmentDefinition, UseCommitmentDefinition, NotYetImplementedCommitmentDefinition<"EXPECT">, NotYetImplementedCommitmentDefinition<"BEHAVIOUR">, NotYetImplementedCommitmentDefinition<"BEHAVIOURS">, NotYetImplementedCommitmentDefinition<"AVOID">, NotYetImplementedCommitmentDefinition<"AVOIDANCE">, NotYetImplementedCommitmentDefinition<"CONTEXT">];
|
|
43
44
|
/**
|
|
44
45
|
* Gets a commitment definition by its type
|
|
45
46
|
* @param type The commitment type to look up
|
|
@@ -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,8 +1,8 @@
|
|
|
1
1
|
import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
|
|
2
2
|
import type { AvailableModel } from '../../execution/AvailableModel';
|
|
3
3
|
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
4
|
-
import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult, PromptResult } from '../../execution/PromptResult';
|
|
5
|
-
import type { ChatPrompt, CompletionPrompt, EmbeddingPrompt, Prompt } from '../../types/Prompt';
|
|
4
|
+
import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult, ImagePromptResult, PromptResult } from '../../execution/PromptResult';
|
|
5
|
+
import type { ChatPrompt, CompletionPrompt, EmbeddingPrompt, ImagePrompt, Prompt } from '../../types/Prompt';
|
|
6
6
|
import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
|
|
7
7
|
/**
|
|
8
8
|
* Multiple LLM Execution Tools is a proxy server that uses multiple execution tools internally and exposes the executor interface externally.
|
|
@@ -43,6 +43,10 @@ export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
|
|
|
43
43
|
* Calls the best available embedding model
|
|
44
44
|
*/
|
|
45
45
|
callEmbeddingModel(prompt: EmbeddingPrompt): Promise<EmbeddingPromptResult>;
|
|
46
|
+
/**
|
|
47
|
+
* Calls the best available embedding model
|
|
48
|
+
*/
|
|
49
|
+
callImageGenerationModel(prompt: ImagePrompt): Promise<ImagePromptResult>;
|
|
46
50
|
/**
|
|
47
51
|
* Calls the best available model
|
|
48
52
|
*
|
|
@@ -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
|
*/
|
|
@@ -22,7 +22,7 @@ import type { CreateAgentLlmExecutionToolsOptions } from './CreateAgentLlmExecut
|
|
|
22
22
|
* @public exported from `@promptbook/core`
|
|
23
23
|
*/
|
|
24
24
|
export declare class AgentLlmExecutionTools implements LlmExecutionTools {
|
|
25
|
-
|
|
25
|
+
protected readonly options: CreateAgentLlmExecutionToolsOptions;
|
|
26
26
|
/**
|
|
27
27
|
* Cache of OpenAI assistants to avoid creating duplicates
|
|
28
28
|
*/
|
|
@@ -39,7 +39,7 @@ export declare class OllamaExecutionTools extends OpenAiCompatibleExecutionTools
|
|
|
39
39
|
*/
|
|
40
40
|
protected getDefaultEmbeddingModel(): AvailableModel;
|
|
41
41
|
/**
|
|
42
|
-
* Default model for
|
|
42
|
+
* Default model for completion variant.
|
|
43
43
|
*/
|
|
44
44
|
protected getDefaultImageGenerationModel(): AvailableModel;
|
|
45
45
|
}
|
|
@@ -64,7 +64,7 @@ export declare class HardcodedOpenAiCompatibleExecutionTools extends OpenAiCompa
|
|
|
64
64
|
*/
|
|
65
65
|
protected getDefaultEmbeddingModel(): AvailableModel;
|
|
66
66
|
/**
|
|
67
|
-
* Default model for
|
|
67
|
+
* Default model for completion variant.
|
|
68
68
|
*/
|
|
69
69
|
protected getDefaultImageGenerationModel(): AvailableModel;
|
|
70
70
|
}
|
|
@@ -46,6 +46,7 @@ export declare class RemoteLlmExecutionTools<TCustomOptions = undefined> impleme
|
|
|
46
46
|
private callCommonModel;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
+
* TODO: !!!! Deprecate pipeline server and all of its components
|
|
49
50
|
* TODO: Maybe use `$exportJson`
|
|
50
51
|
* TODO: [๐ง ][๐] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
|
|
51
52
|
* TODO: [๐] Allow to list compatible models with each variant
|
|
@@ -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
|
+
};
|