@promptbook/azure-openai 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.
Files changed (70) hide show
  1. package/esm/index.es.js +11 -14
  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 +22 -14
  6. package/esm/typings/src/_packages/types.index.d.ts +14 -6
  7. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +7 -3
  8. package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +6 -1
  9. package/esm/typings/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +3 -2
  10. package/esm/typings/src/book-2.0/agent-source/computeAgentHash.d.ts +8 -0
  11. package/esm/typings/src/book-2.0/agent-source/computeAgentHash.test.d.ts +1 -0
  12. package/esm/typings/src/book-2.0/agent-source/createCommitmentRegex.d.ts +1 -1
  13. package/esm/typings/src/book-2.0/agent-source/createDefaultAgentName.d.ts +8 -0
  14. package/esm/typings/src/book-2.0/agent-source/normalizeAgentName.d.ts +9 -0
  15. package/esm/typings/src/book-2.0/agent-source/normalizeAgentName.test.d.ts +1 -0
  16. package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.d.ts +1 -1
  17. package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.d.ts +14 -0
  18. package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.test.d.ts +1 -0
  19. package/esm/typings/src/book-components/Chat/AgentChat/AgentChatProps.d.ts +13 -0
  20. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +1 -60
  21. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +57 -32
  22. package/esm/typings/src/{book-2.0/commitments → commitments}/ACTION/ACTION.d.ts +1 -1
  23. package/esm/typings/src/{book-2.0/commitments → commitments}/DELETE/DELETE.d.ts +1 -1
  24. package/esm/typings/src/{book-2.0/commitments → commitments}/FORMAT/FORMAT.d.ts +1 -1
  25. package/esm/typings/src/{book-2.0/commitments → commitments}/GOAL/GOAL.d.ts +1 -1
  26. package/esm/typings/src/{book-2.0/commitments → commitments}/KNOWLEDGE/KNOWLEDGE.d.ts +1 -5
  27. package/esm/typings/src/{book-2.0/commitments → commitments}/MEMORY/MEMORY.d.ts +1 -1
  28. package/esm/typings/src/{book-2.0/commitments → commitments}/MESSAGE/MESSAGE.d.ts +1 -1
  29. package/esm/typings/src/{book-2.0/commitments → commitments}/META/META.d.ts +1 -1
  30. package/esm/typings/src/{book-2.0/commitments → commitments}/META_IMAGE/META_IMAGE.d.ts +1 -1
  31. package/esm/typings/src/{book-2.0/commitments → commitments}/META_LINK/META_LINK.d.ts +1 -1
  32. package/esm/typings/src/{book-2.0/commitments → commitments}/MODEL/MODEL.d.ts +1 -1
  33. package/esm/typings/src/{book-2.0/commitments → commitments}/NOTE/NOTE.d.ts +1 -1
  34. package/esm/typings/src/{book-2.0/commitments → commitments}/PERSONA/PERSONA.d.ts +1 -1
  35. package/esm/typings/src/{book-2.0/commitments → commitments}/RULE/RULE.d.ts +1 -1
  36. package/esm/typings/src/{book-2.0/commitments → commitments}/SAMPLE/SAMPLE.d.ts +1 -1
  37. package/esm/typings/src/{book-2.0/commitments → commitments}/SCENARIO/SCENARIO.d.ts +1 -1
  38. package/esm/typings/src/{book-2.0/commitments → commitments}/STYLE/STYLE.d.ts +1 -1
  39. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BaseCommitmentDefinition.d.ts +1 -1
  40. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/CommitmentDefinition.d.ts +1 -1
  41. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/NotYetImplementedCommitmentDefinition.d.ts +1 -1
  42. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/createEmptyAgentModelRequirements.d.ts +1 -1
  43. package/esm/typings/src/execution/LlmExecutionTools.d.ts +1 -1
  44. package/esm/typings/src/llm-providers/_common/utils/assertUniqueModels.d.ts +12 -0
  45. package/esm/typings/src/llm-providers/agent/Agent.d.ts +10 -9
  46. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +5 -1
  47. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +1 -1
  48. package/esm/typings/src/llm-providers/agent/RemoteAgent.d.ts +32 -0
  49. package/esm/typings/src/llm-providers/agent/RemoteAgentOptions.d.ts +11 -0
  50. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +29 -4
  51. package/esm/typings/src/llm-providers/openai/openai-models.test.d.ts +4 -0
  52. package/esm/typings/src/remote-server/startAgentServer.d.ts +1 -1
  53. package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -2
  54. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -0
  55. package/esm/typings/src/transpilers/openai-sdk/register.d.ts +1 -1
  56. package/esm/typings/src/types/typeAliases.d.ts +12 -0
  57. package/esm/typings/src/utils/color/internal-utils/checkChannelValue.d.ts +0 -3
  58. package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +2 -0
  59. package/esm/typings/src/utils/normalization/normalizeTo_PascalCase.d.ts +3 -0
  60. package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +2 -0
  61. package/esm/typings/src/utils/normalization/titleToName.d.ts +2 -0
  62. package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +2 -2
  63. package/esm/typings/src/utils/random/$randomFullnameWithColor.d.ts +1 -1
  64. package/esm/typings/src/version.d.ts +1 -1
  65. package/package.json +2 -2
  66. package/umd/index.umd.js +11 -14
  67. package/umd/index.umd.js.map +1 -1
  68. /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BookCommitment.d.ts +0 -0
  69. /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/ParsedCommitment.d.ts +0 -0
  70. /package/esm/typings/src/{book-2.0/commitments → commitments}/index.d.ts +0 -0
