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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/ai-service/agent/clark-prompt-metrics.d.ts +8 -0
  2. package/dist/ai-service/agent/clark-prompt-metrics.d.ts.map +1 -0
  3. package/dist/ai-service/agent/clark-prompt-metrics.js +52 -0
  4. package/dist/ai-service/agent/clark-prompt-metrics.js.map +1 -0
  5. package/dist/ai-service/agent/prompts/api-prompts.d.ts.map +1 -1
  6. package/dist/ai-service/agent/prompts/api-prompts.js +5 -3
  7. package/dist/ai-service/agent/prompts/api-prompts.js.map +1 -1
  8. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  9. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +46 -8
  10. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  11. package/dist/ai-service/agent/tool-result-metrics.d.ts +12 -0
  12. package/dist/ai-service/agent/tool-result-metrics.d.ts.map +1 -1
  13. package/dist/ai-service/agent/tool-result-metrics.js +29 -0
  14. package/dist/ai-service/agent/tool-result-metrics.js.map +1 -1
  15. package/dist/ai-service/agent/tools/apis/attachment-file-inputs.d.ts +17 -0
  16. package/dist/ai-service/agent/tools/apis/attachment-file-inputs.d.ts.map +1 -0
  17. package/dist/ai-service/agent/tools/apis/attachment-file-inputs.js +208 -0
  18. package/dist/ai-service/agent/tools/apis/attachment-file-inputs.js.map +1 -0
  19. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts +6 -1
  20. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts.map +1 -1
  21. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +53 -19
  22. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
  23. package/dist/ai-service/agent/tools/apis/sdk-root-documentation.d.ts +20 -0
  24. package/dist/ai-service/agent/tools/apis/sdk-root-documentation.d.ts.map +1 -0
  25. package/dist/ai-service/agent/tools/apis/sdk-root-documentation.js +284 -0
  26. package/dist/ai-service/agent/tools/apis/sdk-root-documentation.js.map +1 -0
  27. package/dist/ai-service/agent/tools/apis/spreadsheet-csv.d.ts +77 -0
  28. package/dist/ai-service/agent/tools/apis/spreadsheet-csv.d.ts.map +1 -0
  29. package/dist/ai-service/agent/tools/apis/spreadsheet-csv.js +627 -0
  30. package/dist/ai-service/agent/tools/apis/spreadsheet-csv.js.map +1 -0
  31. package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -0
  32. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  33. package/dist/ai-service/agent/tools/apis/test-api.js +51 -9
  34. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  35. package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts +1 -1
  36. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
  37. package/dist/ai-service/agent/tools/build-read-file.d.ts +50 -6
  38. package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
  39. package/dist/ai-service/agent/tools/build-read-file.js +153 -40
  40. package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
  41. package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
  42. package/dist/ai-service/agent/tools/index.d.ts +3 -2
  43. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  44. package/dist/ai-service/agent/tools/index.js +3 -2
  45. package/dist/ai-service/agent/tools/index.js.map +1 -1
  46. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +15 -15
  47. package/dist/ai-service/agent/tools/read-state-trackers.d.ts +33 -0
  48. package/dist/ai-service/agent/tools/read-state-trackers.d.ts.map +1 -0
  49. package/dist/ai-service/agent/tools/read-state-trackers.js +67 -0
  50. package/dist/ai-service/agent/tools/read-state-trackers.js.map +1 -0
  51. package/dist/ai-service/agent/tools/report-security-findings.d.ts +6 -6
  52. package/dist/ai-service/agent/tools/report-security-findings.d.ts.map +1 -1
  53. package/dist/ai-service/agent/tools/report-security-findings.js +4 -2
  54. package/dist/ai-service/agent/tools/report-security-findings.js.map +1 -1
  55. package/dist/ai-service/agent/tools/subagent-isolation.d.ts +4 -15
  56. package/dist/ai-service/agent/tools/subagent-isolation.d.ts.map +1 -1
  57. package/dist/ai-service/agent/tools/subagent-isolation.js +4 -44
  58. package/dist/ai-service/agent/tools/subagent-isolation.js.map +1 -1
  59. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  60. package/dist/ai-service/agent/tools.js +17 -64
  61. package/dist/ai-service/agent/tools.js.map +1 -1
  62. package/dist/ai-service/agent/tools2/registry.d.ts +1 -0
  63. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  64. package/dist/ai-service/agent/tools2/registry.js +23 -5
  65. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  66. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts +3 -6
  67. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -1
  68. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +65 -2
  69. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
  70. package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.d.ts +9 -0
  71. package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.d.ts.map +1 -0
  72. package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.js +52 -0
  73. package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.js.map +1 -0
  74. package/dist/ai-service/agent/tools2/tools/bash.d.ts +2 -2
  75. package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts +1 -1
  76. package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts.map +1 -1
  77. package/dist/ai-service/agent/tools2/tools/download-attachments.js +57 -49
  78. package/dist/ai-service/agent/tools2/tools/download-attachments.js.map +1 -1
  79. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +3 -3
  80. package/dist/ai-service/agent/tools2/tools/git.d.ts +6 -6
  81. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
  82. package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
  83. package/dist/ai-service/agent/tools2/tools/grep.js +1 -1
  84. package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts +1 -1
  85. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +1 -1
  86. package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts +1 -1
  87. package/dist/ai-service/agent/utils.d.ts +5 -1
  88. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  89. package/dist/ai-service/agent/utils.js +75 -21
  90. package/dist/ai-service/agent/utils.js.map +1 -1
  91. package/dist/ai-service/app-skills/helpers.d.ts +8 -2
  92. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  93. package/dist/ai-service/app-skills/helpers.js +184 -4
  94. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  95. package/dist/ai-service/attachments/text-upload-artifacts.d.ts.map +1 -1
  96. package/dist/ai-service/attachments/text-upload-artifacts.js +1 -1
  97. package/dist/ai-service/attachments/text-upload-artifacts.js.map +1 -1
  98. package/dist/ai-service/attachments/upload-artifact-paths.d.ts +5 -0
  99. package/dist/ai-service/attachments/upload-artifact-paths.d.ts.map +1 -0
  100. package/dist/ai-service/attachments/upload-artifact-paths.js +18 -0
  101. package/dist/ai-service/attachments/upload-artifact-paths.js.map +1 -0
  102. package/dist/ai-service/chat/chat-session-store-metrics.d.ts +6 -0
  103. package/dist/ai-service/chat/chat-session-store-metrics.d.ts.map +1 -1
  104. package/dist/ai-service/chat/chat-session-store-metrics.js +23 -1
  105. package/dist/ai-service/chat/chat-session-store-metrics.js.map +1 -1
  106. package/dist/ai-service/chat/chat-session-store.d.ts +25 -1
  107. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  108. package/dist/ai-service/chat/chat-session-store.js +70 -4
  109. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  110. package/dist/ai-service/edit-after-clark.d.ts +58 -0
  111. package/dist/ai-service/edit-after-clark.d.ts.map +1 -0
  112. package/dist/ai-service/edit-after-clark.js +143 -0
  113. package/dist/ai-service/edit-after-clark.js.map +1 -0
  114. package/dist/ai-service/features.d.ts +5 -0
  115. package/dist/ai-service/features.d.ts.map +1 -1
  116. package/dist/ai-service/features.js +5 -0
  117. package/dist/ai-service/features.js.map +1 -1
  118. package/dist/ai-service/index.d.ts +25 -3
  119. package/dist/ai-service/index.d.ts.map +1 -1
  120. package/dist/ai-service/index.js +123 -18
  121. package/dist/ai-service/index.js.map +1 -1
  122. package/dist/ai-service/judge/tools/playwright-action.d.ts +5 -5
  123. package/dist/ai-service/llm/context-v2/context.d.ts +23 -6
  124. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  125. package/dist/ai-service/llm/context-v2/context.js +48 -13
  126. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  127. package/dist/ai-service/llm/context-v2/token-tracker.d.ts.map +1 -1
  128. package/dist/ai-service/llm/context-v2/token-tracker.js.map +1 -1
  129. package/dist/ai-service/llm/stream/abort-reason.d.ts +31 -0
  130. package/dist/ai-service/llm/stream/abort-reason.d.ts.map +1 -0
  131. package/dist/ai-service/llm/stream/abort-reason.js +36 -0
  132. package/dist/ai-service/llm/stream/abort-reason.js.map +1 -0
  133. package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
  134. package/dist/ai-service/llm/stream/idle-monitor.js +7 -0
  135. package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
  136. package/dist/ai-service/llm/stream/observers/attempt-model.d.ts +8 -0
  137. package/dist/ai-service/llm/stream/observers/attempt-model.d.ts.map +1 -0
  138. package/dist/ai-service/llm/stream/observers/attempt-model.js +15 -0
  139. package/dist/ai-service/llm/stream/observers/attempt-model.js.map +1 -0
  140. package/dist/ai-service/llm/stream/orchestrator.d.ts +15 -0
  141. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  142. package/dist/ai-service/llm/stream/orchestrator.js +89 -12
  143. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  144. package/dist/ai-service/migration-prompt-gating.d.ts +1 -0
  145. package/dist/ai-service/migration-prompt-gating.d.ts.map +1 -1
  146. package/dist/ai-service/migration-prompt-gating.js +6 -0
  147. package/dist/ai-service/migration-prompt-gating.js.map +1 -1
  148. package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -1
  149. package/dist/ai-service/skills/system/_registry.generated.js +8 -0
  150. package/dist/ai-service/skills/system/_registry.generated.js.map +1 -1
  151. package/dist/ai-service/skills/system/resolve.d.ts.map +1 -1
  152. package/dist/ai-service/skills/system/resolve.js +29 -4
  153. package/dist/ai-service/skills/system/resolve.js.map +1 -1
  154. package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.d.ts +2 -0
  155. package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.d.ts.map +1 -0
  156. package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.js +66 -0
  157. package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.js.map +1 -0
  158. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.d.ts +2 -0
  159. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.d.ts.map +1 -0
  160. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.js +5 -0
  161. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.js.map +1 -0
  162. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.d.ts +2 -0
  163. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.d.ts.map +1 -0
  164. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.js +5 -0
  165. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.js.map +1 -0
  166. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  167. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  168. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +2 -1
  169. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  170. package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts +1 -1
  171. package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts.map +1 -1
  172. package/dist/ai-service/skills/system/superblocks-migration/skill.generated.js +6 -6
  173. package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.d.ts +2 -0
  174. package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.d.ts.map +1 -0
  175. package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.js +29 -0
  176. package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.js.map +1 -0
  177. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
  178. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
  179. package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +2 -2
  180. package/dist/ai-service/state-machine/clark-fsm.d.ts +14 -1
  181. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  182. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  183. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  184. package/dist/ai-service/state-machine/handlers/llm-generating.js +9 -2
  185. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  186. package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.d.ts +18 -0
  187. package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.d.ts.map +1 -0
  188. package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.js +66 -0
  189. package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.js.map +1 -0
  190. package/dist/ai-service/state-machine/helpers/transition.d.ts.map +1 -1
  191. package/dist/ai-service/state-machine/helpers/transition.js.map +1 -1
  192. package/dist/ai-service/state-machine/traced-fsm.d.ts +12 -3
  193. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  194. package/dist/ai-service/state-machine/traced-fsm.js +17 -5
  195. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  196. package/dist/ai-service/template-renderer.js +43 -7
  197. package/dist/ai-service/template-renderer.js.map +1 -1
  198. package/dist/ai-service/types.d.ts +2 -0
  199. package/dist/ai-service/types.d.ts.map +1 -1
  200. package/dist/ai-service/types.js.map +1 -1
  201. package/dist/ai-service/util/llm-config-utils.d.ts +2 -2
  202. package/dist/ai-service/util/llm-config-utils.d.ts.map +1 -1
  203. package/dist/ai-service/util/llm-config-utils.js +3 -2
  204. package/dist/ai-service/util/llm-config-utils.js.map +1 -1
  205. package/dist/file-sync-vite-plugin.d.ts +12 -3
  206. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  207. package/dist/file-sync-vite-plugin.js +57 -17
  208. package/dist/file-sync-vite-plugin.js.map +1 -1
  209. package/dist/migration/migration-routes.d.ts.map +1 -1
  210. package/dist/migration/migration-routes.js +42 -23
  211. package/dist/migration/migration-routes.js.map +1 -1
  212. package/dist/npm/normalize-workspace-protocol-for-npm.d.ts.map +1 -1
  213. package/dist/npm/normalize-workspace-protocol-for-npm.js +5 -5
  214. package/dist/npm/normalize-workspace-protocol-for-npm.js.map +1 -1
  215. package/dist/npm/rewrite-platform-workspace-deps.d.ts +2 -0
  216. package/dist/npm/rewrite-platform-workspace-deps.d.ts.map +1 -1
  217. package/dist/npm/rewrite-platform-workspace-deps.js +2 -2
  218. package/dist/npm/rewrite-platform-workspace-deps.js.map +1 -1
  219. package/dist/policy-gate-runner.d.ts.map +1 -1
  220. package/dist/policy-gate-runner.js +3 -0
  221. package/dist/policy-gate-runner.js.map +1 -1
  222. package/dist/socket-manager.d.ts +1 -1
  223. package/dist/socket-manager.d.ts.map +1 -1
  224. package/dist/socket-manager.js +64 -22
  225. package/dist/socket-manager.js.map +1 -1
  226. package/dist/sync-service/index.d.ts +14 -1
  227. package/dist/sync-service/index.d.ts.map +1 -1
  228. package/dist/sync-service/index.js +27 -1
  229. package/dist/sync-service/index.js.map +1 -1
  230. package/dist/sync-service/list-dir.d.ts.map +1 -1
  231. package/dist/sync-service/list-dir.js +15 -1
  232. package/dist/sync-service/list-dir.js.map +1 -1
  233. package/dist/sync-service/snapshot/take-snapshot.d.ts +6 -0
  234. package/dist/sync-service/snapshot/take-snapshot.d.ts.map +1 -1
  235. package/dist/sync-service/snapshot/take-snapshot.js +21 -0
  236. package/dist/sync-service/snapshot/take-snapshot.js.map +1 -1
  237. package/dist/vite-plugin-yaml-types.d.ts +6 -0
  238. package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
  239. package/dist/vite-plugin-yaml-types.js +52 -61
  240. package/dist/vite-plugin-yaml-types.js.map +1 -1
  241. package/package.json +14 -11
