@promptbook/wizard 0.103.0-55 → 0.103.0-66

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 (42) hide show
  1. package/esm/index.es.js +925 -446
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/src/_packages/components.index.d.ts +2 -2
  4. package/esm/typings/src/_packages/core.index.d.ts +6 -8
  5. package/esm/typings/src/_packages/types.index.d.ts +7 -1
  6. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +2 -1
  7. package/esm/typings/src/book-2.0/agent-source/createCommitmentRegex.d.ts +1 -1
  8. package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.d.ts +3 -0
  9. package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +6 -0
  10. package/esm/typings/src/book-components/Chat/LlmChat/LlmChatProps.d.ts +5 -0
  11. package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgentIntegration.d.ts +52 -0
  12. package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgentSeamlessIntegration.d.ts +14 -0
  13. package/esm/typings/src/book-components/icons/SendIcon.d.ts +3 -0
  14. package/esm/typings/src/commitments/CLOSED/CLOSED.d.ts +4 -0
  15. package/esm/typings/src/commitments/CLOSED/CLOSED.test.d.ts +4 -0
  16. package/esm/typings/src/commitments/META_COLOR/META_COLOR.d.ts +6 -0
  17. package/esm/typings/src/commitments/META_FONT/META_FONT.d.ts +42 -0
  18. package/esm/typings/src/commitments/USE/USE.d.ts +53 -0
  19. package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +42 -0
  20. package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.test.d.ts +1 -0
  21. package/esm/typings/src/commitments/{IMPORTANT/IMPORTANT.d.ts → USE_MCP/USE_MCP.d.ts} +16 -5
  22. package/esm/typings/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +38 -0
  23. package/esm/typings/src/commitments/_base/BaseCommitmentDefinition.d.ts +6 -0
  24. package/esm/typings/src/commitments/index.d.ts +93 -1
  25. package/esm/typings/src/llm-providers/agent/Agent.d.ts +3 -1
  26. package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
  27. package/esm/typings/src/playground/playground.d.ts +3 -0
  28. package/esm/typings/src/types/typeAliases.d.ts +6 -0
  29. package/esm/typings/src/utils/color/Color.d.ts +9 -1
  30. package/esm/typings/src/utils/color/css-colors.d.ts +1 -0
  31. package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +6 -0
  32. package/esm/typings/src/utils/random/CzechNamePool.d.ts +7 -0
  33. package/esm/typings/src/utils/random/EnglishNamePool.d.ts +7 -0
  34. package/esm/typings/src/utils/random/NamePool.d.ts +17 -0
  35. package/esm/typings/src/utils/random/getNamePool.d.ts +10 -0
  36. package/esm/typings/src/version.d.ts +1 -1
  37. package/package.json +3 -3
  38. package/umd/index.umd.js +891 -412
  39. package/umd/index.umd.js.map +1 -1
  40. package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgent.d.ts +0 -29
  41. package/esm/typings/src/commitments/registry.d.ts +0 -68
  42. package/esm/typings/src/playground/playground1.d.ts +0 -2
@@ -52,7 +52,7 @@ import { ResetIcon } from '../book-components/icons/ResetIcon';
52
52
  import { SaveIcon } from '../book-components/icons/SaveIcon';
53
53
  import { SendIcon } from '../book-components/icons/SendIcon';
54
54
  import { TemplateIcon } from '../book-components/icons/TemplateIcon';
55
- import { PromptbookAgent } from '../book-components/PromptbookAgent/PromptbookAgent';
55
+ import { PromptbookAgentIntegration } from '../book-components/PromptbookAgent/PromptbookAgentIntegration';
56
56
  import { BrandedQrCode } from '../book-components/Qr/BrandedQrCode';
57
57
  import { GenericQrCode } from '../book-components/Qr/GenericQrCode';
58
58
  import { PromptbookQrCode } from '../book-components/Qr/PromptbookQrCode';
@@ -112,7 +112,7 @@ export { ResetIcon };
112
112
  export { SaveIcon };
113
113
  export { SendIcon };
114
114
  export { TemplateIcon };
115
- export { PromptbookAgent };
115
+ export { PromptbookAgentIntegration };
116
116
  export { BrandedQrCode };
117
117
  export { GenericQrCode };
118
118
  export { PromptbookQrCode };
