@superblocksteam/vite-plugin-file-sync 2.0.137 → 2.0.138-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 (229) hide show
  1. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  2. package/dist/ai-service/agent/middleware.js +2 -22
  3. package/dist/ai-service/agent/middleware.js.map +1 -1
  4. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +1 -0
  5. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  6. package/dist/ai-service/agent/tools/build-capture-screenshot.js +150 -7
  7. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  8. package/dist/ai-service/agent/tools/build-read-file.d.ts +10 -0
  9. package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
  10. package/dist/ai-service/agent/tools/build-read-file.js +14 -1
  11. package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
  12. package/dist/ai-service/agent/tools/index.d.ts +1 -1
  13. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/index.js +1 -1
  15. package/dist/ai-service/agent/tools/index.js.map +1 -1
  16. package/dist/ai-service/agent/tools.d.ts +1 -1
  17. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  18. package/dist/ai-service/agent/tools.js +15 -1
  19. package/dist/ai-service/agent/tools.js.map +1 -1
  20. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
  21. package/dist/ai-service/agent/tools2/tools/grep.js +2 -1
  22. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
  23. package/dist/ai-service/agent/tools2/tools/remember-knowledge.d.ts.map +1 -1
  24. package/dist/ai-service/agent/tools2/tools/remember-knowledge.js +8 -0
  25. package/dist/ai-service/agent/tools2/tools/remember-knowledge.js.map +1 -1
  26. package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -1
  27. package/dist/ai-service/agent/tools2/tools/start-test-run.js +14 -6
  28. package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -1
  29. package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts +2 -0
  30. package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts.map +1 -1
  31. package/dist/ai-service/agent/tools2/tools/web-fetch.js +10 -5
  32. package/dist/ai-service/agent/tools2/tools/web-fetch.js.map +1 -1
  33. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  34. package/dist/ai-service/agent/utils.js +25 -7
  35. package/dist/ai-service/agent/utils.js.map +1 -1
  36. package/dist/ai-service/app-interface/linter.d.ts.map +1 -1
  37. package/dist/ai-service/app-interface/linter.js +14 -3
  38. package/dist/ai-service/app-interface/linter.js.map +1 -1
  39. package/dist/ai-service/app-interface/npm-package-lookup.d.ts +19 -14
  40. package/dist/ai-service/app-interface/npm-package-lookup.d.ts.map +1 -1
  41. package/dist/ai-service/app-interface/npm-package-lookup.js +56 -23
  42. package/dist/ai-service/app-interface/npm-package-lookup.js.map +1 -1
  43. package/dist/ai-service/app-interface/npm-registry.d.ts +96 -48
  44. package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
  45. package/dist/ai-service/app-interface/npm-registry.js +247 -220
  46. package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
  47. package/dist/ai-service/app-interface/shell.d.ts +36 -0
  48. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  49. package/dist/ai-service/app-interface/shell.js +183 -8
  50. package/dist/ai-service/app-interface/shell.js.map +1 -1
  51. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  52. package/dist/ai-service/app-skills/helpers.js +48 -8
  53. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  54. package/dist/ai-service/app-skills/manager.d.ts +5 -0
  55. package/dist/ai-service/app-skills/manager.d.ts.map +1 -1
  56. package/dist/ai-service/app-skills/manager.js +13 -4
  57. package/dist/ai-service/app-skills/manager.js.map +1 -1
  58. package/dist/ai-service/attachments/uploaded-content-part.d.ts.map +1 -1
  59. package/dist/ai-service/attachments/uploaded-content-part.js +12 -5
  60. package/dist/ai-service/attachments/uploaded-content-part.js.map +1 -1
  61. package/dist/ai-service/index.d.ts +1 -2
  62. package/dist/ai-service/index.d.ts.map +1 -1
  63. package/dist/ai-service/index.js +16 -175
  64. package/dist/ai-service/index.js.map +1 -1
  65. package/dist/ai-service/judge/judge-eval-service-runner.js +0 -4
  66. package/dist/ai-service/judge/judge-eval-service-runner.js.map +1 -1
  67. package/dist/ai-service/judge/judge-service.js +1 -1
  68. package/dist/ai-service/judge/judge-service.js.map +1 -1
  69. package/dist/ai-service/knowledge/knowledge-metrics-emitters.d.ts +20 -0
  70. package/dist/ai-service/knowledge/knowledge-metrics-emitters.d.ts.map +1 -0
  71. package/dist/ai-service/knowledge/knowledge-metrics-emitters.js +77 -0
  72. package/dist/ai-service/knowledge/knowledge-metrics-emitters.js.map +1 -0
  73. package/dist/ai-service/knowledge/knowledge-metrics.d.ts +43 -0
  74. package/dist/ai-service/knowledge/knowledge-metrics.d.ts.map +1 -0
  75. package/dist/ai-service/knowledge/knowledge-metrics.js +217 -0
  76. package/dist/ai-service/knowledge/knowledge-metrics.js.map +1 -0
  77. package/dist/ai-service/llm/client.d.ts +144 -18
  78. package/dist/ai-service/llm/client.d.ts.map +1 -1
  79. package/dist/ai-service/llm/client.js +303 -48
  80. package/dist/ai-service/llm/client.js.map +1 -1
  81. package/dist/ai-service/llm/context-v2/context-metrics.d.ts +1 -0
  82. package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
  83. package/dist/ai-service/llm/context-v2/context-metrics.js +14 -1
  84. package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
  85. package/dist/ai-service/llm/context-v2/context.d.ts +3 -0
  86. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  87. package/dist/ai-service/llm/context-v2/context.js +34 -1
  88. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  89. package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
  90. package/dist/ai-service/llm/context-v2/manager.js +4 -1
  91. package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
  92. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts +1 -1
  93. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -1
  94. package/dist/ai-service/llm/interaction/adapters/vercel.js +19 -4
  95. package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -1
  96. package/dist/ai-service/llm/interaction/provider.d.ts +17 -3
  97. package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -1
  98. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  99. package/dist/ai-service/llm/provider.js +19 -15
  100. package/dist/ai-service/llm/provider.js.map +1 -1
  101. package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
  102. package/dist/ai-service/llm/stream/managed-stream.js +25 -2
  103. package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
  104. package/dist/ai-service/llm/stream/observers/llmobs.d.ts +9 -0
  105. package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
  106. package/dist/ai-service/llm/stream/observers/llmobs.js +22 -5
  107. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  108. package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
  109. package/dist/ai-service/llm/stream/observers/logging.js +17 -12
  110. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  111. package/dist/ai-service/llm/stream/orchestrator.d.ts +1 -0
  112. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  113. package/dist/ai-service/llm/stream/orchestrator.js +131 -0
  114. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  115. package/dist/ai-service/llm/types.d.ts +17 -6
  116. package/dist/ai-service/llm/types.d.ts.map +1 -1
  117. package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.d.ts +3 -1
  118. package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.d.ts.map +1 -1
  119. package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.js +13 -5
  120. package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.js.map +1 -1
  121. package/dist/ai-service/security/safety-classifier.d.ts +14 -1
  122. package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
  123. package/dist/ai-service/security/safety-classifier.js +26 -12
  124. package/dist/ai-service/security/safety-classifier.js.map +1 -1
  125. package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts +1 -1
  126. package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts.map +1 -1
  127. package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js +35 -18
  128. package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js.map +1 -1
  129. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
  130. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
  131. package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +7 -5
  132. package/dist/ai-service/skills/system/third-party-migration/skill.generated.js.map +1 -1
  133. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  134. package/dist/ai-service/state-machine/clark-fsm.js +3 -2
  135. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  136. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  137. package/dist/ai-service/state-machine/handlers/agent-planning.js +14 -7
  138. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  139. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts +1 -1
  140. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  141. package/dist/ai-service/state-machine/handlers/awaiting-user.js +40 -27
  142. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  143. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +14 -0
  144. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  145. package/dist/ai-service/state-machine/handlers/llm-generating.js +72 -16
  146. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  147. package/dist/ai-service/state-machine/handlers/next-steps.d.ts +8 -1
  148. package/dist/ai-service/state-machine/handlers/next-steps.d.ts.map +1 -1
  149. package/dist/ai-service/state-machine/handlers/next-steps.js +13 -11
  150. package/dist/ai-service/state-machine/handlers/next-steps.js.map +1 -1
  151. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  152. package/dist/ai-service/state-machine/helpers/peer.js +3 -2
  153. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  154. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +5 -0
  155. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
  156. package/dist/ai-service/state-machine/helpers/stable-peer.js +37 -0
  157. package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
  158. package/dist/ai-service/template-renderer.d.ts.map +1 -1
  159. package/dist/ai-service/template-renderer.js +2 -2
  160. package/dist/ai-service/template-renderer.js.map +1 -1
  161. package/dist/ai-service/types.d.ts +2 -2
  162. package/dist/ai-service/types.d.ts.map +1 -1
  163. package/dist/dev-server-ws-smoke-client.d.ts +41 -0
  164. package/dist/dev-server-ws-smoke-client.d.ts.map +1 -0
  165. package/dist/dev-server-ws-smoke-client.js +314 -0
  166. package/dist/dev-server-ws-smoke-client.js.map +1 -0
  167. package/dist/early-error-relay.d.ts +31 -0
  168. package/dist/early-error-relay.d.ts.map +1 -0
  169. package/dist/early-error-relay.js +88 -0
  170. package/dist/early-error-relay.js.map +1 -0
  171. package/dist/file-sync-vite-plugin.d.ts +26 -1
  172. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  173. package/dist/file-sync-vite-plugin.js +82 -43
  174. package/dist/file-sync-vite-plugin.js.map +1 -1
  175. package/dist/file-system-helpers.d.ts +13 -0
  176. package/dist/file-system-helpers.d.ts.map +1 -1
  177. package/dist/file-system-helpers.js +18 -1
  178. package/dist/file-system-helpers.js.map +1 -1
  179. package/dist/file-system-manager.d.ts +0 -1
  180. package/dist/file-system-manager.d.ts.map +1 -1
  181. package/dist/file-system-manager.js +0 -53
  182. package/dist/file-system-manager.js.map +1 -1
  183. package/dist/injected-index.d.ts +6 -0
  184. package/dist/injected-index.d.ts.map +1 -1
  185. package/dist/injected-index.js +59 -14
  186. package/dist/injected-index.js.map +1 -1
  187. package/dist/migration/migration-routes.d.ts +3 -0
  188. package/dist/migration/migration-routes.d.ts.map +1 -1
  189. package/dist/migration/migration-routes.js +93 -108
  190. package/dist/migration/migration-routes.js.map +1 -1
  191. package/dist/migration/restructure.d.ts +15 -0
  192. package/dist/migration/restructure.d.ts.map +1 -1
  193. package/dist/migration/restructure.js +50 -1
  194. package/dist/migration/restructure.js.map +1 -1
  195. package/dist/migration-templates/app-fullstack/eslint.config.js +6 -1
  196. package/dist/migration-templates/app-fullstack/package.json +2 -1
  197. package/dist/plugin-options.d.ts +7 -0
  198. package/dist/plugin-options.d.ts.map +1 -1
  199. package/dist/plugin-options.js.map +1 -1
  200. package/dist/socket-manager.d.ts.map +1 -1
  201. package/dist/socket-manager.js +0 -5
  202. package/dist/socket-manager.js.map +1 -1
  203. package/dist/sync-service/list-dir.d.ts +1 -1
  204. package/dist/sync-service/list-dir.js +3 -3
  205. package/dist/sync-service/list-dir.js.map +1 -1
  206. package/dist/util/log-sanitizer.d.ts.map +1 -1
  207. package/dist/util/log-sanitizer.js +13 -6
  208. package/dist/util/log-sanitizer.js.map +1 -1
  209. package/dist/util/summarize-for-logging.d.ts +14 -0
  210. package/dist/util/summarize-for-logging.d.ts.map +1 -0
  211. package/dist/util/summarize-for-logging.js +94 -0
  212. package/dist/util/summarize-for-logging.js.map +1 -0
  213. package/package.json +8 -8
  214. package/dist/ai-service/agent/tools2/tools/explain-code-finalize.d.ts +0 -4
  215. package/dist/ai-service/agent/tools2/tools/explain-code-finalize.d.ts.map +0 -1
  216. package/dist/ai-service/agent/tools2/tools/explain-code-finalize.js +0 -19
  217. package/dist/ai-service/agent/tools2/tools/explain-code-finalize.js.map +0 -1
  218. package/dist/ai-service/llm/impl/anthropic.d.ts +0 -3
  219. package/dist/ai-service/llm/impl/anthropic.d.ts.map +0 -1
  220. package/dist/ai-service/llm/impl/anthropic.js +0 -15
  221. package/dist/ai-service/llm/impl/anthropic.js.map +0 -1
  222. package/dist/ai-service/prompts/explain-code.d.ts +0 -7
  223. package/dist/ai-service/prompts/explain-code.d.ts.map +0 -1
  224. package/dist/ai-service/prompts/explain-code.js +0 -23
  225. package/dist/ai-service/prompts/explain-code.js.map +0 -1
  226. package/dist/ai-service/util/json-stream-parser.d.ts +0 -20
  227. package/dist/ai-service/util/json-stream-parser.d.ts.map +0 -1
  228. package/dist/ai-service/util/json-stream-parser.js +0 -139
  229. package/dist/ai-service/util/json-stream-parser.js.map +0 -1
