@promptbook/vercel 0.105.0-0 → 0.105.0-10

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/README.md +36 -77
  2. package/esm/index.es.js +2 -1
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/browser.index.d.ts +2 -0
  5. package/esm/typings/src/_packages/core.index.d.ts +4 -0
  6. package/esm/typings/src/_packages/types.index.d.ts +16 -0
  7. package/esm/typings/src/_packages/utils.index.d.ts +2 -0
  8. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +15 -3
  9. package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +11 -1
  10. package/esm/typings/src/book-2.0/agent-source/communication-samples.test.d.ts +1 -0
  11. package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.blocks.test.d.ts +1 -0
  12. package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.import.test.d.ts +1 -0
  13. package/esm/typings/src/book-2.0/agent-source/parseAgentSource.import.test.d.ts +1 -0
  14. package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.blocks.test.d.ts +1 -0
  15. package/esm/typings/src/book-components/Chat/AgentChat/AgentChatProps.d.ts +5 -0
  16. package/esm/typings/src/book-components/Chat/Chat/ChatMessageItem.d.ts +15 -1
  17. package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +20 -9
  18. package/esm/typings/src/book-components/Chat/LlmChat/LlmChatProps.d.ts +5 -0
  19. package/esm/typings/src/book-components/Chat/types/ChatMessage.d.ts +43 -0
  20. package/esm/typings/src/commitments/NOTE/NOTE.d.ts +2 -2
  21. package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +4 -0
  22. package/esm/typings/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +10 -0
  23. package/esm/typings/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts +1 -0
  24. package/esm/typings/src/commitments/USE_TIME/USE_TIME.d.ts +44 -0
  25. package/esm/typings/src/commitments/USE_TIME/USE_TIME.test.d.ts +1 -0
  26. package/esm/typings/src/commitments/_base/BaseCommitmentDefinition.d.ts +14 -0
  27. package/esm/typings/src/commitments/_base/CommitmentDefinition.d.ts +14 -0
  28. package/esm/typings/src/commitments/index.d.ts +17 -2
  29. package/esm/typings/src/config.d.ts +1 -0
  30. package/esm/typings/src/execution/LlmExecutionTools.d.ts +3 -1
  31. package/esm/typings/src/import-plugins/$fileImportPlugins.d.ts +7 -0
  32. package/esm/typings/src/import-plugins/AgentFileImportPlugin.d.ts +7 -0
  33. package/esm/typings/src/import-plugins/FileImportPlugin.d.ts +24 -0
  34. package/esm/typings/src/import-plugins/JsonFileImportPlugin.d.ts +7 -0
  35. package/esm/typings/src/import-plugins/TextFileImportPlugin.d.ts +7 -0
  36. package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +2 -1
  37. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/countUsage.d.ts +2 -2
  38. package/esm/typings/src/llm-providers/agent/Agent.d.ts +14 -2
  39. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +3 -1
  40. package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +7 -0
  41. package/esm/typings/src/llm-providers/agent/RemoteAgent.d.ts +1 -0
  42. package/esm/typings/src/llm-providers/agent/RemoteAgentOptions.d.ts +1 -1
  43. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +10 -0
  44. package/esm/typings/src/llm-providers/openai/OpenAiCompatibleExecutionTools.d.ts +7 -0
  45. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +1 -1
  46. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +6 -1
  47. package/esm/typings/src/search-engines/SearchEngine.d.ts +1 -1
  48. package/esm/typings/src/search-engines/_index.d.ts +6 -0
  49. package/esm/typings/src/search-engines/bing/BingSearchEngine.d.ts +1 -1
  50. package/esm/typings/src/search-engines/dummy/DummySearchEngine.d.ts +1 -1
  51. package/esm/typings/src/search-engines/google/GoogleSearchEngine.d.ts +18 -0
  52. package/esm/typings/src/search-engines/serp/SerpSearchEngine.d.ts +15 -0
  53. package/esm/typings/src/speech-recognition/BrowserSpeechRecognition.d.ts +21 -0
  54. package/esm/typings/src/speech-recognition/OpenAiSpeechRecognition.d.ts +32 -0
  55. package/esm/typings/src/types/ModelRequirements.d.ts +6 -12
  56. package/esm/typings/src/types/SpeechRecognition.d.ts +58 -0
  57. package/esm/typings/src/types/typeAliases.d.ts +4 -0
  58. package/esm/typings/src/utils/execCommand/$execCommandNormalizeOptions.d.ts +2 -3
  59. package/esm/typings/src/utils/execCommand/ExecCommandOptions.d.ts +7 -1
  60. package/esm/typings/src/utils/misc/linguisticHash.d.ts +6 -0
  61. package/esm/typings/src/utils/misc/linguisticHash.test.d.ts +1 -0
  62. package/esm/typings/src/utils/organization/keepImported.d.ts +9 -0
  63. package/esm/typings/src/utils/organization/keepTypeImported.d.ts +0 -1
  64. package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +4 -0
  65. package/esm/typings/src/utils/random/$randomAgentPersona.d.ts +2 -1
  66. package/esm/typings/src/utils/random/$randomAgentRule.d.ts +14 -0
  67. package/esm/typings/src/version.d.ts +1 -1
  68. package/package.json +2 -2
  69. package/umd/index.umd.js +2 -1
  70. package/umd/index.umd.js.map +1 -1
