@promptbook/openai 0.103.0-45 → 0.103.0-47

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.
Files changed (59) hide show
  1. package/esm/index.es.js +81 -59
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/servers.d.ts +1 -7
  4. package/esm/typings/src/_packages/components.index.d.ts +4 -0
  5. package/esm/typings/src/_packages/core.index.d.ts +16 -14
  6. package/esm/typings/src/_packages/types.index.d.ts +12 -6
  7. package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +6 -1
  8. package/esm/typings/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +1 -1
  9. package/esm/typings/src/book-2.0/agent-source/createCommitmentRegex.d.ts +1 -1
  10. package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +2 -0
  11. package/esm/typings/src/book-2.0/agent-source/string_book.d.ts +2 -0
  12. package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.d.ts +14 -0
  13. package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.test.d.ts +1 -0
  14. package/esm/typings/src/book-components/Chat/AgentChat/AgentChatProps.d.ts +13 -0
  15. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +5 -60
  16. package/esm/typings/src/{book-2.0/commitments → commitments}/ACTION/ACTION.d.ts +1 -1
  17. package/esm/typings/src/{book-2.0/commitments → commitments}/DELETE/DELETE.d.ts +1 -1
  18. package/esm/typings/src/{book-2.0/commitments → commitments}/FORMAT/FORMAT.d.ts +1 -1
  19. package/esm/typings/src/{book-2.0/commitments → commitments}/GOAL/GOAL.d.ts +1 -1
  20. package/esm/typings/src/{book-2.0/commitments → commitments}/KNOWLEDGE/KNOWLEDGE.d.ts +1 -5
  21. package/esm/typings/src/{book-2.0/commitments → commitments}/MEMORY/MEMORY.d.ts +1 -1
  22. package/esm/typings/src/{book-2.0/commitments → commitments}/MESSAGE/MESSAGE.d.ts +1 -1
  23. package/esm/typings/src/{book-2.0/commitments → commitments}/META/META.d.ts +1 -1
  24. package/esm/typings/src/{book-2.0/commitments → commitments}/META_IMAGE/META_IMAGE.d.ts +1 -1
  25. package/esm/typings/src/{book-2.0/commitments → commitments}/META_LINK/META_LINK.d.ts +1 -1
  26. package/esm/typings/src/{book-2.0/commitments → commitments}/MODEL/MODEL.d.ts +1 -1
  27. package/esm/typings/src/{book-2.0/commitments → commitments}/NOTE/NOTE.d.ts +1 -1
  28. package/esm/typings/src/{book-2.0/commitments → commitments}/PERSONA/PERSONA.d.ts +1 -1
  29. package/esm/typings/src/{book-2.0/commitments → commitments}/RULE/RULE.d.ts +1 -1
  30. package/esm/typings/src/{book-2.0/commitments → commitments}/SAMPLE/SAMPLE.d.ts +1 -1
  31. package/esm/typings/src/{book-2.0/commitments → commitments}/SCENARIO/SCENARIO.d.ts +1 -1
  32. package/esm/typings/src/{book-2.0/commitments → commitments}/STYLE/STYLE.d.ts +1 -1
  33. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BaseCommitmentDefinition.d.ts +1 -1
  34. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/CommitmentDefinition.d.ts +1 -1
  35. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/NotYetImplementedCommitmentDefinition.d.ts +1 -1
  36. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/createEmptyAgentModelRequirements.d.ts +1 -1
  37. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +2 -0
  38. package/esm/typings/src/execution/LlmExecutionTools.d.ts +1 -1
  39. package/esm/typings/src/execution/utils/validatePromptResult.d.ts +2 -0
  40. package/esm/typings/src/llm-providers/agent/Agent.d.ts +3 -7
  41. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +1 -1
  42. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +1 -1
  43. package/esm/typings/src/llm-providers/agent/RemoteAgent.d.ts +32 -0
  44. package/esm/typings/src/llm-providers/agent/RemoteAgentOptions.d.ts +11 -0
  45. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +5 -1
  46. package/esm/typings/src/pipeline/validatePipelineString.d.ts +2 -0
  47. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -0
  48. package/esm/typings/src/types/typeAliases.d.ts +6 -0
  49. package/esm/typings/src/utils/color/internal-utils/checkChannelValue.d.ts +0 -3
  50. package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +2 -2
  51. package/esm/typings/src/utils/random/$randomFullnameWithColor.d.ts +1 -1
  52. package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +2 -0
  53. package/esm/typings/src/version.d.ts +1 -1
  54. package/package.json +2 -2
  55. package/umd/index.umd.js +81 -59
  56. package/umd/index.umd.js.map +1 -1
  57. /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BookCommitment.d.ts +0 -0
  58. /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/ParsedCommitment.d.ts +0 -0
  59. /package/esm/typings/src/{book-2.0/commitments → commitments}/index.d.ts +0 -0
