@promptbook/google 0.103.0-46 → 0.103.0-48
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 -24
- package/esm/index.es.js.map +1 -1
- package/esm/typings/servers.d.ts +1 -7
- package/esm/typings/src/_packages/components.index.d.ts +4 -0
- package/esm/typings/src/_packages/core.index.d.ts +22 -14
- package/esm/typings/src/_packages/types.index.d.ts +14 -6
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +7 -3
- package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +6 -1
- package/esm/typings/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +3 -2
- package/esm/typings/src/book-2.0/agent-source/computeAgentHash.d.ts +8 -0
- package/esm/typings/src/book-2.0/agent-source/computeAgentHash.test.d.ts +1 -0
- package/esm/typings/src/book-2.0/agent-source/createCommitmentRegex.d.ts +1 -1
- package/esm/typings/src/book-2.0/agent-source/createDefaultAgentName.d.ts +8 -0
- package/esm/typings/src/book-2.0/agent-source/normalizeAgentName.d.ts +9 -0
- package/esm/typings/src/book-2.0/agent-source/normalizeAgentName.test.d.ts +1 -0
- package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.d.ts +1 -1
- package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.d.ts +14 -0
- package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.test.d.ts +1 -0
- package/esm/typings/src/book-components/Chat/AgentChat/AgentChatProps.d.ts +13 -0
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +1 -60
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +57 -32
- package/esm/typings/src/{book-2.0/commitments → commitments}/ACTION/ACTION.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/DELETE/DELETE.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/FORMAT/FORMAT.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/GOAL/GOAL.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/KNOWLEDGE/KNOWLEDGE.d.ts +1 -5
- package/esm/typings/src/{book-2.0/commitments → commitments}/MEMORY/MEMORY.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/MESSAGE/MESSAGE.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/META/META.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/META_IMAGE/META_IMAGE.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/META_LINK/META_LINK.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/MODEL/MODEL.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/NOTE/NOTE.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/PERSONA/PERSONA.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/RULE/RULE.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/SAMPLE/SAMPLE.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/SCENARIO/SCENARIO.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/STYLE/STYLE.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BaseCommitmentDefinition.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/CommitmentDefinition.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/NotYetImplementedCommitmentDefinition.d.ts +1 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/createEmptyAgentModelRequirements.d.ts +1 -1
- package/esm/typings/src/execution/LlmExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/utils/assertUniqueModels.d.ts +12 -0
- package/esm/typings/src/llm-providers/agent/Agent.d.ts +10 -9
- package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +5 -1
- package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +1 -1
- package/esm/typings/src/llm-providers/agent/RemoteAgent.d.ts +32 -0
- package/esm/typings/src/llm-providers/agent/RemoteAgentOptions.d.ts +11 -0
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +29 -4
- package/esm/typings/src/llm-providers/openai/openai-models.test.d.ts +4 -0
- package/esm/typings/src/remote-server/startAgentServer.d.ts +1 -1
- package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -2
- package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -0
- package/esm/typings/src/transpilers/openai-sdk/register.d.ts +1 -1
- package/esm/typings/src/types/typeAliases.d.ts +12 -0
- package/esm/typings/src/utils/color/internal-utils/checkChannelValue.d.ts +0 -3
- package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +2 -0
- package/esm/typings/src/utils/normalization/normalizeTo_PascalCase.d.ts +3 -0
- package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +2 -0
- package/esm/typings/src/utils/normalization/titleToName.d.ts +2 -0
- package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +2 -2
- package/esm/typings/src/utils/random/$randomFullnameWithColor.d.ts +1 -1
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +1 -24
- package/umd/index.umd.js.map +1 -1
- /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BookCommitment.d.ts +0 -0
- /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/ParsedCommitment.d.ts +0 -0
- /package/esm/typings/src/{book-2.0/commitments → commitments}/index.d.ts +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { ParsedCommitment } from '
|
|
1
|
+
import type { ParsedCommitment } from '../../commitments/_base/ParsedCommitment';
|
|
2
|
+
import { string_agent_name } from '../../types/typeAliases';
|
|
2
3
|
/**
|
|
3
4
|
* Result of parsing agent source for commitments
|
|
4
5
|
*
|
|
@@ -8,7 +9,7 @@ export type AgentSourceParseResult = {
|
|
|
8
9
|
/**
|
|
9
10
|
* The agent name (first line)
|
|
10
11
|
*/
|
|
11
|
-
agentName:
|
|
12
|
+
agentName: string_agent_name | null;
|
|
12
13
|
/**
|
|
13
14
|
* All parsed commitments
|
|
14
15
|
*/
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { string_agent_hash } from '../../types/typeAliases';
|
|
2
|
+
import { string_book } from './string_book';
|
|
3
|
+
/**
|
|
4
|
+
* Computes SHA-256 hash of the agent source
|
|
5
|
+
*
|
|
6
|
+
* @public exported from `@promptbook/core`
|
|
7
|
+
*/
|
|
8
|
+
export declare function computeAgentHash(agentSource: string_book): string_agent_hash;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { string_agent_name } from '../../types/typeAliases';
|
|
2
|
+
import { string_book } from './string_book';
|
|
3
|
+
/**
|
|
4
|
+
* Creates temporary default agent name based on agent source hash
|
|
5
|
+
*
|
|
6
|
+
* @public exported from `@promptbook/core`
|
|
7
|
+
*/
|
|
8
|
+
export declare function createDefaultAgentName(agentSource: string_book): string_agent_name;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { string_agent_name } from '../../types/typeAliases';
|
|
2
|
+
/**
|
|
3
|
+
* Normalizes agent name from arbitrary string to valid agent name
|
|
4
|
+
*
|
|
5
|
+
* Note: [🔂] This function is idempotent.
|
|
6
|
+
*
|
|
7
|
+
* @public exported from `@promptbook/core`
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizeAgentName(rawAgentName: string): string_agent_name;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -6,4 +6,4 @@ import type { string_book } from './string_book';
|
|
|
6
6
|
*
|
|
7
7
|
* @private internal utility of `parseAgentSource`
|
|
8
8
|
*/
|
|
9
|
-
export declare function parseAgentSourceWithCommitments(agentSource: string_book): AgentSourceParseResult
|
|
9
|
+
export declare function parseAgentSourceWithCommitments(agentSource: string_book): Omit<AgentSourceParseResult, 'agentHash'>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentChatProps } from './AgentChatProps';
|
|
2
|
+
/**
|
|
3
|
+
* AgentChat component that provides chat functionality with LLM integration
|
|
4
|
+
*
|
|
5
|
+
* This component internally manages messages, participants, and task progress,
|
|
6
|
+
* and uses the provided LLM tools to generate responses via `LlmExecutionTools.callChatModel`.
|
|
7
|
+
*
|
|
8
|
+
* Note: There are multiple chat components:
|
|
9
|
+
* - `<Chat/>` renders chat as it is without any logic
|
|
10
|
+
* - `<AgentChat/>` connected to LLM Execution Tools of Promptbook
|
|
11
|
+
*
|
|
12
|
+
* @public exported from `@promptbook/components`
|
|
13
|
+
*/
|
|
14
|
+
export declare function AgentChat(props: AgentChatProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Agent } from '../../../llm-providers/agent/Agent';
|
|
2
|
+
import type { LlmChatProps } from '../LlmChat/LlmChatProps';
|
|
3
|
+
/**
|
|
4
|
+
* Props for AgentChat component, derived from LlmChatProps but with Agent-specific modifications
|
|
5
|
+
*
|
|
6
|
+
* @public exported from `@promptbook/components`
|
|
7
|
+
*/
|
|
8
|
+
export type AgentChatProps = Omit<LlmChatProps, 'thread' | 'llmTools' | 'initialMessages' | 'userParticipantName' | 'llmParticipantName'> & {
|
|
9
|
+
/**
|
|
10
|
+
* The agent to chat with
|
|
11
|
+
*/
|
|
12
|
+
readonly agent: Agent;
|
|
13
|
+
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
2
|
import type { AgentBasicInformation } from '../../../../book-2.0/agent-source/AgentBasicInformation';
|
|
4
3
|
import type { string_book } from '../../../../book-2.0/agent-source/string_book';
|
|
5
4
|
import type { CommonToolsOptions } from '../../../../execution/CommonToolsOptions';
|
|
@@ -23,72 +22,14 @@ export declare class AgentCollectionInSupabase {
|
|
|
23
22
|
* @param options - Options for the collection creation
|
|
24
23
|
*/
|
|
25
24
|
constructor(supabaseClient: SupabaseClient<AgentsDatabaseSchema>, options?: (PrepareAndScrapeOptions & CommonToolsOptions) | undefined);
|
|
26
|
-
/**
|
|
27
|
-
* Cached defined execution tools
|
|
28
|
-
*/
|
|
29
25
|
/**
|
|
30
26
|
* Gets all agents in the collection
|
|
31
27
|
*/
|
|
32
28
|
listAgents(): Promise<ReadonlyArray<AgentBasicInformation>>;
|
|
33
|
-
/**
|
|
34
|
-
* !!!
|
|
35
|
-
* /
|
|
36
|
-
public async spawnAgent(agentName: string_agent_name): Promise<Agent> {
|
|
37
|
-
|
|
38
|
-
// <- TODO: !!! ENOENT: no such file or directory, open 'C:\Users\me\work\ai\promptbook\agents\examples\Asistent pro LŠVP.book
|
|
39
|
-
const { isVerbose = DEFAULT_IS_VERBOSE } = this.options || {};
|
|
40
|
-
const tools = await this.getTools();
|
|
41
|
-
|
|
42
|
-
const agentSourceValue = validateBook(await tools.fs!.readFile(agentSourcePath, 'utf-8'));
|
|
43
|
-
const agentSource = new BehaviorSubject(agentSourceValue);
|
|
44
|
-
|
|
45
|
-
// Note: Write file whenever agent source changes
|
|
46
|
-
agentSource.subscribe(async (newSource) => {
|
|
47
|
-
if (isVerbose) {
|
|
48
|
-
console.info(colors.cyan(`Writing agent source to file ${agentSourcePath}`));
|
|
49
|
-
}
|
|
50
|
-
await forTime(500); // <- TODO: [🙌] !!! Remove
|
|
51
|
-
await tools.fs!.writeFile(agentSourcePath, newSource, 'utf-8');
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
// Note: Watch file for external changes
|
|
55
|
-
for await (const event of tools.fs!.watch(agentSourcePath)) {
|
|
56
|
-
// <- TODO: !!!! Solve the memory freeing when the watching is no longer needed
|
|
57
|
-
|
|
58
|
-
if (event.eventType !== 'change') {
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (isVerbose) {
|
|
63
|
-
console.info(
|
|
64
|
-
colors.cyan(`Detected external change in agent source file ${agentSourcePath}, reloading`),
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
await forTime(500); // <- TODO: [🙌] !!! Remove
|
|
68
|
-
const newSource = validateBook(await tools.fs!.readFile(agentSourcePath, 'utf-8'));
|
|
69
|
-
agentSource.next(newSource);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// TODO: [🙌] !!!! Debug the infinite loop when file is changed externally and agent source is updated which causes file to be written again
|
|
73
|
-
|
|
74
|
-
const agent = new Agent({
|
|
75
|
-
...this.options,
|
|
76
|
-
agentSource,
|
|
77
|
-
executionTools: this.tools || {},
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
if (isVerbose) {
|
|
81
|
-
console.info(colors.cyan(`Created agent "${agent.agentName}" from source file ${agentSourcePath}`));
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return agent;
|
|
85
|
-
* /
|
|
86
|
-
}
|
|
87
|
-
*/
|
|
88
29
|
/**
|
|
89
30
|
* !!!@@@
|
|
90
31
|
*/
|
|
91
|
-
getAgentSource(agentName: string_agent_name): Promise<
|
|
32
|
+
getAgentSource(agentName: string_agent_name): Promise<string_book>;
|
|
92
33
|
/**
|
|
93
34
|
* Creates a new agent in the collection
|
|
94
35
|
*
|
|
@@ -1,65 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED SUBSET TYPES FROM `/apps/agents-server/src/database/schema.ts`
|
|
3
|
+
* Source of truth: `/apps/agents-server/src/database/schema.sql` *(do not edit table structure here manually)*
|
|
4
|
+
*
|
|
5
|
+
* [💽] Prompt:
|
|
6
|
+
* Re-generate this sub-schema
|
|
7
|
+
* Generate Supabase TypeScript schema which is a subset of `AgentsServerDatabase`
|
|
8
|
+
* containing only tables `Agent` and `AgentHistory`
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This file intentionally omits all other tables (EnvironmentVariable, ChatHistory, ChatFeedback)
|
|
11
|
+
* and any extra schemas (e.g. `graphql_public`) to remain a strict subset.
|
|
12
|
+
*/
|
|
1
13
|
export type Json = string | number | boolean | null | {
|
|
2
14
|
[key: string]: Json | undefined;
|
|
3
15
|
} | Json[];
|
|
4
16
|
export type AgentsDatabaseSchema = {
|
|
5
|
-
graphql_public: {
|
|
6
|
-
Tables: {
|
|
7
|
-
[_ in never]: never;
|
|
8
|
-
};
|
|
9
|
-
Views: {
|
|
10
|
-
[_ in never]: never;
|
|
11
|
-
};
|
|
12
|
-
Functions: {
|
|
13
|
-
graphql: {
|
|
14
|
-
Args: {
|
|
15
|
-
operationName?: string;
|
|
16
|
-
query?: string;
|
|
17
|
-
variables?: Json;
|
|
18
|
-
extensions?: Json;
|
|
19
|
-
};
|
|
20
|
-
Returns: Json;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
Enums: {
|
|
24
|
-
[_ in never]: never;
|
|
25
|
-
};
|
|
26
|
-
CompositeTypes: {
|
|
27
|
-
[_ in never]: never;
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
17
|
public: {
|
|
31
18
|
Tables: {
|
|
32
|
-
|
|
19
|
+
Agent: {
|
|
33
20
|
Row: {
|
|
34
21
|
id: number;
|
|
35
22
|
agentName: string;
|
|
36
|
-
agentProfile: Json;
|
|
37
23
|
createdAt: string;
|
|
38
24
|
updatedAt: string | null;
|
|
39
|
-
|
|
25
|
+
agentHash: string;
|
|
26
|
+
agentSource: string;
|
|
27
|
+
agentProfile: Json;
|
|
40
28
|
promptbookEngineVersion: string;
|
|
41
29
|
usage: Json | null;
|
|
42
|
-
|
|
30
|
+
preparedModelRequirements: Json | null;
|
|
31
|
+
preparedExternals: Json | null;
|
|
43
32
|
};
|
|
44
33
|
Insert: {
|
|
45
34
|
id?: number;
|
|
46
35
|
agentName: string;
|
|
47
36
|
createdAt: string;
|
|
48
37
|
updatedAt?: string | null;
|
|
49
|
-
|
|
38
|
+
agentHash: string;
|
|
39
|
+
agentSource: string;
|
|
40
|
+
agentProfile: Json;
|
|
50
41
|
promptbookEngineVersion: string;
|
|
51
42
|
usage?: Json | null;
|
|
52
|
-
|
|
43
|
+
preparedModelRequirements?: Json | null;
|
|
44
|
+
preparedExternals?: Json | null;
|
|
53
45
|
};
|
|
54
46
|
Update: {
|
|
55
47
|
id?: number;
|
|
56
48
|
agentName?: string;
|
|
57
49
|
createdAt?: string;
|
|
58
50
|
updatedAt?: string | null;
|
|
59
|
-
|
|
51
|
+
agentHash?: string;
|
|
52
|
+
agentSource?: string;
|
|
53
|
+
agentProfile?: Json;
|
|
60
54
|
promptbookEngineVersion?: string;
|
|
61
55
|
usage?: Json | null;
|
|
56
|
+
preparedModelRequirements?: Json | null;
|
|
57
|
+
preparedExternals?: Json | null;
|
|
58
|
+
};
|
|
59
|
+
Relationships: [];
|
|
60
|
+
};
|
|
61
|
+
AgentHistory: {
|
|
62
|
+
Row: {
|
|
63
|
+
id: number;
|
|
64
|
+
createdAt: string;
|
|
65
|
+
agentName: string;
|
|
66
|
+
agentHash: string;
|
|
67
|
+
previousAgentHash: string | null;
|
|
68
|
+
agentSource: string;
|
|
69
|
+
promptbookEngineVersion: string;
|
|
70
|
+
};
|
|
71
|
+
Insert: {
|
|
72
|
+
id?: number;
|
|
73
|
+
createdAt: string;
|
|
74
|
+
agentName: string;
|
|
75
|
+
agentHash: string;
|
|
76
|
+
previousAgentHash?: string | null;
|
|
77
|
+
agentSource: string;
|
|
78
|
+
promptbookEngineVersion: string;
|
|
79
|
+
};
|
|
80
|
+
Update: {
|
|
81
|
+
id?: number;
|
|
82
|
+
createdAt?: string;
|
|
83
|
+
agentName?: string;
|
|
84
|
+
agentHash?: string;
|
|
85
|
+
previousAgentHash?: string | null;
|
|
62
86
|
agentSource?: string;
|
|
87
|
+
promptbookEngineVersion?: string;
|
|
63
88
|
};
|
|
64
89
|
Relationships: [];
|
|
65
90
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* ACTION commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* DELETE commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* FORMAT commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* GOAL commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* KNOWLEDGE commitment definition
|
|
@@ -29,10 +29,6 @@ export declare class KnowledgeCommitmentDefinition extends BaseCommitmentDefinit
|
|
|
29
29
|
*/
|
|
30
30
|
get documentation(): string;
|
|
31
31
|
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
|
32
|
-
/**
|
|
33
|
-
* Check if content is a URL
|
|
34
|
-
*/
|
|
35
|
-
private isUrl;
|
|
36
32
|
}
|
|
37
33
|
/**
|
|
38
34
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* MEMORY commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* MESSAGE commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* META commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* META IMAGE commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* META LINK commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* MODEL commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* NOTE commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* PERSONA commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* RULE commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* SAMPLE commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* SCENARIO commitment definition
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* STYLE commitment definition
|
package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BaseCommitmentDefinition.d.ts
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import type { CommitmentDefinition } from './CommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* Base implementation of CommitmentDefinition that provides common functionality
|
package/esm/typings/src/{book-2.0/commitments → commitments}/_base/CommitmentDefinition.d.ts
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
/**
|
|
3
3
|
* Definition of a commitment that can be applied to agent model requirements
|
|
4
4
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
import { BaseCommitmentDefinition } from './BaseCommitmentDefinition';
|
|
3
3
|
/**
|
|
4
4
|
* Placeholder commitment definition for commitments that are not yet implemented
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
2
|
/**
|
|
3
3
|
* Creates an empty/basic agent model requirements object
|
|
4
4
|
* This serves as the starting point for the reduce-like pattern
|
|
@@ -9,7 +9,7 @@ import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult }
|
|
|
9
9
|
* On its interface it exposes common methods for prompt execution.
|
|
10
10
|
* Inside (in constructor) it calls OpenAI, Azure, GPU, proxy, cache, logging,...
|
|
11
11
|
*
|
|
12
|
-
* Note: [🦖] There are several different things in Promptbook:
|
|
12
|
+
* !!! Note: [🦖] There are several different things in Promptbook:
|
|
13
13
|
* - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
|
|
14
14
|
* - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
|
|
15
15
|
* - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AvailableModel } from '../../../execution/AvailableModel';
|
|
2
|
+
/**
|
|
3
|
+
* Utility to assert that all models in the provided array have unique `modelName` values.
|
|
4
|
+
*
|
|
5
|
+
* This is internal utility for unit tests to ensure no duplicate model names exist.
|
|
6
|
+
*
|
|
7
|
+
* @private internal utility of unit tests
|
|
8
|
+
*/
|
|
9
|
+
export declare function assertUniqueModels(models: ReadonlyArray<AvailableModel>): void;
|
|
10
|
+
/**
|
|
11
|
+
* Note: [⚪] This should never be in any released package
|
|
12
|
+
*/
|
|
@@ -2,12 +2,13 @@ import { BehaviorSubject } from 'rxjs';
|
|
|
2
2
|
import type { AgentBasicInformation, 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
|
-
import type { string_agent_name, string_url_image } from '../../types/typeAliases';
|
|
5
|
+
import type { string_agent_hash, string_agent_name, string_url_image } from '../../types/typeAliases';
|
|
6
|
+
import { AgentLlmExecutionTools } from './AgentLlmExecutionTools';
|
|
6
7
|
import type { AgentOptions } from './AgentOptions';
|
|
7
8
|
/**
|
|
8
9
|
* Represents one AI Agent
|
|
9
10
|
*
|
|
10
|
-
* Note: [🦖] There are several different things in Promptbook:
|
|
11
|
+
* !!! Note: [🦖] There are several different things in Promptbook:
|
|
11
12
|
* - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
|
|
12
13
|
* - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
|
|
13
14
|
* - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
|
|
@@ -15,16 +16,20 @@ import type { AgentOptions } from './AgentOptions';
|
|
|
15
16
|
*
|
|
16
17
|
* @public exported from `@promptbook/core`
|
|
17
18
|
*/
|
|
18
|
-
export declare class Agent implements AgentBasicInformation {
|
|
19
|
-
private
|
|
19
|
+
export declare class Agent extends AgentLlmExecutionTools implements LlmExecutionTools, AgentBasicInformation {
|
|
20
|
+
private _agentName;
|
|
20
21
|
/**
|
|
21
22
|
* Name of the agent
|
|
22
23
|
*/
|
|
23
|
-
agentName: string_agent_name
|
|
24
|
+
get agentName(): string_agent_name;
|
|
24
25
|
/**
|
|
25
26
|
* Description of the agent
|
|
26
27
|
*/
|
|
27
28
|
personaDescription: string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Computed hash of the agent source for integrity verification
|
|
31
|
+
*/
|
|
32
|
+
get agentHash(): string_agent_hash;
|
|
28
33
|
/**
|
|
29
34
|
* Metadata like image or color
|
|
30
35
|
*/
|
|
@@ -41,10 +46,6 @@ export declare class Agent implements AgentBasicInformation {
|
|
|
41
46
|
get parameters(): BookParameter[];
|
|
42
47
|
readonly agentSource: BehaviorSubject<string_book>;
|
|
43
48
|
constructor(options: AgentOptions);
|
|
44
|
-
/**
|
|
45
|
-
* Creates LlmExecutionTools which exposes the agent as a model
|
|
46
|
-
*/
|
|
47
|
-
getLlmExecutionTools(): LlmExecutionTools;
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
50
51
|
* TODO: [🧠][😰]Agent is not working with the parameters, should it be?
|
|
@@ -10,7 +10,7 @@ import type { CreateAgentLlmExecutionToolsOptions } from './CreateAgentLlmExecut
|
|
|
10
10
|
* Execution Tools for calling LLM models with a predefined agent "soul"
|
|
11
11
|
* This wraps underlying LLM execution tools and applies agent-specific system prompts and requirements
|
|
12
12
|
*
|
|
13
|
-
* Note: [🦖] There are several different things in Promptbook:
|
|
13
|
+
* !!! Note: [🦖] There are several different things in Promptbook:
|
|
14
14
|
* - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
|
|
15
15
|
* - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
|
|
16
16
|
* - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
|
|
@@ -20,6 +20,10 @@ import type { CreateAgentLlmExecutionToolsOptions } from './CreateAgentLlmExecut
|
|
|
20
20
|
*/
|
|
21
21
|
export declare class AgentLlmExecutionTools implements LlmExecutionTools {
|
|
22
22
|
private readonly options;
|
|
23
|
+
/**
|
|
24
|
+
* Cache of OpenAI assistants to avoid creating duplicates
|
|
25
|
+
*/
|
|
26
|
+
private static assistantCache;
|
|
23
27
|
/**
|
|
24
28
|
* Cached model requirements to avoid re-parsing the agent source
|
|
25
29
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { string_book } from '../../book-2.0/agent-source/string_book';
|
|
2
|
-
import { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
2
|
+
import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
3
3
|
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
4
4
|
import { OpenAiAssistantExecutionTools } from '../openai/OpenAiAssistantExecutionTools';
|
|
5
5
|
/**
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
2
|
+
import type { Prompt } from '../../types/Prompt';
|
|
3
|
+
import { Agent } from './Agent';
|
|
4
|
+
import type { RemoteAgentOptions } from './RemoteAgentOptions';
|
|
5
|
+
/**
|
|
6
|
+
* Represents one AI Agent
|
|
7
|
+
*
|
|
8
|
+
* !!!!!! Note: [🦖] There are several different things in Promptbook:
|
|
9
|
+
* - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
|
|
10
|
+
* !!!!!! `RemoteAgent`
|
|
11
|
+
* - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
|
|
12
|
+
* - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
|
|
13
|
+
* - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
|
|
14
|
+
*
|
|
15
|
+
* @public exported from `@promptbook/core`
|
|
16
|
+
*/
|
|
17
|
+
export declare class RemoteAgent extends Agent {
|
|
18
|
+
static connect(options: RemoteAgentOptions): Promise<RemoteAgent>;
|
|
19
|
+
/**
|
|
20
|
+
* The source of the agent
|
|
21
|
+
*/
|
|
22
|
+
private agentUrl;
|
|
23
|
+
private constructor();
|
|
24
|
+
/**
|
|
25
|
+
* Calls the agent on agents remote server
|
|
26
|
+
*/
|
|
27
|
+
callChatModel(prompt: Prompt): Promise<ChatPromptResult>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* TODO: [🧠][😰]Agent is not working with the parameters, should it be?
|
|
31
|
+
* TODO: !!! Agent on remote server
|
|
32
|
+
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
2
|
+
import type { string_agent_url } from '../../types/typeAliases';
|
|
3
|
+
/**
|
|
4
|
+
* Options for creating a Remote Agent
|
|
5
|
+
*/
|
|
6
|
+
export type RemoteAgentOptions = CommonToolsOptions & {
|
|
7
|
+
/**
|
|
8
|
+
* Url of the remote agent
|
|
9
|
+
*/
|
|
10
|
+
agentUrl: string_agent_url;
|
|
11
|
+
};
|