@@ -2,6 +2,7 @@ import type { string_book } from '../../book-2.0/agent-source/string_book';
2
2
  import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
3
  import type { ExecutionTools } from '../../execution/ExecutionTools';
4
4
  import type { Updatable } from '../../types/Updatable';
5
+ import { Agent } from './Agent';
5
6
  /**
6
7
  * Options for creating an Agent
7
8
  */
@@ -16,4 +17,10 @@ export type AgentOptions = CommonToolsOptions & {
16
17
  * The source of the agent
17
18
  */
18
19
  agentSource: Updatable<string_book>;
20
+ /**
21
+ * Teacher agent for self-learning
22
+ *
23
+ * Note: If provided, the agent can do full self-learning from the teacher agent during its operation.
24
+ */
25
+ teacherAgent: Agent | null;
19
26
  };
@@ -23,6 +23,7 @@ export declare class RemoteAgent extends Agent {
23
23
  private agentUrl;
24
24
  private _remoteAgentName;
25
25
  private _remoteAgentHash;
26
+ toolTitles: Record<string, string>;
26
27
  private _isVoiceCallingEnabled;
27
28
  private constructor();
28
29
  get agentName(): string_agent_name;
@@ -3,7 +3,7 @@ import type { string_agent_url } from '../../types/typeAliases';
3
3
  /**
4
4
  * Options for creating a Remote Agent
5
5
  */
6
- export type RemoteAgentOptions = CommonToolsOptions & {
6
+ export type RemoteAgentOptions = Omit<CommonToolsOptions, 'teacherAgent'> & {
7
7
  /**
8
8
  * Url of the remote agent
9
9
  */
@@ -1,5 +1,6 @@
1
1
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
2
2
  import type { ChatPromptResult } from '../../execution/PromptResult';
3
+ import type { ModelRequirements } from '../../types/ModelRequirements';
3
4
  import type { Prompt } from '../../types/Prompt';
4
5
  import type { string_markdown, string_markdown_text, string_title, string_token } from '../../types/typeAliases';
5
6
  import type { OpenAiAssistantExecutionToolsOptions } from './OpenAiAssistantExecutionToolsOptions';
@@ -54,6 +55,10 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
54
55
  * Optional list of knowledge source links (URLs or file paths) to attach to the assistant via vector store
55
56
  */
56
57
  readonly knowledgeSources?: ReadonlyArray<string>;
58
+ /**
59
+ * Optional list of tools to attach to the assistant
60
+ */
61
+ readonly tools?: ModelRequirements['tools'];
57
62
  }): Promise<OpenAiAssistantExecutionTools>;
58
63
  updateAssistant(options: {
59
64
  /**
@@ -72,6 +77,10 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
72
77
  * Optional list of knowledge source links (URLs or file paths) to attach to the assistant via vector store
73
78
  */
74
79
  readonly knowledgeSources?: ReadonlyArray<string>;
80
+ /**
81
+ * Optional list of tools to attach to the assistant
82
+ */
83
+ readonly tools?: ModelRequirements['tools'];
75
84
  }): Promise<OpenAiAssistantExecutionTools>;
76
85
  /**
77
86
  * Discriminant for type guards
@@ -85,6 +94,7 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
85
94
  static isOpenAiAssistantExecutionTools(llmExecutionTools: LlmExecutionTools): llmExecutionTools is OpenAiAssistantExecutionTools;
86
95
  }
87
96
  /**
97
+ * TODO: [🙎] In `OpenAiAssistantExecutionTools` Allow to create abstract assistants with `isCreatingNewAssistantsAllowed`
88
98
  * TODO: [🧠][🧙‍♂️] Maybe there can be some wizard for those who want to use just OpenAI
89
99
  * TODO: Maybe make custom OpenAiError
90
100
  * TODO: [🧠][🈁] Maybe use `isDeterministic` from options
@@ -39,10 +39,17 @@ export declare abstract class OpenAiCompatibleExecutionTools implements LlmExecu
39
39
  * List all available OpenAI compatible models that can be used
40
40
  */
41
41
  listModels(): Promise<ReadonlyArray<AvailableModel>>;
42
+ /**
43
+ * Calls OpenAI compatible API to use a chat model.
44
+ */
42
45
  /**
43
46
  * Calls OpenAI compatible API to use a chat model.
44
47
  */
45
48
  callChatModel(prompt: Prompt): Promise<ChatPromptResult>;
49
+ /**
50
+ * Calls OpenAI compatible API to use a chat model with streaming.
51
+ */
52
+ callChatModelStream(prompt: Prompt, onProgress: (chunk: ChatPromptResult) => void): Promise<ChatPromptResult>;
46
53
  /**
47
54
  * Internal method that handles parameter retry for chat model calls
48
55
  */
@@ -46,7 +46,7 @@ export declare class RemoteLlmExecutionTools<TCustomOptions = undefined> impleme
46
46
  private callCommonModel;
47
47
  }
