psadk 1.4.8 → 1.5.1

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 (211) hide show
  1. package/build/main/index.d.ts +1 -0
  2. package/build/main/lib/PSAI.js +1 -2
  3. package/build/main/lib/PSAgent.d.ts +46 -44
  4. package/build/main/lib/PSAgent.js +176 -961
  5. package/build/main/lib/PSAgentConfig.d.ts +110 -26
  6. package/build/main/lib/PSAgentLogger.js +1 -2
  7. package/build/main/lib/PSAgentTool.d.ts +8 -3
  8. package/build/main/lib/PSAgentTool.js +3 -3
  9. package/build/main/lib/agent-core/{agent-loop.d.ts → src/agent-loop.d.ts} +1 -1
  10. package/build/main/lib/agent-core/src/agent-loop.js +514 -0
  11. package/build/{module/lib/agent-core → main/lib/agent-core/src}/agent.d.ts +2 -2
  12. package/build/main/lib/agent-core/src/agent.js +419 -0
  13. package/build/main/lib/agent-core/{harness → src/harness}/agent-harness.d.ts +36 -26
  14. package/build/main/lib/agent-core/src/harness/agent-harness.js +1028 -0
  15. package/build/main/lib/agent-core/src/harness/compaction/branch-summarization.d.ts +52 -0
  16. package/build/main/lib/agent-core/src/harness/compaction/branch-summarization.js +182 -0
  17. package/build/main/lib/agent-core/src/harness/compaction/compaction.d.ts +94 -0
  18. package/build/main/lib/agent-core/src/harness/compaction/compaction.js +550 -0
  19. package/build/main/lib/agent-core/src/harness/compaction/utils.d.ts +24 -0
  20. package/build/main/lib/agent-core/src/harness/compaction/utils.js +131 -0
  21. package/build/main/lib/agent-core/src/harness/env/nodejs.d.ts +50 -0
  22. package/build/main/lib/agent-core/src/harness/env/nodejs.js +494 -0
  23. package/build/main/lib/agent-core/{harness → src/harness}/messages.d.ts +2 -2
  24. package/build/{module/lib/agent-core → main/lib/agent-core/src}/harness/messages.js +1 -1
  25. package/build/main/lib/agent-core/{harness → src/harness}/prompt-templates.d.ts +4 -1
  26. package/build/main/lib/agent-core/src/harness/prompt-templates.js +235 -0
  27. package/build/{module/lib/agent-core/harness/session/repo/jsonl.d.ts → main/lib/agent-core/src/harness/session/jsonl-repo.d.ts} +7 -1
  28. package/build/main/lib/agent-core/src/harness/session/jsonl-repo.js +106 -0
  29. package/build/{module/lib/agent-core/harness/session/storage/jsonl.d.ts → main/lib/agent-core/src/harness/session/jsonl-storage.d.ts} +7 -4
  30. package/build/main/lib/agent-core/src/harness/session/jsonl-storage.js +234 -0
  31. package/build/main/lib/agent-core/{harness/session/repo/memory.d.ts → src/harness/session/memory-repo.d.ts} +1 -1
  32. package/build/main/lib/agent-core/src/harness/session/memory-repo.js +45 -0
  33. package/build/main/lib/agent-core/{harness/session/storage/memory.d.ts → src/harness/session/memory-storage.d.ts} +4 -5
  34. package/build/main/lib/agent-core/src/harness/session/memory-storage.js +116 -0
  35. package/build/main/lib/agent-core/{harness/session/repo/shared.d.ts → src/harness/session/repo-utils.d.ts} +3 -2
  36. package/build/main/lib/agent-core/src/harness/session/repo-utils.js +39 -0
  37. package/build/{module/lib/agent-core → main/lib/agent-core/src}/harness/session/session.d.ts +3 -2
  38. package/build/main/lib/agent-core/src/harness/session/session.js +213 -0
  39. package/build/main/lib/agent-core/src/harness/session/uuid.d.ts +1 -0
  40. package/build/main/lib/agent-core/src/harness/session/uuid.js +54 -0
  41. package/build/main/lib/agent-core/{harness → src/harness}/skills.d.ts +4 -1
  42. package/build/main/lib/agent-core/src/harness/skills.js +353 -0
  43. package/build/main/lib/agent-core/{harness → src/harness}/system-prompt.d.ts +1 -1
  44. package/build/main/lib/agent-core/src/harness/system-prompt.js +30 -0
  45. package/build/{module/lib/agent-core → main/lib/agent-core/src}/harness/types.d.ts +160 -70
  46. package/build/main/lib/agent-core/src/harness/types.js +94 -0
  47. package/build/main/lib/agent-core/{harness → src/harness}/utils/shell-output.d.ts +2 -2
  48. package/build/main/lib/agent-core/src/harness/utils/shell-output.js +134 -0
  49. package/build/main/lib/agent-core/src/harness/utils/truncate.js +294 -0
  50. package/build/main/lib/agent-core/src/index.d.ts +19 -0
  51. package/build/main/lib/agent-core/src/index.js +25 -0
  52. package/build/main/lib/agent-core/src/node.d.ts +2 -0
  53. package/build/main/lib/agent-core/src/node.js +3 -0
  54. package/build/main/lib/agent-core/{proxy.js → src/proxy.js} +3 -2
  55. package/build/{module/lib/agent-core → main/lib/agent-core/src}/types.d.ts +13 -1
  56. package/build/{module/lib/agent-core → main/lib/agent-core/src}/types.js +1 -1
  57. package/build/main/lib/localAgent.d.ts +35 -0
  58. package/build/main/lib/localAgent.js +329 -0
  59. package/build/main/lib/remoteAgent.d.ts +25 -0
  60. package/build/main/lib/remoteAgent.js +311 -0
  61. package/build/main/lib/skills/skillParser.d.ts +13 -3
  62. package/build/main/lib/skills/skillParser.js +61 -12
  63. package/build/main/lib/skills/utils.js +18 -10
  64. package/build/main/lib/tools/BraveWebSearchTool.js +1 -2
  65. package/build/main/lib/tools/PSArtifactTool.js +1 -2
  66. package/build/main/lib/tools/PSClarifyTool.js +1 -2
  67. package/build/main/lib/tools/PSCommandLineTool.js +1 -2
  68. package/build/main/lib/tools/PSMemoryTool.js +1 -2
  69. package/build/main/lib/tools/PSReadFileTool.js +1 -2
  70. package/build/main/lib/tools/PSRetrievalTool.js +1 -2
  71. package/build/main/lib/tools/PSSkillTool.js +1 -2
  72. package/build/main/lib/tools/PSSubAgentTool.js +1 -1
  73. package/build/main/lib/tools/PSWriteFileTool.js +1 -2
  74. package/build/main/lib/tools/TodoTool.js +1 -2
  75. package/build/main/lib/utils/debuglogger.js +1 -2
  76. package/build/main/lib/utils/helpers.js +1 -6
  77. package/build/module/index.d.ts +1 -0
  78. package/build/module/lib/PSAI.js +1 -2
  79. package/build/module/lib/PSAgent.d.ts +46 -44
  80. package/build/module/lib/PSAgent.js +176 -961
  81. package/build/module/lib/PSAgentConfig.d.ts +110 -26
  82. package/build/module/lib/PSAgentLogger.js +1 -2
  83. package/build/module/lib/PSAgentTool.d.ts +8 -3
  84. package/build/module/lib/PSAgentTool.js +3 -3
  85. package/build/module/lib/agent-core/{agent-loop.d.ts → src/agent-loop.d.ts} +1 -1
  86. package/build/module/lib/agent-core/src/agent-loop.js +514 -0
  87. package/build/{main/lib/agent-core → module/lib/agent-core/src}/agent.d.ts +2 -2
  88. package/build/module/lib/agent-core/src/agent.js +419 -0
  89. package/build/module/lib/agent-core/{harness → src/harness}/agent-harness.d.ts +36 -26
  90. package/build/module/lib/agent-core/src/harness/agent-harness.js +1028 -0
  91. package/build/module/lib/agent-core/src/harness/compaction/branch-summarization.d.ts +52 -0
  92. package/build/module/lib/agent-core/src/harness/compaction/branch-summarization.js +182 -0
  93. package/build/module/lib/agent-core/src/harness/compaction/compaction.d.ts +94 -0
  94. package/build/module/lib/agent-core/src/harness/compaction/compaction.js +550 -0
  95. package/build/module/lib/agent-core/src/harness/compaction/utils.d.ts +24 -0
  96. package/build/module/lib/agent-core/src/harness/compaction/utils.js +131 -0
  97. package/build/module/lib/agent-core/src/harness/env/nodejs.d.ts +50 -0
  98. package/build/module/lib/agent-core/src/harness/env/nodejs.js +494 -0
  99. package/build/module/lib/agent-core/{harness → src/harness}/messages.d.ts +2 -2
  100. package/build/{main/lib/agent-core → module/lib/agent-core/src}/harness/messages.js +1 -1
  101. package/build/module/lib/agent-core/{harness → src/harness}/prompt-templates.d.ts +4 -1
  102. package/build/module/lib/agent-core/src/harness/prompt-templates.js +235 -0
  103. package/build/{main/lib/agent-core/harness/session/repo/jsonl.d.ts → module/lib/agent-core/src/harness/session/jsonl-repo.d.ts} +7 -1
  104. package/build/module/lib/agent-core/src/harness/session/jsonl-repo.js +106 -0
  105. package/build/{main/lib/agent-core/harness/session/storage/jsonl.d.ts → module/lib/agent-core/src/harness/session/jsonl-storage.d.ts} +7 -4
  106. package/build/module/lib/agent-core/src/harness/session/jsonl-storage.js +234 -0
  107. package/build/module/lib/agent-core/{harness/session/repo/memory.d.ts → src/harness/session/memory-repo.d.ts} +1 -1
  108. package/build/module/lib/agent-core/src/harness/session/memory-repo.js +45 -0
  109. package/build/module/lib/agent-core/{harness/session/storage/memory.d.ts → src/harness/session/memory-storage.d.ts} +4 -5
  110. package/build/module/lib/agent-core/src/harness/session/memory-storage.js +116 -0
  111. package/build/module/lib/agent-core/{harness/session/repo/shared.d.ts → src/harness/session/repo-utils.d.ts} +3 -2
  112. package/build/module/lib/agent-core/src/harness/session/repo-utils.js +39 -0
  113. package/build/{main/lib/agent-core → module/lib/agent-core/src}/harness/session/session.d.ts +3 -2
  114. package/build/module/lib/agent-core/src/harness/session/session.js +213 -0
  115. package/build/module/lib/agent-core/src/harness/session/uuid.d.ts +1 -0
  116. package/build/module/lib/agent-core/src/harness/session/uuid.js +54 -0
  117. package/build/module/lib/agent-core/{harness → src/harness}/skills.d.ts +4 -1
  118. package/build/module/lib/agent-core/src/harness/skills.js +353 -0
  119. package/build/module/lib/agent-core/{harness → src/harness}/system-prompt.d.ts +1 -1
  120. package/build/module/lib/agent-core/src/harness/system-prompt.js +30 -0
  121. package/build/{main/lib/agent-core → module/lib/agent-core/src}/harness/types.d.ts +160 -70
  122. package/build/module/lib/agent-core/src/harness/types.js +94 -0
  123. package/build/module/lib/agent-core/{harness → src/harness}/utils/shell-output.d.ts +2 -2
  124. package/build/module/lib/agent-core/src/harness/utils/shell-output.js +134 -0
  125. package/build/module/lib/agent-core/src/harness/utils/truncate.js +294 -0
  126. package/build/module/lib/agent-core/src/index.d.ts +19 -0
  127. package/build/module/lib/agent-core/src/index.js +25 -0
  128. package/build/module/lib/agent-core/src/node.d.ts +2 -0
  129. package/build/module/lib/agent-core/src/node.js +3 -0
  130. package/build/module/lib/agent-core/{proxy.js → src/proxy.js} +3 -2
  131. package/build/{main/lib/agent-core → module/lib/agent-core/src}/types.d.ts +13 -1
  132. package/build/{main/lib/agent-core → module/lib/agent-core/src}/types.js +1 -1
  133. package/build/module/lib/localAgent.d.ts +35 -0
  134. package/build/module/lib/localAgent.js +329 -0
  135. package/build/module/lib/remoteAgent.d.ts +25 -0
  136. package/build/module/lib/remoteAgent.js +311 -0
  137. package/build/module/lib/skills/skillParser.d.ts +13 -3
  138. package/build/module/lib/skills/skillParser.js +61 -12
  139. package/build/module/lib/skills/utils.js +18 -10
  140. package/build/module/lib/tools/BraveWebSearchTool.js +1 -2
  141. package/build/module/lib/tools/PSArtifactTool.js +1 -2
  142. package/build/module/lib/tools/PSClarifyTool.js +1 -2
  143. package/build/module/lib/tools/PSCommandLineTool.js +1 -2
  144. package/build/module/lib/tools/PSMemoryTool.js +1 -2
  145. package/build/module/lib/tools/PSReadFileTool.js +1 -2
  146. package/build/module/lib/tools/PSRetrievalTool.js +1 -2
  147. package/build/module/lib/tools/PSSkillTool.js +1 -2
  148. package/build/module/lib/tools/PSSubAgentTool.js +1 -1
  149. package/build/module/lib/tools/PSWriteFileTool.js +1 -2
  150. package/build/module/lib/tools/TodoTool.js +1 -2
  151. package/build/module/lib/utils/debuglogger.js +1 -2
  152. package/build/module/lib/utils/helpers.js +1 -6
  153. package/package.json +2 -1
  154. package/build/main/lib/agent-core/agent-loop.js +0 -483
  155. package/build/main/lib/agent-core/agent.js +0 -419
  156. package/build/main/lib/agent-core/harness/agent-harness.js +0 -772
  157. package/build/main/lib/agent-core/harness/compaction/branch-summarization.d.ts +0 -87
  158. package/build/main/lib/agent-core/harness/compaction/branch-summarization.js +0 -246
  159. package/build/main/lib/agent-core/harness/compaction/compaction.d.ts +0 -121
  160. package/build/main/lib/agent-core/harness/compaction/compaction.js +0 -637
  161. package/build/main/lib/agent-core/harness/compaction/utils.d.ts +0 -37
  162. package/build/main/lib/agent-core/harness/compaction/utils.js +0 -153
  163. package/build/main/lib/agent-core/harness/env/nodejs.d.ts +0 -43
  164. package/build/main/lib/agent-core/harness/env/nodejs.js +0 -353
  165. package/build/main/lib/agent-core/harness/execution-env.d.ts +0 -3
  166. package/build/main/lib/agent-core/harness/execution-env.js +0 -3
  167. package/build/main/lib/agent-core/harness/prompt-templates.js +0 -204
  168. package/build/main/lib/agent-core/harness/session/repo/jsonl.js +0 -98
  169. package/build/main/lib/agent-core/harness/session/repo/memory.js +0 -46
  170. package/build/main/lib/agent-core/harness/session/repo/shared.js +0 -31
  171. package/build/main/lib/agent-core/harness/session/session.js +0 -199
  172. package/build/main/lib/agent-core/harness/session/storage/jsonl.js +0 -170
  173. package/build/main/lib/agent-core/harness/session/storage/memory.js +0 -94
  174. package/build/main/lib/agent-core/harness/skills.js +0 -266
  175. package/build/main/lib/agent-core/harness/system-prompt.js +0 -30
  176. package/build/main/lib/agent-core/harness/types.js +0 -16
  177. package/build/main/lib/agent-core/harness/utils/shell-output.js +0 -101
  178. package/build/main/lib/agent-core/harness/utils/truncate.js +0 -208
  179. package/build/main/lib/agent-core/index.d.ts +0 -19
  180. package/build/main/lib/agent-core/index.js +0 -25
  181. package/build/module/lib/agent-core/agent-loop.js +0 -483
  182. package/build/module/lib/agent-core/agent.js +0 -419
  183. package/build/module/lib/agent-core/harness/agent-harness.js +0 -772
  184. package/build/module/lib/agent-core/harness/compaction/branch-summarization.d.ts +0 -87
  185. package/build/module/lib/agent-core/harness/compaction/branch-summarization.js +0 -246
  186. package/build/module/lib/agent-core/harness/compaction/compaction.d.ts +0 -121
  187. package/build/module/lib/agent-core/harness/compaction/compaction.js +0 -637
  188. package/build/module/lib/agent-core/harness/compaction/utils.d.ts +0 -37
  189. package/build/module/lib/agent-core/harness/compaction/utils.js +0 -153
  190. package/build/module/lib/agent-core/harness/env/nodejs.d.ts +0 -43
  191. package/build/module/lib/agent-core/harness/env/nodejs.js +0 -353
  192. package/build/module/lib/agent-core/harness/execution-env.d.ts +0 -3
  193. package/build/module/lib/agent-core/harness/execution-env.js +0 -3
  194. package/build/module/lib/agent-core/harness/prompt-templates.js +0 -204
  195. package/build/module/lib/agent-core/harness/session/repo/jsonl.js +0 -98
  196. package/build/module/lib/agent-core/harness/session/repo/memory.js +0 -46
  197. package/build/module/lib/agent-core/harness/session/repo/shared.js +0 -31
  198. package/build/module/lib/agent-core/harness/session/session.js +0 -199
  199. package/build/module/lib/agent-core/harness/session/storage/jsonl.js +0 -170
  200. package/build/module/lib/agent-core/harness/session/storage/memory.js +0 -94
  201. package/build/module/lib/agent-core/harness/skills.js +0 -266
  202. package/build/module/lib/agent-core/harness/system-prompt.js +0 -30
  203. package/build/module/lib/agent-core/harness/types.js +0 -16
  204. package/build/module/lib/agent-core/harness/utils/shell-output.js +0 -101
  205. package/build/module/lib/agent-core/harness/utils/truncate.js +0 -208
  206. package/build/module/lib/agent-core/index.d.ts +0 -19
  207. package/build/module/lib/agent-core/index.js +0 -25
  208. /package/build/main/lib/agent-core/{harness → src/harness}/utils/truncate.d.ts +0 -0
  209. /package/build/main/lib/agent-core/{proxy.d.ts → src/proxy.d.ts} +0 -0
  210. /package/build/module/lib/agent-core/{harness → src/harness}/utils/truncate.d.ts +0 -0
  211. /package/build/module/lib/agent-core/{proxy.d.ts → src/proxy.d.ts} +0 -0
