psadk 1.4.1 → 1.4.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 (111) hide show
  1. package/build/main/index.d.ts +1 -0
  2. package/build/main/index.js +2 -1
  3. package/build/main/lib/PSAI.d.ts +11 -2
  4. package/build/main/lib/PSAI.js +145 -28
  5. package/build/main/lib/agent-core/agent-loop.d.ts +2 -2
  6. package/build/main/lib/agent-core/agent-loop.js +69 -65
  7. package/build/main/lib/agent-core/agent.d.ts +8 -8
  8. package/build/main/lib/agent-core/agent.js +61 -44
  9. package/build/main/lib/agent-core/harness/agent-harness.d.ts +4 -4
  10. package/build/main/lib/agent-core/harness/agent-harness.js +156 -112
  11. package/build/main/lib/agent-core/harness/compaction/branch-summarization.d.ts +5 -5
  12. package/build/main/lib/agent-core/harness/compaction/branch-summarization.js +31 -28
  13. package/build/main/lib/agent-core/harness/compaction/compaction.d.ts +5 -5
  14. package/build/main/lib/agent-core/harness/compaction/compaction.js +99 -78
  15. package/build/main/lib/agent-core/harness/compaction/utils.d.ts +2 -2
  16. package/build/main/lib/agent-core/harness/compaction/utils.js +30 -30
  17. package/build/main/lib/agent-core/harness/env/nodejs.d.ts +1 -1
  18. package/build/main/lib/agent-core/harness/env/nodejs.js +80 -75
  19. package/build/main/lib/agent-core/harness/execution-env.d.ts +3 -3
  20. package/build/main/lib/agent-core/harness/execution-env.js +3 -3
  21. package/build/main/lib/agent-core/harness/messages.d.ts +7 -7
  22. package/build/main/lib/agent-core/harness/messages.js +36 -22
  23. package/build/main/lib/agent-core/harness/prompt-templates.d.ts +2 -2
  24. package/build/main/lib/agent-core/harness/prompt-templates.js +31 -27
  25. package/build/main/lib/agent-core/harness/session/repo/jsonl.d.ts +2 -2
  26. package/build/main/lib/agent-core/harness/session/repo/jsonl.js +17 -11
  27. package/build/main/lib/agent-core/harness/session/repo/memory.d.ts +2 -2
  28. package/build/main/lib/agent-core/harness/session/repo/memory.js +8 -4
  29. package/build/main/lib/agent-core/harness/session/repo/shared.d.ts +3 -3
  30. package/build/main/lib/agent-core/harness/session/repo/shared.js +5 -5
  31. package/build/main/lib/agent-core/harness/session/session.d.ts +3 -3
  32. package/build/main/lib/agent-core/harness/session/session.js +26 -23
  33. package/build/main/lib/agent-core/harness/session/storage/jsonl.d.ts +2 -2
  34. package/build/main/lib/agent-core/harness/session/storage/jsonl.js +11 -11
  35. package/build/main/lib/agent-core/harness/session/storage/memory.d.ts +2 -2
  36. package/build/main/lib/agent-core/harness/session/storage/memory.js +10 -6
  37. package/build/main/lib/agent-core/harness/skills.d.ts +2 -2
  38. package/build/main/lib/agent-core/harness/skills.js +55 -48
  39. package/build/main/lib/agent-core/harness/system-prompt.d.ts +1 -1
  40. package/build/main/lib/agent-core/harness/system-prompt.js +16 -16
  41. package/build/main/lib/agent-core/harness/types.d.ts +43 -43
  42. package/build/main/lib/agent-core/harness/types.js +2 -2
  43. package/build/main/lib/agent-core/harness/utils/shell-output.d.ts +2 -2
  44. package/build/main/lib/agent-core/harness/utils/shell-output.js +18 -14
  45. package/build/main/lib/agent-core/harness/utils/truncate.d.ts +1 -1
  46. package/build/main/lib/agent-core/harness/utils/truncate.js +27 -24
  47. package/build/main/lib/agent-core/index.d.ts +19 -19
  48. package/build/main/lib/agent-core/index.js +20 -20
  49. package/build/main/lib/agent-core/proxy.d.ts +18 -18
  50. package/build/main/lib/agent-core/proxy.js +77 -61
  51. package/build/main/lib/agent-core/types.d.ts +16 -16
  52. package/build/main/lib/tools/PSRetrievalTool.d.ts +127 -0
  53. package/build/main/lib/tools/PSRetrievalTool.js +172 -0
  54. package/build/main/lib/utils/helpers.d.ts +34 -0
  55. package/build/main/lib/utils/helpers.js +280 -1
  56. package/build/module/index.d.ts +1 -0
  57. package/build/module/index.js +2 -1
  58. package/build/module/lib/PSAI.d.ts +11 -2
  59. package/build/module/lib/PSAI.js +145 -28
  60. package/build/module/lib/agent-core/agent-loop.d.ts +2 -2
  61. package/build/module/lib/agent-core/agent-loop.js +69 -65
  62. package/build/module/lib/agent-core/agent.d.ts +8 -8
  63. package/build/module/lib/agent-core/agent.js +61 -44
  64. package/build/module/lib/agent-core/harness/agent-harness.d.ts +4 -4
  65. package/build/module/lib/agent-core/harness/agent-harness.js +156 -112
  66. package/build/module/lib/agent-core/harness/compaction/branch-summarization.d.ts +5 -5
  67. package/build/module/lib/agent-core/harness/compaction/branch-summarization.js +31 -28
  68. package/build/module/lib/agent-core/harness/compaction/compaction.d.ts +5 -5
  69. package/build/module/lib/agent-core/harness/compaction/compaction.js +99 -78
  70. package/build/module/lib/agent-core/harness/compaction/utils.d.ts +2 -2
  71. package/build/module/lib/agent-core/harness/compaction/utils.js +30 -30
  72. package/build/module/lib/agent-core/harness/env/nodejs.d.ts +1 -1
  73. package/build/module/lib/agent-core/harness/env/nodejs.js +80 -75
  74. package/build/module/lib/agent-core/harness/execution-env.d.ts +3 -3
  75. package/build/module/lib/agent-core/harness/execution-env.js +3 -3
  76. package/build/module/lib/agent-core/harness/messages.d.ts +7 -7
  77. package/build/module/lib/agent-core/harness/messages.js +36 -22
  78. package/build/module/lib/agent-core/harness/prompt-templates.d.ts +2 -2
  79. package/build/module/lib/agent-core/harness/prompt-templates.js +31 -27
  80. package/build/module/lib/agent-core/harness/session/repo/jsonl.d.ts +2 -2
  81. package/build/module/lib/agent-core/harness/session/repo/jsonl.js +17 -11
  82. package/build/module/lib/agent-core/harness/session/repo/memory.d.ts +2 -2
  83. package/build/module/lib/agent-core/harness/session/repo/memory.js +8 -4
  84. package/build/module/lib/agent-core/harness/session/repo/shared.d.ts +3 -3
  85. package/build/module/lib/agent-core/harness/session/repo/shared.js +5 -5
  86. package/build/module/lib/agent-core/harness/session/session.d.ts +3 -3
  87. package/build/module/lib/agent-core/harness/session/session.js +26 -23
  88. package/build/module/lib/agent-core/harness/session/storage/jsonl.d.ts +2 -2
  89. package/build/module/lib/agent-core/harness/session/storage/jsonl.js +11 -11
  90. package/build/module/lib/agent-core/harness/session/storage/memory.d.ts +2 -2
  91. package/build/module/lib/agent-core/harness/session/storage/memory.js +10 -6
  92. package/build/module/lib/agent-core/harness/skills.d.ts +2 -2
  93. package/build/module/lib/agent-core/harness/skills.js +55 -48
  94. package/build/module/lib/agent-core/harness/system-prompt.d.ts +1 -1
  95. package/build/module/lib/agent-core/harness/system-prompt.js +16 -16
  96. package/build/module/lib/agent-core/harness/types.d.ts +43 -43
  97. package/build/module/lib/agent-core/harness/types.js +2 -2
  98. package/build/module/lib/agent-core/harness/utils/shell-output.d.ts +2 -2
  99. package/build/module/lib/agent-core/harness/utils/shell-output.js +18 -14
  100. package/build/module/lib/agent-core/harness/utils/truncate.d.ts +1 -1
  101. package/build/module/lib/agent-core/harness/utils/truncate.js +27 -24
  102. package/build/module/lib/agent-core/index.d.ts +19 -19
  103. package/build/module/lib/agent-core/index.js +20 -20
  104. package/build/module/lib/agent-core/proxy.d.ts +18 -18
  105. package/build/module/lib/agent-core/proxy.js +77 -61
  106. package/build/module/lib/agent-core/types.d.ts +16 -16
  107. package/build/module/lib/tools/PSRetrievalTool.d.ts +127 -0
  108. package/build/module/lib/tools/PSRetrievalTool.js +172 -0
  109. package/build/module/lib/utils/helpers.d.ts +34 -0
  110. package/build/module/lib/utils/helpers.js +280 -1
  111. package/package.json +1 -1