48
48
  /**
49
- * TODO: !!!! Deprecate pipeline server and all of its components
49
+ * TODO: [🕴] Deprecate pipeline server and all of its components
50
50
  * TODO: Maybe use `$exportJson`
51
51
  * TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
52
52
  * TODO: [🍓] Allow to list compatible models with each variant
@@ -1,4 +1,5 @@
1
1
  import type { Promisable } from 'type-fest';
2
+ import { TODO_any } from '../../_packages/types.index';
2
3
  import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
4
  import type { string_postprocessing_function_name } from '../../types/typeAliases';
4
5
  /**
@@ -15,12 +16,16 @@ export type JavascriptExecutionToolsOptions = CommonToolsOptions & {
15
16
  * Note: There are also some built-in functions available:
16
17
  * @see ./JavascriptEvalExecutionTools.ts
17
18
  */
18
- functions?: Record<string_postprocessing_function_name, PostprocessingFunction>;
19
+ functions?: Record<string_postprocessing_function_name, PostprocessingFunction | ToolFunction>;
19
20
  };
20
21
  /**
21
22
  * Function that can be used to postprocess the output of the LLM
22
23
  */
23
24
  export type PostprocessingFunction = ((value: string) => Promisable<string>) | Function;
25
+ /**
26
+ * Function that can be used as tool for AI model
27
+ */
28
+ export type ToolFunction = (args: TODO_any) => Promise<TODO_any>;
24
29
  /**
25
30
  * TODO: [🧠][💙] Distinct between options passed into ExecutionTools and to ExecutionTools.execute
26
31
  */