@@ -8,13 +8,6 @@ import { parseParameters } from '../book-2.0/agent-source/parseParameters';
8
8
  import { isValidBook } from '../book-2.0/agent-source/string_book';
9
9
  import { validateBook } from '../book-2.0/agent-source/string_book';
10
10
  import { DEFAULT_BOOK } from '../book-2.0/agent-source/string_book';
11
- import { createEmptyAgentModelRequirements } from '../book-2.0/commitments/_base/createEmptyAgentModelRequirements';
12
- import { createBasicAgentModelRequirements } from '../book-2.0/commitments/_base/createEmptyAgentModelRequirements';
13
- import { NotYetImplementedCommitmentDefinition } from '../book-2.0/commitments/_base/NotYetImplementedCommitmentDefinition';
14
- import { getCommitmentDefinition } from '../book-2.0/commitments/index';
15
- import { getAllCommitmentDefinitions } from '../book-2.0/commitments/index';
16
- import { getAllCommitmentTypes } from '../book-2.0/commitments/index';
17
- import { isCommitmentSupported } from '../book-2.0/commitments/index';
18
11
  import { generatePlaceholderAgentProfileImageUrl } from '../book-2.0/utils/generatePlaceholderAgentProfileImageUrl';
19
12
  import { AgentCollectionInSupabase } from '../collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase';
20
13
  import { createPipelineCollectionFromJson } from '../collection/pipeline-collection/constructors/createPipelineCollectionFromJson';
@@ -22,6 +15,13 @@ import { createPipelineCollectionFromPromise } from '../collection/pipeline-coll
22
15
  import { createPipelineCollectionFromUrl } from '../collection/pipeline-collection/constructors/createPipelineCollectionFromUrl';
23
16
  import { createPipelineSubcollection } from '../collection/pipeline-collection/constructors/createPipelineSubcollection';
24
17
  import { pipelineCollectionToJson } from '../collection/pipeline-collection/pipelineCollectionToJson';
18
+ import { createEmptyAgentModelRequirements } from '../commitments/_base/createEmptyAgentModelRequirements';
19
+ import { createBasicAgentModelRequirements } from '../commitments/_base/createEmptyAgentModelRequirements';
20
+ import { NotYetImplementedCommitmentDefinition } from '../commitments/_base/NotYetImplementedCommitmentDefinition';
21
+ import { getCommitmentDefinition } from '../commitments/index';
22
+ import { getAllCommitmentDefinitions } from '../commitments/index';
23
+ import { getAllCommitmentTypes } from '../commitments/index';
24
+ import { isCommitmentSupported } from '../commitments/index';
25
25
  import { NAME } from '../config';
26
26
  import { ADMIN_EMAIL } from '../config';
27
27
  import { ADMIN_GITHUB_NAME } from '../config';
@@ -138,6 +138,7 @@ import { AgentLlmExecutionTools } from '../llm-providers/agent/AgentLlmExecution
138
138
  import { createAgentLlmExecutionTools } from '../llm-providers/agent/createAgentLlmExecutionTools';
139
139
  import { _AgentMetadata } from '../llm-providers/agent/register-configuration';
140
140
  import { _AgentRegistration } from '../llm-providers/agent/register-constructor';
141
+ import { RemoteAgent } from '../llm-providers/agent/RemoteAgent';
141
142
  import { _AnthropicClaudeMetadataRegistration } from '../llm-providers/anthropic-claude/register-configuration';
142
143
  import { _AzureOpenAiMetadataRegistration } from '../llm-providers/azure-openai/register-configuration';
143
144
  import { _DeepseekMetadataRegistration } from '../llm-providers/deepseek/register-configuration';
@@ -196,13 +197,6 @@ export { parseParameters };
196
197
  export { isValidBook };
197
198
  export { validateBook };