@@ -1,139 +0,0 @@
1
- /**
2
- * Parses simple streaming JSON chunks of the format {"key": "content..."}
3
- * and yields only the content chunks, consuming the JSON structure.
4
- *
5
- * @param key - The JSON key to extract content from (e.g., "result", "text", "content")
6
- * @returns A function that takes a chunk and yields content chunks
7
- *
8
- * @example
9
- * ```ts
10
- * const parse = createJsonStreamParser("result");
11
- * for (const chunk of parse('{"result": "Hello')) {
12
- * console.log(chunk); // Outputs: "Hello"
13
- * }
14
- * for (const chunk of parse(' world"}')) {
15
- * console.log(chunk); // Outputs: " world"
16
- * }
17
- * ```
18
- */
19
- export function createJsonStreamParser(key = "result") {
20
- let jsonBuffer = "";
21
- let isInsideValue = false;
22
- let isDone = false;
23
- let bufferedQuote = false;
24
- let isEscaped = false;
25
- const openingPattern = `{"${key}":`;
26
- return function* parseChunk(input) {
27
- // If we've already finished parsing, don't process more input
28
- if (isDone) {
29
- return;
30
- }
31
- let contentChunk = "";
32
- // If we buffered a quote from the last chunk, check if this chunk starts with }
33
- if (bufferedQuote) {
34
- bufferedQuote = false;
35
- // Only check for closing if the quote wasn't escaped
36
- if (!isEscaped && input[0] === "}") {
37
- // The buffered quote was indeed the closing quote
38
- isDone = true;
39
- if (contentChunk) {
40
- yield contentChunk;
41
- }
42
- return;
43
- }
44
- else {
45
- // The buffered quote was part of the content
46
- contentChunk += '"';
47
- isEscaped = false; // Reset escape state after processing buffered quote
48
- }
49
- }
50
- for (let i = 0; i < input.length; i++) {
51
- const char = input[i];
52
- if (!isInsideValue) {
53
- jsonBuffer += char;
54
- // Check if we've consumed the opening {"key": "
55
- if (jsonBuffer.includes(openingPattern) &&
56
- char === '"' &&
57
- jsonBuffer.endsWith('"')) {
58
- // Found the opening quote of the value
59
- const colonIndex = jsonBuffer.lastIndexOf(":");
60
- if (colonIndex !== -1 && jsonBuffer.slice(colonIndex).includes('"')) {
61
- isInsideValue = true;
62
- jsonBuffer = "";
63
- }
64
- }
65
- }
66
- else {
67
- // We're inside the value
68
- // Handle escape sequences
69
- if (isEscaped) {
70
- // Previous char was \, so this char is escaped - unescape it
71
- switch (char) {
72
- case '"':
73
- case "\\":
74
- case "/":
75
- contentChunk += char;
76
- break;
77
- case "b":
78
- contentChunk += "\b";
79
- break;
80
- case "f":
81
- contentChunk += "\f";
82
- break;
83
- case "n":
84
- contentChunk += "\n";
85
- break;
86
- case "r":
87
- contentChunk += "\r";
88
- break;
89
- case "t":
90
- contentChunk += "\t";
91
- break;
92
- default:
93
- // For unknown escape sequences, preserve the backslash
94
- contentChunk += "\\" + char;
95
- break;
96
- }
97
- isEscaped = false;
98
- continue;
99
- }
100
- if (char === "\\") {
101
- // This is an escape character, mark next char as escaped
102
- // Don't add it to content yet - wait to see what's being escaped
103
- isEscaped = true;
104
- continue;
105
- }
106
- // Check for closing quote (only if not escaped)
107
- if (char === '"') {
108
- // Look ahead to see if this is followed by }
109
- const nextChar = input[i + 1];
110
- if (nextChar === "}") {
111
- // This is the closing quote, stop parsing
112
- isDone = true;
113
- if (contentChunk) {
114
- yield contentChunk;
115
- }
116
- return;
117
- }
118
- else if (nextChar === undefined) {
119
- // We don't know yet if this is the closing quote
120
- // Buffer it and wait for the next chunk
121
- bufferedQuote = true;
122
- break;
123
- }
124
- // If nextChar is something else, this quote is part of content
125
- }
126
- contentChunk += char;
127
- }
128
- }
129
- // Yield the accumulated content chunk (if we're not just buffering a quote)
130
- if (contentChunk && !bufferedQuote) {
131
- yield contentChunk;
132
- }
133
- else if (contentChunk && bufferedQuote) {
134
- // Yield everything except the buffered quote
135
- yield contentChunk;
136
- }
137
- };
138
- }
139
- //# sourceMappingURL=json-stream-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json-stream-parser.js","sourceRoot":"","sources":["../../../src/ai-service/util/json-stream-parser.ts"],"names":[],"mappings":"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"}