@@ -5,5 +5,5 @@ export type SearchEngine = {
5
5
  readonly title: string_title & string_markdown_text;
6
6
  readonly description?: string_markdown;
7
7
  checkConfiguration(): Promisable<void>;
8
- search(query: string): Promise<SearchResult[]>;
8
+ search(query: string, options?: Record<string, unknown>): Promise<SearchResult[]>;
9
9
  };
@@ -0,0 +1,6 @@
1
+ export * from './bing/BingSearchEngine';
2
+ export * from './dummy/DummySearchEngine';
3
+ export * from './google/GoogleSearchEngine';
4
+ export * from './SearchEngine';
5
+ export * from './SearchResult';
6
+ export * from './serp/SerpSearchEngine';
@@ -11,5 +11,5 @@ export declare class BingSearchEngine implements SearchEngine {
11
11
  get title(): string_title & string_markdown_text;
12
12
  get description(): string_markdown;
13
13
  checkConfiguration(): Promisable<void>;
14
- search(query: string): Promise<SearchResult[]>;
14
+ search(query: string, options?: Record<string, unknown>): Promise<SearchResult[]>;
15
15
  }
@@ -11,5 +11,5 @@ export declare class DummySearchEngine implements SearchEngine {
11
11
  get title(): string_title & string_markdown_text;
12
12
  get description(): string_markdown;
13
13
  checkConfiguration(): Promisable<void>;
14
- search(query: string): Promise<SearchResult[]>;
14
+ search(query: string, options?: Record<string, unknown>): Promise<SearchResult[]>;
15
15
  }
@@ -0,0 +1,18 @@
1
+ import type { Promisable } from 'type-fest';
2
+ import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
3
+ import type { SearchEngine } from '../SearchEngine';
4
+ import type { SearchResult } from '../SearchResult';
5
+ /**
6
+ * A search engine implementation that uses the Google Custom Search JSON API.
7
+ *
8
+ * @private <- TODO: !!!! Export via some package
9
+ */
10
+ export declare class GoogleSearchEngine implements SearchEngine {
11
+ get title(): string_title & string_markdown_text;
12
+ get description(): string_markdown;
13
+ /**
14
+ * @see https://developers.google.com/custom-search/v1/overview
15
+ */
16
+ checkConfiguration(): Promisable<void>;
17
+ search(query: string, options?: Record<string, unknown>): Promise<SearchResult[]>;
18
+ }
@@ -0,0 +1,15 @@
1
+ import type { Promisable } from 'type-fest';
2
+ import type { string_markdown, string_markdown_text, string_title } from '../../types/typeAliases';
3
+ import type { SearchEngine } from '../SearchEngine';
4
+ import type { SearchResult } from '../SearchResult';
5
+ /**
6
+ * A search engine implementation that uses the SerpApi to fetch Google search results.
7
+ *
8
+ * @private <- TODO: !!!! Export via some package
9
+ */
10
+ export declare class SerpSearchEngine implements SearchEngine {
11
+ get title(): string_title & string_markdown_text;
12
+ get description(): string_markdown;
13
+ checkConfiguration(): Promisable<void>;
14
+ search(query: string, options?: Record<string, unknown>): Promise<SearchResult[]>;
15
+ }
@@ -0,0 +1,21 @@
1
+ import type { SpeechRecognition, SpeechRecognitionEvent, SpeechRecognitionStartOptions, SpeechRecognitionState } from '../types/SpeechRecognition';
2
+ /**
3
+ * Speech recognition using Web Speech API `SpeechRecognition` available in modern browsers
4
+ *
5
+ * @public exported from `@promptbook/browser`
6
+ */
7
+ export declare class BrowserSpeechRecognition implements SpeechRecognition {
8
+ private recognition;
9
+ private callbacks;
10
+ private _state;
11
+ get state(): SpeechRecognitionState;
12
+ constructor();
13
+ $start(options?: SpeechRecognitionStartOptions): void;
14
+ $stop(): void;
15
+ subscribe(callback: (event: SpeechRecognitionEvent) => void): () => void;
16
+ private emit;
17
+ }
18
+ /**
19
+ * TODO: !!!! Search ACRY for `window` and put -> [🔵]
20
+ * Note: [🔵] Code in this file should never be published outside of `@promptbook/browser`
21
+ */
@@ -0,0 +1,32 @@
1
+ import type { SpeechRecognition, SpeechRecognitionEvent, SpeechRecognitionStartOptions, SpeechRecognitionState } from '../types/SpeechRecognition';
2
+ /**
3
+ * Options for OpenAiSpeechRecognition
4
+ */
5
+ export type OpenAiSpeechRecognitionOptions = {
6
+ /**
7
+ * OpenAI API base URL or proxy endpoint
8
+ * @default '/api/openai/v1'
9
+ */
10
+ readonly baseUrl?: string;
11
+ };
12
+ /**
13
+ * Speech recognition using OpenAI Whisper API to transcribe audio into text
14
+ *
15
+ * @private because it requires server-client communication with a proxy endpoint
16
+ *
17
+ * Note: This implementation uses a server-side proxy to avoid exposing the OpenAI API key on the client.
18
+ */
19
+ export declare class OpenAiSpeechRecognition implements SpeechRecognition {
20
+ private readonly options;
21
+ private mediaRecorder;
22
+ private audioChunks;
23
+ private callbacks;
24
+ private _state;
25
+ get state(): SpeechRecognitionState;
26
+ constructor(options?: OpenAiSpeechRecognitionOptions);
27
+ $start(options?: SpeechRecognitionStartOptions): Promise<void>;
28
+ $stop(): void;
29
+ private transcribe;
30
+ subscribe(callback: (event: SpeechRecognitionEvent) => void): () => void;
31
+ private emit;
32
+ }
@@ -29,12 +29,6 @@ export type CompletionModelRequirements = CommonModelRequirements & {
29
29
  * Maximum number of tokens that can be generated by the model
30
30
  */
31
31
  readonly maxTokens?: number;
32
- /**
33
- * Tools available for the model
34
- *
35
- * Note: [🚉] This is fully serializable as JSON
36
- */
37
- readonly tools?: LlmToolDefinition[];
38
32
  };
