@superblocksteam/vite-plugin-file-sync 2.0.165-next.0 → 2.0.166-next.0

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 (218) hide show
  1. package/dist/ai-service/agent/prompts/api-prompts.d.ts.map +1 -1
  2. package/dist/ai-service/agent/prompts/api-prompts.js +3 -1
  3. package/dist/ai-service/agent/prompts/api-prompts.js.map +1 -1
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  5. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +43 -7
  6. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  7. package/dist/ai-service/agent/tool-result-metrics.d.ts +12 -0
  8. package/dist/ai-service/agent/tool-result-metrics.d.ts.map +1 -1
  9. package/dist/ai-service/agent/tool-result-metrics.js +29 -0
  10. package/dist/ai-service/agent/tool-result-metrics.js.map +1 -1
  11. package/dist/ai-service/agent/tools/apis/attachment-file-inputs.d.ts +17 -0
  12. package/dist/ai-service/agent/tools/apis/attachment-file-inputs.d.ts.map +1 -0
  13. package/dist/ai-service/agent/tools/apis/attachment-file-inputs.js +208 -0
  14. package/dist/ai-service/agent/tools/apis/attachment-file-inputs.js.map +1 -0
  15. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts +6 -1
  16. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts.map +1 -1
  17. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +53 -19
  18. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
  19. package/dist/ai-service/agent/tools/apis/sdk-root-documentation.d.ts +20 -0
  20. package/dist/ai-service/agent/tools/apis/sdk-root-documentation.d.ts.map +1 -0
  21. package/dist/ai-service/agent/tools/apis/sdk-root-documentation.js +284 -0
  22. package/dist/ai-service/agent/tools/apis/sdk-root-documentation.js.map +1 -0
  23. package/dist/ai-service/agent/tools/apis/spreadsheet-csv.d.ts +77 -0
  24. package/dist/ai-service/agent/tools/apis/spreadsheet-csv.d.ts.map +1 -0
  25. package/dist/ai-service/agent/tools/apis/spreadsheet-csv.js +627 -0
  26. package/dist/ai-service/agent/tools/apis/spreadsheet-csv.js.map +1 -0
  27. package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -0
  28. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  29. package/dist/ai-service/agent/tools/apis/test-api.js +51 -9
  30. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  31. package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts +1 -1
  32. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
  33. package/dist/ai-service/agent/tools/build-read-file.d.ts +50 -6
  34. package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/build-read-file.js +153 -40
  36. package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
  37. package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
  38. package/dist/ai-service/agent/tools/index.d.ts +3 -2
  39. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  40. package/dist/ai-service/agent/tools/index.js +3 -2
  41. package/dist/ai-service/agent/tools/index.js.map +1 -1
  42. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +15 -15
  43. package/dist/ai-service/agent/tools/read-state-trackers.d.ts +33 -0
  44. package/dist/ai-service/agent/tools/read-state-trackers.d.ts.map +1 -0
  45. package/dist/ai-service/agent/tools/read-state-trackers.js +67 -0
  46. package/dist/ai-service/agent/tools/read-state-trackers.js.map +1 -0
  47. package/dist/ai-service/agent/tools/report-security-findings.d.ts +6 -6
  48. package/dist/ai-service/agent/tools/report-security-findings.d.ts.map +1 -1
  49. package/dist/ai-service/agent/tools/report-security-findings.js +4 -2
  50. package/dist/ai-service/agent/tools/report-security-findings.js.map +1 -1
  51. package/dist/ai-service/agent/tools/subagent-isolation.d.ts +4 -15
  52. package/dist/ai-service/agent/tools/subagent-isolation.d.ts.map +1 -1
  53. package/dist/ai-service/agent/tools/subagent-isolation.js +4 -44
  54. package/dist/ai-service/agent/tools/subagent-isolation.js.map +1 -1
  55. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  56. package/dist/ai-service/agent/tools.js +17 -64
  57. package/dist/ai-service/agent/tools.js.map +1 -1
  58. package/dist/ai-service/agent/tools2/registry.d.ts +1 -0
  59. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  60. package/dist/ai-service/agent/tools2/registry.js +23 -5
  61. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  62. package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.d.ts +9 -0
  63. package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.d.ts.map +1 -0
  64. package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.js +52 -0
  65. package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.js.map +1 -0
  66. package/dist/ai-service/agent/tools2/tools/bash.d.ts +2 -2
  67. package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts +1 -1
  68. package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts.map +1 -1
  69. package/dist/ai-service/agent/tools2/tools/download-attachments.js +57 -49
  70. package/dist/ai-service/agent/tools2/tools/download-attachments.js.map +1 -1
  71. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +3 -3
  72. package/dist/ai-service/agent/tools2/tools/git.d.ts +6 -6
  73. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
  74. package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
  75. package/dist/ai-service/agent/tools2/tools/grep.js +1 -1
  76. package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts +1 -1
  77. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +1 -1
  78. package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts +1 -1
  79. package/dist/ai-service/app-skills/helpers.d.ts +8 -2
  80. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  81. package/dist/ai-service/app-skills/helpers.js +184 -4
  82. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  83. package/dist/ai-service/attachments/text-upload-artifacts.d.ts.map +1 -1
  84. package/dist/ai-service/attachments/text-upload-artifacts.js +1 -1
  85. package/dist/ai-service/attachments/text-upload-artifacts.js.map +1 -1
  86. package/dist/ai-service/attachments/upload-artifact-paths.d.ts +5 -0
  87. package/dist/ai-service/attachments/upload-artifact-paths.d.ts.map +1 -0
  88. package/dist/ai-service/attachments/upload-artifact-paths.js +18 -0
  89. package/dist/ai-service/attachments/upload-artifact-paths.js.map +1 -0
  90. package/dist/ai-service/chat/chat-session-store-metrics.d.ts +6 -0
  91. package/dist/ai-service/chat/chat-session-store-metrics.d.ts.map +1 -1
  92. package/dist/ai-service/chat/chat-session-store-metrics.js +23 -1
  93. package/dist/ai-service/chat/chat-session-store-metrics.js.map +1 -1
  94. package/dist/ai-service/chat/chat-session-store.d.ts +25 -1
  95. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  96. package/dist/ai-service/chat/chat-session-store.js +70 -4
  97. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  98. package/dist/ai-service/edit-after-clark.d.ts +58 -0
  99. package/dist/ai-service/edit-after-clark.d.ts.map +1 -0
  100. package/dist/ai-service/edit-after-clark.js +143 -0
  101. package/dist/ai-service/edit-after-clark.js.map +1 -0
  102. package/dist/ai-service/features.d.ts +5 -0
  103. package/dist/ai-service/features.d.ts.map +1 -1
  104. package/dist/ai-service/features.js +5 -0
  105. package/dist/ai-service/features.js.map +1 -1
  106. package/dist/ai-service/index.d.ts +25 -3
  107. package/dist/ai-service/index.d.ts.map +1 -1
  108. package/dist/ai-service/index.js +123 -18
  109. package/dist/ai-service/index.js.map +1 -1
  110. package/dist/ai-service/judge/tools/playwright-action.d.ts +5 -5
  111. package/dist/ai-service/llm/context-v2/context.d.ts +23 -6
  112. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  113. package/dist/ai-service/llm/context-v2/context.js +48 -13
  114. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  115. package/dist/ai-service/llm/context-v2/token-tracker.d.ts.map +1 -1
  116. package/dist/ai-service/llm/context-v2/token-tracker.js.map +1 -1
  117. package/dist/ai-service/llm/stream/abort-reason.d.ts +31 -0
  118. package/dist/ai-service/llm/stream/abort-reason.d.ts.map +1 -0
  119. package/dist/ai-service/llm/stream/abort-reason.js +36 -0
  120. package/dist/ai-service/llm/stream/abort-reason.js.map +1 -0
  121. package/dist/ai-service/llm/stream/orchestrator.d.ts +15 -0
  122. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  123. package/dist/ai-service/llm/stream/orchestrator.js +88 -12
  124. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  125. package/dist/ai-service/migration-prompt-gating.d.ts +1 -0
  126. package/dist/ai-service/migration-prompt-gating.d.ts.map +1 -1
  127. package/dist/ai-service/migration-prompt-gating.js +6 -0
  128. package/dist/ai-service/migration-prompt-gating.js.map +1 -1
  129. package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -1
  130. package/dist/ai-service/skills/system/_registry.generated.js +8 -0
  131. package/dist/ai-service/skills/system/_registry.generated.js.map +1 -1
  132. package/dist/ai-service/skills/system/resolve.d.ts.map +1 -1
  133. package/dist/ai-service/skills/system/resolve.js +29 -4
  134. package/dist/ai-service/skills/system/resolve.js.map +1 -1
  135. package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.d.ts +2 -0
  136. package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.d.ts.map +1 -0
  137. package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.js +66 -0
  138. package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.js.map +1 -0
  139. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.d.ts +2 -0
  140. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.d.ts.map +1 -0
  141. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.js +5 -0
  142. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.js.map +1 -0
  143. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.d.ts +2 -0
  144. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.d.ts.map +1 -0
  145. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.js +5 -0
  146. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.js.map +1 -0
  147. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  148. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  149. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +2 -1
  150. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  151. package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts +1 -1
  152. package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts.map +1 -1
  153. package/dist/ai-service/skills/system/superblocks-migration/skill.generated.js +6 -6
  154. package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.d.ts +2 -0
  155. package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.d.ts.map +1 -0
  156. package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.js +29 -0
  157. package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.js.map +1 -0
  158. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
  159. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
  160. package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +2 -2
  161. package/dist/ai-service/state-machine/clark-fsm.d.ts +14 -1
  162. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  163. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  164. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  165. package/dist/ai-service/state-machine/handlers/llm-generating.js +1 -0
  166. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  167. package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.d.ts +18 -0
  168. package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.d.ts.map +1 -0
  169. package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.js +66 -0
  170. package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.js.map +1 -0
  171. package/dist/ai-service/state-machine/helpers/transition.d.ts.map +1 -1
  172. package/dist/ai-service/state-machine/helpers/transition.js.map +1 -1
  173. package/dist/ai-service/state-machine/traced-fsm.d.ts +12 -3
  174. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  175. package/dist/ai-service/state-machine/traced-fsm.js +17 -5
  176. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  177. package/dist/ai-service/template-renderer.js +43 -7
  178. package/dist/ai-service/template-renderer.js.map +1 -1
  179. package/dist/ai-service/types.d.ts +2 -0
  180. package/dist/ai-service/types.d.ts.map +1 -1
  181. package/dist/ai-service/types.js.map +1 -1
  182. package/dist/file-sync-vite-plugin.d.ts +12 -3
  183. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  184. package/dist/file-sync-vite-plugin.js +57 -17
  185. package/dist/file-sync-vite-plugin.js.map +1 -1
  186. package/dist/migration/migration-routes.d.ts.map +1 -1
  187. package/dist/migration/migration-routes.js +42 -23
  188. package/dist/migration/migration-routes.js.map +1 -1
  189. package/dist/npm/normalize-workspace-protocol-for-npm.d.ts.map +1 -1
  190. package/dist/npm/normalize-workspace-protocol-for-npm.js +5 -5
  191. package/dist/npm/normalize-workspace-protocol-for-npm.js.map +1 -1
  192. package/dist/npm/rewrite-platform-workspace-deps.d.ts +2 -0
  193. package/dist/npm/rewrite-platform-workspace-deps.d.ts.map +1 -1
  194. package/dist/npm/rewrite-platform-workspace-deps.js +2 -2
  195. package/dist/npm/rewrite-platform-workspace-deps.js.map +1 -1
  196. package/dist/policy-gate-runner.d.ts.map +1 -1
  197. package/dist/policy-gate-runner.js +3 -0
  198. package/dist/policy-gate-runner.js.map +1 -1
  199. package/dist/socket-manager.d.ts +1 -1
  200. package/dist/socket-manager.d.ts.map +1 -1
  201. package/dist/socket-manager.js +64 -22
  202. package/dist/socket-manager.js.map +1 -1
  203. package/dist/sync-service/index.d.ts +14 -1
  204. package/dist/sync-service/index.d.ts.map +1 -1
  205. package/dist/sync-service/index.js +27 -1
  206. package/dist/sync-service/index.js.map +1 -1
  207. package/dist/sync-service/list-dir.d.ts.map +1 -1
  208. package/dist/sync-service/list-dir.js +15 -1
  209. package/dist/sync-service/list-dir.js.map +1 -1
  210. package/dist/sync-service/snapshot/take-snapshot.d.ts +6 -0
  211. package/dist/sync-service/snapshot/take-snapshot.d.ts.map +1 -1
  212. package/dist/sync-service/snapshot/take-snapshot.js +21 -0
  213. package/dist/sync-service/snapshot/take-snapshot.js.map +1 -1
  214. package/dist/vite-plugin-yaml-types.d.ts +6 -0
  215. package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
  216. package/dist/vite-plugin-yaml-types.js +52 -61
  217. package/dist/vite-plugin-yaml-types.js.map +1 -1
  218. package/package.json +14 -11
