@promptbook/vercel 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 -4
- 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 -4
- 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
|
@@ -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
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
2
2
|
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
3
3
|
import type { Prompt } from '../../types/Prompt';
|
|
4
|
-
import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
|
|
4
|
+
import type { string_markdown, string_markdown_text, string_title, string_token } from '../../types/typeAliases';
|
|
5
5
|
import type { OpenAiAssistantExecutionToolsOptions } from './OpenAiAssistantExecutionToolsOptions';
|
|
6
6
|
import { OpenAiExecutionTools } from './OpenAiExecutionTools';
|
|
7
7
|
/**
|
|
@@ -9,7 +9,7 @@ import { OpenAiExecutionTools } from './OpenAiExecutionTools';
|
|
|
9
9
|
*
|
|
10
10
|
* This is useful for calling OpenAI API with a single assistant, for more wide usage use `OpenAiExecutionTools`.
|
|
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
|
|
@@ -18,7 +18,7 @@ import { OpenAiExecutionTools } from './OpenAiExecutionTools';
|
|
|
18
18
|
* @public exported from `@promptbook/openai`
|
|
19
19
|
*/
|
|
20
20
|
export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools implements LlmExecutionTools {
|
|
21
|
-
|
|
21
|
+
readonly assistantId: string_token;
|
|
22
22
|
private readonly isCreatingNewAssistantsAllowed;
|
|
23
23
|
/**
|
|
24
24
|
* Creates OpenAI Execution Tools.
|
|
@@ -32,7 +32,10 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
|
|
|
32
32
|
* Calls OpenAI API to use a chat model.
|
|
33
33
|
*/
|
|
34
34
|
callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements' | 'format'>): Promise<ChatPromptResult>;
|
|
35
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Get an existing assistant tool wrapper
|
|
37
|
+
*/
|
|
38
|
+
getAssistant(assistantId: string_token): OpenAiAssistantExecutionTools;
|
|
36
39
|
createNewAssistant(options: {
|
|
37
40
|
/**
|
|
38
41
|
* Name of the new assistant
|
|
@@ -42,6 +45,28 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
|
|
|
42
45
|
* Instructions for the new assistant
|
|
43
46
|
*/
|
|
44
47
|
readonly instructions: string_markdown;
|
|
48
|
+
/**
|
|
49
|
+
* Optional list of knowledge source links (URLs or file paths) to attach to the assistant via vector store
|
|
50
|
+
*/
|
|
51
|
+
readonly knowledgeSources?: ReadonlyArray<string>;
|
|
52
|
+
}): Promise<OpenAiAssistantExecutionTools>;
|
|
53
|
+
updateAssistant(options: {
|
|
54
|
+
/**
|
|
55
|
+
* ID of the assistant to update
|
|
56
|
+
*/
|
|
57
|
+
readonly assistantId: string_token;
|
|
58
|
+
/**
|
|
59
|
+
* Name of the assistant
|
|
60
|
+
*/
|
|
61
|
+
readonly name?: string_title;
|
|
62
|
+
/**
|
|
63
|
+
* Instructions for the assistant
|
|
64
|
+
*/
|
|
65
|
+
readonly instructions?: string_markdown;
|
|
66
|
+
/**
|
|
67
|
+
* Optional list of knowledge source links (URLs or file paths) to attach to the assistant via vector store
|
|
68
|
+
*/
|
|
69
|
+
readonly knowledgeSources?: ReadonlyArray<string>;
|
|
45
70
|
}): Promise<OpenAiAssistantExecutionTools>;
|
|
46
71
|
/**
|
|
47
72
|
* Discriminant for type guards
|
|
@@ -17,7 +17,7 @@ type AgentsServerOptions = {
|
|
|
17
17
|
*
|
|
18
18
|
* @see https://github.com/webgptorg/promptbook#remote-server
|
|
19
19
|
* @public exported from `@promptbook/remote-server`
|
|
20
|
-
* <- TODO: !!!!
|
|
20
|
+
* <- TODO: !!!! Change to `@promptbook/agent-server`
|
|
21
21
|
*/
|
|
22
22
|
export declare function startAgentServer(options: AgentsServerOptions): Promise<TODO_any>;
|
|
23
23
|
export {};
|