39
33
  /**
40
34
  * Model requirements for the chat variant
@@ -60,12 +54,6 @@ export type ChatModelRequirements = CommonModelRequirements & {
60
54
  * Maximum number of tokens that can be generated by the model
61
55
  */
62
56
  readonly maxTokens?: number;
63
- /**
64
- * Tools available for the model
65
- *
66
- * Note: [🚉] This is fully serializable as JSON
67
- */
68
- readonly tools?: LlmToolDefinition[];
69
57
  };
70
58
  /**
71
59
  * Model requirements for the image generation variant
@@ -135,6 +123,12 @@ export type CommonModelRequirements = {
135
123
  * Seed for the model
136
124
  */
137
125
  readonly seed?: number_seed;
126
+ /**
127
+ * Tools available for the model
128
+ *
129
+ * Note: [🚉] This is fully serializable as JSON
130
+ */
131
+ readonly tools?: LlmToolDefinition[];
138
132
  };
139
133
  /**
140
134
  * TODO: [🧠][🈁] `seed` should maybe be somewhere else (not in `ModelRequirements`) (similar that `user` identification is not here)
@@ -0,0 +1,58 @@
1
+ import type { string_language } from './typeAliases';
2
+ /**
3
+ * Interface for speech-to-text recognition
4
+ *
5
+ * @🚉 fully serializable as JSON
6
+ */
7
+ export type SpeechRecognition = {
8
+ /**
9
+ * Start the speech recognition
10
+ */
11
+ $start(options: SpeechRecognitionStartOptions): void;
12
+ /**
13
+ * Stop the speech recognition
14
+ */
15
+ $stop(): void;
16
+ /**
17
+ * Current state of the speech recognition
18
+ */
19
+ readonly state: SpeechRecognitionState;
20
+ /**
21
+ * Subscribe to speech recognition events
22
+ */
23
+ subscribe(callback: (event: SpeechRecognitionEvent) => void): () => void;
24
+ };
25
+ /**
26
+ * Options for starting speech recognition
27
+ */
28
+ export type SpeechRecognitionStartOptions = {
29
+ /**
30
+ * Language for speech recognition
31
+ * @default 'en-US'
32
+ */
33
+ readonly language?: string_language;
34
+ /**
35
+ * Whether to return interim results
36
+ * @default true
37
+ */
38
+ readonly interimResults?: boolean;
39
+ };
40
+ /**
41
+ * Current state of the speech recognition
42
+ */
43
+ export type SpeechRecognitionState = 'IDLE' | 'STARTING' | 'RECORDING' | 'TRANSCRIBING' | 'ERROR';
44
+ /**
45
+ * Event emitted by speech recognition
46
+ */
47
+ export type SpeechRecognitionEvent = {
48
+ readonly type: 'START';
49
+ } | {
50
+ readonly type: 'RESULT';
51
+ readonly text: string;
52
+ readonly isFinal: boolean;
53
+ } | {
54
+ readonly type: 'ERROR';
55
+ readonly message: string;
56
+ } | {
57
+ readonly type: 'STOP';
58
+ };
@@ -668,6 +668,10 @@ export type string_license_token = string_token;
668
668
  export type string_password = string;
