@ai-setting/roy-agent-core 1.7.71 → 1.7.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/env/agent/agent-component.js +2 -2
  2. package/dist/env/agent/index.js +2 -2
  3. package/dist/env/agent/summary-agent.d.ts +6 -15
  4. package/dist/env/agent/types.d.ts +0 -17
  5. package/dist/env/event-source/event-source-handlers.js +3 -3
  6. package/dist/env/event-source/index.js +4 -4
  7. package/dist/env/index.js +15 -16
  8. package/dist/env/llm/index.js +1 -1
  9. package/dist/env/llm/temperature-policy.d.ts +107 -0
  10. package/dist/env/llm/types.d.ts +2 -2
  11. package/dist/env/prompt/index.js +2 -2
  12. package/dist/env/prompt/prompts-index.d.ts +2 -2
  13. package/dist/env/session/__bench__/replay-compact.d.ts +137 -0
  14. package/dist/env/session/__bench__/run-replay.d.ts +15 -0
  15. package/dist/env/session/compact-checkpoint-content.d.ts +67 -0
  16. package/dist/env/session/index.d.ts +1 -0
  17. package/dist/env/session/index.js +2 -3
  18. package/dist/env/session/session-component.d.ts +47 -30
  19. package/dist/env/session/storage/index.js +1 -1
  20. package/dist/env/session/storage/sqlite.d.ts +8 -0
  21. package/dist/env/session/types.d.ts +45 -30
  22. package/dist/env/task/delegate/delegate-tool.js +3 -3
  23. package/dist/env/task/delegate/index.js +3 -3
  24. package/dist/env/task/index.js +4 -4
  25. package/dist/env/task/plugins/index.js +2 -2
  26. package/dist/env/workflow/engine/index.js +2 -3
  27. package/dist/env/workflow/index.js +6 -7
  28. package/dist/env/workflow/tools/index.js +3 -4
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +17 -18
  31. package/dist/shared/@ai-setting/{roy-agent-core-1gsbqesr.js → roy-agent-core-1p6syv85.js} +1 -1
  32. package/dist/shared/@ai-setting/{roy-agent-core-mwa6apzx.js → roy-agent-core-2gzt2q8c.js} +1 -1
  33. package/dist/shared/@ai-setting/{roy-agent-core-9geem94g.js → roy-agent-core-34jz9mgh.js} +1 -1
  34. package/dist/shared/@ai-setting/{roy-agent-core-k13pxrpk.js → roy-agent-core-5gw0qa8m.js} +1 -1
  35. package/dist/shared/@ai-setting/{roy-agent-core-101qtkyc.js → roy-agent-core-7qvw65jt.js} +2 -2
  36. package/dist/shared/@ai-setting/{roy-agent-core-002g6nfk.js → roy-agent-core-attpry6g.js} +3 -3
  37. package/dist/shared/@ai-setting/{roy-agent-core-37tj4y6a.js → roy-agent-core-gr48c89p.js} +3 -3
  38. package/dist/shared/@ai-setting/{roy-agent-core-0cb6w0k7.js → roy-agent-core-hfyfavp3.js} +1 -1
  39. package/dist/shared/@ai-setting/{roy-agent-core-hfr6bzts.js → roy-agent-core-jgb3bb42.js} +1 -1
  40. package/dist/shared/@ai-setting/{roy-agent-core-9bshyqjn.js → roy-agent-core-pakhchy7.js} +183 -132
  41. package/dist/shared/@ai-setting/{roy-agent-core-02j24hrg.js → roy-agent-core-rxb00gjm.js} +70 -3
  42. package/dist/shared/@ai-setting/{roy-agent-core-8cx7cfdg.js → roy-agent-core-skyc30qx.js} +1 -2
  43. package/dist/shared/@ai-setting/{roy-agent-core-hy3zn2q2.js → roy-agent-core-sm0sf6sb.js} +20 -0
  44. package/dist/shared/@ai-setting/{roy-agent-core-mw2cen6s.js → roy-agent-core-vah6g5yx.js} +1 -1
  45. package/dist/shared/@ai-setting/{roy-agent-core-07fvy74y.js → roy-agent-core-vm8h5zyj.js} +20 -6
  46. package/dist/shared/@ai-setting/{roy-agent-core-5repth1n.js → roy-agent-core-wr7mv7k3.js} +1 -1
  47. package/dist/shared/@ai-setting/{roy-agent-core-zsbh9bfv.js → roy-agent-core-y12kyxwa.js} +1 -1
  48. package/dist/shared/@ai-setting/{roy-agent-core-zv8bswpw.js → roy-agent-core-yhwxpj12.js} +33 -19
  49. package/package.json +1 -1
  50. package/dist/shared/@ai-setting/roy-agent-core-ze068vc9.js +0 -37