@@ -1,17 +1,48 @@
1
1
  import { createHash } from "node:crypto";
2
+ import path from "node:path";
2
3
  import { createTwoFilesPatch } from "diff";
3
4
  import z from "zod";
5
+ import { UPLOAD_ARTIFACT_PATH_PREFIX } from "../../attachments/upload-artifact-paths.js";
4
6
  import { recordAppKnowledgeReadIfApplicable } from "../../knowledge/knowledge-metrics-emitters.js";
5
7
  import { isSkillPath, SKILL_PATH_PREFIXES, SkillLayer, } from "../../skills/types.js";
6
8
  import { normalizeRanges } from "../../util/line-ranges.js";
9
+ import { recordBuildReadFileImmutableRead, } from "../tool-result-metrics.js";
7
10
  import { createToolFactory, ToolCategory, ToolExecutionError, } from "../tools2/types.js";
8
11
  import { classifyReadFilePath, recordBuildReadFile, } from "./read-file-metrics.js";
9
12
  const MAX_LIMIT_READ_FILES = 25000;
10
- const DEFAULT_PAGE_CHARS = 10000;
11
- const DEFAULT_PAGE_LINES = 300;
13
+ /**
14
+ * Exported (mirrors `DIFF_SIZE_GUARD_RATIO` below) so a calibration test can
15
+ * verify a fixture still renders as a single complete page under the default
16
+ * read mode -- the other precondition `buildDiffReinjectionOutput` requires
17
+ * besides the size ratio.
18
+ */
19
+ export const DEFAULT_PAGE_CHARS = 10000;
20
+ export const DEFAULT_PAGE_LINES = 300;
12
21
  const SKILL_FULL_READ_CHARS = 40000;
