@promptbook/wizard 0.100.0-4 → 0.100.0-41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/esm/index.es.js +424 -87
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/components.index.d.ts +14 -0
- package/esm/typings/src/_packages/core.index.d.ts +26 -0
- package/esm/typings/src/_packages/types.index.d.ts +34 -0
- package/esm/typings/src/book-2.0/agent-source/parseAgentSource.d.ts +30 -0
- package/esm/typings/src/book-2.0/agent-source/parseAgentSource.test.d.ts +1 -0
- package/esm/typings/src/book-2.0/agent-source/string_book.d.ts +26 -0
- package/esm/typings/src/book-2.0/commitments/ACTION/ACTION.d.ts +38 -0
- package/esm/typings/src/book-2.0/commitments/FORMAT/FORMAT.d.ts +39 -0
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/FrontendRAGService.d.ts +48 -0
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/KNOWLEDGE.d.ts +51 -0
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/RAGService.d.ts +54 -0
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/processors/BaseKnowledgeProcessor.d.ts +45 -0
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/processors/PdfProcessor.d.ts +31 -0
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/processors/ProcessorFactory.d.ts +23 -0
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/processors/TextProcessor.d.ts +18 -0
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/types.d.ts +56 -0
- package/esm/typings/src/book-2.0/commitments/KNOWLEDGE/utils/ragHelper.d.ts +34 -0
- package/esm/typings/src/book-2.0/commitments/META_IMAGE/META_IMAGE.d.ts +44 -0
- package/esm/typings/src/book-2.0/commitments/META_LINK/META_LINK.d.ts +56 -0
- package/esm/typings/src/book-2.0/commitments/MODEL/MODEL.d.ts +39 -0
- package/esm/typings/src/book-2.0/commitments/NOTE/NOTE.d.ts +49 -0
- package/esm/typings/src/book-2.0/commitments/PERSONA/PERSONA.d.ts +46 -0
- package/esm/typings/src/book-2.0/commitments/RULE/RULE.d.ts +44 -0
- package/esm/typings/src/book-2.0/commitments/SAMPLE/SAMPLE.d.ts +44 -0
- package/esm/typings/src/book-2.0/commitments/STYLE/STYLE.d.ts +38 -0
- package/esm/typings/src/book-2.0/commitments/_base/BaseCommitmentDefinition.d.ts +52 -0
- package/esm/typings/src/book-2.0/commitments/_base/BookCommitment.d.ts +5 -0
- package/esm/typings/src/book-2.0/commitments/_base/CommitmentDefinition.d.ts +48 -0
- package/esm/typings/src/book-2.0/commitments/_base/NotYetImplementedCommitmentDefinition.d.ts +22 -0
- package/esm/typings/src/book-2.0/commitments/_base/createEmptyAgentModelRequirements.d.ts +19 -0
- package/esm/typings/src/book-2.0/commitments/_misc/AgentModelRequirements.d.ts +37 -0
- package/esm/typings/src/book-2.0/commitments/_misc/AgentSourceParseResult.d.ts +18 -0
- package/esm/typings/src/book-2.0/commitments/_misc/ParsedCommitment.d.ts +22 -0
- package/esm/typings/src/book-2.0/commitments/_misc/createAgentModelRequirements.d.ts +61 -0
- package/esm/typings/src/book-2.0/commitments/_misc/createAgentModelRequirementsWithCommitments.d.ts +35 -0
- package/esm/typings/src/book-2.0/commitments/_misc/createCommitmentRegex.d.ts +20 -0
- package/esm/typings/src/book-2.0/commitments/_misc/parseAgentSourceWithCommitments.d.ts +24 -0
- package/esm/typings/src/book-2.0/commitments/_misc/removeCommentsFromSystemMessage.d.ts +11 -0
- package/esm/typings/src/book-2.0/commitments/index.d.ts +56 -0
- package/esm/typings/src/book-2.0/utils/profileImageUtils.d.ts +39 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarChip/AvatarChip.d.ts +35 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarChip/AvatarChipFromSource.d.ts +21 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarChip/index.d.ts +2 -0
- package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +35 -0
- package/esm/typings/src/book-components/BookEditor/config.d.ts +10 -0
- package/esm/typings/src/book-components/BookEditor/injectCssModuleIntoShadowRoot.d.ts +11 -0
- package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +7 -0
- package/esm/typings/src/book-components/_common/react-utils/collectCssTextsForClass.d.ts +7 -0
- package/esm/typings/src/book-components/_common/react-utils/escapeHtml.d.ts +6 -0
- package/esm/typings/src/book-components/_common/react-utils/escapeRegex.d.ts +6 -0
- package/esm/typings/src/config.d.ts +6 -0
- package/esm/typings/src/execution/AvailableModel.d.ts +4 -0
- package/esm/typings/src/execution/ExecutionTask.d.ts +27 -0
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +6 -1
- package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +0 -5
- package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/deepseek/deepseek-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/ollama/ollama-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
- package/esm/typings/src/pipeline/book-notation.d.ts +2 -1
- package/esm/typings/src/types/ModelRequirements.d.ts +0 -2
- package/esm/typings/src/types/typeAliases.d.ts +6 -0
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +424 -87
- package/umd/index.umd.js.map +1 -1
@@ -0,0 +1,44 @@
|
|
1
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
|
+
/**
|
4
|
+
* META IMAGE commitment definition
|
5
|
+
*
|
6
|
+
* The META IMAGE commitment sets the agent's avatar/profile image URL.
|
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 IMAGE https://example.com/avatar.jpg
|
14
|
+
* META IMAGE /assets/agent-avatar.png
|
15
|
+
* ```
|
16
|
+
*
|
17
|
+
* @private [🪔] Maybe export the commitments through some package
|
18
|
+
*/
|
19
|
+
export declare class MetaImageCommitmentDefinition extends BaseCommitmentDefinition<'META IMAGE'> {
|
20
|
+
constructor();
|
21
|
+
/**
|
22
|
+
* Short one-line description of META IMAGE.
|
23
|
+
*/
|
24
|
+
get description(): string;
|
25
|
+
/**
|
26
|
+
* Markdown documentation for META IMAGE commitment.
|
27
|
+
*/
|
28
|
+
get documentation(): string;
|
29
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
30
|
+
/**
|
31
|
+
* Extracts the profile image URL from the content
|
32
|
+
* This is used by the parsing logic
|
33
|
+
*/
|
34
|
+
extractProfileImageUrl(content: string): string | null;
|
35
|
+
}
|
36
|
+
/**
|
37
|
+
* Singleton instance of the META IMAGE commitment definition
|
38
|
+
*
|
39
|
+
* @private [🪔] Maybe export the commitments through some package
|
40
|
+
*/
|
41
|
+
export declare const MetaImageCommitment: MetaImageCommitmentDefinition;
|
42
|
+
/**
|
43
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
44
|
+
*/
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
|
+
/**
|
4
|
+
* META LINK commitment definition
|
5
|
+
*
|
6
|
+
* The `META LINK` commitment represents the link to the person from whom the agent is created.
|
7
|
+
* This commitment is special because it doesn't affect the system message,
|
8
|
+
* but is handled separately in the parsing logic for profile display.
|
9
|
+
*
|
10
|
+
* Example usage in agent source:
|
11
|
+
*
|
12
|
+
* ```
|
13
|
+
* META LINK https://twitter.com/username
|
14
|
+
* META LINK https://linkedin.com/in/profile
|
15
|
+
* META LINK https://github.com/username
|
16
|
+
* ```
|
17
|
+
*
|
18
|
+
* Multiple `META LINK` commitments can be used when there are multiple sources:
|
19
|
+
*
|
20
|
+
* ```book
|
21
|
+
* META LINK https://twitter.com/username
|
22
|
+
* META LINK https://linkedin.com/in/profile
|
23
|
+
* ```
|
24
|
+
*
|
25
|
+
* @private [🪔] Maybe export the commitments through some package
|
26
|
+
*/
|
27
|
+
export declare class MetaLinkCommitmentDefinition extends BaseCommitmentDefinition<'META LINK'> {
|
28
|
+
constructor();
|
29
|
+
/**
|
30
|
+
* Short one-line description of META LINK.
|
31
|
+
*/
|
32
|
+
get description(): string;
|
33
|
+
/**
|
34
|
+
* Markdown documentation for META LINK commitment.
|
35
|
+
*/
|
36
|
+
get documentation(): string;
|
37
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
38
|
+
/**
|
39
|
+
* Extracts the profile link URL from the content
|
40
|
+
* This is used by the parsing logic
|
41
|
+
*/
|
42
|
+
extractProfileLinkUrl(content: string): string | null;
|
43
|
+
/**
|
44
|
+
* Validates if the provided content is a valid URL
|
45
|
+
*/
|
46
|
+
isValidUrl(content: string): boolean;
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* Singleton instance of the META LINK commitment definition
|
50
|
+
*
|
51
|
+
* @private [🪔] Maybe export the commitments through some package
|
52
|
+
*/
|
53
|
+
export declare const MetaLinkCommitment: MetaLinkCommitmentDefinition;
|
54
|
+
/**
|
55
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
56
|
+
*/
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
|
+
/**
|
4
|
+
* MODEL commitment definition
|
5
|
+
*
|
6
|
+
* The MODEL commitment specifies which AI model to use and can also set
|
7
|
+
* model-specific parameters like temperature, topP, and topK.
|
8
|
+
*
|
9
|
+
* Example usage in agent source:
|
10
|
+
*
|
11
|
+
* ```book
|
12
|
+
* MODEL gpt-4
|
13
|
+
* MODEL claude-3-opus temperature=0.3
|
14
|
+
* MODEL gpt-3.5-turbo temperature=0.8 topP=0.9
|
15
|
+
* ```
|
16
|
+
*
|
17
|
+
* @private [🪔] Maybe export the commitments through some package
|
18
|
+
*/
|
19
|
+
export declare class ModelCommitmentDefinition extends BaseCommitmentDefinition<'MODEL'> {
|
20
|
+
constructor();
|
21
|
+
/**
|
22
|
+
* Short one-line description of MODEL.
|
23
|
+
*/
|
24
|
+
get description(): string;
|
25
|
+
/**
|
26
|
+
* Markdown documentation for MODEL commitment.
|
27
|
+
*/
|
28
|
+
get documentation(): string;
|
29
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
30
|
+
}
|
31
|
+
/**
|
32
|
+
* Singleton instance of the MODEL commitment definition
|
33
|
+
*
|
34
|
+
* @private [🪔] Maybe export the commitments through some package
|
35
|
+
*/
|
36
|
+
export declare const ModelCommitment: ModelCommitmentDefinition;
|
37
|
+
/**
|
38
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
39
|
+
*/
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
|
+
/**
|
4
|
+
* NOTE commitment definition
|
5
|
+
*
|
6
|
+
* The NOTE commitment is used to add comments to the agent source without making any changes
|
7
|
+
* to the system message or agent model requirements. It serves as a documentation mechanism
|
8
|
+
* for developers to add explanatory comments, reminders, or annotations directly in the agent source.
|
9
|
+
*
|
10
|
+
* Key features:
|
11
|
+
* - Makes no changes to the system message
|
12
|
+
* - Makes no changes to agent model requirements
|
13
|
+
* - Content is preserved in metadata.NOTE for debugging and inspection
|
14
|
+
* - Multiple NOTE commitments are aggregated together
|
15
|
+
* - Comments (# NOTE) are removed from the final system message
|
16
|
+
*
|
17
|
+
* Example usage in agent source:
|
18
|
+
*
|
19
|
+
* ```book
|
20
|
+
* NOTE This agent was designed for customer support scenarios
|
21
|
+
* NOTE Remember to update the knowledge base monthly
|
22
|
+
* NOTE Performance optimized for quick response times
|
23
|
+
* ```
|
24
|
+
*
|
25
|
+
* The above notes will be stored in metadata but won't affect the agent's behavior.
|
26
|
+
*
|
27
|
+
* @private [🪔] Maybe export the commitments through some package
|
28
|
+
*/
|
29
|
+
export declare class NoteCommitmentDefinition extends BaseCommitmentDefinition<'NOTE'> {
|
30
|
+
constructor();
|
31
|
+
/**
|
32
|
+
* Short one-line description of NOTE.
|
33
|
+
*/
|
34
|
+
get description(): string;
|
35
|
+
/**
|
36
|
+
* Markdown documentation for NOTE commitment.
|
37
|
+
*/
|
38
|
+
get documentation(): string;
|
39
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
40
|
+
}
|
41
|
+
/**
|
42
|
+
* Singleton instance of the NOTE commitment definition
|
43
|
+
*
|
44
|
+
* @private [🪔] Maybe export the commitments through some package
|
45
|
+
*/
|
46
|
+
export declare const NoteCommitment: NoteCommitmentDefinition;
|
47
|
+
/**
|
48
|
+
* [💞] Ignore a discrepancy between file name and entity name
|
49
|
+
*/
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
|
+
/**
|
4
|
+
* PERSONA commitment definition
|
5
|
+
*
|
6
|
+
* The PERSONA commitment modifies the agent's personality and character in the system message.
|
7
|
+
* It defines who the agent is, their background, expertise, and personality traits.
|
8
|
+
*
|
9
|
+
* Key features:
|
10
|
+
* - Multiple PERSONA commitments are automatically merged into one
|
11
|
+
* - Content is placed at the beginning of the system message
|
12
|
+
* - Original content with comments is preserved in metadata.PERSONA
|
13
|
+
* - Comments (# PERSONA) are removed from the final system message
|
14
|
+
*
|
15
|
+
* Example usage in agent source:
|
16
|
+
*
|
17
|
+
* ```book
|
18
|
+
* PERSONA You are a helpful programming assistant with expertise in TypeScript and React
|
19
|
+
* PERSONA You have deep knowledge of modern web development practices
|
20
|
+
* ```
|
21
|
+
*
|
22
|
+
* The above will be merged into a single persona section at the beginning of the system message.
|
23
|
+
*
|
24
|
+
* @private [🪔] Maybe export the commitments through some package
|
25
|
+
*/
|
26
|
+
export declare class PersonaCommitmentDefinition extends BaseCommitmentDefinition<'PERSONA'> {
|
27
|
+
constructor();
|
28
|
+
/**
|
29
|
+
* Short one-line description of PERSONA.
|
30
|
+
*/
|
31
|
+
get description(): string;
|
32
|
+
/**
|
33
|
+
* Markdown documentation for PERSONA commitment.
|
34
|
+
*/
|
35
|
+
get documentation(): string;
|
36
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
37
|
+
}
|
38
|
+
/**
|
39
|
+
* Singleton instance of the PERSONA commitment definition
|
40
|
+
*
|
41
|
+
* @private [🪔] Maybe export the commitments through some package
|
42
|
+
*/
|
43
|
+
export declare const PersonaCommitment: PersonaCommitmentDefinition;
|
44
|
+
/**
|
45
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
46
|
+
*/
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
|
+
/**
|
4
|
+
* RULE commitment definition
|
5
|
+
*
|
6
|
+
* The RULE/RULES commitment adds behavioral constraints and guidelines that the agent must follow.
|
7
|
+
* These are specific instructions about what the agent should or shouldn't do.
|
8
|
+
*
|
9
|
+
* Example usage in agent source:
|
10
|
+
*
|
11
|
+
* ```book
|
12
|
+
* RULE Always ask for clarification if the user's request is ambiguous
|
13
|
+
* RULES Never provide medical advice, always refer to healthcare professionals
|
14
|
+
* ```
|
15
|
+
*
|
16
|
+
* @private [🪔] Maybe export the commitments through some package
|
17
|
+
*/
|
18
|
+
export declare class RuleCommitmentDefinition extends BaseCommitmentDefinition<'RULE' | 'RULES'> {
|
19
|
+
constructor(type?: 'RULE' | 'RULES');
|
20
|
+
/**
|
21
|
+
* Short one-line description of RULE/RULES.
|
22
|
+
*/
|
23
|
+
get description(): string;
|
24
|
+
/**
|
25
|
+
* Markdown documentation for RULE/RULES commitment.
|
26
|
+
*/
|
27
|
+
get documentation(): string;
|
28
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
29
|
+
}
|
30
|
+
/**
|
31
|
+
* Singleton instances of the RULE commitment definitions
|
32
|
+
*
|
33
|
+
* @private [🪔] Maybe export the commitments through some package
|
34
|
+
*/
|
35
|
+
export declare const RuleCommitment: RuleCommitmentDefinition;
|
36
|
+
/**
|
37
|
+
* Singleton instances of the RULE commitment definitions
|
38
|
+
*
|
39
|
+
* @private [🪔] Maybe export the commitments through some package
|
40
|
+
*/
|
41
|
+
export declare const RulesCommitment: RuleCommitmentDefinition;
|
42
|
+
/**
|
43
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
44
|
+
*/
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
|
+
/**
|
4
|
+
* SAMPLE commitment definition
|
5
|
+
*
|
6
|
+
* The SAMPLE/EXAMPLE commitment provides examples of how the agent should respond
|
7
|
+
* or behave in certain situations. These examples help guide the agent's responses.
|
8
|
+
*
|
9
|
+
* Example usage in agent source:
|
10
|
+
*
|
11
|
+
* ```book
|
12
|
+
* SAMPLE When asked about pricing, respond: "Our basic plan starts at $10/month..."
|
13
|
+
* EXAMPLE For code questions, always include working code snippets
|
14
|
+
* ```
|
15
|
+
*
|
16
|
+
* @private [🪔] Maybe export the commitments through some package
|
17
|
+
*/
|
18
|
+
export declare class SampleCommitmentDefinition extends BaseCommitmentDefinition<'SAMPLE' | 'EXAMPLE'> {
|
19
|
+
constructor(type?: 'SAMPLE' | 'EXAMPLE');
|
20
|
+
/**
|
21
|
+
* Short one-line description of SAMPLE/EXAMPLE.
|
22
|
+
*/
|
23
|
+
get description(): string;
|
24
|
+
/**
|
25
|
+
* Markdown documentation for SAMPLE/EXAMPLE commitment.
|
26
|
+
*/
|
27
|
+
get documentation(): string;
|
28
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
29
|
+
}
|
30
|
+
/**
|
31
|
+
* Singleton instances of the SAMPLE commitment definitions
|
32
|
+
*
|
33
|
+
* @private [🪔] Maybe export the commitments through some package
|
34
|
+
*/
|
35
|
+
export declare const SampleCommitment: SampleCommitmentDefinition;
|
36
|
+
/**
|
37
|
+
* Singleton instances of the SAMPLE commitment definitions
|
38
|
+
*
|
39
|
+
* @private [🪔] Maybe export the commitments through some package
|
40
|
+
*/
|
41
|
+
export declare const ExampleCommitment: SampleCommitmentDefinition;
|
42
|
+
/**
|
43
|
+
* Note: [💞] Ignore a discrepancy between file name and entity name
|
44
|
+
*/
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
2
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
3
|
+
/**
|
4
|
+
* STYLE commitment definition
|
5
|
+
*
|
6
|
+
* The STYLE commitment defines how the agent should format and present its responses.
|
7
|
+
* This includes tone, writing style, formatting preferences, and communication patterns.
|
8
|
+
*
|
9
|
+
* Example usage in agent source:
|
10
|
+
*
|
11
|
+
* ```book
|
12
|
+
* STYLE Write in a professional but friendly tone, use bullet points for lists
|
13
|
+
* STYLE Always provide code examples when explaining programming concepts
|
14
|
+
* ```
|
15
|
+
*
|
16
|
+
* @private [🪔] Maybe export the commitments through some package
|
17
|
+
*/
|
18
|
+
export declare class StyleCommitmentDefinition extends BaseCommitmentDefinition<'STYLE'> {
|
19
|
+
constructor();
|
20
|
+
/**
|
21
|
+
* Short one-line description of STYLE.
|
22
|
+
*/
|
23
|
+
get description(): string;
|
24
|
+
/**
|
25
|
+
* Markdown documentation for STYLE commitment.
|
26
|
+
*/
|
27
|
+
get documentation(): string;
|
28
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
29
|
+
}
|
30
|
+
/**
|
31
|
+
* Singleton instance of the STYLE commitment definition
|
32
|
+
*
|
33
|
+
* @private [🪔] Maybe export the commitments through some package
|
34
|
+
*/
|
35
|
+
export declare const StyleCommitment: StyleCommitmentDefinition;
|
36
|
+
/**
|
37
|
+
* [💞] Ignore a discrepancy between file name and entity name
|
38
|
+
*/
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
2
|
+
import type { CommitmentDefinition } from './CommitmentDefinition';
|
3
|
+
/**
|
4
|
+
* Base implementation of CommitmentDefinition that provides common functionality
|
5
|
+
* Most commitments can extend this class and only override the applyToAgentModelRequirements method
|
6
|
+
*
|
7
|
+
* @private
|
8
|
+
*/
|
9
|
+
export declare abstract class BaseCommitmentDefinition<TBookCommitment extends string> implements CommitmentDefinition {
|
10
|
+
readonly type: TBookCommitment;
|
11
|
+
constructor(type: TBookCommitment);
|
12
|
+
/**
|
13
|
+
* Short one-line markdown description; concise, may use inline **markdown**.
|
14
|
+
* Must be implemented by each concrete commitment.
|
15
|
+
*/
|
16
|
+
abstract get description(): string;
|
17
|
+
/**
|
18
|
+
* Human-readable markdown documentation for this commitment, available at runtime.
|
19
|
+
* Must be implemented by each concrete commitment.
|
20
|
+
*/
|
21
|
+
abstract get documentation(): string;
|
22
|
+
/**
|
23
|
+
* Creates a regex pattern to match this commitment in agent source
|
24
|
+
* Uses the existing createCommitmentRegex function as internal helper
|
25
|
+
*/
|
26
|
+
createRegex(): RegExp;
|
27
|
+
/**
|
28
|
+
* Creates a regex pattern to match just the commitment type
|
29
|
+
* Uses the existing createCommitmentTypeRegex function as internal helper
|
30
|
+
*/
|
31
|
+
createTypeRegex(): RegExp;
|
32
|
+
/**
|
33
|
+
* Applies this commitment's logic to the agent model requirements
|
34
|
+
* This method must be implemented by each specific commitment
|
35
|
+
*/
|
36
|
+
abstract applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
37
|
+
/**
|
38
|
+
* Helper method to create a new requirements object with updated system message
|
39
|
+
* This is commonly used by many commitments
|
40
|
+
*/
|
41
|
+
protected updateSystemMessage(requirements: AgentModelRequirements, messageUpdate: string | ((currentMessage: string) => string)): AgentModelRequirements;
|
42
|
+
/**
|
43
|
+
* Helper method to append content to the system message
|
44
|
+
*/
|
45
|
+
protected appendToSystemMessage(requirements: AgentModelRequirements, content: string, separator?: string): AgentModelRequirements;
|
46
|
+
/**
|
47
|
+
* Helper method to add a comment section to the system message
|
48
|
+
* Comments are lines starting with # that will be removed from the final system message
|
49
|
+
* but can be useful for organizing and structuring the message during processing
|
50
|
+
*/
|
51
|
+
protected addCommentSection(requirements: AgentModelRequirements, commentTitle: string, content: string, position?: 'beginning' | 'end'): AgentModelRequirements;
|
52
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
2
|
+
/**
|
3
|
+
* Definition of a commitment that can be applied to agent model requirements
|
4
|
+
*
|
5
|
+
* Each commitment is self-contained and manages its own logic for:
|
6
|
+
* - Creating regex patterns for parsing
|
7
|
+
* - Applying its effects to agent model requirements
|
8
|
+
*/
|
9
|
+
export interface CommitmentDefinition {
|
10
|
+
/**
|
11
|
+
* The type/name of this commitment (e.g., 'PERSONA', 'KNOWLEDGE', etc.)
|
12
|
+
*/
|
13
|
+
readonly type: string;
|
14
|
+
/**
|
15
|
+
* Short one-line markdown description of this commitment (no lists or code blocks).
|
16
|
+
* Keep it concise; may use inline markdown like **bold** or *italic*.
|
17
|
+
*/
|
18
|
+
readonly description: string;
|
19
|
+
/**
|
20
|
+
* Human-readable markdown documentation for this commitment.
|
21
|
+
* Should explain what the commitment does and include example usage.
|
22
|
+
* This is available at runtime for UIs, docs, and tooling.
|
23
|
+
*/
|
24
|
+
readonly documentation: string;
|
25
|
+
/**
|
26
|
+
* Creates a regex pattern to match this commitment in agent source
|
27
|
+
* This regex should capture the commitment content in a 'contents' named group
|
28
|
+
*
|
29
|
+
* @returns RegExp that matches the full commitment line
|
30
|
+
*/
|
31
|
+
createRegex(): RegExp;
|
32
|
+
/**
|
33
|
+
* Creates a regex pattern to match just the commitment type
|
34
|
+
* This is useful for checking if a line contains this commitment type
|
35
|
+
*
|
36
|
+
* @returns RegExp that matches just the commitment type
|
37
|
+
*/
|
38
|
+
createTypeRegex(): RegExp;
|
39
|
+
/**
|
40
|
+
* Applies this commitment's logic to the agent model requirements
|
41
|
+
* This method should be pure and return a new requirements object
|
42
|
+
*
|
43
|
+
* @param requirements Current agent model requirements
|
44
|
+
* @param content The content part of the commitment (after the type)
|
45
|
+
* @returns Updated agent model requirements
|
46
|
+
*/
|
47
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
48
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
2
|
+
import { BaseCommitmentDefinition } from './BaseCommitmentDefinition';
|
3
|
+
/**
|
4
|
+
* Placeholder commitment definition for commitments that are not yet implemented
|
5
|
+
*
|
6
|
+
* This commitment simply adds its content 1:1 into the system message,
|
7
|
+
* preserving the original behavior until proper implementation is added.
|
8
|
+
*
|
9
|
+
* @public exported from `@promptbook/core`
|
10
|
+
*/
|
11
|
+
export declare class NotYetImplementedCommitmentDefinition<TBookCommitment extends string> extends BaseCommitmentDefinition<TBookCommitment> {
|
12
|
+
constructor(type: TBookCommitment);
|
13
|
+
/**
|
14
|
+
* Short one-line description of a placeholder commitment.
|
15
|
+
*/
|
16
|
+
get description(): string;
|
17
|
+
/**
|
18
|
+
* Markdown documentation available at runtime.
|
19
|
+
*/
|
20
|
+
get documentation(): string;
|
21
|
+
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
|
22
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import type { AgentModelRequirements } from '../_misc/AgentModelRequirements';
|
2
|
+
/**
|
3
|
+
* Creates an empty/basic agent model requirements object
|
4
|
+
* This serves as the starting point for the reduce-like pattern
|
5
|
+
* where each commitment applies its changes to build the final requirements
|
6
|
+
*
|
7
|
+
* @public exported from `@promptbook/core`
|
8
|
+
*/
|
9
|
+
export declare function createEmptyAgentModelRequirements(): AgentModelRequirements;
|
10
|
+
/**
|
11
|
+
* Creates a basic agent model requirements with just the agent name
|
12
|
+
* This is used when we have an agent name but no commitments
|
13
|
+
*
|
14
|
+
* @public exported from `@promptbook/core`
|
15
|
+
*/
|
16
|
+
export declare function createBasicAgentModelRequirements(agentName: string | null): AgentModelRequirements;
|
17
|
+
/**
|
18
|
+
* TODO: !!!! Deduplicate model requirements
|
19
|
+
*/
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { TODO_any } from "../../../_packages/types.index";
|
2
|
+
/**
|
3
|
+
* Model requirements for an agent
|
4
|
+
*
|
5
|
+
* This is like "compiled" version of agent source
|
6
|
+
*/
|
7
|
+
export interface AgentModelRequirements {
|
8
|
+
/**
|
9
|
+
* The system message that defines the agent's behavior and personality
|
10
|
+
*/
|
11
|
+
readonly systemMessage: string;
|
12
|
+
/**
|
13
|
+
* The model name to use for this agent
|
14
|
+
*/
|
15
|
+
readonly modelName: string;
|
16
|
+
/**
|
17
|
+
* Optional list of MCP servers that the agent can connect to
|
18
|
+
*/
|
19
|
+
readonly mcpServers?: string[];
|
20
|
+
/**
|
21
|
+
* Temperature for the agent's responses, controlling randomness
|
22
|
+
*/
|
23
|
+
readonly temperature?: number;
|
24
|
+
/**
|
25
|
+
* Top-p sampling value for the agent's responses
|
26
|
+
*/
|
27
|
+
readonly topP?: number;
|
28
|
+
/**
|
29
|
+
* Top-k sampling value for the agent's responses
|
30
|
+
*/
|
31
|
+
readonly topK?: number;
|
32
|
+
/**
|
33
|
+
* Arbitrary metadata storage for commitments
|
34
|
+
* Each commitment can store its own data here
|
35
|
+
*/
|
36
|
+
readonly metadata?: Record<string, TODO_any>;
|
37
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { ParsedCommitment } from './ParsedCommitment';
|
2
|
+
/**
|
3
|
+
* Result of parsing agent source for commitments
|
4
|
+
*/
|
5
|
+
export interface AgentSourceParseResult {
|
6
|
+
/**
|
7
|
+
* The agent name (first line)
|
8
|
+
*/
|
9
|
+
agentName: string | null;
|
10
|
+
/**
|
11
|
+
* All parsed commitments
|
12
|
+
*/
|
13
|
+
commitments: ParsedCommitment[];
|
14
|
+
/**
|
15
|
+
* Lines that are not commitments (for system message)
|
16
|
+
*/
|
17
|
+
nonCommitmentLines: string[];
|
18
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import type { BookCommitment } from '../_base/BookCommitment';
|
2
|
+
/**
|
3
|
+
* Parsed commitment line from agent source
|
4
|
+
*/
|
5
|
+
export interface ParsedCommitment {
|
6
|
+
/**
|
7
|
+
* The commitment type (e.g., 'PERSONA', 'KNOWLEDGE')
|
8
|
+
*/
|
9
|
+
type: BookCommitment;
|
10
|
+
/**
|
11
|
+
* The content part of the commitment
|
12
|
+
*/
|
13
|
+
content: string;
|
14
|
+
/**
|
15
|
+
* The original line from the agent source
|
16
|
+
*/
|
17
|
+
originalLine: string;
|
18
|
+
/**
|
19
|
+
* Line number in the agent source (1-based)
|
20
|
+
*/
|
21
|
+
lineNumber: number;
|
22
|
+
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
import type { string_book } from '../../agent-source/string_book';
|
2
|
+
import type { AgentModelRequirements } from './AgentModelRequirements';
|
3
|
+
/**
|
4
|
+
* Creates model requirements for an agent based on its source
|
5
|
+
* Results are cached to improve performance for repeated calls with the same agentSource and modelName
|
6
|
+
*
|
7
|
+
* There are 2 similar functions:
|
8
|
+
* - `parseAgentSource` which is a lightweight parser for agent source, it parses basic information and its purpose is to be quick and synchronous. The commitments there are hardcoded.
|
9
|
+
* - `createAgentModelRequirements` which is an asynchronous function that creates model requirements it applies each commitment one by one and works asynchronously.
|
10
|
+
*
|
11
|
+
* @public exported from `@promptbook/core`
|
12
|
+
*/
|
13
|
+
export declare function createAgentModelRequirements(agentSource: string_book, modelName?: string): Promise<AgentModelRequirements>;
|
14
|
+
/**
|
15
|
+
* Clears the cache for createAgentModelRequirements
|
16
|
+
* Useful when agent sources are updated and cached results should be invalidated
|
17
|
+
*
|
18
|
+
* @private
|
19
|
+
*/
|
20
|
+
export declare function clearAgentModelRequirementsCache(): void;
|
21
|
+
/**
|
22
|
+
* Removes cache entries for a specific agent source (all model variants)
|
23
|
+
* @param agentSource The agent source to remove from cache
|
24
|
+
* @private
|
25
|
+
*/
|
26
|
+
export declare function invalidateAgentModelRequirementsCache(agentSource: string_book): void;
|
27
|
+
/**
|
28
|
+
* Gets the current cache size (for debugging/monitoring)
|
29
|
+
*
|
30
|
+
* @private
|
31
|
+
*/
|
32
|
+
export declare function getAgentModelRequirementsCacheSize(): number;
|
33
|
+
/**
|
34
|
+
* Extracts MCP servers from agent source
|
35
|
+
*
|
36
|
+
* @param agentSource The agent source string that may contain MCP lines
|
37
|
+
* @returns Array of MCP server identifiers
|
38
|
+
*
|
39
|
+
* @private TODO: [🧠] Maybe should be public
|
40
|
+
*/
|
41
|
+
export declare function extractMcpServers(agentSource: string_book): string[];
|
42
|
+
/**
|
43
|
+
* Creates a system message for an agent based on its source
|
44
|
+
* @deprecated Use createAgentModelRequirements instead
|
45
|
+
* @private
|
46
|
+
*/
|
47
|
+
export declare function createAgentSystemMessage(agentSource: string_book): Promise<string>;
|
48
|
+
/**
|
49
|
+
* Extracts the agent name from the first line of the agent source
|
50
|
+
* @deprecated Use parseAgentSource instead
|
51
|
+
* @private
|
52
|
+
*/
|
53
|
+
export declare function extractAgentName(agentSource: string_book): string;
|
54
|
+
/**
|
55
|
+
* Extracts the profile image URL from agent source or returns gravatar fallback
|
56
|
+
* @param agentSource The agent source string that may contain META IMAGE line
|
57
|
+
* @returns Profile image URL (from source or gravatar fallback)
|
58
|
+
* @deprecated Use parseAgentSource instead
|
59
|
+
* @private
|
60
|
+
*/
|
61
|
+
export declare function extractAgentProfileImage(agentSource: string_book): string;
|