@@ -21,13 +21,12 @@ import { pipelineCollectionToJson } from '../collection/pipeline-collection/pipe
21
21
  import { createEmptyAgentModelRequirements } from '../commitments/_base/createEmptyAgentModelRequirements';
22
22
  import { createBasicAgentModelRequirements } from '../commitments/_base/createEmptyAgentModelRequirements';
23
23
  import { NotYetImplementedCommitmentDefinition } from '../commitments/_base/NotYetImplementedCommitmentDefinition';
24
- import { registerCommitment } from '../commitments/registry';
25
- import { getCommitmentDefinition } from '../commitments/registry';
26
- import { getAllCommitmentDefinitions } from '../commitments/registry';
27
- import { getAllCommitmentTypes } from '../commitments/registry';
28
- import { isCommitmentSupported } from '../commitments/registry';
29
- import type { GroupedCommitmentDefinition } from '../commitments/registry';
30
- import { getGroupedCommitmentDefinitions } from '../commitments/registry';
24
+ import { getCommitmentDefinition } from '../commitments/index';
25
+ import { getAllCommitmentDefinitions } from '../commitments/index';
26
+ import { getAllCommitmentTypes } from '../commitments/index';
27
+ import { isCommitmentSupported } from '../commitments/index';
28
+ import type { GroupedCommitmentDefinition } from '../commitments/index';
29
+ import { getGroupedCommitmentDefinitions } from '../commitments/index';
31
30
  import { NAME } from '../config';
32
31
  import { ADMIN_EMAIL } from '../config';
33
32
  import { ADMIN_GITHUB_NAME } from '../config';
@@ -217,7 +216,6 @@ export { pipelineCollectionToJson };
217
216
  export { createEmptyAgentModelRequirements };
218
217
  export { createBasicAgentModelRequirements };
219
218
  export { NotYetImplementedCommitmentDefinition };
220
- export { registerCommitment };
221
219
  export { getCommitmentDefinition };
222
220
  export { getAllCommitmentDefinitions };
223
221
  export { getAllCommitmentTypes };
@@ -57,7 +57,7 @@ import type { InstrumentCommand } from '../commands/X_INSTRUMENT/InstrumentComma
57
57
  import type { BookCommitment } from '../commitments/_base/BookCommitment';
58
58
  import type { CommitmentDefinition } from '../commitments/_base/CommitmentDefinition';
59
59
  import type { ParsedCommitment } from '../commitments/_base/ParsedCommitment';
60
- import type { GroupedCommitmentDefinition } from '../commitments/registry';
60
+ import type { GroupedCommitmentDefinition } from '../commitments/index';
61
61
  import type { PrettifyOptions } from '../conversion/prettify/PrettifyOptions';
62
62
  import type { renderPipelineMermaidOptions } from '../conversion/prettify/renderPipelineMermaidOptions';
63
63
  import type { CallbackInterfaceToolsOptions } from '../dialogs/callback/CallbackInterfaceToolsOptions';
@@ -245,6 +245,7 @@ import type { string_typescript } from '../types/typeAliases';
245
245
  import type { string_json } from '../types/typeAliases';
246
246
  import type { string_css_class } from '../types/typeAliases';
247
247
  import type { string_css_property } from '../types/typeAliases';
248
+ import type { string_fonts } from '../types/typeAliases';
248
249
  import type { string_css_value } from '../types/typeAliases';
249
250
  import type { string_css_selector } from '../types/typeAliases';
250
251
  import type { string_url } from '../types/typeAliases';
@@ -352,6 +353,8 @@ import type { empty_object } from '../utils/organization/empty_object';
352
353
  import type { really_any } from '../utils/organization/really_any';
353
354
  import type { TODO_any } from '../utils/organization/TODO_any';
354
355
  import type { RandomFullnameWithColorResult } from '../utils/random/$randomFullnameWithColor';
356
+ import type { GenerateNameResult } from '../utils/random/NamePool';
357
+ import type { NamePool } from '../utils/random/NamePool';
355
358
  import type { CheckSerializableAsJsonOptions } from '../utils/serialization/checkSerializableAsJson';
356
359
  import type { ExportJsonOptions } from '../utils/serialization/exportJson';
357
360
  import type { ITakeChain } from '../utils/take/interfaces/ITakeChain';
