@xrkseek/harness 0.6.2 → 0.6.4

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 (137) hide show
  1. package/node_modules/@xrkseek/core-agent/dist/index.d.ts +2 -2
  2. package/node_modules/@xrkseek/core-agent/dist/index.d.ts.map +1 -1
  3. package/node_modules/@xrkseek/core-agent/dist/index.js +3 -1
  4. package/node_modules/@xrkseek/core-agent/dist/index.js.map +1 -1
  5. package/node_modules/@xrkseek/core-agent-loop/dist/compaction.d.ts +9 -3
  6. package/node_modules/@xrkseek/core-agent-loop/dist/compaction.d.ts.map +1 -1
  7. package/node_modules/@xrkseek/core-agent-loop/dist/compaction.js +36 -3
  8. package/node_modules/@xrkseek/core-agent-loop/dist/compaction.js.map +1 -1
  9. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts +5 -5
  10. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  11. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +123 -36
  12. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  13. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts +30 -0
  14. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts.map +1 -1
  15. package/node_modules/@xrkseek/core-session/dist/compaction.js +15 -0
  16. package/node_modules/@xrkseek/core-session/dist/compaction.js.map +1 -1
  17. package/node_modules/@xrkseek/core-session/dist/index.d.ts +1 -1
  18. package/node_modules/@xrkseek/core-session/dist/index.d.ts.map +1 -1
  19. package/node_modules/@xrkseek/core-session/dist/index.js +1 -1
  20. package/node_modules/@xrkseek/core-session/dist/index.js.map +1 -1
  21. package/node_modules/@xrkseek/core-session/dist/search-text.d.ts.map +1 -1
  22. package/node_modules/@xrkseek/core-session/dist/search-text.js +6 -0
  23. package/node_modules/@xrkseek/core-session/dist/search-text.js.map +1 -1
  24. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts +5 -2
  25. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  26. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +155 -29
  27. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  28. package/node_modules/@xrkseek/core-tools/dist/tool-exposure.d.ts +6 -2
  29. package/node_modules/@xrkseek/core-tools/dist/tool-exposure.d.ts.map +1 -1
  30. package/node_modules/@xrkseek/core-tools/dist/tool-exposure.js +10 -3
  31. package/node_modules/@xrkseek/core-tools/dist/tool-exposure.js.map +1 -1
  32. package/node_modules/@xrkseek/llm/dist/failure.js +1 -1
  33. package/node_modules/@xrkseek/llm/dist/retry-policy.d.ts.map +1 -1
  34. package/node_modules/@xrkseek/llm/dist/retry-policy.js +2 -1
  35. package/node_modules/@xrkseek/llm/dist/retry-policy.js.map +1 -1
  36. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts.map +1 -1
  37. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js +33 -1
  38. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js.map +1 -1
  39. package/node_modules/@xrkseek/llm-registry/dist/discover.d.ts +11 -0
  40. package/node_modules/@xrkseek/llm-registry/dist/discover.d.ts.map +1 -1
  41. package/node_modules/@xrkseek/llm-registry/dist/discover.js +61 -0
  42. package/node_modules/@xrkseek/llm-registry/dist/discover.js.map +1 -1
  43. package/node_modules/@xrkseek/llm-registry/dist/index.d.ts +1 -1
  44. package/node_modules/@xrkseek/llm-registry/dist/index.d.ts.map +1 -1
  45. package/node_modules/@xrkseek/llm-registry/dist/index.js.map +1 -1
  46. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  47. package/node_modules/@xrkseek/preset-harness/dist/preset.js +27 -13
  48. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  49. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  50. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  51. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  52. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts +3 -3
  53. package/node_modules/@xrkseek/server-face/dist/adapt/index.d.ts +1 -1
  54. package/node_modules/@xrkseek/server-face/dist/adapt/index.d.ts.map +1 -1
  55. package/node_modules/@xrkseek/server-face/dist/adapt/index.js +1 -1
  56. package/node_modules/@xrkseek/server-face/dist/adapt/index.js.map +1 -1
  57. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.d.ts +15 -1
  58. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.d.ts.map +1 -1
  59. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js +108 -8
  60. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js.map +1 -1
  61. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.d.ts +5 -1
  62. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.d.ts.map +1 -1
  63. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.js +8 -4
  64. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.js.map +1 -1
  65. package/node_modules/@xrkseek/server-face/dist/context.d.ts +5 -0
  66. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  67. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
  68. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +9 -1
  69. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
  70. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  71. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +69 -19
  72. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  73. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.d.ts.map +1 -1
  74. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js +7 -1
  75. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js.map +1 -1
  76. package/node_modules/@xrkseek/server-face/dist/index.d.ts +2 -1
  77. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  78. package/node_modules/@xrkseek/server-face/dist/index.js +2 -1
  79. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  80. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts.map +1 -1
  81. package/node_modules/@xrkseek/server-face/dist/model-catalog.js +2 -1
  82. package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
  83. package/node_modules/@xrkseek/server-face/dist/peer-session-wait.d.ts.map +1 -1
  84. package/node_modules/@xrkseek/server-face/dist/peer-session-wait.js +16 -9
  85. package/node_modules/@xrkseek/server-face/dist/peer-session-wait.js.map +1 -1
  86. package/node_modules/@xrkseek/server-face/dist/ralph-tool.d.ts.map +1 -1
  87. package/node_modules/@xrkseek/server-face/dist/ralph-tool.js +19 -20
  88. package/node_modules/@xrkseek/server-face/dist/ralph-tool.js.map +1 -1
  89. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  90. package/node_modules/@xrkseek/server-face/dist/runtime.js +54 -10
  91. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  92. package/node_modules/@xrkseek/server-face/dist/select-session-model.d.ts.map +1 -1
  93. package/node_modules/@xrkseek/server-face/dist/select-session-model.js +33 -1
  94. package/node_modules/@xrkseek/server-face/dist/select-session-model.js.map +1 -1
  95. package/node_modules/@xrkseek/server-face/dist/session-thread-message.d.ts +5 -0
  96. package/node_modules/@xrkseek/server-face/dist/session-thread-message.d.ts.map +1 -1
  97. package/node_modules/@xrkseek/server-face/dist/session-thread-message.js +8 -0
  98. package/node_modules/@xrkseek/server-face/dist/session-thread-message.js.map +1 -1
  99. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts.map +1 -1
  100. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js +4 -1
  101. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js.map +1 -1
  102. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  103. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +32 -5
  104. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  105. package/node_modules/@xrkseek/server-face/dist/subagent-registry.d.ts +7 -0
  106. package/node_modules/@xrkseek/server-face/dist/subagent-registry.d.ts.map +1 -1
  107. package/node_modules/@xrkseek/server-face/dist/subagent-registry.js +21 -5
  108. package/node_modules/@xrkseek/server-face/dist/subagent-registry.js.map +1 -1
  109. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  110. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +79 -149
  111. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  112. package/node_modules/@xrkseek/server-face/dist/wait-drain-idle.d.ts +32 -0
  113. package/node_modules/@xrkseek/server-face/dist/wait-drain-idle.d.ts.map +1 -0
  114. package/node_modules/@xrkseek/server-face/dist/wait-drain-idle.js +138 -0
  115. package/node_modules/@xrkseek/server-face/dist/wait-drain-idle.js.map +1 -0
  116. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.d.ts.map +1 -1
  117. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js +2 -1
  118. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js.map +1 -1
  119. package/node_modules/@xrkseek/server-host/dist/agent-cache.d.ts +28 -4
  120. package/node_modules/@xrkseek/server-host/dist/agent-cache.d.ts.map +1 -1
  121. package/node_modules/@xrkseek/server-host/dist/agent-cache.js +66 -16
  122. package/node_modules/@xrkseek/server-host/dist/agent-cache.js.map +1 -1
  123. package/node_modules/@xrkseek/server-host/dist/index.d.ts +1 -1
  124. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  125. package/node_modules/@xrkseek/server-host/dist/index.js +112 -22
  126. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  127. package/node_modules/@xrkseek/server-host/dist/workflow-engine-mount.d.ts.map +1 -1
  128. package/node_modules/@xrkseek/server-host/dist/workflow-engine-mount.js +16 -21
  129. package/node_modules/@xrkseek/server-host/dist/workflow-engine-mount.js.map +1 -1
  130. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-llm-host-sync.d.ts.map +1 -1
  131. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-llm-host-sync.js +49 -11
  132. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-llm-host-sync.js.map +1 -1
  133. package/node_modules/@xrkseek/session-projection/dist/index.d.ts +7 -0
  134. package/node_modules/@xrkseek/session-projection/dist/index.d.ts.map +1 -1
  135. package/node_modules/@xrkseek/session-projection/dist/index.js +16 -0
  136. package/node_modules/@xrkseek/session-projection/dist/index.js.map +1 -1
  137. package/package.json +1 -1