@@ -0,0 +1,284 @@
1
+ import { createHash } from "node:crypto";
2
+ import { fromMarkdown } from "mdast-util-from-markdown";
3
+ import { safeJsonStringify } from "../../../../util/log-sanitizer.js";
4
+ const EMPTY_SOURCE_ID = "missing";
5
+ const INDEX_SECTION_ID = "@index";
6
+ function nodeOffset(node, edge) {
7
+ return node.position?.[edge].offset;
8
+ }
9
+ function nodeText(node) {
10
+ if ("value" in node && typeof node.value === "string") {
11
+ return node.value;
12
+ }
13
+ if (node.type === "image" || node.type === "imageReference") {
14
+ return node.alt ?? "";
15
+ }
16
+ if ("children" in node) {
17
+ return node.children.map((child) => nodeText(child)).join("");
18
+ }
19
+ return "";
20
+ }
21
+ function sectionSlug(title) {
22
+ return (title
23
+ .normalize("NFKD")
24
+ .replace(/[\u0300-\u036f]/g, "")
25
+ .toLowerCase()
26
+ .replace(/[^a-z0-9]+/g, "-")
27
+ .replace(/^-|-$/g, "")
28
+ .slice(0, 80) || "section");
29
+ }
30
+ function parseRootDocumentation(markdown) {
31
+ const tree = fromMarkdown(markdown);
32
+ const sourceId = markdown
33
+ ? createHash("sha256").update(markdown).digest("hex").slice(0, 12)
34
+ : EMPTY_SOURCE_ID;
35
+ const headings = tree.children.flatMap((node, childIndex) => {
36
+ if (node.type !== "heading") {
37
+ return [];
38
+ }
39
+ const start = nodeOffset(node, "start");
40
+ if (start === undefined) {
41
+ return [];
42
+ }
43
+ return [{ node, childIndex, start }];
44
+ });
45
+ const slugCounts = new Map();
46
+ const sections = headings.map(({ node, childIndex, start }, headingIndex) => {
47
+ const title = nodeText(node).trim();
48
+ const slug = sectionSlug(title);
49
+ const occurrence = (slugCounts.get(slug) ?? 0) + 1;
50
+ slugCounts.set(slug, occurrence);
51
+ const nextBoundaryIndex = headings.findIndex((candidate, candidateIndex) => candidateIndex > headingIndex && candidate.node.depth <= node.depth);
52
+ const boundary = nextBoundaryIndex === -1 ? undefined : headings[nextBoundaryIndex];
53
+ return {
54
+ id: occurrence === 1 ? slug : `${slug}-${occurrence}`,
55
+ title,
56
+ depth: node.depth,
57
+ start,
58
+ end: boundary?.start ?? markdown.length,
59
+ childStart: childIndex,
60
+ childEnd: boundary?.childIndex ?? tree.children.length,
61
+ };
62
+ });
63
+ return { markdown, tree, sourceId, sections };
64
+ }
65
+ function rootResult(documentation, root) {
66
+ return { documentation, root };
67
+ }
68
+ function buildIndex(parsed, notice, orientation, budget = Number.POSITIVE_INFINITY, offset = 0) {
69
+ if (!parsed.markdown) {
70
+ return rootResult([
71
+ orientation,
72
+ "SDK root documentation is unavailable in the installed @superblocksteam/sdk-api package. Do not guess SDK contracts; retry after the package installation is repaired.",
73
+ ]
74
+ .filter(Boolean)
75
+ .join("\n\n"), { sourceId: parsed.sourceId });
76
+ }
77
+ const lines = parsed.sections.map((section) => `${" ".repeat(Math.max(0, section.depth - 1))}- \`${section.id}\` — ${section.title.slice(0, 160)}`);
78
+ if (lines.length === 0) {
79
+ return rootResult("The installed SDK README contains no discoverable Markdown headings. Do not guess SDK contracts; repair or update the installed @superblocksteam/sdk-api package.", { sourceId: parsed.sourceId });
80
+ }
81
+ const header = [
82
+ "## SDK root documentation index",
83
+ "",
84
+ ...(notice ? [`> ${notice}`, ""] : []),
85
+ ...(orientation ? [orientation, ""] : []),
86
+ 'Request an ID below with `getSdkApiDocs({ section: "<id>" })`. If `root.continuation` is present, pass it exactly to `getSdkApiDocs({ continuation: "<token>" })`.',
87
+ "",
88
+ ];
89
+ let end = offset;
90
+ let best = rootResult(header.join("\n"), {
91
+ sourceId: parsed.sourceId,
92
+ section: INDEX_SECTION_ID,
93
+ range: { start: offset, end, total: lines.length },
94
+ continuation: encodeContinuation({
95
+ sourceId: parsed.sourceId,
96
+ section: INDEX_SECTION_ID,
97
+ offset: Math.max(1, end),
98
+ }),
99
+ });
100
+ while (end < lines.length) {
101
+ const candidateEnd = end + 1;
102
+ const continuation = candidateEnd < lines.length
103
+ ? encodeContinuation({
104
+ sourceId: parsed.sourceId,
105
+ section: INDEX_SECTION_ID,
106
+ offset: candidateEnd,
107
+ })
108
+ : undefined;
109
+ const candidate = rootResult([...header, ...lines.slice(offset, candidateEnd)].join("\n"), {
110
+ sourceId: parsed.sourceId,
111
+ section: INDEX_SECTION_ID,
112
+ range: { start: offset, end: candidateEnd, total: lines.length },
113
+ ...(continuation ? { continuation } : {}),
114
+ });
115
+ if (!resultFitsBudget(candidate, budget)) {
116
+ break;
117
+ }
118
+ best = candidate;
119
+ end = candidateEnd;
120
+ }
121
+ return best;
122
+ }
123
+ function encodeContinuation(value) {
124
+ return Buffer.from(JSON.stringify(value)).toString("base64url");
125
+ }
126
+ function decodeContinuation(value) {
127
+ try {
128
+ const parsed = JSON.parse(Buffer.from(value, "base64url").toString("utf8"));
129
+ if (typeof parsed.sourceId !== "string" ||
130
+ typeof parsed.section !== "string" ||
131
+ typeof parsed.offset !== "number" ||
132
+ !Number.isSafeInteger(parsed.offset) ||
133
+ parsed.offset <= 0) {
134
+ return undefined;
135
+ }
136
+ return {
137
+ sourceId: parsed.sourceId,
138
+ section: parsed.section,
139
+ offset: parsed.offset,
140
+ };
141
+ }
142
+ catch {
143
+ return undefined;
144
+ }
145
+ }
146
+ function collectReferenceIdentifiers(node, identifiers) {
147
+ if (node.type === "linkReference" || node.type === "imageReference") {
148
+ identifiers.add(node.identifier.toLowerCase());
149
+ }
150
+ if ("children" in node) {
151
+ for (const child of node.children) {
152
+ collectReferenceIdentifiers(child, identifiers);
153
+ }
154
+ }
155
+ }
156
+ function externalDefinitions(parsed, section) {
157
+ const identifiers = new Set();
158
+ for (const node of parsed.tree.children.slice(section.childStart, section.childEnd)) {
159
+ collectReferenceIdentifiers(node, identifiers);
160
+ }
161
+ if (identifiers.size === 0) {
162
+ return "";
163
+ }
164
+ const definitions = parsed.tree.children.flatMap((node) => {
165
+ if (node.type !== "definition") {
166
+ return [];
167
+ }
168
+ const start = nodeOffset(node, "start");
169
+ const end = nodeOffset(node, "end");
170
+ if (start === undefined ||
171
+ end === undefined ||
172
+ (start >= section.start && end <= section.end) ||
173
+ !identifiers.has(node.identifier.toLowerCase())) {
174
+ return [];
175
+ }
176
+ return [parsed.markdown.slice(start, end)];
177
+ });
178
+ return definitions.length > 0
179
+ ? `\n\n<!-- Reference definitions used by this section -->\n${definitions.join("\n")}`
180
+ : "";
181
+ }
182
+ function resultFitsBudget(result, budget) {
183
+ return safeJsonStringify({ ...result, plugins: [] }).length <= budget;
184
+ }
185
+ function pageResult(parsed, section, offset, end, preamble, definitions) {
186
+ const total = section.end - section.start;
187
+ const continuation = end < total
188
+ ? encodeContinuation({
189
+ sourceId: parsed.sourceId,
190
+ section: section.id,
191
+ offset: end,
192
+ })
193
+ : undefined;
194
+ return rootResult(preamble +
195
+ parsed.markdown.slice(section.start + offset, section.start + end) +
196
+ definitions, {
197
+ sourceId: parsed.sourceId,
198
+ section: section.id,
199
+ range: { start: offset, end, total },
200
+ ...(continuation ? { continuation } : {}),
201
+ });
202
+ }
203
+ function blockBoundaries(parsed, section) {
204
+ const nodes = parsed.tree.children.slice(section.childStart, section.childEnd);
205
+ const boundaries = nodes.slice(1).flatMap((node) => {
206
+ const start = nodeOffset(node, "start");
207
+ return start === undefined ? [] : [start - section.start];
208
+ });
209
+ boundaries.push(section.end - section.start);
210
+ return boundaries;
211
+ }
212
+ function paginateSection(parsed, section, offset, budget, preamble) {
213
+ const total = section.end - section.start;
214
+ const definitions = externalDefinitions(parsed, section);
215
+ const boundaries = blockBoundaries(parsed, section).filter((boundary) => boundary > offset);
216
+ let best = offset;
217
+ for (const boundary of boundaries) {
218
+ if (resultFitsBudget(pageResult(parsed, section, offset, boundary, preamble, definitions), budget)) {
219
+ best = boundary;
220
+ continue;
221
+ }
222
+ break;
223
+ }
224
+ if (best === offset) {
225
+ let low = offset + 1;
226
+ let high = boundaries[0] ?? total;
227
+ while (low <= high) {
228
+ const candidate = Math.floor((low + high) / 2);
229
+ if (resultFitsBudget(pageResult(parsed, section, offset, candidate, preamble, definitions), budget)) {
230
+ best = candidate;
231
+ low = candidate + 1;
232
+ }
233
+ else {
234
+ high = candidate - 1;
235
+ }
236
+ }
237
+ }
238
+ if (best === offset) {
239
+ return rootResult("This SDK README section cannot fit within the tool response budget. Request a narrower nested section from getSdkApiDocs() instead.", { sourceId: parsed.sourceId, section: section.id });
240
+ }
241
+ return pageResult(parsed, section, offset, best, preamble, definitions);
242
+ }
243
+ export function buildRootDocumentation(markdown, selector, budget, notice, orientation) {
244
+ const parsed = parseRootDocumentation(markdown);
245
+ const invalidSelector = (message) => buildIndex(parsed, [notice, message].filter(Boolean).join(" "), orientation, budget);
246
+ if (!selector.section && !selector.continuation) {
247
+ return buildIndex(parsed, notice, orientation, budget);
248
+ }
249
+ if (selector.section && selector.continuation) {
250
+ return invalidSelector("Pass either section or continuation, not both.");
251
+ }
252
+ let sectionId = selector.section;
253
+ let offset = 0;
254
+ if (selector.continuation) {
255
+ const continuation = decodeContinuation(selector.continuation);
256
+ if (!continuation) {
257
+ return invalidSelector("The continuation token is invalid. Choose a section from the current index and start again.");
258
+ }
259
+ if (continuation.sourceId !== parsed.sourceId) {
260
+ return invalidSelector("The continuation token is stale because the installed SDK README changed. Choose a section from this refreshed index and start again.");
261
+ }
262
+ sectionId = continuation.section;
263
+ offset = continuation.offset;
264
+ }
265
+ if (sectionId === INDEX_SECTION_ID) {
266
+ return buildIndex(parsed, notice, orientation, budget, offset);
267
+ }
268
+ const section = parsed.sections.find((candidate) => candidate.id === sectionId);
269
+ if (!section) {
270
+ return invalidSelector(`Unknown SDK README section \`${sectionId ?? ""}\`. Choose an ID from this index.`);
271
+ }
272
+ const total = section.end - section.start;
273
+ if (offset >= total) {
274
+ return invalidSelector("The continuation token points beyond the current section. Choose a section from the index and start again.");
275
+ }
276
+ // Every page repeats the notice and orientation so a section fetched
277
+ // directly, or refetched after compaction, still carries them.
278
+ const preamble = [notice && `> ${notice}`, orientation]
279
+ .filter(Boolean)
280
+ .map((part) => `${part}\n\n`)
281
+ .join("");
282
+ return paginateSection(parsed, section, offset, budget, preamble);
283
+ }
284
+ //# sourceMappingURL=sdk-root-documentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-root-documentation.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/sdk-root-documentation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ export type SpreadsheetSheetRole = "data table" | "derived report" | "empty";
2
+ export type SpreadsheetFormulaExample = {
3
+ cachedResult: string;
4
+ cell: string;
5
+ formula: string;
6
+ };
7
+ export type SpreadsheetColumnDigest = {
8
+ columnIndex: number;
9
+ /** True when the workbook hides this column from its own readers. */
10
+ hidden?: boolean;
11
+ /** The column's formula with row numbers dropped, e.g. "B#*C#". */
12
+ computed?: string;
13
+ /** How many populated cells follow `computed`, e.g. "5000/5000". */
14
+ coverage?: string;
15
+ errorCellCount?: number;
16
+ example?: SpreadsheetFormulaExample;
17
+ /** The cell number format when the column has one, e.g. "yyyy-mm-dd". */
18
+ format?: string;
19
+ name: string;
20
+ type?: "boolean" | "date" | "number" | "text";
21
+ };
22
+ export type SpreadsheetFooterAggregate = {
23
+ aggregates: string[];
24
+ label: string;
25
+ };
26
+ export type SpreadsheetSheetDigest = {
27
+ /** A title above the header row, which belongs on a page rather than a table. */
28
+ banner?: string;
29
+ columns: SpreadsheetColumnDigest[];
30
+ dataRowCount: number;
31
+ footerAggregates?: SpreadsheetFooterAggregate[];
32
+ headerRowNumber: number;
33
+ /** True when the workbook hides this sheet from its own readers. */
34
+ hidden?: boolean;
35
+ /** Sentences written under the table, kept out of the rows. */
36
+ notes?: string[];
37
+ /** Other sheets this sheet's formulas read from. */
38
+ readsFrom?: string[];
39
+ role: SpreadsheetSheetRole;
40
+ sheetName: string;
41
+ };
42
+ export type SpreadsheetCsvSheet = {
43
+ /** Only a data table exports rows; a derived report is described, not imported. */
44
+ csv?: string;
45
+ digest: SpreadsheetSheetDigest;
46
+ /** The CSV file name, present only for a sheet that exports rows. */
47
+ fileName?: string;
48
+ };
49
+ /**
50
+ * A small workbook can expand into far more CSV than it occupies on disk, so
51
+ * bound the converted output the same way archive extraction is bounded.
52
+ */
53
+ export declare const MAX_WORKBOOK_CSV_BYTES: number;
54
+ export declare const MAX_WORKBOOK_CELLS = 1000000;
55
+ /**
56
+ * An `.xlsx` is a zip, so the upload size limit bounds the compressed bytes
57
+ * rather than what the reader builds in memory. A million cells measured out
58
+ * at roughly 40 MiB of sheet XML, so this is the same ceiling as
59
+ * MAX_WORKBOOK_CELLS expressed in the only unit available before the reader
60
+ * has built a grid to count. It covers the whole archive because the reader
61
+ * expands every member it finds.
62
+ */
63
+ export declare const MAX_WORKBOOK_INFLATED_BYTES: number;
64
+ /**
65
+ * Parse an Excel workbook into what an app needs from it: a structure digest
66
+ * describing every sheet, and CSV rows for the sheets that hold data. Generated
67
+ * SDK APIs can only parse CSV, so this conversion happens before the file
68
+ * reaches testApi or the JavaScript sandbox.
69
+ */
70
+ export declare function convertWorkbookToCsvSheets(input: {
71
+ bytes: Uint8Array;
72
+ fileName: string;
73
+ maxCells?: number;
74
+ maxCsvBytes?: number;
75
+ maxInflatedBytes?: number;
76
+ }): Promise<SpreadsheetCsvSheet[]>;
77
+ //# sourceMappingURL=spreadsheet-csv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spreadsheet-csv.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/spreadsheet-csv.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,mFAAmF;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,sBAAsB,CAAC;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAoB,CAAC;AACxD,eAAO,MAAM,kBAAkB,UAAY,CAAC;AAC5C;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,QAAmB,CAAC;AAsU5D;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA2DjC"}