@zhin.js/agent 1.1.2 → 1.1.3

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 (100) hide show
  1. package/lib/bootstrap.d.ts +12 -0
  2. package/lib/bootstrap.d.ts.map +1 -1
  3. package/lib/bootstrap.js +65 -0
  4. package/lib/bootstrap.js.map +1 -1
  5. package/lib/config/zhin-agent-config.d.ts +6 -0
  6. package/lib/config/zhin-agent-config.d.ts.map +1 -1
  7. package/lib/config/zhin-agent-defaults.d.ts.map +1 -1
  8. package/lib/config/zhin-agent-defaults.js +3 -0
  9. package/lib/config/zhin-agent-defaults.js.map +1 -1
  10. package/lib/config/zhin-agent-dependencies.d.ts +1 -0
  11. package/lib/config/zhin-agent-dependencies.d.ts.map +1 -1
  12. package/lib/discovery/skills.js +3 -3
  13. package/lib/discovery/skills.js.map +1 -1
  14. package/lib/event/session-events.d.ts +3 -2
  15. package/lib/event/session-events.d.ts.map +1 -1
  16. package/lib/event/session-events.js.map +1 -1
  17. package/lib/init/configure-zhin-agent.d.ts +1 -0
  18. package/lib/init/configure-zhin-agent.d.ts.map +1 -1
  19. package/lib/init/configure-zhin-agent.js +4 -0
  20. package/lib/init/configure-zhin-agent.js.map +1 -1
  21. package/lib/init/register-builtin-tools.d.ts.map +1 -1
  22. package/lib/init/register-builtin-tools.js +8 -1
  23. package/lib/init/register-builtin-tools.js.map +1 -1
  24. package/lib/internal/agent-host.d.ts +4 -6
  25. package/lib/internal/agent-host.d.ts.map +1 -1
  26. package/lib/media/media-normalize.d.ts +5 -0
  27. package/lib/media/media-normalize.d.ts.map +1 -1
  28. package/lib/media/media-normalize.js +24 -0
  29. package/lib/media/media-normalize.js.map +1 -1
  30. package/lib/prompt/assembly.d.ts.map +1 -1
  31. package/lib/prompt/assembly.js +11 -0
  32. package/lib/prompt/assembly.js.map +1 -1
  33. package/lib/prompt/git-context.d.ts +7 -0
  34. package/lib/prompt/git-context.d.ts.map +1 -0
  35. package/lib/prompt/git-context.js +75 -0
  36. package/lib/prompt/git-context.js.map +1 -0
  37. package/lib/prompt/model-aware-builder.d.ts +8 -0
  38. package/lib/prompt/model-aware-builder.d.ts.map +1 -0
  39. package/lib/prompt/model-aware-builder.js +62 -0
  40. package/lib/prompt/model-aware-builder.js.map +1 -0
  41. package/lib/prompt/model-prompt-strategy.d.ts +12 -0
  42. package/lib/prompt/model-prompt-strategy.d.ts.map +1 -0
  43. package/lib/prompt/model-prompt-strategy.js +92 -0
  44. package/lib/prompt/model-prompt-strategy.js.map +1 -0
  45. package/lib/prompt/rules/code-references.d.ts +2 -0
  46. package/lib/prompt/rules/code-references.d.ts.map +1 -0
  47. package/lib/prompt/rules/code-references.js +11 -0
  48. package/lib/prompt/rules/code-references.js.map +1 -0
  49. package/lib/prompt/rules/critical-rules.d.ts +2 -0
  50. package/lib/prompt/rules/critical-rules.d.ts.map +1 -0
  51. package/lib/prompt/rules/critical-rules.js +19 -0
  52. package/lib/prompt/rules/critical-rules.js.map +1 -0
  53. package/lib/prompt/rules/editing.d.ts +2 -0
  54. package/lib/prompt/rules/editing.d.ts.map +1 -0
  55. package/lib/prompt/rules/editing.js +18 -0
  56. package/lib/prompt/rules/editing.js.map +1 -0
  57. package/lib/prompt/rules/error-handling.d.ts +2 -0
  58. package/lib/prompt/rules/error-handling.d.ts.map +1 -0
  59. package/lib/prompt/rules/error-handling.js +18 -0
  60. package/lib/prompt/rules/error-handling.js.map +1 -0
  61. package/lib/prompt/rules/index.d.ts +8 -0
  62. package/lib/prompt/rules/index.d.ts.map +1 -0
  63. package/lib/prompt/rules/index.js +8 -0
  64. package/lib/prompt/rules/index.js.map +1 -0
  65. package/lib/prompt/rules/memory.d.ts +2 -0
  66. package/lib/prompt/rules/memory.d.ts.map +1 -0
  67. package/lib/prompt/rules/memory.js +13 -0
  68. package/lib/prompt/rules/memory.js.map +1 -0
  69. package/lib/prompt/rules/task-completion.d.ts +2 -0
  70. package/lib/prompt/rules/task-completion.d.ts.map +1 -0
  71. package/lib/prompt/rules/task-completion.js +11 -0
  72. package/lib/prompt/rules/task-completion.js.map +1 -0
  73. package/lib/prompt/rules/workflow-rules.d.ts +2 -0
  74. package/lib/prompt/rules/workflow-rules.d.ts.map +1 -0
  75. package/lib/prompt/rules/workflow-rules.js +27 -0
  76. package/lib/prompt/rules/workflow-rules.js.map +1 -0
  77. package/lib/prompt/system-prompt.d.ts +16 -0
  78. package/lib/prompt/system-prompt.d.ts.map +1 -1
  79. package/lib/prompt/system-prompt.js +167 -21
  80. package/lib/prompt/system-prompt.js.map +1 -1
  81. package/lib/session/session-system.d.ts +6 -0
  82. package/lib/session/session-system.d.ts.map +1 -1
  83. package/lib/session/session-system.js +34 -0
  84. package/lib/session/session-system.js.map +1 -1
  85. package/lib/subagent-parent-context.d.ts +9 -0
  86. package/lib/subagent-parent-context.d.ts.map +1 -1
  87. package/lib/subagent-parent-context.js +8 -0
  88. package/lib/subagent-parent-context.js.map +1 -1
  89. package/lib/turn/auto-continue.d.ts +2 -12
  90. package/lib/turn/auto-continue.d.ts.map +1 -1
  91. package/lib/turn/auto-continue.js.map +1 -1
  92. package/lib/zhin-agent/index.d.ts +15 -35
  93. package/lib/zhin-agent/index.d.ts.map +1 -1
  94. package/lib/zhin-agent/index.js +26 -118
  95. package/lib/zhin-agent/index.js.map +1 -1
  96. package/lib/zhin-agent/runtime-modules.d.ts +1 -0
  97. package/lib/zhin-agent/runtime-modules.d.ts.map +1 -1
  98. package/lib/zhin-agent/runtime-modules.js +16 -0
  99. package/lib/zhin-agent/runtime-modules.js.map +1 -1
  100. package/package.json +7 -7