@@ -111,10 +111,10 @@ export interface CreateAgentOptions {
111
111
  readonly maxSteps?: number;
112
112
  /**
113
113
  * Auto-continue on max-tokens truncation within a turn
114
- * (Face `agent-loop.autoContinueOnMaxTokens`). Default off.
114
+ * (Face `agent-loop.autoContinueOnMaxTokens`). Product default on.
115
115
  */
116
116
  readonly autoContinueOnMaxTokens?: boolean;
117
- /** Cap on consecutive auto-continues per turn (default 2). */
117
+ /** Cap on consecutive auto-continues per turn (default 10). */
118
118
  readonly autoContinueMaxRounds?: number;
119
119
  /**
120
120
  * Session-side mistake/loop trackers. Default enabled.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,9 @@ export function createAgent(options) {
99
99
  steerBatch = true;
100
100
  }
101
101
  const turnAbort = new AbortController();
102
- abortTurnRef = () => turnAbort.abort();
102
+ // Typed cause — bare abort() leaves signal.reason undefined and
103
+ // finalizeCancelledTurn records aborted/legacy (UI 「已停止」).
104
+ abortTurnRef = () => turnAbort.abort({ kind: "hook", reason: "loop_hard" });
103
105
  const signal = mergeSignals(latchSignal, input.signal, turnAbort.signal);
104
106
  try {
105
107
  let result;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,8 @@
2
2
  * Run LLM summarizer and append `context/compaction` (window swap).
3
3
  * Logs `shadowedTokenCount` from the same surface estimator Face meter uses.
4
4
  */
5
- import { type CompactionOptions } from "@xrkseek/core-session";
6
- import type { SessionStore } from "@xrkseek/core-session";
7
- import type { LlmAdapter } from "@xrkseek/llm";
5
+ import { type CompactionOptions, type SessionStore } from "@xrkseek/core-session";
6
+ import type { LlmAdapter, ResolvedRetryPolicy } from "@xrkseek/llm";
8
7
  import type { CompactionReason, ContextCompactionEvent } from "@xrkseek/protocol";
9
8
  export interface RunCompactionInput {
10
9
  readonly store: SessionStore;
@@ -13,6 +12,13 @@ export interface RunCompactionInput {
13
12
  readonly reason: CompactionReason;
14
13
  readonly keepTokens?: number;
15
14
  readonly turnId?: string;
15
+ /** When set with `turnId` + `retry`, summarizer failures use llm/retry. */
16
+ readonly stepId?: string;
17
+ /**
18
+ * Same policy as the step's main provider call. Omit / `false` → one shot
19
+ * (manual `/compact` and tests).
20
+ */
21
+ readonly retry?: false | Partial<ResolvedRetryPolicy>;
16
22
  readonly signal?: AbortSignal;
17
23
  readonly now?: () => number;
18
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAuF,KAAK,iBAAiB,EAAqB,MAAM,uBAAuB,CAAC;AACvK,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CA0B9B;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,KAAK,GAAG,iBAAiB,GAAG,SAAS,GAC3C,iBAAiB,GAAG,SAAS,CAa/B"}
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAsD9B;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,KAAK,GAAG,iBAAiB,GAAG,SAAS,GAC3C,iBAAiB,GAAG,SAAS,CAsB/B"}
@@ -2,7 +2,8 @@
2
2
  * Run LLM summarizer and append `context/compaction` (window swap).
3
3
  * Logs `shadowedTokenCount` from the same surface estimator Face meter uses.
4
4
  */
5
- import { DEFAULT_COMPACTION_KEEP_TOKENS, prepareCompactionPayload, priceCurrentSurfaceWindow, readSessionEvents } from "@xrkseek/core-session";
5
+ import { DEFAULT_COMPACTION_KEEP_TOKENS, prepareCompactionPayload, priceCurrentSurfaceWindow, readSessionEvents, } from "@xrkseek/core-session";
6
+ import { invokeLlmWithRetry, resolveRetryPolicy } from "./llm-retry.js";
6
7
  export async function runCompaction(input) {
7
8
  const keep = input.keepTokens ?? DEFAULT_COMPACTION_KEEP_TOKENS;
8
9
  const events = readSessionEvents(input.store, input.sessionId);
@@ -10,16 +11,39 @@ export async function runCompaction(input) {
10
11
  if (!payload)
11
12
  return { compacted: false };
12
13
  const shadowedTokenCount = priceCurrentSurfaceWindow(events);
13
- const response = await input.llm.chat({
14
+ const now = input.now ?? Date.now;
15
+ const invokeChat = async () => input.llm.chat({
14
16
  messages: [{ role: "user", content: payload.prompt }],
15
17
  ...(input.signal ? { signal: input.signal } : {}),
16
18
  });
19
+ // Soft-budget / overflow summarizer used to call llm.chat bare — OFM/free
20
+ // lanes often 502 on tool-less summarizer prompts, and the turn failed with
21
+ // SERVER and zero llm/retry chrome. Reuse the step retry policy when wired.
22
+ const retryPolicy = input.retry === undefined ? false : resolveRetryPolicy(input.retry);
23
+ const response = retryPolicy !== false &&
24
+ input.turnId !== undefined &&
25
+ input.stepId !== undefined
26
+ ? await invokeLlmWithRetry({
27
+ invoke: async () => invokeChat(),
28
+ flushChunk: () => {
29
+ /* summarizer is non-streaming */
30
+ },
31
+ store: input.store,
32
+ sessionId: input.sessionId,
33
+ turnId: input.turnId,
34
+ stepId: input.stepId,
35
+ now,
36
+ ...(input.signal ? { signal: input.signal } : {}),
37
+ policy: retryPolicy,
38
+ ...(input.llm.id ? { provider: input.llm.id } : {}),
39
+ })
40
+ : await invokeChat();
17
41
  const summary = response.content.trim();
18
42
  if (!summary)
19
43
  return { compacted: false };
20
44
  const event = {
21
45
  type: "context/compaction",
22
- ts: (input.now ?? Date.now)(),
46
+ ts: now(),
23
47
  reason: input.reason,
24
48
  summary,
25
49
  recent: payload.recent,
@@ -42,6 +66,15 @@ export function resolveCompactionOptions(value) {
42
66
  ? { bufferTokens: value.bufferTokens }
43
67
  : {}),
44
68
  ...(value.strategy !== undefined ? { strategy: value.strategy } : {}),
69
+ ...(value.softBudgetTriggerRatio !== undefined
70
+ ? { softBudgetTriggerRatio: value.softBudgetTriggerRatio }
71
+ : {}),
72
+ ...(value.compactRecentMaxTokens !== undefined
73
+ ? { compactRecentMaxTokens: value.compactRecentMaxTokens }
74
+ : {}),
75
+ ...(value.softBudgetPeelAttempts !== undefined
76
+ ? { softBudgetPeelAttempts: value.softBudgetPeelAttempts }
77
+ : {}),
45
78
  };
46
79
  }
47
80
  //# sourceMappingURL=compaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,yBAAyB,EAA0B,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAwBvK,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAyB;IAEzB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,IAAI,8BAA8B,CAAC;IAChE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAE1C,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QACpC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAE1C,MAAM,KAAK,GAA2B;QACpC,IAAI,EAAE,oBAAoB;QAC1B,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;QAC7B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,kBAAkB;QAClB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAA4C;IAE5C,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,KAAK;QAC1B,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE;YACtC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
@@ -66,8 +66,8 @@ export interface RunTurnInput {
66
66
  readonly tools: ToolRegistry;
67
67
  /**
68
68
  * Session-expanded Deferred tool names for progressive disclosure
69
- * (`tool_search`). Omit → materialize lists only Direct (+ fail-open when
70
- * `tool_search` is absent).
69
+ * (`tool_search`). Omit → materialize lists Direct only (Deferred stays
70
+ * off the wire when `tool_search` is absent).
71
71
  */
72
72
  readonly expandedToolNames?: () => ReadonlySet<string>;
73
73
  readonly pipeline?: ToolPipeline;
@@ -94,12 +94,12 @@ export interface RunTurnInput {
94
94
  /**
95
95
  * Auto-continue on max-tokens truncation: when the model hits its output
96
96
  * token cap mid-turn, inject a synthetic `user/message` ("继续") instead of
97
- * ending the turn with `max-tokens`. Default off. Face
98
- * `agent-loop.autoContinueOnMaxTokens`.
97
+ * ending the turn with `max-tokens`. Default on at Face
98
+ * (`agent-loop.autoContinueOnMaxTokens`); loop still requires the flag.
99
99
  */
100
100
  readonly autoContinueOnMaxTokens?: boolean;
101
101
  /**
102
- * Cap on consecutive auto-continues within one turn (default 2). Guards
102
+ * Cap on consecutive auto-continues within one turn (default 10). Guards
103
103
  * against infinite loop when the provider keeps truncating at its cap.
104
104
  */
105
105
  readonly autoContinueMaxRounds?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { scheduler } from "node:timers/promises";
2
- import { assertModelVisible, assertToolCallsSettled, assertAssistantToolCallAdjacency, deriveMessages, durableModelHistory, ensureDurableImageOffloads, estimateRequestTokens, projectedInputPressureTokens, pruneOversizedToolResults, promotePendingSteers, repairOpenTurnEvents, settleDanglingTools, DEFAULT_COMPACTION_KEEP_TOKENS, DEFAULT_MAX_REQUEST_IMAGE_BYTES, DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS, resolveSoftBudgetCeiling, resolveSoftBudgetTokens, resolveCompactionStrategy, readSessionEvents } from "@xrkseek/core-session";
2
+ import { assertModelVisible, assertToolCallsSettled, assertAssistantToolCallAdjacency, deriveMessages, durableModelHistory, ensureDurableImageOffloads, estimateRequestTokens, estimateTokens, priceCurrentSurfaceWindow, projectedInputPressureTokens, pruneOversizedToolResults, promotePendingSteers, repairOpenTurnEvents, settleDanglingTools, COMPACT_RECENT_MAX_TOKENS, DEFAULT_COMPACTION_KEEP_TOKENS, DEFAULT_MAX_REQUEST_IMAGE_BYTES, DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS, DEFAULT_SOFT_BUDGET_PEEL_ATTEMPTS, SOFT_BUDGET_COMPACT_TRIGGER_RATIO, resolveSoftBudgetCeiling, resolveSoftBudgetTokens, resolveCompactionStrategy, readSessionEvents } from "@xrkseek/core-session";
3
3
  import { assembleThreeLayers, isMetadataOnlyUserMessage, noteTimeContextInjected, parseTimeContextRefreshMs, shouldRefreshTimeContext, } from "@xrkseek/core-system-prompt";
4
4
  import { materializeTools, } from "@xrkseek/core-tools";
5
- import { finalizeLlmChatResponse, ContextOverflowError, isContextOverflowError, isEmptyResponseError, isIncompleteToolCallError, isLlmError, isProviderFinishError, isUnsupportedReasoningEffortError, UnsupportedContentError, } from "@xrkseek/llm";
5
+ import { finalizeLlmChatResponse, CONTEXT_WINDOW_EXCEEDED_CODE, ContextOverflowError, describeUnknownError, isContextOverflowError, isEmptyResponseError, isIncompleteToolCallError, isLlmError, isProviderFinishError, isUnsupportedContentError, isUnsupportedReasoningEffortError, UnsupportedContentError, } from "@xrkseek/llm";
6
6
  import { contentHasImage, flattenText, newUserMessageId, parseSessionEvent, parseTurnEndCancelCause, projectFilesToText, projectImagesForTextModel, DEFAULT_PLAN_POLICY_SECTION, TOOL_EMITTABLE_EVENT_TYPES, foldPlanMode, pendingPlanTarget, } from "@xrkseek/protocol";
7
7
  import { resolveCompactionOptions, runCompaction } from "./compaction.js";
8
8
  import { maybeAppendRequestHeader } from "./request-header-log.js";
@@ -396,7 +396,7 @@ export async function runTurn(input) {
396
396
  let turnEndReason = { kind: "completed" };
397
397
  /** Consecutive auto-continues injected this turn (0 when disabled). */
398
398
  let autoContinueRounds = 0;
399
- const autoContinueMaxRounds = input.autoContinueMaxRounds ?? 2;
399
+ const autoContinueMaxRounds = input.autoContinueMaxRounds ?? 10;
400
400
  try {
401
401
  if (input.beforeUserMessage) {
402
402
  await input.beforeUserMessage({
@@ -526,7 +526,7 @@ export async function runTurn(input) {
526
526
  // softBudget* on the active route (orthogonal to contextWindow).
527
527
  {
528
528
  const route = input.llm.ensureRoute?.() ?? input.llm.peekRoute?.();
529
- const softBudget = resolveSoftBudgetTokens({
529
+ let softBudget = resolveSoftBudgetTokens({
530
530
  ...(compaction?.maxRequestTokens !== undefined
531
531
  ? { maxRequestTokens: compaction.maxRequestTokens }
532
532
  : {}),
@@ -546,6 +546,23 @@ export async function runTurn(input) {
546
546
  ? { softBudgetBufferTokens: route.softBudgetBufferTokens }
547
547
  : {}),
548
548
  });
549
+ // Soft budget stays orthogonal to a *larger* context window (1M + 300k
550
+ // soft is valid). Cap only when soft/maxRequestTokens exceed the
551
+ // advertised window — otherwise pressure can climb past the provider
552
+ // limit and fail closed as a mysterious mid-step abort.
553
+ const windowCap = typeof route?.contextWindow === "number" &&
554
+ Number.isFinite(route.contextWindow) &&
555
+ route.contextWindow >= 8_000
556
+ ? Math.floor(route.contextWindow)
557
+ : undefined;
558
+ if (softBudget !== undefined &&
559
+ windowCap !== undefined &&
560
+ softBudget.maxRequestTokens > windowCap) {
561
+ softBudget = {
562
+ ...softBudget,
563
+ maxRequestTokens: windowCap,
564
+ };
565
+ }
549
566
  if (compaction &&
550
567
  compaction.auto !== false &&
551
568
  softBudget !== undefined) {
@@ -577,7 +594,18 @@ export async function runTurn(input) {
577
594
  : Math.max(estimate, projected);
578
595
  };
579
596
  let used = measure();
580
- if (used > softCeiling) {
597
+ // Codex auto-compacts near ~90% of the window; Face can override via
598
+ // agent-loop.softBudgetTriggerPercent (ratio on CompactionOptions).
599
+ const triggerRatio = typeof compaction?.softBudgetTriggerRatio === "number" &&
600
+ Number.isFinite(compaction.softBudgetTriggerRatio) &&
601
+ compaction.softBudgetTriggerRatio > 0 &&
602
+ compaction.softBudgetTriggerRatio <= 1
603
+ ? compaction.softBudgetTriggerRatio
604
+ : SOFT_BUDGET_COMPACT_TRIGGER_RATIO;
605
+ const softTrigger = Math.max(1, Math.floor(softBudget.maxRequestTokens * triggerRatio));
606
+ // Trigger can sit above the buffer ceiling (small windows, or
607
+ // trigger percent 100). Still compact once usage is over either line.
608
+ if (used > softTrigger || used > softCeiling) {
581
609
  if (strategy === "prune-summary" || strategy === "prune-only") {
582
610
  pruneOversizedToolResults(input.store, input.sessionId, {
583
611
  now,
@@ -589,16 +617,33 @@ export async function runTurn(input) {
589
617
  used = measure();
590
618
  }
591
619
  if (strategy === "prune-summary" || strategy === "summary-only") {
620
+ const recentCap = typeof compaction?.compactRecentMaxTokens === "number" &&
621
+ Number.isFinite(compaction.compactRecentMaxTokens) &&
622
+ compaction.compactRecentMaxTokens >= 2_000
623
+ ? Math.floor(compaction.compactRecentMaxTokens)
624
+ : COMPACT_RECENT_MAX_TOKENS;
625
+ // Cap recent like Codex COMPACT_USER_MESSAGE_MAX_TOKENS (20k).
626
+ let keep = Math.min(softBudget.keepTokens, recentCap);
592
627
  let compactAttempts = 0;
593
- while (used > softCeiling &&
594
- compactAttempts < DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS) {
628
+ const peelAttempts = typeof compaction?.softBudgetPeelAttempts === "number" &&
629
+ Number.isFinite(compaction.softBudgetPeelAttempts) &&
630
+ compaction.softBudgetPeelAttempts >= 0
631
+ ? Math.floor(compaction.softBudgetPeelAttempts)
632
+ : DEFAULT_SOFT_BUDGET_PEEL_ATTEMPTS;
633
+ const maxAttempts = DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS + peelAttempts;
634
+ // Proactive: one pass once past softTrigger; peel only while over ceiling.
635
+ while (compactAttempts < maxAttempts &&
636
+ (used > softCeiling ||
637
+ (compactAttempts === 0 && used > softTrigger))) {
595
638
  const did = await runCompaction({
596
639
  store: input.store,
597
640
  sessionId: input.sessionId,
598
641
  llm: input.llm,
599
642
  reason: "auto",
600
- keepTokens: softBudget.keepTokens,
643
+ keepTokens: keep,
601
644
  turnId,
645
+ stepId,
646
+ retry: llmRetryPolicy,
602
647
  ...(input.signal ? { signal: input.signal } : {}),
603
648
  now,
604
649
  });
@@ -610,10 +655,30 @@ export async function runTurn(input) {
610
655
  seriesBaselineSystem = undefined;
611
656
  req = await buildReq();
612
657
  used = measure();
658
+ if (used <= softCeiling)
659
+ break;
660
+ // After the standard passes, peel keep (Codex strips until fits).
661
+ if (compactAttempts >= DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS) {
662
+ const next = Math.max(1, Math.floor(keep / 2));
663
+ if (next >= keep)
664
+ break;
665
+ keep = next;
666
+ }
613
667
  }
614
668
  }
615
669
  if (used > softCeiling) {
616
- throw new ContextOverflowError(`request ~${used} tokens exceeds soft budget ${softCeiling} after ${strategy}`);
670
+ // Surface meter (chat window) is often far smaller than the outbound
671
+ // request (tools + system + injects). Spell both so Settings → Models
672
+ // soft-budget raises / tool_search fail-open are obvious when the
673
+ // conversation looks "tiny".
674
+ const surface = priceCurrentSurfaceWindow(readSessionEvents(input.store, input.sessionId));
675
+ const toolsTok = req.tools?.length ?
676
+ estimateTokens(JSON.stringify(req.tools))
677
+ : 0;
678
+ const toolsBit = toolsTok > 0 && toolsTok >= Math.max(surface, 1)
679
+ ? ` tools ~${toolsTok}`
680
+ : "";
681
+ throw new ContextOverflowError(`request ~${used} tokens (conversation surface ~${surface}${toolsBit}) exceeds soft budget ${softCeiling} after ${strategy}`);
617
682
  }
618
683
  }
619
684
  }
@@ -714,7 +779,20 @@ export async function runTurn(input) {
714
779
  ...(req.system?.trim() ? { system: req.system } : {}),
715
780
  ...(req.tools.length ? { tools: req.tools } : {}),
716
781
  });
717
- return invokeLlm(input, req, onChunk);
782
+ // Same retry budget as the step that hit overflow — bare invokeLlm
783
+ // used to drop TRANSPORT/SERVER after a successful compact.
784
+ return invokeLlmWithRetry({
785
+ invoke: (onBuffered) => invokeLlm(input, req, onBuffered),
786
+ flushChunk: onChunk,
787
+ store: input.store,
788
+ sessionId: input.sessionId,
789
+ turnId,
790
+ stepId,
791
+ now,
792
+ ...(input.signal ? { signal: input.signal } : {}),
793
+ policy: llmRetryPolicy,
794
+ ...(input.llm.id ? { provider: input.llm.id } : {}),
795
+ });
718
796
  };
719
797
  const summarizeOverflow = async (original) => {
720
798
  // Summarizer failure must not mask the original overflow.
@@ -727,6 +805,8 @@ export async function runTurn(input) {
727
805
  reason: "overflow",
728
806
  keepTokens: compaction.keepTokens ?? DEFAULT_COMPACTION_KEEP_TOKENS,
729
807
  turnId,
808
+ stepId,
809
+ retry: llmRetryPolicy,
730
810
  ...(input.signal ? { signal: input.signal } : {}),
731
811
  now,
732
812
  });
@@ -1019,6 +1099,8 @@ export async function runTurn(input) {
1019
1099
  isProviderFinishError(err) ||
1020
1100
  isIncompleteToolCallError(err) ||
1021
1101
  isUnsupportedReasoningEffortError(err) ||
1102
+ isContextOverflowError(err) ||
1103
+ isUnsupportedContentError(err) ||
1022
1104
  isLlmError(err)) {
1023
1105
  if (activeStepId !== undefined) {
1024
1106
  append(input.store, input.sessionId, {
@@ -1028,23 +1110,16 @@ export async function runTurn(input) {
1028
1110
  stepId: activeStepId,
1029
1111
  });
1030
1112
  }
1031
- const code = err.code;
1032
- const rawMessage = err instanceof Error ? err.message : undefined;
1033
- const message = typeof rawMessage === "string" &&
1034
- rawMessage.length > 0 &&
1035
- rawMessage !== "[object Object]"
1036
- ? rawMessage
1037
- : (() => {
1038
- try {
1039
- const json = JSON.stringify(err);
1040
- if (typeof json === "string" && json.length > 0)
1041
- return json;
1042
- }
1043
- catch {
1044
- /* ignore */
1045
- }
1046
- return "turn failed";
1047
- })();
1113
+ // ContextOverflowError / UnsupportedContentError are classified families
1114
+ // (see classifyCaughtStreamError) but are not LlmError — without an
1115
+ // explicit code they used to fall through to aborted/legacy and the UI
1116
+ // painted 「已停止」 instead of a turn error.
1117
+ const code = isContextOverflowError(err)
1118
+ ? CONTEXT_WINDOW_EXCEEDED_CODE
1119
+ : isUnsupportedContentError(err)
1120
+ ? "UNSUPPORTED_CONTENT"
1121
+ : (err.code ?? "UNKNOWN");
1122
+ const message = describeUnknownError(err);
1048
1123
  emitWorkspaceChanges();
1049
1124
  append(input.store, input.sessionId, {
1050
1125
  type: "turn/end",
@@ -1060,17 +1135,29 @@ export async function runTurn(input) {
1060
1135
  });
1061
1136
  }
1062
1137
  else {
1063
- // Unknown failure after turn/start: still close the turn so drain idle
1064
- // cannot leave an open turn (false-idle /「熔断」UX — send looks idle
1065
- // while history still has turn/start without turn/end).
1138
+ // Unexpected throw after turn/start: close as turn/end *error*, never
1139
+ // aborted/legacy. Legacy painted 「已停止」 and hid the real failure
1140
+ // (invariant, tool pipeline bugs, unclassified throws).
1141
+ if (activeStepId !== undefined) {
1142
+ append(input.store, input.sessionId, {
1143
+ type: "step/end",
1144
+ ts: now(),
1145
+ turnId,
1146
+ stepId: activeStepId,
1147
+ });
1148
+ }
1066
1149
  emitWorkspaceChanges();
1067
- finalizeCancelledTurn({
1068
- store: input.store,
1069
- sessionId: input.sessionId,
1150
+ append(input.store, input.sessionId, {
1151
+ type: "turn/end",
1152
+ ts: now(),
1070
1153
  turnId,
1071
- ...(activeStepId !== undefined ? { stepId: activeStepId } : {}),
1072
- now,
1073
- cancelCause: { kind: "legacy" },
1154
+ reason: {
1155
+ kind: "error",
1156
+ error: {
1157
+ message: describeUnknownError(err),
1158
+ code: "UNKNOWN",
1159
+ },
1160
+ },
1074
1161
  });
1075
1162
  }
1076
1163
  throw err;