198
199
  export { DEFAULT_BOOK };
199
- export { createEmptyAgentModelRequirements };
200
- export { createBasicAgentModelRequirements };
201
- export { NotYetImplementedCommitmentDefinition };
202
- export { getCommitmentDefinition };
203
- export { getAllCommitmentDefinitions };
204
- export { getAllCommitmentTypes };
205
- export { isCommitmentSupported };
206
200
  export { generatePlaceholderAgentProfileImageUrl };
207
201
  export { AgentCollectionInSupabase };
208
202
  export { createPipelineCollectionFromJson };
@@ -210,6 +204,13 @@ export { createPipelineCollectionFromPromise };
210
204
  export { createPipelineCollectionFromUrl };
211
205
  export { createPipelineSubcollection };
212
206
  export { pipelineCollectionToJson };
207
+ export { createEmptyAgentModelRequirements };
208
+ export { createBasicAgentModelRequirements };
209
+ export { NotYetImplementedCommitmentDefinition };
210
+ export { getCommitmentDefinition };
211
+ export { getAllCommitmentDefinitions };
212
+ export { getAllCommitmentTypes };
213
+ export { isCommitmentSupported };
213
214
  export { NAME };
214
215
  export { ADMIN_EMAIL };
215
216
  export { ADMIN_GITHUB_NAME };
@@ -326,6 +327,7 @@ export { AgentLlmExecutionTools };
326
327
  export { createAgentLlmExecutionTools };
327
328
  export { _AgentMetadata };
328
329
  export { _AgentRegistration };
330
+ export { RemoteAgent };
329
331
  export { _AnthropicClaudeMetadataRegistration };
330
332
  export { _AzureOpenAiMetadataRegistration };
331
333
  export { _DeepseekMetadataRegistration };
@@ -2,14 +2,12 @@ import type { BookParameter } from '../book-2.0/agent-source/AgentBasicInformati
2
2
  import type { AgentBasicInformation } from '../book-2.0/agent-source/AgentBasicInformation';
3
3
  import type { AgentModelRequirements } from '../book-2.0/agent-source/AgentModelRequirements';
4
4
  import type { string_book } from '../book-2.0/agent-source/string_book';
5
- import type { BookCommitment } from '../book-2.0/commitments/_base/BookCommitment';
6
- import type { CommitmentDefinition } from '../book-2.0/commitments/_base/CommitmentDefinition';
7
- import type { ParsedCommitment } from '../book-2.0/commitments/_base/ParsedCommitment';
8
5
  import type { AvatarChipProps } from '../book-components/AvatarProfile/AvatarChip/AvatarChip';
9
6
  import type { AvatarChipFromSourceProps } from '../book-components/AvatarProfile/AvatarChip/AvatarChipFromSource';
10
7
  import type { AvatarProfileProps } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfile';
11
8
  import type { AvatarProfileFromSourceProps } from '../book-components/AvatarProfile/AvatarProfile/AvatarProfileFromSource';
12
9
  import type { BookEditorProps } from '../book-components/BookEditor/BookEditor';
10
+ import type { AgentChatProps } from '../book-components/Chat/AgentChat/AgentChatProps';
13
11
  import type { ChatProps } from '../book-components/Chat/Chat/ChatProps';
14
12
  import type { ChatAutoScrollConfig } from '../book-components/Chat/hooks/useChatAutoScroll';
15
13
  import type { SendMessageToLlmChatFunction } from '../book-components/Chat/hooks/useSendMessageToLlmChat';
@@ -55,6 +53,9 @@ import type { SectionCommand } from '../commands/SECTION/SectionCommand';
55
53
  import type { UrlCommand } from '../commands/URL/UrlCommand';
56
54
  import type { ActionCommand } from '../commands/X_ACTION/ActionCommand';
57
55
  import type { InstrumentCommand } from '../commands/X_INSTRUMENT/InstrumentCommand';
56
+ import type { BookCommitment } from '../commitments/_base/BookCommitment';
57
+ import type { CommitmentDefinition } from '../commitments/_base/CommitmentDefinition';
58
+ import type { ParsedCommitment } from '../commitments/_base/ParsedCommitment';
58
59
  import type { PrettifyOptions } from '../conversion/prettify/PrettifyOptions';
59
60
  import type { renderPipelineMermaidOptions } from '../conversion/prettify/renderPipelineMermaidOptions';