13
22
  const ERROR_PREFIX = "Failed to read file:";
14
- const ALREADY_READ_MESSAGE = `This skill file has already been read in this session and is still in context. You do not need to read it again.`;
23
+ const ALREADY_READ_MESSAGE = `This file has already been read in this session and is still in context. You do not need to read it again.`;
24
+ // Write-once prefixes: content cannot change within a session, so full reads
25
+ // dedupe with NO invalidation. Do NOT add mutable app paths here — that is the
26
+ // separate, harder in-session cache work (ENG-6637).
27
+ const IMMUTABLE_READ_PREFIXES = [
28
+ { kind: "system_skill", prefix: SKILL_PATH_PREFIXES[SkillLayer.SYSTEM] },
29
+ { kind: "upload", prefix: UPLOAD_ARTIFACT_PATH_PREFIX },
30
+ ];
31
+ /**
32
+ * Classifies a path as an immutable write-once prefix, or undefined if it is
33
+ * not one. Rejects traversal and absolute escapes first: a path that normalizes
34
+ * to a `..` escape or an absolute path can alias a mutable file, so it must
35
+ * never inherit the dedup and compaction-protection the prefix confers.
36
+ */
37
+ const immutablePathKind = (filePath) => {
38
+ const normalized = path.posix.normalize(filePath);
39
+ if (normalized.startsWith("/") ||
40
+ normalized.startsWith("../") ||
41
+ normalized === "..") {
42
+ return undefined;
43
+ }
44
+ return IMMUTABLE_READ_PREFIXES.find(({ prefix }) => normalized.startsWith(prefix))?.kind;
45
+ };
15
46
  function isReadFileContent(output) {
16
47
  return (typeof output === "object" &&
17
48
  output !== null &&
@@ -184,13 +215,45 @@ function extractFullReadContent(output) {
184
215
  /**
185
216
  * Only diff-reinject when the delta is meaningfully cheaper than just serving
186
217
  * the current content again. A near-total rewrite must not regress to a diff
187
- * larger than the file it stands in for.
218
+ * larger than the file it stands in for. Exported so a calibration test can
219
+ * verify a given fixture's patch actually clears this bar with the real
220
+ * `diff` library output, instead of assuming it does -- via
221
+ * `diffClearsSizeGuard` below, the same predicate this module applies.
222
+ */
223
+ export const DIFF_SIZE_GUARD_RATIO = 0.6;
224
+ /**
225
+ * The actual guard `buildDiffReinjectionOutput` applies: a diff is only
226
+ * worth serving when it is meaningfully cheaper than the full content it
227
+ * stands in for. Exported as its own predicate (rather than inlined) so a
228
+ * calibration test can assert the real contract instead of re-deriving the
229
+ * comparison from `DIFF_SIZE_GUARD_RATIO` by hand.
230
+ */
231
+ export function diffClearsSizeGuard(diffOutput, fullOutput) {
232
+ return diffOutput.length < fullOutput.length * DIFF_SIZE_GUARD_RATIO;
233
+ }
234
+ /**
235
+ * Opening tag of a diff re-injection. Exported (mirrors
236
+ * `BUILD_READ_FILE_STUB_MARKER` above) so eval assertions can classify a
237
+ * served read as a diff re-injection without duplicating this literal.
188
238
  */
189
- const DIFF_SIZE_GUARD_RATIO = 0.6;
190
- /** Opening tag of a diff re-injection, for the paths that have to spot one. */
191
- const DIFF_OUTPUT_PREFIX = "<file-diff";
239
+ export const DIFF_REINJECTION_OUTPUT_PREFIX = "<file-diff";
192
240
  function isDiffReinjectionOutput(output) {
193
- return typeof output === "string" && output.startsWith(DIFF_OUTPUT_PREFIX);
241
+ return (typeof output === "string" &&
242
+ output.startsWith(DIFF_REINJECTION_OUTPUT_PREFIX));
243
+ }
244
+ /**
245
+ * Renders the diff-reinjection wire format: the unified patch wrapped in
246
+ * `<file-diff>`, plus the instruction sentence telling the model how to use
247
+ * it. Exported (alongside `diffClearsSizeGuard`) so a calibration test can
248
+ * build the exact output this module serves, rather than hand-transcribing
249
+ * the wrapper and instruction text separately from the `diff` library call.
250
+ */
251
+ export function renderDiffReinjectionOutput(input) {
252
+ const patch = createTwoFilesPatch(input.filePath, input.filePath, input.previousContent, input.fileContent);
253
+ return (`<file-diff path="${input.filePath}" from-read="${input.fromReadToolCallId}">\n` +
254
+ `${patch}` +
255
+ `</file-diff>\n` +
256
+ `Diff since your last full read of this file. Combine with that content for the current file, or call again for the full file.`);
194
257
  }
195
258
  /**
196
259
  * Builds a diff-based re-injection output when the file changed since a
@@ -214,21 +277,33 @@ function buildDiffReinjectionOutput(input) {
214
277
  if (previousContent === undefined) {
215
278
  return undefined;
216
279
  }
217
- const patch = createTwoFilesPatch(filePath, filePath, previousContent, fileContent);
218
- const output = `<file-diff path="${filePath}" from-read="${evaluation.previousFullReadToolCallId}">\n` +
219
- `${patch}` +
220
- `</file-diff>\n` +
221
- `Diff since your last full read of this file. Combine with that content for the current file, or call again for the full file.`;
222
- if (output.length >= input.fullOutput.length * DIFF_SIZE_GUARD_RATIO) {
280
+ const output = renderDiffReinjectionOutput({
281
+ filePath,
282
+ fromReadToolCallId: evaluation.previousFullReadToolCallId,
283
+ previousContent,
284
+ fileContent,
285
+ });
286
+ if (!diffClearsSizeGuard(output, input.fullOutput)) {
223
287
  return undefined;
224
288
  }
225
289
  return { output, baseToolCallId: evaluation.previousFullReadToolCallId };
226
290
  }
227
- export const buildReadFileToolFactory = createToolFactory("build_readFile", ({ services, skillReadTracker, fileReadTracker, defaultReadMode = "page", }) => {
291
+ export const buildReadFileToolFactory = createToolFactory("build_readFile", ({ services, immutableReadTracker, fileReadTracker, defaultReadMode = "page", }) => {
228
292
  const pages = defaultReadMode === "page";
229
293
  // Only promise the stub when this session will actually return one. At the
230
294
  // default `off`, and under `observe`, the tool always serves content.
231
295
  const dedupeEnforced = fileReadTracker !== undefined && !fileReadTracker.observeOnly;
296
+ // System-skill classification predates `clark.read-dedupe.mode` and
297
+ // applies unconditionally, tracker or not - the security-scan agent
298
+ // (which registers this tool with no tracker at all) still gets
299
+ // `protected: true` summaries for system skills, matching master. Uploads
300
+ // are the new half and roll out independently behind their own flag; a
301
+ // disabled upload path is treated as a normal read.
302
+ const uploadsDedupEnabled = services.features?.dedupUploadReadsEnabled ?? false;
303
+ const classifyImmutable = (filePath) => {
304
+ const kind = immutablePathKind(filePath);
305
+ return kind === "upload" && !uploadsDedupEnabled ? undefined : kind;
306
+ };
232
307
  return {
233
308
  category: ToolCategory.FILE,
234
309
  description: pages
@@ -237,7 +312,10 @@ export const buildReadFileToolFactory = createToolFactory("build_readFile", ({ s
237
312
  - When ranges are omitted, return the first page: up to ${DEFAULT_PAGE_LINES} lines or ${DEFAULT_PAGE_CHARS} characters of file body, whichever is first.
238
313
  - If the last returned line is not the last file line, the result leads with <truncated nextStart="N" remaining="M"/>, including ranged reads that were delivered in full. Resume with ranges starting at N. If there is no <truncated> element, this result reached the end of the file.
239
314
  - File bytes are only inside <content>. <file totalLines="N"> is the full file length. Compare content range attributes to totalLines to see which lines this result actually holds.
240
- - Org, user, integration, and app skill files that wrap under ${MAX_LIMIT_READ_FILES} characters are returned in full.
315
+ - Org, user, integration, and app skill files that wrap under ${MAX_LIMIT_READ_FILES} characters are returned in full.${uploadsDedupEnabled
316
+ ? `
317
+ - Attached files under .superblocks/uploads/ that wrap under ${MAX_LIMIT_READ_FILES} characters are also returned in full.`
318
+ : ""}
241
319
  - System skill files under ${SKILL_FULL_READ_CHARS} characters are returned in full.
242
320
  - Explicit ranges are returned as requested. Multiple ranges are allowed. The wrapped result must stay under ${MAX_LIMIT_READ_FILES} characters; oversized ranges error instead of truncating.${dedupeEnforced
243
321
  ? `
@@ -270,16 +348,30 @@ export const buildReadFileToolFactory = createToolFactory("build_readFile", ({ s
270
348
  }))
271
349
  .optional()
272
350
  .describe(pages
273
- ? `Optional 1-indexed inclusive line ranges. If omitted, the first page is returned (${DEFAULT_PAGE_LINES} lines or ${DEFAULT_PAGE_CHARS} characters, whichever is first) unless this is a skill file under ${MAX_LIMIT_READ_FILES} characters or a system skill under ${SKILL_FULL_READ_CHARS} characters.`
351
+ ? `Optional 1-indexed inclusive line ranges. If omitted, the first page is returned (${DEFAULT_PAGE_LINES} lines or ${DEFAULT_PAGE_CHARS} characters, whichever is first) unless this is a skill file under ${MAX_LIMIT_READ_FILES} characters${uploadsDedupEnabled ? `, an attached file under ${MAX_LIMIT_READ_FILES} characters,` : ""} or a system skill under ${SKILL_FULL_READ_CHARS} characters.`
274
352
  : "Optional 1-indexed inclusive line ranges. If omitted, the entire file is returned."),
275
353
  }),
276
- execute: async ({ filePath, ranges }, { toolCallId }) => {
277
- const isSystemSkill = filePath.startsWith(SKILL_PATH_PREFIXES[SkillLayer.SYSTEM]);
354
+ execute: async ({ filePath: rawFilePath, ranges }, { toolCallId }) => {
355
+ // Classify, key, and read on the normalized path so the same file
356
+ // spelled two ways (e.g. a leading "./") shares one dedup entry and
357
+ // resolves to the same content. Reading the raw path while keying on
358
+ // the normalized one would let a non-canonical spelling
359
+ // ("./skills/system/…", which skips the skill-path routing) bind a
360
+ // physical file to a virtual skill's dedup key.
361
+ const filePath = path.posix.normalize(rawFilePath);
362
+ const immutableKind = classifyImmutable(filePath);
363
+ // Uploads are the only kind `classifyImmutable` ever filters out, so
364
+ // this is equivalent to a raw `immutablePathKind` check but avoids
365
+ // normalizing the path twice.
366
+ const isSystemSkill = immutableKind === "system_skill";
278
367
  const unranged = !ranges || ranges.length === 0;
279
- // Deduplicate full reads of system skill files that are already in
280
- // context. Predates the read ledger and stays until the ledger is at
281
- // 100%: it also drives `protected`, not just dedupe.
282
- if (isSystemSkill && unranged && skillReadTracker?.hasRead(filePath)) {
368
+ // Deduplicate full reads of immutable-path files that are already in
369
+ // context. Kept as its own tracker rather than folded into the
370
+ // ledger's `evaluate`: it also drives `protected`, not just dedupe.
371
+ if (immutableKind &&
372
+ unranged &&
373
+ immutableReadTracker?.hasRead(filePath)) {
374
+ recordBuildReadFileImmutableRead(immutableKind, "hit");
283
375
  return ALREADY_READ_MESSAGE;
284
376
  }
285
377
  try {
@@ -315,7 +407,14 @@ export const buildReadFileToolFactory = createToolFactory("build_readFile", ({ s
315
407
  if (skillCarveOut || !pages) {
316
408
  return buildFullRead(lines, totalLines, !skillCarveOut);
317
409
  }
318
- if (isUserAuthoredSkillPath(filePath)) {
410
+ // Uploads join the user-authored-skill one-shot: try the whole
411
+ // file, keep it only if it renders under the cap. Unlike the
412
+ // system-skill carve-out this never exceeds MAX_LIMIT_READ_FILES,
413
+ // so a large attachment still falls through to paging rather
414
+ // than being force-read - dedupe/protection require `complete`,
415
+ // which this is how an upload under the cap ever reaches.
416
+ if (isUserAuthoredSkillPath(filePath) ||
417
+ immutableKind === "upload") {
319
418
  const full = buildLeadingBlock(lines, totalLines, totalLines, false);
320
419
  if (renderReadFileOutput(full).length <= MAX_LIMIT_READ_FILES) {
321
420
  return full;
@@ -396,8 +495,9 @@ export const buildReadFileToolFactory = createToolFactory("build_readFile", ({ s
396
495
  if (capMessage) {
397
496
  enforceRenderedCap(result, lines, capMessage);
398
497
  }
399
- if (unranged && isSystemSkill && result.complete) {
400
- skillReadTracker?.markRead(filePath);
498
+ if (unranged && immutableKind && result.complete) {
499
+ immutableReadTracker?.markRead(filePath, toolCallId);
500
+ recordBuildReadFileImmutableRead(immutableKind, "miss");
401
501
  }
402
502
  return result;
403
503
  }
@@ -414,12 +514,12 @@ export const buildReadFileToolFactory = createToolFactory("build_readFile", ({ s
414
514
  }
415
515
  enforceRenderedCap(result, lines, capMessage);
416
516
  }
417
- // `unranged` matters: the legacy skill dedupe only ever armed on a
517
+ // `unranged` matters: the immutable-path dedupe only ever arms on a
418
518
  // whole-file request with no ranges. A ranged read that happens to
419
- // span the file must not arm it, or `off` stops reproducing prior
420
- // behavior - this call is not gated on the ledger being on.
421
- if (unranged && isSystemSkill && result.complete) {
422
- skillReadTracker?.markRead(filePath);
519
+ // span the file must not arm it.
520
+ if (unranged && immutableKind && result.complete) {
521
+ immutableReadTracker?.markRead(filePath, toolCallId);
522
+ recordBuildReadFileImmutableRead(immutableKind, "miss");
423
523
  }
424
524
  recordAppKnowledgeReadIfApplicable(filePath);
425
525
  // Decided before recording, because what gets recorded depends on
@@ -485,11 +585,17 @@ export const buildReadFileToolFactory = createToolFactory("build_readFile", ({ s
485
585
  */
486
586
  skipOutputLimit: (output) => isReadFileContent(output) || isDiffReinjectionOutput(output),
487
587
  getSummary: (input, output) => {
488
- const isSystemSkill = input.filePath.startsWith(SKILL_PATH_PREFIXES[SkillLayer.SYSTEM]);
489
- // Protecting a stub costs real tokens for nothing.
490
- if (typeof output === "string" &&
491
- output.startsWith("<file path=") &&
492
- output.includes(BUILD_READ_FILE_STUB_MARKER)) {
588
+ // Kept unnormalized: this mirrors the classification the model's own
589
+ // request would see, and matches the tracker keying that dedup relied
590
+ // on before the normalize fix, which never touched getSummary.
591
+ const immutableKind = classifyImmutable(input.filePath);
592
+ // Protecting a stub costs real tokens for nothing. The original
593
+ // read is already protected (or wasn't), so pinning the stub too
594
+ // would be pure waste.
595
+ if (output === ALREADY_READ_MESSAGE ||
596
+ (typeof output === "string" &&
597
+ output.startsWith("<file path=") &&
598
+ output.includes(BUILD_READ_FILE_STUB_MARKER))) {
493
599
  return { output: "already in context", protected: false };
494
600
  }
495
601
  // A diff is derived from a prior read that is still live elsewhere in
@@ -499,19 +605,26 @@ export const buildReadFileToolFactory = createToolFactory("build_readFile", ({ s
499
605
  return { output: "diff", protected: false };
500
606
  }
501
607
  if (!isReadFileContent(output)) {
502
- return { output: "full read", protected: isSystemSkill };
608
+ return { output: "full read", protected: Boolean(immutableKind) };
503
609
  }
610
+ // Protect only a read that covers the whole file, never a partial
611
+ // page - the same `output.complete` bar applies to both kinds.
612
+ // System skills are a small, in-repo family worth pinning once
613
+ // whole; uploads are bounded attachments whose partial pages must
614
+ // stay compactable, so a multi-range read of one (never `complete`)
615
+ // is never protected either.
504
616
  if ((!input.ranges || input.ranges.length === 0) && output.complete) {
505
- return { output: "full read", protected: isSystemSkill };
617
+ return { output: "full read", protected: Boolean(immutableKind) };
506
618
  }
507
619
  const rangeText = output.ranges
508
620
  .map((range) => `${range.start}-${range.end}`)
509
621
  .join(", ");
510
622
  // A read that stops short of the file is a candidate for compaction
511
- // however it was requested; pinning half a skill helps nobody.
623
+ // however it was requested; pinning half a skill or attachment helps
624
+ // nobody.
512
625
  return {
513
626
  output: rangeText ? `lines ${rangeText}` : "partial read",
514
- protected: isSystemSkill && output.complete,
627
+ protected: Boolean(immutableKind) && output.complete,
515
628
  };
516
629
  },
517
630
  };
@@ -1 +1 @@
1
- {"version":3,"file":"build-read-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-read-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-read-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-read-file.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export declare const buildGetLogsToolFactory: import("../tools2/types.js").ToolF
37
37
  services: ClarkStateHandlerParams;
38
38
  }, import("../tools2/types.js").Tool<{
39
39
  limit?: number | undefined;
40
- level?: "error" | "warn" | "info" | "debug" | "log" | undefined;
40
+ level?: "error" | "warn" | "info" | "log" | "debug" | undefined;
41
41
  includeStepOutputs?: boolean | undefined;
42
42
  prefix?: string | undefined;
43
43
  apiId?: string | undefined;
@@ -59,7 +59,7 @@ export declare const buildGetLogsToolFactory: import("../tools2/types.js").ToolF
59
59
  id: string;
60
60
  timestamp: number | undefined;
61
61
  timeAgo: string;
62
- level: "error" | "warn" | "info" | "debug" | "log";
62
+ level: "error" | "warn" | "info" | "log" | "debug";
63
63
  message: string;
64
64
  messageTruncated: boolean;
65
65
  messageOriginalLength: number | undefined;
@@ -5,8 +5,9 @@ export { buildCopyFileToolFactory } from "./build-copy-file.js";
5
5
  export { buildWriteFileToolFactory } from "./build-write-file.js";
6
6
  export { buildEditFileToolFactory } from "./build-edit-file.js";
7
7
  export { buildMultiEditFileToolFactory } from "./build-multi-edit-file.js";
8
- export { buildReadFileToolFactory, type SkillReadTracker, type FileReadTracker, BUILD_READ_FILE_STUB_MARKER, } from "./build-read-file.js";
9
- export { isIsolatedSubagentActive, withSubagentIsolation, } from "./subagent-isolation.js";
8
+ export { buildReadFileToolFactory, type ImmutableReadTracker, type FileReadTracker, BUILD_READ_FILE_STUB_MARKER, DIFF_REINJECTION_OUTPUT_PREFIX, } from "./build-read-file.js";
9
+ export { isIsolatedSubagentActive } from "./subagent-isolation.js";
10
+ export { createReadStateTrackers, type ReadStateContext, } from "./read-state-trackers.js";
10
11
  export { buildListFilesToolFactory } from "./build-list-files.js";
11
12
  export { buildDebugToolFactory } from "./build-debug.js";
12
13
  export { clearErrorCacheToolFactory } from "./clear-error-cache.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EACL,0CAA0C,EAC1C,qCAAqC,GACtC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EACL,0CAA0C,EAC1C,qCAAqC,GACtC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC"}
@@ -5,8 +5,9 @@ export { buildCopyFileToolFactory } from "./build-copy-file.js";
5
5
  export { buildWriteFileToolFactory } from "./build-write-file.js";
6
6
  export { buildEditFileToolFactory } from "./build-edit-file.js";
7
7
  export { buildMultiEditFileToolFactory } from "./build-multi-edit-file.js";
8
- export { buildReadFileToolFactory, BUILD_READ_FILE_STUB_MARKER, } from "./build-read-file.js";
9
- export { isIsolatedSubagentActive, withSubagentIsolation, } from "./subagent-isolation.js";
8
+ export { buildReadFileToolFactory, BUILD_READ_FILE_STUB_MARKER, DIFF_REINJECTION_OUTPUT_PREFIX, } from "./build-read-file.js";
9
+ export { isIsolatedSubagentActive } from "./subagent-isolation.js";
10
+ export { createReadStateTrackers, } from "./read-state-trackers.js";
10
11
  export { buildListFilesToolFactory } from "./build-list-files.js";
11
12
  export { buildDebugToolFactory } from "./build-debug.js";
12
13
  export { clearErrorCacheToolFactory } from "./clear-error-cache.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,wBAAwB,EAGxB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EACL,0CAA0C,EAC1C,qCAAqC,GACtC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,wBAAwB,EAGxB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,uBAAuB,GAExB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EACL,0CAA0C,EAC1C,qCAAqC,GACtC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC"}
@@ -67,14 +67,14 @@ declare const inputSchema: z.ZodObject<{
67
67
  }, "strip", z.ZodTypeAny, {
68
68
  path: string;
69
69
  httpMethod: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
70
- headers?: Record<string, string> | undefined;
71
70
  body?: string | undefined;
71
+ headers?: Record<string, string> | undefined;
72
72
  queryParams?: Record<string, string> | undefined;
73
73
  }, {
74
74
  path: string;
75
75
  httpMethod: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
76
- headers?: Record<string, string> | undefined;
77
76
  body?: string | undefined;
77
+ headers?: Record<string, string> | undefined;
78
78
  queryParams?: Record<string, string> | undefined;
79
79
  }>;
80
80
  }, "strip", z.ZodTypeAny, {
@@ -82,8 +82,8 @@ declare const inputSchema: z.ZodObject<{
82
82
  httpRequest: {
83
83
  path: string;
84
84
  httpMethod: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
85
- headers?: Record<string, string> | undefined;
86
85
  body?: string | undefined;
86
+ headers?: Record<string, string> | undefined;
87
87
  queryParams?: Record<string, string> | undefined;
88
88
  };
89
89
  }, {
@@ -91,8 +91,8 @@ declare const inputSchema: z.ZodObject<{
91
91
  httpRequest: {
92
92
  path: string;
93
93
  httpMethod: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
94
- headers?: Record<string, string> | undefined;
95
94
  body?: string | undefined;
95
+ headers?: Record<string, string> | undefined;
96
96
  queryParams?: Record<string, string> | undefined;
97
97
  };
98
98
  }>, z.ZodObject<{
@@ -174,14 +174,14 @@ declare const inputSchema: z.ZodObject<{
174
174
  type: "gcs";
175
175
  action: string;
176
176
  path?: string | undefined;
177
- resource?: string | undefined;
178
177
  prefix?: string | undefined;
178
+ resource?: string | undefined;
179
179
  }, {
180
180
  type: "gcs";
181
181
  action: string;
182
182
  path?: string | undefined;
183
- resource?: string | undefined;
184
183
  prefix?: string | undefined;
184
+ resource?: string | undefined;
185
185
  }>, z.ZodObject<{
186
186
  type: z.ZodLiteral<"mongodb">;
187
187
  action: z.ZodEnum<[string, ...string[]]>;
@@ -252,8 +252,8 @@ declare const inputSchema: z.ZodObject<{
252
252
  httpRequest: {
253
253
  path: string;
254
254
  httpMethod: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
255
- headers?: Record<string, string> | undefined;
256
255
  body?: string | undefined;
256
+ headers?: Record<string, string> | undefined;
257
257
  queryParams?: Record<string, string> | undefined;
258
258
  };
259
259
  } | {
@@ -281,8 +281,8 @@ declare const inputSchema: z.ZodObject<{
281
281
  type: "gcs";
282
282
  action: string;
283
283
  path?: string | undefined;
284
- resource?: string | undefined;
285
284
  prefix?: string | undefined;
285
+ resource?: string | undefined;
286
286
  } | {
287
287
  type: "mongodb";
288
288
  action: string;
@@ -300,8 +300,8 @@ declare const inputSchema: z.ZodObject<{
300
300
  type: "other";
301
301
  body: string;
302
302
  };
303
- integrationId: string;
304
303
  operation: "read" | "write";
304
+ integrationId: string;
305
305
  }, {
306
306
  description: {
307
307
  request: string;
@@ -323,8 +323,8 @@ declare const inputSchema: z.ZodObject<{
323
323
  httpRequest: {
324
324
  path: string;
325
325
  httpMethod: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
326
- headers?: Record<string, string> | undefined;
327
326
  body?: string | undefined;
327
+ headers?: Record<string, string> | undefined;
328
328
  queryParams?: Record<string, string> | undefined;
329
329
  };
330
330
  } | {
@@ -352,8 +352,8 @@ declare const inputSchema: z.ZodObject<{
352
352
  type: "gcs";
353
353
  action: string;
354
354
  path?: string | undefined;
355
- resource?: string | undefined;
356
355
  prefix?: string | undefined;
356
+ resource?: string | undefined;
357
357
  } | {
358
358
  type: "mongodb";
359
359
  action: string;
@@ -371,8 +371,8 @@ declare const inputSchema: z.ZodObject<{
371
371
  type: "other";
372
372
  body: string;
373
373
  };
374
- integrationId: string;
375
374
  operation: "read" | "write";
375
+ integrationId: string;
376
376
  }>;
377
377
  type ExecuteRequestInput = z.infer<typeof inputSchema>;
378
378
  export declare const executeRequestToIntegrationToolFactory: import("../../tools2/types.js").ToolFactory<{
@@ -399,8 +399,8 @@ export declare const executeRequestToIntegrationToolFactory: import("../../tools
399
399
  httpRequest: {
400
400
  path: string;
401
401
  httpMethod: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
402
- headers?: Record<string, string> | undefined;
403
402
  body?: string | undefined;
403
+ headers?: Record<string, string> | undefined;
404
404
  queryParams?: Record<string, string> | undefined;
405
405
  };
406
406
  } | {
@@ -428,8 +428,8 @@ export declare const executeRequestToIntegrationToolFactory: import("../../tools
428
428
  type: "gcs";
429
429
  action: string;
430
430
  path?: string | undefined;
431
- resource?: string | undefined;
432
431
  prefix?: string | undefined;
432
+ resource?: string | undefined;
433
433
  } | {
434
434
  type: "mongodb";
435
435
  action: string;
@@ -447,8 +447,8 @@ export declare const executeRequestToIntegrationToolFactory: import("../../tools
447
447
  type: "other";
448
448
  body: string;
449
449
  };
450
- integrationId: string;
451
450
  operation: "read" | "write";
451
+ integrationId: string;
452
452
  }, {
453
453
  data: string;
454
454
  isPartial: boolean;
@@ -0,0 +1,33 @@
1
+ import type { ContextV2 } from "../../llm/context-v2/context.js";
2
+ import type { FileReadTracker, ImmutableReadTracker } from "./build-read-file.js";
3
+ /**
4
+ * The slice of the conversation context that per-session read state lives on.
5
+ * `Pick` rather than a hand-written shape so this port cannot drift from the
6
+ * methods it names.
7
+ */
8
+ export type ReadStateContext = Pick<ContextV2, "hasReadImmutablePath" | "markImmutablePathRead" | "evaluateFileRead" | "recordFileRead" | "recordFileReadStub" | "fileReadLedgerSize" | "getLiveToolResultText">;
9
+ /**
10
+ * Builds the immutable-path tracker and the file-read ledger tracker that
11
+ * `build_readFile` reads its "already have this?" answers from, both
12
+ * isolated from an active sub-agent at the point they resolve the
13
+ * conversation's context.
14
+ *
15
+ * A sub-agent reuses the parent's tool instances but streams against its own
16
+ * unpersisted message list, so the parent's context describes neither what
17
+ * the sub-agent can see nor what it will leave behind: reads must be served
18
+ * in full, and writes must not land. `visible()` says that once, for every
19
+ * member below - any exception to it (there are two) has to be argued for in
20
+ * place, right where it deviates.
21
+ */
22
+ export declare function createReadStateTrackers(options: {
23
+ /** The conversation's context, or undefined when none is loaded. */
24
+ resolveContext: () => ReadStateContext | undefined;
25
+ /** True while an isolated sub-agent runs on the parent's tool instances. */
26
+ isIsolated: () => boolean;
27
+ dedupeMode: "off" | "observe" | "enforce";
28
+ diffReinjectionEnabled: boolean;
29
+ }): {
30
+ immutableReadTracker: ImmutableReadTracker;
31
+ fileReadTracker: FileReadTracker | undefined;
32
+ };
33
+ //# sourceMappingURL=read-state-trackers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-state-trackers.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/read-state-trackers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,SAAS,EACP,sBAAsB,GACtB,uBAAuB,GACvB,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,CAC1B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,oEAAoE;IACpE,cAAc,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAC;IACnD,4EAA4E;IAC5E,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,UAAU,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,sBAAsB,EAAE,OAAO,CAAC;CACjC,GAAG;IACF,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;CAC9C,CA8DA"}