@librechat/agents 4.0.2 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/cjs/agents/AgentContext.cjs +3 -2
  2. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  3. package/dist/cjs/decisions/structuredChat.cjs +2 -8
  4. package/dist/cjs/decisions/structuredChat.cjs.map +1 -1
  5. package/dist/cjs/decisions/structuredOutput.cjs +18 -0
  6. package/dist/cjs/decisions/structuredOutput.cjs.map +1 -0
  7. package/dist/cjs/graphs/Graph.cjs +25 -9
  8. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  9. package/dist/cjs/llm/google/index.cjs +1 -1
  10. package/dist/cjs/llm/invoke.cjs +34 -12
  11. package/dist/cjs/llm/invoke.cjs.map +1 -1
  12. package/dist/cjs/llm/openai/index.cjs +7 -0
  13. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  14. package/dist/cjs/llm/providerTextBoundary.cjs +355 -0
  15. package/dist/cjs/llm/providerTextBoundary.cjs.map +1 -0
  16. package/dist/cjs/llm/providerTextChunk.cjs +14 -0
  17. package/dist/cjs/llm/providerTextChunk.cjs.map +1 -0
  18. package/dist/cjs/llm/providerTextControls.cjs +236 -0
  19. package/dist/cjs/llm/providerTextControls.cjs.map +1 -0
  20. package/dist/cjs/llm/stream/smoother.cjs +2 -1
  21. package/dist/cjs/llm/stream/smoother.cjs.map +1 -1
  22. package/dist/cjs/main.cjs +10 -1
  23. package/dist/cjs/protection/providerText.cjs +224 -0
  24. package/dist/cjs/protection/providerText.cjs.map +1 -0
  25. package/dist/cjs/protection/providerTextInput.cjs +25 -0
  26. package/dist/cjs/protection/providerTextInput.cjs.map +1 -0
  27. package/dist/cjs/run.cjs +7 -1
  28. package/dist/cjs/run.cjs.map +1 -1
  29. package/dist/cjs/stream.cjs +42 -14
  30. package/dist/cjs/stream.cjs.map +1 -1
  31. package/dist/cjs/summarization/node.cjs +26 -8
  32. package/dist/cjs/summarization/node.cjs.map +1 -1
  33. package/dist/cjs/tools/SubagentTool.cjs +11 -3
  34. package/dist/cjs/tools/SubagentTool.cjs.map +1 -1
  35. package/dist/cjs/tools/ToolNode.cjs +6 -5
  36. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  37. package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs +2 -2
  38. package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs.map +1 -1
  39. package/dist/cjs/tools/subagent/SubagentExecutor.cjs +66 -16
  40. package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
  41. package/dist/cjs/tools/subagent/SubagentReplay.cjs +4 -2
  42. package/dist/cjs/tools/subagent/SubagentReplay.cjs.map +1 -1
  43. package/dist/cjs/tools/subagent/childGraphConfig.cjs +3 -1
  44. package/dist/cjs/tools/subagent/childGraphConfig.cjs.map +1 -1
  45. package/dist/cjs/tools/subagent/diagnostics.cjs +48 -5
  46. package/dist/cjs/tools/subagent/diagnostics.cjs.map +1 -1
  47. package/dist/cjs/tools/subagent/hostArgs.cjs +214 -0
  48. package/dist/cjs/tools/subagent/hostArgs.cjs.map +1 -0
  49. package/dist/cjs/tools/subagent/index.cjs +1 -0
  50. package/dist/cjs/tools/toolErrorContent.cjs +1 -1
  51. package/dist/esm/agents/AgentContext.mjs +3 -2
  52. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  53. package/dist/esm/decisions/structuredChat.mjs +2 -8
  54. package/dist/esm/decisions/structuredChat.mjs.map +1 -1
  55. package/dist/esm/decisions/structuredOutput.mjs +18 -0
  56. package/dist/esm/decisions/structuredOutput.mjs.map +1 -0
  57. package/dist/esm/graphs/Graph.mjs +25 -9
  58. package/dist/esm/graphs/Graph.mjs.map +1 -1
  59. package/dist/esm/llm/google/index.mjs +1 -1
  60. package/dist/esm/llm/invoke.mjs +34 -12
  61. package/dist/esm/llm/invoke.mjs.map +1 -1
  62. package/dist/esm/llm/openai/index.mjs +7 -0
  63. package/dist/esm/llm/openai/index.mjs.map +1 -1
  64. package/dist/esm/llm/providerTextBoundary.mjs +355 -0
  65. package/dist/esm/llm/providerTextBoundary.mjs.map +1 -0
  66. package/dist/esm/llm/providerTextChunk.mjs +13 -0
  67. package/dist/esm/llm/providerTextChunk.mjs.map +1 -0
  68. package/dist/esm/llm/providerTextControls.mjs +230 -0
  69. package/dist/esm/llm/providerTextControls.mjs.map +1 -0
  70. package/dist/esm/llm/stream/smoother.mjs +2 -1
  71. package/dist/esm/llm/stream/smoother.mjs.map +1 -1
  72. package/dist/esm/main.mjs +5 -3
  73. package/dist/esm/protection/providerText.mjs +218 -0
  74. package/dist/esm/protection/providerText.mjs.map +1 -0
  75. package/dist/esm/protection/providerTextInput.mjs +24 -0
  76. package/dist/esm/protection/providerTextInput.mjs.map +1 -0
  77. package/dist/esm/run.mjs +7 -1
  78. package/dist/esm/run.mjs.map +1 -1
  79. package/dist/esm/stream.mjs +42 -14
  80. package/dist/esm/stream.mjs.map +1 -1
  81. package/dist/esm/summarization/node.mjs +26 -8
  82. package/dist/esm/summarization/node.mjs.map +1 -1
  83. package/dist/esm/tools/SubagentTool.mjs +11 -3
  84. package/dist/esm/tools/SubagentTool.mjs.map +1 -1
  85. package/dist/esm/tools/ToolNode.mjs +6 -5
  86. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  87. package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs +2 -2
  88. package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs.map +1 -1
  89. package/dist/esm/tools/subagent/SubagentExecutor.mjs +66 -16
  90. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
  91. package/dist/esm/tools/subagent/SubagentReplay.mjs +4 -2
  92. package/dist/esm/tools/subagent/SubagentReplay.mjs.map +1 -1
  93. package/dist/esm/tools/subagent/childGraphConfig.mjs +3 -1
  94. package/dist/esm/tools/subagent/childGraphConfig.mjs.map +1 -1
  95. package/dist/esm/tools/subagent/diagnostics.mjs +46 -6
  96. package/dist/esm/tools/subagent/diagnostics.mjs.map +1 -1
  97. package/dist/esm/tools/subagent/hostArgs.mjs +207 -0
  98. package/dist/esm/tools/subagent/hostArgs.mjs.map +1 -0
  99. package/dist/esm/tools/subagent/index.mjs +1 -0
  100. package/dist/esm/tools/toolErrorContent.mjs +1 -1
  101. package/dist/types/decisions/structuredChat.d.ts +3 -2
  102. package/dist/types/decisions/structuredOutput.d.ts +4 -0
  103. package/dist/types/graphs/Graph.d.ts +6 -3
  104. package/dist/types/index.d.ts +2 -0
  105. package/dist/types/llm/invoke.d.ts +4 -1
  106. package/dist/types/llm/providerTextBoundary.d.ts +4 -0
  107. package/dist/types/llm/providerTextChunk.d.ts +7 -0
  108. package/dist/types/llm/providerTextControls.d.ts +18 -0
  109. package/dist/types/protection/providerText.d.ts +77 -0
  110. package/dist/types/protection/providerTextInput.d.ts +3 -0
  111. package/dist/types/run.d.ts +1 -0
  112. package/dist/types/tools/BashExecutor.d.ts +4 -0
  113. package/dist/types/tools/CodeExecutor.d.ts +4 -0
  114. package/dist/types/tools/ReadFile.d.ts +4 -0
  115. package/dist/types/tools/SkillTool.d.ts +4 -0
  116. package/dist/types/tools/SubagentTool.d.ts +2 -0
  117. package/dist/types/tools/ToolSearch.d.ts +4 -0
  118. package/dist/types/tools/search/schema.d.ts +4 -0
  119. package/dist/types/tools/subagent/SubagentExecutionRegistry.d.ts +2 -0
  120. package/dist/types/tools/subagent/SubagentExecutor.d.ts +10 -2
  121. package/dist/types/tools/subagent/SubagentReplay.d.ts +3 -1
  122. package/dist/types/tools/subagent/diagnostics.d.ts +27 -3
  123. package/dist/types/tools/subagent/hostArgs.d.ts +57 -0
  124. package/dist/types/tools/subagent/index.d.ts +3 -2
  125. package/dist/types/types/graph.d.ts +36 -0
  126. package/dist/types/types/run.d.ts +4 -2
  127. package/dist/types/types/tools.d.ts +2 -0
  128. package/package.json +4 -4
  129. package/src/agents/AgentContext.ts +3 -2
  130. package/src/decisions/structuredChat.ts +9 -15
  131. package/src/decisions/structuredOutput.ts +25 -0
  132. package/src/graphs/Graph.ts +53 -9
  133. package/src/index.ts +7 -0
  134. package/src/llm/invoke.ts +48 -7
  135. package/src/llm/openai/index.ts +8 -0
  136. package/src/llm/providerTextBoundary.ts +446 -0
  137. package/src/llm/providerTextChunk.ts +15 -0
  138. package/src/llm/providerTextControls.ts +173 -0
  139. package/src/llm/stream/smoother.ts +4 -2
  140. package/src/protection/providerText.ts +325 -0
  141. package/src/protection/providerTextInput.ts +21 -0
  142. package/src/run.ts +9 -0
  143. package/src/stream.ts +33 -7
  144. package/src/summarization/node.ts +32 -14
  145. package/src/tools/SubagentTool.ts +14 -3
  146. package/src/tools/ToolNode.ts +7 -3
  147. package/src/tools/subagent/SubagentExecutionRegistry.ts +6 -2
  148. package/src/tools/subagent/SubagentExecutor.ts +145 -18
  149. package/src/tools/subagent/SubagentReplay.ts +10 -3
  150. package/src/tools/subagent/childGraphConfig.ts +12 -1
  151. package/src/tools/subagent/diagnostics.ts +98 -6
  152. package/src/tools/subagent/hostArgs.ts +413 -0
  153. package/src/tools/subagent/index.ts +9 -0
  154. package/src/types/graph.ts +41 -0
  155. package/src/types/run.ts +4 -2
  156. package/src/types/tools.ts +6 -1