669
669
  export type string_ssh_key = string;
670
670
  export type string_pgp_key = string;
671
+ /**
672
+ * Language as a string, e.g. 'en-US', 'cs-CZ', 'en'
673
+ */
674
+ export type string_language = string;
671
675
  /**
672
676
  * Semantic helper for `Date.toISOString()` result
673
677
  *
@@ -1,5 +1,4 @@
1
- import type { ExecCommandOptions } from './ExecCommandOptions';
2
- import type { ExecCommandOptionsAdvanced } from './ExecCommandOptions';
1
+ import type { ExecCommandOptions, ExecCommandOptionsAdvanced } from './ExecCommandOptions';
3
2
  /**
4
3
  * Normalize options for `execCommand` and `execCommands`
5
4
  *
@@ -7,6 +6,6 @@ import type { ExecCommandOptionsAdvanced } from './ExecCommandOptions';
7
6
  *
8
7
  * @private internal utility of `execCommand` and `execCommands`
9
8
  */
10
- export declare function $execCommandNormalizeOptions(options: ExecCommandOptions): Pick<ExecCommandOptionsAdvanced, 'command' | 'args' | 'cwd' | 'crashOnError' | 'timeout' | 'isVerbose'> & {
9
+ export declare function $execCommandNormalizeOptions(options: ExecCommandOptions): Pick<ExecCommandOptionsAdvanced, 'command' | 'args' | 'cwd' | 'crashOnError' | 'timeout' | 'isVerbose' | 'env'> & {
11
10
  humanReadableCommand: string;
12
11
  };
@@ -5,7 +5,7 @@ type RequiredAndOptional<TBase, TRequired extends keyof TBase, TOptional extends
5
5
  /**
6
6
  * Simple options for `execCommand`
7
7
  */
8
- export type ExecCommandOptions = string | RequiredAndOptional<ExecCommandOptionsAdvanced, 'command', 'args' | 'cwd' | 'crashOnError' | 'timeout' | 'isVerbose'>;
8
+ export type ExecCommandOptions = string | RequiredAndOptional<ExecCommandOptionsAdvanced, 'command', 'args' | 'cwd' | 'crashOnError' | 'timeout' | 'isVerbose' | 'env'>;
9
9
  /**
10
10
  * Advanced options for `execCommand`
11
11
  */
@@ -38,6 +38,12 @@ export type ExecCommandOptionsAdvanced = {
38
38
  * @default false
39
39
  */
40
40
  readonly isVerbose?: boolean;
41
+ /**
42
+ * Environment variables to pass to the command
43
+ *
44
+ * Note: These will be merged with process.env
45
+ */
46
+ readonly env?: Record<string, string>;
41
47
  };
42
48
  export {};
43
49
  /**
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Creates human-readable hash
3
+ *
4
+ * @public exported from `@promptbook/utils`
5
+ */
6
+ export declare function linguisticHash(input: string): Promise<string>;
@@ -0,0 +1,9 @@
1
+ import { chococake } from './really_any';
2
+ /**
3
+ * Just says that the dependency is imported, not used but should be kept
4
+ *
5
+ * @param dependenciesToKeep any values
6
+ * @returns void
7
+ * @private within the repository
8
+ */
9
+ export declare function keepImported(...dependenciesToKeep: ReadonlyArray<chococake>): void;
@@ -2,7 +2,6 @@
2
2
  * Just says that the type is used but `organize-imports-cli` does not recognize it.
3
3
  * [🤛] This is a workaround for the issue.
4
4
  *
5
- * @param value any values
6
5
  * @returns void
7
6
  * @private within the repository
8
7
  */
@@ -15,6 +15,10 @@ type GenerateBookBoilerplateOptions = PartialDeep<Omit<AgentBasicInformation, 'p
15
15
  * @default 'ENGLISH'
16
16
  */
17
17
  namePool?: string;
18
+ /**
19
+ * Initial rules for the agent
20
+ */
21
+ initialRules?: Array<string>;
18
22
  };
