@promptbook/openai 0.103.0-48 → 0.103.0-49
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 +50 -22
- package/esm/index.es.js.map +1 -1
- package/esm/typings/servers.d.ts +1 -0
- package/esm/typings/src/_packages/types.index.d.ts +2 -0
- package/esm/typings/src/_packages/utils.index.d.ts +2 -0
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +12 -2
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +14 -8
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabaseOptions.d.ts +10 -0
- package/esm/typings/src/commitments/MESSAGE/InitialMessageCommitmentDefinition.d.ts +28 -0
- package/esm/typings/src/commitments/index.d.ts +2 -1
- package/esm/typings/src/config.d.ts +1 -0
- package/esm/typings/src/errors/DatabaseError.d.ts +2 -2
- package/esm/typings/src/errors/WrappedError.d.ts +2 -2
- package/esm/typings/src/execution/ExecutionTask.d.ts +2 -2
- package/esm/typings/src/execution/LlmExecutionTools.d.ts +6 -1
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForWizardOrCli.d.ts +2 -2
- package/esm/typings/src/llm-providers/agent/Agent.d.ts +11 -3
- package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +6 -1
- package/esm/typings/src/llm-providers/agent/RemoteAgent.d.ts +6 -2
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +6 -1
- package/esm/typings/src/remote-server/startAgentServer.d.ts +2 -2
- package/esm/typings/src/utils/color/Color.d.ts +7 -0
- package/esm/typings/src/utils/color/Color.test.d.ts +1 -0
- package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -2
- package/esm/typings/src/utils/misc/computeHash.d.ts +11 -0
- package/esm/typings/src/utils/misc/computeHash.test.d.ts +1 -0
- package/esm/typings/src/utils/organization/$sideEffect.d.ts +2 -2
- package/esm/typings/src/utils/organization/$side_effect.d.ts +2 -2
- package/esm/typings/src/utils/organization/TODO_USE.d.ts +2 -2
- package/esm/typings/src/utils/organization/keepUnused.d.ts +2 -2
- package/esm/typings/src/utils/organization/preserve.d.ts +3 -3
- package/esm/typings/src/utils/organization/really_any.d.ts +7 -0
- package/esm/typings/src/utils/serialization/asSerializable.d.ts +2 -2
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +50 -22
- package/umd/index.umd.js.map +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { string_agent_hash, string_agent_name, string_color, string_url_image } from '../../types/typeAliases';
|
|
1
|
+
import type { string_agent_hash, string_agent_name, string_agent_url, string_color, string_url_image } from '../../types/typeAliases';
|
|
2
2
|
/**
|
|
3
3
|
* Unified parameter representation that supports two different notations:
|
|
4
4
|
* 1. @Parameter - single word parameter starting with @
|
|
@@ -38,6 +38,11 @@ export type AgentBasicInformation = {
|
|
|
38
38
|
* This is the line starting with "PERSONA"
|
|
39
39
|
*/
|
|
40
40
|
personaDescription: string | null;
|
|
41
|
+
/**
|
|
42
|
+
* The initial message shown to the user when the chat starts
|
|
43
|
+
* This is the line starting with "INITIAL MESSAGE"
|
|
44
|
+
*/
|
|
45
|
+
initialMessage: string | null;
|
|
41
46
|
/**
|
|
42
47
|
* Metadata commitments parsed from META lines
|
|
43
48
|
* Each META commitment has the format "META TYPE content"
|
|
@@ -48,6 +53,11 @@ export type AgentBasicInformation = {
|
|
|
48
53
|
color?: string_color;
|
|
49
54
|
[key: string]: string | undefined;
|
|
50
55
|
};
|
|
56
|
+
/**
|
|
57
|
+
* Links found in the agent source
|
|
58
|
+
* This corresponds to META LINK commitments
|
|
59
|
+
*/
|
|
60
|
+
links: Array<string_agent_url>;
|
|
51
61
|
/**
|
|
52
62
|
* Parameters found in the agent source
|
|
53
63
|
* Supports two different notations for the same syntax feature:
|
|
@@ -57,6 +67,6 @@ export type AgentBasicInformation = {
|
|
|
57
67
|
parameters: BookParameter[];
|
|
58
68
|
};
|
|
59
69
|
/**
|
|
60
|
-
* TODO:
|
|
70
|
+
* TODO: [🐱🚀] Make all properties of `AgentBasicInformation` readonly
|
|
61
71
|
* TODO: [🕛] Unite `AgentBasicInformation`, `ChatParticipant`, `LlmExecutionTools` + `LlmToolsMetadata`
|
|
62
72
|
*/
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
2
2
|
import type { AgentBasicInformation } from '../../../../book-2.0/agent-source/AgentBasicInformation';
|
|
3
3
|
import type { string_book } from '../../../../book-2.0/agent-source/string_book';
|
|
4
|
-
import type { CommonToolsOptions } from '../../../../execution/CommonToolsOptions';
|
|
5
|
-
import type { PrepareAndScrapeOptions } from '../../../../prepare/PrepareAndScrapeOptions';
|
|
6
4
|
import type { string_agent_name } from '../../../../types/typeAliases';
|
|
5
|
+
import { AgentCollectionInSupabaseOptions } from './AgentCollectionInSupabaseOptions';
|
|
7
6
|
import type { AgentsDatabaseSchema } from './AgentsDatabaseSchema';
|
|
8
7
|
/**
|
|
9
8
|
* Agent collection stored in Supabase table
|
|
@@ -11,23 +10,23 @@ import type { AgentsDatabaseSchema } from './AgentsDatabaseSchema';
|
|
|
11
10
|
* Note: This object can work both from Node.js and browser environment depending on the Supabase client provided
|
|
12
11
|
*
|
|
13
12
|
* @public exported from `@promptbook/core`
|
|
14
|
-
* <- TODO:
|
|
13
|
+
* <- TODO: [🐱🚀] Move to `@promptbook/supabase` package
|
|
15
14
|
*/
|
|
16
15
|
export declare class AgentCollectionInSupabase {
|
|
17
16
|
private readonly supabaseClient;
|
|
18
|
-
readonly options?:
|
|
17
|
+
readonly options?: AgentCollectionInSupabaseOptions | undefined;
|
|
19
18
|
/**
|
|
20
19
|
* @param rootPath - path to the directory with agents
|
|
21
|
-
* @param tools - Execution tools to be used in
|
|
20
|
+
* @param tools - Execution tools to be used in [🐱🚀] `Agent` itself and listing the agents
|
|
22
21
|
* @param options - Options for the collection creation
|
|
23
22
|
*/
|
|
24
|
-
constructor(supabaseClient: SupabaseClient<AgentsDatabaseSchema>, options?:
|
|
23
|
+
constructor(supabaseClient: SupabaseClient<AgentsDatabaseSchema>, options?: AgentCollectionInSupabaseOptions | undefined);
|
|
25
24
|
/**
|
|
26
25
|
* Gets all agents in the collection
|
|
27
26
|
*/
|
|
28
27
|
listAgents(): Promise<ReadonlyArray<AgentBasicInformation>>;
|
|
29
28
|
/**
|
|
30
|
-
*
|
|
29
|
+
* [🐱🚀]@@@
|
|
31
30
|
*/
|
|
32
31
|
getAgentSource(agentName: string_agent_name): Promise<string_book>;
|
|
33
32
|
/**
|
|
@@ -44,9 +43,16 @@ export declare class AgentCollectionInSupabase {
|
|
|
44
43
|
* Deletes an agent from the collection
|
|
45
44
|
*/
|
|
46
45
|
deleteAgent(agentName: string_agent_name): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Get the Supabase table name with prefix
|
|
48
|
+
*
|
|
49
|
+
* @param tableName - The original table name
|
|
50
|
+
* @returns The prefixed table name
|
|
51
|
+
*/
|
|
52
|
+
private getTableName;
|
|
47
53
|
}
|
|
48
54
|
/**
|
|
49
|
-
* TODO:
|
|
55
|
+
* TODO: [🐱🚀] Implement it here correctly and update JSDoc comments here, and on interface + other implementations
|
|
50
56
|
* TODO: Write unit test
|
|
51
57
|
* TODO: [🧠][🚙] `AgentXxx` vs `AgentsXxx` naming convention
|
|
52
58
|
*/
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CommonToolsOptions } from '../../../../execution/CommonToolsOptions';
|
|
2
|
+
import type { PrepareAndScrapeOptions } from '../../../../prepare/PrepareAndScrapeOptions';
|
|
3
|
+
export type AgentCollectionInSupabaseOptions = PrepareAndScrapeOptions & CommonToolsOptions & {
|
|
4
|
+
/**
|
|
5
|
+
* The Supabase tables prefix to use
|
|
6
|
+
*
|
|
7
|
+
* @default ''
|
|
8
|
+
*/
|
|
9
|
+
tablePrefix?: string;
|
|
10
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
3
|
+
/**
|
|
4
|
+
* INITIAL MESSAGE commitment definition
|
|
5
|
+
*
|
|
6
|
+
* The INITIAL MESSAGE commitment defines the first message that the user sees when opening the chat.
|
|
7
|
+
* It is used to greet the user and set the tone of the conversation.
|
|
8
|
+
*
|
|
9
|
+
* Example usage in agent source:
|
|
10
|
+
*
|
|
11
|
+
* ```book
|
|
12
|
+
* INITIAL MESSAGE Hello! I am ready to help you with your tasks.
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @private [🪔] Maybe export the commitments through some package
|
|
16
|
+
*/
|
|
17
|
+
export declare class InitialMessageCommitmentDefinition extends BaseCommitmentDefinition<'INITIAL MESSAGE'> {
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Short one-line description of INITIAL MESSAGE.
|
|
21
|
+
*/
|
|
22
|
+
get description(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Markdown documentation for INITIAL MESSAGE commitment.
|
|
25
|
+
*/
|
|
26
|
+
get documentation(): string;
|
|
27
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
|
28
|
+
}
|
|
@@ -6,6 +6,7 @@ import { FormatCommitmentDefinition } from './FORMAT/FORMAT';
|
|
|
6
6
|
import { GoalCommitmentDefinition } from './GOAL/GOAL';
|
|
7
7
|
import { KnowledgeCommitmentDefinition } from './KNOWLEDGE/KNOWLEDGE';
|
|
8
8
|
import { MemoryCommitmentDefinition } from './MEMORY/MEMORY';
|
|
9
|
+
import { InitialMessageCommitmentDefinition } from './MESSAGE/InitialMessageCommitmentDefinition';
|
|
9
10
|
import { MessageCommitmentDefinition } from './MESSAGE/MESSAGE';
|
|
10
11
|
import { MetaCommitmentDefinition } from './META/META';
|
|
11
12
|
import { ModelCommitmentDefinition } from './MODEL/MODEL';
|
|
@@ -23,7 +24,7 @@ import { NotYetImplementedCommitmentDefinition } from './_base/NotYetImplemented
|
|
|
23
24
|
*
|
|
24
25
|
* @private Use functions to access commitments instead of this array directly
|
|
25
26
|
*/
|
|
26
|
-
export declare const COMMITMENT_REGISTRY: readonly [PersonaCommitmentDefinition, PersonaCommitmentDefinition, KnowledgeCommitmentDefinition, MemoryCommitmentDefinition, MemoryCommitmentDefinition, StyleCommitmentDefinition, StyleCommitmentDefinition, RuleCommitmentDefinition, RuleCommitmentDefinition, SampleCommitmentDefinition, SampleCommitmentDefinition, FormatCommitmentDefinition, FormatCommitmentDefinition, ModelCommitmentDefinition, ModelCommitmentDefinition, ActionCommitmentDefinition, ActionCommitmentDefinition, MetaCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, GoalCommitmentDefinition, GoalCommitmentDefinition, MessageCommitmentDefinition, MessageCommitmentDefinition, ScenarioCommitmentDefinition, ScenarioCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, NotYetImplementedCommitmentDefinition<"EXPECT">, NotYetImplementedCommitmentDefinition<"BEHAVIOUR">, NotYetImplementedCommitmentDefinition<"BEHAVIOURS">, NotYetImplementedCommitmentDefinition<"AVOID">, NotYetImplementedCommitmentDefinition<"AVOIDANCE">, NotYetImplementedCommitmentDefinition<"CONTEXT">];
|
|
27
|
+
export declare const COMMITMENT_REGISTRY: readonly [PersonaCommitmentDefinition, PersonaCommitmentDefinition, KnowledgeCommitmentDefinition, MemoryCommitmentDefinition, MemoryCommitmentDefinition, StyleCommitmentDefinition, StyleCommitmentDefinition, RuleCommitmentDefinition, RuleCommitmentDefinition, SampleCommitmentDefinition, SampleCommitmentDefinition, FormatCommitmentDefinition, FormatCommitmentDefinition, ModelCommitmentDefinition, ModelCommitmentDefinition, ActionCommitmentDefinition, ActionCommitmentDefinition, MetaCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, GoalCommitmentDefinition, GoalCommitmentDefinition, InitialMessageCommitmentDefinition, MessageCommitmentDefinition, MessageCommitmentDefinition, ScenarioCommitmentDefinition, ScenarioCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, NotYetImplementedCommitmentDefinition<"EXPECT">, NotYetImplementedCommitmentDefinition<"BEHAVIOUR">, NotYetImplementedCommitmentDefinition<"BEHAVIOURS">, NotYetImplementedCommitmentDefinition<"AVOID">, NotYetImplementedCommitmentDefinition<"AVOIDANCE">, NotYetImplementedCommitmentDefinition<"CONTEXT">];
|
|
27
28
|
/**
|
|
28
29
|
* Gets a commitment definition by its type
|
|
29
30
|
* @param type The commitment type to look up
|
|
@@ -54,6 +54,7 @@ export declare const PROMPTBOOK_COLOR: import("./utils/take/interfaces/ITakeChai
|
|
|
54
54
|
export declare const PROMPTBOOK_SYNTAX_COLORS: {
|
|
55
55
|
readonly TITLE: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
|
|
56
56
|
readonly LINE: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
|
|
57
|
+
readonly SEPARATOR: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
|
|
57
58
|
readonly COMMITMENT: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
|
|
58
59
|
readonly PARAMETER: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
|
|
59
60
|
};
|
|
@@ -8,5 +8,5 @@ export declare class DatabaseError extends Error {
|
|
|
8
8
|
constructor(message: string);
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* TODO:
|
|
12
|
-
*/
|
|
11
|
+
* TODO: [🐱🚀] Explain that NotFoundError ([🐱🚀] and other specific errors) has priority over DatabaseError in some contexts
|
|
12
|
+
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { chococake } from '../utils/organization/really_any';
|
|
2
2
|
/**
|
|
3
3
|
* This error type indicates that somewhere in the code non-Error object was thrown and it was wrapped into the `WrappedError`
|
|
4
4
|
*
|
|
@@ -6,5 +6,5 @@ import type { really_any } from '../utils/organization/really_any';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class WrappedError extends Error {
|
|
8
8
|
readonly name = "WrappedError";
|
|
9
|
-
constructor(whatWasThrown:
|
|
9
|
+
constructor(whatWasThrown: chococake);
|
|
10
10
|
}
|
|
@@ -3,7 +3,7 @@ import { PartialDeep } from 'type-fest';
|
|
|
3
3
|
import type { LlmCall } from '../types/LlmCall';
|
|
4
4
|
import type { number_percent, task_id } from '../types/typeAliases';
|
|
5
5
|
import type { string_SCREAMING_CASE } from '../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
6
|
-
import type {
|
|
6
|
+
import type { chococake } from '../utils/organization/really_any';
|
|
7
7
|
import type { string_promptbook_version } from '../version';
|
|
8
8
|
import type { AbstractTaskResult } from './AbstractTaskResult';
|
|
9
9
|
import type { PipelineExecutorResult } from './PipelineExecutorResult';
|
|
@@ -144,7 +144,7 @@ export type AbstractTask<TTaskResult extends AbstractTaskResult> = {
|
|
|
144
144
|
/**
|
|
145
145
|
* Optional nonce to correlate logs with version of the Promptbook engine
|
|
146
146
|
*/
|
|
147
|
-
readonly ptbkNonce?:
|
|
147
|
+
readonly ptbkNonce?: chococake;
|
|
148
148
|
};
|
|
149
149
|
export type Task = ExecutionTask | PreparationTask;
|
|
150
150
|
export {};
|
|
@@ -9,11 +9,12 @@ 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
|
-
*
|
|
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
|
|
16
16
|
* - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
|
|
17
|
+
* - `RemoteAgent` - which is an `Agent` that connects to a Promptbook Agents Server
|
|
17
18
|
*
|
|
18
19
|
* @see https://github.com/webgptorg/promptbook#llm-execution-tools
|
|
19
20
|
*/
|
|
@@ -52,6 +53,10 @@ export type LlmExecutionTools = {
|
|
|
52
53
|
* Calls a chat model
|
|
53
54
|
*/
|
|
54
55
|
callChatModel?(prompt: Prompt): Promise<ChatPromptResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Calls a chat model with streaming
|
|
58
|
+
*/
|
|
59
|
+
callChatModelStream?(prompt: Prompt, onProgress: (chunk: ChatPromptResult) => void): Promise<ChatPromptResult>;
|
|
55
60
|
/**
|
|
56
61
|
* Calls a completion model
|
|
57
62
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Promisable } from 'type-fest';
|
|
2
2
|
import type { Identification } from '../../../remote-server/socket-types/_subtypes/Identification';
|
|
3
3
|
import type { string_app_id, string_url } from '../../../types/typeAliases';
|
|
4
|
-
import type {
|
|
4
|
+
import type { chococake } from '../../../utils/organization/really_any';
|
|
5
5
|
import type { CacheLlmToolsOptions } from '../utils/cache/CacheLlmToolsOptions';
|
|
6
6
|
import type { LlmExecutionToolsWithTotalUsage } from '../utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
|
|
7
7
|
type ProvideLlmToolsForWizardOrCliOptions = {
|
|
@@ -38,7 +38,7 @@ type ProvideLlmToolsForWizardOrCliOptions = {
|
|
|
38
38
|
*
|
|
39
39
|
* Note: When login prompt fails, `process.exit(1)` is called
|
|
40
40
|
*/
|
|
41
|
-
loginPrompt(): Promisable<Identification<
|
|
41
|
+
loginPrompt(): Promisable<Identification<chococake>>;
|
|
42
42
|
});
|
|
43
43
|
/**
|
|
44
44
|
* Returns LLM tools for CLI
|
|
@@ -2,17 +2,18 @@ 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_hash, string_agent_name, string_url_image } from '../../types/typeAliases';
|
|
5
|
+
import type { string_agent_hash, string_agent_name, string_agent_url, string_url_image } from '../../types/typeAliases';
|
|
6
6
|
import { AgentLlmExecutionTools } from './AgentLlmExecutionTools';
|
|
7
7
|
import type { AgentOptions } from './AgentOptions';
|
|
8
8
|
/**
|
|
9
9
|
* Represents one AI Agent
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* Note: [🦖] There are several different things in Promptbook:
|
|
12
12
|
* - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
|
|
13
13
|
* - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
|
|
14
14
|
* - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
|
|
15
15
|
* - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
|
|
16
|
+
* - `RemoteAgent` - which is an `Agent` that connects to a Promptbook Agents Server
|
|
16
17
|
*
|
|
17
18
|
* @public exported from `@promptbook/core`
|
|
18
19
|
*/
|
|
@@ -26,6 +27,14 @@ export declare class Agent extends AgentLlmExecutionTools implements LlmExecutio
|
|
|
26
27
|
* Description of the agent
|
|
27
28
|
*/
|
|
28
29
|
personaDescription: string | null;
|
|
30
|
+
/**
|
|
31
|
+
* The initial message shown to the user when the chat starts
|
|
32
|
+
*/
|
|
33
|
+
initialMessage: string | null;
|
|
34
|
+
/**
|
|
35
|
+
* Links found in the agent source
|
|
36
|
+
*/
|
|
37
|
+
links: Array<string_agent_url>;
|
|
29
38
|
/**
|
|
30
39
|
* Computed hash of the agent source for integrity verification
|
|
31
40
|
*/
|
|
@@ -49,5 +58,4 @@ export declare class Agent extends AgentLlmExecutionTools implements LlmExecutio
|
|
|
49
58
|
}
|
|
50
59
|
/**
|
|
51
60
|
* TODO: [🧠][😰]Agent is not working with the parameters, should it be?
|
|
52
|
-
* TODO: !!! Agent on remote server
|
|
53
61
|
*/
|
|
@@ -10,11 +10,12 @@ 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
|
-
*
|
|
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
|
|
17
17
|
* - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
|
|
18
|
+
* - `RemoteAgent` - which is an `Agent` that connects to a Promptbook Agents Server
|
|
18
19
|
*
|
|
19
20
|
* @public exported from `@promptbook/core`
|
|
20
21
|
*/
|
|
@@ -60,6 +61,10 @@ export declare class AgentLlmExecutionTools implements LlmExecutionTools {
|
|
|
60
61
|
* Calls the chat model with agent-specific system prompt and requirements
|
|
61
62
|
*/
|
|
62
63
|
callChatModel(prompt: Prompt): Promise<ChatPromptResult>;
|
|
64
|
+
/**
|
|
65
|
+
* Calls the chat model with agent-specific system prompt and requirements with streaming
|
|
66
|
+
*/
|
|
67
|
+
callChatModelStream(prompt: Prompt, onProgress: (chunk: ChatPromptResult) => void): Promise<ChatPromptResult>;
|
|
63
68
|
}
|
|
64
69
|
/**
|
|
65
70
|
* TODO: [🍚] Implement Destroyable pattern to free resources
|
|
@@ -5,12 +5,12 @@ import type { RemoteAgentOptions } from './RemoteAgentOptions';
|
|
|
5
5
|
/**
|
|
6
6
|
* Represents one AI Agent
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Note: [🦖] There are several different things in Promptbook:
|
|
9
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
10
|
* - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
|
|
12
11
|
* - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
|
|
13
12
|
* - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
|
|
13
|
+
* - `RemoteAgent` - which is an `Agent` that connects to a Promptbook Agents Server
|
|
14
14
|
*
|
|
15
15
|
* @public exported from `@promptbook/core`
|
|
16
16
|
*/
|
|
@@ -25,6 +25,10 @@ export declare class RemoteAgent extends Agent {
|
|
|
25
25
|
* Calls the agent on agents remote server
|
|
26
26
|
*/
|
|
27
27
|
callChatModel(prompt: Prompt): Promise<ChatPromptResult>;
|
|
28
|
+
/**
|
|
29
|
+
* Calls the agent on agents remote server with streaming
|
|
30
|
+
*/
|
|
31
|
+
callChatModelStream(prompt: Prompt, onProgress: (chunk: ChatPromptResult) => void): Promise<ChatPromptResult>;
|
|
28
32
|
}
|
|
29
33
|
/**
|
|
30
34
|
* TODO: [🧠][😰]Agent is not working with the parameters, should it be?
|
|
@@ -9,11 +9,12 @@ 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
|
-
*
|
|
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
|
|
16
16
|
* - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
|
|
17
|
+
* - `RemoteAgent` - which is an `Agent` that connects to a Promptbook Agents Server
|
|
17
18
|
*
|
|
18
19
|
* @public exported from `@promptbook/openai`
|
|
19
20
|
*/
|
|
@@ -32,6 +33,10 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
|
|
|
32
33
|
* Calls OpenAI API to use a chat model.
|
|
33
34
|
*/
|
|
34
35
|
callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements' | 'format'>): Promise<ChatPromptResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Calls OpenAI API to use a chat model with streaming.
|
|
38
|
+
*/
|
|
39
|
+
callChatModelStream(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements' | 'format'>, onProgress: (chunk: ChatPromptResult) => void): Promise<ChatPromptResult>;
|
|
35
40
|
/**
|
|
36
41
|
* Get an existing assistant tool wrapper
|
|
37
42
|
*/
|
|
@@ -9,7 +9,7 @@ type AgentsServerOptions = {
|
|
|
9
9
|
port: number_port;
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* [🐱🚀]
|
|
13
13
|
* Remote server is a proxy server that uses its execution tools internally and exposes the executor interface externally.
|
|
14
14
|
*
|
|
15
15
|
* You can simply use `RemoteExecutionTools` on client-side javascript and connect to your remote server.
|
|
@@ -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 {};
|
|
@@ -59,6 +59,13 @@ export declare class Color {
|
|
|
59
59
|
* @returns Color object
|
|
60
60
|
*/
|
|
61
61
|
private static fromHex3;
|
|
62
|
+
/**
|
|
63
|
+
* Creates a new Color instance from color in hex format with 4 digits (with alpha channel)
|
|
64
|
+
*
|
|
65
|
+
* @param color in hex for example `09df`
|
|
66
|
+
* @returns Color object
|
|
67
|
+
*/
|
|
68
|
+
private static fromHex4;
|
|
62
69
|
/**
|
|
63
70
|
* Creates a new Color instance from color in hex format with 6 color digits (without alpha channel)
|
|
64
71
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { chococake } from '../organization/really_any';
|
|
2
2
|
/**
|
|
3
3
|
* Safely retrieves the global scope object (window in browser, global in Node.js)
|
|
4
4
|
* regardless of the JavaScript environment in which the code is running
|
|
@@ -7,4 +7,4 @@ import type { really_any } from '../organization/really_any';
|
|
|
7
7
|
*
|
|
8
8
|
* @private internal function of `$Register`
|
|
9
9
|
*/
|
|
10
|
-
export declare function $getGlobalScope():
|
|
10
|
+
export declare function $getGlobalScope(): chococake;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { string_sha256 } from '../../types/typeAliases';
|
|
2
|
+
import { really_unknown } from '../organization/really_unknown';
|
|
3
|
+
/**
|
|
4
|
+
* Computes SHA-256 hash of the given object
|
|
5
|
+
*
|
|
6
|
+
* @public exported from `@promptbook/utils`
|
|
7
|
+
*/
|
|
8
|
+
export declare function computeHash(value: really_unknown): string_sha256;
|
|
9
|
+
/**
|
|
10
|
+
* TODO: [🥬][🥬] Use this ACRY
|
|
11
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { chococake } from './really_any';
|
|
2
2
|
/**
|
|
3
3
|
* Just says that the variable is not used directlys but should be kept because the existence of the variable is important
|
|
4
4
|
*
|
|
@@ -6,4 +6,4 @@ import type { really_any } from './really_any';
|
|
|
6
6
|
* @returns void
|
|
7
7
|
* @private within the repository
|
|
8
8
|
*/
|
|
9
|
-
export declare function $sideEffect(...sideEffectSubjects: ReadonlyArray<
|
|
9
|
+
export declare function $sideEffect(...sideEffectSubjects: ReadonlyArray<chococake>): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { chococake } from './really_any';
|
|
2
2
|
/**
|
|
3
3
|
* Organizational helper to mark a function that produces side effects
|
|
4
4
|
*
|
|
5
5
|
* @private within the repository
|
|
6
6
|
*/
|
|
7
|
-
export type $side_effect = void |
|
|
7
|
+
export type $side_effect = void | chococake;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { chococake } from './really_any';
|
|
2
2
|
/**
|
|
3
3
|
* Just marks a place of place where should be something implemented
|
|
4
4
|
* No side effects.
|
|
@@ -9,4 +9,4 @@ import type { really_any } from './really_any';
|
|
|
9
9
|
* @returns void
|
|
10
10
|
* @private within the repository
|
|
11
11
|
*/
|
|
12
|
-
export declare function TODO_USE(...value: ReadonlyArray<
|
|
12
|
+
export declare function TODO_USE(...value: ReadonlyArray<chococake>): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { chococake } from './really_any';
|
|
2
2
|
/**
|
|
3
3
|
* Just says that the variable is not used but should be kept
|
|
4
4
|
* No side effects.
|
|
@@ -13,4 +13,4 @@ import type { really_any } from './really_any';
|
|
|
13
13
|
* @returns void
|
|
14
14
|
* @private within the repository
|
|
15
15
|
*/
|
|
16
|
-
export declare function keepUnused<TTypeToKeep1 =
|
|
16
|
+
export declare function keepUnused<TTypeToKeep1 = chococake, TTypeToKeep2 = chococake, TTypeToKeep3 = chococake>(...valuesToKeep: ReadonlyArray<chococake>): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { chococake } from './really_any';
|
|
2
2
|
/**
|
|
3
3
|
* Does nothing, but preserves the function in the bundle
|
|
4
4
|
* Compiler is tricked into thinking the function is used
|
|
@@ -7,7 +7,7 @@ import type { really_any } from './really_any';
|
|
|
7
7
|
* @returns nothing
|
|
8
8
|
* @private within the repository
|
|
9
9
|
*/
|
|
10
|
-
export declare function $preserve(...value: Array<
|
|
10
|
+
export declare function $preserve(...value: Array<chococake>): void;
|
|
11
11
|
/**
|
|
12
12
|
* DO NOT USE THIS FUNCTION
|
|
13
13
|
* Only purpose of this function is to trick the compiler and javascript engine
|
|
@@ -15,7 +15,7 @@ export declare function $preserve(...value: Array<really_any>): void;
|
|
|
15
15
|
*
|
|
16
16
|
* @private internal for `preserve`
|
|
17
17
|
*/
|
|
18
|
-
export declare function __DO_NOT_USE_getPreserved(): Array<
|
|
18
|
+
export declare function __DO_NOT_USE_getPreserved(): Array<chococake>;
|
|
19
19
|
/**
|
|
20
20
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
21
21
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { chococake } from '../organization/really_any';
|
|
2
2
|
/**
|
|
3
3
|
* Function `asSerializable` will convert values which are not serializable to serializable values
|
|
4
4
|
* It walks deeply through the object and converts all values
|
|
@@ -12,4 +12,4 @@ import type { really_any } from '../organization/really_any';
|
|
|
12
12
|
*
|
|
13
13
|
* @private Internal helper function
|
|
14
14
|
*/
|
|
15
|
-
export declare function asSerializable(value:
|
|
15
|
+
export declare function asSerializable(value: chococake): chococake;
|
|
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
|
|
|
15
15
|
export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
|
|
16
16
|
/**
|
|
17
17
|
* Represents the version string of the Promptbook engine.
|
|
18
|
-
* It follows semantic versioning (e.g., `0.103.0-
|
|
18
|
+
* It follows semantic versioning (e.g., `0.103.0-48`).
|
|
19
19
|
*
|
|
20
20
|
* @generated
|
|
21
21
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promptbook/openai",
|
|
3
|
-
"version": "0.103.0-
|
|
3
|
+
"version": "0.103.0-49",
|
|
4
4
|
"description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
|
|
5
5
|
"private": false,
|
|
6
6
|
"sideEffects": false,
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"module": "./esm/index.es.js",
|
|
103
103
|
"typings": "./esm/typings/src/_packages/openai.index.d.ts",
|
|
104
104
|
"peerDependencies": {
|
|
105
|
-
"@promptbook/core": "0.103.0-
|
|
105
|
+
"@promptbook/core": "0.103.0-49"
|
|
106
106
|
},
|
|
107
107
|
"dependencies": {
|
|
108
108
|
"bottleneck": "2.19.5",
|