@promptbook/azure-openai 0.103.0-43 → 0.103.0-45

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 (29) hide show
  1. package/README.md +6 -18
  2. package/esm/index.es.js +15 -4
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/types.index.d.ts +8 -0
  5. package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +5 -0
  6. package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +2 -28
  7. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +61 -9
  8. package/esm/typings/src/errors/DatabaseError.d.ts +3 -0
  9. package/esm/typings/src/llm-providers/_multiple/getSingleLlmExecutionTools.d.ts +1 -0
  10. package/esm/typings/src/llm-providers/_multiple/joinLlmExecutionTools.d.ts +1 -0
  11. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +2 -1
  12. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  13. package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
  14. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  15. package/esm/typings/src/remote-server/startAgentServer.d.ts +3 -0
  16. package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -0
  17. package/esm/typings/src/types/typeAliases.d.ts +19 -1
  18. package/esm/typings/src/utils/color/$randomColor.d.ts +1 -0
  19. package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +5 -2
  20. package/esm/typings/src/utils/random/$randomAgentPersona.d.ts +9 -0
  21. package/esm/typings/src/utils/random/$randomFullnameWithColor.d.ts +13 -0
  22. package/esm/typings/src/utils/random/$randomItem.d.ts +9 -0
  23. package/esm/typings/src/utils/random/$randomSeed.d.ts +3 -0
  24. package/esm/typings/src/utils/random/$randomToken.d.ts +1 -0
  25. package/esm/typings/src/version.d.ts +1 -1
  26. package/package.json +2 -2
  27. package/umd/index.umd.js +15 -4
  28. package/umd/index.umd.js.map +1 -1
  29. package/esm/typings/src/commands/_common/parseCommand.test.d.ts +0 -1
@@ -1,12 +1,10 @@
1
1
  import type { SupabaseClient } from '@supabase/supabase-js';
2
+ import { BehaviorSubject } from 'rxjs';
2
3
  import type { AgentBasicInformation } from '../../../../book-2.0/agent-source/AgentBasicInformation';
3
4
  import type { string_book } from '../../../../book-2.0/agent-source/string_book';
4
5
  import type { CommonToolsOptions } from '../../../../execution/CommonToolsOptions';
5
- import type { ExecutionTools } from '../../../../execution/ExecutionTools';
6
- import { Agent } from '../../../../llm-providers/agent/Agent';
7
6
  import type { PrepareAndScrapeOptions } from '../../../../prepare/PrepareAndScrapeOptions';
8
7
  import type { string_agent_name } from '../../../../types/typeAliases';
9
- import type { AgentCollection } from '../../AgentCollection';
10
8
  import type { AgentsDatabaseSchema } from './AgentsDatabaseSchema';
11
9
  /**
12
10
  * Agent collection stored in Supabase table
@@ -16,28 +14,81 @@ import type { AgentsDatabaseSchema } from './AgentsDatabaseSchema';
16
14
  * @public exported from `@promptbook/core`
17
15
  * <- TODO: !!! Move to `@promptbook/supabase` package
18
16
  */