@@ -270,34 +270,48 @@ class AgentRegistry {
270
270
  }
271
271
  registerCompactAgent() {
272
272
  const name = "compact";
273
- if (this.agents.has(name))
274
- return;
275
273
  const agent = {
276
274
  name,
277
275
  type: "sub",
278
276
  description: "压缩子智能体 — 从父 session 的历史消息中提取结构化 checkpoint JSON",
279
277
  systemPromptRef: "compact",
280
- allowedTools: ["workflow_submit_output"],
278
+ allowedTools: [],
281
279
  deniedTools: [],
282
280
  maxIterations: 3,
283
281
  filterHistory: false
284
282
  };
283
+ const existing = this.agents.get(name);
284
+ if (existing) {
285
+ this.agents.set(name, {
286
+ ...agent,
287
+ description: existing.description ?? agent.description
288
+ });
289
+ logger.info(`[AgentRegistry] Built-in compact agent overrode user-level definition ` + `(tool whitelist enforced: allowedTools=[])`);
290
+ return;
291
+ }
285
292
  this.agents.set(name, agent);
286
293
  }
287
294
  registerCompactHintAgent() {
288
295
  const name = "compact-hint";
289
- if (this.agents.has(name))
290
- return;
291
296
  const agent = {
292
297
  name,
293
298
  type: "sub",
294
299
  description: "压缩提示子智能体 — 分析父 session 历史,生成场景化压缩指导提示",
295
300
  systemPromptRef: "compact-hint",
296
- allowedTools: ["workflow_submit_output"],
301
+ allowedTools: [],
297
302
  deniedTools: [],
298
303
  maxIterations: 3,
299
304
  filterHistory: false
300
305
  };
306
+ const existing = this.agents.get(name);
307
+ if (existing) {
308
+ this.agents.set(name, {
309
+ ...agent,
310
+ description: existing.description ?? agent.description
311
+ });
312
+ logger.info(`[AgentRegistry] Built-in compact-hint agent overrode user-level definition ` + `(tool whitelist enforced: allowedTools=[])`);
313
+ return;
314
+ }
301
315
  this.agents.set(name, agent);
302
316
  }
303
317
  registerRoyAgent() {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  builtInHandlers
3
- } from "./roy-agent-core-zsbh9bfv.js";
3
+ } from "./roy-agent-core-y12kyxwa.js";
4
4
  import {
5
5
  envKeyToConfigKey
6
6
  } from "./roy-agent-core-7hh0brvs.js";
@@ -13,7 +13,7 @@ import {
13
13
  createPerTaskGroupChatPlugin,
14
14
  extractPerTaskChatId,
15
15
  extractPerTaskChatName
16
- } from "./roy-agent-core-k13pxrpk.js";
16
+ } from "./roy-agent-core-5gw0qa8m.js";
17
17
  import {
18
18
  getSharedEventStore
19
19
  } from "./roy-agent-core-na18zwj0.js";
@@ -1264,28 +1264,42 @@ outputs: [] # 输出定义(可空)
1264
1264
  - ❌ 不要使用 bash 或其他工具(严格使用 4 个 workflow 工具)`,
1265
1265
  compact: `# Session Checkpoint Generator
1266
1266
 