@@ -0,0 +1,11 @@
1
+ export const TASK_COMPLETION_RULES = `
2
+ <task_completion>
3
+ Ensure every task is implemented completely:
4
+ 1. **Think before acting** — identify all components that need changes
5
+ 2. **Implement end-to-end** — update all affected files, no TODOs
6
+ 3. **Verify before finishing** — re-read original request, run tests
7
+
8
+ Only say "Done" when truly done — never stop mid-task.
9
+ </task_completion>
10
+ `.trim();
11
+ //# sourceMappingURL=task-completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-completion.js","sourceRoot":"","sources":["../../../src/prompt/rules/task-completion.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;CASpC,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const WORKFLOW_RULES: string;
2
+ //# sourceMappingURL=workflow-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-rules.d.ts","sourceRoot":"","sources":["../../../src/prompt/rules/workflow-rules.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAyBnB,CAAC"}
@@ -0,0 +1,27 @@
1
+ export const WORKFLOW_RULES = `
2
+ <workflow>
3
+ For every task, follow this sequence internally (don't narrate it):
4
+
5
+ **Before acting:**
6
+ - Search codebase for relevant files
7
+ - Read files to understand current state
8
+ - Check memory for stored commands
9
+ - Identify what needs to change
10
+
11
+ **While acting:**
12
+ - Read entire file before editing it
13
+ - Before editing: verify exact whitespace from View output
14
+ - Use exact text for find/replace (include whitespace)
15
+ - Make one logical change at a time
16
+ - After each change: run tests
17
+ - If tests fail: fix immediately
18
+ - Keep going until query is completely resolved
19
+
20
+ **Before finishing:**
21
+ - Verify ENTIRE query is resolved
22
+ - Run lint/typecheck if in memory
23
+ - Verify all changes work
24
+ - Keep response under 4 lines
25
+ </workflow>
26
+ `.trim();
27
+ //# sourceMappingURL=workflow-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-rules.js","sourceRoot":"","sources":["../../../src/prompt/rules/workflow-rules.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyB7B,CAAC,IAAI,EAAE,CAAC"}
@@ -34,6 +34,14 @@ export interface RichSystemPromptContext {
34
34
  orchestratorSdk?: string;
35
35
  /** ai.agents.*.nickname(经 activeBinding 解析) */
36
36
  agentNickname?: string;
37
+ /** 单行 git 状态摘要(并入 §1 Runtime 信息行) */
38
+ gitStatus?: string;
39
+ /** 全局上下文文件段(默认路径 + config.contextPaths,置于 bootstrap 之前) */
40
+ globalContext?: string;
41
+ /** 当前模型 id(用于模型感知提示词策略) */
42
+ modelId?: string;
43
+ /** 模型上下文窗口大小 */
44
+ contextWindow?: number;
37
45
  }