@@ -0,0 +1,236 @@
1
+ const require_providerText = require("../protection/providerText.cjs");
2
+ //#region src/llm/providerTextControls.ts
3
+ const GEMINI_SIGNATURES = "__gemini_function_call_thought_signatures__";
4
+ const RESPONSES_POSITIONS = "__openai_responses_replay_positions__";
5
+ function keys(value, allowed) {
6
+ return value != null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).every((key) => allowed.includes(key));
7
+ }
8
+ function stringMap(value) {
9
+ return value != null && typeof value === "object" && !Array.isArray(value) && Object.entries(value).length <= 128 && Object.values(value).every((entry) => typeof entry === "string");
10
+ }
11
+ function safetyRatings(value) {
12
+ return Array.isArray(value) && value.length <= 16 && value.every((entry) => keys(entry, [
13
+ "category",
14
+ "probability",
15
+ "blocked"
16
+ ]) && typeof entry.category === "string" && /^HARM_CATEGORY_[A-Z_]+$/.test(entry.category) && [
17
+ "NEGLIGIBLE",
18
+ "LOW",
19
+ "MEDIUM",
20
+ "HIGH",
21
+ "HARM_PROBABILITY_UNSPECIFIED"
22
+ ].includes(String(entry.probability)) && (entry.blocked == null || typeof entry.blocked === "boolean"));
23
+ }
24
+ function replayPositions(value) {
25
+ return Array.isArray(value) && value.length <= 128 && value.every((entry) => keys(entry, [
26
+ "itemId",
27
+ "kind",
28
+ "outputIndex",
29
+ "contentIndex"
30
+ ]) && typeof entry.itemId === "string" && [
31
+ "message",
32
+ "text",
33
+ "reasoning",
34
+ "output"
35
+ ].includes(String(entry.kind)) && typeof entry.outputIndex === "number" && Number.isSafeInteger(entry.outputIndex) && entry.outputIndex >= 0 && (entry.contentIndex == null || typeof entry.contentIndex === "number" && Number.isSafeInteger(entry.contentIndex) && entry.contentIndex >= 0));
36
+ }
37
+ const scalarKeys = new Set([
38
+ "id",
39
+ "model",
40
+ "model_name",
41
+ "model_provider",
42
+ "created_at",
43
+ "object",
44
+ "status",
45
+ "user",
46
+ "service_tier",
47
+ "max_output_tokens",
48
+ "max_tool_calls",
49
+ "parallel_tool_calls",
50
+ "temperature",
51
+ "top_p",
52
+ "truncation",
53
+ "store",
54
+ "background",
55
+ "previous_response_id",
56
+ "prompt_cache_key",
57
+ "prompt_cache_retention",
58
+ "safety_identifier",
59
+ "completed_at"
60
+ ]);
61
+ function messageOutput(value) {
62
+ if (!keys(value, [
63
+ "id",
64
+ "type",
65
+ "role",
66
+ "status",
67
+ "phase",
68
+ "content"
69
+ ]) || value.type !== "message" || typeof value.id !== "string" || value.role !== "assistant" || !["completed", "incomplete"].includes(String(value.status)) || value.phase != null && !["commentary", "final_answer"].includes(String(value.phase)) || !Array.isArray(value.content) || value.content.length !== 1) return false;
70
+ const part = value.content[0];
71
+ return keys(part, [
72
+ "type",
73
+ "text",
74
+ "annotations",
75
+ "logprobs"
76
+ ]) && part.type === "output_text" && typeof part.text === "string" && Array.isArray(part.annotations) && part.annotations.length === 0 && (part.logprobs === void 0 || Array.isArray(part.logprobs) && part.logprobs.length === 0);
77
+ }
78
+ var ResponsesTextProjection = class {
79
+ attempt;
80
+ metadata;
81
+ hasOutputAlias = false;
82
+ output;
83
+ constructor(attempt) {
84
+ this.attempt = attempt;
85
+ }
86
+ strip(metadata) {
87
+ if (!Object.hasOwn(metadata, "output")) return metadata;
88
+ if (this.metadata != null || metadata.model_provider !== "openai" || metadata.object !== "response" || !Array.isArray(metadata.output) || metadata.output.length > 32) throw new require_providerText.ProviderTextProtectionError("unsupported");
89
+ let messageCount = 0;
90
+ const output = metadata.output.map((item) => {
91
+ if (messageOutput(item)) {
92
+ if (++messageCount > 1 || !this.attempt.matchesText(item.content[0].text)) throw new require_providerText.ProviderTextProtectionError("unsupported");
93
+ return {
94
+ ...item,
95
+ content: [{
96
+ ...item.content[0],
97
+ text: ""
98
+ }]
99
+ };
100
+ }
101
+ if (!responseOutputControl(item)) throw new require_providerText.ProviderTextProtectionError("unsupported");
102
+ return item;
103
+ });
104
+ if (messageCount === 0 && !this.attempt.matchesText("") || metadata.output_text != null && (typeof metadata.output_text !== "string" || !this.attempt.matchesText(metadata.output_text))) throw new require_providerText.ProviderTextProtectionError("unsupported");
105
+ for (const [key, value] of Object.entries(metadata)) {
106
+ let valid;
107
+ if (key === "output" || key === "output_text") continue;
108
+ if (key === "top_logprobs") valid = value == null || value === 0;
109
+ else if (key === "usage") valid = numericTree(value);
110
+ else if (key === "text") valid = keys(value, ["format", "verbosity"]) && keys(value.format, ["type"]) && value.format.type === "text" && (value.verbosity == null || [
111
+ "low",
112
+ "medium",
113
+ "high"
114
+ ].includes(String(value.verbosity)));
115
+ else if (key === "tools") valid = Array.isArray(value) && value.length <= 32 && value.every(responseTool);
116
+ else if (key === "tool_choice") valid = value === "auto" || value === "none" || value === "required" || keys(value, ["type", "name"]) && value.type === "function" && typeof value.name === "string";
117
+ else if (key === "reasoning") valid = value == null || keys(value, ["effort", "summary"]) && (value.effort == null || [
118
+ "none",
119
+ "minimal",
120
+ "low",
121
+ "medium",
122
+ "high",
123
+ "xhigh"
124
+ ].includes(String(value.effort))) && (value.summary == null || [
125
+ "auto",
126
+ "concise",
127
+ "detailed"
128
+ ].includes(String(value.summary)));
129
+ else if (key === "metadata") valid = keys(value, []) || value == null;
130
+ else if (key === "instructions" || key === "error") valid = value == null;
131
+ else if (key === "incomplete_details") valid = value == null || keys(value, ["reason"]) && ["max_output_tokens", "content_filter"].includes(String(value.reason));
132
+ else valid = scalarKeys.has(key) && (value == null || typeof value === "string" || typeof value === "boolean" || typeof value === "number" && Number.isFinite(value));
133
+ if (!valid) throw new require_providerText.ProviderTextProtectionError("unsupported");
134
+ }
135
+ retainTree(metadata, this.attempt);
136
+ this.output = output;
137
+ this.hasOutputAlias = Object.hasOwn(metadata, "output_text");
138
+ const { output: _output, output_text: _alias, ...controls } = metadata;
139
+ this.metadata = controls;
140
+ return controls;
141
+ }
142
+ canonical(content) {
143
+ if (this.metadata == null || this.output == null) return void 0;
144
+ return {
145
+ output: this.output.map((item) => messageOutput(item) ? {
146
+ ...item,
147
+ content: [{
148
+ ...item.content[0],
149
+ text: content
150
+ }]
151
+ } : item),
152
+ ...this.hasOutputAlias ? { output_text: content } : {}
153
+ };
154
+ }
155
+ };
156
+ function numericTree(value, depth = 4) {
157
+ if (value == null) return true;
158
+ if (typeof value === "number") return Number.isFinite(value);
159
+ if (typeof value !== "object" || Array.isArray(value) || depth === 0) return false;
160
+ const entries = Object.values(value);
161
+ return entries.length <= 64 && entries.every((entry) => numericTree(entry, depth - 1));
162
+ }
163
+ function responseOutputControl(value) {
164
+ if (!keys(value, [
165
+ "id",
166
+ "type",
167
+ "status",
168
+ "call_id",
169
+ "name",
170
+ "arguments",
171
+ "summary",
172
+ "encrypted_content"
173
+ ])) return false;
174
+ if (typeof value.id !== "string" || value.status != null && ![
175
+ "completed",
176
+ "incomplete",
177
+ "in_progress"
178
+ ].includes(String(value.status))) return false;
179
+ if (value.type === "function_call") return keys(value, [
180
+ "id",
181
+ "type",
182
+ "status",
183
+ "call_id",
184
+ "name",
185
+ "arguments"
186
+ ]) && typeof value.call_id === "string" && typeof value.name === "string" && typeof value.arguments === "string";
187
+ if (value.type !== "reasoning" || !keys(value, [
188
+ "id",
189
+ "type",
190
+ "status",
191
+ "summary",
192
+ "encrypted_content"
193
+ ])) return false;
194
+ return (value.encrypted_content == null || typeof value.encrypted_content === "string") && Array.isArray(value.summary) && value.summary.length <= 32 && value.summary.every((entry) => keys(entry, ["type", "text"]) && entry.type === "summary_text" && typeof entry.text === "string");
195
+ }
196
+ function responseTool(value) {
197
+ return keys(value, [
198
+ "type",
199
+ "name",
200
+ "description",
201
+ "strict",
202
+ "parameters"
203
+ ]) && value.type === "function" && typeof value.name === "string" && (value.description == null || typeof value.description === "string") && (value.strict == null || typeof value.strict === "boolean") && jsonControl(value.parameters);
204
+ }
205
+ function jsonControl(value, depth = 6) {
206
+ if (value == null || typeof value === "string" || typeof value === "boolean") return true;
207
+ if (typeof value === "number") return Number.isFinite(value);
208
+ if (typeof value !== "object" || depth === 0) return false;
209
+ const entries = Object.values(value);
210
+ return entries.length <= 64 && entries.every((entry) => jsonControl(entry, depth - 1));
211
+ }
212
+ function retainTree(value, attempt, depth = 8) {
213
+ if (typeof value === "string") {
214
+ attempt.retain(value.length * 2 + 32);
215
+ return;
216
+ }
217
+ attempt.retain(64);
218
+ if (value == null || typeof value !== "object") return;
219
+ if (depth === 0) throw new require_providerText.ProviderTextProtectionError("unsupported");
220
+ const entries = Object.entries(value);
221
+ if (entries.length > 128) throw new require_providerText.ProviderTextProtectionError("unsupported");
222
+ for (const [key, entry] of entries) {
223
+ attempt.retain(key.length * 2 + 32);
224
+ retainTree(entry, attempt, depth - 1);
225
+ }
226
+ }
227
+ //#endregion
228
+ exports.GEMINI_SIGNATURES = GEMINI_SIGNATURES;
229
+ exports.RESPONSES_POSITIONS = RESPONSES_POSITIONS;
230
+ exports.ResponsesTextProjection = ResponsesTextProjection;
231
+ exports.keys = keys;
232
+ exports.replayPositions = replayPositions;
233
+ exports.safetyRatings = safetyRatings;
234
+ exports.stringMap = stringMap;
235
+
236
+ //# sourceMappingURL=providerTextControls.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerTextControls.cjs","names":["ProviderTextProtectionError"],"sources":["../../../src/llm/providerTextControls.ts"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ const require_providerText = require("../../protection/providerText.cjs");
1
2
  //#region src/llm/stream/smoother.ts