60
61
  import type { CallbackInterfaceToolsOptions } from '../dialogs/callback/CallbackInterfaceToolsOptions';
@@ -109,6 +110,7 @@ import type { CacheLlmToolsOptions } from '../llm-providers/_common/utils/cache/
109
110
  import type { LlmExecutionToolsWithTotalUsage } from '../llm-providers/_common/utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
110
111
  import type { AgentOptions } from '../llm-providers/agent/AgentOptions';
111
112
  import type { CreateAgentLlmExecutionToolsOptions } from '../llm-providers/agent/CreateAgentLlmExecutionToolsOptions';
113
+ import type { RemoteAgentOptions } from '../llm-providers/agent/RemoteAgentOptions';
112
114
  import type { AnthropicClaudeExecutionToolsOptions } from '../llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions';
113
115
  import type { AnthropicClaudeExecutionToolsNonProxiedOptions } from '../llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions';
114
116
  import type { AnthropicClaudeExecutionToolsProxiedOptions } from '../llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions';
@@ -246,6 +248,7 @@ import type { string_url } from '../types/typeAliases';
246
248
  import type { string_promptbook_server_url } from '../types/typeAliases';
247
249
  import type { string_base_url } from '../types/typeAliases';
248
250
  import type { string_pipeline_root_url } from '../types/typeAliases';
251
+ import type { string_agent_url } from '../types/typeAliases';
249
252
  import type { string_pipeline_url } from '../types/typeAliases';
250
253
  import type { string_pipeline_url_with_task_hash } from '../types/typeAliases';
251
254
  import type { string_data_url } from '../types/typeAliases';
@@ -354,14 +357,12 @@ export type { BookParameter };
354
357
  export type { AgentBasicInformation };
355
358
  export type { AgentModelRequirements };
356
359
  export type { string_book };
357
- export type { BookCommitment };
358
- export type { CommitmentDefinition };
359
- export type { ParsedCommitment };
360
360
  export type { AvatarChipProps };
361
361
  export type { AvatarChipFromSourceProps };
362
362
  export type { AvatarProfileProps };
363
363
  export type { AvatarProfileFromSourceProps };
364
364
  export type { BookEditorProps };
365
+ export type { AgentChatProps };
365
366
  export type { ChatProps };
366
367
  export type { ChatAutoScrollConfig };
367
368
  export type { SendMessageToLlmChatFunction };
@@ -407,6 +408,9 @@ export type { SectionCommand };
407
408
  export type { UrlCommand };
408
409
  export type { ActionCommand };
409
410
  export type { InstrumentCommand };
411
+ export type { BookCommitment };
412
+ export type { CommitmentDefinition };
413
+ export type { ParsedCommitment };
410
414
  export type { PrettifyOptions };
411
415
  export type { renderPipelineMermaidOptions };
412
416
  export type { CallbackInterfaceToolsOptions };
@@ -461,6 +465,7 @@ export type { CacheLlmToolsOptions };
461
465
  export type { LlmExecutionToolsWithTotalUsage };
462
466
  export type { AgentOptions };
463
467
  export type { CreateAgentLlmExecutionToolsOptions };
468
+ export type { RemoteAgentOptions };
464
469
  export type { AnthropicClaudeExecutionToolsOptions };
465
470
  export type { AnthropicClaudeExecutionToolsNonProxiedOptions };
466
471
  export type { AnthropicClaudeExecutionToolsProxiedOptions };
@@ -598,6 +603,7 @@ export type { string_url };
598
603
  export type { string_promptbook_server_url };
599
604
  export type { string_base_url };
600
605
  export type { string_pipeline_root_url };
606
+ export type { string_agent_url };
601
607
  export type { string_pipeline_url };
602
608
  export type { string_pipeline_url_with_task_hash };
603
609
  export type { string_data_url };
@@ -1,3 +1,4 @@
1
+ import type { string_knowledge_source_link } from '../../types/typeAliases';
1
2
  import type { TODO_any } from '../../utils/organization/TODO_any';
2
3
  /**
3
4
  * Model requirements for an agent
@@ -16,7 +17,11 @@ export type AgentModelRequirements = {
16
17
  /**
17
18
  * Optional list of MCP servers that the agent can connect to
18
19
  */