@@ -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
- private readonly assistantId;
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
- playground(): Promise<void>;
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
@@ -0,0 +1,4 @@
1
+ export {};
2
+ /**
3
+ * TODO: [🧠] Maybe do this test for all model providers + boilerplate
4
+ */
@@ -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: !!!! Maybe change to `@promptbook/agent-server`
20
+ * <- TODO: !!!! Change to `@promptbook/agent-server`
21
21
  */
22
22
  export declare function startAgentServer(options: AgentsServerOptions): Promise<TODO_any>;
23
23
  export {};
@@ -11,8 +11,7 @@ import type { RemoteServerOptions } from './types/RemoteServerOptions';
11
11
  */
12
12
  export declare function startRemoteServer<TCustomOptions = undefined>(options: RemoteServerOptions<TCustomOptions>): RemoteServer;
13
13
  /**
14
- * TODO !!!! Add agent
15
- * TODO: !!!! Allow to chat with agents directly via remote server
14
+
16
15
  * TODO: [🕋] Use here `aboutPromptbookInformation`
17
16
  * TODO: [🌡] Add CORS and security - probably via `helmet`
18
17
  * TODO: Split this file into multiple functions - handler for each request
@@ -21,4 +21,5 @@ export type PromptbookStorage<TItem> = {
21
21
  };
22
22
  /**
23
23
  * TODO: [💺] Constrain `TItem` to [🚉] JSON-serializable objects only in type level
24
+ * TODO: [☹️] Unite the storages
24
25
  */
@@ -7,7 +7,7 @@ import type { Registration } from '../../utils/misc/$Register';
7
7
  * @public exported from `@promptbook/wizard`
8
8
  * @public exported from `@promptbook/cli`
9
9
  *
10
- * TODO: !!!! Which package should export this?
10
+ * TODO: [🧠] Which package should export this?
11
11
  */
12
12
  export declare const _OpenAiSdkTranspilerRegistration: Registration;
13
13
  /**
@@ -148,6 +148,12 @@ export type string_agent_name = string;
148
148
  * For example `"My AI Assistant"`
149
149
  */
150
150
  export type string_agent_name_in_book = string;
151
+ /**
152
+ * Semantic helper
153
+ *
154
+ * For example `"b126926439c5fcb83609888a11283723c1ef137c0ad599a77a1be81812bd221d"`
155
+ */
156
+ export type string_agent_hash = string_sha256;
151
157
  /**
152
158
  * Unstructured description of the persona
153
159
  *
@@ -360,6 +366,12 @@ export type string_base_url = string;
360
366
  * For example `"https://promptbook.studio/webgpt/"`
361
367
  */
362
368
  export type string_pipeline_root_url = string;
369
+ /**
370
+ * Semantic helper
371
+ *
372
+ * For example `"https://s6.ptbk.io/agents/agent-007"`
373
+ */
374
+ export type string_agent_url = string;
363
375
  /**
364
376
  * Semantic helper
365
377
  *
@@ -9,6 +9,3 @@
9
9
  * @private util of `@promptbook/color`
10
10
  */
11
11
  export declare function checkChannelValue(channelName: string, value: number): asserts value is number;
12
- /**
13
- * TODO: [🧠][🚓] Is/which combination it better to use asserts/check, validate or is utility function?
14
- */
@@ -9,6 +9,8 @@ export type string_kebab_case = string;
9
9
  /**
10
10
  * Converts a given text to kebab-case format.
11
11
  *
12
+ * Note: [🔂] This function is idempotent.
13
+ *
12
14
  * @param text The text to be converted.
13
15
  * @returns The kebab-case formatted string.
14
16
  * @example 'hello-world'
@@ -7,6 +7,9 @@
7
7
  */