19
- export declare class AgentCollectionInSupabase implements AgentCollection {
17
+ export declare class AgentCollectionInSupabase {
20
18
  private readonly supabaseClient;
21
- private readonly tools?;
22
19
  readonly options?: (PrepareAndScrapeOptions & CommonToolsOptions) | undefined;
23
20
  /**
24
21
  * @param rootPath - path to the directory with agents
25
- * @param tools - Execution tools to be used in `Agent` itself and listing the agents
22
+ * @param tools - Execution tools to be used in !!! `Agent` itself and listing the agents
26
23
  * @param options - Options for the collection creation
27
24
  */
28
- constructor(supabaseClient: SupabaseClient<AgentsDatabaseSchema>, tools?: Pick<ExecutionTools, "llm" | "fs" | "scrapers"> | undefined, options?: (PrepareAndScrapeOptions & CommonToolsOptions) | undefined);
25
+ constructor(supabaseClient: SupabaseClient<AgentsDatabaseSchema>, options?: (PrepareAndScrapeOptions & CommonToolsOptions) | undefined);
29
26
  /**
30
27
  * Cached defined execution tools
31
28
  */
32
- private _definedTools;
33
29
  /**
34
30
  * Gets all agents in the collection
35
31
  */
36
32
  listAgents(): Promise<ReadonlyArray<AgentBasicInformation>>;
37
33
  /**
38
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
+ /**
89
+ * !!!@@@
39
90
  */
40
- spawnAgent(agentName: string_agent_name): Promise<Agent>;
91
+ getAgentSource(agentName: string_agent_name): Promise<BehaviorSubject<string_book>>;
41
92
  /**
42
93
  * Creates a new agent in the collection
43
94
  *
@@ -50,6 +101,7 @@ export declare class AgentCollectionInSupabase implements AgentCollection {
50
101
  deleteAgent(agentName: string_agent_name): Promise<void>;
51
102
  }
52
103
  /**
104
+ * TODO: !!!! Implement it here correctly and update JSDoc comments here, and on interface + other implementations
53
105
  * TODO: Write unit test
54
106
  * TODO: [🧠][🚙] `AgentXxx` vs `AgentsXxx` naming convention
55
107
  */
@@ -7,3 +7,6 @@ export declare class DatabaseError extends Error {
7
7
  readonly name = "DatabaseError";
8
8
  constructor(message: string);
9
9
  }
10
+ /**
11
+ * TODO: !!!! Explain that NotFoundError (!!! and other specific errors) has priority over DatabaseError in some contexts
12
+ */
@@ -7,5 +7,6 @@ import { MultipleLlmExecutionTools } from './MultipleLlmExecutionTools';
7
7
  */
8
8
  export declare function getSingleLlmExecutionTools(oneOrMoreLlmExecutionTools: undefined | LlmExecutionTools | ReadonlyArray<LlmExecutionTools>): LlmExecutionTools | MultipleLlmExecutionTools;
9
9
  /**
10
+ * TODO: [🙆] `getSingleLlmExecutionTools` vs `joinLlmExecutionTools` - explain difference or pick one
10
11
  * TODO: [👷‍♂] @@@ Manual about construction of llmTools
11
12
  */
@@ -18,5 +18,6 @@ import { MultipleLlmExecutionTools } from './MultipleLlmExecutionTools';
18
18
  */
19
19
  export declare function joinLlmExecutionTools(title: string_title & string_markdown_text, ...llmExecutionTools: ReadonlyArray<LlmExecutionTools>): MultipleLlmExecutionTools;
20
20
  /**
21
+ * TODO: [🙆] `getSingleLlmExecutionTools` vs `joinLlmExecutionTools` - explain difference or pick one
21
22
  * TODO: [👷‍♂] @@@ Manual about construction of llmTools
22
23
  */
@@ -1,10 +1,11 @@
1
1
  import type { string_book } from '../../book-2.0/agent-source/string_book';
2
+ import { CommonToolsOptions } from '../../execution/CommonToolsOptions';
2
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
4
  import { OpenAiAssistantExecutionTools } from '../openai/OpenAiAssistantExecutionTools';
4
5
  /**
5
6
  * Options for creating AgentLlmExecutionTools
6
7
  */
7
- export type CreateAgentLlmExecutionToolsOptions = {
8
+ export type CreateAgentLlmExecutionToolsOptions = CommonToolsOptions & {
8
9
  /**
9
10
  * The underlying LLM execution tools to wrap
10
11
  */
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
3
3
  /**
4
4
  * List of available Anthropic Claude models with pricing
5
5
  *
6
- * Note: Synced with official API docs at 2025-08-20
6
+ * Note: Synced with official API docs at 2025-11-19
7
7
  *
8
8
  * @see https://docs.anthropic.com/en/docs/models-overview
9
9
  * @public exported from `@promptbook/anthropic-claude`
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
3
3
  /**
4
4
  * List of available Google models with descriptions
5
5
  *
6
- * Note: Synced with official API docs at 2025-08-20
6
+ * Note: Synced with official API docs at 2025-11-19
7
7
  *
8
8
  * @see https://ai.google.dev/models/gemini
9
9
  * @public exported from `@promptbook/google`
@@ -2,7 +2,7 @@ import type { AvailableModel } from '../../execution/AvailableModel';
2
2
  /**
3
3
  * List of available OpenAI models with pricing
4
4
  *
5
- * Note: Synced with official API docs at 2025-08-20
5
+ * Note: Synced with official API docs at 2025-11-19
6
6
  *
7
7
  * @see https://platform.openai.com/docs/models/
8
8
  * @see https://openai.com/api/pricing/
@@ -21,3 +21,6 @@ type AgentsServerOptions = {
21
21
  */
22
22
  export declare function startAgentServer(options: AgentsServerOptions): Promise<TODO_any>;
23
23
  export {};
24
+ /**
25
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
26
+ */
@@ -25,4 +25,5 @@ export declare function startRemoteServer<TCustomOptions = undefined>(options: R
25
25
  * TODO: [🃏] Pass here some security token to prevent malitious usage and/or DDoS
26
26
  * TODO: [0] Set unavailable models as undefined in `RemoteLlmExecutionTools` NOT throw error here
27
27
  * TODO: Allow to constrain anonymous mode for specific models / providers
28
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
28
29
  */
@@ -142,6 +142,12 @@ export type string_title = string;
142
142
  * For example `"My AI Assistant"`
143
143
  */
144
144
  export type string_agent_name = string;
145
+ /**
146
+ * Semantic helper
147
+ *
148
+ * For example `"My AI Assistant"`
149
+ */
150
+ export type string_agent_name_in_book = string;
145
151
  /**
146
152
  * Unstructured description of the persona
147
153
  *
@@ -530,7 +536,19 @@ export type string_dirname = string_absolute_dirname | string_relative_dirname;
530
536
  *
531
537
  * For example `"John Smith"`
532
538
  */
533
- export type string_person_fullname = string;
539
+ export type string_person_fullname = `${string_person_firstname} ${string_person_lastname}` | string;
540
+ /**
541
+ * Semantic helper
542
+ *
543
+ * For example `"John Smith"`
544
+ */
545
+ export type string_person_firstname = string;
546
+ /**
547
+ * Semantic helper
548
+ *
549
+ * For example `"John Smith"`
550
+ */
551
+ export type string_person_lastname = string;
534
552
  /**
535
553
  * Semantic helper
536
554
  * Full profile of the person with his email and web (like in package.json)
@@ -8,4 +8,5 @@ export declare function $randomColor(): Color;
8
8
  /**
9
9
  * TODO: !! Use Internally Color.fromValues
10
10
  * TODO: !! randomColorWithAlpha
11
+ * TODO: [🀶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
11
12
  */
@@ -1,14 +1,14 @@
1
1
  import type { PartialDeep } from 'type-fest';
2
2
  import type { AgentBasicInformation } from '../../book-2.0/agent-source/AgentBasicInformation';
3
3
  import { string_book } from '../../book-2.0/agent-source/string_book';
4
- import { string_agent_name } from '../../types/typeAliases';
4
+ import { 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
8
8
  *
9
9
  * @default 'Adam'
10
10
  */
11
- parentAgentName?: string_agent_name;
11
+ parentAgentName?: string_agent_name_in_book;
12
12
  };
13
13
  /**
14
14
  * Generates boilerplate for a new agent book
@@ -20,3 +20,6 @@ type GenerateBookBoilerplateOptions = PartialDeep<Omit<AgentBasicInformation, 'p
20
20
  */
21
21
  export declare function $generateBookBoilerplate(options?: GenerateBookBoilerplateOptions): string_book;
22
22
  export {};
23
+ /**
24
+ * TODO: [🀶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
25
+ */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @@@@
3
+ *
4
+ * @private internal helper function
5
+ */
6
+ export declare function $randomAgentPersona(): string;
7
+ /**
8
+ * TODO: [🀶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
9
+ */
@@ -0,0 +1,13 @@
1
+ import { string_color, string_person_fullname } from '../../types/typeAliases';
2
+ export type RandomFullnameWithColorResult = {
3
+ fullname: string_person_fullname;
4
+ color: string_color;
5
+ };
6
+ /**
7
+ *
8
+ * @private internal helper function
9
+ */
10
+ export declare function $randomFullnameWithColor(): RandomFullnameWithColorResult;
11
+ /**
12
+ * TODO: [🀶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
13
+ */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Pick random item from the received array
3
+ *
4
+ * @private internal helper function
5
+ */
6
+ export declare function $randomItem<TItem>(...items: Array<TItem>): TItem;
7
+ /**
8
+ * TODO: [🀶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
9
+ */
@@ -8,3 +8,6 @@ import type { number_seed } from '../../types/typeAliases';
8
8
  * @private internal helper function
9
9
  */
10
10
  export declare function $randomSeed(): number_seed;
11
+ /**
12
+ * TODO: [🀶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
13
+ */
@@ -10,5 +10,6 @@ import type { string_token } from '../../types/typeAliases';
10
10
  */
11
11
  export declare function $randomToken(randomness: number): string_token;
12
12
  /**
13
+ * TODO: [🀶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
13
14
  * TODO: Maybe use nanoid instead https://github.com/ai/nanoid
14
15
  */
@@ -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-42`).
18
+ * It follows semantic versioning (e.g., `0.103.0-44`).
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-43",
3
+ "version": "0.103.0-45",
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-43"
108
+ "@promptbook/core": "0.103.0-45"
109
109
  },
110
110
  "dependencies": {
111
111
  "@azure/openai": "1.0.0-beta.13",
package/umd/index.umd.js CHANGED
@@ -17,14 +17,14 @@
17
17
  * @generated
18
18
  * @see https://github.com/webgptorg/book
19
19
  */
20
- const BOOK_LANGUAGE_VERSION = '1.0.0';
20
+ const BOOK_LANGUAGE_VERSION = '2.0.0';
21
21
  /**
22
22
  * The version of the Promptbook engine
23
23
  *
24
24
  * @generated
25
25
  * @see https://github.com/webgptorg/promptbook
26
26
  */
27
- const PROMPTBOOK_ENGINE_VERSION = '0.103.0-43';
27
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-45';
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
@@ -980,6 +980,7 @@
980
980
  return crypto.randomBytes(randomness).toString('hex');
981
981
  }
982
982
  /**
983
+ * TODO: [🀶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
983
984
  * TODO: Maybe use nanoid instead https://github.com/ai/nanoid
984
985
  */
985
986
 
@@ -2084,7 +2085,7 @@
2084
2085
  /**
2085
2086
  * List of available OpenAI models with pricing
2086
2087
  *
2087
- * Note: Synced with official API docs at 2025-08-20
2088
+ * Note: Synced with official API docs at 2025-11-19
2088
2089
  *
2089
2090
  * @see https://platform.openai.com/docs/models/
2090
2091
  * @see https://openai.com/api/pricing/
@@ -2094,11 +2095,21 @@
2094
2095
  name: 'OPENAI_MODELS',
2095
2096
  value: [
2096
2097
  /**/
2098
+ {
2099
+ modelVariant: 'CHAT',
2100
+ modelTitle: 'gpt-5.1',
2101
+ modelName: 'gpt-5.1',
2102
+ modelDescription: 'The best model for coding and agentic tasks with configurable reasoning effort.',
2103
+ pricing: {
2104
+ prompt: pricing(`$1.25 / 1M tokens`),
2105
+ output: pricing(`$10.00 / 1M tokens`),
2106
+ },
2107
+ },
2097
2108
  {
2098
2109
  modelVariant: 'CHAT',
2099
2110
  modelTitle: 'gpt-5',
2100
2111
  modelName: 'gpt-5',
2101
- modelDescription: "OpenAI's most advanced language model with unprecedented reasoning capabilities and 200K context window. Features revolutionary improvements in complex problem-solving, scientific reasoning, and creative tasks. Demonstrates human-level performance across diverse domains with enhanced safety measures and alignment. Represents the next generation of AI with superior understanding, nuanced responses, and advanced multimodal capabilities.",
2112
+ modelDescription: "OpenAI's most advanced language model with unprecedented reasoning capabilities and 200K context window. Features revolutionary improvements in complex problem-solving, scientific reasoning, and creative tasks. Demonstrates human-level performance across diverse domains with enhanced safety measures and alignment. Represents the next generation of AI with superior understanding, nuanced responses, and advanced multimodal capabilities. DEPRECATED: Use gpt-5.1 instead.",
2102
2113
  pricing: {
2103
2114
  prompt: pricing(`$1.25 / 1M tokens`),
2104
2115
  output: pricing(`$10.00 / 1M tokens`),