19
23
  /**
20
24
  * Generates boilerplate for a new agent book
@@ -5,10 +5,11 @@ import type { string_persona_description } from '../../types/typeAliases';
5
5
  * This function selects a random personality profile from a predefined pool
6
6
  * of common AI agent characteristics (e.g., friendly, professional, creative).
7
7
  *
8
+ * @param language - The language code (e.g. 'ENGLISH', 'CZECH')
8
9
  * @returns A string describing the agent's persona
9
10
  * @private internal helper function
10
11
  */
11
- export declare function $randomAgentPersona(): string_persona_description;
12
+ export declare function $randomAgentPersona(language?: string): string_persona_description;
12
13
  /**
13
14
  * TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
14
15
  */
@@ -0,0 +1,14 @@
1
+ import type { string_persona_description } from '../../types/typeAliases';
2
+ /**
3
+ * Generates a random agent rule description.
4
+ *
5
+ * This function selects a random rule
6
+ *
7
+ * @param language - The language code (e.g. 'ENGLISH', 'CZECH')
8
+ * @returns A string describing the agent's rule
9
+ * @private internal helper function
10
+ */
11
+ export declare function $randomAgentRule(language?: string): string_persona_description;
12
+ /**
13
+ * TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
14
+ */
@@ -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.104.0`).
18
+ * It follows semantic versioning (e.g., `0.105.0-9`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/vercel",
3
- "version": "0.105.0-0",
3
+ "version": "0.105.0-10",
4
4
  "description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -94,7 +94,7 @@
94
94
  "module": "./esm/index.es.js",
95
95
  "typings": "./esm/typings/src/_packages/vercel.index.d.ts",
96
96
  "peerDependencies": {
97
- "@promptbook/core": "0.105.0-0"
97
+ "@promptbook/core": "0.105.0-10"
98
98
  },
99
99
  "dependencies": {
100
100
  "colors": "1.4.0",
package/umd/index.umd.js CHANGED
@@ -23,7 +23,7 @@
23
23
  * @generated
24
24
  * @see https://github.com/webgptorg/promptbook
25
25
  */
26
- const PROMPTBOOK_ENGINE_VERSION = '0.105.0-0';
26
+ const PROMPTBOOK_ENGINE_VERSION = '0.105.0-10';
27
27
  /**
28
28
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
29
29
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1515,6 +1515,7 @@
1515
1515
  SEPARATOR: Color.fromHex('#cccccc'),
1516
1516
  COMMITMENT: Color.fromHex('#DA0F78'),
1517
1517
  PARAMETER: Color.fromHex('#8e44ad'),
1518
+ CODE_BLOCK: Color.fromHex('#7700ffff'),
1518
1519
  });
1519
1520
  // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1520
1521
  /**