@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
@@ -14,6 +14,12 @@ const METER_NAME = "superblocks.clark.tool_execution";
14
14
  const TOOL_EXECUTION_TIMEOUTS_METRIC = "superblocks.clark.tool.execution.timeouts_total";
15
15
  const TOOL_EXECUTION_DURATION_METRIC = "superblocks.clark.tool.execution.duration_seconds";
16
16
  const STREAM_TERMINAL_TOTAL_METRIC = "superblocks.clark.stream.terminal.total";
17
+ const EMPTY_TOOL_CALLS_TOTAL_METRIC = "superblocks.clark.stream.empty_tool_calls.total";
18
+ const MAX_TOOL_INPUT_PARSE_DEPTH = 10;
19
+ const streamIdentityAttributes = (streamId) => ({
20
+ ai_stream_request_id: streamId,
21
+ stream_id: streamId,
22
+ });
17
23
  let cachedMeter;
18
24
  let cachedMetrics;
19
25
  function resolveStreamOrchestratorMetrics() {
@@ -27,6 +33,10 @@ function resolveStreamOrchestratorMetrics() {
27
33
  description: "Duration of Clark tool executions guarded by the stream orchestrator.",
28
34
  unit: "s",
29
35
  }),
36
+ emptyToolCallsCounter: meter.createCounter(EMPTY_TOOL_CALLS_TOTAL_METRIC, {
37
+ description: "Number of provider tool calls that ended without usable input.",
38
+ unit: "{tool_call}",
39
+ }),
30
40
  timeoutCounter: meter.createCounter(TOOL_EXECUTION_TIMEOUTS_METRIC, {
31
41
  description: "Number of Clark tool executions that reached their orchestrator timeout.",
32
42
  unit: "{timeout}",
@@ -58,6 +68,44 @@ function recordStreamTerminal(provider, model, outcome, terminalReason, waitStat
58
68
  wait_state: waitState,
59
69
  });
60
70
  }
