@elizaos/ui 2.0.0-alpha.354 → 2.0.0-alpha.358

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/ui",
3
- "version": "2.0.0-alpha.354",
3
+ "version": "2.0.0-alpha.358",
4
4
  "description": "Shared UI primitives, composites, and layout utilities for elizaOS apps.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,10 +1,8 @@
1
1
  import type { Provider } from "../../../types/index.ts";
2
2
  /**
3
- * Function to get key facts that the agent knows.
4
- * @param {IAgentRuntime} runtime - The runtime environment for the agent.
5
- * @param {Memory} message - The message object containing relevant information.
6
- * @param {State} [_state] - Optional state information.
7
- * @returns {Object} An object containing values, data, and text related to the key facts.
3
+ * Function to get key facts that the agent knows about the speaker.
4
+ * Splits retrieval into two parallel similarity searches and ranks each
5
+ * kind with its own time-weighting curve (see `fact-memory.md`).
8
6
  */
9
7
  declare const factsProvider: Provider;
10
8
  export { factsProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../../../../../../../typescript/src/features/advanced-capabilities/providers/facts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGX,QAAQ,EAER,MAAM,yBAAyB,CAAC;AAiFjC;;;;;;GAMG;AACH,QAAA,MAAM,aAAa,EAAE,QA2FpB,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../../../../../../../typescript/src/features/advanced-capabilities/providers/facts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKX,QAAQ,EAER,MAAM,yBAAyB,CAAC;AAsLjC;;;;GAIG;AACH,QAAA,MAAM,aAAa,EAAE,QA4HpB,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -3,20 +3,33 @@ import { ModelType } from "../../../types/index.js";
3
3
  // Get text content from centralized specs
4
4
  const spec = requireProviderSpec("FACTS");
5
5
  /**
6
- * Half-life in milliseconds used to decay a fact's recency weight when ranking
7
- * facts for the prompt. 30 days is short enough to deprioritize stale facts
8
- * but long enough to keep durable preferences front-and-center.
6
+ * Decay constant for `current` facts in the read-path ranking.
7
+ *
8
+ * Score = `confidence × exp(-ageDays / 14)` so a fact is at full weight on
9
+ * day zero, ~50% at 14 days, and ~14% at 30 days. There is no hard cutoff —
10
+ * very old current facts can still surface when relevance is high enough
11
+ * (see `docs/architecture/fact-memory.md`). Durable facts skip decay
12
+ * entirely (`timeWeight = 1`).
9
13
  */
10
- const RECENCY_HALF_LIFE_MS = 30 * 24 * 60 * 60 * 1000;
14
+ const CURRENT_DECAY_DAYS = 14;
15
+ const MS_PER_DAY = 24 * 60 * 60 * 1000;
11
16
  const DEFAULT_FACT_CONFIDENCE = 0.6;
12
- function readMetadataRecord(memory) {
17
+ /**
18
+ * How many candidates we pull per kind from `searchMemories`. The runtime
19
+ * search API does not accept metadata filters, so we fetch a wider pool and
20
+ * partition by `metadata.kind` in TypeScript before ranking. The final
21
+ * cap per section is `TOP_PER_KIND`.
22
+ */
23
+ const CANDIDATE_POOL_PER_SEARCH = 20;
24
+ const TOP_PER_KIND = 6;
25
+ function readFactMetadata(memory) {
13
26
  const meta = memory.metadata;
14
27
  if (!meta || typeof meta !== "object" || Array.isArray(meta))
15
28
  return {};
16
29
  return meta;
17
30
  }
18
31
  function readFactConfidence(memory) {
19
- const value = readMetadataRecord(memory).confidence;
32
+ const value = readFactMetadata(memory).confidence;
20
33
  if (typeof value !== "number" || !Number.isFinite(value)) {
21
34
  return DEFAULT_FACT_CONFIDENCE;
22
35
  }
@@ -26,11 +39,27 @@ function readFactConfidence(memory) {
26
39
  return 1;
27
40
  return value;
28
41
  }
29
- function readLastReinforcedMs(memory) {
30
- const meta = readMetadataRecord(memory);
31
- const explicit = meta.lastReinforced;
32
- if (typeof explicit === "string") {
33
- const parsed = Date.parse(explicit);
42
+ /**
43
+ * Resolve a fact's kind. Legacy facts written before the two-store model
44
+ * carry no `kind` metadata; treat them as durable per the lazy
45
+ * reclassification policy in `fact-memory.md`.
46
+ */
47
+ function readFactKind(memory) {
48
+ const kind = readFactMetadata(memory).kind;
49
+ if (kind === "current")
50
+ return "current";
51
+ return "durable";
52
+ }
53
+ /**
54
+ * Resolve the timestamp used for time-weighting and the `since` label on
55
+ * current facts. Prefers `metadata.validAt` (when state began) and falls
56
+ * back to `createdAt` so legacy facts and current facts that omit
57
+ * `valid_at` still rank consistently.
58
+ */
59
+ function readEffectiveTimestampMs(memory) {
60
+ const validAt = readFactMetadata(memory).validAt;
61
+ if (typeof validAt === "string") {
62
+ const parsed = Date.parse(validAt);
34
63
  if (Number.isFinite(parsed))
35
64
  return parsed;
36
65
  }
@@ -40,58 +69,117 @@ function readLastReinforcedMs(memory) {
40
69
  }
41
70
  return null;
42
71
  }
43
- function recencyWeight(lastReinforcedMs, nowMs) {
44
- if (lastReinforcedMs === null)
45
- return 0.5;
46
- const ageMs = Math.max(0, nowMs - lastReinforcedMs);
47
- return 0.5 ** (ageMs / RECENCY_HALF_LIFE_MS);
72
+ /**
73
+ * Per-kind time weight applied during ranking.
74
+ * - durable → 1 always (identity-level claims do not decay)
75
+ * - current → exp(-ageDays / 14) (curved decay, never zero)
76
+ */
77
+ function timeWeight(kind, ageMs) {
78
+ if (kind === "durable")
79
+ return 1;
80
+ const safeAgeMs = ageMs < 0 ? 0 : ageMs;
81
+ const ageDays = safeAgeMs / MS_PER_DAY;
82
+ return Math.exp(-ageDays / CURRENT_DECAY_DAYS);
83
+ }
84
+ function scoreFact(memory, kind, nowMs) {
85
+ const ts = readEffectiveTimestampMs(memory);
86
+ const ageMs = ts === null ? 0 : Math.max(0, nowMs - ts);
87
+ return readFactConfidence(memory) * timeWeight(kind, ageMs);
88
+ }
89
+ function rankByScore(memories, kind, nowMs) {
90
+ return [...memories].sort((left, right) => scoreFact(right, kind, nowMs) - scoreFact(left, kind, nowMs));
48
91
  }
49
- function rankFacts(facts) {
50
- const nowMs = Date.now();
51
- const ranked = [...facts].sort((left, right) => {
52
- const leftScore = readFactConfidence(left) *
53
- recencyWeight(readLastReinforcedMs(left), nowMs);
54
- const rightScore = readFactConfidence(right) *
55
- recencyWeight(readLastReinforcedMs(right), nowMs);
56
- return rightScore - leftScore;
57
- });
58
- return ranked;
92
+ function dedupeById(memories) {
93
+ const seen = new Set();
94
+ const out = [];
95
+ for (const memory of memories) {
96
+ const id = memory.id ?? "";
97
+ if (!id)
98
+ continue;
99
+ if (seen.has(id))
100
+ continue;
101
+ seen.add(id);
102
+ out.push(memory);
103
+ }
104
+ return out;
59
105
  }
60
106
  /**
61
- * Formats facts as `[conf=0.93] <text>` lines so the LLM can weigh
62
- * conflicting information against the recorded confidence.
107
+ * Partition a candidate pool into durable vs current. Legacy facts (no
108
+ * `kind` field) are treated as durable.
63
109
  */
64
- function formatFacts(facts) {
110
+ function partitionByKind(memories) {
111
+ const durable = [];
112
+ const current = [];
113
+ for (const memory of memories) {
114
+ if (readFactKind(memory) === "current")
115
+ current.push(memory);
116
+ else
117
+ durable.push(memory);
118
+ }
119
+ return { durable, current };
120
+ }
121
+ /**
122
+ * Render the date for a current fact's `since` label. Uses the effective
123
+ * timestamp (validAt → createdAt) and emits an ISO date string
124
+ * (`YYYY-MM-DD`); falls back to `unknown` if neither is available.
125
+ */
126
+ function formatSince(memory) {
127
+ const ts = readEffectiveTimestampMs(memory);
128
+ if (ts === null)
129
+ return "unknown";
130
+ return new Date(ts).toISOString().slice(0, 10);
131
+ }
132
+ function readCategory(memory) {
133
+ const category = readFactMetadata(memory).category;
134
+ if (typeof category === "string" && category.length > 0)
135
+ return category;
136
+ return "uncategorized";
137
+ }
138
+ function formatDurableLine(memory) {
139
+ const text = memory.content.text ?? "";
140
+ if (!text)
141
+ return "";
142
+ const confidence = readFactConfidence(memory).toFixed(2);
143
+ const category = readCategory(memory);
144
+ return `[durable.${category} conf=${confidence}] ${text}`;
145
+ }
146
+ function formatCurrentLine(memory) {
147
+ const text = memory.content.text ?? "";
148
+ if (!text)
149
+ return "";
150
+ const confidence = readFactConfidence(memory).toFixed(2);
151
+ const category = readCategory(memory);
152
+ const since = formatSince(memory);
153
+ return `[current.${category} since ${since} conf=${confidence}] ${text}`;
154
+ }
155
+ function formatLines(memories, kind) {
65
156
  const lines = [];
66
- for (const fact of facts) {
67
- const text = fact.content.text ?? "";
68
- if (!text)
69
- continue;
70
- const confidence = readFactConfidence(fact).toFixed(2);
71
- lines.push(`[conf=${confidence}] ${text}`);
157
+ for (const memory of memories) {
158
+ const line = kind === "durable"
159
+ ? formatDurableLine(memory)
160
+ : formatCurrentLine(memory);
161
+ if (line)
162
+ lines.push(line);
72
163
  }
73
164
  return lines.join("\n");
74
165
  }
75
166
  /**
76
- * Function to get key facts that the agent knows.
77
- * @param {IAgentRuntime} runtime - The runtime environment for the agent.
78
- * @param {Memory} message - The message object containing relevant information.
79
- * @param {State} [_state] - Optional state information.
80
- * @returns {Object} An object containing values, data, and text related to the key facts.
167
+ * Function to get key facts that the agent knows about the speaker.
168
+ * Splits retrieval into two parallel similarity searches and ranks each
169
+ * kind with its own time-weighting curve (see `fact-memory.md`).
81
170
  */
82
171
  const factsProvider = {
83
172
  name: spec.name,
84
173
  description: spec.description,
85
174
  dynamic: spec.dynamic ?? true,
86
175
  get: async (runtime, message, _state) => {
87
- // Parallelize initial data fetching operations including recentInteractions
88
176
  const recentMessages = await runtime.getMemories({
89
177
  tableName: "messages",
90
178
  roomId: message.roomId,
91
179
  limit: 10,
92
180
  unique: false,
93
181
  });
94
- // join the text of the last 5 messages
182
+ // Build the embedding seed from the most recent five message bodies.
95
183
  const lastMessageLines = [];
96
184
  for (let i = recentMessages.length - 1; i >= 0 && lastMessageLines.length < 5; i -= 1) {
97
185
  lastMessageLines.push(recentMessages[i]?.content.text ?? "");
@@ -101,59 +189,79 @@ const factsProvider = {
101
189
  const embedding = await runtime.useModel(ModelType.TEXT_EMBEDDING, {
102
190
  text: last5Messages,
103
191
  });
104
- const [relevantFacts, recentFactsData] = await Promise.all([
192
+ // Two parallel searches, one room-scoped and one entity-scoped, both
193
+ // over the `facts` table. We over-fetch so that the in-memory kind
194
+ // partition still leaves enough candidates per kind after filtering.
195
+ // The runtime search API does not accept metadata filters today, so
196
+ // the partition happens in TS below.
197
+ //
198
+ // We deliberately omit `query` here. Passing a query triggers BM25
199
+ // lexical reranking inside `runtime.searchMemories`, which silently
200
+ // drops candidates with zero token overlap and short-circuits the
201
+ // embedding-similarity ranking we already rely on. The provider
202
+ // re-ranks by `confidence × timeWeight(kind, age)` immediately
203
+ // afterward, so adding a lexical filter on top would just hide
204
+ // otherwise-relevant facts.
205
+ const [roomFacts, entityFacts] = await Promise.all([
105
206
  runtime.searchMemories({
106
207
  tableName: "facts",
107
208
  embedding,
108
209
  roomId: message.roomId,
109
210
  worldId: message.worldId,
110
- limit: 6,
111
- query: message.content.text,
211
+ limit: CANDIDATE_POOL_PER_SEARCH,
112
212
  }),
113
213
  runtime.searchMemories({
114
214
  embedding,
115
- query: message.content.text,
116
215
  tableName: "facts",
117
216
  roomId: message.roomId,
118
217
  entityId: message.entityId,
119
- limit: 6,
218
+ limit: CANDIDATE_POOL_PER_SEARCH,
120
219
  }),
121
220
  ]);
122
- // join the two and deduplicate
123
- const seenIds = new Set();
124
- const dedupedFacts = [];
125
- for (const fact of [...relevantFacts, ...recentFactsData]) {
126
- const factId = fact.id ?? "";
127
- if (factId && !seenIds.has(factId)) {
128
- seenIds.add(factId);
129
- dedupedFacts.push(fact);
130
- }
131
- }
132
- // Re-order by confidence * recency-decay so the LLM sees the most
133
- // trustworthy, recently-reinforced facts first.
134
- const allFacts = rankFacts(dedupedFacts);
221
+ const dedupedPool = dedupeById([...roomFacts, ...entityFacts]);
222
+ const { durable: durableCandidates, current: currentCandidates } = partitionByKind(dedupedPool);
223
+ const nowMs = Date.now();
224
+ const durableFacts = rankByScore(durableCandidates, "durable", nowMs).slice(0, TOP_PER_KIND);
225
+ const currentFacts = rankByScore(currentCandidates, "current", nowMs).slice(0, TOP_PER_KIND);
226
+ const allFacts = [...durableFacts, ...currentFacts];
135
227
  if (allFacts.length === 0) {
136
228
  return {
137
- values: {
138
- facts: "",
139
- },
229
+ values: { facts: "" },
140
230
  data: {
141
231
  facts: allFacts,
232
+ durableFacts,
233
+ currentFacts,
142
234
  },
143
235
  text: "No facts available.",
144
236
  };
145
237
  }
146
- const formattedFacts = formatFacts(allFacts);
147
238
  const agentName = runtime.character.name ?? "Agent";
148
- const text = "Key facts that {{agentName}} knows:\n{{formattedFacts}}"
149
- .replace("{{agentName}}", agentName)
150
- .replace("{{formattedFacts}}", formattedFacts);
239
+ const senderName = (typeof message.content.senderName === "string" &&
240
+ message.content.senderName) ||
241
+ (typeof message.content.name === "string" && message.content.name) ||
242
+ "the speaker";
243
+ const sections = [];
244
+ if (durableFacts.length > 0) {
245
+ const durableHeader = `Things ${agentName} knows about ${senderName}:`;
246
+ sections.push(`${durableHeader}\n${formatLines(durableFacts, "durable")}`);
247
+ }
248
+ if (currentFacts.length > 0) {
249
+ const currentHeader = `What's currently happening for ${senderName}:`;
250
+ sections.push(`${currentHeader}\n${formatLines(currentFacts, "current")}`);
251
+ }
252
+ const text = sections.join("\n\n");
253
+ const formattedFacts = [
254
+ formatLines(durableFacts, "durable"),
255
+ formatLines(currentFacts, "current"),
256
+ ]
257
+ .filter((part) => part.length > 0)
258
+ .join("\n");
151
259
  return {
152
- values: {
153
- facts: formattedFacts,
154
- },
260
+ values: { facts: formattedFacts },
155
261
  data: {
156
262
  facts: allFacts,
263
+ durableFacts,
264
+ currentFacts,
157
265
  },
158
266
  text,
159
267
  };
@@ -1065,5 +1065,29 @@ export declare const VALIDATION_KEYWORD_DOCS: {
1065
1065
  };
1066
1066
  };
1067
1067
  };
1068
+ readonly validate: {
1069
+ readonly codingTaskRequest: {
1070
+ readonly base: "build an app\nbuild a app\nbuild the app\nbuild me an app\nmake an app\ncreate an app\nwrite an app\nship an app\ndeploy an app\nbuild a website\nbuild a site\nbuild a page\nbuild a dashboard\nbuild a widget\nbuild a component\nbuild a script\nbuild a tool\nbuild an api\nbuild a bot\nbuild a cli\nbuild a plugin\nmake a website\nmake a site\nmake a dashboard\nmake a widget\nmake a component\nmake a script\nmake a tool\nmake an api\nmake a bot\nmake a cli\nmake a plugin\ncreate a website\ncreate a site\ncreate a page\ncreate a dashboard\ncreate a widget\ncreate a component\ncreate a script\ncreate a tool\ncreate an api\ncreate an endpoint\ncreate a bot\ncreate a cli\ncreate a plugin\ncreate a route\ncreate a handler\ncreate a module\ncreate a repo\nwrite a script\nwrite a component\nwrite an api\nwrite a function\nwrite a handler\nwrite a route\nwrite a module\ndeploy a server\ndeploy a site\ndeploy a website\ndeploy a bot\ndeploy a cli\ndeploy an api\nship a feature\nship a component\nspin up a server\nspin up an api\nspin up a bot\nadd an endpoint\nadd a route\nadd a handler\nadd an api\nadd a component\npull request\nmerge conflict\ngit push\ngit pull\ngit clone\ngit rebase\ntypescript error\ndebug the bug\ndebug this bug\ndebug a bug\ndebug the error\ndebug this error\ndebug the code\ndebug this code\nfix the bug\nfix a bug\nfix this bug";
1071
+ readonly locales: {
1072
+ readonly es: "construir una app\nconstruir una aplicación\nconstruir una aplicacion\ncrear una app\ncrear una aplicación\ncrear una aplicacion\nhacer una app\nhacer una aplicación\nhacer una aplicacion\nhazme una app\nconstruir un sitio\nconstruir un sitio web\nconstruir una página\nconstruir una pagina\nconstruir un panel\nconstruir un componente\nconstruir un script\nconstruir una herramienta\nconstruir una api\nconstruir un bot\nconstruir un cli\ncrear un sitio\ncrear un sitio web\ncrear una página\ncrear una pagina\ncrear un panel\ncrear un componente\ncrear un script\ncrear una herramienta\ncrear una api\ncrear un endpoint\ncrear un bot\ncrear un cli\ncrear un plugin\ncrear una ruta\nescribir un script\nescribir un componente\nescribir una api\nescribir una función\nescribir una funcion\ndesplegar un servidor\ndesplegar un sitio\ndesplegar un bot\ndesplegar una api\npull request\nconflicto de fusión\nconflicto de fusion\nerror de typescript\ndepurar el error\ndepurar este error\narreglar el bug\narreglar un bug\narreglar este bug\narreglar el error";
1073
+ readonly pt: "construir um app\nconstruir um aplicativo\nconstruir uma aplicação\nconstruir uma aplicacao\ncriar um app\ncriar um aplicativo\ncriar uma aplicação\ncriar uma aplicacao\nfazer um app\nfazer um aplicativo\nconstruir um site\nconstruir uma página\nconstruir uma pagina\nconstruir um painel\nconstruir um componente\nconstruir um script\nconstruir uma ferramenta\nconstruir uma api\nconstruir um bot\nconstruir um cli\ncriar um site\ncriar uma página\ncriar uma pagina\ncriar um painel\ncriar um componente\ncriar um script\ncriar uma ferramenta\ncriar uma api\ncriar um endpoint\ncriar um bot\ncriar um cli\ncriar um plugin\ncriar uma rota\nescrever um script\nescrever um componente\nescrever uma api\nescrever uma função\nescrever uma funcao\nimplantar um servidor\nimplantar um site\nimplantar um bot\nimplantar uma api\npull request\nconflito de merge\nerro de typescript\ndepurar o erro\ndepurar este erro\ncorrigir o bug\ncorrigir um bug\ncorrigir este bug\nconsertar o bug";
1074
+ readonly "zh-CN": "做一个应用\n做个应用\n做一个app\n做个app\n构建一个应用\n构建一个app\n创建一个应用\n创建一个app\n写一个应用\n写一个app\n做一个网站\n构建一个网站\n创建一个网站\n做一个页面\n创建一个页面\n做一个仪表板\n创建一个仪表板\n做一个组件\n创建一个组件\n写一个组件\n做一个脚本\n写一个脚本\n做一个工具\n创建一个工具\n做一个api\n创建一个api\n写一个api\n做一个机器人\n创建一个机器人\n做一个插件\n创建一个插件\n部署服务器\n部署网站\n部署机器人\n部署api\n拉取请求\n合并冲突\ntypescript错误\n调试错误\n修复bug\n修复这个bug\n修复错误";
1075
+ readonly ko: "앱 만들어\n앱을 만들어\n앱 만들어줘\n앱을 만들어줘\n앱 빌드\n앱 빌드해\n앱 만들기\n웹사이트 만들어\n웹사이트 만들어줘\n사이트 만들어\n페이지 만들어\n대시보드 만들어\n컴포넌트 만들어\n스크립트 만들어\n스크립트 작성\n도구 만들어\napi 만들어\napi 작성\n엔드포인트 만들어\n봇 만들어\n봇 만들어줘\n플러그인 만들어\n라우트 만들어\n서버 배포\n사이트 배포\n봇 배포\napi 배포\n풀 리퀘스트\n머지 충돌\n타입스크립트 오류\n타입스크립트 에러\n버그 수정\n이 버그 수정\n에러 수정\n버그 디버그\n에러 디버그";
1076
+ readonly vi: "xây dựng một ứng dụng\nxay dung mot ung dung\nxây dựng một app\nxay dung mot app\ntạo một ứng dụng\ntao mot ung dung\ntạo một app\ntao mot app\nlàm một ứng dụng\nlam mot ung dung\nlàm một app\nlam mot app\nviết một ứng dụng\nviet mot ung dung\nxây dựng một trang web\nxay dung mot trang web\ntạo một trang web\ntao mot trang web\ntạo một trang\ntao mot trang\ntạo một bảng điều khiển\ntao mot bang dieu khien\ntạo một thành phần\ntao mot thanh phan\nviết một script\nviet mot script\ntạo một script\ntao mot script\ntạo một công cụ\ntao mot cong cu\ntạo một api\ntao mot api\ntạo một endpoint\ntao mot endpoint\ntạo một bot\ntao mot bot\ntạo một plugin\ntao mot plugin\ntriển khai máy chủ\ntrien khai may chu\ntriển khai trang web\ntrien khai trang web\ntriển khai bot\ntrien khai bot\ntriển khai api\ntrien khai api\npull request\nxung đột merge\nxung dot merge\nlỗi typescript\nloi typescript\nsửa lỗi\nsua loi\nsửa bug\nsua bug\ngỡ lỗi\ngo loi";
1077
+ readonly tl: "gumawa ng app\ngumawa ng aplikasyon\ngawan mo ako ng app\nlumikha ng app\nlumikha ng aplikasyon\ngumawa ng website\ngumawa ng site\ngumawa ng page\ngumawa ng dashboard\ngumawa ng component\ngumawa ng script\nmagsulat ng script\ngumawa ng tool\ngumawa ng api\ngumawa ng endpoint\ngumawa ng bot\ngumawa ng plugin\ni-deploy ang server\ni-deploy ang site\ni-deploy ang bot\ni-deploy ang api\npull request\nmerge conflict\ntypescript error\nayusin ang bug\nayusin ang error\ni-debug ang bug\ni-debug ang error";
1078
+ };
1079
+ };
1080
+ readonly taskIntent: {
1081
+ readonly base: "create task\nadd task\nnew task\nmake task\ncomplete task\nfinish task\ndone with task\nmark task done\ndelete task\nremove task\nupdate task\nedit task\nchange task\nlist tasks\nshow tasks\nmy tasks\nwhat are my tasks\nadd a todo\nadd a to-do\ncreate a to do\ntask list\ncheck off";
1082
+ readonly locales: {
1083
+ readonly es: "crear tarea\ncrea tarea\nagregar tarea\nagrega tarea\nañadir tarea\nanadir tarea\nnueva tarea\nhacer tarea\ncompletar tarea\nterminar tarea\nmarcar tarea hecha\neliminar tarea\nborrar tarea\nquitar tarea\nactualizar tarea\neditar tarea\ncambiar tarea\nlistar tareas\nmostrar tareas\nmis tareas\ncuáles son mis tareas\ncuales son mis tareas\nagregar un pendiente\nagrega un pendiente\nlista de tareas";
1084
+ readonly pt: "criar tarefa\ncria tarefa\nadicionar tarefa\nadiciona tarefa\nnova tarefa\nfazer tarefa\ncompletar tarefa\nconcluir tarefa\nterminar tarefa\nmarcar tarefa feita\nexcluir tarefa\nremover tarefa\napagar tarefa\natualizar tarefa\neditar tarefa\nmudar tarefa\nlistar tarefas\nmostrar tarefas\nminhas tarefas\nquais são minhas tarefas\nquais sao minhas tarefas\nadicionar um afazer\nlista de tarefas";
1085
+ readonly "zh-CN": "创建任务\n新建任务\n添加任务\n完成任务\n标记任务完成\n删除任务\n移除任务\n更新任务\n编辑任务\n修改任务\n列出任务\n显示任务\n我的任务\n我有什么任务\n添加待办\n新增待办\n任务列表\n勾选";
1086
+ readonly ko: "작업 만들기\n작업 추가\n새 작업\n작업 완료\n작업 끝내\n완료 표시\n작업 삭제\n작업 제거\n작업 업데이트\n작업 수정\n작업 변경\n작업 목록\n작업 보여줘\n내 작업\n내 할 일이 뭐야\n할 일 추가\n투두 추가\n할 일 목록\n체크 표시";
1087
+ readonly vi: "tạo tác vụ\ntao tac vu\ntạo nhiệm vụ\ntao nhiem vu\nthêm tác vụ\nthem tac vu\ntác vụ mới\ntac vu moi\nhoàn thành tác vụ\nhoan thanh tac vu\nkết thúc tác vụ\nket thuc tac vu\nđánh dấu hoàn thành\ndanh dau hoan thanh\nxóa tác vụ\nxoa tac vu\ngỡ tác vụ\ngo tac vu\ncập nhật tác vụ\ncap nhat tac vu\nsửa tác vụ\nsua tac vu\nthay đổi tác vụ\nthay doi tac vu\ndanh sách tác vụ\ndanh sach tac vu\nhiển thị tác vụ\nhien thi tac vu\ntác vụ của tôi\ntac vu cua toi\nthêm việc cần làm\nthem viec can lam\ndanh sách việc\ndanh sach viec";
1088
+ readonly tl: "gumawa ng task\nmagdagdag ng task\nbagong task\ntapusin ang task\nkumpletuhin ang task\nmarkahan tapos\nburahin ang task\ntanggalin ang task\nalisin ang task\ni-update ang task\ni-edit ang task\nbaguhin ang task\nipakita ang tasks\nilista ang tasks\nmga task ko\nano ang mga task ko\nmagdagdag ng todo\nlistahan ng task\ni-check off";
1089
+ };
1090
+ };
1091
+ };
1068
1092
  };
1069
1093
  //# sourceMappingURL=validation-keyword-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-keyword-data.d.ts","sourceRoot":"","sources":["../../../../../../../typescript/src/i18n/generated/validation-keyword-data.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,kDAA8C,CAAC;AAEtF,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAWlF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyiCM,CAAC"}
1
+ {"version":3,"file":"validation-keyword-data.d.ts","sourceRoot":"","sources":["../../../../../../../typescript/src/i18n/generated/validation-keyword-data.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,kDAA8C,CAAC;AAEtF,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAWlF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAikCM,CAAC"}
@@ -1066,4 +1066,28 @@ export const VALIDATION_KEYWORD_DOCS = {
1066
1066
  },
1067
1067
  },
1068
1068
  },
1069
+ validate: {
1070
+ codingTaskRequest: {
1071
+ base: "build an app\nbuild a app\nbuild the app\nbuild me an app\nmake an app\ncreate an app\nwrite an app\nship an app\ndeploy an app\nbuild a website\nbuild a site\nbuild a page\nbuild a dashboard\nbuild a widget\nbuild a component\nbuild a script\nbuild a tool\nbuild an api\nbuild a bot\nbuild a cli\nbuild a plugin\nmake a website\nmake a site\nmake a dashboard\nmake a widget\nmake a component\nmake a script\nmake a tool\nmake an api\nmake a bot\nmake a cli\nmake a plugin\ncreate a website\ncreate a site\ncreate a page\ncreate a dashboard\ncreate a widget\ncreate a component\ncreate a script\ncreate a tool\ncreate an api\ncreate an endpoint\ncreate a bot\ncreate a cli\ncreate a plugin\ncreate a route\ncreate a handler\ncreate a module\ncreate a repo\nwrite a script\nwrite a component\nwrite an api\nwrite a function\nwrite a handler\nwrite a route\nwrite a module\ndeploy a server\ndeploy a site\ndeploy a website\ndeploy a bot\ndeploy a cli\ndeploy an api\nship a feature\nship a component\nspin up a server\nspin up an api\nspin up a bot\nadd an endpoint\nadd a route\nadd a handler\nadd an api\nadd a component\npull request\nmerge conflict\ngit push\ngit pull\ngit clone\ngit rebase\ntypescript error\ndebug the bug\ndebug this bug\ndebug a bug\ndebug the error\ndebug this error\ndebug the code\ndebug this code\nfix the bug\nfix a bug\nfix this bug",
1072
+ locales: {
1073
+ es: "construir una app\nconstruir una aplicación\nconstruir una aplicacion\ncrear una app\ncrear una aplicación\ncrear una aplicacion\nhacer una app\nhacer una aplicación\nhacer una aplicacion\nhazme una app\nconstruir un sitio\nconstruir un sitio web\nconstruir una página\nconstruir una pagina\nconstruir un panel\nconstruir un componente\nconstruir un script\nconstruir una herramienta\nconstruir una api\nconstruir un bot\nconstruir un cli\ncrear un sitio\ncrear un sitio web\ncrear una página\ncrear una pagina\ncrear un panel\ncrear un componente\ncrear un script\ncrear una herramienta\ncrear una api\ncrear un endpoint\ncrear un bot\ncrear un cli\ncrear un plugin\ncrear una ruta\nescribir un script\nescribir un componente\nescribir una api\nescribir una función\nescribir una funcion\ndesplegar un servidor\ndesplegar un sitio\ndesplegar un bot\ndesplegar una api\npull request\nconflicto de fusión\nconflicto de fusion\nerror de typescript\ndepurar el error\ndepurar este error\narreglar el bug\narreglar un bug\narreglar este bug\narreglar el error",
1074
+ pt: "construir um app\nconstruir um aplicativo\nconstruir uma aplicação\nconstruir uma aplicacao\ncriar um app\ncriar um aplicativo\ncriar uma aplicação\ncriar uma aplicacao\nfazer um app\nfazer um aplicativo\nconstruir um site\nconstruir uma página\nconstruir uma pagina\nconstruir um painel\nconstruir um componente\nconstruir um script\nconstruir uma ferramenta\nconstruir uma api\nconstruir um bot\nconstruir um cli\ncriar um site\ncriar uma página\ncriar uma pagina\ncriar um painel\ncriar um componente\ncriar um script\ncriar uma ferramenta\ncriar uma api\ncriar um endpoint\ncriar um bot\ncriar um cli\ncriar um plugin\ncriar uma rota\nescrever um script\nescrever um componente\nescrever uma api\nescrever uma função\nescrever uma funcao\nimplantar um servidor\nimplantar um site\nimplantar um bot\nimplantar uma api\npull request\nconflito de merge\nerro de typescript\ndepurar o erro\ndepurar este erro\ncorrigir o bug\ncorrigir um bug\ncorrigir este bug\nconsertar o bug",
1075
+ "zh-CN": "做一个应用\n做个应用\n做一个app\n做个app\n构建一个应用\n构建一个app\n创建一个应用\n创建一个app\n写一个应用\n写一个app\n做一个网站\n构建一个网站\n创建一个网站\n做一个页面\n创建一个页面\n做一个仪表板\n创建一个仪表板\n做一个组件\n创建一个组件\n写一个组件\n做一个脚本\n写一个脚本\n做一个工具\n创建一个工具\n做一个api\n创建一个api\n写一个api\n做一个机器人\n创建一个机器人\n做一个插件\n创建一个插件\n部署服务器\n部署网站\n部署机器人\n部署api\n拉取请求\n合并冲突\ntypescript错误\n调试错误\n修复bug\n修复这个bug\n修复错误",
1076
+ ko: "앱 만들어\n앱을 만들어\n앱 만들어줘\n앱을 만들어줘\n앱 빌드\n앱 빌드해\n앱 만들기\n웹사이트 만들어\n웹사이트 만들어줘\n사이트 만들어\n페이지 만들어\n대시보드 만들어\n컴포넌트 만들어\n스크립트 만들어\n스크립트 작성\n도구 만들어\napi 만들어\napi 작성\n엔드포인트 만들어\n봇 만들어\n봇 만들어줘\n플러그인 만들어\n라우트 만들어\n서버 배포\n사이트 배포\n봇 배포\napi 배포\n풀 리퀘스트\n머지 충돌\n타입스크립트 오류\n타입스크립트 에러\n버그 수정\n이 버그 수정\n에러 수정\n버그 디버그\n에러 디버그",
1077
+ vi: "xây dựng một ứng dụng\nxay dung mot ung dung\nxây dựng một app\nxay dung mot app\ntạo một ứng dụng\ntao mot ung dung\ntạo một app\ntao mot app\nlàm một ứng dụng\nlam mot ung dung\nlàm một app\nlam mot app\nviết một ứng dụng\nviet mot ung dung\nxây dựng một trang web\nxay dung mot trang web\ntạo một trang web\ntao mot trang web\ntạo một trang\ntao mot trang\ntạo một bảng điều khiển\ntao mot bang dieu khien\ntạo một thành phần\ntao mot thanh phan\nviết một script\nviet mot script\ntạo một script\ntao mot script\ntạo một công cụ\ntao mot cong cu\ntạo một api\ntao mot api\ntạo một endpoint\ntao mot endpoint\ntạo một bot\ntao mot bot\ntạo một plugin\ntao mot plugin\ntriển khai máy chủ\ntrien khai may chu\ntriển khai trang web\ntrien khai trang web\ntriển khai bot\ntrien khai bot\ntriển khai api\ntrien khai api\npull request\nxung đột merge\nxung dot merge\nlỗi typescript\nloi typescript\nsửa lỗi\nsua loi\nsửa bug\nsua bug\ngỡ lỗi\ngo loi",
1078
+ tl: "gumawa ng app\ngumawa ng aplikasyon\ngawan mo ako ng app\nlumikha ng app\nlumikha ng aplikasyon\ngumawa ng website\ngumawa ng site\ngumawa ng page\ngumawa ng dashboard\ngumawa ng component\ngumawa ng script\nmagsulat ng script\ngumawa ng tool\ngumawa ng api\ngumawa ng endpoint\ngumawa ng bot\ngumawa ng plugin\ni-deploy ang server\ni-deploy ang site\ni-deploy ang bot\ni-deploy ang api\npull request\nmerge conflict\ntypescript error\nayusin ang bug\nayusin ang error\ni-debug ang bug\ni-debug ang error",
1079
+ },
1080
+ },
1081
+ taskIntent: {
1082
+ base: "create task\nadd task\nnew task\nmake task\ncomplete task\nfinish task\ndone with task\nmark task done\ndelete task\nremove task\nupdate task\nedit task\nchange task\nlist tasks\nshow tasks\nmy tasks\nwhat are my tasks\nadd a todo\nadd a to-do\ncreate a to do\ntask list\ncheck off",
1083
+ locales: {
1084
+ es: "crear tarea\ncrea tarea\nagregar tarea\nagrega tarea\nañadir tarea\nanadir tarea\nnueva tarea\nhacer tarea\ncompletar tarea\nterminar tarea\nmarcar tarea hecha\neliminar tarea\nborrar tarea\nquitar tarea\nactualizar tarea\neditar tarea\ncambiar tarea\nlistar tareas\nmostrar tareas\nmis tareas\ncuáles son mis tareas\ncuales son mis tareas\nagregar un pendiente\nagrega un pendiente\nlista de tareas",
1085
+ pt: "criar tarefa\ncria tarefa\nadicionar tarefa\nadiciona tarefa\nnova tarefa\nfazer tarefa\ncompletar tarefa\nconcluir tarefa\nterminar tarefa\nmarcar tarefa feita\nexcluir tarefa\nremover tarefa\napagar tarefa\natualizar tarefa\neditar tarefa\nmudar tarefa\nlistar tarefas\nmostrar tarefas\nminhas tarefas\nquais são minhas tarefas\nquais sao minhas tarefas\nadicionar um afazer\nlista de tarefas",
1086
+ "zh-CN": "创建任务\n新建任务\n添加任务\n完成任务\n标记任务完成\n删除任务\n移除任务\n更新任务\n编辑任务\n修改任务\n列出任务\n显示任务\n我的任务\n我有什么任务\n添加待办\n新增待办\n任务列表\n勾选",
1087
+ ko: "작업 만들기\n작업 추가\n새 작업\n작업 완료\n작업 끝내\n완료 표시\n작업 삭제\n작업 제거\n작업 업데이트\n작업 수정\n작업 변경\n작업 목록\n작업 보여줘\n내 작업\n내 할 일이 뭐야\n할 일 추가\n투두 추가\n할 일 목록\n체크 표시",
1088
+ vi: "tạo tác vụ\ntao tac vu\ntạo nhiệm vụ\ntao nhiem vu\nthêm tác vụ\nthem tac vu\ntác vụ mới\ntac vu moi\nhoàn thành tác vụ\nhoan thanh tac vu\nkết thúc tác vụ\nket thuc tac vu\nđánh dấu hoàn thành\ndanh dau hoan thanh\nxóa tác vụ\nxoa tac vu\ngỡ tác vụ\ngo tac vu\ncập nhật tác vụ\ncap nhat tac vu\nsửa tác vụ\nsua tac vu\nthay đổi tác vụ\nthay doi tac vu\ndanh sách tác vụ\ndanh sach tac vu\nhiển thị tác vụ\nhien thi tac vu\ntác vụ của tôi\ntac vu cua toi\nthêm việc cần làm\nthem viec can lam\ndanh sách việc\ndanh sach viec",
1089
+ tl: "gumawa ng task\nmagdagdag ng task\nbagong task\ntapusin ang task\nkumpletuhin ang task\nmarkahan tapos\nburahin ang task\ntanggalin ang task\nalisin ang task\ni-update ang task\ni-edit ang task\nbaguhin ang task\nipakita ang tasks\nilista ang tasks\nmga task ko\nano ang mga task ko\nmagdagdag ng todo\nlistahan ng task\ni-check off",
1090
+ },
1091
+ },
1092
+ },
1069
1093
  };
@@ -49,6 +49,8 @@ export declare const postCreationTemplate = "# Task: Create a post in the voice
49
49
  export declare const POST_CREATION_TEMPLATE = "# Task: Create a post in the voice and style and perspective of {{agentName}} @{{xUserName}}.\n\nExample task outputs:\n1. A post about the importance of AI in our lives\nthought: I am thinking about writing a post about the importance of AI in our lives\npost: AI is changing the world and it is important to understand how it works\nimagePrompt: A futuristic cityscape with flying cars and people using AI to do things\n\n2. A post about dogs\nthought: I am thinking about writing a post about dogs\npost: Dogs are man's best friend and they are loyal and loving\nimagePrompt: A dog playing with a ball in a park\n\n3. A post about finding a new job\nthought: Getting a job is hard, I bet there's a good post in that\npost: Just keep going!\nimagePrompt: A person looking at a computer screen with a job search website\n\n{{providers}}\n\nWrite a post that is {{adjective}} about {{topic}} (without mentioning {{topic}} directly), from the perspective of {{agentName}}. Do not add commentary or acknowledge this request, just write the post.\nYour response should be 1, 2, or 3 sentences (choose the length at random).\nYour response should not contain any questions. Brief, concise statements only. The total character count MUST be less than 280. No emojis. Use \\n\\n (double spaces) between statements if there are multiple statements in your response.\n\nYour output should be formatted as TOON like this:\nthought: Your thought here\npost: Your post text here\nimagePrompt: Optional image prompt here\n\nThe \"post\" field should be the post you want to send. Do not including any thinking or internal reflection in the \"post\" field.\nThe \"imagePrompt\" field is optional and should be a prompt for an image that is relevant to the post. It should be a single sentence that captures the essence of the post. ONLY USE THIS FIELD if it makes sense that the post would benefit from an image.\nThe \"thought\" field should be a short description of what the agent is thinking about before responding, including a brief justification for the response. Includate an explanation how the post is relevant to the topic but unique and different than other posts.\n\n\nIMPORTANT: Your response must ONLY contain the TOON document above. Do not include any text, thinking, or reasoning before or after it.";
50
50
  export declare const reflectionEvaluatorTemplate = "# Task: Generate Agent Reflection, Extract Facts and Relationships\n\n# Examples:\n{{evaluationExamples}}\n\n# Entities in Room\n{{entitiesInRoom}}\n\n# Existing Relationships\n{{existingRelationships}}\n\n# Current Context:\nAgent Name: {{agentName}}\nRoom Type: {{roomType}}\nMessage Sender: {{senderName}} (ID: {{senderId}})\n\n{{recentMessages}}\n\n# Known Facts:\n{{knownFacts}}\n\n# Latest Action Results:\n{{actionResults}}\n\n# Instructions:\n1. Generate a self-reflective thought on the conversation about your performance and interaction quality.\n2. Extract only durable new facts from the conversation.\n - Prefer facts about the current user/sender that will still matter in a week: identity, stable preferences, recurring collaborators, durable setup, long-term projects, or ongoing constraints.\n - Do NOT extract temporary status updates, current debugging/work items, one-off session metrics, isolated praise/complaints, or facts that are only true right now.\n - If a fact would feel stale, irrelevant, or surprising to store a week from now, skip it.\n - When in doubt, omit the fact.\n3. Identify and describe relationships between entities.\n - The sourceEntityId is the UUID of the entity initiating the interaction.\n - The targetEntityId is the UUID of the entity being interacted with.\n - Relationships are one-direction, so a friendship would be two entity relationships where each entity is both the source and the target of the other.\n - Use exact UUIDs from the entities-in-room list only. Never invent placeholders, names, handles, or email addresses in sourceEntityId or targetEntityId.\n4. It is normal to return no facts when nothing durable was learned.\n5. Always decide whether the user's task or request is actually complete right now.\n - Set `task_completed: true` only if the user no longer needs additional action or follow-up from you in this turn.\n - If you asked a clarifying question, an action failed, work is still pending, or you only partially completed the request, set `task_completed: false`.\n6. Always include a short `task_completion_reason` grounded in the conversation and action results.\n\nOutput:\nTOON only. Return exactly one TOON document. No prose before or after it. No <think>.\nDo not output JSON, XML, Markdown fences, or commentary.\nUse indexed TOON fields exactly like this:\nthought: \"a self-reflective thought on the conversation\"\ntask_completed: false\ntask_completion_reason: \"The request is still incomplete because the needed action has not happened yet.\"\nfacts[0]:\n claim: durable factual statement\n type: fact\n in_bio: false\n already_known: false\nrelationships[0]:\n sourceEntityId: entity_initiating_interaction\n targetEntityId: entity_being_interacted_with\n tags[0]: dm_interaction\n\nFor additional entries, increment the index: facts[1], relationships[1], tags[1], etc.\nAlways include `task_completed` and `task_completion_reason`.\nIf there are no durable new facts, omit all facts[...] entries.\nIf there are no relationships, omit all relationships[...] entries.\n\nIMPORTANT: Your response must ONLY contain the TOON document above. Do not include any text, thinking, or reasoning before or after it.";
51
51
  export declare const REFLECTION_EVALUATOR_TEMPLATE = "# Task: Generate Agent Reflection, Extract Facts and Relationships\n\n# Examples:\n{{evaluationExamples}}\n\n# Entities in Room\n{{entitiesInRoom}}\n\n# Existing Relationships\n{{existingRelationships}}\n\n# Current Context:\nAgent Name: {{agentName}}\nRoom Type: {{roomType}}\nMessage Sender: {{senderName}} (ID: {{senderId}})\n\n{{recentMessages}}\n\n# Known Facts:\n{{knownFacts}}\n\n# Latest Action Results:\n{{actionResults}}\n\n# Instructions:\n1. Generate a self-reflective thought on the conversation about your performance and interaction quality.\n2. Extract only durable new facts from the conversation.\n - Prefer facts about the current user/sender that will still matter in a week: identity, stable preferences, recurring collaborators, durable setup, long-term projects, or ongoing constraints.\n - Do NOT extract temporary status updates, current debugging/work items, one-off session metrics, isolated praise/complaints, or facts that are only true right now.\n - If a fact would feel stale, irrelevant, or surprising to store a week from now, skip it.\n - When in doubt, omit the fact.\n3. Identify and describe relationships between entities.\n - The sourceEntityId is the UUID of the entity initiating the interaction.\n - The targetEntityId is the UUID of the entity being interacted with.\n - Relationships are one-direction, so a friendship would be two entity relationships where each entity is both the source and the target of the other.\n - Use exact UUIDs from the entities-in-room list only. Never invent placeholders, names, handles, or email addresses in sourceEntityId or targetEntityId.\n4. It is normal to return no facts when nothing durable was learned.\n5. Always decide whether the user's task or request is actually complete right now.\n - Set `task_completed: true` only if the user no longer needs additional action or follow-up from you in this turn.\n - If you asked a clarifying question, an action failed, work is still pending, or you only partially completed the request, set `task_completed: false`.\n6. Always include a short `task_completion_reason` grounded in the conversation and action results.\n\nOutput:\nTOON only. Return exactly one TOON document. No prose before or after it. No <think>.\nDo not output JSON, XML, Markdown fences, or commentary.\nUse indexed TOON fields exactly like this:\nthought: \"a self-reflective thought on the conversation\"\ntask_completed: false\ntask_completion_reason: \"The request is still incomplete because the needed action has not happened yet.\"\nfacts[0]:\n claim: durable factual statement\n type: fact\n in_bio: false\n already_known: false\nrelationships[0]:\n sourceEntityId: entity_initiating_interaction\n targetEntityId: entity_being_interacted_with\n tags[0]: dm_interaction\n\nFor additional entries, increment the index: facts[1], relationships[1], tags[1], etc.\nAlways include `task_completed` and `task_completion_reason`.\nIf there are no durable new facts, omit all facts[...] entries.\nIf there are no relationships, omit all relationships[...] entries.\n\nIMPORTANT: Your response must ONLY contain the TOON document above. Do not include any text, thinking, or reasoning before or after it.";
52
+ export declare const factExtractionTemplate = "# Task: Classify and extract facts from this message\n\nYou maintain a two-store fact memory for an AI assistant. For each message you decide what to insert, strengthen, decay, or contradict in that memory. You return a single JSON object with an `ops` array \u2014 nothing else.\n\n## The two stores\n\n**durable** \u2014 stable identity-level claims that will still matter in a year. Categories:\n- identity: where someone lives, name preferences, demographics (\"lives in Berlin\", \"born 1990\")\n- health: lasting conditions, allergies, recurring patterns (\"flat cortisol curve\", \"allergic to penicillin\", \"always struggles in mornings\")\n- relationship: persistent people in their life (\"has a sister Mia\", \"married to Alex\")\n- life_event: dated milestones (\"founded $company in 2024\", \"moved to Berlin in 2023\")\n- business_role: long-term roles (\"senior engineer at $company since 2024\")\n- preference: stable likes/dislikes (\"prefers concise answers\", \"dislikes group calls\")\n- goal: long-arc objectives (\"wants to launch indie product by 2027\")\n\n**current** \u2014 time-bound state about right now or the near term. Categories:\n- feeling: short-term emotional state (\"anxious this morning\", \"excited about launch\")\n- physical_state: short-term body state (\"low energy this week\", \"headache today\")\n- working_on: active task (\"debugging auth flow\", \"drafting Q4 plan\")\n- going_through: ongoing life situation (\"navigating divorce\", \"recovering from surgery\")\n- schedule_context: near-term schedule (\"traveling to Tokyo next week\", \"deadline Friday\")\n\nIf a claim feels stale or surprising to retrieve a year from now, it is **current**, not durable. When in doubt, prefer current.\n\n## Operations\n\n- `add_durable`: insert a new durable fact. Always include `claim`, `category`, `structured_fields`. Optionally `verification_status` (default `self_reported`) and `reason`.\n- `add_current`: insert a new current fact. Always include `claim`, `category`, `structured_fields`. Optionally `valid_at` (ISO timestamp; defaults to now if omitted) and `reason`.\n- `strengthen`: an existing fact in the retrieved list is restated or reaffirmed. Include the existing `factId` and a short `reason`. **Do not add_* a duplicate.**\n- `decay`: an existing current fact looks resolved or no longer mentioned. Include `factId` and `reason`.\n- `contradict`: an existing fact is directly contradicted by the message. Include `factId`, `reason`, and `proposedText` if the user supplied a replacement.\n\nIf the message is small talk or asks a question without supplying any new claim, return `{\"ops\": []}`. Empty output is the right answer most of the time.\n\n## Dedup rule (read this twice)\n\nBefore emitting `add_durable` or `add_current`, scan the **Known durable facts** and **Known current facts** lists below. If a similar claim already exists, emit `strengthen` with that fact's `factId` instead of inserting a duplicate. Reword paraphrases also count as matches \u2014 match on meaning, not surface form.\n\n## Examples\n\n### Example 1 \u2014 durable health\nMessage: \"I have a flat cortisol curve confirmed via lab\"\n```json\n{\"ops\":[{\"op\":\"add_durable\",\"claim\":\"flat cortisol curve\",\"category\":\"health\",\"structured_fields\":{\"condition\":\"flat cortisol curve\",\"source\":\"lab\"},\"verification_status\":\"confirmed\"}]}\n```\n\n### Example 2 \u2014 current feeling\nMessage: \"I'm anxious this morning\"\n```json\n{\"ops\":[{\"op\":\"add_current\",\"claim\":\"anxious this morning\",\"category\":\"feeling\",\"structured_fields\":{\"emotion\":\"anxious\",\"window\":\"morning\"}}]}\n```\n\n### Example 3 \u2014 current working_on\nMessage: \"Currently debugging the auth flow\"\n```json\n{\"ops\":[{\"op\":\"add_current\",\"claim\":\"debugging the auth flow\",\"category\":\"working_on\",\"structured_fields\":{\"task\":\"debugging\",\"subject\":\"auth flow\"}}]}\n```\n\n### Example 4 \u2014 current going_through\nMessage: \"I'm going through a divorce\"\n```json\n{\"ops\":[{\"op\":\"add_current\",\"claim\":\"navigating a divorce\",\"category\":\"going_through\",\"structured_fields\":{\"situation\":\"divorce\"}}]}\n```\n\n### Example 5 \u2014 durable life_event\nMessage: \"I founded Acme Corp in 2024\"\n```json\n{\"ops\":[{\"op\":\"add_durable\",\"claim\":\"founded Acme Corp in 2024\",\"category\":\"life_event\",\"structured_fields\":{\"event\":\"founded company\",\"company\":\"Acme Corp\",\"year\":2024}},{\"op\":\"add_durable\",\"claim\":\"founder of Acme Corp\",\"category\":\"business_role\",\"structured_fields\":{\"role\":\"founder\",\"company\":\"Acme Corp\",\"since\":2024}}]}\n```\n\n### Example 6 \u2014 durable identity\nMessage: \"I live in Berlin\"\n```json\n{\"ops\":[{\"op\":\"add_durable\",\"claim\":\"lives in Berlin\",\"category\":\"identity\",\"structured_fields\":{\"location\":\"Berlin\"}}]}\n```\n\n### Example 7 \u2014 dedup as strengthen\nKnown durable facts include: `[fact_abc] (durable.identity) lives in Berlin`\nMessage: \"Berlin's been treating me well\"\n```json\n{\"ops\":[{\"op\":\"strengthen\",\"factId\":\"fact_abc\",\"reason\":\"user reaffirmed living in Berlin\"}]}\n```\n\n### Example 8 \u2014 contradict\nKnown durable facts include: `[fact_abc] (durable.identity) lives in Berlin`\nMessage: \"Actually I moved to Tokyo last month\"\n```json\n{\"ops\":[{\"op\":\"contradict\",\"factId\":\"fact_abc\",\"proposedText\":\"lives in Tokyo\",\"reason\":\"user moved to Tokyo, contradicts Berlin\"},{\"op\":\"add_durable\",\"claim\":\"moved to Tokyo last month\",\"category\":\"life_event\",\"structured_fields\":{\"event\":\"relocation\",\"to\":\"Tokyo\"}}]}\n```\n\n## Inputs\n\n# Current Context\nAgent Name: {{agentName}}\nMessage Sender: {{senderName}} (ID: {{senderId}})\nNow: {{now}}\n\n# Recent Messages\n{{recentMessages}}\n\n# Known durable facts (top similarity matches; format: [factId] (durable.category) claim)\n{{knownDurable}}\n\n# Known current facts (top similarity matches; format: [factId] (current.category, since <validAt>) claim)\n{{knownCurrent}}\n\n# Latest message (this is what you are extracting from)\n{{message}}\n\n## Output\n\nReturn exactly one JSON object: `{\"ops\":[...]}`. No code fences, no markdown, no prose, no XML, no `<think>`. If nothing should change, return `{\"ops\":[]}`.";
53
+ export declare const FACT_EXTRACTION_TEMPLATE = "# Task: Classify and extract facts from this message\n\nYou maintain a two-store fact memory for an AI assistant. For each message you decide what to insert, strengthen, decay, or contradict in that memory. You return a single JSON object with an `ops` array \u2014 nothing else.\n\n## The two stores\n\n**durable** \u2014 stable identity-level claims that will still matter in a year. Categories:\n- identity: where someone lives, name preferences, demographics (\"lives in Berlin\", \"born 1990\")\n- health: lasting conditions, allergies, recurring patterns (\"flat cortisol curve\", \"allergic to penicillin\", \"always struggles in mornings\")\n- relationship: persistent people in their life (\"has a sister Mia\", \"married to Alex\")\n- life_event: dated milestones (\"founded $company in 2024\", \"moved to Berlin in 2023\")\n- business_role: long-term roles (\"senior engineer at $company since 2024\")\n- preference: stable likes/dislikes (\"prefers concise answers\", \"dislikes group calls\")\n- goal: long-arc objectives (\"wants to launch indie product by 2027\")\n\n**current** \u2014 time-bound state about right now or the near term. Categories:\n- feeling: short-term emotional state (\"anxious this morning\", \"excited about launch\")\n- physical_state: short-term body state (\"low energy this week\", \"headache today\")\n- working_on: active task (\"debugging auth flow\", \"drafting Q4 plan\")\n- going_through: ongoing life situation (\"navigating divorce\", \"recovering from surgery\")\n- schedule_context: near-term schedule (\"traveling to Tokyo next week\", \"deadline Friday\")\n\nIf a claim feels stale or surprising to retrieve a year from now, it is **current**, not durable. When in doubt, prefer current.\n\n## Operations\n\n- `add_durable`: insert a new durable fact. Always include `claim`, `category`, `structured_fields`. Optionally `verification_status` (default `self_reported`) and `reason`.\n- `add_current`: insert a new current fact. Always include `claim`, `category`, `structured_fields`. Optionally `valid_at` (ISO timestamp; defaults to now if omitted) and `reason`.\n- `strengthen`: an existing fact in the retrieved list is restated or reaffirmed. Include the existing `factId` and a short `reason`. **Do not add_* a duplicate.**\n- `decay`: an existing current fact looks resolved or no longer mentioned. Include `factId` and `reason`.\n- `contradict`: an existing fact is directly contradicted by the message. Include `factId`, `reason`, and `proposedText` if the user supplied a replacement.\n\nIf the message is small talk or asks a question without supplying any new claim, return `{\"ops\": []}`. Empty output is the right answer most of the time.\n\n## Dedup rule (read this twice)\n\nBefore emitting `add_durable` or `add_current`, scan the **Known durable facts** and **Known current facts** lists below. If a similar claim already exists, emit `strengthen` with that fact's `factId` instead of inserting a duplicate. Reword paraphrases also count as matches \u2014 match on meaning, not surface form.\n\n## Examples\n\n### Example 1 \u2014 durable health\nMessage: \"I have a flat cortisol curve confirmed via lab\"\n```json\n{\"ops\":[{\"op\":\"add_durable\",\"claim\":\"flat cortisol curve\",\"category\":\"health\",\"structured_fields\":{\"condition\":\"flat cortisol curve\",\"source\":\"lab\"},\"verification_status\":\"confirmed\"}]}\n```\n\n### Example 2 \u2014 current feeling\nMessage: \"I'm anxious this morning\"\n```json\n{\"ops\":[{\"op\":\"add_current\",\"claim\":\"anxious this morning\",\"category\":\"feeling\",\"structured_fields\":{\"emotion\":\"anxious\",\"window\":\"morning\"}}]}\n```\n\n### Example 3 \u2014 current working_on\nMessage: \"Currently debugging the auth flow\"\n```json\n{\"ops\":[{\"op\":\"add_current\",\"claim\":\"debugging the auth flow\",\"category\":\"working_on\",\"structured_fields\":{\"task\":\"debugging\",\"subject\":\"auth flow\"}}]}\n```\n\n### Example 4 \u2014 current going_through\nMessage: \"I'm going through a divorce\"\n```json\n{\"ops\":[{\"op\":\"add_current\",\"claim\":\"navigating a divorce\",\"category\":\"going_through\",\"structured_fields\":{\"situation\":\"divorce\"}}]}\n```\n\n### Example 5 \u2014 durable life_event\nMessage: \"I founded Acme Corp in 2024\"\n```json\n{\"ops\":[{\"op\":\"add_durable\",\"claim\":\"founded Acme Corp in 2024\",\"category\":\"life_event\",\"structured_fields\":{\"event\":\"founded company\",\"company\":\"Acme Corp\",\"year\":2024}},{\"op\":\"add_durable\",\"claim\":\"founder of Acme Corp\",\"category\":\"business_role\",\"structured_fields\":{\"role\":\"founder\",\"company\":\"Acme Corp\",\"since\":2024}}]}\n```\n\n### Example 6 \u2014 durable identity\nMessage: \"I live in Berlin\"\n```json\n{\"ops\":[{\"op\":\"add_durable\",\"claim\":\"lives in Berlin\",\"category\":\"identity\",\"structured_fields\":{\"location\":\"Berlin\"}}]}\n```\n\n### Example 7 \u2014 dedup as strengthen\nKnown durable facts include: `[fact_abc] (durable.identity) lives in Berlin`\nMessage: \"Berlin's been treating me well\"\n```json\n{\"ops\":[{\"op\":\"strengthen\",\"factId\":\"fact_abc\",\"reason\":\"user reaffirmed living in Berlin\"}]}\n```\n\n### Example 8 \u2014 contradict\nKnown durable facts include: `[fact_abc] (durable.identity) lives in Berlin`\nMessage: \"Actually I moved to Tokyo last month\"\n```json\n{\"ops\":[{\"op\":\"contradict\",\"factId\":\"fact_abc\",\"proposedText\":\"lives in Tokyo\",\"reason\":\"user moved to Tokyo, contradicts Berlin\"},{\"op\":\"add_durable\",\"claim\":\"moved to Tokyo last month\",\"category\":\"life_event\",\"structured_fields\":{\"event\":\"relocation\",\"to\":\"Tokyo\"}}]}\n```\n\n## Inputs\n\n# Current Context\nAgent Name: {{agentName}}\nMessage Sender: {{senderName}} (ID: {{senderId}})\nNow: {{now}}\n\n# Recent Messages\n{{recentMessages}}\n\n# Known durable facts (top similarity matches; format: [factId] (durable.category) claim)\n{{knownDurable}}\n\n# Known current facts (top similarity matches; format: [factId] (current.category, since <validAt>) claim)\n{{knownCurrent}}\n\n# Latest message (this is what you are extracting from)\n{{message}}\n\n## Output\n\nReturn exactly one JSON object: `{\"ops\":[...]}`. No code fences, no markdown, no prose, no XML, no `<think>`. If nothing should change, return `{\"ops\":[]}`.";
52
54
  export declare const reflectionTemplate = "# Task: Reflect on recent agent behavior and interactions.\n\n{{providers}}\n\n# Recent Interactions:\n{{recentInteractions}}\n\n# Instructions:\nAnalyze the agent's recent behavior and interactions. Consider:\n1. Was the communication clear and helpful?\n2. Were responses appropriate for the context?\n3. Were any mistakes made?\n4. What could be improved?\n\nRespond using TOON like this:\nthought: Your detailed analysis\nquality_score: Score 0-100 for overall quality\nstrengths: What went well\nimprovements: What could be improved\nlearnings: Key takeaways for future interactions\n\nIMPORTANT: Your response must ONLY contain the TOON document above.";
53
55
  export declare const REFLECTION_TEMPLATE = "# Task: Reflect on recent agent behavior and interactions.\n\n{{providers}}\n\n# Recent Interactions:\n{{recentInteractions}}\n\n# Instructions:\nAnalyze the agent's recent behavior and interactions. Consider:\n1. Was the communication clear and helpful?\n2. Were responses appropriate for the context?\n3. Were any mistakes made?\n4. What could be improved?\n\nRespond using TOON like this:\nthought: Your detailed analysis\nquality_score: Score 0-100 for overall quality\nstrengths: What went well\nimprovements: What could be improved\nlearnings: Key takeaways for future interactions\n\nIMPORTANT: Your response must ONLY contain the TOON document above.";
54
56
  export declare const removeContactTemplate = "task: Extract the contact removal request.\n\ncontext:\n{{providers}}\n\ncurrent_message:\n{{message}}\n\ninstructions[4]:\n- identify the contact name to remove\n- set confirmed to yes only when the user explicitly confirms removal\n- set confirmed to no when confirmation is absent or ambiguous\n- return only the requested contact\n\noutput:\nTOON only. Return exactly one TOON document. No prose before or after it. No <think>.\n\nExample:\ncontactName: Jane Doe\nconfirmed: yes";
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../../../typescript/src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../../../typescript/src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,kBAAkB,4vBA4BY,CAAC;AAE5C,eAAO,MAAM,oBAAoB,4vBAAqB,CAAC;AAEvD,eAAO,MAAM,kCAAkC,4vBAcsB,CAAC;AAEtE,eAAO,MAAM,qCAAqC,4vBACf,CAAC;AAEpC,eAAO,MAAM,+BAA+B,qsBAYoB,CAAC;AAEjE,eAAO,MAAM,kCAAkC,qsBACf,CAAC;AAEjC,eAAO,MAAM,4BAA4B,yxBAgBgB,CAAC;AAE1D,eAAO,MAAM,+BAA+B,yxBAA+B,CAAC;AAE5E,eAAO,MAAM,yBAAyB,+tBAasC,CAAC;AAE7E,eAAO,MAAM,4BAA4B,+tBAA4B,CAAC;AAEtE,eAAO,MAAM,oBAAoB,6cAemC,CAAC;AAErE,eAAO,MAAM,sBAAsB,6cAAuB,CAAC;AAE3D,eAAO,MAAM,8BAA8B,szBAmB2D,CAAC;AAEvG,eAAO,MAAM,iCAAiC,szBAAiC,CAAC;AAEhF,eAAO,MAAM,4BAA4B,4iBAea,CAAC;AAEvD,eAAO,MAAM,+BAA+B,4iBAA+B,CAAC;AAE5E,eAAO,MAAM,sBAAsB,g0BAgBiI,CAAC;AAErK,eAAO,MAAM,wBAAwB,g0BAAyB,CAAC;AAE/D,eAAO,MAAM,wBAAwB,6lCAiBmG,CAAC;AAEzI,eAAO,MAAM,0BAA0B,6lCAA2B,CAAC;AAEnE,eAAO,MAAM,uBAAuB,weAegC,CAAC;AAErE,eAAO,MAAM,yBAAyB,weAA0B,CAAC;AAEjE,eAAO,MAAM,4BAA4B,q1BA2BV,CAAC;AAEhC,eAAO,MAAM,8BAA8B,q1BAA+B,CAAC;AAE3E,eAAO,MAAM,0BAA0B,8uKA+HpB,CAAC;AAEpB,eAAO,MAAM,6BAA6B,8uKAA6B,CAAC;AAExE,eAAO,MAAM,yBAAyB,6rCAoChB,CAAC;AAEvB,eAAO,MAAM,2BAA2B,6rCAA4B,CAAC;AAErE,eAAO,MAAM,sBAAsB,0lKA8DvB,CAAC;AAEb,eAAO,MAAM,wBAAwB,0lKAAyB,CAAC;AAE/D,eAAO,MAAM,yBAAyB,svDAwCtB,CAAC;AAEjB,eAAO,MAAM,4BAA4B,svDAA4B,CAAC;AAEtE,eAAO,MAAM,wBAAwB,srBA+BA,CAAC;AAEtC,eAAO,MAAM,2BAA2B,srBAA2B,CAAC;AAEpE,eAAO,MAAM,wBAAwB,srBAmBmG,CAAC;AAEzI,eAAO,MAAM,0BAA0B,srBAA2B,CAAC;AAEnE,eAAO,MAAM,0BAA0B,qmDAoC1B,CAAC;AAEd,eAAO,MAAM,6BAA6B,qmDAA6B,CAAC;AAExE,eAAO,MAAM,oBAAoB,qwEAkCuG,CAAC;AAEzI,eAAO,MAAM,sBAAsB,qwEAAuB,CAAC;AAE3D,eAAO,MAAM,2BAA2B,0pGAgEgG,CAAC;AAEzI,eAAO,MAAM,6BAA6B,0pGAA8B,CAAC;AAEzE,eAAO,MAAM,sBAAsB,8sMA+GgI,CAAC;AAEpK,eAAO,MAAM,wBAAwB,8sMAAyB,CAAC;AAE/D,eAAO,MAAM,kBAAkB,upBAqBqC,CAAC;AAErE,eAAO,MAAM,mBAAmB,upBAAqB,CAAC;AAEtD,eAAO,MAAM,qBAAqB,ueAmBnB,CAAC;AAEhB,eAAO,MAAM,uBAAuB,ueAAwB,CAAC;AAE7D,eAAO,MAAM,aAAa,8uCAqB8G,CAAC;AAEzI,eAAO,MAAM,cAAc,8uCAAgB,CAAC;AAE5C,eAAO,MAAM,wBAAwB,+uBA2BS,CAAC;AAE/C,eAAO,MAAM,2BAA2B,+uBAA2B,CAAC;AAEpE,eAAO,MAAM,sBAAsB,0oBAsBtB,CAAC;AAEd,eAAO,MAAM,wBAAwB,0oBAAyB,CAAC;AAE/D,eAAO,MAAM,wBAAwB,meAiBtB,CAAC;AAEhB,eAAO,MAAM,2BAA2B,meAA2B,CAAC;AAEpE,eAAO,MAAM,sBAAsB,8cAiBpB,CAAC;AAEhB,eAAO,MAAM,yBAAyB,8cAAyB,CAAC;AAEhE,eAAO,MAAM,qBAAqB,o2DAuCjB,CAAC;AAElB,eAAO,MAAM,uBAAuB,o2DAAwB,CAAC;AAE7D,eAAO,MAAM,gCAAgC,08DAwCvB,CAAC;AAEvB,eAAO,MAAM,oCAAoC,08DAChB,CAAC;AAElC,eAAO,MAAM,0BAA0B,idAiBxB,CAAC;AAEhB,eAAO,MAAM,6BAA6B,idAA6B,CAAC;AAExE,eAAO,MAAM,wBAAwB,qdAiBtB,CAAC;AAEhB,eAAO,MAAM,2BAA2B,qdAA2B,CAAC;AAEpE,eAAO,MAAM,aAAa,m0CAwBoG,CAAC;AAE/H,eAAO,MAAM,cAAc,m0CAAgB,CAAC;AAE5C,eAAO,MAAM,qBAAqB,0xBA0BC,CAAC;AAEpC,eAAO,MAAM,uBAAuB,0xBAAwB,CAAC;AAE7D,eAAO,MAAM,oBAAoB,ogBAiBmC,CAAC;AAErE,eAAO,MAAM,sBAAsB,ogBAAuB,CAAC;AAE3D,eAAO,MAAM,kBAAkB,6vBA4Bf,CAAC;AAEjB,eAAO,MAAM,oBAAoB,6vBAAqB,CAAC;AAEvD,eAAO,MAAM,sBAAsB,+bAgBiC,CAAC;AAErE,eAAO,MAAM,wBAAwB,+bAAyB,CAAC;AAE/D,eAAO,MAAM,2BAA2B,o7BA6BT,CAAC;AAEhC,eAAO,MAAM,6BAA6B,o7BAA8B,CAAC;AAEzE,eAAO,MAAM,aAAa,qCAAqC,CAAC;AAEhE,eAAO,MAAM,cAAc,qCAAgB,CAAC"}
@@ -705,6 +705,119 @@ If there are no relationships, omit all relationships[...] entries.
705
705
 
706
706
  IMPORTANT: Your response must ONLY contain the TOON document above. Do not include any text, thinking, or reasoning before or after it.`;
707
707
  export const REFLECTION_EVALUATOR_TEMPLATE = reflectionEvaluatorTemplate;
708
+ export const factExtractionTemplate = `# Task: Classify and extract facts from this message
709
+
710
+ You maintain a two-store fact memory for an AI assistant. For each message you decide what to insert, strengthen, decay, or contradict in that memory. You return a single JSON object with an \`ops\` array — nothing else.
711
+
712
+ ## The two stores
713
+
714
+ **durable** — stable identity-level claims that will still matter in a year. Categories:
715
+ - identity: where someone lives, name preferences, demographics ("lives in Berlin", "born 1990")
716
+ - health: lasting conditions, allergies, recurring patterns ("flat cortisol curve", "allergic to penicillin", "always struggles in mornings")
717
+ - relationship: persistent people in their life ("has a sister Mia", "married to Alex")
718
+ - life_event: dated milestones ("founded $company in 2024", "moved to Berlin in 2023")
719
+ - business_role: long-term roles ("senior engineer at $company since 2024")
720
+ - preference: stable likes/dislikes ("prefers concise answers", "dislikes group calls")
721
+ - goal: long-arc objectives ("wants to launch indie product by 2027")
722
+
723
+ **current** — time-bound state about right now or the near term. Categories:
724
+ - feeling: short-term emotional state ("anxious this morning", "excited about launch")
725
+ - physical_state: short-term body state ("low energy this week", "headache today")
726
+ - working_on: active task ("debugging auth flow", "drafting Q4 plan")
727
+ - going_through: ongoing life situation ("navigating divorce", "recovering from surgery")
728
+ - schedule_context: near-term schedule ("traveling to Tokyo next week", "deadline Friday")
729
+
730
+ If a claim feels stale or surprising to retrieve a year from now, it is **current**, not durable. When in doubt, prefer current.
731
+
732
+ ## Operations
733
+
734
+ - \`add_durable\`: insert a new durable fact. Always include \`claim\`, \`category\`, \`structured_fields\`. Optionally \`verification_status\` (default \`self_reported\`) and \`reason\`.
735
+ - \`add_current\`: insert a new current fact. Always include \`claim\`, \`category\`, \`structured_fields\`. Optionally \`valid_at\` (ISO timestamp; defaults to now if omitted) and \`reason\`.
736
+ - \`strengthen\`: an existing fact in the retrieved list is restated or reaffirmed. Include the existing \`factId\` and a short \`reason\`. **Do not add_* a duplicate.**
737
+ - \`decay\`: an existing current fact looks resolved or no longer mentioned. Include \`factId\` and \`reason\`.
738
+ - \`contradict\`: an existing fact is directly contradicted by the message. Include \`factId\`, \`reason\`, and \`proposedText\` if the user supplied a replacement.
739
+
740
+ If the message is small talk or asks a question without supplying any new claim, return \`{"ops": []}\`. Empty output is the right answer most of the time.
741
+
742
+ ## Dedup rule (read this twice)
743
+
744
+ Before emitting \`add_durable\` or \`add_current\`, scan the **Known durable facts** and **Known current facts** lists below. If a similar claim already exists, emit \`strengthen\` with that fact's \`factId\` instead of inserting a duplicate. Reword paraphrases also count as matches — match on meaning, not surface form.
745
+
746
+ ## Examples
747
+
748
+ ### Example 1 — durable health
749
+ Message: "I have a flat cortisol curve confirmed via lab"
750
+ \`\`\`json
751
+ {"ops":[{"op":"add_durable","claim":"flat cortisol curve","category":"health","structured_fields":{"condition":"flat cortisol curve","source":"lab"},"verification_status":"confirmed"}]}
752
+ \`\`\`
753
+
754
+ ### Example 2 — current feeling
755
+ Message: "I'm anxious this morning"
756
+ \`\`\`json
757
+ {"ops":[{"op":"add_current","claim":"anxious this morning","category":"feeling","structured_fields":{"emotion":"anxious","window":"morning"}}]}
758
+ \`\`\`
759
+
760
+ ### Example 3 — current working_on
761
+ Message: "Currently debugging the auth flow"
762
+ \`\`\`json
763
+ {"ops":[{"op":"add_current","claim":"debugging the auth flow","category":"working_on","structured_fields":{"task":"debugging","subject":"auth flow"}}]}
764
+ \`\`\`
765
+
766
+ ### Example 4 — current going_through
767
+ Message: "I'm going through a divorce"
768
+ \`\`\`json
769
+ {"ops":[{"op":"add_current","claim":"navigating a divorce","category":"going_through","structured_fields":{"situation":"divorce"}}]}
770
+ \`\`\`
771
+
772
+ ### Example 5 — durable life_event
773
+ Message: "I founded Acme Corp in 2024"
774
+ \`\`\`json
775
+ {"ops":[{"op":"add_durable","claim":"founded Acme Corp in 2024","category":"life_event","structured_fields":{"event":"founded company","company":"Acme Corp","year":2024}},{"op":"add_durable","claim":"founder of Acme Corp","category":"business_role","structured_fields":{"role":"founder","company":"Acme Corp","since":2024}}]}
776
+ \`\`\`
777
+
778
+ ### Example 6 — durable identity
779
+ Message: "I live in Berlin"
780
+ \`\`\`json
781
+ {"ops":[{"op":"add_durable","claim":"lives in Berlin","category":"identity","structured_fields":{"location":"Berlin"}}]}
782
+ \`\`\`
783
+
784
+ ### Example 7 — dedup as strengthen
785
+ Known durable facts include: \`[fact_abc] (durable.identity) lives in Berlin\`
786
+ Message: "Berlin's been treating me well"
787
+ \`\`\`json
788
+ {"ops":[{"op":"strengthen","factId":"fact_abc","reason":"user reaffirmed living in Berlin"}]}
789
+ \`\`\`
790
+
791
+ ### Example 8 — contradict
792
+ Known durable facts include: \`[fact_abc] (durable.identity) lives in Berlin\`
793
+ Message: "Actually I moved to Tokyo last month"
794
+ \`\`\`json
795
+ {"ops":[{"op":"contradict","factId":"fact_abc","proposedText":"lives in Tokyo","reason":"user moved to Tokyo, contradicts Berlin"},{"op":"add_durable","claim":"moved to Tokyo last month","category":"life_event","structured_fields":{"event":"relocation","to":"Tokyo"}}]}
796
+ \`\`\`
797
+
798
+ ## Inputs
799
+
800
+ # Current Context
801
+ Agent Name: {{agentName}}
802
+ Message Sender: {{senderName}} (ID: {{senderId}})
803
+ Now: {{now}}
804
+
805
+ # Recent Messages
806
+ {{recentMessages}}
807
+
808
+ # Known durable facts (top similarity matches; format: [factId] (durable.category) claim)
809
+ {{knownDurable}}
810
+
811
+ # Known current facts (top similarity matches; format: [factId] (current.category, since <validAt>) claim)
812
+ {{knownCurrent}}
813
+
814
+ # Latest message (this is what you are extracting from)
815
+ {{message}}
816
+
817
+ ## Output
818
+
819
+ Return exactly one JSON object: \`{"ops":[...]}\`. No code fences, no markdown, no prose, no XML, no \`<think>\`. If nothing should change, return \`{"ops":[]}\`.`;
820
+ export const FACT_EXTRACTION_TEMPLATE = factExtractionTemplate;
708
821
  export const reflectionTemplate = `# Task: Reflect on recent agent behavior and interactions.
709
822
 
710
823
  {{providers}}
@@ -391,6 +391,84 @@ export interface CustomMetadata extends Omit<ProtoCustomMetadata, "$typeName" |
391
391
  /** Custom metadata values - must be JSON-serializable */
392
392
  [key: string]: MetadataValue | MemoryTypeAlias | BaseMetadata | undefined;
393
393
  }
394
+ /**
395
+ * Two-store fact memory model (see docs/architecture/fact-memory.md).
396
+ *
397
+ * `durable` facts are stable identity-level claims (where someone lives,
398
+ * persistent health conditions, long-term roles). They retrieve with no time
399
+ * decay.
400
+ *
401
+ * `current` facts are time-bound state ("anxious this morning", "debugging
402
+ * auth flow", "navigating divorce"). They retrieve with a curved decay
403
+ * weighting and naturally fade as `valid_at` ages.
404
+ */
405
+ export type FactKind = "durable" | "current";
406
+ /**
407
+ * Categories that durable facts belong to. The set is closed for write-time
408
+ * validation and matches the taxonomy in `factExtractor.schema.ts`.
409
+ */
410
+ export type DurableFactCategory = "identity" | "health" | "relationship" | "life_event" | "business_role" | "preference" | "goal";
411
+ /**
412
+ * Categories that current facts belong to. Closed set, matches the taxonomy
413
+ * in `factExtractor.schema.ts`.
414
+ */
415
+ export type CurrentFactCategory = "feeling" | "physical_state" | "working_on" | "going_through" | "schedule_context";
416
+ /**
417
+ * Verification provenance for a fact. `self_reported` is the default for
418
+ * anything the user said about themselves; `confirmed` is reserved for
419
+ * external corroboration (lab results, calendar entries, etc.); `contradicted`
420
+ * marks facts that have been challenged and are awaiting review.
421
+ */
422
+ export type FactVerificationStatus = "self_reported" | "confirmed" | "contradicted";
423
+ /**
424
+ * Metadata fields specific to fact memories. All fields are optional so
425
+ * existing facts written before the two-store model continue to work — they
426
+ * default to `kind=durable`, `category=uncategorized` at the read boundary
427
+ * (see lazy reclassification in fact-memory.md).
428
+ *
429
+ * The fact extractor (Phase 3) writes these fields on every new fact;
430
+ * `factRefinement.ts` legacy writes still produce facts without them.
431
+ */
432
+ export interface FactMetadata {
433
+ /** Existing field — confidence in the claim, 0..1. */
434
+ confidence?: number;
435
+ /** Existing field — ISO timestamp of last reinforcement. */
436
+ lastReinforced?: string;
437
+ /** Existing field — message IDs that supplied evidence for this fact. */
438
+ evidenceMessageIds?: UUID[];
439
+ /** Existing field — trajectory that produced the fact, when known. */
440
+ sourceTrajectoryId?: UUID;
441
+ /** Two-store kind. `durable` for identity-level, `current` for time-bound. */
442
+ kind?: FactKind;
443
+ /**
444
+ * Closed-set category. Narrowed by `kind`:
445
+ * - durable → DurableFactCategory
446
+ * - current → CurrentFactCategory
447
+ * Stored as a plain string for JSON portability and lazy reclassification
448
+ * (legacy facts may carry `"uncategorized"`).
449
+ */
450
+ category?: DurableFactCategory | CurrentFactCategory | string;
451
+ /**
452
+ * Structured fields extracted from the claim — e.g. for a current
453
+ * `going_through` fact, this might be `{situation: "divorce"}`. Used both
454
+ * for provider rendering and for embedding-free dedup heuristics.
455
+ */
456
+ structuredFields?: Record<string, unknown>;
457
+ /**
458
+ * For `current` facts only: ISO timestamp of when the state began. Defaults
459
+ * to extraction time if the model does not supply one. Drives the
460
+ * time-weighting curve in the read path.
461
+ */
462
+ validAt?: string;
463
+ /**
464
+ * ISO timestamp of the most recent message that confirmed the fact.
465
+ * Distinct from `lastReinforced` (legacy refinement field) in that this
466
+ * tracks confirmations from the new extractor's `strengthen` op.
467
+ */
468
+ lastConfirmedAt?: string;
469
+ /** Provenance signal for the claim. */
470
+ verificationStatus?: FactVerificationStatus;
471
+ }
394
472
  interface MemoryMetadataBase {
395
473
  type?: MemoryTypeAlias;
396
474
  source?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../../../typescript/src/types/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../../../typescript/src/types/memory.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,35 @@ export interface PaymentConfigDefinition {
10
10
  symbol: string;
11
11
  chainId?: string;
12
12
  }
13
+ /** Built-in x402 payment preset names shipped with @elizaos/agent */
14
+ export type BuiltInPaymentConfig = "base_usdc" | "solana_usdc" | "polygon_usdc" | "base_elizaos" | "solana_elizaos" | "solana_degenai";
15
+ /**
16
+ * Character-level defaults for paid routes (`x402: true` or partial `x402` on routes).
17
+ * Set under `character.settings.x402`.
18
+ */
19
+ export interface CharacterX402Settings {
20
+ defaultPaymentConfigs?: (BuiltInPaymentConfig | string)[];
21
+ defaultPriceInCents?: number;
22
+ }
13
23
  /**
14
24
  * x402 configuration for a paid route.
15
25
  */
16
26
  export interface X402Config {
17
27
  priceInCents: number;
18
- paymentConfigs?: string[];
28
+ paymentConfigs?: (BuiltInPaymentConfig | string)[];
29
+ }
30
+ /**
31
+ * Pre-payment validation result (eliza-x402 compatible).
32
+ */
33
+ export interface X402ValidationResult {
34
+ valid: boolean;
35
+ error?: {
36
+ status: number;
37
+ message: string;
38
+ details?: unknown;
39
+ };
19
40
  }
41
+ export type X402RequestValidator = (req: import("./plugin").RouteRequest) => X402ValidationResult | Promise<X402ValidationResult>;
20
42
  /**
21
43
  * x402 "accepts" entry describing payment terms.
22
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../../../../typescript/src/types/payment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../../../../typescript/src/types/payment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAC7B,WAAW,GACX,aAAa,GACb,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,gBAAgB,CAAC;AAEpB;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACrC,qBAAqB,CAAC,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,EAAE,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACF;AAED,MAAM,MAAM,oBAAoB,GAAG,CAClC,GAAG,EAAE,OAAO,UAAU,EAAE,YAAY,KAChC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -8,6 +8,7 @@ import type { JsonValue, ComponentTypeDefinition as ProtoComponentTypeDefinition
8
8
  import type { IAgentRuntime } from "./runtime";
9
9
  import type { Service } from "./service";
10
10
  import type { TestSuite } from "./testing";
11
+ import type { X402Config, X402RequestValidator } from "./payment";
11
12
  /**
12
13
  * Type for a service class constructor.
13
14
  * This is more flexible than `typeof Service` to allow for:
@@ -67,6 +68,41 @@ interface BaseRoute {
67
68
  * Use for legacy API paths that must remain stable (e.g. `/api/telegram-setup/status`).
68
69
  */
69
70
  rawPath?: boolean;
71
+ /** x402 micropayment gate: object, or `true` to use `character.settings.x402` defaults */
72
+ x402?: X402Config | true;
73
+ /** Runs before payment; invalid → 402 with accepts payload */
74
+ validator?: X402RequestValidator;
75
+ /** Optional OpenAPI-style metadata for x402 outputSchema */
76
+ openapi?: {
77
+ parameters?: Array<{
78
+ name: string;
79
+ in: "path" | "query" | "header";
80
+ required?: boolean;
81
+ description?: string;
82
+ schema: {
83
+ type: string;
84
+ format?: string;
85
+ pattern?: string;
86
+ enum?: string[];
87
+ minimum?: number;
88
+ maximum?: number;
89
+ };
90
+ }>;
91
+ requestBody?: {
92
+ required?: boolean;
93
+ description?: string;
94
+ content: {
95
+ "application/json"?: {
96
+ schema: JsonValue;
97
+ };
98
+ "multipart/form-data"?: {
99
+ schema: JsonValue;
100
+ };
101
+ };
102
+ };
103
+ };
104
+ /** Shown in x402 `accepts` / wallet UIs when set */
105
+ description?: string;
70
106
  }
71
107
  interface PublicRoute extends BaseRoute {
72
108
  public: true;
@@ -77,6 +113,8 @@ interface PrivateRoute extends BaseRoute {
77
113
  name?: string;
78
114
  }
79
115
  export type Route = PublicRoute | PrivateRoute;
116
+ /** Route that may include x402 payment fields (alias for authoring clarity) */
117
+ export type PaymentEnabledRoute = Route;
80
118
  /**
81
119
  * JSON Schema type definition for component validation
82
120
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../../../typescript/src/types/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../../../typescript/src/types/plugin.ts"],"names":[],"mappings":"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"}