@@ -603,6 +606,7 @@ export type { string_typescript };
603
606
  export type { string_json };
604
607
  export type { string_css_class };
605
608
  export type { string_css_property };
609
+ export type { string_fonts };
606
610
  export type { string_css_value };
607
611
  export type { string_css_selector };
608
612
  export type { string_url };
@@ -710,6 +714,8 @@ export type { empty_object };
710
714
  export type { really_any };
711
715
  export type { TODO_any };
712
716
  export type { RandomFullnameWithColorResult };
717
+ export type { GenerateNameResult };
718
+ export type { NamePool };
713
719
  export type { CheckSerializableAsJsonOptions };
714
720
  export type { ExportJsonOptions };
715
721
  export type { ITakeChain };
@@ -1,4 +1,4 @@
1
- import type { string_agent_hash, string_agent_name, string_agent_url, string_color, string_url_image } from '../../types/typeAliases';
1
+ import type { string_agent_hash, string_agent_name, string_agent_url, string_color, string_fonts, 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 @
@@ -51,6 +51,7 @@ export type AgentBasicInformation = {
51
51
  meta: {
52
52
  fullname?: string;
53
53
  image?: string_url_image;
54
+ font?: string_fonts;
54
55
  color?: string_color;
55
56
  [key: string]: string | undefined;
56
57
  };
@@ -7,7 +7,7 @@ import type { BookCommitment } from '../../commitments/_base/BookCommitment';
7
7
  *
8
8
  * @private - TODO: [🧠] Maybe should be public?
9
9
  */
10
- export declare function createCommitmentRegex(commitment: BookCommitment, aliases?: BookCommitment[]): RegExp;
10
+ export declare function createCommitmentRegex(commitment: BookCommitment, aliases?: BookCommitment[], requiresContent?: boolean): RegExp;
11
11
  /**
12
12
  * Generates a regex pattern to match a specific commitment type
13
13
  *
@@ -12,3 +12,6 @@ import type { AgentChatProps } from './AgentChatProps';
12
12
  * @public exported from `@promptbook/components`
13
13
  */
14
14
  export declare function AgentChat(props: AgentChatProps): import("react/jsx-runtime").JSX.Element;
15
+ /**
16
+ * TODO: !!!! Search ACRY ".meta.color" and make sure that we count that we count color can be array
17
+ */
@@ -3,6 +3,8 @@ import type { Promisable } from 'type-fest';
3
3
  import type { string_chat_format_name } from '../save/_common/string_chat_format_name';
4
4
  import type { ChatMessage } from '../types/ChatMessage';
5
5
  import type { ChatParticipant } from '../types/ChatParticipant';
6
+ import { string_color } from '../../../types/typeAliases';
7
+ import { Color } from '../../../_packages/color.index';
6
8
  /**
7
9
  * @public exported from `@promptbook/components`
8
10
  */
@@ -87,6 +89,10 @@ export type ChatProps = {
87
89
  * instead of its default position within the chat.
88
90
  */
89
91
  readonly actionsContainer?: HTMLElement | null;
92
+ /**
93
+ * Color of the action buttons (send, reset, voice, etc.)
94
+ */
95
+ readonly buttonColor?: string_color | Color;
90
96
  /**
91
97
  * Optional CSS class name which will be added to root <div/> element
92
98
  */
@@ -52,4 +52,9 @@ export type LlmChatProps = Omit<ChatProps, 'messages' | 'onMessage' | 'onChange'
52
52
  * @default 'ASSISTANT'
53
53
  */
54
54
  readonly llmParticipantName?: id;
55
+ /**
56
+ * Optional message to be automatically sent as if the user typed it.
57
+ * This is useful for seamless transitions from other pages.
58
+ */
59
+ readonly autoExecuteMessage?: string;
55
60
  };
@@ -0,0 +1,52 @@
1
+ import { CSSProperties } from 'react';
2
+ import type { AgentBasicInformation } from '../../book-2.0/agent-source/AgentBasicInformation';
3
+ import { string_css_class } from '../../types/typeAliases';
4
+ /**
5
+ * @private props of PromptbookAgentIntegration component
6
+ */
7
+ export type PromptbookAgentIntegrationProps = {
8
+ /**
9
+ * URL of the agent to connect to
10
+ *
11
+ * @example "http://s6.ptbk.io/benjamin-white"
12
+ */
13
+ readonly agentUrl: string;
14
+ /**
15
+ * Form of the agent integration
16
+ *
17
+ * @default `seamless`
18
+ *
19
+ * - `seamless` Default, current behavior
20
+ * - `book` Show the Agent as a book in BookEditor
21
+ * - `chat` Show the Agent as a chat which is not floating but as AgentChat component
22
+ * - `profile` Show the Agent as a profile using
23
+ */
24
+ readonly formfactor?: 'seamless' | 'book' | 'chat' | 'profile';
25
+ /**
26
+ * Optional metadata to show before the agent is connected
27
+ * Or to override the agent metadata if the agent does not provide it
28
+ */
29
+ readonly meta?: Partial<AgentBasicInformation['meta']>;
30
+ /**
31
+ * Callback when the window is opened or closed
32
+ */
33
+ onOpenChange?(isOpen: boolean): void;
34
+ /**
35
+ * Optional CSS class name which will be added to root element
36
+ */
37
+ readonly className?: string_css_class;
38
+ /**
39
+ * Optional CSS style which will be added to root element
40
+ */
41
+ readonly style?: CSSProperties;
42
+ };
43
+ /**
44
+ * Renders a floating agent button that opens a chat window with the remote agent.
45
+ *
46
+ * @public exported from `@promptbook/components`
47
+ */
48
+ export declare function PromptbookAgentIntegration(props: PromptbookAgentIntegrationProps): import("react/jsx-runtime").JSX.Element | undefined;
49
+ /**
50
+ * TODO: !!! Load the full branding
51
+ * TODO: !!! <promptbook-agent> element
52
+ */
@@ -0,0 +1,14 @@
1
+ import { PromptbookAgentIntegrationProps } from './PromptbookAgentIntegration';
2
+ type PromptbookAgentSeamlessIntegrationProps = Omit<PromptbookAgentIntegrationProps, 'formfactor'>;
3
+ /**
4
+ * Renders a floating agent button that opens a chat window with the remote agent.
5
+ *
6
+ * @private component of PromptbookAgentIntegration
7
+ */
8
+ export declare function PromptbookAgentSeamlessIntegration(props: PromptbookAgentSeamlessIntegrationProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ /**
11
+ * TODO: !!!! Use iframe here instead of implementing the chat directly, allow to switch between seamless and iframe mode via `isIframeUsed` prop
12
+ * TODO: !!! Load the full branding
13
+ * TODO: !!! <promptbook-agent> element
14
+ */
@@ -6,3 +6,6 @@
6
6
  export declare const SendIcon: ({ size }: {
7
7
  size: number;
8
8
  }) => import("react/jsx-runtime").JSX.Element;
9
+ /**
10
+ * TODO: !!!! Search ACRY for "currentColor", it probably does not work and make no sense to have it in project
11
+ */
@@ -16,6 +16,10 @@ import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
16
16
  */
17
17
  export declare class ClosedCommitmentDefinition extends BaseCommitmentDefinition<'CLOSED'> {
18
18
  constructor();
19
+ /**
20
+ * The `CLOSED` commitment is standalone.
21
+ */
22
+ get requiresContent(): boolean;
19
23
  /**
20
24
  * Short one-line description of CLOSED.
21
25
  */
@@ -0,0 +1,4 @@
1
+ export {};
2
+ /**
3
+ * TODO: !!!! Must be last commitment to take effect
4
+ */
@@ -14,6 +14,12 @@ import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
14
14
  * META COLOR #00ff00
15
15
  * ```
16
16
  *
17
+ * You can also specify multiple colors separated by comma:
18
+ *
19
+ * ```book
20
+ * META COLOR #ff0000, #00ff00, #0000ff
21
+ * ```
22
+ *
17
23
  * @private [🪔] Maybe export the commitments through some package
18
24
  */
19
25
  export declare class MetaColorCommitmentDefinition extends BaseCommitmentDefinition<'META COLOR'> {
@@ -0,0 +1,42 @@
1
+ import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
2
+ import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
3
+ /**
4
+ * META FONT commitment definition
5
+ *
6
+ * The META FONT commitment sets the agent's font.
7
+ * This commitment is special because it doesn't affect the system message,
8
+ * but is handled separately in the parsing logic.
9
+ *
10
+ * Example usage in agent source:
11
+ *
12
+ * ```book
13
+ * META FONT Poppins, Arial, sans-serif
14
+ * META FONT Roboto
15
+ * ```
16
+ *
17
+ * @private [🪔] Maybe export the commitments through some package
18
+ */
19
+ export declare class MetaFontCommitmentDefinition extends BaseCommitmentDefinition<'META FONT'> {
20
+ constructor();
21
+ /**
22
+ * Short one-line description of META FONT.
23
+ */
24
+ get description(): string;
25
+ /**
26
+ * Icon for this commitment.
27
+ */
28
+ get icon(): string;
29
+ /**
30
+ * Markdown documentation for META FONT commitment.
31
+ */
32
+ get documentation(): string;
33
+ applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
34
+ /**
35
+ * Extracts the font from the content
36
+ * This is used by the parsing logic
37
+ */
38
+ extractProfileFont(content: string): string | null;
39
+ }
40
+ /**
41
+ * Note: [💞] Ignore a discrepancy between file name and entity name
42
+ */
@@ -0,0 +1,53 @@
1
+ import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
2
+ import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
3
+ /**
4
+ * USE commitment definition
5
+ *
6
+ * The USE commitment indicates that the agent should utilize specific tools or capabilities
7
+ * to access and interact with external systems when necessary.
8
+ *
9
+ * Supported USE types:
10
+ * - USE BROWSER: Enables the agent to use a web browser tool
11
+ * - USE SEARCH ENGINE (future): Enables search engine access
12
+ * - USE FILE SYSTEM (future): Enables file system operations
13
+ * - USE MCP (future): Enables MCP server connections
14
+ *
15
+ * The content following the USE commitment is ignored (similar to NOTE).
16
+ *
17
+ * Example usage in agent source:
18
+ *
19
+ * ```book
20
+ * USE BROWSER
21
+ * USE SEARCH ENGINE
22
+ * ```
23
+ *
24
+ * @private [🪔] Maybe export the commitments through some package
25
+ */
26
+ export declare class UseCommitmentDefinition extends BaseCommitmentDefinition<`USE${string}`> {
27
+ constructor();
28
+ /**
29
+ * Short one-line description of USE commitments.
30
+ */
31
+ get description(): string;
32
+ /**
33
+ * Icon for this commitment.
34
+ */
35
+ get icon(): string;
36
+ /**
37
+ * Markdown documentation for USE commitment.
38
+ */
39
+ get documentation(): string;
40
+ applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
41
+ /**
42
+ * Extracts the tool type from the USE commitment
43
+ * This is used by the parsing logic
44
+ */
45
+ extractToolType(content: string): string | null;
46
+ /**
47
+ * Checks if this is a known USE type
48
+ */
49
+ isKnownUseType(useType: string): boolean;
50
+ }
51
+ /**
52
+ * Note: [💞] Ignore a discrepancy between file name and entity name
53
+ */
@@ -0,0 +1,42 @@
1
+ import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
2
+ import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
3
+ /**
4
+ * USE BROWSER commitment definition
5
+ *
6
+ * The `USE BROWSER` commitment indicates that the agent should utilize a web browser tool
7
+ * to access and retrieve up-to-date information from the internet when necessary.
8
+ *
9
+ * The content following `USE BROWSER` is ignored (similar to NOTE).
10
+ *
11
+ * Example usage in agent source:
12
+ *
13
+ * ```book
14
+ * USE BROWSER
15
+ * USE BROWSER This will be ignored
16
+ * ```
17
+ *
18
+ * @private [🪔] Maybe export the commitments through some package
19
+ */
20
+ export declare class UseBrowserCommitmentDefinition extends BaseCommitmentDefinition<'USE BROWSER'> {
21
+ constructor();
22
+ /**
23
+ * The `USE BROWSER` commitment is standalone.
24
+ */
25
+ get requiresContent(): boolean;
26
+ /**
27
+ * Short one-line description of USE BROWSER.
28
+ */
29
+ get description(): string;
30
+ /**
31
+ * Icon for this commitment.
32
+ */
33
+ get icon(): string;
34
+ /**
35
+ * Markdown documentation for USE BROWSER commitment.
36
+ */
37
+ get documentation(): string;
38
+ applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
39
+ }
40
+ /**
41
+ * Note: [💞] Ignore a discrepancy between file name and entity name
42
+ */
@@ -1,23 +1,34 @@
1
1
  import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
2
2
  import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
3
3
  /**
4
- * IMPORTANT co-commitment definition
4
+ * USE MCP commitment definition
5
5
  *
6
- * The IMPORTANT co-commitment modifies another commitment to emphasize its importance.
7
- * It is typically used with RULE to mark it as critical.
6
+ * The `USE MCP` commitment allows to specify an MCP server URL which the agent will connect to
7
+ * for retrieving additional instructions and actions.
8
+ *
9
+ * The content following `USE MCP` is the URL of the MCP server.
8
10
  *
9
11
  * Example usage in agent source:
10
12
  *
11
13
  * ```book
12
- * IMPORTANT RULE Never provide medical advice
14
+ * USE MCP http://mcp-server-url.com
13
15
  * ```
14
16
  *
15
17
  * @private [🪔] Maybe export the commitments through some package
16
18
  */
17
- export declare class ImportantCommitmentDefinition extends BaseCommitmentDefinition<'IMPORTANT'> {
19
+ export declare class UseMcpCommitmentDefinition extends BaseCommitmentDefinition<'USE MCP'> {
18
20
  constructor();
21
+ /**
22
+ * Short one-line description of USE MCP.
23
+ */
19
24
  get description(): string;
25
+ /**
26
+ * Icon for this commitment.
27
+ */
20
28
  get icon(): string;
29
+ /**
30
+ * Markdown documentation for USE MCP commitment.
31
+ */
21
32
  get documentation(): string;
22
33
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
23
34
  }
@@ -0,0 +1,38 @@
1
+ import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
2
+ import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
3
+ /**
4
+ * USE SEARCH ENGINE commitment definition
5
+ *
6
+ * The `USE SEARCH ENGINE` commitment indicates that the agent should utilize a search engine tool
7
+ * to access and retrieve up-to-date information from the internet when necessary.
8
+ *
9
+ * The content following `USE SEARCH ENGINE` is ignored (similar to NOTE).
10
+ *
11
+ * Example usage in agent source:
12
+ *
13
+ * ```book
14
+ * USE SEARCH ENGINE
15
+ * USE SEARCH ENGINE This will be ignored
16
+ * ```
17
+ *
18
+ * @private [🪔] Maybe export the commitments through some package
19
+ */
20
+ export declare class UseSearchEngineCommitmentDefinition extends BaseCommitmentDefinition<'USE SEARCH ENGINE'> {
21
+ constructor();
22
+ /**
23
+ * Short one-line description of USE SEARCH ENGINE.
24
+ */
25
+ get description(): string;
26
+ /**
27
+ * Icon for this commitment.
28
+ */
29
+ get icon(): string;
30
+ /**
31
+ * Markdown documentation for USE SEARCH ENGINE commitment.
32
+ */
33
+ get documentation(): string;
34
+ applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
35
+ }
36
+ /**
37
+ * Note: [💞] Ignore a discrepancy between file name and entity name
38
+ */
@@ -15,6 +15,12 @@ export declare abstract class BaseCommitmentDefinition<TBookCommitment extends s
15
15
  * Must be implemented by each concrete commitment.
16
16
  */
17
17
  abstract get description(): string;
18
+ /**
19
+ * Whether this commitment requires content.
20
+ * If true, regex will match only if there is content after the commitment keyword.
21
+ * If false, regex will match even if there is no content.
22
+ */
23
+ get requiresContent(): boolean;
18
24
  /**
19
25
  * Icon for this commitment.
20
26
  * It should be a single emoji.
@@ -1 +1,93 @@
1
- export * from './registry';
1
+ import type { BookCommitment } from './_base/BookCommitment';
2
+ import type { CommitmentDefinition } from './_base/CommitmentDefinition';
3
+ import { ActionCommitmentDefinition } from './ACTION/ACTION';
4
+ import { ClosedCommitmentDefinition } from './CLOSED/CLOSED';
5
+ import { ComponentCommitmentDefinition } from './COMPONENT/COMPONENT';
6
+ import { DeleteCommitmentDefinition } from './DELETE/DELETE';
7
+ import { FormatCommitmentDefinition } from './FORMAT/FORMAT';
8
+ import { FromCommitmentDefinition } from './FROM/FROM';
9
+ import { GoalCommitmentDefinition } from './GOAL/GOAL';
10
+ import { KnowledgeCommitmentDefinition } from './KNOWLEDGE/KNOWLEDGE';
11
+ import { LanguageCommitmentDefinition } from './LANGUAGE/LANGUAGE';
12
+ import { MemoryCommitmentDefinition } from './MEMORY/MEMORY';
13
+ import { AgentMessageCommitmentDefinition } from './MESSAGE/AgentMessageCommitmentDefinition';
14
+ import { InitialMessageCommitmentDefinition } from './MESSAGE/InitialMessageCommitmentDefinition';
15
+ import { MessageCommitmentDefinition } from './MESSAGE/MESSAGE';
16
+ import { UserMessageCommitmentDefinition } from './MESSAGE/UserMessageCommitmentDefinition';
17
+ import { MetaCommitmentDefinition } from './META/META';
18
+ import { MetaColorCommitmentDefinition } from './META_COLOR/META_COLOR';
19
+ import { MetaFontCommitmentDefinition } from './META_FONT/META_FONT';
20
+ import { MetaImageCommitmentDefinition } from './META_IMAGE/META_IMAGE';
21
+ import { MetaLinkCommitmentDefinition } from './META_LINK/META_LINK';
22
+ import { ModelCommitmentDefinition } from './MODEL/MODEL';
23
+ import { NoteCommitmentDefinition } from './NOTE/NOTE';
24
+ import { OpenCommitmentDefinition } from './OPEN/OPEN';
25
+ import { PersonaCommitmentDefinition } from './PERSONA/PERSONA';
26
+ import { RuleCommitmentDefinition } from './RULE/RULE';
27
+ import { SampleCommitmentDefinition } from './SAMPLE/SAMPLE';
28
+ import { ScenarioCommitmentDefinition } from './SCENARIO/SCENARIO';
29
+ import { StyleCommitmentDefinition } from './STYLE/STYLE';
30
+ import { UseCommitmentDefinition } from './USE/USE';
31
+ import { UseBrowserCommitmentDefinition } from './USE_BROWSER/USE_BROWSER';
32
+ import { UseMcpCommitmentDefinition } from './USE_MCP/USE_MCP';
33
+ import { UseSearchEngineCommitmentDefinition } from './USE_SEARCH_ENGINE/USE_SEARCH_ENGINE';
34
+ import { NotYetImplementedCommitmentDefinition } from './_base/NotYetImplementedCommitmentDefinition';
35
+ /**
36
+ * Registry of all available commitment definitions
37
+ * This array contains instances of all commitment definitions
38
+ * This is the single source of truth for all commitments in the system
39
+ *
40
+ * @private Use functions to access commitments instead of this array directly
41
+ */
42
+ export declare const COMMITMENT_REGISTRY: readonly [PersonaCommitmentDefinition, PersonaCommitmentDefinition, KnowledgeCommitmentDefinition, MemoryCommitmentDefinition, MemoryCommitmentDefinition, StyleCommitmentDefinition, StyleCommitmentDefinition, RuleCommitmentDefinition, RuleCommitmentDefinition, LanguageCommitmentDefinition, LanguageCommitmentDefinition, SampleCommitmentDefinition, SampleCommitmentDefinition, FormatCommitmentDefinition, FormatCommitmentDefinition, FromCommitmentDefinition, ModelCommitmentDefinition, ModelCommitmentDefinition, ActionCommitmentDefinition, ActionCommitmentDefinition, ComponentCommitmentDefinition, MetaImageCommitmentDefinition, MetaColorCommitmentDefinition, MetaFontCommitmentDefinition, MetaLinkCommitmentDefinition, MetaCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, GoalCommitmentDefinition, GoalCommitmentDefinition, InitialMessageCommitmentDefinition, UserMessageCommitmentDefinition, AgentMessageCommitmentDefinition, MessageCommitmentDefinition, MessageCommitmentDefinition, ScenarioCommitmentDefinition, ScenarioCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, OpenCommitmentDefinition, ClosedCommitmentDefinition, UseBrowserCommitmentDefinition, UseSearchEngineCommitmentDefinition, UseMcpCommitmentDefinition, UseCommitmentDefinition, NotYetImplementedCommitmentDefinition<"EXPECT">, NotYetImplementedCommitmentDefinition<"BEHAVIOUR">, NotYetImplementedCommitmentDefinition<"BEHAVIOURS">, NotYetImplementedCommitmentDefinition<"AVOID">, NotYetImplementedCommitmentDefinition<"AVOIDANCE">, NotYetImplementedCommitmentDefinition<"CONTEXT">];
43
+ /**
44
+ * Gets a commitment definition by its type
45
+ * @param type The commitment type to look up
46
+ * @returns The commitment definition or null if not found
47
+ *
48
+ * @public exported from `@promptbook/core`
49
+ */
50
+ export declare function getCommitmentDefinition(type: BookCommitment): CommitmentDefinition | null;
51
+ /**
52
+ * Gets all available commitment definitions
53
+ * @returns Array of all commitment definitions
54
+ *
55
+ * @public exported from `@promptbook/core`
56
+ */
57
+ export declare function getAllCommitmentDefinitions(): ReadonlyArray<CommitmentDefinition>;
58
+ /**
59
+ * Gets all available commitment types
60
+ * @returns Array of all commitment types
61
+ *
62
+ * @public exported from `@promptbook/core`
63
+ */
64
+ export declare function getAllCommitmentTypes(): ReadonlyArray<BookCommitment>;
65
+ /**
66
+ * Checks if a commitment type is supported
67
+ * @param type The commitment type to check
68
+ * @returns True if the commitment type is supported
69
+ *
70
+ * @public exported from `@promptbook/core`
71
+ */
72
+ export declare function isCommitmentSupported(type: BookCommitment): boolean;
73
+ /**
74
+ * Grouped commitment definition
75
+ *
76
+ * @public exported from `@promptbook/core`
77
+ */
78
+ export type GroupedCommitmentDefinition = {
79
+ primary: CommitmentDefinition;
80
+ aliases: string[];
81
+ };
82
+ /**
83
+ * Gets all commitment definitions grouped by their aliases
84
+ *
85
+ * @returns Array of grouped commitment definitions
86
+ *
87
+ * @public exported from `@promptbook/core`
88
+ */
89
+ export declare function getGroupedCommitmentDefinitions(): ReadonlyArray<GroupedCommitmentDefinition>;
90
+ /**
91
+ * TODO: [🧠] Maybe create through standardized $register
92
+ * Note: [💞] Ignore a discrepancy between file name and entity name
93
+ */
@@ -4,7 +4,7 @@ import type { string_book } from '../../book-2.0/agent-source/string_book';
4
4
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
5
5
  import type { ChatPromptResult } from '../../execution/PromptResult';
6
6
  import type { Prompt } from '../../types/Prompt';
7
- import type { string_agent_hash, string_agent_name, string_agent_url, string_url_image } from '../../types/typeAliases';
7
+ import type { string_agent_hash, string_agent_name, string_agent_url, string_color, string_fonts, string_url_image } from '../../types/typeAliases';
8
8
  import { AgentLlmExecutionTools } from './AgentLlmExecutionTools';
9
9
  import type { AgentOptions } from './AgentOptions';
10
10
  /**
@@ -48,6 +48,8 @@ export declare class Agent extends AgentLlmExecutionTools implements LlmExecutio
48
48
  fullname?: string;
49
49
  image?: string_url_image;
50
50
  link?: string;
51
+ font?: string_fonts;
52
+ color?: string_color;
51
53
  title?: string;
52
54
  description?: string;
53
55
  [key: string]: string | undefined;
@@ -1,4 +1,4 @@
1
- import type { PipelineCollection } from '../../collection/pipeline-collection/pipeline-collection/PipelineCollection';
1
+ import type { PipelineCollection } from '../../collection/pipeline-collection/PipelineCollection';
2
2
  /**
3
3
  * Get pipeline collection for Untitled Promptbook project
4
4
  *
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -330,6 +330,12 @@ export type string_css_class = string;
330
330
  * For example `border`
331
331
  */
332
332
  export type string_css_property = string;
333
+ /**
334
+ * Semantic helper
335
+ *
336
+ * For example `"Arial, sans-serif"`
337
+ */
338
+ export type string_fonts = string;
333
339
  /**
334
340
  * Semantic helper
335
341
  *