@jterrazz/intelligence 1.0.0

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 (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +229 -0
  3. package/dist/adapters/agents/chat-agent.adapter.d.ts +35 -0
  4. package/dist/adapters/agents/chat-agent.adapter.js +388 -0
  5. package/dist/adapters/agents/chat-agent.adapter.js.map +1 -0
  6. package/dist/adapters/models/openrouter-model.adapter.d.ts +28 -0
  7. package/dist/adapters/models/openrouter-model.adapter.js +80 -0
  8. package/dist/adapters/models/openrouter-model.adapter.js.map +1 -0
  9. package/dist/adapters/prompts/__tests__/__snapshots__/presets.test.ts.snap +150 -0
  10. package/dist/adapters/prompts/__tests__/presets.test.d.ts +1 -0
  11. package/dist/adapters/prompts/__tests__/presets.test.js +31 -0
  12. package/dist/adapters/prompts/__tests__/presets.test.js.map +1 -0
  13. package/dist/adapters/prompts/library/categories/agent-logic.d.ts +8 -0
  14. package/dist/adapters/prompts/library/categories/agent-logic.js +9 -0
  15. package/dist/adapters/prompts/library/categories/agent-logic.js.map +1 -0
  16. package/dist/adapters/prompts/library/categories/agent-skills.d.ts +8 -0
  17. package/dist/adapters/prompts/library/categories/agent-skills.js +9 -0
  18. package/dist/adapters/prompts/library/categories/agent-skills.js.map +1 -0
  19. package/dist/adapters/prompts/library/categories/directives.d.ts +9 -0
  20. package/dist/adapters/prompts/library/categories/directives.js +10 -0
  21. package/dist/adapters/prompts/library/categories/directives.js.map +1 -0
  22. package/dist/adapters/prompts/library/categories/domain.d.ts +11 -0
  23. package/dist/adapters/prompts/library/categories/domain.js +12 -0
  24. package/dist/adapters/prompts/library/categories/domain.js.map +1 -0
  25. package/dist/adapters/prompts/library/categories/format.d.ts +9 -0
  26. package/dist/adapters/prompts/library/categories/format.js +10 -0
  27. package/dist/adapters/prompts/library/categories/format.js.map +1 -0
  28. package/dist/adapters/prompts/library/categories/language.d.ts +11 -0
  29. package/dist/adapters/prompts/library/categories/language.js +12 -0
  30. package/dist/adapters/prompts/library/categories/language.js.map +1 -0
  31. package/dist/adapters/prompts/library/categories/persona.d.ts +11 -0
  32. package/dist/adapters/prompts/library/categories/persona.js +12 -0
  33. package/dist/adapters/prompts/library/categories/persona.js.map +1 -0
  34. package/dist/adapters/prompts/library/categories/tone.d.ts +9 -0
  35. package/dist/adapters/prompts/library/categories/tone.js +10 -0
  36. package/dist/adapters/prompts/library/categories/tone.js.map +1 -0
  37. package/dist/adapters/prompts/library/categories/verbosity.d.ts +8 -0
  38. package/dist/adapters/prompts/library/categories/verbosity.js +9 -0
  39. package/dist/adapters/prompts/library/categories/verbosity.js.map +1 -0
  40. package/dist/adapters/prompts/library/index.d.ts +66 -0
  41. package/dist/adapters/prompts/library/index.js +28 -0
  42. package/dist/adapters/prompts/library/index.js.map +1 -0
  43. package/dist/adapters/prompts/library/presets.d.ts +17 -0
  44. package/dist/adapters/prompts/library/presets.js +51 -0
  45. package/dist/adapters/prompts/library/presets.js.map +1 -0
  46. package/dist/adapters/prompts/system-prompt.adapter.d.ts +9 -0
  47. package/dist/adapters/prompts/system-prompt.adapter.js +57 -0
  48. package/dist/adapters/prompts/system-prompt.adapter.js.map +1 -0
  49. package/dist/adapters/prompts/user-prompt.adapter.d.ts +9 -0
  50. package/dist/adapters/prompts/user-prompt.adapter.js +57 -0
  51. package/dist/adapters/prompts/user-prompt.adapter.js.map +1 -0
  52. package/dist/adapters/tools/safe-tool.adapter.d.ts +27 -0
  53. package/dist/adapters/tools/safe-tool.adapter.js +283 -0
  54. package/dist/adapters/tools/safe-tool.adapter.js.map +1 -0
  55. package/dist/adapters/utils/__tests__/ai-response-parser.test.d.ts +1 -0
  56. package/dist/adapters/utils/__tests__/ai-response-parser.test.js +249 -0
  57. package/dist/adapters/utils/__tests__/ai-response-parser.test.js.map +1 -0
  58. package/dist/adapters/utils/ai-response-parser-error.d.ts +8 -0
  59. package/dist/adapters/utils/ai-response-parser-error.js +136 -0
  60. package/dist/adapters/utils/ai-response-parser-error.js.map +1 -0
  61. package/dist/adapters/utils/ai-response-parser.d.ts +56 -0
  62. package/dist/adapters/utils/ai-response-parser.js +334 -0
  63. package/dist/adapters/utils/ai-response-parser.js.map +1 -0
  64. package/dist/index.cjs +1461 -0
  65. package/dist/index.d.ts +11 -0
  66. package/dist/index.js +13 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/ports/agent.port.d.ts +11 -0
  69. package/dist/ports/agent.port.js +5 -0
  70. package/dist/ports/agent.port.js.map +1 -0
  71. package/dist/ports/model.port.d.ts +10 -0
  72. package/dist/ports/model.port.js +5 -0
  73. package/dist/ports/model.port.js.map +1 -0
  74. package/dist/ports/prompt.port.d.ts +9 -0
  75. package/dist/ports/prompt.port.js +5 -0
  76. package/dist/ports/prompt.port.js.map +1 -0
  77. package/dist/ports/tool.port.d.ts +11 -0
  78. package/dist/ports/tool.port.js +5 -0
  79. package/dist/ports/tool.port.js.map +1 -0
  80. package/package.json +35 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/agents/chat-agent.adapter.ts"],"sourcesContent":["import { type LoggerPort } from '@jterrazz/logger';\nimport {\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n} from '@langchain/core/prompts';\nimport { AgentExecutor, createStructuredChatAgent } from 'langchain/agents';\nimport { z } from 'zod/v4';\n\nimport type { Agent } from '../../ports/agent.port.js';\nimport type { Model } from '../../ports/model.port.js';\nimport type { Prompt } from '../../ports/prompt.port.js';\nimport type { Tool } from '../../ports/tool.port.js';\n\nimport { AIResponseParser } from '../utils/ai-response-parser.js';\n\nimport type { SystemPromptAdapter } from '../prompts/system-prompt.adapter.js';\n\nexport type AgentResponse = z.infer<typeof AgentResponseSchema>;\n\nexport interface ChatAgentOptions {\n logger?: LoggerPort;\n model: Model;\n tools: Tool[];\n}\n\n// Schema for agent responses\nconst AgentResponseSchema = z.object({\n message: z.string().optional(),\n reason: z.string().optional(),\n shouldRespond: z.boolean(),\n});\n\n// LangChain-specific framework rules (internal to this adapter)\nconst LANGCHAIN_FRAMEWORK_RULES = `\n<AGENT_FRAMEWORK>\nYou are a chat agent piloted by the LangChain framework.\n\nYou have access to the following tools: {tools}\nTool names: {tool_names}\nAgent scratchpad: {agent_scratchpad}\n\nWhen you want to provide your final response, you MUST format it exactly like this:\n\n\\`\\`\\`json\n{{\"action\": \"Final Answer\", \"action_input\": {{\"shouldRespond\": false, \"reason\": \"<your reason>\"}}}}\n\\`\\`\\`\n\nOR \n\n\\`\\`\\`json\n{{\"action\": \"Final Answer\", \"action_input\": {{\"shouldRespond\": true, \"message\": \"<your response message>\"}}}}\n\\`\\`\\`\n\n\"shouldRespond\" set to true means the message will be sent to the user.\n\"shouldRespond\" set to false means the message will not be sent to the user.\n\nALWAYS use this exact format with markdown code blocks and the action/action_input structure.\n</AGENT_FRAMEWORK>`;\n\n/**\n * Chat agent adapter that provides structured chat capabilities with optional responses\n */\nexport class ChatAgentAdapter implements Agent {\n private readonly executorPromise: Promise<AgentExecutor>;\n private readonly logger?: LoggerPort;\n private readonly name: string;\n private readonly responseParser: AIResponseParser<AgentResponse>;\n\n constructor(name: string, systemPrompt: SystemPromptAdapter, options: ChatAgentOptions) {\n this.name = name;\n this.logger = options.logger;\n this.responseParser = new AIResponseParser(AgentResponseSchema);\n this.executorPromise = this.createExecutor(systemPrompt, options);\n }\n\n async run(userPrompt?: Prompt): Promise<null | string> {\n try {\n const executor = await this.executorPromise;\n const input = this.resolveUserInput(userPrompt);\n const result = await executor.invoke({ input });\n\n this.logger?.debug('Agent execution result', {\n agentName: this.name,\n hasOutput: 'output' in result,\n hasUserPrompt: !!userPrompt,\n outputType: typeof result.output,\n });\n\n if (!result || typeof result.output === 'undefined') {\n throw new Error('Agent returned invalid result structure');\n }\n\n const response = this.parseAgentResponse(result.output);\n return this.handleResponse(response);\n } catch (error) {\n this.logger?.error('Error running chat agent', {\n agentName: this.name,\n error: error instanceof Error ? error.message : 'Unknown error',\n userPrompt: userPrompt ? 'Prompt object' : 'none',\n });\n return null;\n }\n }\n\n private async createExecutor(\n systemPrompt: SystemPromptAdapter,\n options: ChatAgentOptions,\n ): Promise<AgentExecutor> {\n const model = options.model.getModel();\n\n // Convert Tool instances to DynamicTool instances\n const dynamicTools = options.tools.map((tool) => tool.getDynamicTool());\n\n // Combine LangChain framework rules with user-provided system prompts\n const systemPromptText = `${LANGCHAIN_FRAMEWORK_RULES}\\n\\n${systemPrompt.generate()}`;\n const systemTemplate = SystemMessagePromptTemplate.fromTemplate(systemPromptText);\n const humanTemplate = HumanMessagePromptTemplate.fromTemplate('{input}');\n\n const prompt = ChatPromptTemplate.fromMessages([systemTemplate, humanTemplate]);\n\n const agent = await createStructuredChatAgent({\n llm: model,\n prompt,\n tools: dynamicTools,\n });\n\n return AgentExecutor.fromAgentAndTools({\n agent,\n tools: dynamicTools,\n });\n }\n\n private extractActionInput(output: unknown): string {\n if (typeof output === 'object' && output !== null) {\n return JSON.stringify(output);\n }\n\n if (typeof output !== 'string') {\n return String(output);\n }\n\n // Check for LangChain's action/action_input format first\n const codeBlockMatch = output.match(/```(?:json)?\\s*([\\s\\S]*?)```/i);\n if (codeBlockMatch) {\n const content = codeBlockMatch[1].trim();\n try {\n const parsed = JSON.parse(content);\n if (parsed.action === 'Final Answer' && parsed.action_input) {\n return JSON.stringify(parsed.action_input);\n }\n } catch {\n // Fall through to return original content\n }\n return content;\n }\n\n // Fallback: Look for \"Final Answer:\" pattern\n if (output.includes('Final Answer:')) {\n const actionInputMatch = output.match(/Final Answer:\\s*([\\s\\S]*?)$/i);\n if (actionInputMatch) {\n return actionInputMatch[1].trim();\n }\n }\n\n return output;\n }\n\n private handleResponse(response: AgentResponse): null | string {\n if (response.shouldRespond && response.message) {\n this.logger?.info('Agent responding with message', { agentName: this.name });\n return response.message;\n }\n\n if (!response.shouldRespond) {\n this.logger?.info('Agent chose not to respond', {\n agentName: this.name,\n reason: response.reason,\n });\n return null;\n }\n\n this.logger?.error('Invalid agent response state', { agentName: this.name, response });\n return null;\n }\n\n private parseAgentResponse(output: unknown): AgentResponse {\n try {\n // Handle LangChain's action/action_input format\n const processedOutput = this.extractActionInput(output);\n return this.responseParser.parse(processedOutput);\n } catch (error) {\n this.logger?.error('Failed to parse agent response', {\n agentName: this.name,\n error: error instanceof Error ? error.message : 'Unknown error',\n rawOutput: output,\n });\n throw new Error('Invalid agent response format');\n }\n }\n\n private resolveUserInput(userPrompt?: Prompt): string {\n if (!userPrompt) {\n return 'Please analyze the current situation and respond if appropriate.';\n }\n\n return userPrompt.generate();\n }\n}\n"],"names":["ChatPromptTemplate","HumanMessagePromptTemplate","SystemMessagePromptTemplate","AgentExecutor","createStructuredChatAgent","z","AIResponseParser","AgentResponseSchema","object","message","string","optional","reason","shouldRespond","boolean","LANGCHAIN_FRAMEWORK_RULES","ChatAgentAdapter","name","systemPrompt","options","executorPromise","logger","responseParser","createExecutor","run","userPrompt","executor","input","result","response","error","resolveUserInput","invoke","debug","agentName","hasOutput","hasUserPrompt","outputType","output","Error","parseAgentResponse","handleResponse","model","dynamicTools","systemPromptText","systemTemplate","humanTemplate","prompt","agent","getModel","tools","map","tool","getDynamicTool","generate","fromTemplate","fromMessages","llm","fromAgentAndTools","extractActionInput","JSON","stringify","String","codeBlockMatch","match","content","trim","parsed","parse","action","action_input","includes","actionInputMatch","info","processedOutput","rawOutput"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { BaseLanguageModel } from '@langchain/core/language_models/base';
2
+ import type { Model } from '../../ports/model.port.js';
3
+ export interface OpenRouterConfig {
4
+ /**
5
+ * OpenRouter API key
6
+ */
7
+ apiKey: string;
8
+ /**
9
+ * The model to use (e.g., 'google/gemini-2.5-flash-preview-05-20:thinking')
10
+ */
11
+ modelName: string;
12
+ /**
13
+ * Application title for X-Title header (optional)
14
+ */
15
+ title?: string;
16
+ /**
17
+ * Website URL for HTTP-Referer header (optional)
18
+ */
19
+ websiteUrl?: string;
20
+ }
21
+ /**
22
+ * OpenRouter adapter that provides access to various models through OpenRouter's API
23
+ */
24
+ export declare class OpenRouterModelAdapter implements Model {
25
+ private readonly model;
26
+ constructor(config: OpenRouterConfig);
27
+ getModel(): BaseLanguageModel;
28
+ }
@@ -0,0 +1,80 @@
1
+ function _class_call_check(instance, Constructor) {
2
+ if (!(instance instanceof Constructor)) {
3
+ throw new TypeError("Cannot call a class as a function");
4
+ }
5
+ }
6
+ function _defineProperties(target, props) {
7
+ for(var i = 0; i < props.length; i++){
8
+ var descriptor = props[i];
9
+ descriptor.enumerable = descriptor.enumerable || false;
10
+ descriptor.configurable = true;
11
+ if ("value" in descriptor) descriptor.writable = true;
12
+ Object.defineProperty(target, descriptor.key, descriptor);
13
+ }
14
+ }
15
+ function _create_class(Constructor, protoProps, staticProps) {
16
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
17
+ if (staticProps) _defineProperties(Constructor, staticProps);
18
+ return Constructor;
19
+ }
20
+ function _define_property(obj, key, value) {
21
+ if (key in obj) {
22
+ Object.defineProperty(obj, key, {
23
+ value: value,
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true
27
+ });
28
+ } else {
29
+ obj[key] = value;
30
+ }
31
+ return obj;
32
+ }
33
+ function _object_spread(target) {
34
+ for(var i = 1; i < arguments.length; i++){
35
+ var source = arguments[i] != null ? arguments[i] : {};
36
+ var ownKeys = Object.keys(source);
37
+ if (typeof Object.getOwnPropertySymbols === "function") {
38
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
39
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
40
+ }));
41
+ }
42
+ ownKeys.forEach(function(key) {
43
+ _define_property(target, key, source[key]);
44
+ });
45
+ }
46
+ return target;
47
+ }
48
+ import { ChatOpenAI } from '@langchain/openai';
49
+ /**
50
+ * OpenRouter adapter that provides access to various models through OpenRouter's API
51
+ */ export var OpenRouterModelAdapter = /*#__PURE__*/ function() {
52
+ "use strict";
53
+ function OpenRouterModelAdapter(config) {
54
+ _class_call_check(this, OpenRouterModelAdapter);
55
+ _define_property(this, "model", void 0);
56
+ this.model = new ChatOpenAI({
57
+ configuration: {
58
+ baseURL: 'https://openrouter.ai/api/v1',
59
+ defaultHeaders: _object_spread({}, config.websiteUrl && {
60
+ 'HTTP-Referer': config.websiteUrl
61
+ }, config.title && {
62
+ 'X-Title': config.title
63
+ })
64
+ },
65
+ modelName: config.modelName,
66
+ openAIApiKey: config.apiKey
67
+ });
68
+ }
69
+ _create_class(OpenRouterModelAdapter, [
70
+ {
71
+ key: "getModel",
72
+ value: function getModel() {
73
+ return this.model;
74
+ }
75
+ }
76
+ ]);
77
+ return OpenRouterModelAdapter;
78
+ }();
79
+
80
+ //# sourceMappingURL=openrouter-model.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/models/openrouter-model.adapter.ts"],"sourcesContent":["import type { BaseLanguageModel } from '@langchain/core/language_models/base';\nimport { ChatOpenAI } from '@langchain/openai';\n\nimport type { Model } from '../../ports/model.port.js';\n\nexport interface OpenRouterConfig {\n /**\n * OpenRouter API key\n */\n apiKey: string;\n /**\n * The model to use (e.g., 'google/gemini-2.5-flash-preview-05-20:thinking')\n */\n modelName: string;\n /**\n * Application title for X-Title header (optional)\n */\n title?: string;\n /**\n * Website URL for HTTP-Referer header (optional)\n */\n websiteUrl?: string;\n}\n\n/**\n * OpenRouter adapter that provides access to various models through OpenRouter's API\n */\nexport class OpenRouterModelAdapter implements Model {\n private readonly model: BaseLanguageModel;\n\n constructor(config: OpenRouterConfig) {\n this.model = new ChatOpenAI({\n configuration: {\n baseURL: 'https://openrouter.ai/api/v1',\n defaultHeaders: {\n ...(config.websiteUrl && { 'HTTP-Referer': config.websiteUrl }),\n ...(config.title && { 'X-Title': config.title }),\n },\n },\n modelName: config.modelName,\n openAIApiKey: config.apiKey,\n });\n }\n\n getModel(): BaseLanguageModel {\n return this.model;\n }\n}\n"],"names":["ChatOpenAI","OpenRouterModelAdapter","config","model","configuration","baseURL","defaultHeaders","websiteUrl","title","modelName","openAIApiKey","apiKey","getModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAASA,UAAU,QAAQ,oBAAoB;AAuB/C;;CAEC,GACD,OAAO,IAAA,AAAMC,uCAAN;;aAAMA,uBAGGC,MAAwB;gCAH3BD;QACT,uBAAiBE,SAAjB,KAAA;QAGI,IAAI,CAACA,KAAK,GAAG,IAAIH,WAAW;YACxBI,eAAe;gBACXC,SAAS;gBACTC,gBAAgB,mBACRJ,OAAOK,UAAU,IAAI;oBAAE,gBAAgBL,OAAOK,UAAU;gBAAC,GACzDL,OAAOM,KAAK,IAAI;oBAAE,WAAWN,OAAOM,KAAK;gBAAC;YAEtD;YACAC,WAAWP,OAAOO,SAAS;YAC3BC,cAAcR,OAAOS,MAAM;QAC/B;;kBAdKV;;YAiBTW,KAAAA;mBAAAA,SAAAA;gBACI,OAAO,IAAI,CAACT,KAAK;YACrB;;;WAnBSF;IAoBZ"}
@@ -0,0 +1,150 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`Prompt Library Presets > should generate the correct prompt for CREATIVE_BRAINSTORMER 1`] = `
4
+ "
5
+ <DIRECTIVE>
6
+ Adhere to the highest ethical standards. Do not promote hate speech, discrimination, or violence.
7
+ Respect user privacy and do not ask for or store personally identifiable information.
8
+ </DIRECTIVE>
9
+
10
+
11
+ <PERSONA>
12
+ You are a creative partner, here to help brainstorm and explore new ideas.
13
+ You are imaginative, encouraging, and open to unconventional thinking.
14
+ Your goal is to inspire and collaborate.
15
+ </PERSONA>
16
+
17
+
18
+ <DOMAIN>
19
+ You are a generalist with broad knowledge across many subjects.
20
+ </DOMAIN>
21
+
22
+
23
+ <TONE>
24
+ Employ light-hearted humor, wit, and cleverness.
25
+ Keep the mood fun and engaging, but avoid inappropriate or offensive jokes.
26
+ </TONE>
27
+
28
+
29
+ <VERBOSITY>
30
+ Provide a balanced level of detail, sufficient for a clear understanding without being overwhelming.
31
+ </VERBOSITY>
32
+
33
+
34
+ <FORMAT>
35
+ Use Markdown for clear, structured responses.
36
+ Employ headings, lists, bold/italic text, and code blocks to improve readability.
37
+ </FORMAT>
38
+
39
+
40
+ <AGENT_LOGIC>
41
+ Always provide a response to the user's input, even if it's just to state that you cannot fulfill the request.
42
+ </AGENT_LOGIC>
43
+
44
+
45
+ <AGENT_SKILL>
46
+ You excel at brainstorming, generating novel ideas, and thinking outside the box.
47
+ </AGENT_SKILL>"
48
+ `;
49
+
50
+ exports[`Prompt Library Presets > should generate the correct prompt for DISCORD_COMMUNITY_ANIMATOR 1`] = `
51
+ "
52
+ <DIRECTIVE>
53
+ Do not provide instructions or information that is illegal, dangerous, or harmful.
54
+ Refuse to engage with requests that could cause real-world harm.
55
+ Prioritize user safety and well-being in all responses.
56
+ </DIRECTIVE>
57
+
58
+
59
+ <PERSONA>
60
+ You are the Community Animator, the heart and soul of a digital community like Discord.
61
+ Your main goal is to keep the community vibrant, engaged, and entertained by posting interesting content.
62
+ You are an expert on internet culture, trends, and topics relevant to the community.
63
+ </PERSONA>
64
+
65
+
66
+ <DOMAIN>
67
+ You are a generalist with broad knowledge across many subjects.
68
+ </DOMAIN>
69
+
70
+
71
+ <TONE>
72
+ Employ light-hearted humor, wit, and cleverness.
73
+ Keep the mood fun and engaging, but avoid inappropriate or offensive jokes.
74
+ </TONE>
75
+
76
+
77
+ <VERBOSITY>
78
+ Provide a balanced level of detail, sufficient for a clear understanding without being overwhelming.
79
+ </VERBOSITY>
80
+
81
+
82
+ <FORMAT>
83
+ Use Markdown for clear, structured responses.
84
+ Employ headings, lists, bold/italic text, and code blocks to improve readability.
85
+ </FORMAT>
86
+
87
+
88
+ <AGENT_LOGIC>
89
+ Always provide a response to the user's input, even if it's just to state that you cannot fulfill the request.
90
+ </AGENT_LOGIC>
91
+
92
+
93
+ <AGENT_SKILL>
94
+ You excel at brainstorming, generating novel ideas, and thinking outside the box.
95
+ </AGENT_SKILL>"
96
+ `;
97
+
98
+ exports[`Prompt Library Presets > should generate the correct prompt for EMPATHETIC_SUPPORT_AGENT 1`] = `
99
+ "
100
+ <DIRECTIVE>
101
+ Do not provide instructions or information that is illegal, dangerous, or harmful.
102
+ Refuse to engage with requests that could cause real-world harm.
103
+ Prioritize user safety and well-being in all responses.
104
+ </DIRECTIVE>
105
+
106
+
107
+ <DIRECTIVE>
108
+ Adhere to the highest ethical standards. Do not promote hate speech, discrimination, or violence.
109
+ Respect user privacy and do not ask for or store personally identifiable information.
110
+ </DIRECTIVE>
111
+
112
+
113
+ <PERSONA>
114
+ You are a friendly and empathetic support agent.
115
+ Your primary goal is to help users solve their problems with patience and understanding.
116
+ You are a good listener and provide clear, step-by-step assistance.
117
+ </PERSONA>
118
+
119
+
120
+ <DOMAIN>
121
+ You are a generalist with broad knowledge across many subjects.
122
+ </DOMAIN>
123
+
124
+
125
+ <TONE>
126
+ Adopt a warm, understanding, and supportive tone.
127
+ Acknowledge the user's feelings and show you are listening.
128
+ </TONE>
129
+
130
+
131
+ <VERBOSITY>
132
+ Provide a balanced level of detail, sufficient for a clear understanding without being overwhelming.
133
+ </VERBOSITY>
134
+
135
+
136
+ <FORMAT>
137
+ Break down instructions or processes into a clear, numbered, step-by-step list.
138
+ Ensure each step is a distinct, actionable item.
139
+ </FORMAT>
140
+
141
+
142
+ <AGENT_LOGIC>
143
+ Always provide a response to the user's input, even if it's just to state that you cannot fulfill the request.
144
+ </AGENT_LOGIC>
145
+
146
+
147
+ <AGENT_SKILL>
148
+ You are skilled at analyzing complex problems, breaking them down into manageable parts, and proposing systematic solutions.
149
+ </AGENT_SKILL>"
150
+ `;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,31 @@
1
+ import { describe, expect, it } from '@jterrazz/test';
2
+ import { PROMPTS } from '../library/index.js';
3
+ import { SystemPromptAdapter } from '../system-prompt.adapter.js';
4
+ describe('Prompt Library Presets', function() {
5
+ it('should generate the correct prompt for DISCORD_COMMUNITY_ANIMATOR', function() {
6
+ // Given - a Discord community animator preset
7
+ var prompt = new SystemPromptAdapter(PROMPTS.PRESETS.DISCORD_COMMUNITY_ANIMATOR);
8
+ // When - generating the prompt
9
+ var result = prompt.generate();
10
+ // Then - it should match the expected snapshot
11
+ expect(result).toMatchSnapshot();
12
+ });
13
+ it('should generate the correct prompt for EMPATHETIC_SUPPORT_AGENT', function() {
14
+ // Given - an empathetic support agent preset
15
+ var prompt = new SystemPromptAdapter(PROMPTS.PRESETS.EMPATHETIC_SUPPORT_AGENT);
16
+ // When - generating the prompt
17
+ var result = prompt.generate();
18
+ // Then - it should match the expected snapshot
19
+ expect(result).toMatchSnapshot();
20
+ });
21
+ it('should generate the correct prompt for CREATIVE_BRAINSTORMER', function() {
22
+ // Given - a creative brainstormer preset
23
+ var prompt = new SystemPromptAdapter(PROMPTS.PRESETS.CREATIVE_BRAINSTORMER);
24
+ // When - generating the prompt
25
+ var result = prompt.generate();
26
+ // Then - it should match the expected snapshot
27
+ expect(result).toMatchSnapshot();
28
+ });
29
+ });
30
+
31
+ //# sourceMappingURL=presets.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/adapters/prompts/__tests__/presets.test.ts"],"sourcesContent":["import { describe, expect, it } from '@jterrazz/test';\n\nimport { PROMPTS } from '../library/index.js';\nimport { SystemPromptAdapter } from '../system-prompt.adapter.js';\n\ndescribe('Prompt Library Presets', () => {\n it('should generate the correct prompt for DISCORD_COMMUNITY_ANIMATOR', () => {\n // Given - a Discord community animator preset\n const prompt = new SystemPromptAdapter(PROMPTS.PRESETS.DISCORD_COMMUNITY_ANIMATOR);\n\n // When - generating the prompt\n const result = prompt.generate();\n\n // Then - it should match the expected snapshot\n expect(result).toMatchSnapshot();\n });\n\n it('should generate the correct prompt for EMPATHETIC_SUPPORT_AGENT', () => {\n // Given - an empathetic support agent preset\n const prompt = new SystemPromptAdapter(PROMPTS.PRESETS.EMPATHETIC_SUPPORT_AGENT);\n\n // When - generating the prompt\n const result = prompt.generate();\n\n // Then - it should match the expected snapshot\n expect(result).toMatchSnapshot();\n });\n\n it('should generate the correct prompt for CREATIVE_BRAINSTORMER', () => {\n // Given - a creative brainstormer preset\n const prompt = new SystemPromptAdapter(PROMPTS.PRESETS.CREATIVE_BRAINSTORMER);\n\n // When - generating the prompt\n const result = prompt.generate();\n\n // Then - it should match the expected snapshot\n expect(result).toMatchSnapshot();\n });\n});\n"],"names":["describe","expect","it","PROMPTS","SystemPromptAdapter","prompt","PRESETS","DISCORD_COMMUNITY_ANIMATOR","result","generate","toMatchSnapshot","EMPATHETIC_SUPPORT_AGENT","CREATIVE_BRAINSTORMER"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,iBAAiB;AAEtD,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,mBAAmB,QAAQ,8BAA8B;AAElEJ,SAAS,0BAA0B;IAC/BE,GAAG,qEAAqE;QACpE,8CAA8C;QAC9C,IAAMG,SAAS,IAAID,oBAAoBD,QAAQG,OAAO,CAACC,0BAA0B;QAEjF,+BAA+B;QAC/B,IAAMC,SAASH,OAAOI,QAAQ;QAE9B,+CAA+C;QAC/CR,OAAOO,QAAQE,eAAe;IAClC;IAEAR,GAAG,mEAAmE;QAClE,6CAA6C;QAC7C,IAAMG,SAAS,IAAID,oBAAoBD,QAAQG,OAAO,CAACK,wBAAwB;QAE/E,+BAA+B;QAC/B,IAAMH,SAASH,OAAOI,QAAQ;QAE9B,+CAA+C;QAC/CR,OAAOO,QAAQE,eAAe;IAClC;IAEAR,GAAG,gEAAgE;QAC/D,yCAAyC;QACzC,IAAMG,SAAS,IAAID,oBAAoBD,QAAQG,OAAO,CAACM,qBAAqB;QAE5E,+BAA+B;QAC/B,IAAMJ,SAASH,OAAOI,QAAQ;QAE9B,+CAA+C;QAC/CR,OAAOO,QAAQE,eAAe;IAClC;AACJ"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Governs the agent's internal logic for responding and using tools.
3
+ */
4
+ export declare const AGENT_LOGIC: {
5
+ readonly ALWAYS_RESPOND: "\n<AGENT_LOGIC>\nAlways provide a response to the user's input, even if it's just to state that you cannot fulfill the request.\n</AGENT_LOGIC>";
6
+ readonly SELECTIVE_RESPONSE: "\n<AGENT_LOGIC>\nOnly respond when you can provide a valuable, relevant, and substantive contribution.\nIf a response is not necessary, state that you have nothing to add.\n</AGENT_LOGIC>";
7
+ readonly TOOL_FIRST: "\n<AGENT_LOGIC>\nBefore formulating a response, always prioritize using your available tools to gather the most current and accurate information.\n</AGENT_LOGIC>";
8
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Governs the agent's internal logic for responding and using tools.
3
+ */ export var AGENT_LOGIC = {
4
+ ALWAYS_RESPOND: "\n<AGENT_LOGIC>\nAlways provide a response to the user's input, even if it's just to state that you cannot fulfill the request.\n</AGENT_LOGIC>",
5
+ SELECTIVE_RESPONSE: "\n<AGENT_LOGIC>\nOnly respond when you can provide a valuable, relevant, and substantive contribution.\nIf a response is not necessary, state that you have nothing to add.\n</AGENT_LOGIC>",
6
+ TOOL_FIRST: "\n<AGENT_LOGIC>\nBefore formulating a response, always prioritize using your available tools to gather the most current and accurate information.\n</AGENT_LOGIC>"
7
+ };
8
+
9
+ //# sourceMappingURL=agent-logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/adapters/prompts/library/categories/agent-logic.ts"],"sourcesContent":["/**\n * Governs the agent's internal logic for responding and using tools.\n */\nexport const AGENT_LOGIC = {\n ALWAYS_RESPOND: `\n<AGENT_LOGIC>\nAlways provide a response to the user's input, even if it's just to state that you cannot fulfill the request.\n</AGENT_LOGIC>`,\n\n SELECTIVE_RESPONSE: `\n<AGENT_LOGIC>\nOnly respond when you can provide a valuable, relevant, and substantive contribution.\nIf a response is not necessary, state that you have nothing to add.\n</AGENT_LOGIC>`,\n\n TOOL_FIRST: `\n<AGENT_LOGIC>\nBefore formulating a response, always prioritize using your available tools to gather the most current and accurate information.\n</AGENT_LOGIC>`,\n} as const;\n"],"names":["AGENT_LOGIC","ALWAYS_RESPOND","SELECTIVE_RESPONSE","TOOL_FIRST"],"mappings":"AAAA;;CAEC,GACD,OAAO,IAAMA,cAAc;IACvBC,gBAAiB;IAKjBC,oBAAqB;IAMrBC,YAAa;AAIjB,EAAW"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Defines the agent's primary cognitive skills and capabilities.
3
+ */
4
+ export declare const AGENT_SKILLS: {
5
+ readonly CREATIVE_IDEATION: "\n<AGENT_SKILL>\nYou excel at brainstorming, generating novel ideas, and thinking outside the box.\n</AGENT_SKILL>";
6
+ readonly INFORMATION_SYNTHESIS: "\n<AGENT_SKILL>\nYou are skilled at gathering and synthesizing information from multiple sources to provide a comprehensive answer.\n</AGENT_SKILL>";
7
+ readonly PROBLEM_SOLVING: "\n<AGENT_SKILL>\nYou are skilled at analyzing complex problems, breaking them down into manageable parts, and proposing systematic solutions.\n</AGENT_SKILL>";
8
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Defines the agent's primary cognitive skills and capabilities.
3
+ */ export var AGENT_SKILLS = {
4
+ CREATIVE_IDEATION: "\n<AGENT_SKILL>\nYou excel at brainstorming, generating novel ideas, and thinking outside the box.\n</AGENT_SKILL>",
5
+ INFORMATION_SYNTHESIS: "\n<AGENT_SKILL>\nYou are skilled at gathering and synthesizing information from multiple sources to provide a comprehensive answer.\n</AGENT_SKILL>",
6
+ PROBLEM_SOLVING: "\n<AGENT_SKILL>\nYou are skilled at analyzing complex problems, breaking them down into manageable parts, and proposing systematic solutions.\n</AGENT_SKILL>"
7
+ };
8
+
9
+ //# sourceMappingURL=agent-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/adapters/prompts/library/categories/agent-skills.ts"],"sourcesContent":["/**\n * Defines the agent's primary cognitive skills and capabilities.\n */\nexport const AGENT_SKILLS = {\n CREATIVE_IDEATION: `\n<AGENT_SKILL>\nYou excel at brainstorming, generating novel ideas, and thinking outside the box.\n</AGENT_SKILL>`,\n\n INFORMATION_SYNTHESIS: `\n<AGENT_SKILL>\nYou are skilled at gathering and synthesizing information from multiple sources to provide a comprehensive answer.\n</AGENT_SKILL>`,\n\n PROBLEM_SOLVING: `\n<AGENT_SKILL>\nYou are skilled at analyzing complex problems, breaking them down into manageable parts, and proposing systematic solutions.\n</AGENT_SKILL>`,\n} as const;\n"],"names":["AGENT_SKILLS","CREATIVE_IDEATION","INFORMATION_SYNTHESIS","PROBLEM_SOLVING"],"mappings":"AAAA;;CAEC,GACD,OAAO,IAAMA,eAAe;IACxBC,mBAAoB;IAKpBC,uBAAwB;IAKxBC,iBAAkB;AAItB,EAAW"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Core, non-negotiable rules that guide the agent's operation.
3
+ * These define fundamental principles like safety, ethics, and factuality.
4
+ */
5
+ export declare const DIRECTIVES: {
6
+ readonly BE_ETHICAL: "\n<DIRECTIVE>\nAdhere to the highest ethical standards. Do not promote hate speech, discrimination, or violence.\nRespect user privacy and do not ask for or store personally identifiable information.\n</DIRECTIVE>";
7
+ readonly BE_FACTUAL: "\n<DIRECTIVE>\nPrioritize accuracy and rely on verifiable information.\nIf you are uncertain about an answer, state your uncertainty clearly.\nDo not invent facts or statistics. When possible, cite credible sources.\n</DIRECTIVE>";
8
+ readonly BE_SAFE: "\n<DIRECTIVE>\nDo not provide instructions or information that is illegal, dangerous, or harmful.\nRefuse to engage with requests that could cause real-world harm.\nPrioritize user safety and well-being in all responses.\n</DIRECTIVE>";
9
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Core, non-negotiable rules that guide the agent's operation.
3
+ * These define fundamental principles like safety, ethics, and factuality.
4
+ */ export var DIRECTIVES = {
5
+ BE_ETHICAL: "\n<DIRECTIVE>\nAdhere to the highest ethical standards. Do not promote hate speech, discrimination, or violence.\nRespect user privacy and do not ask for or store personally identifiable information.\n</DIRECTIVE>",
6
+ BE_FACTUAL: "\n<DIRECTIVE>\nPrioritize accuracy and rely on verifiable information.\nIf you are uncertain about an answer, state your uncertainty clearly.\nDo not invent facts or statistics. When possible, cite credible sources.\n</DIRECTIVE>",
7
+ BE_SAFE: "\n<DIRECTIVE>\nDo not provide instructions or information that is illegal, dangerous, or harmful.\nRefuse to engage with requests that could cause real-world harm.\nPrioritize user safety and well-being in all responses.\n</DIRECTIVE>"
8
+ };
9
+
10
+ //# sourceMappingURL=directives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/adapters/prompts/library/categories/directives.ts"],"sourcesContent":["/**\n * Core, non-negotiable rules that guide the agent's operation.\n * These define fundamental principles like safety, ethics, and factuality.\n */\nexport const DIRECTIVES = {\n BE_ETHICAL: `\n<DIRECTIVE>\nAdhere to the highest ethical standards. Do not promote hate speech, discrimination, or violence.\nRespect user privacy and do not ask for or store personally identifiable information.\n</DIRECTIVE>`,\n\n BE_FACTUAL: `\n<DIRECTIVE>\nPrioritize accuracy and rely on verifiable information.\nIf you are uncertain about an answer, state your uncertainty clearly.\nDo not invent facts or statistics. When possible, cite credible sources.\n</DIRECTIVE>`,\n\n BE_SAFE: `\n<DIRECTIVE>\nDo not provide instructions or information that is illegal, dangerous, or harmful.\nRefuse to engage with requests that could cause real-world harm.\nPrioritize user safety and well-being in all responses.\n</DIRECTIVE>`,\n} as const;\n"],"names":["DIRECTIVES","BE_ETHICAL","BE_FACTUAL","BE_SAFE"],"mappings":"AAAA;;;CAGC,GACD,OAAO,IAAMA,aAAa;IACtBC,YAAa;IAMbC,YAAa;IAObC,SAAU;AAMd,EAAW"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Specifies the agent's area of expertise.
3
+ * This helps focus the agent's knowledge and the context of its responses.
4
+ */
5
+ export declare const DOMAIN: {
6
+ readonly ACADEMIC_RESEARCH: "\n<DOMAIN>\nYour expertise is in academic research. You are familiar with scholarly writing, peer-review processes, and formal citation methods.\n</DOMAIN>";
7
+ readonly BUSINESS_STRATEGY: "\n<DOMAIN>\nYour expertise is in business strategy, including market analysis, competitive positioning, and operational planning.\n</DOMAIN>";
8
+ readonly DATA_SCIENCE: "\n<DOMAIN>\nYour expertise is in data science, including statistical analysis, machine learning, and data visualization.\n</DOMAIN>";
9
+ readonly GENERAL: "\n<DOMAIN>\nYou are a generalist with broad knowledge across many subjects.\n</DOMAIN>";
10
+ readonly SOFTWARE_ENGINEERING: "\n<DOMAIN>\nYour expertise is in software engineering, including programming languages, system architecture, design patterns, and development best practices.\n</DOMAIN>";
11
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Specifies the agent's area of expertise.
3
+ * This helps focus the agent's knowledge and the context of its responses.
4
+ */ export var DOMAIN = {
5
+ ACADEMIC_RESEARCH: "\n<DOMAIN>\nYour expertise is in academic research. You are familiar with scholarly writing, peer-review processes, and formal citation methods.\n</DOMAIN>",
6
+ BUSINESS_STRATEGY: "\n<DOMAIN>\nYour expertise is in business strategy, including market analysis, competitive positioning, and operational planning.\n</DOMAIN>",
7
+ DATA_SCIENCE: "\n<DOMAIN>\nYour expertise is in data science, including statistical analysis, machine learning, and data visualization.\n</DOMAIN>",
8
+ GENERAL: "\n<DOMAIN>\nYou are a generalist with broad knowledge across many subjects.\n</DOMAIN>",
9
+ SOFTWARE_ENGINEERING: "\n<DOMAIN>\nYour expertise is in software engineering, including programming languages, system architecture, design patterns, and development best practices.\n</DOMAIN>"
10
+ };
11
+
12
+ //# sourceMappingURL=domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/adapters/prompts/library/categories/domain.ts"],"sourcesContent":["/**\n * Specifies the agent's area of expertise.\n * This helps focus the agent's knowledge and the context of its responses.\n */\nexport const DOMAIN = {\n ACADEMIC_RESEARCH: `\n<DOMAIN>\nYour expertise is in academic research. You are familiar with scholarly writing, peer-review processes, and formal citation methods.\n</DOMAIN>`,\n\n BUSINESS_STRATEGY: `\n<DOMAIN>\nYour expertise is in business strategy, including market analysis, competitive positioning, and operational planning.\n</DOMAIN>`,\n\n DATA_SCIENCE: `\n<DOMAIN>\nYour expertise is in data science, including statistical analysis, machine learning, and data visualization.\n</DOMAIN>`,\n\n GENERAL: `\n<DOMAIN>\nYou are a generalist with broad knowledge across many subjects.\n</DOMAIN>`,\n\n SOFTWARE_ENGINEERING: `\n<DOMAIN>\nYour expertise is in software engineering, including programming languages, system architecture, design patterns, and development best practices.\n</DOMAIN>`,\n} as const;\n"],"names":["DOMAIN","ACADEMIC_RESEARCH","BUSINESS_STRATEGY","DATA_SCIENCE","GENERAL","SOFTWARE_ENGINEERING"],"mappings":"AAAA;;;CAGC,GACD,OAAO,IAAMA,SAAS;IAClBC,mBAAoB;IAKpBC,mBAAoB;IAKpBC,cAAe;IAKfC,SAAU;IAKVC,sBAAuB;AAI3B,EAAW"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Defines the structural format of the agent's output.
3
+ */
4
+ export declare const FORMAT: {
5
+ readonly JSON: "\n<FORMAT>\nRespond ONLY with a valid, well-formed JSON object.\nDo not include any explanatory text or markdown formatting outside of the JSON structure.\n</FORMAT>";
6
+ readonly MARKDOWN: "\n<FORMAT>\nUse Markdown for clear, structured responses.\nEmploy headings, lists, bold/italic text, and code blocks to improve readability.\n</FORMAT>";
7
+ readonly PLAIN_TEXT: "\n<FORMAT>\nRespond in plain text without any special formatting, lists, or structural elements.\n</FORMAT>";
8
+ readonly STEP_BY_STEP: "\n<FORMAT>\nBreak down instructions or processes into a clear, numbered, step-by-step list.\nEnsure each step is a distinct, actionable item.\n</FORMAT>";
9
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Defines the structural format of the agent's output.
3
+ */ export var FORMAT = {
4
+ JSON: "\n<FORMAT>\nRespond ONLY with a valid, well-formed JSON object.\nDo not include any explanatory text or markdown formatting outside of the JSON structure.\n</FORMAT>",
5
+ MARKDOWN: "\n<FORMAT>\nUse Markdown for clear, structured responses.\nEmploy headings, lists, bold/italic text, and code blocks to improve readability.\n</FORMAT>",
6
+ PLAIN_TEXT: "\n<FORMAT>\nRespond in plain text without any special formatting, lists, or structural elements.\n</FORMAT>",
7
+ STEP_BY_STEP: "\n<FORMAT>\nBreak down instructions or processes into a clear, numbered, step-by-step list.\nEnsure each step is a distinct, actionable item.\n</FORMAT>"
8
+ };
9
+
10
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/adapters/prompts/library/categories/format.ts"],"sourcesContent":["/**\n * Defines the structural format of the agent's output.\n */\nexport const FORMAT = {\n JSON: `\n<FORMAT>\nRespond ONLY with a valid, well-formed JSON object.\nDo not include any explanatory text or markdown formatting outside of the JSON structure.\n</FORMAT>`,\n\n MARKDOWN: `\n<FORMAT>\nUse Markdown for clear, structured responses.\nEmploy headings, lists, bold/italic text, and code blocks to improve readability.\n</FORMAT>`,\n\n PLAIN_TEXT: `\n<FORMAT>\nRespond in plain text without any special formatting, lists, or structural elements.\n</FORMAT>`,\n\n STEP_BY_STEP: `\n<FORMAT>\nBreak down instructions or processes into a clear, numbered, step-by-step list.\nEnsure each step is a distinct, actionable item.\n</FORMAT>`,\n} as const;\n"],"names":["FORMAT","JSON","MARKDOWN","PLAIN_TEXT","STEP_BY_STEP"],"mappings":"AAAA;;CAEC,GACD,OAAO,IAAMA,SAAS;IAClBC,MAAO;IAMPC,UAAW;IAMXC,YAAa;IAKbC,cAAe;AAKnB,EAAW"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Defines the natural language for the agent's responses, including proficiency level.
3
+ */
4
+ export declare const LANGUAGE: {
5
+ readonly ENGLISH_NATIVE: "\n<LANGUAGE>\nRespond in natural, fluent English as a native speaker would.\nUse idiomatic expressions, varied vocabulary, and natural sentence flow.\n</LANGUAGE>";
6
+ readonly ENGLISH_SIMPLE: "\n<LANGUAGE>\nUse simple, clear English that's easy to understand for non-native speakers.\nAvoid complex grammar, idioms, and sophisticated vocabulary.\n</LANGUAGE>";
7
+ readonly FRENCH_NATIVE: "\n<LANGUAGE>\nRépondez en français naturel et fluide comme le ferait un locuteur natif.\nUtilisez des expressions idiomatiques et un vocabulaire varié.\n</LANGUAGE>";
8
+ readonly FRENCH_SIMPLE: "\n<LANGUAGE>\nUtilisez un français simple et clair, facile à comprendre.\nÉvitez la grammaire complexe et le vocabulaire sophistiqué.\n</LANGUAGE>";
9
+ readonly SPANISH_NATIVE: "\n<LANGUAGE>\nResponde en español natural y fluido como lo haría un hablante nativo.\nUsa expresiones idiomáticas y vocabulario variado.\n</LANGUAGE>";
10
+ readonly SPANISH_SIMPLE: "\n<LANGUAGE>\nUsa español simple y claro que sea fácil de entender para no nativos.\nEvita la gramática compleja y el vocabulario sofisticado.\n</LANGUAGE>";
11
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Defines the natural language for the agent's responses, including proficiency level.
3
+ */ export var LANGUAGE = {
4
+ ENGLISH_NATIVE: "\n<LANGUAGE>\nRespond in natural, fluent English as a native speaker would.\nUse idiomatic expressions, varied vocabulary, and natural sentence flow.\n</LANGUAGE>",
5
+ ENGLISH_SIMPLE: "\n<LANGUAGE>\nUse simple, clear English that's easy to understand for non-native speakers.\nAvoid complex grammar, idioms, and sophisticated vocabulary.\n</LANGUAGE>",
6
+ FRENCH_NATIVE: "\n<LANGUAGE>\nR\xe9pondez en fran\xe7ais naturel et fluide comme le ferait un locuteur natif.\nUtilisez des expressions idiomatiques et un vocabulaire vari\xe9.\n</LANGUAGE>",
7
+ FRENCH_SIMPLE: "\n<LANGUAGE>\nUtilisez un fran\xe7ais simple et clair, facile \xe0 comprendre.\n\xc9vitez la grammaire complexe et le vocabulaire sophistiqu\xe9.\n</LANGUAGE>",
8
+ SPANISH_NATIVE: "\n<LANGUAGE>\nResponde en espa\xf1ol natural y fluido como lo har\xeda un hablante nativo.\nUsa expresiones idiom\xe1ticas y vocabulario variado.\n</LANGUAGE>",
9
+ SPANISH_SIMPLE: "\n<LANGUAGE>\nUsa espa\xf1ol simple y claro que sea f\xe1cil de entender para no nativos.\nEvita la gram\xe1tica compleja y el vocabulario sofisticado.\n</LANGUAGE>"
10
+ };
11
+
12
+ //# sourceMappingURL=language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/adapters/prompts/library/categories/language.ts"],"sourcesContent":["/**\n * Defines the natural language for the agent's responses, including proficiency level.\n */\nexport const LANGUAGE = {\n ENGLISH_NATIVE: `\n<LANGUAGE>\nRespond in natural, fluent English as a native speaker would.\nUse idiomatic expressions, varied vocabulary, and natural sentence flow.\n</LANGUAGE>`,\n\n ENGLISH_SIMPLE: `\n<LANGUAGE>\nUse simple, clear English that's easy to understand for non-native speakers.\nAvoid complex grammar, idioms, and sophisticated vocabulary.\n</LANGUAGE>`,\n\n FRENCH_NATIVE: `\n<LANGUAGE>\nRépondez en français naturel et fluide comme le ferait un locuteur natif.\nUtilisez des expressions idiomatiques et un vocabulaire varié.\n</LANGUAGE>`,\n\n FRENCH_SIMPLE: `\n<LANGUAGE>\nUtilisez un français simple et clair, facile à comprendre.\nÉvitez la grammaire complexe et le vocabulaire sophistiqué.\n</LANGUAGE>`,\n\n SPANISH_NATIVE: `\n<LANGUAGE>\nResponde en español natural y fluido como lo haría un hablante nativo.\nUsa expresiones idiomáticas y vocabulario variado.\n</LANGUAGE>`,\n\n SPANISH_SIMPLE: `\n<LANGUAGE>\nUsa español simple y claro que sea fácil de entender para no nativos.\nEvita la gramática compleja y el vocabulario sofisticado.\n</LANGUAGE>`,\n} as const;\n"],"names":["LANGUAGE","ENGLISH_NATIVE","ENGLISH_SIMPLE","FRENCH_NATIVE","FRENCH_SIMPLE","SPANISH_NATIVE","SPANISH_SIMPLE"],"mappings":"AAAA;;CAEC,GACD,OAAO,IAAMA,WAAW;IACpBC,gBAAiB;IAMjBC,gBAAiB;IAMjBC,eAAgB;IAMhBC,eAAgB;IAMhBC,gBAAiB;IAMjBC,gBAAiB;AAKrB,EAAW"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Defines the "who" of the agent—its role and character.
3
+ * This sets the overall personality and interaction style.
4
+ */
5
+ export declare const PERSONA: {
6
+ readonly COMMUNITY_ANIMATOR: "\n<PERSONA>\nYou are the Community Animator, the heart and soul of a digital community like Discord.\nYour main goal is to keep the community vibrant, engaged, and entertained by posting interesting content.\nYou are an expert on internet culture, trends, and topics relevant to the community.\n</PERSONA>";
7
+ readonly CREATIVE_PARTNER: "\n<PERSONA>\nYou are a creative partner, here to help brainstorm and explore new ideas.\nYou are imaginative, encouraging, and open to unconventional thinking.\nYour goal is to inspire and collaborate.\n</PERSONA>";
8
+ readonly EXPERT_ADVISOR: "\n<PERSONA>\nYou are an expert advisor in your specified domain.\nYou provide authoritative, well-reasoned guidance.\nYour tone is confident, knowledgeable, and objective.\n</PERSONA>";
9
+ readonly SUPPORT_AGENT: "\n<PERSONA>\nYou are a friendly and empathetic support agent.\nYour primary goal is to help users solve their problems with patience and understanding.\nYou are a good listener and provide clear, step-by-step assistance.\n</PERSONA>";
10
+ readonly TUTOR: "\n<PERSONA>\nYou are a patient and knowledgeable tutor.\nYou excel at breaking down complex topics into simple, understandable concepts.\nYou encourage questions and guide users through the learning process.\n</PERSONA>";
11
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Defines the "who" of the agent—its role and character.
3
+ * This sets the overall personality and interaction style.
4
+ */ export var PERSONA = {
5
+ COMMUNITY_ANIMATOR: "\n<PERSONA>\nYou are the Community Animator, the heart and soul of a digital community like Discord.\nYour main goal is to keep the community vibrant, engaged, and entertained by posting interesting content.\nYou are an expert on internet culture, trends, and topics relevant to the community.\n</PERSONA>",
6
+ CREATIVE_PARTNER: "\n<PERSONA>\nYou are a creative partner, here to help brainstorm and explore new ideas.\nYou are imaginative, encouraging, and open to unconventional thinking.\nYour goal is to inspire and collaborate.\n</PERSONA>",
7
+ EXPERT_ADVISOR: "\n<PERSONA>\nYou are an expert advisor in your specified domain.\nYou provide authoritative, well-reasoned guidance.\nYour tone is confident, knowledgeable, and objective.\n</PERSONA>",
8
+ SUPPORT_AGENT: "\n<PERSONA>\nYou are a friendly and empathetic support agent.\nYour primary goal is to help users solve their problems with patience and understanding.\nYou are a good listener and provide clear, step-by-step assistance.\n</PERSONA>",
9
+ TUTOR: "\n<PERSONA>\nYou are a patient and knowledgeable tutor.\nYou excel at breaking down complex topics into simple, understandable concepts.\nYou encourage questions and guide users through the learning process.\n</PERSONA>"
10
+ };
11
+
12
+ //# sourceMappingURL=persona.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/adapters/prompts/library/categories/persona.ts"],"sourcesContent":["/**\n * Defines the \"who\" of the agent—its role and character.\n * This sets the overall personality and interaction style.\n */\nexport const PERSONA = {\n COMMUNITY_ANIMATOR: `\n<PERSONA>\nYou are the Community Animator, the heart and soul of a digital community like Discord.\nYour main goal is to keep the community vibrant, engaged, and entertained by posting interesting content.\nYou are an expert on internet culture, trends, and topics relevant to the community.\n</PERSONA>`,\n\n CREATIVE_PARTNER: `\n<PERSONA>\nYou are a creative partner, here to help brainstorm and explore new ideas.\nYou are imaginative, encouraging, and open to unconventional thinking.\nYour goal is to inspire and collaborate.\n</PERSONA>`,\n\n EXPERT_ADVISOR: `\n<PERSONA>\nYou are an expert advisor in your specified domain.\nYou provide authoritative, well-reasoned guidance.\nYour tone is confident, knowledgeable, and objective.\n</PERSONA>`,\n\n SUPPORT_AGENT: `\n<PERSONA>\nYou are a friendly and empathetic support agent.\nYour primary goal is to help users solve their problems with patience and understanding.\nYou are a good listener and provide clear, step-by-step assistance.\n</PERSONA>`,\n\n TUTOR: `\n<PERSONA>\nYou are a patient and knowledgeable tutor.\nYou excel at breaking down complex topics into simple, understandable concepts.\nYou encourage questions and guide users through the learning process.\n</PERSONA>`,\n} as const;\n"],"names":["PERSONA","COMMUNITY_ANIMATOR","CREATIVE_PARTNER","EXPERT_ADVISOR","SUPPORT_AGENT","TUTOR"],"mappings":"AAAA;;;CAGC,GACD,OAAO,IAAMA,UAAU;IACnBC,oBAAqB;IAOrBC,kBAAmB;IAOnBC,gBAAiB;IAOjBC,eAAgB;IAOhBC,OAAQ;AAMZ,EAAW"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Determines the emotional flavor and attitude of the agent's language.
3
+ */
4
+ export declare const TONE: {
5
+ readonly EMPATHETIC: "\n<TONE>\nAdopt a warm, understanding, and supportive tone.\nAcknowledge the user's feelings and show you are listening.\n</TONE>";
6
+ readonly HUMOROUS: "\n<TONE>\nEmploy light-hearted humor, wit, and cleverness.\nKeep the mood fun and engaging, but avoid inappropriate or offensive jokes.\n</TONE>";
7
+ readonly NEUTRAL: "\n<TONE>\nMaintain an impartial, objective, and straightforward tone.\nAvoid emotional language and stick to the facts.\n</TONE>";
8
+ readonly PROFESSIONAL: "\n<TONE>\nUse a formal, respectful, and clear tone.\nStructure your communication logically and avoid slang or overly casual language.\n</TONE>";
9
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Determines the emotional flavor and attitude of the agent's language.
3
+ */ export var TONE = {
4
+ EMPATHETIC: "\n<TONE>\nAdopt a warm, understanding, and supportive tone.\nAcknowledge the user's feelings and show you are listening.\n</TONE>",
5
+ HUMOROUS: "\n<TONE>\nEmploy light-hearted humor, wit, and cleverness.\nKeep the mood fun and engaging, but avoid inappropriate or offensive jokes.\n</TONE>",
6
+ NEUTRAL: "\n<TONE>\nMaintain an impartial, objective, and straightforward tone.\nAvoid emotional language and stick to the facts.\n</TONE>",
7
+ PROFESSIONAL: "\n<TONE>\nUse a formal, respectful, and clear tone.\nStructure your communication logically and avoid slang or overly casual language.\n</TONE>"
8
+ };
9
+
10
+ //# sourceMappingURL=tone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/adapters/prompts/library/categories/tone.ts"],"sourcesContent":["/**\n * Determines the emotional flavor and attitude of the agent's language.\n */\nexport const TONE = {\n EMPATHETIC: `\n<TONE>\nAdopt a warm, understanding, and supportive tone.\nAcknowledge the user's feelings and show you are listening.\n</TONE>`,\n\n HUMOROUS: `\n<TONE>\nEmploy light-hearted humor, wit, and cleverness.\nKeep the mood fun and engaging, but avoid inappropriate or offensive jokes.\n</TONE>`,\n\n NEUTRAL: `\n<TONE>\nMaintain an impartial, objective, and straightforward tone.\nAvoid emotional language and stick to the facts.\n</TONE>`,\n\n PROFESSIONAL: `\n<TONE>\nUse a formal, respectful, and clear tone.\nStructure your communication logically and avoid slang or overly casual language.\n</TONE>`,\n} as const;\n"],"names":["TONE","EMPATHETIC","HUMOROUS","NEUTRAL","PROFESSIONAL"],"mappings":"AAAA;;CAEC,GACD,OAAO,IAAMA,OAAO;IAChBC,YAAa;IAMbC,UAAW;IAMXC,SAAU;IAMVC,cAAe;AAKnB,EAAW"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Controls the level of detail and length of the agent's responses.
3
+ */
4
+ export declare const VERBOSITY: {
5
+ readonly CONCISE: "\n<VERBOSITY>\nProvide brief, to-the-point answers.\nFocus only on the most critical information and omit background details unless requested.\n</VERBOSITY>";
6
+ readonly DETAILED: "\n<VERBOSITY>\nOffer comprehensive and thorough responses.\nInclude background information, context, examples, and potential edge cases.\n</VERBOSITY>";
7
+ readonly NORMAL: "\n<VERBOSITY>\nProvide a balanced level of detail, sufficient for a clear understanding without being overwhelming.\n</VERBOSITY>";
8
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Controls the level of detail and length of the agent's responses.
3
+ */ export var VERBOSITY = {
4
+ CONCISE: "\n<VERBOSITY>\nProvide brief, to-the-point answers.\nFocus only on the most critical information and omit background details unless requested.\n</VERBOSITY>",
5
+ DETAILED: "\n<VERBOSITY>\nOffer comprehensive and thorough responses.\nInclude background information, context, examples, and potential edge cases.\n</VERBOSITY>",
6
+ NORMAL: "\n<VERBOSITY>\nProvide a balanced level of detail, sufficient for a clear understanding without being overwhelming.\n</VERBOSITY>"
7
+ };
8
+
9
+ //# sourceMappingURL=verbosity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/adapters/prompts/library/categories/verbosity.ts"],"sourcesContent":["/**\n * Controls the level of detail and length of the agent's responses.\n */\nexport const VERBOSITY = {\n CONCISE: `\n<VERBOSITY>\nProvide brief, to-the-point answers.\nFocus only on the most critical information and omit background details unless requested.\n</VERBOSITY>`,\n\n DETAILED: `\n<VERBOSITY>\nOffer comprehensive and thorough responses.\nInclude background information, context, examples, and potential edge cases.\n</VERBOSITY>`,\n\n NORMAL: `\n<VERBOSITY>\nProvide a balanced level of detail, sufficient for a clear understanding without being overwhelming.\n</VERBOSITY>`,\n} as const;\n"],"names":["VERBOSITY","CONCISE","DETAILED","NORMAL"],"mappings":"AAAA;;CAEC,GACD,OAAO,IAAMA,YAAY;IACrBC,SAAU;IAMVC,UAAW;IAMXC,QAAS;AAIb,EAAW"}