8
8
  export type string_PascalCase = string;
9
9
  /**
10
+ * Normalizes a given text to PascalCase format.
11
+ *
12
+ * Note: [🔂] This function is idempotent.
10
13
  *
11
14
  * @param text @public exported from `@promptbook/utils`
12
15
  * @returns
@@ -9,6 +9,8 @@ export type string_camelCase = string;
9
9
  /**
10
10
  * Normalizes a given text to camelCase format.
11
11
  *
12
+ * Note: [🔂] This function is idempotent.
13
+ *
12
14
  * @param text The text to be normalized.
13
15
  * @param _isFirstLetterCapital Whether the first letter should be capitalized.
14
16
  * @returns The camelCase formatted string.
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * Converts a title string into a normalized name.
3
3
  *
4
+ * Note: [🔂] This function is idempotent.
5
+ *
4
6
  * @param value The title string to be converted to a name.
5
7
  * @returns A normalized name derived from the input title.
6
8
  * @example 'Hello World!' -> 'hello-world'
@@ -1,7 +1,7 @@
1
1
  import type { PartialDeep } from 'type-fest';
2
2
  import type { AgentBasicInformation } from '../../book-2.0/agent-source/AgentBasicInformation';
3
- import { string_book } from '../../book-2.0/agent-source/string_book';
4
- import { string_agent_name_in_book } from '../../types/typeAliases';
3
+ import type { string_book } from '../../book-2.0/agent-source/string_book';
4
+ import type { string_agent_name_in_book } from '../../types/typeAliases';
5
5
  type GenerateBookBoilerplateOptions = PartialDeep<Omit<AgentBasicInformation, 'parameters'>> & {
6
6
  /**
7
7
  * Name of the parent agent to inherit from
@@ -1,4 +1,4 @@
1
- import { string_color, string_person_fullname } from '../../types/typeAliases';
1
+ import type { string_color, string_person_fullname } from '../../types/typeAliases';
2
2
  export type RandomFullnameWithColorResult = {
3
3
  fullname: string_person_fullname;
4
4
  color: string_color;
@@ -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-45`).
18
+ * It follows semantic versioning (e.g., `0.103.0-47`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/azure-openai",
3
- "version": "0.103.0-46",
3
+ "version": "0.103.0-48",
4
4
  "description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -105,7 +105,7 @@
105
105
  "module": "./esm/index.es.js",
106
106
  "typings": "./esm/typings/src/_packages/azure-openai.index.d.ts",
107
107
  "peerDependencies": {
108
- "@promptbook/core": "0.103.0-46"
108
+ "@promptbook/core": "0.103.0-48"
109
109
  },
110
110
  "dependencies": {
111
111
  "@azure/openai": "1.0.0-beta.13",
package/umd/index.umd.js CHANGED
@@ -24,7 +24,7 @@
24
24
  * @generated
25
25
  * @see https://github.com/webgptorg/promptbook
26
26
  */
27
- const PROMPTBOOK_ENGINE_VERSION = '0.103.0-46';
27
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-48';
28
28
  /**
29
29
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
30
30
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -259,9 +259,6 @@
259
259
  throw new Error(`${channelName} channel is greater than 255, it is ${value}`);
260
260
  }
261
261
  }
262
- /**
263
- * TODO: [🧠][🚓] Is/which combination it better to use asserts/check, validate or is utility function?
264
- */
265
262
 
266
263
  /**
267
264
  * Color object represents an RGB color with alpha channel
@@ -2279,17 +2276,17 @@
2279
2276
  },
2280
2277
  /**/
2281
2278
  /*/
2282
- {
2283
- modelTitle: 'tts-1-hd-1106',
2284
- modelName: 'tts-1-hd-1106',
2285
- },
2286
- /**/
2279
+ {
2280
+ modelTitle: 'tts-1-hd-1106',
2281
+ modelName: 'tts-1-hd-1106',
2282
+ },
2283
+ /**/
2287
2284
  /*/
2288
- {
2289
- modelTitle: 'tts-1-hd',
2290
- modelName: 'tts-1-hd',
2291
- },
2292
- /**/
2285
+ {
2286
+ modelTitle: 'tts-1-hd',
2287
+ modelName: 'tts-1-hd',
2288
+ },
2289
+ /**/
2293
2290
  /**/
2294
2291
  {
2295
2292
  modelVariant: 'CHAT',