2
3
  const DEFAULT_STREAM_DELAY = 25;
3
4
  const MAX_SMOOTH_ITEM_SEGMENT_CHARS = 4096;
@@ -52,7 +53,7 @@ async function waitForStreamDelay(delay, signal) {
52
53
  });
53
54
  }
54
55
  async function* smoothStream({ source, delayMs, signal, abortUpstream }) {
55
- if (!(delayMs > 0)) {
56
+ if (!(delayMs > 0) || require_providerText.isProtectedProviderTextSignal(signal)) {
56
57
  for await (const item of source) {
57
58
  if (isSignalAborted(signal)) {
58
59
  abortUpstream?.();
@@ -1 +1 @@
1
- {"version":3,"file":"smoother.cjs","names":["iterator"],"sources":["../../../../src/llm/stream/smoother.ts"],"mappings":"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"}
1
+ {"version":3,"file":"smoother.cjs","names":["isProtectedProviderTextSignal","iterator"],"sources":["../../../../src/llm/stream/smoother.ts"],"mappings":";;AAEA,MAAa,uBAAuB;AAIpC,MAAa,gCAAgC;AAE7C,MAAa,oBAAyC,IAAI,IAAI;CAC5D;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAa,uBAAuB;AAUpC,MAAa,0BAA0B;AAQvC,SAAgB,mBAAmB,OAAwB;CACzD,IAAI,SAAS,QAAQ,CAAC,OAAO,SAAS,KAAK,GACzC,OAAA;CAEF,OAAO,KAAK,IAAI,GAAG,KAAK;AAC1B;AAEA,SAAgB,gBAAgB,QAA+B;CAC7D,OAAO,QAAQ,YAAY;AAC7B;AAWA,SAAgB,wBACd,MACA,SACQ;CACR,IAAI,WAAW,KAAK,QAClB,OAAO,KAAK;CAGd,MAAM,UAAU,KAAK,IACnB,KAAK,QACL,UAAA,EACF;CACA,KAAK,IAAI,WAAW,SAAS,WAAW,SAAS,YAC/C,IAAI,kBAAkB,IAAI,KAAK,SAAS,GACtC,OAAO,WAAW;CAItB,OAAO;AACT;AAQA,SAAgB,yBACd,oBACA,QACA,kBAAA,KACQ;CACR,IAAI,sBAAsB,GACxB,OAAA;CAEF,IAAI,UAAU,KAAK,mBAAmB,GACpC,OAAO;CAET,OAAO,KAAK,IAAA,GAEV,KAAK,KAAM,qBAAqB,SAAU,eAAe,CAC3D;AACF;AAOA,SAAgB,uBAAuB,EACrC,aACA,mBACA,OAKS;CACT,IAAI,eAAe,KAAK,qBAAqB,MAC3C,OAAO;CAET,OAAO,KAAK,IAAI,GAAG,eAAe,MAAM,kBAAkB;AAC5D;AAGA,eAAsB,mBACpB,OACA,QACe;CACf,IAAI,SAAS,KAAK,gBAAgB,MAAM,GACtC;CAEF,MAAM,IAAI,SAAe,YAAY;EACnC,MAAM,aAA0D,CAAC;EACjE,MAAM,gBAAsB;GAC1B,IAAI,WAAW,SACb,aAAa,WAAW,OAAO;GAEjC,QAAQ,oBAAoB,SAAS,OAAO;GAC5C,QAAQ;EACV;EACA,WAAW,UAAU,iBAAiB;GACpC,QAAQ,oBAAoB,SAAS,OAAO;GAC5C,QAAQ;EACV,GAAG,KAAK;EACR,QAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;EACzD,IAAI,gBAAgB,MAAM,GACxB,QAAQ;CAEZ,CAAC;AACH;AAmDA,gBAAuB,aAAoB,EACzC,QACA,SACA,QACA,iBAMwB;CACxB,IAAI,EAAE,UAAU,MAAMA,qBAAAA,8BAA8B,MAAM,GAAG;EAI3D,WAAW,MAAM,QAAQ,QAAQ;GAC/B,IAAI,gBAAgB,MAAM,GAAG;IAC3B,gBAAgB;IAChB,MAAM,IAAI,MAAM,oBAAoB;GACtC;GACA,MAAM,KAAK,KAAK;IAAE,MAAM,KAAK;IAAM,SAAS;IAAM,QAAQ;GAAK,CAAC;EAClE;EACA;CACF;CAEA,MAAM,cAAyC,CAAC;CAChD,MAAM,gBAA+B;EAAE,MAAM;EAAO,QAAQ;CAAM;CAClE,IAAI,kBAAkB;CACtB,IAAI,qBAAqB;CACzB,IAAI,iBAAiB;CACrB,IAAI;CACJ,IAAI;CAEJ,MAAM,8BAAoC;EACxC,iBAAiB;EACjB,iBAAiB,KAAA;CACnB;CAEA,MAAM,+BAAqC;EACzC,iBAAiB;EACjB,iBAAiB,KAAA;CACnB;CAEA,MAAM,uBAAgC,kBAAkB,YAAY;CAEpE,MAAM,2BACJ,YAAY,SAAS;CAEvB,MAAM,0BACJ,mBAAmB,KAAA,OACnB,sBAAA;CAKF,MAAM,kBAAkB,YAA2B;EACjD,IACE,eAAe,KACf,cAAc,QACd,cAAc,UACd,gBAAgB,MAAM,GAEtB;EAEF,MAAM,IAAI,SAAe,YAAY;GACnC,MAAM,gBAAsB;IAC1B,QAAQ,oBAAoB,SAAS,OAAO;IAC5C,QAAQ;GACV;GACA,uBAA6B;IAC3B,QAAQ,oBAAoB,SAAS,OAAO;IAC5C,QAAQ;GACV;GACA,QAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;GACzD,IAAI,gBAAgB,MAAM,GACxB,QAAQ;EAEZ,CAAC;CACH;CAEA,MAAM,oBAAoB,YAA2B;EACnD,OACE,kBAAkB,KAClB,CAAC,kBACD,CAAC,gBAAgB,MAAM,GAEvB,MAAM,IAAI,SAAe,YAAY;GACnC,MAAM,gBAAsB;IAC1B,QAAQ,oBAAoB,SAAS,OAAO;IAC5C,QAAQ;GACV;GACA,MAAM,gBAAsB;IAC1B,QAAQ,oBAAoB,SAAS,OAAO;IAC5C,QAAQ;GACV;GACA,iBAAiB;GACjB,QAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;GACzD,IAAI,gBAAgB,MAAM,GACxB,QAAQ;EAEZ,CAAC;CAEL;CAEA,MAAM,gBAAqD;EACzD,IAAI,CAAC,eAAe,GAClB;EAEF,MAAM,aAAa,YAAY;EAC/B;EACA,IAAI,kBAAkB,OAAO,kBAAkB,KAAK,YAAY,QAAQ;GACtE,YAAY,OAAO,GAAG,eAAe;GACrC,kBAAkB;EACpB;EACA,OAAO;CACT;CAEA,MAAM,qBAA4B;EAChC,gBAAgB;EAChB,MAAM,IAAI,MAAM,oBAAoB;CACtC;CAEA,MAAM,UAAU,OAAO,SAA2C;EAChE,MAAM,kBAAkB;EACxB,IAAI,kBAAkB,gBAAgB,MAAM,GAC1C,aAAa;EAEf,MAAM,aAAa,KAAK,SAAS,KAAK,KAAK,SAAS;EACpD,YAAY,KAAK;GAAE;GAAM;EAAW,CAAC;EACrC,sBAAsB;EACtB,sBAAsB;CACxB;CAUA,MAAM,mBAAmB,OAAO,SAA2C;EACzE,IACE,CAAC,KAAK,UACN,KAAK,WAAW,QAChB,KAAK,KAAK,UAAA,MACV;GACA,MAAM,QAAQ,IAAI;GAClB;EACF;EAEA,MAAM,WAA6C,CAAC;EACpD,IAAI,SAAS;EACb,OAAO,SAAS,KAAK,KAAK,QAAQ;GAChC,MAAM,MACJ,SACA,wBACE,KAAK,KAAK,MAAM,MAAM,GACtB,6BACF;GACF,SAAS,KAAK;IAAE,OAAO;IAAQ;GAAI,CAAC;GACpC,SAAS;EACX;EAEA,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;GACxC,MAAM,iBAAiB,MAAM;GAC7B,MAAM,gBAAgB,MAAM,SAAS,SAAS;GAC9C,MAAM,QAAQ;IACZ,MAAM,KAAK,KAAK,MAAM,SAAS,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,GAAG;IACxD,QAAQ;IACR,OAAO,UACL,KAAK,KAAK;KACR,MAAM,MAAM;KACZ,SAAS,kBAAkB,MAAM;KACjC,QAAQ,iBAAiB,MAAM;IACjC,CAAC;GACL,CAAC;EACH;CACF;CAEA,MAAM,YAAY,YAA2B;EAC3C,IAAI;GACF,WAAW,MAAM,QAAQ,QAAQ;IAC/B,IAAI,gBAAgB,MAAM,GACxB,aAAa;IAEf,MAAM,iBAAiB,IAAI;GAC7B;EACF,SAAS,OAAO;GACd,cAAc,SAAS;GACvB,cAAc,QAAQ;EACxB,UAAU;GACR,cAAc,OAAO;GACrB,sBAAsB;EACxB;CACF,EAAA,CAAG;CAEH,IAAI,iBAAiB;CACrB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI,aAAa;CACjB,IAAI,gBAAgB;CACpB,IAAI;EACF,OAAO,eAAe;GACpB,IAAI,gBAAgB,MAAM,GACxB,aAAa;GAGf,IAAI,WAAW,MAAM;IACnB,MAAM,gBAAgB;IACtB,UAAU,QAAQ;IAClB,aAAa;GACf;GAEA,IAAI,WAAW,MAAM;IACnB,IAAI,cAAc,QAChB,MAAM,cAAc,yBAAS,IAAI,MAAA,yBAA6B;IAEhE,IAAI,cAAc,MAChB,gBAAgB;IAElB;GACF;GAEA,MAAM,EAAE,SAAS;GAEjB,IAAI,CAAC,KAAK,QAAQ;IAChB,uBAAuB;IACvB,UAAU,KAAA;IACV,MAAM,KAAK,KAAK;KAAE,MAAM,KAAK;KAAM,SAAS;KAAM,QAAQ;IAAK,CAAC;IAChE;GACF;GAEA,IAAI,KAAK,SAAS,IAAI;IACpB,qBAAqB,KAAK,IACxB,GACA,qBAAqB,QAAQ,UAC/B;IACA,uBAAuB;IACvB,UAAU,KAAA;IACV;GACF;GAKA,IAAI,cAAc,QAAQ,uBAAuB,MAC/C,sBAAsB,KAAK,IACzB,GACA,KAAK,MAAA,MAAiC,OAAO,CAC/C;GAEF,MAAM,aACJ,uBAAuB,OACnB,KAAK,IAAA,GAEL,KAAK,KAAK,qBAAqB,mBAAmB,CACpD,IACE,yBAAyB,oBAAoB,OAAO;GAC1D,IAAI,uBAAuB,QAAQ,sBAAsB,GACvD,uBAAuB;GAGzB,MAAM,mBACJ,uBAAuB;IACrB,aAAa,iBAAiB,UAAU;IACxC;IACA,KAAK,KAAK,IAAI;GAChB,CAAC,GACD,MACF;GACA,IAAI,gBAAgB,MAAM,GACxB,aAAa;GAEf,iBAAiB;GACjB,oBAAoB,KAAK,IAAI;GAE7B,IAAI,KAAK,WAAW,MAAM;IACxB,qBAAqB,KAAK,IACxB,GACA,qBAAqB,QAAQ,UAC/B;IACA,uBAAuB;IACvB,UAAU,KAAA;IACV,MAAM,KAAK,KAAK;KAAE,MAAM,KAAK;KAAM,SAAS;KAAM,QAAQ;IAAK,CAAC;IAChE;GACF;GAMA,IAAI,WAAW;GACf,OAAO,WAAW,YAAY;IAC5B,IAAI,gBAAgB,MAAM,GACxB,aAAa;IAEf,IAAI,WAAW,MAAM;KACnB,IAAI,CAAC,eAAe,GAClB;KAEF,UAAU,QAAQ;KAClB,aAAa;KACb,IAAI,WAAW,MACb;IAEJ;IAEA,MAAM,YAAY,QAAQ;IAC1B,IAAI,CAAC,UAAU,QAAQ;KACrB,uBAAuB;KACvB,UAAU,KAAA;KACV,MAAM,UAAU,KAAK;MACnB,MAAM,UAAU;MAChB,SAAS;MACT,QAAQ;KACV,CAAC;KACD;IACF;IACA,IAAI,UAAU,SAAS,IAAI;KACzB,qBAAqB,KAAK,IACxB,GACA,qBAAqB,QAAQ,UAC/B;KACA,uBAAuB;KACvB,UAAU,KAAA;KACV;IACF;IACA,IAAI,UAAU,WAAW,MACvB;IAIF,MAAM,cAAc,wBADE,UAAU,KAAK,MAAM,UAE7B,GACZ,aAAa,QACf;IACA,MAAM,WAAW,aAAa;IAC9B,MAAM,QAAQ,UAAU,KAAK,MAAM,YAAY,QAAQ;IACvD,MAAM,UAAU,eAAe;IAC/B,MAAM,SAAS,aAAa,UAAU,KAAK;IAE3C,qBAAqB,KAAK,IAAI,GAAG,qBAAqB,MAAM,MAAM;IAClE,uBAAuB;IACvB,IAAI,QACF,UAAU,KAAA;SAEV,aAAa;IAEf,YAAY,MAAM;IAClB,MAAM,UAAU,KAAK;KAAE,MAAM;KAAO;KAAS;IAAO,CAAC;GACvD;EACF;CACF,UAAU;EACR,iBAAiB;EACjB,IAAI,cAAc,MAChB,MAAM;OACD;GACL,gBAAgB;GAChB,uBAAuB;GAEvB,MAAM,UAAUC,OAAS,QAAQ,KAAK,QAAQ,KAAA,CAAkB;GAChE,IAAI,WAAW,MACb,QAAa,WACL,KAAA,SACA,KAAA,CACR;GAEF,MAAM,QAAQ,KAAK,CACjB,UACA,IAAI,SAAe,YAAY;IAE7B,WAD2B,SAAS,uBAC9B,CAAC,CAAC,MAAM;GAChB,CAAC,CACH,CAAC;EACH;CACF;AACF"}
package/dist/cjs/main.cjs CHANGED
@@ -15,6 +15,8 @@ const require_core = require("./messages/core.cjs");
15
15
  const require_preempt = require("./llm/preempt.cjs");
16
16
  const require_fading = require("./messages/fading.cjs");
17
17
  const require_types = require("./hooks/types.cjs");
18
+ const require_streamLimits = require("./llm/streamLimits.cjs");
19
+ const require_providerText = require("./protection/providerText.cjs");
18
20
  const require_tokenCounterCacheCompatibility = require("./llm/tokenCounterCacheCompatibility.cjs");
19
21
  const require_tokens = require("./utils/tokens.cjs");
20
22
  const require_llm = require("./utils/llm.cjs");
@@ -45,7 +47,6 @@ const require_projectionInvariant = require("./messages/projectionInvariant.cjs"
45
47
  require("./messages/index.cjs");
46
48
  const require_graph = require("./utils/graph.cjs");
47
49
  const require_proxy = require("./utils/proxy.cjs");
48
- const require_streamLimits = require("./llm/streamLimits.cjs");
49
50
  const require_handlers = require("./tools/handlers.cjs");
50
51
  const require_intentArg = require("./tools/intentArg.cjs");
51
52
  const require_stream = require("./stream.cjs");
@@ -55,6 +56,7 @@ const require_run = require("./utils/run.cjs");
55
56
  const require_schema = require("./utils/schema.cjs");
56
57
  const require_errors = require("./utils/errors.cjs");
57
58
  require("./utils/index.cjs");
59
+ const require_hostArgs = require("./tools/subagent/hostArgs.cjs");
58
60
  const require_diagnostics = require("./tools/subagent/diagnostics.cjs");
59
61
  const require_childGraphConfig = require("./tools/subagent/childGraphConfig.cjs");
60
62
  const require_SubagentExecutor = require("./tools/subagent/SubagentExecutor.cjs");
@@ -332,6 +334,7 @@ exports.PREEMPT_BOUNDARY_HOOK_TIMEOUT_MS = require_constants.PREEMPT_BOUNDARY_HO
332
334
  exports.PRESSURE_THRESHOLD_MASKING = require_fading.PRESSURE_THRESHOLD_MASKING;
333
335
  exports.PROVIDER_MESSAGE_PROVENANCE_LIMITS = require_provenance.PROVIDER_MESSAGE_PROVENANCE_LIMITS;
334
336
  exports.PROVIDER_MESSAGE_PROVENANCE_VERSION = require_provenance.PROVIDER_MESSAGE_PROVENANCE_VERSION;
337
+ exports.PROVIDER_TEXT_PROTECTION_VERSION = require_providerText.PROVIDER_TEXT_PROTECTION_VERSION;
335
338
  exports.ProgrammaticToolCallingDefinition = require_ProgrammaticToolCalling.ProgrammaticToolCallingDefinition;
336
339
  exports.ProgrammaticToolCallingDescription = require_ProgrammaticToolCalling.ProgrammaticToolCallingDescription;
337
340
  exports.ProgrammaticToolCallingName = require_ProgrammaticToolCalling.ProgrammaticToolCallingName;
@@ -343,6 +346,7 @@ Object.defineProperty(exports, "PromptTemplate", {
343
346
  }
344
347
  });
345
348
  exports.ProviderMessageProjectionInvariantError = require_projectionInvariant.ProviderMessageProjectionInvariantError;
349
+ exports.ProviderTextProtectionError = require_providerText.ProviderTextProtectionError;
346
350
  exports.Providers = require_enum.Providers;
347
351
  exports.REASONING_LABEL_RUN_NAME = require_constants.REASONING_LABEL_RUN_NAME;
348
352
  exports.REMOVE_ALL_MESSAGES = require_reducer.REMOVE_ALL_MESSAGES;
@@ -376,6 +380,7 @@ exports.STANDARD_GRAPH_RUN_NAME = require_constants.STANDARD_GRAPH_RUN_NAME;
376
380
  exports.STATEFUL_BASH_NOTE = require_BashExecutor.STATEFUL_BASH_NOTE;
377
381
  exports.STATEFUL_ENV_NOTE = require_CodeExecutor.STATEFUL_ENV_NOTE;
378
382
  exports.SUBAGENT_CONTEXT_VERSION = require_constants.SUBAGENT_CONTEXT_VERSION;
383
+ exports.SUBAGENT_HOST_ARG_LIMITS = require_hostArgs.SUBAGENT_HOST_ARG_LIMITS;
379
384
  exports.SessionManager = require_JsonlSessionStore.SessionManager;
380
385
  exports.SkillToolDefinition = require_SkillTool.SkillToolDefinition;
381
386
  exports.SkillToolDescription = require_SkillTool.SkillToolDescription;
@@ -393,6 +398,7 @@ Object.defineProperty(exports, "StructuredTool", {
393
398
  }
394
399
  });
395
400
  exports.SubagentExecutor = require_SubagentExecutor.SubagentExecutor;
401
+ exports.SubagentHostArgumentError = require_diagnostics.SubagentHostArgumentError;
396
402
  exports.SubagentResolutionError = require_diagnostics.SubagentResolutionError;
397
403
  exports.SubagentToolDefinition = require_SubagentTool.SubagentToolDefinition;
398
404
  exports.SubagentToolDescription = require_SubagentTool.SubagentToolDescription;
@@ -475,6 +481,7 @@ exports.buildCodeApiHttpErrorMessage = require_CodeExecutor.buildCodeApiHttpErro
475
481
  exports.buildCodeExecutionToolDescription = require_CodeExecutor.buildCodeExecutionToolDescription;
476
482
  exports.buildCodeExecutionToolSchema = require_CodeExecutor.buildCodeExecutionToolSchema;
477
483
  exports.buildSandboxRuntimeConfig = require_LocalExecutionEngine.buildSandboxRuntimeConfig;
484
+ exports.buildSubagentHostArgProperties = require_hostArgs.buildSubagentHostArgProperties;
478
485
  exports.buildSubagentToolParams = require_SubagentTool.buildSubagentToolParams;
479
486
  exports.buildSummarizationInstruction = require_shared.buildSummarizationInstruction;
480
487
  exports.buildSummaryCarrierText = require_shared.buildSummaryCarrierText;
@@ -651,6 +658,7 @@ exports.getProviderMessageProvenance = require_provenance.getProviderMessageProv
651
658
  exports.getProviderSourceMessageIds = require_provenance.getProviderSourceMessageIds;
652
659
  exports.getReadRoots = require_LocalExecutionEngine.getReadRoots;
653
660
  exports.getSpawn = require_LocalExecutionEngine.getSpawn;
661
+ exports.getSubagentHostArgumentFailureMessage = require_diagnostics.getSubagentHostArgumentFailureMessage;
654
662
  exports.getSubagentResolutionFailureMessage = require_diagnostics.getSubagentResolutionFailureMessage;
655
663
  exports.getTokenCountForMessage = require_tokens.getTokenCountForMessage;
656
664
  exports.getWorkspaceFS = require_LocalExecutionEngine.getWorkspaceFS;
@@ -818,6 +826,7 @@ exports.resolveStreamDelay = require_smoother.resolveStreamDelay;
818
826
  exports.resolveStreamLimits = require_streamLimits.resolveStreamLimits;
819
827
  exports.resolveSubagentConfigEntries = require_childGraphConfig.resolveSubagentConfigEntries;
820
828
  exports.resolveSubagentConfigs = require_childGraphConfig.resolveSubagentConfigs;
829
+ exports.resolveSubagentHostArgs = require_hostArgs.resolveSubagentHostArgs;
821
830
  exports.resolveToolOutcome = require_intentArg.resolveToolOutcome;
822
831
  exports.resolveWorkspacePath = require_LocalExecutionEngine.resolveWorkspacePath;
823
832
  exports.resolveWorkspacePathSafe = require_LocalExecutionEngine.resolveWorkspacePathSafe;
@@ -0,0 +1,224 @@
1
+ const require_preparedSubagents = require("../tools/preparedSubagents.cjs");
2
+ const require_streamLimits = require("../llm/streamLimits.cjs");
3
+ let node_perf_hooks = require("node:perf_hooks");
4
+ //#region src/protection/providerText.ts
5
+ const PROVIDER_TEXT_PROTECTION_VERSION = 1;
6
+ var ProviderTextProtectionError = class extends Error {
7
+ code;
8
+ constructor(code) {
9
+ const safeCode = errorCodes.has(code) ? code : "incompatible";
10
+ super(`Provider text protection: ${safeCode}`);
11
+ this.code = code;
12
+ this.code = safeCode;
13
+ this.name = "ProviderTextProtectionError";
14
+ }
15
+ };
16
+ const restartCancellations = /* @__PURE__ */ new WeakSet();
17
+ function createProviderTextRestartCancellation() {
18
+ const error = new ProviderTextProtectionError("cancelled");
19
+ restartCancellations.add(error);
20
+ return error;
21
+ }
22
+ function isProviderTextRestartCancellation(error) {
23
+ return error instanceof ProviderTextProtectionError && restartCancellations.has(error);
24
+ }
25
+ function protectionAbortError(parent) {
26
+ const reason = parent?.reason;
27
+ if (reason instanceof require_streamLimits.StreamLimitExceededError || reason instanceof require_preparedSubagents.PreparedSubagentError) return reason;
28
+ if (reason instanceof ProviderTextProtectionError) return isProviderTextRestartCancellation(reason) ? reason : new ProviderTextProtectionError(reason.code);
29
+ return new ProviderTextProtectionError("cancelled");
30
+ }
31
+ const protectedSignals = /* @__PURE__ */ new WeakSet();
32
+ function isProtectedProviderTextSignal(signal) {
33
+ return signal != null && protectedSignals.has(signal);
34
+ }
35
+ const budgets = /* @__PURE__ */ new WeakMap();
36
+ const errorCodes = new Set([
37
+ "blocked",
38
+ "unavailable",
39
+ "timeout",
40
+ "overflow",
41
+ "cancelled",
42
+ "unsupported",
43
+ "incompatible"
44
+ ]);
45
+ function validateProviderTextProtection(policy) {
46
+ if (policy.version !== 1) throw new ProviderTextProtectionError("incompatible");
47
+ if (typeof policy.inspect !== "function" || typeof policy.classify !== "function") throw new ProviderTextProtectionError("unavailable");
48
+ for (const value of [
49
+ policy.timeoutMs,
50
+ policy.maxAttemptBytes,
51
+ policy.maxBufferedBytes
52
+ ]) if (!Number.isSafeInteger(value) || value <= 0) throw new ProviderTextProtectionError("incompatible");
53
+ if (policy.timeoutMs > 2147483647 || policy.maxAttemptBytes > policy.maxBufferedBytes) throw new ProviderTextProtectionError("incompatible");
54
+ }
55
+ var ProviderTextAttempt = class {
56
+ policy;
57
+ parent;
58
+ controller = new AbortController();
59
+ budget;
60
+ deadline;
61
+ bytes = 0;
62
+ textLength = 0;
63
+ fragments = [];
64
+ pending = /* @__PURE__ */ new Set();
65
+ timer;
66
+ abort;
67
+ finished = false;
68
+ constructor(policy, parent) {
69
+ this.policy = policy;
70
+ this.parent = parent;
71
+ validateProviderTextProtection(policy);
72
+ this.deadline = node_perf_hooks.performance.now() + policy.timeoutMs;
73
+ this.budget = budgets.get(policy) ?? { bytes: 0 };
74
+ budgets.set(policy, this.budget);
75
+ if (parent?.aborted === true) throw protectionAbortError(parent);
76
+ this.charge(512);
77
+ protectedSignals.add(this.signal);
78
+ this.abort = () => this.controller.abort(protectionAbortError(this.parent));
79
+ parent?.addEventListener("abort", this.abort, { once: true });
80
+ this.timer = setTimeout(() => {
81
+ this.controller.abort(new ProviderTextProtectionError("timeout"));
82
+ }, policy.timeoutMs);
83
+ this.timer.unref();
84
+ }
85
+ get signal() {
86
+ return this.controller.signal;
87
+ }
88
+ check() {
89
+ if (this.signal.aborted) throw this.signal.reason;
90
+ if (this.parent?.aborted === true) throw protectionAbortError(this.parent);
91
+ if (node_perf_hooks.performance.now() >= this.deadline) {
92
+ this.controller.abort(new ProviderTextProtectionError("timeout"));
93
+ throw this.signal.reason;
94
+ }
95
+ }
96
+ charge(bytes) {
97
+ if (this.bytes + bytes > this.policy.maxAttemptBytes || this.budget.bytes + bytes > this.policy.maxBufferedBytes) {
98
+ this.controller.abort(new ProviderTextProtectionError("overflow"));
99
+ throw this.signal.reason;
100
+ }
101
+ this.bytes += bytes;
102
+ this.budget.bytes += bytes;
103
+ }
104
+ append(text, cumulativeReplay = false) {
105
+ this.check();
106
+ if (cumulativeReplay && this.hasCandidatePrefix(text)) text = text.slice(this.textLength);
107
+ if (!text) return;
108
+ const bytes = text.length * 2;
109
+ this.charge(bytes * 2 + 64);
110
+ this.fragments.push(text);
111
+ this.textLength += text.length;
112
+ }
113
+ hasCandidatePrefix(text) {
114
+ if (this.textLength === 0 || text.length < this.textLength) return false;
115
+ let offset = 0;
116
+ for (const fragment of this.fragments) {
117
+ if (!text.startsWith(fragment, offset)) return false;
118
+ offset += fragment.length;
119
+ }
120
+ return true;
121
+ }
122
+ matchesText(text) {
123
+ return text.length === this.textLength && (text.length === 0 || this.hasCandidatePrefix(text));
124
+ }
125
+ retain(bytes) {
126
+ this.check();
127
+ this.charge(bytes);
128
+ }
129
+ observeChunk() {
130
+ this.check();
131
+ this.charge(128);
132
+ }
133
+ async wait(work) {
134
+ this.pending.add(work);
135
+ return new Promise((resolve, reject) => {
136
+ const abort = () => {
137
+ this.signal.removeEventListener("abort", abort);
138
+ reject(this.signal.reason);
139
+ };
140
+ this.signal.addEventListener("abort", abort, { once: true });
141
+ if (this.signal.aborted) abort();
142
+ const settle = () => {
143
+ this.signal.removeEventListener("abort", abort);
144
+ this.pending.delete(work);
145
+ };
146
+ work.then((value) => {
147
+ settle();
148
+ resolve(value);
149
+ }, (error) => {
150
+ settle();
151
+ reject(error);
152
+ });
153
+ });
154
+ }
155
+ async release() {
156
+ this.check();
157
+ const content = this.fragments.join("");
158
+ if (!content) return "";
159
+ let result;
160
+ try {
161
+ const treatment = this.policy.classify(content);
162
+ this.check();
163
+ if (treatment !== "prose") throw new ProviderTextProtectionError("unsupported");
164
+ result = await this.wait(Promise.resolve(this.policy.inspect({
165
+ version: 1,
166
+ content,
167
+ target: {
168
+ source: "message",
169
+ field: "text",
170
+ provenance: "model"
171
+ },
172
+ signal: this.signal
173
+ })));
174
+ } catch (error) {
175
+ this.check();
176
+ if (isProviderTextRestartCancellation(error)) throw error;
177
+ if (error instanceof ProviderTextProtectionError) throw new ProviderTextProtectionError(error.code);
178
+ throw new ProviderTextProtectionError("unavailable");
179
+ }
180
+ this.check();
181
+ const canonical = validateResult(result);
182
+ this.check();
183
+ this.charge(canonical.length * 2);
184
+ return canonical;
185
+ }
186
+ finish() {
187
+ if (this.finished) return;
188
+ this.finished = true;
189
+ clearTimeout(this.timer);
190
+ this.parent?.removeEventListener("abort", this.abort);
191
+ const dispose = () => {
192
+ this.fragments.length = 0;
193
+ this.budget.bytes -= this.bytes;
194
+ this.bytes = 0;
195
+ };
196
+ if (this.pending.size === 0) dispose();
197
+ else Promise.allSettled([...this.pending]).then(dispose);
198
+ }
199
+ };
200
+ function validateResult(result) {
201
+ try {
202
+ if (result?.version !== 1 || typeof result.ok !== "boolean") throw new ProviderTextProtectionError("incompatible");
203
+ if (!result.ok) {
204
+ const code = result.error?.code;
205
+ throw new ProviderTextProtectionError(code != null && errorCodes.has(code) ? code : "incompatible");
206
+ }
207
+ const value = result.value;
208
+ if (typeof value?.content !== "string" || typeof value.replacements !== "number" || !Number.isSafeInteger(value.replacements) || value.replacements < 0 || !Array.isArray(value.categories) || value.categories.length > 32 || value.categories.some((entry) => typeof entry.category !== "string" || typeof entry.count !== "number" || !Number.isSafeInteger(entry.count) || entry.count <= 0)) throw new ProviderTextProtectionError("incompatible");
209
+ return value.content;
210
+ } catch (error) {
211
+ if (error instanceof ProviderTextProtectionError) throw error;
212
+ throw new ProviderTextProtectionError("incompatible");
213
+ }
214
+ }
215
+ //#endregion
216
+ exports.PROVIDER_TEXT_PROTECTION_VERSION = PROVIDER_TEXT_PROTECTION_VERSION;
217
+ exports.ProviderTextAttempt = ProviderTextAttempt;
218
+ exports.ProviderTextProtectionError = ProviderTextProtectionError;
219
+ exports.createProviderTextRestartCancellation = createProviderTextRestartCancellation;
220
+ exports.isProtectedProviderTextSignal = isProtectedProviderTextSignal;
221
+ exports.isProviderTextRestartCancellation = isProviderTextRestartCancellation;
222
+ exports.validateProviderTextProtection = validateProviderTextProtection;
223
+
224
+ //# sourceMappingURL=providerText.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerText.cjs","names":["StreamLimitExceededError","PreparedSubagentError","performance"],"sources":["../../../src/protection/providerText.ts"],"mappings":";;;;AAIA,MAAa,mCAAmC;AAkDhD,IAAa,8BAAb,cAAiD,MAAM;CAChC;CAArB,YAAY,MAAgD;EAC1D,MAAM,WAAW,WAAW,IAAI,IAAI,IAAI,OAAO;EAC/C,MAAM,6BAA6B,UAAU;EAF1B,KAAA,OAAA;EAGnB,KAAK,OAAO;EACZ,KAAK,OAAO;CACd;AACF;AAEA,MAAM,uCAAuB,IAAI,QAAqC;AAGtE,SAAgB,wCAAqE;CACnF,MAAM,QAAQ,IAAI,4BAA4B,WAAW;CACzD,qBAAqB,IAAI,KAAK;CAC9B,OAAO;AACT;AAEA,SAAgB,kCAAkC,OAAyB;CACzE,OAAO,iBAAiB,+BAA+B,qBAAqB,IAAI,KAAK;AACvF;AAEA,SAAS,qBAAqB,QAAsG;CAClI,MAAM,SAAkB,QAAQ;CAChC,IAAI,kBAAkBA,qBAAAA,4BAA4B,kBAAkBC,0BAAAA,uBAAuB,OAAO;CAClG,IAAI,kBAAkB,6BACpB,OAAO,kCAAkC,MAAM,IAAI,SAAS,IAAI,4BAA4B,OAAO,IAAI;CAEzG,OAAO,IAAI,4BAA4B,WAAW;AACpD;AAEA,MAAM,mCAAmB,IAAI,QAAqB;AAGlD,SAAgB,8BAA8B,QAA+B;CAC3E,OAAO,UAAU,QAAQ,iBAAiB,IAAI,MAAM;AACtD;AAEA,MAAM,0BAAU,IAAI,QAAmD;AACvE,MAAM,aAAa,IAAI,IAAqC;CAC1D;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,SAAgB,+BACd,QACM;CAEN,IADwB,OAAO,YACf,GACd,MAAM,IAAI,4BAA4B,cAAc;CACtD,IACE,OAAO,OAAO,YAAY,cAC1B,OAAO,OAAO,aAAa,YAE3B,MAAM,IAAI,4BAA4B,aAAa;CAErD,KAAK,MAAM,SAAS;EAClB,OAAO;EACP,OAAO;EACP,OAAO;CACT,GACE,IAAI,CAAC,OAAO,cAAc,KAAK,KAAK,SAAS,GAC3C,MAAM,IAAI,4BAA4B,cAAc;CAGxD,IACE,OAAO,YAAY,cACnB,OAAO,kBAAkB,OAAO,kBAEhC,MAAM,IAAI,4BAA4B,cAAc;AAExD;AAGA,IAAa,sBAAb,MAAiC;CAaZ;CACA;CAbnB,aAA8B,IAAI,gBAAgB;CAClD;CACA;CACA,QAAgB;CAChB,aAAqB;CACrB,YAAuC,CAAC;CACxC,0BAA2B,IAAI,IAAsB;CACrD;CACA;CACA,WAAmB;CAEnB,YACE,QACA,QACA;EAFiB,KAAA,SAAA;EACA,KAAA,SAAA;EAEjB,+BAA+B,MAAM;EACrC,KAAK,WAAWC,gBAAAA,YAAY,IAAI,IAAI,OAAO;EAC3C,KAAK,SAAS,QAAQ,IAAI,MAAM,KAAK,EAAE,OAAO,EAAE;EAChD,QAAQ,IAAI,QAAQ,KAAK,MAAM;EAC/B,IAAI,QAAQ,YAAY,MAAM,MAAM,qBAAqB,MAAM;EAC/D,KAAK,OAAO,GAAG;EACf,iBAAiB,IAAI,KAAK,MAAM;EAChC,KAAK,cACH,KAAK,WAAW,MAAM,qBAAqB,KAAK,MAAM,CAAC;EACzD,QAAQ,iBAAiB,SAAS,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC;EAC5D,KAAK,QAAQ,iBAAiB;GAC5B,KAAK,WAAW,MAAM,IAAI,4BAA4B,SAAS,CAAC;EAClE,GAAG,OAAO,SAAS;EACnB,KAAK,MAAM,MAAM;CACnB;CAEA,IAAI,SAAsB;EACxB,OAAO,KAAK,WAAW;CACzB;CAEA,QAAc;EACZ,IAAI,KAAK,OAAO,SAAS,MAAM,KAAK,OAAO;EAC3C,IAAI,KAAK,QAAQ,YAAY,MAC3B,MAAM,qBAAqB,KAAK,MAAM;EACxC,IAAIA,gBAAAA,YAAY,IAAI,KAAK,KAAK,UAAU;GACtC,KAAK,WAAW,MAAM,IAAI,4BAA4B,SAAS,CAAC;GAChE,MAAM,KAAK,OAAO;EACpB;CACF;CAEA,OAAe,OAAqB;EAClC,IACE,KAAK,QAAQ,QAAQ,KAAK,OAAO,mBACjC,KAAK,OAAO,QAAQ,QAAQ,KAAK,OAAO,kBACxC;GACA,KAAK,WAAW,MAAM,IAAI,4BAA4B,UAAU,CAAC;GACjE,MAAM,KAAK,OAAO;EACpB;EACA,KAAK,SAAS;EACd,KAAK,OAAO,SAAS;CACvB;CAEA,OAAO,MAAc,mBAAmB,OAAa;EACnD,KAAK,MAAM;EACX,IAAI,oBAAoB,KAAK,mBAAmB,IAAI,GAAG,OAAO,KAAK,MAAM,KAAK,UAAU;EACxF,IAAI,CAAC,MAAM;EACX,MAAM,QAAQ,KAAK,SAAS;EAC5B,KAAK,OAAO,QAAQ,IAAI,EAAE;EAC1B,KAAK,UAAU,KAAK,IAAI;EACxB,KAAK,cAAc,KAAK;CAC1B;CAGA,mBAA2B,MAAuB;EAChD,IAAI,KAAK,eAAe,KAAK,KAAK,SAAS,KAAK,YAAY,OAAO;EACnE,IAAI,SAAS;EACb,KAAK,MAAM,YAAY,KAAK,WAAW;GACrC,IAAI,CAAC,KAAK,WAAW,UAAU,MAAM,GAAG,OAAO;GAC/C,UAAU,SAAS;EACrB;EACA,OAAO;CACT;CAEA,YAAY,MAAuB;EACjC,OAAO,KAAK,WAAW,KAAK,eAAe,KAAK,WAAW,KAAK,KAAK,mBAAmB,IAAI;CAC9F;CAEA,OAAO,OAAqB;EAC1B,KAAK,MAAM;EACX,KAAK,OAAO,KAAK;CACnB;CAEA,eAAqB;EACnB,KAAK,MAAM;EACX,KAAK,OAAO,GAAG;CACjB;CAEA,MAAM,KAAQ,MAA8B;EAC1C,KAAK,QAAQ,IAAI,IAAI;EACrB,OAAO,IAAI,SAAY,SAAS,WAAW;GACzC,MAAM,cAAoB;IACxB,KAAK,OAAO,oBAAoB,SAAS,KAAK;IAC9C,OAAO,KAAK,OAAO,MAAM;GAC3B;GACA,KAAK,OAAO,iBAAiB,SAAS,OAAO,EAAE,MAAM,KAAK,CAAC;GAC3D,IAAI,KAAK,OAAO,SAAS,MAAM;GAC/B,MAAM,eAAqB;IACzB,KAAK,OAAO,oBAAoB,SAAS,KAAK;IAC9C,KAAK,QAAQ,OAAO,IAAI;GAC1B;GACA,KAAU,MACP,UAAU;IAAE,OAAO;IAAG,QAAQ,KAAK;GAAG,IACtC,UAAiB;IAAE,OAAO;IAAG,OAAO,KAAK;GAAG,CAC/C;EACF,CAAC;CACH;CAEA,MAAM,UAA2B;EAC/B,KAAK,MAAM;EACX,MAAM,UAAU,KAAK,UAAU,KAAK,EAAE;EACtC,IAAI,CAAC,SAAS,OAAO;EACrB,IAAI;EACJ,IAAI;GACF,MAAM,YAAY,KAAK,OAAO,SAAS,OAAO;GAC9C,KAAK,MAAM;GACX,IAAI,cAAc,SAChB,MAAM,IAAI,4BAA4B,aAAa;GAErD,SAAS,MAAM,KAAK,KAClB,QAAQ,QACN,KAAK,OAAO,QAAQ;IAClB,SAAS;IACT;IACA,QAAQ;KAAE,QAAQ;KAAW,OAAO;KAAQ,YAAY;IAAQ;IAChE,QAAQ,KAAK;GACf,CAAC,CACH,CACF;EACF,SAAS,OAAO;GACd,KAAK,MAAM;GACX,IAAI,kCAAkC,KAAK,GAAG,MAAM;GACpD,IAAI,iBAAiB,6BAA6B,MAAM,IAAI,4BAA4B,MAAM,IAAI;GAClG,MAAM,IAAI,4BAA4B,aAAa;EACrD;EACA,KAAK,MAAM;EACX,MAAM,YAAY,eAAe,MAAM;EACvC,KAAK,MAAM;EACX,KAAK,OAAO,UAAU,SAAS,CAAC;EAChC,OAAO;CACT;CAEA,SAAe;EACb,IAAI,KAAK,UAAU;EACnB,KAAK,WAAW;EAChB,aAAa,KAAK,KAAK;EACvB,KAAK,QAAQ,oBAAoB,SAAS,KAAK,KAAK;EACpD,MAAM,gBAAsB;GAC1B,KAAK,UAAU,SAAS;GACxB,KAAK,OAAO,SAAS,KAAK;GAC1B,KAAK,QAAQ;EACf;EACA,IAAI,KAAK,QAAQ,SAAS,GAAG,QAAQ;OAChC,QAAa,WAAW,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO;CAC9D;AACF;AASA,SAAS,eAAe,QAA6C;CACnE,IAAI;EACF,IAAI,QAAQ,YAAY,KAAK,OAAO,OAAO,OAAO,WAChD,MAAM,IAAI,4BAA4B,cAAc;EAEtD,IAAI,CAAC,OAAO,IAAI;GACd,MAAM,OAAO,OAAO,OAAO;GAC3B,MAAM,IAAI,4BAA4B,QAAQ,QAAQ,WAAW,IAAI,IAAI,IAAI,OAAO,cAAc;EACpG;EACA,MAAM,QAAQ,OAAO;EACrB,IAAI,OAAO,OAAO,YAAY,YAAY,OAAO,MAAM,iBAAiB,YACpE,CAAC,OAAO,cAAc,MAAM,YAAY,KAAK,MAAM,eAAe,KAClE,CAAC,MAAM,QAAQ,MAAM,UAAU,KAAK,MAAM,WAAW,SAAS,MAC9D,MAAM,WAAW,MAAM,UAAU,OAAO,MAAM,aAAa,YACzD,OAAO,MAAM,UAAU,YAAY,CAAC,OAAO,cAAc,MAAM,KAAK,KAAK,MAAM,SAAS,CAAC,GAC7F,MAAM,IAAI,4BAA4B,cAAc;EAEtD,OAAO,MAAM;CACf,SAAS,OAAO;EACd,IAAI,iBAAiB,6BAA6B,MAAM;EACxD,MAAM,IAAI,4BAA4B,cAAc;CACtD;AACF"}
@@ -0,0 +1,25 @@
1
+ //#region src/protection/providerTextInput.ts
2
+ const inputs = /* @__PURE__ */ new WeakMap();
3
+ function markProviderTextInput(input) {
4
+ inputs.set(input, {
5
+ prototype: Object.getPrototypeOf(input),
6
+ descriptors: Object.getOwnPropertyDescriptors(input)
7
+ });
8
+ return input;
9
+ }
10
+ function isProviderTextInput(input) {
11
+ const original = inputs.get(input);
12
+ if (original == null || original.prototype !== Object.getPrototypeOf(input)) return false;
13
+ const current = Object.getOwnPropertyDescriptors(input);
14
+ const keys = Object.keys(original.descriptors);
15
+ return keys.length === Object.keys(current).length && keys.every((key) => {
16
+ const before = original.descriptors[key];
17
+ const after = current[key];
18
+ return after != null && before.value === after.value && before.get === after.get && before.set === after.set && before.writable === after.writable && before.enumerable === after.enumerable && before.configurable === after.configurable;
19
+ });
20
+ }
21
+ //#endregion
22
+ exports.isProviderTextInput = isProviderTextInput;
23
+ exports.markProviderTextInput = markProviderTextInput;
24
+
25
+ //# sourceMappingURL=providerTextInput.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerTextInput.cjs","names":[],"sources":["../../../src/protection/providerTextInput.ts"],"mappings":";AAAA,MAAM,yBAAS,IAAI,QAAkF;AAGrG,SAAgB,sBAAwC,OAAa;CACnE,OAAO,IAAI,OAAO;EAAE,WAAW,OAAO,eAAe,KAAK;EAAG,aAAa,OAAO,0BAA0B,KAAK;CAAE,CAAC;CACnH,OAAO;AACT;AAEA,SAAgB,oBAAoB,OAAwB;CAC1D,MAAM,WAAW,OAAO,IAAI,KAAK;CACjC,IAAI,YAAY,QAAQ,SAAS,cAAc,OAAO,eAAe,KAAK,GAAG,OAAO;CACpF,MAAM,UAA0C,OAAO,0BAA0B,KAAK;CACtF,MAAM,OAAO,OAAO,KAAK,SAAS,WAAW;CAC7C,OAAO,KAAK,WAAW,OAAO,KAAK,OAAO,CAAC,CAAC,UAAU,KAAK,OAAO,QAAQ;EACxE,MAAM,SAAS,SAAS,YAAY;EACpC,MAAM,QAAQ,QAAQ;EACtB,OAAO,SAAS,QAAQ,OAAO,UAAU,MAAM,SAAS,OAAO,QAAQ,MAAM,OAC3E,OAAO,QAAQ,MAAM,OAAO,OAAO,aAAa,MAAM,YACtD,OAAO,eAAe,MAAM,cAAc,OAAO,iBAAiB,MAAM;CAC5E,CAAC;AACH"}