agentlaunch-templates 0.3.2 → 0.4.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.
package/dist/generator.js CHANGED
@@ -478,7 +478,7 @@ function buildAgentlaunchConfig(template, vars) {
478
478
  export function generateFromTemplate(templateName, variables, options = { variables: {} }) {
479
479
  const template = getTemplate(templateName);
480
480
  if (!template) {
481
- const available = ["genesis", "custom", "price-monitor", "trading-bot", "data-analyzer", "research", "gifter"];
481
+ const available = ["chat-memory", "swarm-starter", "custom", "price-monitor", "trading-bot", "data-analyzer", "research", "gifter"];
482
482
  throw new Error(`Template "${templateName}" not found. Available templates: ${available.join(", ")}`);
483
483
  }
484
484
  const strict = options.strict ?? false;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,8DAA8D;IAC9D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wEAAwE;IACxE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;CACd;AA8BD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,aAAa,EAAE,CAE/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAInE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAQ7D"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,8DAA8D;IAC9D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wEAAwE;IACxE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;CACd;AA+BD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,aAAa,EAAE,CAE/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAInE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAQ7D"}
package/dist/registry.js CHANGED
@@ -6,6 +6,7 @@
6
6
  * 1. Creating src/templates/<name>.ts exporting `template: AgentTemplate`
7
7
  * 2. Importing and adding to TEMPLATES below
8
8
  */
9
+ import { template as chatMemoryTemplate } from "./templates/chat-memory.js";
9
10
  import { template as genesisTemplate } from "./templates/genesis.js";
10
11
  import { template as customTemplate } from "./templates/custom.js";
11
12
  import { template as priceMonitorTemplate } from "./templates/price-monitor.js";
@@ -17,6 +18,7 @@ import { template as gifterTemplate } from "./templates/gifter.js";
17
18
  // Internal registry
18
19
  // ---------------------------------------------------------------------------
19
20
  const TEMPLATES = [
21
+ chatMemoryTemplate, // Base template - recommended starting point
20
22
  genesisTemplate,
21
23
  customTemplate,
22
24
  priceMonitorTemplate,
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAkCnE,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,SAAS,GAAoB;IACjC,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;CACf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,wDAAwD;IACxD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACpD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,qDAAqD;IACrD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/D,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAkCnE,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,SAAS,GAAoB;IACjC,kBAAkB,EAAG,6CAA6C;IAClE,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;CACf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,wDAAwD;IACxD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACpD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,qDAAqD;IACrD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/D,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * chat-memory.ts — Base template with conversation memory and configurable LLM
3
+ *
4
+ * This is the foundation template for building AI agents on Agentverse.
5
+ * Features:
6
+ * - Conversation memory (persists last N exchanges per user)
7
+ * - Configurable LLM backend (ASI1, OpenRouter, OpenAI, or any compatible API)
8
+ * - Clean Chat Protocol v0.3.0 implementation
9
+ * - Session persistence via ctx.storage
10
+ * - Lazy LLM client initialization (avoids compile-time issues)
11
+ *
12
+ * Compatible LLM providers:
13
+ * - ASI1: https://api.asi1.ai/v1 (default)
14
+ * - OpenRouter: https://openrouter.ai/api/v1
15
+ * - OpenAI: https://api.openai.com/v1
16
+ * - Any OpenAI-compatible endpoint
17
+ */
18
+ import type { AgentTemplate } from "../registry.js";
19
+ export declare const template: AgentTemplate;
20
+ //# sourceMappingURL=chat-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-memory.d.ts","sourceRoot":"","sources":["../../src/templates/chat-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,QAAQ,EAAE,aAyQtB,CAAC"}
@@ -0,0 +1,284 @@
1
+ /**
2
+ * chat-memory.ts — Base template with conversation memory and configurable LLM
3
+ *
4
+ * This is the foundation template for building AI agents on Agentverse.
5
+ * Features:
6
+ * - Conversation memory (persists last N exchanges per user)
7
+ * - Configurable LLM backend (ASI1, OpenRouter, OpenAI, or any compatible API)
8
+ * - Clean Chat Protocol v0.3.0 implementation
9
+ * - Session persistence via ctx.storage
10
+ * - Lazy LLM client initialization (avoids compile-time issues)
11
+ *
12
+ * Compatible LLM providers:
13
+ * - ASI1: https://api.asi1.ai/v1 (default)
14
+ * - OpenRouter: https://openrouter.ai/api/v1
15
+ * - OpenAI: https://api.openai.com/v1
16
+ * - Any OpenAI-compatible endpoint
17
+ */
18
+ export const template = {
19
+ name: "chat-memory",
20
+ description: "AI agent with conversation memory and configurable LLM (ASI1, OpenRouter, OpenAI)",
21
+ category: "AI/ML",
22
+ variables: [
23
+ { name: "agent_name", required: true, description: "Name of the agent" },
24
+ {
25
+ name: "description",
26
+ required: false,
27
+ default: "AI assistant with conversation memory",
28
+ description: "Short description of what this agent does",
29
+ },
30
+ {
31
+ name: "system_prompt",
32
+ default: "You are a helpful AI assistant. Be concise and accurate.",
33
+ description: "System prompt that defines the agent's personality and knowledge",
34
+ },
35
+ {
36
+ name: "llm_base_url",
37
+ default: "https://api.asi1.ai/v1",
38
+ description: "LLM API base URL (ASI1, OpenRouter, OpenAI, or compatible)",
39
+ },
40
+ {
41
+ name: "llm_model",
42
+ default: "asi1-mini",
43
+ description: "Model name to use (e.g., asi1-mini, gpt-4o-mini, claude-3-haiku)",
44
+ },
45
+ {
46
+ name: "max_history",
47
+ default: "10",
48
+ description: "Number of conversation exchanges to remember per user",
49
+ },
50
+ {
51
+ name: "max_tokens",
52
+ default: "1500",
53
+ description: "Maximum tokens in LLM response",
54
+ },
55
+ {
56
+ name: "temperature",
57
+ default: "0.7",
58
+ description: "LLM temperature (0.0-1.0, lower = more deterministic)",
59
+ },
60
+ ],
61
+ dependencies: ["openai"],
62
+ secrets: ["LLM_API_KEY", "AGENTVERSE_API_KEY"],
63
+ code: `"""
64
+ {{agent_name}} — AI Agent with Conversation Memory
65
+
66
+ {{description}}
67
+
68
+ Built with the chat-memory template.
69
+ Supports ASI1, OpenRouter, OpenAI, or any OpenAI-compatible LLM.
70
+
71
+ Environment variables (set as Agentverse secrets):
72
+ LLM_API_KEY - Your LLM provider API key (required)
73
+ LLM_BASE_URL - API endpoint (default: {{llm_base_url}})
74
+ LLM_MODEL - Model name (default: {{llm_model}})
75
+ SYSTEM_PROMPT - Override the default system prompt
76
+ """
77
+
78
+ from uagents import Agent, Context, Protocol
79
+ from uagents_core.contrib.protocols.chat import (
80
+ ChatMessage, ChatAcknowledgement, TextContent,
81
+ EndSessionContent, chat_protocol_spec
82
+ )
83
+ from datetime import datetime
84
+ import json
85
+ import os
86
+
87
+ agent = Agent()
88
+ chat_proto = Protocol(spec=chat_protocol_spec)
89
+
90
+ # =============================================================================
91
+ # CONFIGURATION
92
+ # =============================================================================
93
+
94
+ CONFIG = {
95
+ "name": "{{agent_name}}",
96
+ "description": "{{description}}",
97
+ "llm_base_url": os.environ.get("LLM_BASE_URL", "{{llm_base_url}}"),
98
+ "llm_model": os.environ.get("LLM_MODEL", "{{llm_model}}"),
99
+ "max_history": {{max_history}},
100
+ "max_tokens": {{max_tokens}},
101
+ "temperature": {{temperature}},
102
+ }
103
+
104
+ DEFAULT_SYSTEM_PROMPT = """{{system_prompt}}"""
105
+
106
+ SYSTEM_PROMPT = os.environ.get("SYSTEM_PROMPT", DEFAULT_SYSTEM_PROMPT)
107
+
108
+ # =============================================================================
109
+ # LLM CLIENT (Lazy initialization)
110
+ # =============================================================================
111
+
112
+ _llm_client = None
113
+
114
+ def get_llm_client():
115
+ """Get or create LLM client. Lazy init avoids compile-time issues."""
116
+ global _llm_client
117
+ if _llm_client is None:
118
+ from openai import OpenAI
119
+ _llm_client = OpenAI(
120
+ api_key=os.environ.get("LLM_API_KEY", ""),
121
+ base_url=CONFIG["llm_base_url"]
122
+ )
123
+ return _llm_client
124
+
125
+ # =============================================================================
126
+ # CONVERSATION MEMORY
127
+ # =============================================================================
128
+
129
+ def get_session(ctx: Context, sender: str) -> dict:
130
+ """Get or create session state with conversation history."""
131
+ key = f"session:{sender}"
132
+ data = ctx.storage.get(key)
133
+ if data:
134
+ session = json.loads(data)
135
+ if "history" not in session:
136
+ session["history"] = []
137
+ return session
138
+ return {"history": [], "message_count": 0}
139
+
140
+ def save_session(ctx: Context, sender: str, session: dict):
141
+ """Persist session state."""
142
+ ctx.storage.set(f"session:{sender}", json.dumps(session))
143
+
144
+ def add_to_history(session: dict, role: str, content: str):
145
+ """Add message to history, keeping only last MAX_HISTORY exchanges."""
146
+ session["history"].append({"role": role, "content": content})
147
+ max_messages = CONFIG["max_history"] * 2 # user + assistant pairs
148
+ if len(session["history"]) > max_messages:
149
+ session["history"] = session["history"][-max_messages:]
150
+
151
+ # =============================================================================
152
+ # LLM INTERACTION
153
+ # =============================================================================
154
+
155
+ def chat_with_llm(user_message: str, history: list = None) -> str:
156
+ """
157
+ Send a message to the LLM with conversation history.
158
+ Returns the assistant's response.
159
+ """
160
+ messages = [{"role": "system", "content": SYSTEM_PROMPT}]
161
+
162
+ if history:
163
+ messages.extend(history)
164
+
165
+ messages.append({"role": "user", "content": user_message})
166
+
167
+ try:
168
+ client = get_llm_client()
169
+ response = client.chat.completions.create(
170
+ model=CONFIG["llm_model"],
171
+ messages=messages,
172
+ max_tokens=CONFIG["max_tokens"],
173
+ temperature=CONFIG["temperature"]
174
+ )
175
+ return response.choices[0].message.content
176
+
177
+ except Exception as e:
178
+ return f"I encountered an error: {str(e)}. Please try again."
179
+
180
+ # =============================================================================
181
+ # RESPONSE HELPERS
182
+ # =============================================================================
183
+
184
+ async def send_text(ctx: Context, sender: str, msg_id: str, text: str, end: bool = False):
185
+ """Send a text response, optionally ending the session."""
186
+ await ctx.send(sender, ChatMessage(
187
+ timestamp=datetime.now(),
188
+ msg_id=msg_id,
189
+ content=[TextContent(text=text)]
190
+ ))
191
+ if end:
192
+ await ctx.send(sender, ChatMessage(
193
+ timestamp=datetime.now(),
194
+ msg_id=msg_id,
195
+ content=[EndSessionContent()]
196
+ ))
197
+
198
+ def get_help() -> str:
199
+ """Return help message."""
200
+ return f"""# {CONFIG["name"]}
201
+
202
+ {CONFIG["description"]}
203
+
204
+ **Commands:**
205
+ - \`help\` — Show this message
206
+ - \`clear\` — Clear conversation history
207
+ - \`status\` — Show session info
208
+
209
+ Just send a message to start chatting!
210
+ """
211
+
212
+ # =============================================================================
213
+ # CHAT HANDLER
214
+ # =============================================================================
215
+
216
+ @chat_proto.on_message(ChatMessage)
217
+ async def handle_message(ctx: Context, sender: str, msg: ChatMessage):
218
+ """Main chat handler with conversation memory."""
219
+ ctx.logger.info(f"Message from {sender}")
220
+
221
+ # Extract text from message
222
+ text = ""
223
+ for content in msg.content:
224
+ if hasattr(content, "text"):
225
+ text = content.text.strip()
226
+ break
227
+
228
+ if not text:
229
+ await send_text(ctx, sender, msg.msg_id, "Please send a text message.", end=True)
230
+ return
231
+
232
+ ctx.logger.info(f"Query: {text[:100]}")
233
+
234
+ # Get session with conversation history
235
+ session = get_session(ctx, sender)
236
+
237
+ # Handle commands
238
+ command = text.lower().split()[0] if text else ""
239
+
240
+ if command in {"help", "?", "start", "hello", "hi"}:
241
+ await send_text(ctx, sender, msg.msg_id, get_help(), end=True)
242
+ return
243
+
244
+ if command in {"clear", "reset", "new"}:
245
+ session["history"] = []
246
+ save_session(ctx, sender, session)
247
+ await send_text(ctx, sender, msg.msg_id, "Conversation cleared. Starting fresh!", end=True)
248
+ return
249
+
250
+ if command == "status":
251
+ status = f"""**Session Status**
252
+ - Messages: {session.get('message_count', 0)}
253
+ - History: {len(session.get('history', []))} messages
254
+ - Model: {CONFIG['llm_model']}
255
+ - Provider: {CONFIG['llm_base_url']}
256
+ """
257
+ await send_text(ctx, sender, msg.msg_id, status, end=True)
258
+ return
259
+
260
+ # Chat with LLM using conversation history
261
+ response = chat_with_llm(text, session.get("history", []))
262
+
263
+ # Save this exchange to history
264
+ add_to_history(session, "user", text)
265
+ add_to_history(session, "assistant", response)
266
+ session["message_count"] = session.get("message_count", 0) + 1
267
+ save_session(ctx, sender, session)
268
+
269
+ await send_text(ctx, sender, msg.msg_id, response, end=True)
270
+
271
+
272
+ @chat_proto.on_message(ChatAcknowledgement)
273
+ async def handle_ack(ctx: Context, sender: str, msg: ChatAcknowledgement):
274
+ """Handle acknowledgements (required by protocol)."""
275
+ ctx.logger.info(f"Ack from {sender}: {msg.acknowledged_msg_id}")
276
+
277
+
278
+ agent.include(chat_proto, publish_manifest=True)
279
+
280
+ if __name__ == "__main__":
281
+ agent.run()
282
+ `,
283
+ };
284
+ //# sourceMappingURL=chat-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-memory.js","sourceRoot":"","sources":["../../src/templates/chat-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,QAAQ,GAAkB;IACrC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,mFAAmF;IAChG,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE;QACT,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE;QACxE;YACE,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,uCAAuC;YAChD,WAAW,EAAE,2CAA2C;SACzD;QACD;YACE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,0DAA0D;YACnE,WAAW,EAAE,kEAAkE;SAChF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,wBAAwB;YACjC,WAAW,EAAE,4DAA4D;SAC1E;QACD;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,kEAAkE;SAChF;QACD;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,uDAAuD;SACrE;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,gCAAgC;SAC9C;QACD;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,uDAAuD;SACrE;KACF;IACD,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,OAAO,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC9C,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2NP;CACA,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentlaunch-templates",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "Agent code templates for the AgentLaunch platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",