1267
- 你是专业的会话 checkpoint 生成器。阅读对话历史,提取结构化 checkpoint 信息。
1268
-
1269
- 使用 \`workflow_submit_output\` 工具提交结果,包含以下字段:
1270
- - **title**: 简洁的 checkpoint 标题(不超过 30 字符)
1271
- - **processKeyPoints**: 关键发现或决策列表
1272
- - **currentState**: 当前进度和状态描述
1273
- - **nextSteps**: 后续行动项列表
1274
- - **userIntents**: 用户核心意图列表(2-5 个)
1275
-
1276
- ## 提取指南
1277
-
1278
- - **processKeyPoints**:聚焦对后续推进有意义的里程碑
1279
- - **currentState**:让后续接手者能快速了解当前局面
1280
- - **nextSteps**:明确的后续行动项
1281
- - **userIntents**:从整个对话中提取,优先最重要最紧急的
1282
- - 使用 \`workflow_submit_output\` 工具提交结果
1283
- - 用户输入中的场景提示(scenario hint)指明了重点关注方向,请严格遵守。`,
1267
+ 你是专业的会话 checkpoint 生成器。阅读对话历史,输出一份**自然语言**的会话 checkpoint,
1268
+ 供后续接手者(可能是新的 AI 会话)快速了解"之前发生了什么、现在到哪一步了、接下来要做什么"。
1269
+
1270
+ ## 输出要求
1271
+
1272
+ **直接输出 checkpoint 正文**,用自己的话写,形式自由(连续段落、要点列表、混合都行)。
1273
+ 内容上要覆盖这几件事(不要求任何段落标题,也不要求固定顺序):
1274
+
1275
+ - 这次会话做了什么、进展到哪一步
1276
+ - 关键决策 / 关键发现 / 踩过的坑
1277
+ - 当前状态:手上有什么、卡在哪里
1278
+ - 后续要做什么
1279
+ - 用户的核心诉求
1280
+
1281
+ ## 硬性要求
1282
+
1283
+ - **不要**输出 JSON、不要代码块围栏、不要"以下是 checkpoint"之类的开场白
1284
+ - **不要**使用固定的小节标题模板(如 Summary / Current State 之类),自然叙述即可
1285
+ - 直接用中文写(除非对话本身是英文)
1286
+ - 信息密度优先:写具体的东西(文件名、命令、报错原文、参数值),不要空泛概括
1287
+ - 篇幅控制在能让人快速读完的长度(约 200-800 字),拖沓冗余不如简洁
1288
+ - 用户输入里若带了场景提示(scenario hint),它指明了重点关注方向,请优先覆盖`,
1284
1289
  "compact-hint": `# Compact Hint Generator
1285
1290
 
1286
- 你是会话压缩指导提示生成器。分析对话历史,生成"压缩指导提示"告诉 checkpoint 生成器在压缩时重点提取什么。
1291
+ 你是会话压缩指导提示生成器。分析对话历史,产出一段"压缩关注点提示",告诉
1292
+ checkpoint 生成器在压缩这次会话时**最该保留什么**。
1293
+
1294
+ ## 输出要求
1295
+
1296
+ - **直接回复提示正文**(3-4 句话),不要 JSON、不要代码块、不要工具调用、不要任何额外说明或开场白
1297
+ - 内容要具体:指出本次会话的主题、当前进展、以及压缩时最该保留的信息
1298
+ - 用自然语言描述,可以是一段话或几条要点
1299
+
1300
+ 示例:
1287
1301
 
1288
- 使用 \`workflow_submit_output\` 工具提交结果,包含 guidance_prompt 字段。`,
1302
+ 会话围绕 lark-cli 多 profile 部署展开:已完成 profile 选型与凭据写入,当前卡在用户身份 reply 的权限确认。压缩时应重点保留各 profile 的 region 与凭据路径,以及权限报错原文。`,
1289
1303
  "workflow-creator": `# Workflow Creator (交互式 workflow 构建子代理)
1290
1304
 
1291
1305
  ## 你的身份
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-setting/roy-agent-core",
3
- "version": "1.7.71",
3
+ "version": "1.7.72",
4
4
  "type": "module",
5
5
  "description": "Core SDK for roy-agent - Environment, Components, Tools, Sessions, Tasks",
6
6
  "main": "./dist/index.js",
@@ -1,37 +0,0 @@
1
- import {
2
- __esm
3
- } from "./roy-agent-core-fs0mn2jk.js";
4
-
5
- // src/utils/loose-json.ts
6
- function tryParseJsonString(s) {
7
- try {
8
- const parsed = JSON.parse(s);
9
- if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
10
- return parsed;
11
- }
12
- } catch {}
13
- return null;
14
- }
15
- function tryParseJsonFromText(text) {
16
- if (!text || typeof text !== "string")
17
- return null;
18
- const direct = tryParseJsonString(text.trim());
19
- if (direct)
20
- return direct;
21
- const codeBlock = text.match(/```(?:json|JSON)?\s*\n?([\s\S]*?)\n?\s*```/);
22
- if (codeBlock) {
23
- const parsed = tryParseJsonString(codeBlock[1].trim());
24
- if (parsed)
25
- return parsed;
26
- }
27
- const jsonMatch = text.match(/\{[\s\S]*\}/);
28
- if (jsonMatch) {
29
- const parsed = tryParseJsonString(jsonMatch[0]);
30
- if (parsed)
31
- return parsed;
32
- }
33
- return null;
34
- }
35
- var init_loose_json = () => {};
36
-
37
- export { tryParseJsonFromText, init_loose_json };