@@ -10,7 +10,7 @@ export class FileError extends Error {
10
10
  super(message, options);
11
11
  this.code = code;
12
12
  this.path = path;
13
- this.name = "FileError";
13
+ this.name = 'FileError';
14
14
  }
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2FnZW50LWNvcmUvaGFybmVzcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRkEsNERBQTREO0FBQzVELE1BQU0sT0FBTyxTQUFVLFNBQVEsS0FBSztJQUczQjtJQUdBO0lBTFI7SUFDQyxzQ0FBc0M7SUFDL0IsSUFBbUIsRUFDMUIsT0FBZTtJQUNmLDJFQUEyRTtJQUNwRSxJQUFhLEVBQ3BCLE9BQXNCO1FBRXRCLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFOakIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUduQixTQUFJLEdBQUosSUFBSSxDQUFTO1FBSXBCLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO0lBQ3pCLENBQUM7Q0FDRCJ9
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2FnZW50LWNvcmUvaGFybmVzcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvR0EsNERBQTREO0FBQzVELE1BQU0sT0FBTyxTQUFVLFNBQVEsS0FBSztJQUd6QjtJQUdBO0lBTFQ7SUFDRSxzQ0FBc0M7SUFDL0IsSUFBbUIsRUFDMUIsT0FBZTtJQUNmLDJFQUEyRTtJQUNwRSxJQUFhLEVBQ3BCLE9BQXNCO1FBRXRCLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFOakIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUduQixTQUFJLEdBQUosSUFBSSxDQUFTO1FBSXBCLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO0lBQzFCLENBQUM7Q0FDRiJ9
@@ -1,5 +1,5 @@
1
- import type { ExecutionEnv, ExecutionEnvExecOptions } from "../types.js";
2
- export interface ShellCaptureOptions extends Omit<ExecutionEnvExecOptions, "onStdout" | "onStderr"> {
1
+ import type { ExecutionEnv, ExecutionEnvExecOptions } from '../types.js';
2
+ export interface ShellCaptureOptions extends Omit<ExecutionEnvExecOptions, 'onStdout' | 'onStderr'> {
3
3
  onChunk?: (chunk: string) => void;
4
4
  }
5
5
  export interface ShellCaptureResult {
@@ -1,8 +1,8 @@
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";
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
6
  export function sanitizeBinaryOutput(str) {
7
7
  return Array.from(str)
8
8
  .filter((char) => {
@@ -17,7 +17,7 @@ export function sanitizeBinaryOutput(str) {
17
17
  return false;
18
18
  return true;
19
19
  })
20
- .join("");
20
+ .join('');
21
21
  }
22
22
  export async function executeShellWithCapture(env, command, options) {
23
23
  const outputChunks = [];
@@ -29,7 +29,7 @@ export async function executeShellWithCapture(env, command, options) {
29
29
  const ensureTempFile = () => {
30
30
  if (tempFilePath)
31
31
  return;
32
- const id = randomBytes(8).toString("hex");
32
+ const id = randomBytes(8).toString('hex');
33
33
  tempFilePath = join(tmpdir(), `bash-${id}.log`);
34
34
  tempFileStream = createWriteStream(tempFilePath);
35
35
  for (const chunk of outputChunks) {
@@ -37,8 +37,8 @@ export async function executeShellWithCapture(env, command, options) {
37
37
  }
38
38
  };
39
39
  const onChunk = (chunk) => {
40
- totalBytes += Buffer.byteLength(chunk, "utf-8");
41
- const text = sanitizeBinaryOutput(chunk).replace(/\r/g, "");
40
+ totalBytes += Buffer.byteLength(chunk, 'utf-8');
41
+ const text = sanitizeBinaryOutput(chunk).replace(/\r/g, '');
42
42
  if (totalBytes > DEFAULT_MAX_BYTES) {
43
43
  ensureTempFile();
44
44
  }
@@ -59,7 +59,7 @@ export async function executeShellWithCapture(env, command, options) {
59
59
  onStdout: onChunk,
60
60
  onStderr: onChunk,
61
61
  });
62
- const fullOutput = outputChunks.join("");
62
+ const fullOutput = outputChunks.join('');
63
63
  const truncationResult = truncateTail(fullOutput);
64
64
  if (truncationResult.truncated) {
65
65
  ensureTempFile();
@@ -67,7 +67,9 @@ export async function executeShellWithCapture(env, command, options) {
67
67
  tempFileStream?.end();
68
68
  const cancelled = options?.signal?.aborted ?? false;
69
69
  return {
70
- output: truncationResult.truncated ? truncationResult.content : fullOutput,
70
+ output: truncationResult.truncated
71
+ ? truncationResult.content
72
+ : fullOutput,
71
73
  exitCode: cancelled ? undefined : result.exitCode,
72
74
  cancelled,
73
75
  truncated: truncationResult.truncated,
@@ -76,14 +78,16 @@ export async function executeShellWithCapture(env, command, options) {
76
78
  }
77
79
  catch (err) {
78
80
  if (options?.signal?.aborted) {
79
- const fullOutput = outputChunks.join("");
81
+ const fullOutput = outputChunks.join('');
80
82
  const truncationResult = truncateTail(fullOutput);
81
83
  if (truncationResult.truncated) {
82
84
  ensureTempFile();
83
85
  }
84
86
  tempFileStream?.end();
85
87
  return {
86
- output: truncationResult.truncated ? truncationResult.content : fullOutput,
88
+ output: truncationResult.truncated
89
+ ? truncationResult.content
90
+ : fullOutput,
87
91
  exitCode: undefined,
88
92
  cancelled: true,
89
93
  truncated: truncationResult.truncated,
@@ -94,4 +98,4 @@ export async function executeShellWithCapture(env, command, options) {
94
98
  throw err;
95
99
  }
96
100
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtb3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hZ2VudC1jb3JlL2hhcm5lc3MvdXRpbHMvc2hlbGwtb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLFNBQVMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWNoRSxNQUFNLFVBQVUsb0JBQW9CLENBQUMsR0FBVztJQUMvQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3BCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLEtBQUssU0FBUztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3JDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDakUsSUFBSSxJQUFJLElBQUksSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9CLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksTUFBTTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQzVD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
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtb3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hZ2VudC1jb3JlL2hhcm5lc3MvdXRpbHMvc2hlbGwtb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLFNBQVMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJakMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWlCaEUsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEdBQVc7SUFDOUMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUNuQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLEtBQUssU0FBUztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3JDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDakUsSUFBSSxJQUFJLElBQUksSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9CLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksTUFBTTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQzND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
@@ -16,7 +16,7 @@ export interface TruncationResult {
16
16
  /** Whether truncation occurred */
17
17
  truncated: boolean;
18
18
  /** Which limit was hit: "lines", "bytes", or null if not truncated */
19
- truncatedBy: "lines" | "bytes" | null;
19
+ truncatedBy: 'lines' | 'bytes' | null;
20
20
  /** Total number of lines in the original content */
21
21
  totalLines: number;
22
22
  /** Total number of bytes in the original content */
@@ -34,8 +34,8 @@ export function formatSize(bytes) {
34
34
  export function truncateHead(content, options = {}) {
35
35
  const maxLines = options.maxLines ?? DEFAULT_MAX_LINES;
36
36
  const maxBytes = options.maxBytes ?? DEFAULT_MAX_BYTES;
37
- const totalBytes = Buffer.byteLength(content, "utf-8");
38
- const lines = content.split("\n");
37
+ const totalBytes = Buffer.byteLength(content, 'utf-8');
38
+ const lines = content.split('\n');
39
39
  const totalLines = lines.length;
40
40
  // Check if no truncation needed
41
41
  if (totalLines <= maxLines && totalBytes <= maxBytes) {
@@ -54,12 +54,12 @@ export function truncateHead(content, options = {}) {
54
54
  };
55
55
  }
56
56
  // Check if first line alone exceeds byte limit
57
- const firstLineBytes = Buffer.byteLength(lines[0], "utf-8");
57
+ const firstLineBytes = Buffer.byteLength(lines[0], 'utf-8');
58
58
  if (firstLineBytes > maxBytes) {
59
59
  return {
60
- content: "",
60
+ content: '',
61
61
  truncated: true,
62
- truncatedBy: "bytes",
62
+ truncatedBy: 'bytes',
63
63
  totalLines,
64
64
  totalBytes,
65
65
  outputLines: 0,
@@ -73,12 +73,12 @@ export function truncateHead(content, options = {}) {
73
73
  // Collect complete lines that fit
74
74
  const outputLinesArr = [];
75
75
  let outputBytesCount = 0;
76
- let truncatedBy = "lines";
76
+ let truncatedBy = 'lines';
77
77
  for (let i = 0; i < lines.length && i < maxLines; i++) {
78
78
  const line = lines[i];
79
- const lineBytes = Buffer.byteLength(line, "utf-8") + (i > 0 ? 1 : 0); // +1 for newline
79
+ const lineBytes = Buffer.byteLength(line, 'utf-8') + (i > 0 ? 1 : 0); // +1 for newline
80
80
  if (outputBytesCount + lineBytes > maxBytes) {
81
- truncatedBy = "bytes";
81
+ truncatedBy = 'bytes';
82
82
  break;
83
83
  }
84
84
  outputLinesArr.push(line);
@@ -86,10 +86,10 @@ export function truncateHead(content, options = {}) {
86
86
  }
87
87
  // If we exited due to line limit
88
88
  if (outputLinesArr.length >= maxLines && outputBytesCount <= maxBytes) {
89
- truncatedBy = "lines";
89
+ truncatedBy = 'lines';
90
90
  }
91
- const outputContent = outputLinesArr.join("\n");
92
- const finalOutputBytes = Buffer.byteLength(outputContent, "utf-8");
91
+ const outputContent = outputLinesArr.join('\n');
92
+ const finalOutputBytes = Buffer.byteLength(outputContent, 'utf-8');
93
93
  return {
94
94
  content: outputContent,
95
95
  truncated: true,
@@ -113,8 +113,8 @@ export function truncateHead(content, options = {}) {
113
113
  export function truncateTail(content, options = {}) {
114
114
  const maxLines = options.maxLines ?? DEFAULT_MAX_LINES;
115
115
  const maxBytes = options.maxBytes ?? DEFAULT_MAX_BYTES;
116
- const totalBytes = Buffer.byteLength(content, "utf-8");
117
- const lines = content.split("\n");
116
+ const totalBytes = Buffer.byteLength(content, 'utf-8');
117
+ const lines = content.split('\n');
118
118
  const totalLines = lines.length;
119
119
  // Check if no truncation needed
120
120
  if (totalLines <= maxLines && totalBytes <= maxBytes) {
@@ -135,19 +135,19 @@ export function truncateTail(content, options = {}) {
135
135
  // Work backwards from the end
136
136
  const outputLinesArr = [];
137
137
  let outputBytesCount = 0;
138
- let truncatedBy = "lines";
138
+ let truncatedBy = 'lines';
139
139
  let lastLinePartial = false;
140
140
  for (let i = lines.length - 1; i >= 0 && outputLinesArr.length < maxLines; i--) {
141
141
  const line = lines[i];
142
- const lineBytes = Buffer.byteLength(line, "utf-8") + (outputLinesArr.length > 0 ? 1 : 0); // +1 for newline
142
+ const lineBytes = Buffer.byteLength(line, 'utf-8') + (outputLinesArr.length > 0 ? 1 : 0); // +1 for newline
143
143
  if (outputBytesCount + lineBytes > maxBytes) {
144
- truncatedBy = "bytes";
144
+ truncatedBy = 'bytes';
145
145
  // Edge case: if we haven't added ANY lines yet and this line exceeds maxBytes,
146
146
  // take the end of the line (partial)
147
147
  if (outputLinesArr.length === 0) {
148
148
  const truncatedLine = truncateStringToBytesFromEnd(line, maxBytes);
149
149
  outputLinesArr.unshift(truncatedLine);
150
- outputBytesCount = Buffer.byteLength(truncatedLine, "utf-8");
150
+ outputBytesCount = Buffer.byteLength(truncatedLine, 'utf-8');
151
151
  lastLinePartial = true;
152
152
  }
153
153
  break;
@@ -157,10 +157,10 @@ export function truncateTail(content, options = {}) {
157
157
  }
158
158
  // If we exited due to line limit
159
159
  if (outputLinesArr.length >= maxLines && outputBytesCount <= maxBytes) {
160
- truncatedBy = "lines";
160
+ truncatedBy = 'lines';
161
161
  }
162
- const outputContent = outputLinesArr.join("\n");
163
- const finalOutputBytes = Buffer.byteLength(outputContent, "utf-8");
162
+ const outputContent = outputLinesArr.join('\n');
163
+ const finalOutputBytes = Buffer.byteLength(outputContent, 'utf-8');
164
164
  return {
165
165
  content: outputContent,
166
166
  truncated: true,
@@ -180,7 +180,7 @@ export function truncateTail(content, options = {}) {
180
180
  * Handles multi-byte UTF-8 characters correctly.
181
181
  */
182
182
  function truncateStringToBytesFromEnd(str, maxBytes) {
183
- const buf = Buffer.from(str, "utf-8");
183
+ const buf = Buffer.from(str, 'utf-8');
184
184
  if (buf.length <= maxBytes) {
185
185
  return str;
186
186
  }
@@ -190,7 +190,7 @@ function truncateStringToBytesFromEnd(str, maxBytes) {
190
190
  while (start < buf.length && (buf[start] & 0xc0) === 0x80) {
191
191
  start++;
192
192
  }
193
- return buf.slice(start).toString("utf-8");
193
+ return buf.slice(start).toString('utf-8');
194
194
  }
195
195
  /**
196
196
  * Truncate a single line to max characters, adding [truncated] suffix.
@@ -200,6 +200,9 @@ export function truncateLine(line, maxChars = GREP_MAX_LINE_LENGTH) {
200
200
  if (line.length <= maxChars) {
201
201
  return { text: line, wasTruncated: false };
202
202
  }
203
- return { text: `${line.slice(0, maxChars)}... [truncated]`, wasTruncated: true };
203
+ return {
204
+ text: `${line.slice(0, maxChars)}... [truncated]`,
205
+ wasTruncated: true,
206
+ };
204
207
  }
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2FnZW50LWNvcmUvaGFybmVzcy91dGlscy90cnVuY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUN0QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTztBQUNuRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUMsQ0FBQyxnQ0FBZ0M7QUFrQ3pFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhO0lBQ3ZDLElBQUksS0FBSyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ2xCLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQztJQUNwQixDQUFDO1NBQU0sSUFBSSxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6QyxDQUFDO1NBQU0sQ0FBQztRQUNQLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xELENBQUM7QUFDRixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFlLEVBQUUsVUFBNkIsRUFBRTtJQUM1RSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLGlCQUFpQixDQUFDO0lBQ3ZELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksaUJBQWlCLENBQUM7SUFFdkQsTUFBTSxVQUFVLEdBQUcsTUFBTSxD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
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2FnZW50LWNvcmUvaGFybmVzcy91dGlscy90cnVuY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUN0QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTztBQUNuRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUMsQ0FBQyxnQ0FBZ0M7QUFrQ3pFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhO0lBQ3RDLElBQUksS0FBSyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQztJQUNyQixDQUFDO1NBQU0sSUFBSSxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQy9CLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25ELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsT0FBZSxFQUNmLFVBQTZCLEVBQUU7SUFFL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxpQkFBaUIsQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLGlCQUFpQixDQUFDO0lBRXZELE1BQU0sVUFBVSxHQUFHLE1BQU0s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
@@ -1,19 +1,19 @@
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
+ 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 +1,25 @@
1
1
  // Core Agent
2
- export * from "./agent.js";
2
+ export * from './agent.js';
3
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";
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
17
  // Harness
18
- export * from "./harness/types.js";
19
- export * from "./harness/utils/shell-output.js";
20
- export * from "./harness/utils/truncate.js";
18
+ export * from './harness/types.js';
19
+ export * from './harness/utils/shell-output.js';
20
+ export * from './harness/utils/truncate.js';
21
21
  // Proxy utilities
22
- export * from "./proxy.js";
22
+ export * from './proxy.js';
23
23
  // Types
24
- export * from "./types.js";
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2FnZW50LWNvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsYUFBYTtBQUNiLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGlCQUFpQjtBQUNqQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsT0FBTyxFQUNOLDhCQUE4QixFQUM5QixxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3BCLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUNOLHNCQUFzQixFQUN0QixPQUFPLEVBQ1AsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsYUFBYSxHQUNiLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsVUFBVTtBQUNWLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGtCQUFrQjtBQUNsQixjQUFjLFlBQVksQ0FBQztBQUMzQixRQUFRO0FBQ1IsY0FBYyxZQUFZLENBQUMifQ==
24
+ export * from './types.js';
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2FnZW50LWNvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsYUFBYTtBQUNiLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGlCQUFpQjtBQUNqQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsT0FBTyxFQUNMLDhCQUE4QixFQUM5QixxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixPQUFPLEVBQ1AsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsYUFBYSxHQUNkLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsVUFBVTtBQUNWLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGtCQUFrQjtBQUNsQixjQUFjLFlBQVksQ0FBQztBQUMzQixRQUFRO0FBQ1IsY0FBYyxZQUFZLENBQUMifQ==
@@ -2,7 +2,7 @@
2
2
  * Proxy stream function for apps that route LLM calls through a server.
3
3
  * The server manages auth and proxies requests to LLM providers.
4
4
  */
5
- import { type AssistantMessage, type AssistantMessageEvent, type Context, EventStream, type Model, type SimpleStreamOptions, type StopReason } from "@earendil-works/pi-ai";
5
+ import { type AssistantMessage, type AssistantMessageEvent, type Context, EventStream, type Model, type SimpleStreamOptions, type StopReason } from '@earendil-works/pi-ai';
6
6
  declare class ProxyMessageEventStream extends EventStream<AssistantMessageEvent, AssistantMessage> {
7
7
  constructor();
8
8
  }
@@ -10,52 +10,52 @@ declare class ProxyMessageEventStream extends EventStream<AssistantMessageEvent,
10
10
  * Proxy event types - server sends these with partial field stripped to reduce bandwidth.
11
11
  */
12
12
  export type ProxyAssistantMessageEvent = {
13
- type: "start";
13
+ type: 'start';
14
14
  } | {
15
- type: "text_start";
15
+ type: 'text_start';
16
16
  contentIndex: number;
17
17
  } | {
18
- type: "text_delta";
18
+ type: 'text_delta';
19
19
  contentIndex: number;
20
20
  delta: string;
21
21
  } | {
22
- type: "text_end";
22
+ type: 'text_end';
23
23
  contentIndex: number;
24
24
  contentSignature?: string;
25
25
  } | {
26
- type: "thinking_start";
26
+ type: 'thinking_start';
27
27
  contentIndex: number;
28
28
  } | {
29
- type: "thinking_delta";
29
+ type: 'thinking_delta';
30
30
  contentIndex: number;
31
31
  delta: string;
32
32
  } | {
33
- type: "thinking_end";
33
+ type: 'thinking_end';
34
34
  contentIndex: number;
35
35
  contentSignature?: string;
36
36
  } | {
37
- type: "toolcall_start";
37
+ type: 'toolcall_start';
38
38
  contentIndex: number;
39
39
  id: string;
40
40
  toolName: string;
41
41
  } | {
42
- type: "toolcall_delta";
42
+ type: 'toolcall_delta';
43
43
  contentIndex: number;
44
44
  delta: string;
45
45
  } | {
46
- type: "toolcall_end";
46
+ type: 'toolcall_end';
47
47
  contentIndex: number;
48
48
  } | {
49
- type: "done";
50
- reason: Extract<StopReason, "stop" | "length" | "toolUse">;
51
- usage: AssistantMessage["usage"];
49
+ type: 'done';
50
+ reason: Extract<StopReason, 'stop' | 'length' | 'toolUse'>;
51
+ usage: AssistantMessage['usage'];
52
52
  } | {
53
- type: "error";
54
- reason: Extract<StopReason, "aborted" | "error">;
53
+ type: 'error';
54
+ reason: Extract<StopReason, 'aborted' | 'error'>;
55
55
  errorMessage?: string;
56
- usage: AssistantMessage["usage"];
56
+ usage: AssistantMessage['usage'];
57
57
  };
58
- type ProxySerializableStreamOptions = Pick<SimpleStreamOptions, "temperature" | "maxTokens" | "reasoning" | "cacheRetention" | "sessionId" | "headers" | "metadata" | "transport" | "thinkingBudgets" | "maxRetryDelayMs">;
58
+ type ProxySerializableStreamOptions = Pick<SimpleStreamOptions, 'temperature' | 'maxTokens' | 'reasoning' | 'cacheRetention' | 'sessionId' | 'headers' | 'metadata' | 'transport' | 'thinkingBudgets' | 'maxRetryDelayMs'>;
59
59
  export interface ProxyStreamOptions extends ProxySerializableStreamOptions {
60
60
  /** Local abort signal for the proxy request */
61
61
  signal?: AbortSignal;