38
46
  /** 单段字符数统计(日志 / Harness debug;与 buildRichSystemPrompt 分段一致) */
39
47
  export interface PromptSectionDebugInfo {
@@ -45,6 +53,14 @@ export interface PromptSectionDebugInfo {
45
53
  * 用于观测渐进披露与 token 压力,不改变线上 prompt 拼接逻辑。
46
54
  */
47
55
  export declare function describePromptSectionsForDebug(ctx: RichSystemPromptContext): PromptSectionDebugInfo[];
56
+ /**
57
+ * 系统提示词总量护栏:超预算时按牺牲顺序(数组靠前的可截断段先压缩)
58
+ * 尾部截断,仍超长再整段丢弃;truncatable=false 段(runtime/orchestration/security)不动。
59
+ */
60
+ export declare function enforcePromptBudget(sections: {
61
+ content: string | null;
62
+ truncatable: boolean;
63
+ }[], maxChars: number): string;
48
64
  export declare function buildRichSystemPrompt(ctx: RichSystemPromptContext): string;
49
65
  /**
50
66
  * 使用 PromptBuilder 构建系统提示词
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/prompt/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,OAAO,EAAoE,MAAM,eAAe,CAAC;AACtI,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAiC,MAAM,aAAa,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,KAAK,eAAe,EAA+D,MAAM,oBAAoB,CAAC;AAIvH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAEzC,eAAO,MAAM,sBAAsB,wQAIzB,CAAC;AAEX,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAehG;AAsBD,+DAA+D;AAC/D,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAQnG;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EACjC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AAED,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAQhF;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiSD,+DAA+D;AAC/D,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,uBAAuB,GAAG,sBAAsB,EAAE,CAmBrG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,uBAAuB,GAAG,MAAM,CAoB1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,uBAAuB,GAAG,MAAM,CAgIrF;AAED,uEAAuE;AACvE,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAOR;AAED,+DAA+D;AAC/D,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAInG"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/prompt/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ import { getFileMemoryContext, formatMemoryPathsHint } from '../memory-layers.js
12
12
  import { PromptBuilder } from './prompt-builder.js';
13
13
  import { buildSenderRolesFilePermissionsPrompt, inferFileRole, } from '../security/file-role-policy.js';
14
14
  import { resolveWorkspacePrompt } from '../prompt/workspace-prompt.js';
15
+ import { CRITICAL_RULES, WORKFLOW_RULES, ERROR_HANDLING_RULES, TASK_COMPLETION_RULES, EDITING_RULES, MEMORY_INSTRUCTIONS, CODE_REFERENCE_RULES, } from './rules/index.js';
16
+ import { ModelAwarePromptBuilder } from './model-aware-builder.js';
15
17
  export const FIXED_DISCIPLINE_RULES = [
16
18
  'Never claim actions, results, or system state unless confirmed by tool output.',
17
19
  'If a capability is unavailable, state it honestly and suggest the closest valid alternative.',
@@ -131,7 +133,7 @@ function parseSkillsSummaryXML(xml) {
131
133
  const attrs = xml.slice(start + 7, openEnd);
132
134
  const body = xml.slice(openEnd + 1, end);
133
135
  const name = readTag(body, 'name');
134
- const desc = readTag(body, 'desc');
136
+ const desc = readTag(body, 'description');
135
137
  if (name != null && desc != null) {
136
138
  entries.push({
137
139
  name: decodeXmlEntities(name),
@@ -224,10 +226,11 @@ function resolvePersonaLead(config, bootstrapContext, agentNickname) {
224
226
  /**
225
227
  * 稳定运行时(可缓存):不含时间、会话、deferred 统计、memory 正文。
226
228
  */
227
- function buildContextSection(config, _commMessage, bootstrapContext, agentNickname) {
229
+ function buildContextSection(config, _commMessage, bootstrapContext, agentNickname, gitStatus) {
228
230
  const envItems = [
229
231
  `CWD: ${process.cwd()}`,
230
232
  `Host: ${os.platform()} | Node ${process.version}`,
233
+ ...(gitStatus ? [gitStatus] : []),
231
234
  ];
232
235
  return [
233
236
  resolvePersonaLead(config, bootstrapContext, agentNickname),
@@ -242,6 +245,10 @@ function buildDirectToolsSection() {
242
245
  'Use tools for actions, fresh facts, file access, and verification.',
243
246
  'Read before editing files.',
244
247
  'Prefer dedicated tools over shell; run independent reads in parallel.',
248
+ 'Search before assuming.',
249
+ 'Use absolute paths for file operations.',
250
+ 'Run tools in parallel when safe (no dependencies).',
251
+ 'Summarize tool output for user.',
245
252
  ...FIXED_DISCIPLINE_RULES,
246
253
  ];
247
254
  return ['# Tools', ...prependBullets(items)].join('\n');
@@ -296,6 +303,12 @@ function buildCommunicationSection() {
296
303
  'Be concise, direct, and useful.',
297
304
  'Use Markdown when helpful.',
298
305
  'Prioritize the user\'s latest message; prior compressed messages are context.',
306
+ 'One-word answers when possible.',
307
+ 'No emojis ever.',
308
+ 'No explanations unless user asks.',
309
+ 'No preamble ("Here\'s...", "I\'ll...").',
310
+ 'No postamble ("Let me know...", "Hope this helps...").',
311
+ 'Use rich Markdown formatting (headings, bullet lists, tables) for multi-sentence answers.',
299
312
  ];
300
313
  return ['# Style', ...prependBullets(items)].join('\n');
301
314
  }
@@ -359,34 +372,91 @@ export function describePromptSectionsForDebug(ctx) {
359
372
  const { config, skillRegistry, skillsSummaryXML, bootstrapContext, toolSearchDeferredStats, platformSections, orchestratorSdk, } = ctx;
360
373
  const toolSearchActive = true;
361
374
  const boot = bootstrapContext?.trim() ? bootstrapContext : null;
375
+ const modelBuilder = new ModelAwarePromptBuilder(ctx.modelId);
376
+ const contextWindow = ctx.contextWindow ?? 128000;
362
377
  const pairs = [
363
- ['§1_runtime', buildContextSection(config, ctx.commMessage, bootstrapContext, ctx.agentNickname)],
378
+ ['§1_runtime', buildContextSection(config, ctx.commMessage, bootstrapContext, ctx.agentNickname, ctx.gitStatus)],
379
+ ['§1b_critical_rules', CRITICAL_RULES],
380
+ ['§1c_workflow', WORKFLOW_RULES],
381
+ ['§1d_model_style', modelBuilder.buildStyleSection()],
364
382
  ['§2_style', toolSearchActive ? null : buildCommunicationSection()],
365
383
  ['§3_tools', toolSearchActive ? buildOrchestrationSection(orchestratorSdk) : buildDirectToolsSection()],
366
384
  ['§4_security', buildSecuritySection()],
385
+ ['§5_error_handling', ERROR_HANDLING_RULES],
386
+ ['§5b_editing', EDITING_RULES],
387
+ ['§5c_task_completion', TASK_COMPLETION_RULES],
388
+ ['§5d_code_references', CODE_REFERENCE_RULES],
389
+ ['§5e_memory_instructions', MEMORY_INSTRUCTIONS],
390
+ ['§5f_context_mode', modelBuilder.buildContextModeHint(contextWindow)],
367
391
  ['§6c_platform', buildPlatformSection(platformSections, toolSearchActive)],
368
392
  ['§8_skills', buildSkillsSection(skillRegistry, skillsSummaryXML, toolSearchActive)],
393
+ ['§10_global', ctx.globalContext?.trim() ? ctx.globalContext : null],
369
394
  ['§11_bootstrap', boot],
370
395
  ];
371
396
  return pairs
372
397
  .filter(([, c]) => c != null && c.trim().length > 0)
373
398
  .map(([id, c]) => ({ id, approxChars: c.length }));
374
399
  }
400
+ const TRUNCATED_MARK = '\n… (truncated)';
401
+ /**
402
+ * 系统提示词总量护栏:超预算时按牺牲顺序(数组靠前的可截断段先压缩)
403
+ * 尾部截断,仍超长再整段丢弃;truncatable=false 段(runtime/orchestration/security)不动。
404
+ */
405
+ export function enforcePromptBudget(sections, maxChars) {
406
+ const present = sections.filter((s) => !!s.content && s.content.trim().length > 0);
407
+ const total = () => present.reduce((n, s, i) => n + s.content.length + (i > 0 ? SECTION_SEP.length : 0), 0);
408
+ if (maxChars <= 0 || total() <= maxChars) {
409
+ return present.map(s => s.content).join(SECTION_SEP);
410
+ }
411
+ for (let i = 0; i < present.length && total() > maxChars; i++) {
412
+ const s = present[i];
413
+ if (!s.truncatable)
414
+ continue;
415
+ const keep = s.content.length - (total() - maxChars) - TRUNCATED_MARK.length;
416
+ if (keep > 0) {
417
+ s.content = s.content.slice(0, keep) + TRUNCATED_MARK;
418
+ }
419
+ else {
420
+ present.splice(i, 1);
421
+ i--;
422
+ }
423
+ }
424
+ return present.map(s => s.content).join(SECTION_SEP);
425
+ }
375
426
  export function buildRichSystemPrompt(ctx) {
376
427
  const { config, skillRegistry, skillsSummaryXML, bootstrapContext, toolSearchDeferredStats, platformSections, orchestratorSdk, } = ctx;
377
428
  const toolSearchActive = true;
429
+ const modelBuilder = new ModelAwarePromptBuilder(ctx.modelId);
430
+ const contextSection = buildContextSection(config, ctx.commMessage, bootstrapContext, ctx.agentNickname, ctx.gitStatus);
431
+ const modelStyle = modelBuilder.buildStyleSection();
432
+ const contextWindow = ctx.contextWindow ?? 128000;
433
+ const contextModeHint = modelBuilder.buildContextModeHint(contextWindow);
378
434
  const sections = [
379
- buildContextSection(config, ctx.commMessage, bootstrapContext, ctx.agentNickname),
380
- toolSearchActive ? null : buildCommunicationSection(),
381
- toolSearchActive
382
- ? buildOrchestrationSection(orchestratorSdk)
383
- : buildDirectToolsSection(),
384
- buildSecuritySection(),
385
- buildPlatformSection(platformSections, toolSearchActive),
386
- buildSkillsSection(skillRegistry, skillsSummaryXML, toolSearchActive),
387
- bootstrapContext || null,
435
+ { content: contextSection, truncatable: false },
436
+ { content: CRITICAL_RULES, truncatable: false },
437
+ { content: WORKFLOW_RULES, truncatable: false },
438
+ { content: modelStyle, truncatable: false },
439
+ { content: toolSearchActive ? null : buildCommunicationSection(), truncatable: false },
440
+ {
441
+ content: toolSearchActive
442
+ ? buildOrchestrationSection(orchestratorSdk)
443
+ : buildDirectToolsSection(),
444
+ truncatable: false,
445
+ },
446
+ { content: buildSecuritySection(), truncatable: false },
447
+ { content: buildPlatformSection(platformSections, toolSearchActive), truncatable: false },
448
+ // 可截断段(牺牲顺序:error-handling → editing → task-completion → code-ref → memory → context-mode → skills → globalContext → bootstrap)
449
+ { content: ERROR_HANDLING_RULES, truncatable: true },
450
+ { content: EDITING_RULES, truncatable: true },
451
+ { content: TASK_COMPLETION_RULES, truncatable: true },
452
+ { content: CODE_REFERENCE_RULES, truncatable: true },
453
+ { content: MEMORY_INSTRUCTIONS, truncatable: true },
454
+ { content: contextModeHint, truncatable: true },
455
+ { content: buildSkillsSection(skillRegistry, skillsSummaryXML, toolSearchActive), truncatable: true },
456
+ { content: ctx.globalContext || null, truncatable: true },
457
+ { content: bootstrapContext || null, truncatable: true },
388
458
  ];
389
- return sections.filter(Boolean).join(SECTION_SEP);
459
+ return enforcePromptBudget(sections, config.systemPromptMaxChars);
390
460
  }
391
461
  /**
392
462
  * 使用 PromptBuilder 构建系统提示词
@@ -400,14 +470,33 @@ export function buildRichSystemPrompt(ctx) {
400
470
  export function buildRichSystemPromptWithBuilder(ctx) {
401
471
  const { config, skillRegistry, skillsSummaryXML, activeSkillsContext, bootstrapContext, toolSearchDeferredStats, platformSections, } = ctx;
402
472
  const toolSearchActive = true;
473
+ const modelBuilder = new ModelAwarePromptBuilder(ctx.modelId);
403
474
  const builder = new PromptBuilder({
404
- maxTotalChars: 100000,
405
- enableSafetyRules: false,
475
+ maxTotalChars: modelBuilder.strategy.maxPromptChars,
476
+ enableSafetyRules: modelBuilder.strategy.detailedSecurityRules,
406
477
  enableConstraints: !toolSearchActive,
407
478
  });
408
- // 1. 系统级提示词(最高优先级)
409
- builder.addSystemPrompt(resolvePersonaLead(config, bootstrapContext, ctx.agentNickname), { priority: 100 });
410
- // 2. 上下文信息
479
+ // §1 系统级提示词(最高优先级)— 包含模型感知风格
480
+ const personaLead = resolvePersonaLead(config, bootstrapContext, ctx.agentNickname);
481
+ const modelStyle = modelBuilder.buildStyleSection();
482
+ builder.addSystemPrompt(`${personaLead}\n\n${modelStyle}`, { priority: 100 });
483
+ // §2 关键规则(不可截断,最高优先级)
484
+ builder.addCustomSection({
485
+ layer: 'system',
486
+ title: 'Critical Rules',
487
+ content: CRITICAL_RULES,
488
+ priority: 99,
489
+ truncatable: false,
490
+ });
491
+ // §3 工作流规则
492
+ builder.addCustomSection({
493
+ layer: 'constraints',
494
+ title: 'Workflow',
495
+ content: WORKFLOW_RULES,
496
+ priority: 98,
497
+ truncatable: false,
498
+ });
499
+ // §4 上下文信息
411
500
  const now = new Date();
412
501
  const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
413
502
  const timeStr = now.toLocaleString('zh-CN', { timeZone: tz });
@@ -423,6 +512,55 @@ export function buildRichSystemPromptWithBuilder(ctx) {
423
512
  timestamp: `${timeStr} (${tz})`,
424
513
  memoryPath: formatMemoryPathsHint(ctx.commMessage ? String(ctx.commMessage.$adapter) : undefined, sessionKey),
425
514
  });
515
+ // §5 上下文窗口模式提示
516
+ const contextWindow = ctx.contextWindow ?? 128000;
517
+ const contextModeHint = modelBuilder.buildContextModeHint(contextWindow);
518
+ if (contextModeHint) {
519
+ builder.addCustomSection({
520
+ layer: 'context',
521
+ title: 'Context Mode',
522
+ content: contextModeHint,
523
+ priority: 69,
524
+ truncatable: true,
525
+ maxChars: 512,
526
+ });
527
+ }
528
+ // §6 错误处理规则
529
+ builder.addCustomSection({
530
+ layer: 'constraints',
531
+ title: 'Error Handling',
532
+ content: ERROR_HANDLING_RULES,
533
+ priority: 97,
534
+ truncatable: true,
535
+ maxChars: 2048,
536
+ });
537
+ // §7 任务完整性规则
538
+ builder.addCustomSection({
539
+ layer: 'constraints',
540
+ title: 'Task Completion',
541
+ content: TASK_COMPLETION_RULES,
542
+ priority: 96,
543
+ truncatable: true,
544
+ maxChars: 1024,
545
+ });
546
+ // §8 编辑精确匹配规则
547
+ builder.addCustomSection({
548
+ layer: 'constraints',
549
+ title: 'Editing',
550
+ content: EDITING_RULES,
551
+ priority: 95,
552
+ truncatable: true,
553
+ maxChars: 2048,
554
+ });
555
+ // §9 代码引用格式
556
+ builder.addCustomSection({
557
+ layer: 'constraints',
558
+ title: 'Code References',
559
+ content: CODE_REFERENCE_RULES,
560
+ priority: 94,
561
+ truncatable: true,
562
+ maxChars: 512,
563
+ });
426
564
  if (!toolSearchActive) {
427
565
  builder.addCustomSection({
428
566
  layer: 'constraints',
@@ -482,7 +620,7 @@ export function buildRichSystemPromptWithBuilder(ctx) {
482
620
  truncatable: true,
483
621
  });
484
622
  }
485
- // 8. 活跃技能上下文
623
+ // 活跃技能上下文
486
624
  if (activeSkillsContext) {
487
625
  builder.addCustomSection({
488
626
  layer: 'context',
@@ -492,14 +630,22 @@ export function buildRichSystemPromptWithBuilder(ctx) {
492
630
  truncatable: true,
493
631
  });
494
632
  }
495
- // 9. 记忆上下文
633
+ // 内存指令 + 内存上下文
634
+ builder.addCustomSection({
635
+ layer: 'context',
636
+ title: 'Memory Instructions',
637
+ content: MEMORY_INSTRUCTIONS,
638
+ priority: 40,
639
+ truncatable: true,
640
+ maxChars: 1024,
641
+ });
496
642
  const fileMemory = getFileMemoryContext(undefined, ctx.commMessage ? String(ctx.commMessage.$adapter) : undefined, sessionKey);
497
643
  if (fileMemory) {
498
644
  builder.addMemory({
499
645
  longTerm: [fileMemory],
500
646
  });
501
647
  }
502
- // 10. 启动上下文
648
+ // 启动上下文
503
649
  if (bootstrapContext?.trim()) {
504
650
  builder.addCustomSection({
505
651
  layer: 'context',
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/prompt/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/prompt/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,13 @@ export interface TurnSessionPrep {
15
15
  export declare class SessionSystem {
16
16
  private readonly _config;
17
17
  private readonly strategies;
18
+ private persistenceReady;
19
+ private resolvePersistenceReady;
20
+ private persistenceDone;
18
21
  constructor(_config?: SessionSystemConfig);
22
+ waitForPersistence(): Promise<void>;
23
+ markPersistenceReady(): void;
24
+ isPersistenceReady(): boolean;
19
25
  registerStrategy(name: string, strategy: SessionStrategy): void;
20
26
  resolveSessionKey(message: Message, strategyName?: string): string;
21
27
  resolvePassiveBlock(message: Message): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"session-system.d.ts","sourceRoot":"","sources":["../../src/session/session-system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAwF,MAAM,iBAAiB,CAAC;AAG3I,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;CACpD;AAED,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;gBAEpC,OAAO,GAAE,mBAAwB;IAI9D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI/D,iBAAiB,CACf,OAAO,EAAE,OAAO,EAChB,YAAY,GAAE,MAAwB,GACrC,MAAM;IAMT,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAMpD,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa;IAQ5C,eAAe,CACnB,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAClE,OAAO,CAAC,eAAe,CAAC;IA2BrB,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGjF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,mBAAwB,GAAG,aAAa,CAEnF"}
1
+ {"version":3,"file":"session-system.d.ts","sourceRoot":"","sources":["../../src/session/session-system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAwF,MAAM,iBAAiB,CAAC;AAG3I,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;CACpD;AAED,qBAAa,aAAa;IAMZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,uBAAuB,CAAc;IAC7C,OAAO,CAAC,eAAe,CAAS;gBAEH,OAAO,GAAE,mBAAwB;IAOxD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBzC,oBAAoB,IAAI,IAAI;IAM5B,kBAAkB,IAAI,OAAO;IAI7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI/D,iBAAiB,CACf,OAAO,EAAE,OAAO,EAChB,YAAY,GAAE,MAAwB,GACrC,MAAM;IAMT,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAMpD,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa;IAQ5C,eAAe,CACnB,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAClE,OAAO,CAAC,eAAe,CAAC;IA2BrB,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGjF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,mBAAwB,GAAG,aAAa,CAEnF"}
@@ -1,15 +1,49 @@
1
+ import { getLogger } from '@zhin.js/logger';
1
2
  import { resolveAgentTurnSessionKey } from '../collaboration/resolve-agent-session-key.js';
2
3
  import { buildTurnUserMessages } from '../context/turn-user-message.js';
3
4
  import { logPhase } from '../internal/phase-trace.js';
4
5
  import { beginTurnSession, resolveSessionIsNewBeforeCreate, touchSession, archiveSessionByKey } from './session-io.js';
5
6
  import { consumePassiveGroupContextForTurn } from './passive-group-session.js';
6
7
  import { CollaborationSessionStrategy } from './strategies.js';
8
+ const logger = getLogger('SessionSystem');
7
9
  export class SessionSystem {
8
10
  _config;
9
11
  strategies = new Map();
12
+ persistenceReady;
13
+ resolvePersistenceReady;
14
+ persistenceDone = false;
10
15
  constructor(_config = {}) {
11
16
  this._config = _config;
12
17
  this.registerStrategy('collaboration', new CollaborationSessionStrategy());
18
+ this.persistenceReady = new Promise((resolve) => {
19
+ this.resolvePersistenceReady = resolve;
20
+ });
21
+ }
22
+ async waitForPersistence() {
23
+ if (this.persistenceDone)
24
+ return;
25
+ const timeoutMs = process.env.NODE_ENV === 'test' ? 50 : 5_000;
26
+ await Promise.race([
27
+ this.persistenceReady,
28
+ new Promise((resolve) => {
29
+ setTimeout(() => {
30
+ if (!this.persistenceDone) {
31
+ logger.warn('waitForPersistence: timeout, proceeding with in-memory session/history');
32
+ this.markPersistenceReady();
33
+ }
34
+ resolve();
35
+ }, timeoutMs);
36
+ }),
37
+ ]);
38
+ }
39
+ markPersistenceReady() {
40
+ if (this.persistenceDone)
41
+ return;
42
+ this.persistenceDone = true;
43
+ this.resolvePersistenceReady?.();
44
+ }
45
+ isPersistenceReady() {
46
+ return this.persistenceDone;
13
47
  }
14
48
  registerStrategy(name, strategy) {
15
49
  this.strategies.set(name, strategy);
@@ -1 +1 @@
1
- {"version":3,"file":"session-system.js","sourceRoot":"","sources":["../../src/session/session-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-system.js","sourceRoot":"","sources":["../../src/session/session-system.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,15 @@
2
2
  * fork 模式:从主会话 active_leaf 链构建子 agent 上下文前导(过滤编排噪声)
3
3
  */
4
4
  import { type AgentMessage } from '@zhin.js/ai';
5
+ export declare function buildParentContextSnapshot(agentSessionStore: {
6
+ findActive(key: string): Promise<{
7
+ session_id: string;
8
+ } | null>;
9
+ }, contextRepository: {
10
+ loadContext(sessionId: string): Promise<{
11
+ messages: AgentMessage[];
12
+ }>;
13
+ }, sessionKey: string): Promise<string | undefined>;
5
14
  export declare function buildParentContextPreamble(messages: AgentMessage[], options?: {
6
15
  maxChars?: number;
7
16
  maxMessages?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-parent-context.d.ts","sourceRoot":"","sources":["../src/subagent-parent-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,aAAa,CAAC;AAmCrB,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD,MAAM,CAaR"}
1
+ {"version":3,"file":"subagent-parent-context.d.ts","sourceRoot":"","sources":["../src/subagent-parent-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,aAAa,CAAC;AAmCrB,wBAAsB,0BAA0B,CAC9C,iBAAiB,EAAE;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;CAAE,EACtF,iBAAiB,EAAE;IAAE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,EAC5F,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM7B;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD,MAAM,CAaR"}
@@ -31,6 +31,14 @@ function messageToLine(message) {
31
31
  }
32
32
  return null;
33
33
  }
34
+ export async function buildParentContextSnapshot(agentSessionStore, contextRepository, sessionKey) {
35
+ const active = await agentSessionStore.findActive(sessionKey);
36
+ if (!active)
37
+ return undefined;
38
+ const ctx = await contextRepository.loadContext(active.session_id);
39
+ const preamble = buildParentContextPreamble(ctx.messages);
40
+ return preamble || undefined;
41
+ }
34
42
  export function buildParentContextPreamble(messages, options) {
35
43
  const maxChars = options?.maxChars ?? DEFAULT_MAX_CHARS;
36
44
  const maxMessages = options?.maxMessages ?? DEFAULT_MAX_MESSAGES;
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-parent-context.js","sourceRoot":"","sources":["../src/subagent-parent-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-parent-context.js","sourceRoot":"","sources":["../src/subagent-parent-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,aAAa,GAId,MAAM,aAAa,CAAC;AAErB,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACxF,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAIhC,SAAS,YAAY,CAAC,MAAmB;IACvC,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC;SACnB,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,OAAqB;IAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC7F,MAAM,MAAM,GAAI,OAAoC,CAAC,OAAO,CAAC;QAC7D,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,aAAa,CAAC,OAA2B,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC;QACD,MAAM,EAAE,GAAG,OAA4B,CAAC;QACxC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,iBAAsF,EACtF,iBAA4F,EAC5F,UAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1D,OAAO,QAAQ,IAAI,SAAS,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAAwB,EACxB,OAAqD;IAErD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC;IACxD,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,oBAAoB,CAAC;IACjE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ;YAAE,MAAM;QAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}