19
- readonly mcpServers?: string[];
20
+ readonly mcpServers?: ReadonlyArray<string>;
21
+ /**
22
+ * Optional list of knowledge source links that the agent can use
23
+ */
24
+ readonly knowledgeSources?: ReadonlyArray<string_knowledge_source_link>;
20
25
  /**
21
26
  * Temperature for the agent's responses, controlling randomness
22
27
  */
@@ -1,4 +1,4 @@
1
- import type { ParsedCommitment } from '../commitments/_base/ParsedCommitment';
1
+ import type { ParsedCommitment } from '../../commitments/_base/ParsedCommitment';
2
2
  /**
3
3
  * Result of parsing agent source for commitments
4
4
  *
@@ -1,4 +1,4 @@
1
- import type { BookCommitment } from '../commitments/_base/BookCommitment';
1
+ import type { BookCommitment } from '../../commitments/_base/BookCommitment';
2
2
  /**
3
3
  * Generates a regex pattern to match a specific commitment
4
4
  *
@@ -8,6 +8,8 @@ export declare const PADDING_LINES = 11;
8
8
  /**
9
9
  * A function that adds padding to the book content
10
10
  *
11
+ * Note: [🔂] This function is idempotent.
12
+ *
11
13
  * @public exported from `@promptbook/core`
12
14
  */
13
15
  export declare function padBook(content: string_book): string_book;
@@ -15,6 +15,8 @@ export declare function isValidBook(value: string): value is string_book;
15
15
  * This function should be used when you have a string that you know represents agent source
16
16
  * but need to convert it to the branded type for type safety
17
17
  *
18
+ * Note: [🔂] This function is idempotent.
19
+ *
18
20
  * @public exported from `@promptbook/core`
19
21
  */
20
22
  export declare function validateBook(source: string): string_book;
@@ -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,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,78 +22,24 @@ 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<BehaviorSubject<string_book>>;
32
+ getAgentSource(agentName: string_agent_name): Promise<string_book>;
92
33
  /**
93
34
  * Creates a new agent in the collection
94
35
  *
95
36
  * Note: You can set 'PARENT' in the agent source to inherit from another agent in the collection.
96
37
  */
97
38
  createAgent(agentSource: string_book): Promise<AgentBasicInformation>;
39
+ /**
40
+ * Updates an existing agent in the collection
41
+ */
42
+ updateAgentSource(agentName: string_agent_name, agentSource: string_book): Promise<void>;
98
43
  /**
99
44
  * Deletes an agent from the collection
100
45
  */
@@ -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
@@ -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
@@ -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,6 +9,8 @@ import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
9
9
  * - if it is valid json
10
10
  * - if it is meaningful
11
11
  *
12
+ * Note: [🔂] This function is idempotent.
13
+ *
12
14
  * @param pipeline valid or invalid PipelineJson
13
15
  * @returns the same pipeline if it is logically valid
14
16
  * @throws {PipelineLogicError} on logical error in the pipeline
@@ -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
@@ -46,6 +46,8 @@ export type ValidatePromptResultResult = {
46
46
  * This function provides a common abstraction for result validation that can be used
47
47
  * by both execution logic and caching logic to ensure consistency.
48
48
  *
49
+ * Note: [🔂] This function is idempotent.
50
+ *
49
51
  * @param options - The validation options including result string, expectations, and format
50
52
  * @returns Validation result with processed string and validity status
51
53
  * @private internal function of `createPipelineExecutor` and `cacheLlmTools`
@@ -3,11 +3,12 @@ import type { AgentBasicInformation, BookParameter } from '../../book-2.0/agent-
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 { 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,8 +16,7 @@ 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 readonly options;
19
+ export declare class Agent extends AgentLlmExecutionTools implements LlmExecutionTools, AgentBasicInformation {
20
20
  /**
21
21
  * Name of the agent
22
22
  */
@@ -41,10 +41,6 @@ export declare class Agent implements AgentBasicInformation {
41
41
  get parameters(): BookParameter[];
42
42
  readonly agentSource: BehaviorSubject<string_book>;
43
43
  constructor(options: AgentOptions);
44
- /**
45
- * Creates LlmExecutionTools which exposes the agent as a model
46
- */
47
- getLlmExecutionTools(): LlmExecutionTools;
48
44
  }
49
45
  /**
50
46
  * 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
@@ -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
+ };