@@ -1,101 +0,0 @@
1
- import { randomBytes } from 'node:crypto';
2
- import { createWriteStream } from 'node:fs';
3
- import { tmpdir } from 'node:os';
4
- import { join } from 'node:path';
5
- import { DEFAULT_MAX_BYTES, truncateTail } from './truncate.js';
6
- export function sanitizeBinaryOutput(str) {
7
- return Array.from(str)
8
- .filter((char) => {
9
- const code = char.codePointAt(0);
10
- if (code === undefined)
11
- return false;
12
- if (code === 0x09 || code === 0x0a || code === 0x0d)
13
- return true;
14
- if (code <= 0x1f)
15
- return false;
16
- if (code >= 0xfff9 && code <= 0xfffb)
17
- return false;
18
- return true;
19
- })
20
- .join('');
21
- }
22
- export async function executeShellWithCapture(env, command, options) {
23
- const outputChunks = [];
24
- let outputBytes = 0;
25
- const maxOutputBytes = DEFAULT_MAX_BYTES * 2;
26
- let tempFilePath;
27
- let tempFileStream;
28
- let totalBytes = 0;
29
- const ensureTempFile = () => {
30
- if (tempFilePath)
31
- return;
32
- const id = randomBytes(8).toString('hex');
33
- tempFilePath = join(tmpdir(), `bash-${id}.log`);
34
- tempFileStream = createWriteStream(tempFilePath);
35
- for (const chunk of outputChunks) {
36
- tempFileStream.write(chunk);
37
- }
38
- };
39
- const onChunk = (chunk) => {
40
- totalBytes += Buffer.byteLength(chunk, 'utf-8');
41
- const text = sanitizeBinaryOutput(chunk).replace(/\r/g, '');
42
- if (totalBytes > DEFAULT_MAX_BYTES) {
43
- ensureTempFile();
44
- }
45
- if (tempFileStream) {
46
- tempFileStream.write(text);
47
- }
48
- outputChunks.push(text);
49
- outputBytes += text.length;
50
- while (outputBytes > maxOutputBytes && outputChunks.length > 1) {
51
- const removed = outputChunks.shift();
52
- outputBytes -= removed.length;
53
- }
54
- options?.onChunk?.(text);
55
- };
56
- try {
57
- const result = await env.exec(command, {
58
- ...(options ?? {}),
59
- onStdout: onChunk,
60
- onStderr: onChunk,
61
- });
62
- const fullOutput = outputChunks.join('');
63
- const truncationResult = truncateTail(fullOutput);
64
- if (truncationResult.truncated) {
65
- ensureTempFile();
66
- }
67
- tempFileStream?.end();
68
- const cancelled = options?.signal?.aborted ?? false;
69
- return {
70
- output: truncationResult.truncated
71
- ? truncationResult.content
72
- : fullOutput,
73
- exitCode: cancelled ? undefined : result.exitCode,
74
- cancelled,
75
- truncated: truncationResult.truncated,
76
- fullOutputPath: tempFilePath,
77
- };
78
- }
79
- catch (err) {
80
- if (options?.signal?.aborted) {
81
- const fullOutput = outputChunks.join('');
82
- const truncationResult = truncateTail(fullOutput);
83
- if (truncationResult.truncated) {
84
- ensureTempFile();
85
- }
86
- tempFileStream?.end();
87
- return {
88
- output: truncationResult.truncated
89
- ? truncationResult.content
90
- : fullOutput,
91
- exitCode: undefined,
92
- cancelled: true,
93
- truncated: truncationResult.truncated,
94
- fullOutputPath: tempFilePath,
95
- };
96
- }
97
- tempFileStream?.end();
98
- throw err;
99
- }
100
- }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtb3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hZ2VudC1jb3JlL2hhcm5lc3MvdXRpbHMvc2hlbGwtb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLFNBQVMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJakMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWlCaEUsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEdBQVc7SUFDOUMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUNuQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLEtBQUssU0FBUztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3JDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDakUsSUFBSSxJQUFJLElBQUksSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9CLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksTUFBTTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQzND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
@@ -1,208 +0,0 @@
1
- /**
2
- * Shared truncation utilities for tool outputs.
3
- *
4
- * Truncation is based on two independent limits - whichever is hit first wins:
5
- * - Line limit (default: 2000 lines)
6
- * - Byte limit (default: 50KB)
7
- *
8
- * Never returns partial lines (except bash tail truncation edge case).
9
- */
10
- export const DEFAULT_MAX_LINES = 2000;
11
- export const DEFAULT_MAX_BYTES = 50 * 1024; // 50KB
12
- export const GREP_MAX_LINE_LENGTH = 500; // Max chars per grep match line
13
- /**
14
- * Format bytes as human-readable size.
15
- */
16
- export function formatSize(bytes) {
17
- if (bytes < 1024) {
18
- return `${bytes}B`;
19
- }
20
- else if (bytes < 1024 * 1024) {
21
- return `${(bytes / 1024).toFixed(1)}KB`;
22
- }
23
- else {
24
- return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
25
- }
26
- }
27
- /**
28
- * Truncate content from the head (keep first N lines/bytes).
29
- * Suitable for file reads where you want to see the beginning.
30
- *
31
- * Never returns partial lines. If first line exceeds byte limit,
32
- * returns empty content with firstLineExceedsLimit=true.
33
- */
34
- export function truncateHead(content, options = {}) {
35
- const maxLines = options.maxLines ?? DEFAULT_MAX_LINES;
36
- const maxBytes = options.maxBytes ?? DEFAULT_MAX_BYTES;
37
- const totalBytes = Buffer.byteLength(content, 'utf-8');
38
- const lines = content.split('\n');
39
- const totalLines = lines.length;
40
- // Check if no truncation needed
41
- if (totalLines <= maxLines && totalBytes <= maxBytes) {
42
- return {
43
- content,
44
- truncated: false,
45
- truncatedBy: null,
46
- totalLines,
47
- totalBytes,
48
- outputLines: totalLines,
49
- outputBytes: totalBytes,
50
- lastLinePartial: false,
51
- firstLineExceedsLimit: false,
52
- maxLines,
53
- maxBytes,
54
- };
55
- }
56
- // Check if first line alone exceeds byte limit
57
- const firstLineBytes = Buffer.byteLength(lines[0], 'utf-8');
58
- if (firstLineBytes > maxBytes) {
59
- return {
60
- content: '',
61
- truncated: true,
62
- truncatedBy: 'bytes',
63
- totalLines,
64
- totalBytes,
65
- outputLines: 0,
66
- outputBytes: 0,
67
- lastLinePartial: false,
68
- firstLineExceedsLimit: true,
69
- maxLines,
70
- maxBytes,
71
- };
72
- }
73
- // Collect complete lines that fit
74
- const outputLinesArr = [];
75
- let outputBytesCount = 0;
76
- let truncatedBy = 'lines';
77
- for (let i = 0; i < lines.length && i < maxLines; i++) {
78
- const line = lines[i];
79
- const lineBytes = Buffer.byteLength(line, 'utf-8') + (i > 0 ? 1 : 0); // +1 for newline
80
- if (outputBytesCount + lineBytes > maxBytes) {
81
- truncatedBy = 'bytes';
82
- break;
83
- }
84
- outputLinesArr.push(line);
85
- outputBytesCount += lineBytes;
86
- }
87
- // If we exited due to line limit
88
- if (outputLinesArr.length >= maxLines && outputBytesCount <= maxBytes) {
89
- truncatedBy = 'lines';
90
- }
91
- const outputContent = outputLinesArr.join('\n');
92
- const finalOutputBytes = Buffer.byteLength(outputContent, 'utf-8');
93
- return {
94
- content: outputContent,
95
- truncated: true,
96
- truncatedBy,
97
- totalLines,
98
- totalBytes,
99
- outputLines: outputLinesArr.length,
100
- outputBytes: finalOutputBytes,
101
- lastLinePartial: false,
102
- firstLineExceedsLimit: false,
103
- maxLines,
104
- maxBytes,
105
- };
106
- }
107
- /**
108
- * Truncate content from the tail (keep last N lines/bytes).
109
- * Suitable for bash output where you want to see the end (errors, final results).
110
- *
111
- * May return partial first line if the last line of original content exceeds byte limit.
112
- */
113
- export function truncateTail(content, options = {}) {
114
- const maxLines = options.maxLines ?? DEFAULT_MAX_LINES;
115
- const maxBytes = options.maxBytes ?? DEFAULT_MAX_BYTES;
116
- const totalBytes = Buffer.byteLength(content, 'utf-8');
117
- const lines = content.split('\n');
118
- const totalLines = lines.length;
119
- // Check if no truncation needed
120
- if (totalLines <= maxLines && totalBytes <= maxBytes) {
121
- return {
122
- content,
123
- truncated: false,
124
- truncatedBy: null,
125
- totalLines,
126
- totalBytes,
127
- outputLines: totalLines,
128
- outputBytes: totalBytes,
129
- lastLinePartial: false,
130
- firstLineExceedsLimit: false,
131
- maxLines,
132
- maxBytes,
133
- };
134
- }
135
- // Work backwards from the end
136
- const outputLinesArr = [];
137
- let outputBytesCount = 0;
138
- let truncatedBy = 'lines';
139
- let lastLinePartial = false;
140
- for (let i = lines.length - 1; i >= 0 && outputLinesArr.length < maxLines; i--) {
141
- const line = lines[i];
142
- const lineBytes = Buffer.byteLength(line, 'utf-8') + (outputLinesArr.length > 0 ? 1 : 0); // +1 for newline
143
- if (outputBytesCount + lineBytes > maxBytes) {
144
- truncatedBy = 'bytes';
145
- // Edge case: if we haven't added ANY lines yet and this line exceeds maxBytes,
146
- // take the end of the line (partial)
147
- if (outputLinesArr.length === 0) {
148
- const truncatedLine = truncateStringToBytesFromEnd(line, maxBytes);
149
- outputLinesArr.unshift(truncatedLine);
150
- outputBytesCount = Buffer.byteLength(truncatedLine, 'utf-8');
151
- lastLinePartial = true;
152
- }
153
- break;
154
- }
155
- outputLinesArr.unshift(line);
156
- outputBytesCount += lineBytes;
157
- }
158
- // If we exited due to line limit
159
- if (outputLinesArr.length >= maxLines && outputBytesCount <= maxBytes) {
160
- truncatedBy = 'lines';
161
- }
162
- const outputContent = outputLinesArr.join('\n');
163
- const finalOutputBytes = Buffer.byteLength(outputContent, 'utf-8');
164
- return {
165
- content: outputContent,
166
- truncated: true,
167
- truncatedBy,
168
- totalLines,
169
- totalBytes,
170
- outputLines: outputLinesArr.length,
171
- outputBytes: finalOutputBytes,
172
- lastLinePartial,
173
- firstLineExceedsLimit: false,
174
- maxLines,
175
- maxBytes,
176
- };
177
- }
178
- /**
179
- * Truncate a string to fit within a byte limit (from the end).
180
- * Handles multi-byte UTF-8 characters correctly.
181
- */
182
- function truncateStringToBytesFromEnd(str, maxBytes) {
183
- const buf = Buffer.from(str, 'utf-8');
184
- if (buf.length <= maxBytes) {
185
- return str;
186
- }
187
- // Start from the end, skip maxBytes back
188
- let start = buf.length - maxBytes;
189
- // Find a valid UTF-8 boundary (start of a character)
190
- while (start < buf.length && (buf[start] & 0xc0) === 0x80) {
191
- start++;
192
- }
193
- return buf.slice(start).toString('utf-8');
194
- }
195
- /**
196
- * Truncate a single line to max characters, adding [truncated] suffix.
197
- * Used for grep match lines.
198
- */
199
- export function truncateLine(line, maxChars = GREP_MAX_LINE_LENGTH) {
200
- if (line.length <= maxChars) {
201
- return { text: line, wasTruncated: false };
202
- }
203
- return {
204
- text: `${line.slice(0, maxChars)}... [truncated]`,
205
- wasTruncated: true,
206
- };
207
- }
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2FnZW50LWNvcmUvaGFybmVzcy91dGlscy90cnVuY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUN0QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTztBQUNuRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUMsQ0FBQyxnQ0FBZ0M7QUFrQ3pFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhO0lBQ3RDLElBQUksS0FBSyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQztJQUNyQixDQUFDO1NBQU0sSUFBSSxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQy9CLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25ELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsT0FBZSxFQUNmLFVBQTZCLEVBQUU7SUFFL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxpQkFBaUIsQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLGlCQUFpQixDQUFDO0lBRXZELE1BQU0sVUFBVSxHQUFHLE1BQU0s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
@@ -1,19 +0,0 @@
1
- export * from './agent.js';
2
- export * from './agent-loop.js';
3
- export * from './harness/agent-harness.js';
4
- export { collectEntriesForBranchSummary, generateBranchSummary, prepareBranchEntries, } from './harness/compaction/branch-summarization.js';
5
- export { calculateContextTokens, compact, DEFAULT_COMPACTION_SETTINGS, estimateContextTokens, estimateTokens, findCutPoint, findTurnStartIndex, generateSummary, getLastAssistantUsage, prepareCompaction, serializeConversation, shouldCompact, } from './harness/compaction/compaction.js';
6
- export * from './harness/execution-env.js';
7
- export * from './harness/messages.js';
8
- export * from './harness/prompt-templates.js';
9
- export * from './harness/session/repo/jsonl.js';
10
- export * from './harness/session/repo/memory.js';
11
- export * from './harness/session/repo/shared.js';
12
- export * from './harness/session/session.js';
13
- export * from './harness/skills.js';
14
- export * from './harness/system-prompt.js';
15
- export * from './harness/types.js';
16
- export * from './harness/utils/shell-output.js';
17
- export * from './harness/utils/truncate.js';
18
- export * from './proxy.js';
19
- export * from './types.js';
@@ -1,25 +0,0 @@
1
- // Core Agent
2
- export * from './agent.js';
3
- // Loop functions
4
- export * from './agent-loop.js';
5
- export * from './harness/agent-harness.js';
6
- export { collectEntriesForBranchSummary, generateBranchSummary, prepareBranchEntries, } from './harness/compaction/branch-summarization.js';
7
- export { calculateContextTokens, compact, DEFAULT_COMPACTION_SETTINGS, estimateContextTokens, estimateTokens, findCutPoint, findTurnStartIndex, generateSummary, getLastAssistantUsage, prepareCompaction, serializeConversation, shouldCompact, } from './harness/compaction/compaction.js';
8
- export * from './harness/execution-env.js';
9
- export * from './harness/messages.js';
10
- export * from './harness/prompt-templates.js';
11
- export * from './harness/session/repo/jsonl.js';
12
- export * from './harness/session/repo/memory.js';
13
- export * from './harness/session/repo/shared.js';
14
- export * from './harness/session/session.js';
15
- export * from './harness/skills.js';
16
- export * from './harness/system-prompt.js';
17
- // Harness
18
- export * from './harness/types.js';
19
- export * from './harness/utils/shell-output.js';
20
- export * from './harness/utils/truncate.js';
21
- // Proxy utilities
22
- export * from './proxy.js';
23
- // Types
24
- export * from './types.js';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2FnZW50LWNvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsYUFBYTtBQUNiLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGlCQUFpQjtBQUNqQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsT0FBTyxFQUNMLDhCQUE4QixFQUM5QixxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixPQUFPLEVBQ1AsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsYUFBYSxHQUNkLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsVUFBVTtBQUNWLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGtCQUFrQjtBQUNsQixjQUFjLFlBQVksQ0FBQztBQUMzQixRQUFRO0FBQ1IsY0FBYyxZQUFZLENBQUMifQ==