71
+ function recordEmptyToolCalls(provider, model, count) {
72
+ resolveStreamOrchestratorMetrics().emptyToolCallsCounter.add(count, {
73
+ model,
74
+ provider,
75
+ });
76
+ }
77
+ function hasUsableToolInput(value, depth = 0) {
78
+ if (depth > MAX_TOOL_INPUT_PARSE_DEPTH) {
79
+ return true;
80
+ }
81
+ if (value === null || value === undefined || value === "") {
82
+ return false;
83
+ }
84
+ if (typeof value === "string") {
85
+ try {
86
+ return hasUsableToolInput(JSON.parse(value), depth + 1);
87
+ }
88
+ catch {
89
+ return true;
90
+ }
91
+ }
92
+ if (Array.isArray(value)) {
93
+ return value.length > 0;
94
+ }
95
+ if (typeof value === "object") {
96
+ return Object.keys(value).length > 0;
97
+ }
98
+ return true;
99
+ }
100
+ function getToolCallId(chunk) {
101
+ if (typeof chunk.toolCallId === "string") {
102
+ return chunk.toolCallId;
103
+ }
104
+ if (typeof chunk.id === "string") {
105
+ return chunk.id;
106
+ }
107
+ return undefined;
108
+ }
61
109
  function getToolExecutionTimeoutMs(tool) {
62
110
  // Treat non-positive, non-finite, or absent values as "use default".
63
111
  return typeof tool.timeoutMs === "number" &&
@@ -288,6 +336,7 @@ export class StreamOrchestrator {
288
336
  for (const observer of this.observers) {
289
337
  observer.attach(session.events, this.config);
290
338
  }
339
+ this.attachEmptyToolCallLogger(session);
291
340
  session.events.on("session:error", (error, endedSession) => {
292
341
  this.logTerminalStreamSummary(endedSession, waitStateTracker, "error", error);
293
342
  });
@@ -383,6 +432,7 @@ export class StreamOrchestrator {
383
432
  const attributes = {
384
433
  event: "stream_local_wait",
385
434
  session_id: session.id,
435
+ ...streamIdentityAttributes(session.id),
386
436
  provider: session.provider.name,
387
437
  model: session.provider.model,
388
438
  attempt: session.attempt,
@@ -454,6 +504,7 @@ export class StreamOrchestrator {
454
504
  const attributes = {
455
505
  event: "stream_stall",
456
506
  session_id: session.id,
507
+ ...streamIdentityAttributes(session.id),
457
508
  provider: session.provider.name,
458
509
  model: session.provider.model,
459
510
  attempt: session.attempt,
@@ -573,6 +624,7 @@ export class StreamOrchestrator {
573
624
  const attributes = {
574
625
  event: "stream_terminal_summary",
575
626
  session_id: session.id,
627
+ ...streamIdentityAttributes(session.id),
576
628
  provider: session.provider.name,
577
629
  model: session.provider.model,
578
630
  attempt: session.attempt,
@@ -841,6 +893,84 @@ export class StreamOrchestrator {
841
893
  },
842
894
  });
843
895
  }
896
+ attachEmptyToolCallLogger(session) {
897
+ const pendingEmptyToolCalls = new Map();
898
+ const toolCallsWithInputDeltas = new Set();
899
+ let finishReason;
900
+ let rawFinishReason;
901
+ const resetAttempt = () => {
902
+ pendingEmptyToolCalls.clear();
903
+ toolCallsWithInputDeltas.clear();
904
+ finishReason = undefined;
905
+ rawFinishReason = undefined;
906
+ };
907
+ session.events.on("retry", resetAttempt);
908
+ session.events.on("fallback", resetAttempt);
909
+ session.events.on("chunk", (chunk) => {
910
+ if (chunk.type === "tool-input-delta") {
911
+ const toolCallId = getToolCallId(chunk);
912
+ if (typeof toolCallId === "string") {
913
+ toolCallsWithInputDeltas.add(toolCallId);
914
+ pendingEmptyToolCalls.delete(toolCallId);
915
+ }
916
+ return;
917
+ }
918
+ if (chunk.type === "tool-call") {
919
+ const toolCallId = getToolCallId(chunk);
920
+ const toolName = chunk.toolName;
921
+ if (typeof toolCallId === "string" &&
922
+ typeof toolName === "string" &&
923
+ !toolCallsWithInputDeltas.has(toolCallId) &&
924
+ !hasUsableToolInput(chunk.input)) {
925
+ pendingEmptyToolCalls.set(toolCallId, toolName);
926
+ }
927
+ return;
928
+ }
929
+ if (chunk.type === "tool-result") {
930
+ const toolCallId = getToolCallId(chunk);
931
+ if (typeof toolCallId === "string") {
932
+ pendingEmptyToolCalls.delete(toolCallId);
933
+ }
934
+ return;
935
+ }
936
+ if (chunk.type === "finish") {
937
+ finishReason = chunk.finishReason;
938
+ rawFinishReason = chunk
939
+ .rawFinishReason;
940
+ }
941
+ });
942
+ session.events.on("session:complete", (endedSession) => {
943
+ if (pendingEmptyToolCalls.size === 0) {
944
+ return;
945
+ }
946
+ recordEmptyToolCalls(endedSession.provider.name, endedSession.provider.model, pendingEmptyToolCalls.size);
947
+ const attributes = {
948
+ event: "empty_tool_call",
949
+ empty_tool_call_count: pendingEmptyToolCalls.size,
950
+ model: endedSession.provider.model,
951
+ provider: endedSession.provider.name,
952
+ tool_names: [...new Set(pendingEmptyToolCalls.values())].join(","),
953
+ };
954
+ if (finishReason) {
955
+ attributes.finish_reason = finishReason;
956
+ }
957
+ if (typeof rawFinishReason === "string") {
958
+ attributes.raw_finish_reason = rawFinishReason;
959
+ }
960
+ if (endedSession.organizationId) {
961
+ attributes.organization_id = endedSession.organizationId;
962
+ }
963
+ if (endedSession.applicationId) {
964
+ attributes.application_id = endedSession.applicationId;
965
+ }
966
+ if (this.logger.warnStructured) {
967
+ this.logger.warnStructured("[orchestrator] Tool call ended without usable input", attributes);
968
+ }
969
+ else {
970
+ this.logger.warn("[orchestrator] Tool call ended without usable input", attributes);
971
+ }
972
+ });
973
+ }
844
974
  /**
845
975
  * Wraps each tool's execute so only the live attempt can run it. The Vercel AI
846
976
  * SDK auto-executes tools as their calls arrive on the provider stream, and a
@@ -1003,6 +1133,7 @@ export class StreamOrchestrator {
1003
1133
  const attributes = {
1004
1134
  event: "provider_fallback",
1005
1135
  session_id: session.id,
1136
+ ...streamIdentityAttributes(session.id),
1006
1137
  from_provider: oldProvider.name,
1007
1138
  from_model: oldProvider.model,
1008
1139
  to_provider: newProvider.name,
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
- import type { AnthropicProviderSettings } from "@ai-sdk/anthropic";
2
1
  import type { LanguageModelV3 } from "@ai-sdk/provider";
3
2
  import type { ClarkModelFactory, ClarkProviderSettings } from "@superblocksteam/clark";
4
3
  import type { LLMProviderConfig } from "@superblocksteam/library-shared/types";
4
+ import type { CoreModelType, ProviderType } from "./stream/config.js";
5
5
  export type LLMProviderSettings = {
6
- /** Allows us to control the paths we can go to, instead of hardcoding them */
7
- anthropic: AnthropicProviderSettings & {
8
- path?: string;
9
- };
10
6
  clark: ClarkProviderSettings;
11
7
  /**
12
8
  * Optional override for how the clark provider builds its `LanguageModelV3`s.
@@ -26,8 +22,23 @@ export type LLMTask = "classifyPrompt" | "summarizeMessages" | "explain" | "gene
26
22
  export type LLMTaskModels = {
27
23
  [K in LLMTask]: LanguageModelV3;
28
24
  };
25
+ export type LLMTaskModel = {
26
+ model: LanguageModelV3;
27
+ providerConfig: {
28
+ provider: ProviderType;
29
+ model: CoreModelType;
30
+ };
31
+ };
29
32
  export type LLMProvider = {
30
33
  name: LLMProviderConfig["provider"];
31
- modelForTask: (modelId: LLMTask) => LanguageModelV3;
34
+ /**
35
+ * The org's configured core model (from `llmConfig`). Optional so existing
36
+ * test mocks needn't set it. Used to build the streamText `providerConfig`
37
+ * (retry-budget profile + the initial telemetry label) for internal one-shot
38
+ * calls; the real per-call model/provider still come from the response
39
+ * headers (x-model-id / x-model-provider).
40
+ */
41
+ coreModel?: LLMProviderConfig["coreModel"];
42
+ modelForTask: (task: LLMTask) => LLMTaskModel;
32
43
  };
33
44
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llm/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,MAAM,MAAM,mBAAmB,GAAG;IAChC,8EAA8E;IAC9E,SAAS,EAAE,yBAAyB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,KAAK,EAAE,qBAAqB,CAAC;IAC7B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;OAGG;IACH,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,gBAAgB,GAChB,mBAAmB,GACnB,SAAS,GACT,mBAAmB,GACnB,MAAM,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,OAAO,GAAG,eAAe;CAChC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,eAAe,CAAC;CACrD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llm/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,qBAAqB,CAAC;IAC7B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;OAGG;IACH,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,gBAAgB,GAChB,mBAAmB,GACnB,SAAS,GACT,mBAAmB,GACnB,MAAM,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,OAAO,GAAG,eAAe;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,cAAc,EAAE;QACd,QAAQ,EAAE,YAAY,CAAC;QACvB,KAAK,EAAE,aAAa,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,YAAY,CAAC;CAC/C,CAAC"}
@@ -1,17 +1,19 @@
1
1
  import type { PromptClassification, PromptContext } from "@superblocksteam/library-shared/types";
2
2
  import type { AppContextStore } from "../../context/app-context.js";
3
+ import type { LLMClient } from "../../llm/client.js";
3
4
  import type { LLMProvider } from "../../llm/types.js";
4
5
  export interface PromptInterpretationTaskResult {
5
6
  classification: PromptClassification;
6
7
  }
7
8
  export declare class PromptInterpretTask {
8
9
  private readonly llmProvider;
10
+ private readonly llmClient;
9
11
  readonly prompt: string;
10
12
  private readonly promptContext;
11
13
  private readonly appContextStore;
12
14
  private abortController;
13
15
  private result;
14
- constructor(llmProvider: LLMProvider, prompt: string, promptContext: PromptContext, appContextStore: AppContextStore);
16
+ constructor(llmProvider: LLMProvider, llmClient: LLMClient, prompt: string, promptContext: PromptContext, appContextStore: AppContextStore);
15
17
  static defaultResult: PromptInterpretationTaskResult;
16
18
  static mergeResults(_result1: PromptInterpretationTaskResult | undefined, result2: PromptInterpretationTaskResult | undefined): PromptInterpretationTaskResult;
17
19
  isFullAppOrBroadUpdate(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-interpret-task.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACd,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,WAAW,8BAA8B;IAC7C,cAAc,EAAE,oBAAoB,CAAC;CACtC;AAED,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAPlC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAwD;gBAGnD,WAAW,EAAE,WAAW,EACzB,MAAM,EAAE,MAAM,EACb,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe;IAKnD,OAAc,aAAa,EAAE,8BAA8B,CAEzD;WAEY,YAAY,CACxB,QAAQ,EAAE,8BAA8B,GAAG,SAAS,EACpD,OAAO,EAAE,8BAA8B,GAAG,SAAS,GAClD,8BAA8B;IAQpB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IASvD,OAAO,CAAC,iBAAiB;IA4BlB,KAAK,IAAI,IAAI;IAIb,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,OAAO,CAAC,8BAA8B,CAAC;YAS3C,SAAS;CAsBxB"}
1
+ {"version":3,"file":"prompt-interpret-task.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACd,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,WAAW,8BAA8B;IAC7C,cAAc,EAAE,oBAAoB,CAAC;CACtC;AAED,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;aACV,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IARlC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAwD;gBAGnD,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACrB,MAAM,EAAE,MAAM,EACb,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe;IAKnD,OAAc,aAAa,EAAE,8BAA8B,CAEzD;WAEY,YAAY,CACxB,QAAQ,EAAE,8BAA8B,GAAG,SAAS,EACpD,OAAO,EAAE,8BAA8B,GAAG,SAAS,GAClD,8BAA8B;IAQpB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IASvD,OAAO,CAAC,iBAAiB;IA4BlB,KAAK,IAAI,IAAI;IAIb,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,OAAO,CAAC,8BAA8B,CAAC;YAS3C,SAAS;CA8BxB"}
@@ -1,15 +1,16 @@
1
- import { generateObject } from "ai";
2
1
  import { z } from "zod";
3
2
  import { PromptClassificationEnum } from "../types.js";
4
3
  export class PromptInterpretTask {
5
4
  llmProvider;
5
+ llmClient;
6
6
  prompt;
7
7
  promptContext;
8
8
  appContextStore;
9
9
  abortController;
10
10
  result = null;
11
- constructor(llmProvider, prompt, promptContext, appContextStore) {
11
+ constructor(llmProvider, llmClient, prompt, promptContext, appContextStore) {
12
12
  this.llmProvider = llmProvider;
13
+ this.llmClient = llmClient;
13
14
  this.prompt = prompt;
14
15
  this.promptContext = promptContext;
15
16
  this.appContextStore = appContextStore;
@@ -73,10 +74,17 @@ Classify this request based on the intent definitions above.`;
73
74
  };
74
75
  }
75
76
  const { systemPrompt, schema } = this.buildSystemPrompt();
76
- const { object: interpretation } = await generateObject({
77
- model: this.llmProvider.modelForTask("classifyPrompt"),
77
+ const { model, providerConfig } = this.llmProvider.modelForTask("classifyPrompt");
78
+ const interpretation = await this.llmClient.generateObject({
79
+ model,
78
80
  schema,
79
- prompt: systemPrompt,
81
+ context: { mode: "stateless" },
82
+ user: {
83
+ role: "user",
84
+ content: systemPrompt,
85
+ },
86
+ providerConfig,
87
+ retry: { maxAttempts: 2 },
80
88
  abortSignal: this.abortController.signal,
81
89
  });
82
90
  const classification = interpretation
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-interpret-task.js","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAMvD,MAAM,OAAO,mBAAmB;IAKX;IACD;IACC;IACA;IAPX,eAAe,CAAkB;IACjC,MAAM,GAAmD,IAAI,CAAC;IAEtE,YACmB,WAAwB,EACzB,MAAc,EACb,aAA4B,EAC5B,eAAgC;QAHhC,gBAAW,GAAX,WAAW,CAAa;QACzB,WAAM,GAAN,MAAM,CAAQ;QACb,kBAAa,GAAb,aAAa,CAAe;QAC5B,oBAAe,GAAf,eAAe,CAAiB;QAEjD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,aAAa,GAAmC;QAC5D,cAAc,EAAE,cAAc;KAC/B,CAAC;IAEK,MAAM,CAAC,YAAY,CACxB,QAAoD,EACpD,OAAmD;QAEnD,OAAO,GAAG,OAAO,IAAI,mBAAmB,CAAC,aAAa,CAAC;QAEvD,OAAO;YACL,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,sBAAsB;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,OAAO,CACL,MAAM,CAAC,cAAc,KAAK,YAAY;YACtC,MAAM,CAAC,cAAc,KAAK,cAAc;YACxC,MAAM,CAAC,cAAc,KAAK,SAAS,CACpC,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,wCAAwC;QACxC,MAAM,YAAY,GAAG;;;;;;;;;;;;;qBAaJ,IAAI,CAAC,MAAM;;6DAE6B,CAAC;QAE1D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACtB,cAAc,EAAE,wBAAwB,CAAC,QAAQ,CAC/C,uFAAuF,CACxF;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAClC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7C,CAAC;IAEM,OAAO;QACZ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC9C,OAAO;gBACL,cAAc,EAAE,cAAc;aAC/B,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1D,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,cAAc,CAAC;YACtD,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,gBAAgB,CAAC;YACtD,MAAM;YACN,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;SACzC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAI,cAAiD;aACtE,cAAc,CAAC;QAElB,OAAO;YACL,cAAc;SACf,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"prompt-interpret-task.js","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.ts"],"names":[],"mappings":"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"}
@@ -12,15 +12,23 @@
12
12
  import type { LanguageModelV3 } from "@ai-sdk/provider";
13
13
  import type { UserModelMessage } from "ai";
14
14
  import { type SafetyCategory, type SafetyClassificationResult } from "@superblocksteam/shared";
15
+ import type { LLMClient, LLMClientProviderConfig } from "../llm/client.js";
15
16
  export type { SafetyCategory, SafetyClassificationResult };
16
17
  export declare const FAIL_OPEN_RESULT: SafetyClassificationResult;
17
18
  export declare const FAIL_CLOSED_RESULT: SafetyClassificationResult;
18
19
  /**
19
20
  * Options for safety classification.
21
+ *
22
+ * The caller resolves the classification model and providerConfig together and
23
+ * supplies the LLMClient so this one-shot call uses the shared retry/obs path.
20
24
  */
21
25
  export interface SafetyClassificationOptions {
22
26
  /** Model to use for classification (should be a fast model like Haiku) */
23
27
  model: LanguageModelV3;
28
+ /** Provider metadata resolved alongside the classification model */
29
+ providerConfig: LLMClientProviderConfig;
30
+ /** LLM client used to route the classification call through the managed pipeline */
31
+ llmClient: LLMClient;
24
32
  /** Timeout in milliseconds (default: 5000) */
25
33
  timeout?: number;
26
34
  /** Abort signal for cancellation */
@@ -34,6 +42,8 @@ export interface SafetyClassificationConfig {
34
42
  enabled: boolean;
35
43
  /** Model to use for classification */
36
44
  model?: LanguageModelV3;
45
+ /** Provider metadata resolved alongside the classification model */
46
+ providerConfig?: LLMClientProviderConfig;
37
47
  /** Custom timeout in milliseconds (default: 5000) */
38
48
  timeout?: number;
39
49
  /** Whether to fail-open (allow) or fail-closed (block) on classification errors (default: true) */
@@ -53,8 +63,11 @@ export interface SafetyClassificationConfig {
53
63
  *
54
64
  * @example
55
65
  * ```typescript
66
+ * const { model, providerConfig } = provider.modelForTask("classifyPrompt");
56
67
  * const result = await classifyPromptSafety(userPrompt, {
57
- * model: provider.modelForTask("safetyClassification"),
68
+ * model,
69
+ * providerConfig,
70
+ * llmClient,
58
71
  * timeout: 5000,
59
72
  * });
60
73
  *
@@ -1 +1 @@
1
- {"version":3,"file":"safety-classifier.d.ts","sourceRoot":"","sources":["../../../src/ai-service/security/safety-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAG3C,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AAKjC,YAAY,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;AAE3D,eAAO,MAAM,gBAAgB,EAAE,0BAI9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,0BAKhC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,0EAA0E;IAC1E,KAAK,EAAE,eAAe,CAAC;IACvB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAqED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CA6CrC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,gBAAgB,EAC/B,cAAc,EAAE,0BAA0B,GACzC,gBAAgB,CAclB"}
1
+ {"version":3,"file":"safety-classifier.d.ts","sourceRoot":"","sources":["../../../src/ai-service/security/safety-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAG3C,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,YAAY,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;AAE3D,eAAO,MAAM,gBAAgB,EAAE,0BAI9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,0BAKhC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,0EAA0E;IAC1E,KAAK,EAAE,eAAe,CAAC;IACvB,oEAAoE;IACpE,cAAc,EAAE,uBAAuB,CAAC;IACxC,oFAAoF;IACpF,SAAS,EAAE,SAAS,CAAC;IACrB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,oEAAoE;IACpE,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAqED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CA6DrC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,gBAAgB,EAC/B,cAAc,EAAE,0BAA0B,GACzC,gBAAgB,CAclB"}
@@ -9,11 +9,9 @@
9
9
  * `@superblocksteam/shared`. The system prompt is local because it
10
10
  * is specific to Clark's conversational context.
11
11
  */
12
- import { generateObject } from "ai";
13
12
  import { z } from "zod";
14
13
  import { SAFETY_CATEGORIES, } from "@superblocksteam/shared";
15
14
  import { getLogger } from "../../util/logger.js";
16
- import llmobs from "../llmobs/index.js";
17
15
  export const FAIL_OPEN_RESULT = {
18
16
  safe: true,
19
17
  justification: "Classification failed, allowing request to proceed (fail-open policy).",
@@ -96,8 +94,11 @@ const SafetyClassificationSchema = z.object({
96
94
  *
97
95
  * @example
98
96
  * ```typescript
97
+ * const { model, providerConfig } = provider.modelForTask("classifyPrompt");
99
98
  * const result = await classifyPromptSafety(userPrompt, {
100
- * model: provider.modelForTask("safetyClassification"),
99
+ * model,
100
+ * providerConfig,
101
+ * llmClient,
101
102
  * timeout: 5000,
102
103
  * });
103
104
  *
@@ -107,7 +108,7 @@ const SafetyClassificationSchema = z.object({
107
108
  * ```
108
109
  */
109
110
  export async function classifyPromptSafety(prompt, options) {
110
- const { model, timeout = 5000, abortSignal } = options;
111
+ const { model, providerConfig, llmClient, timeout = 5000, abortSignal, } = options;
111
112
  const logger = getLogger();
112
113
  logger.debug("[safety-classifier] Starting safety classification", {
113
114
  promptLength: prompt.length,
@@ -121,14 +122,27 @@ export async function classifyPromptSafety(prompt, options) {
121
122
  const combinedSignal = abortSignal
122
123
  ? AbortSignal.any([abortSignal, timeoutController.signal])
123
124
  : timeoutController.signal;
124
- const { object: result } = await llmobs.trace({ name: "security.safetyClassification", kind: "llm" }, async () => {
125
- return await generateObject({
126
- model,
127
- schema: SafetyClassificationSchema,
128
- system: SAFETY_CLASSIFICATION_SYSTEM_PROMPT,
129
- prompt: `User Request: "${prompt}"`,
130
- abortSignal: combinedSignal,
131
- });
125
+ const result = await llmClient.generateObject({
126
+ model,
127
+ schema: SafetyClassificationSchema,
128
+ system: SAFETY_CLASSIFICATION_SYSTEM_PROMPT,
129
+ context: { mode: "stateless" },
130
+ user: {
131
+ role: "user",
132
+ content: `User Request: "${prompt}"`,
133
+ },
134
+ providerConfig,
135
+ // CRITICAL: disable safety classification here or the classifier would
136
+ // recursively classify its own prompt into an infinite loop.
137
+ safety: {
138
+ classification: { enabled: false },
139
+ secretRedaction: { level: "off" },
140
+ },
141
+ // The classified content is the raw user prompt, which may contain
142
+ // secrets — keep it off the LLMObs span (other migrated sites send it).
143
+ recordObsContent: false,
144
+ retry: { maxAttempts: 2 },
145
+ abortSignal: combinedSignal,
132
146
  });
133
147
  const durationMs = Date.now() - startTime;
134
148
  logger.debug("[safety-classifier] Classification complete", {
@@ -1 +1 @@
1
- {"version":3,"file":"safety-classifier.js","sourceRoot":"","sources":["../../../src/ai-service/security/safety-classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safety-classifier.js","sourceRoot":"","sources":["../../../src/ai-service/security/safety-classifier.ts"],"names":[],"mappings":"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"}