@superblocksteam/vite-plugin-file-sync 2.0.137 → 2.0.138-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/agent/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +2 -22
- package/dist/ai-service/agent/middleware.js.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +1 -0
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +150 -7
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.d.ts +10 -0
- package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.js +14 -1
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +1 -1
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +1 -1
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +15 -1
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.js +2 -1
- package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/remember-knowledge.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/remember-knowledge.js +8 -0
- package/dist/ai-service/agent/tools2/tools/remember-knowledge.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/start-test-run.js +14 -6
- package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts +2 -0
- package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/web-fetch.js +10 -5
- package/dist/ai-service/agent/tools2/tools/web-fetch.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +25 -7
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-interface/linter.d.ts.map +1 -1
- package/dist/ai-service/app-interface/linter.js +14 -3
- package/dist/ai-service/app-interface/linter.js.map +1 -1
- package/dist/ai-service/app-interface/npm-package-lookup.d.ts +19 -14
- package/dist/ai-service/app-interface/npm-package-lookup.d.ts.map +1 -1
- package/dist/ai-service/app-interface/npm-package-lookup.js +56 -23
- package/dist/ai-service/app-interface/npm-package-lookup.js.map +1 -1
- package/dist/ai-service/app-interface/npm-registry.d.ts +96 -48
- package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
- package/dist/ai-service/app-interface/npm-registry.js +247 -220
- package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
- package/dist/ai-service/app-interface/shell.d.ts +36 -0
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +183 -8
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
- package/dist/ai-service/app-skills/helpers.js +48 -8
- package/dist/ai-service/app-skills/helpers.js.map +1 -1
- package/dist/ai-service/app-skills/manager.d.ts +5 -0
- package/dist/ai-service/app-skills/manager.d.ts.map +1 -1
- package/dist/ai-service/app-skills/manager.js +13 -4
- package/dist/ai-service/app-skills/manager.js.map +1 -1
- package/dist/ai-service/attachments/uploaded-content-part.d.ts.map +1 -1
- package/dist/ai-service/attachments/uploaded-content-part.js +12 -5
- package/dist/ai-service/attachments/uploaded-content-part.js.map +1 -1
- package/dist/ai-service/index.d.ts +1 -2
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +16 -175
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/judge/judge-eval-service-runner.js +0 -4
- package/dist/ai-service/judge/judge-eval-service-runner.js.map +1 -1
- package/dist/ai-service/judge/judge-service.js +1 -1
- package/dist/ai-service/judge/judge-service.js.map +1 -1
- package/dist/ai-service/knowledge/knowledge-metrics-emitters.d.ts +20 -0
- package/dist/ai-service/knowledge/knowledge-metrics-emitters.d.ts.map +1 -0
- package/dist/ai-service/knowledge/knowledge-metrics-emitters.js +77 -0
- package/dist/ai-service/knowledge/knowledge-metrics-emitters.js.map +1 -0
- package/dist/ai-service/knowledge/knowledge-metrics.d.ts +43 -0
- package/dist/ai-service/knowledge/knowledge-metrics.d.ts.map +1 -0
- package/dist/ai-service/knowledge/knowledge-metrics.js +217 -0
- package/dist/ai-service/knowledge/knowledge-metrics.js.map +1 -0
- package/dist/ai-service/llm/client.d.ts +144 -18
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +303 -48
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts +1 -0
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.js +14 -1
- package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts +3 -0
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +34 -1
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.js +4 -1
- package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.d.ts +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.js +19 -4
- package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -1
- package/dist/ai-service/llm/interaction/provider.d.ts +17 -3
- package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -1
- package/dist/ai-service/llm/provider.d.ts.map +1 -1
- package/dist/ai-service/llm/provider.js +19 -15
- package/dist/ai-service/llm/provider.js.map +1 -1
- package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/managed-stream.js +25 -2
- package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts +9 -0
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +22 -5
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.js +17 -12
- package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts +1 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +131 -0
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/types.d.ts +17 -6
- package/dist/ai-service/llm/types.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.d.ts +3 -1
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.js +13 -5
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.js.map +1 -1
- package/dist/ai-service/security/safety-classifier.d.ts +14 -1
- package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
- package/dist/ai-service/security/safety-classifier.js +26 -12
- package/dist/ai-service/security/safety-classifier.js.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js +35 -18
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +7 -5
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +3 -2
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +14 -7
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.js +40 -27
- package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +14 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +72 -16
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/next-steps.d.ts +8 -1
- package/dist/ai-service/state-machine/handlers/next-steps.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/next-steps.js +13 -11
- package/dist/ai-service/state-machine/handlers/next-steps.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.js +3 -2
- package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +5 -0
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.js +37 -0
- package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
- package/dist/ai-service/template-renderer.d.ts.map +1 -1
- package/dist/ai-service/template-renderer.js +2 -2
- package/dist/ai-service/template-renderer.js.map +1 -1
- package/dist/ai-service/types.d.ts +2 -2
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/dev-server-ws-smoke-client.d.ts +41 -0
- package/dist/dev-server-ws-smoke-client.d.ts.map +1 -0
- package/dist/dev-server-ws-smoke-client.js +314 -0
- package/dist/dev-server-ws-smoke-client.js.map +1 -0
- package/dist/early-error-relay.d.ts +31 -0
- package/dist/early-error-relay.d.ts.map +1 -0
- package/dist/early-error-relay.js +88 -0
- package/dist/early-error-relay.js.map +1 -0
- package/dist/file-sync-vite-plugin.d.ts +26 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +82 -43
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts +13 -0
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +18 -1
- package/dist/file-system-helpers.js.map +1 -1
- package/dist/file-system-manager.d.ts +0 -1
- package/dist/file-system-manager.d.ts.map +1 -1
- package/dist/file-system-manager.js +0 -53
- package/dist/file-system-manager.js.map +1 -1
- package/dist/injected-index.d.ts +6 -0
- package/dist/injected-index.d.ts.map +1 -1
- package/dist/injected-index.js +59 -14
- package/dist/injected-index.js.map +1 -1
- package/dist/migration/migration-routes.d.ts +3 -0
- package/dist/migration/migration-routes.d.ts.map +1 -1
- package/dist/migration/migration-routes.js +93 -108
- package/dist/migration/migration-routes.js.map +1 -1
- package/dist/migration/restructure.d.ts +15 -0
- package/dist/migration/restructure.d.ts.map +1 -1
- package/dist/migration/restructure.js +50 -1
- package/dist/migration/restructure.js.map +1 -1
- package/dist/migration-templates/app-fullstack/eslint.config.js +6 -1
- package/dist/migration-templates/app-fullstack/package.json +2 -1
- package/dist/plugin-options.d.ts +7 -0
- package/dist/plugin-options.d.ts.map +1 -1
- package/dist/plugin-options.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +0 -5
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/list-dir.d.ts +1 -1
- package/dist/sync-service/list-dir.js +3 -3
- package/dist/sync-service/list-dir.js.map +1 -1
- package/dist/util/log-sanitizer.d.ts.map +1 -1
- package/dist/util/log-sanitizer.js +13 -6
- package/dist/util/log-sanitizer.js.map +1 -1
- package/dist/util/summarize-for-logging.d.ts +14 -0
- package/dist/util/summarize-for-logging.d.ts.map +1 -0
- package/dist/util/summarize-for-logging.js +94 -0
- package/dist/util/summarize-for-logging.js.map +1 -0
- package/package.json +8 -8
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.d.ts +0 -4
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.d.ts.map +0 -1
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.js +0 -19
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.js.map +0 -1
- package/dist/ai-service/llm/impl/anthropic.d.ts +0 -3
- package/dist/ai-service/llm/impl/anthropic.d.ts.map +0 -1
- package/dist/ai-service/llm/impl/anthropic.js +0 -15
- package/dist/ai-service/llm/impl/anthropic.js.map +0 -1
- package/dist/ai-service/prompts/explain-code.d.ts +0 -7
- package/dist/ai-service/prompts/explain-code.d.ts.map +0 -1
- package/dist/ai-service/prompts/explain-code.js +0 -23
- package/dist/ai-service/prompts/explain-code.js.map +0 -1
- package/dist/ai-service/util/json-stream-parser.d.ts +0 -20
- package/dist/ai-service/util/json-stream-parser.d.ts.map +0 -1
- package/dist/ai-service/util/json-stream-parser.js +0 -139
- package/dist/ai-service/util/json-stream-parser.js.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { asSchema, safeParseJSON, safeValidateTypes, } from "@ai-sdk/provider-utils";
|
|
1
2
|
import { safeJsonStringify } from "../../util/log-sanitizer.js";
|
|
2
3
|
import { getLogger, getPrefixedLogger, getErrorMeta, } from "../../util/logger.js";
|
|
3
4
|
import { LLMObsTracer } from "../llmobs/tracer.js";
|
|
@@ -137,7 +138,7 @@ export class LLMClient {
|
|
|
137
138
|
* @param config - Safety classification configuration
|
|
138
139
|
* @returns Object containing the processed message and classification result
|
|
139
140
|
*/
|
|
140
|
-
async applySafetyClassification(user, userText, config) {
|
|
141
|
+
async applySafetyClassification(user, userText, config, fallbackProviderConfig) {
|
|
141
142
|
const failOpen = config.failOpen ?? true;
|
|
142
143
|
if (!config.model) {
|
|
143
144
|
this.logger.warn("[safety-classifier] No model configured, skipping classification");
|
|
@@ -153,6 +154,11 @@ export class LLMClient {
|
|
|
153
154
|
this.logger.info("[safety-classifier] Running safety classification");
|
|
154
155
|
const classification = await classifyPromptSafety(userText, {
|
|
155
156
|
model: config.model,
|
|
157
|
+
providerConfig: config.providerConfig ?? fallbackProviderConfig,
|
|
158
|
+
// Route through this same client so the classification call inherits
|
|
159
|
+
// retry/observability. The classifier disables its own safety pass to
|
|
160
|
+
// avoid recursion (see classifyPromptSafety).
|
|
161
|
+
llmClient: this,
|
|
156
162
|
timeout: config.timeout ?? 5000,
|
|
157
163
|
});
|
|
158
164
|
if (!classification.safe) {
|
|
@@ -206,7 +212,7 @@ export class LLMClient {
|
|
|
206
212
|
}
|
|
207
213
|
}
|
|
208
214
|
async streamText(options, logger = getLogger(), tracer = LLMObsTracer.instance) {
|
|
209
|
-
const { model, user, system, context: contextConfig, logging: loggingConfig, retry: retryConfig, providerConfig, thinking: thinkingConfig, enableFallback, fallbackStrategy, peer, chatSessionStore, observers: customObservers, prepareStep, onStepFinish, onFinish, onChunk, onError, safety: safetyConfig, ...streamOptions } = options;
|
|
215
|
+
const { model, user, system, context: contextConfig, logging: loggingConfig, recordObsContent, retry: retryConfig, providerConfig, thinking: thinkingConfig, enableFallback, fallbackStrategy, peer, chatSessionStore, observers: customObservers, prepareStep, onStepFinish, onFinish, onChunk, onError, safety: safetyConfig, ...streamOptions } = options;
|
|
210
216
|
if (!user) {
|
|
211
217
|
throw new Error("user message is required");
|
|
212
218
|
}
|
|
@@ -268,7 +274,7 @@ export class LLMClient {
|
|
|
268
274
|
}, async () => {
|
|
269
275
|
// Extract text from the potentially redacted message to avoid leaking secrets to classifier
|
|
270
276
|
const textToClassify = extractTextFromMessage(safeUser, scope);
|
|
271
|
-
const result = await this.applySafetyClassification(safeUser, textToClassify, config);
|
|
277
|
+
const result = await this.applySafetyClassification(safeUser, textToClassify, config, providerConfig);
|
|
272
278
|
safeUser = result.message;
|
|
273
279
|
// Annotate classification span with results
|
|
274
280
|
tracer.annotate({
|
|
@@ -298,27 +304,50 @@ export class LLMClient {
|
|
|
298
304
|
throw new Error("providerConfig with provider and model is required. " +
|
|
299
305
|
"This should be populated from llmConfig sent by the UI.");
|
|
300
306
|
}
|
|
301
|
-
const
|
|
307
|
+
const usesManagedContext = contextConfig?.mode !== "stateless";
|
|
308
|
+
const managedContextConfig = usesManagedContext ? contextConfig : undefined;
|
|
309
|
+
const contextId = managedContextConfig?.contextId;
|
|
310
|
+
// Stateless calls are internal one-shots with no conversation to log to, so
|
|
311
|
+
// they must not write `.superblocks/generations` transcript artifacts.
|
|
312
|
+
// Default logging OFF for stateless unless a caller explicitly passes a
|
|
313
|
+
// logging config (explicit opt-in still wins). This makes `stateless` the
|
|
314
|
+
// canonical "internal, no-artifact" signal and removes the per-call-site
|
|
315
|
+
// `logging: false` footgun for future internal callers.
|
|
316
|
+
const effectiveLoggingConfig = loggingConfig === undefined && !usesManagedContext
|
|
317
|
+
? false
|
|
318
|
+
: loggingConfig;
|
|
302
319
|
const contextSetupStartedAt = performance.now();
|
|
303
|
-
const
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
320
|
+
const managedContext = usesManagedContext
|
|
321
|
+
? await this.createContext(contextId, managedContextConfig?.contextOptionsV2, tracer, managedContextConfig?.contextManagement, peer)
|
|
322
|
+
: undefined;
|
|
323
|
+
const contextHandle = managedContext?.contextHandle;
|
|
324
|
+
const ctx = managedContext?.ctx;
|
|
325
|
+
if (ctx) {
|
|
326
|
+
if (managedContextConfig?.messages?.length) {
|
|
327
|
+
await ctx.initializeWith(managedContextConfig.messages);
|
|
328
|
+
}
|
|
329
|
+
if (system) {
|
|
330
|
+
ctx.setSystemPrompt({ role: "system", content: system });
|
|
331
|
+
}
|
|
332
|
+
// Warn when an ephemeral context (no persistent contextId) ends up without
|
|
333
|
+
// a system prompt. This was the root cause of APPS-3387: exitPlanMode
|
|
334
|
+
// created an ephemeral context whose initializeWith silently dropped the
|
|
335
|
+
// system message, causing the LLM to reason but produce no text output.
|
|
336
|
+
if (!contextId && !system) {
|
|
337
|
+
const hasSystemInMessages = managedContextConfig?.messages?.some((m) => m.role === "system");
|
|
338
|
+
if (!hasSystemInMessages) {
|
|
339
|
+
logger.warn("[llm-client] Ephemeral context created without a system prompt. " +
|
|
340
|
+
"This may cause the LLM to produce empty text output.");
|
|
341
|
+
}
|
|
319
342
|
}
|
|
343
|
+
await ctx.startTurn(safeUser);
|
|
344
|
+
}
|
|
345
|
+
const messagesForModel = ctx
|
|
346
|
+
? await ctx.getMessages()
|
|
347
|
+
: [safeUser];
|
|
348
|
+
if (usesManagedContext) {
|
|
349
|
+
logToolContextIntegrityIssues(this.logger, "ctx.initial", messagesForModel);
|
|
320
350
|
}
|
|
321
|
-
await ctx.startTurn(safeUser);
|
|
322
351
|
// Context setup (create + history replay + start turn) runs before any
|
|
323
352
|
// network call; if it is slow the user sees a silent "generating" hang
|
|
324
353
|
// with nothing in APM (APPS-4690). Log timing so stalls here are visible.
|
|
@@ -329,7 +358,7 @@ export class LLMClient {
|
|
|
329
358
|
// restores show replayedMessages=0 because their history comes from
|
|
330
359
|
// storage, not from contextConfig.messages.
|
|
331
360
|
logger.warn(`[llm-client] slow context setup: ${contextSetupMs}ms ` +
|
|
332
|
-
`(contextId=${contextId?.name ?? "ephemeral"} replayedMessages=${
|
|
361
|
+
`(contextId=${contextId?.name ?? "ephemeral"} replayedMessages=${managedContextConfig?.messages?.length ?? 0})`);
|
|
333
362
|
}
|
|
334
363
|
try {
|
|
335
364
|
const fallbackEnabled = this.unifiedProviderEnabled && (enableFallback ?? false);
|
|
@@ -419,21 +448,21 @@ export class LLMClient {
|
|
|
419
448
|
strategy: fallbackStrategy,
|
|
420
449
|
},
|
|
421
450
|
thinking: thinkingConfig,
|
|
422
|
-
logging:
|
|
451
|
+
logging: effectiveLoggingConfig !== false
|
|
423
452
|
? {
|
|
424
453
|
enabled: true,
|
|
425
|
-
conversationId:
|
|
454
|
+
conversationId: effectiveLoggingConfig?.conversationId,
|
|
426
455
|
saveArtifact: this.appShell.saveGeneratedArtifact.bind(this.appShell),
|
|
427
|
-
metadata:
|
|
456
|
+
metadata: effectiveLoggingConfig?.metadata,
|
|
428
457
|
}
|
|
429
458
|
: { enabled: false },
|
|
430
459
|
});
|
|
431
460
|
const observers = [];
|
|
432
|
-
if (
|
|
461
|
+
if (effectiveLoggingConfig !== false) {
|
|
433
462
|
// Determine if this is a cloud-prem deployment
|
|
434
463
|
const isCloudPrem = process.env.SUPERBLOCKS_DEPLOYMENT_TYPE === "cloud-prem";
|
|
435
464
|
observers.push(new LoggingObserver({
|
|
436
|
-
logRef:
|
|
465
|
+
logRef: effectiveLoggingConfig?.logRef,
|
|
437
466
|
policy: {
|
|
438
467
|
// Full mode re-enables logging observer secret scanning.
|
|
439
468
|
// Initial-prompt/off skip observer scanning for lower latency.
|
|
@@ -443,10 +472,12 @@ export class LLMClient {
|
|
|
443
472
|
},
|
|
444
473
|
}));
|
|
445
474
|
}
|
|
446
|
-
observers.push(new LLMObsObserver({ tracer, logger }));
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
475
|
+
observers.push(new LLMObsObserver({ tracer, logger, recordContent: recordObsContent }));
|
|
476
|
+
if (contextHandle) {
|
|
477
|
+
observers.push(new ContextObserver({
|
|
478
|
+
contextHandle,
|
|
479
|
+
}));
|
|
480
|
+
}
|
|
450
481
|
observers.push(new RetryNotificationObserver({ peer, chatSessionStore }));
|
|
451
482
|
// Workflow metrics tracking
|
|
452
483
|
if (this.onUsageRecorded) {
|
|
@@ -533,31 +564,34 @@ export class LLMClient {
|
|
|
533
564
|
const tracedTools = tools
|
|
534
565
|
? wrapToolsForObservability(tools, tracer)
|
|
535
566
|
: undefined;
|
|
536
|
-
const messagesForModel = await ctx.getMessages();
|
|
537
|
-
logToolContextIntegrityIssues(this.logger, "ctx.initial", messagesForModel);
|
|
538
567
|
// Augment contextManagement with protected tool names from context history.
|
|
539
568
|
// Protected tools (e.g., system skill reads) are excluded from clear_tool_uses
|
|
540
569
|
// so their results survive context compaction. See helper for details.
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
570
|
+
if (contextHandle) {
|
|
571
|
+
const protectedTools = contextHandle.context.getProtectedToolNames();
|
|
572
|
+
const augmented = mergeProtectedToolsIntoExcludeTools(restStreamOptions.providerOptions, protectedTools);
|
|
573
|
+
if (augmented.changed) {
|
|
574
|
+
restStreamOptions.providerOptions =
|
|
575
|
+
augmented.providerOptions;
|
|
576
|
+
this.logger.info(`[llm-client] Added ${protectedTools.length} protected tool(s) to excludeTools (total ${augmented.mergedCount})`);
|
|
577
|
+
}
|
|
547
578
|
}
|
|
548
579
|
const result = await orchestrator.execute({
|
|
549
580
|
...restStreamOptions,
|
|
550
581
|
tools: tracedTools,
|
|
551
582
|
model,
|
|
552
583
|
messages: messagesForModel,
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
584
|
+
system: usesManagedContext ? undefined : system,
|
|
585
|
+
prepareStep: ctx
|
|
586
|
+
? async (step) => {
|
|
587
|
+
this.logger.debug("prepareStep");
|
|
588
|
+
ctx.startStep();
|
|
589
|
+
const messages = await ctx.getMessages();
|
|
590
|
+
logToolContextIntegrityIssues(this.logger, "ctx.prepareStep", messages);
|
|
591
|
+
step = { ...step, messages };
|
|
592
|
+
return prepareStep?.(step) ?? step;
|
|
593
|
+
}
|
|
594
|
+
: prepareStep,
|
|
561
595
|
onStepFinish,
|
|
562
596
|
onFinish,
|
|
563
597
|
onChunk,
|
|
@@ -571,7 +605,7 @@ export class LLMClient {
|
|
|
571
605
|
return result;
|
|
572
606
|
}
|
|
573
607
|
catch (error) {
|
|
574
|
-
contextHandle
|
|
608
|
+
contextHandle?.release();
|
|
575
609
|
throw error;
|
|
576
610
|
}
|
|
577
611
|
}
|
|
@@ -641,5 +675,226 @@ export class LLMClient {
|
|
|
641
675
|
ctx: adapter,
|
|
642
676
|
};
|
|
643
677
|
}
|
|
678
|
+
/**
|
|
679
|
+
* Generates text from the LLM without exposing a stream to the caller.
|
|
680
|
+
*
|
|
681
|
+
* Convenience wrapper around {@link streamText} that drains the result and
|
|
682
|
+
* returns the joined text. Routing through `streamText` inherits the same
|
|
683
|
+
* context management, safety classification, retry, and observability.
|
|
684
|
+
*
|
|
685
|
+
* `observers` is intentionally omitted from the options: callers cannot
|
|
686
|
+
* inject their own stream observers here, but the internal `streamText` path
|
|
687
|
+
* still creates the logging/LLMObs observers, so observability fires as
|
|
688
|
+
* usual. `experimental_output` is also omitted — passing it would silently
|
|
689
|
+
* put the model in JSON mode while this method still returns a raw text
|
|
690
|
+
* string; use {@link generateObject} for structured output.
|
|
691
|
+
*
|
|
692
|
+
* @param options - Same options as `streamText`, minus `observers` and
|
|
693
|
+
* `experimental_output`.
|
|
694
|
+
* @returns The concatenated `text-delta` content.
|
|
695
|
+
*
|
|
696
|
+
* @example
|
|
697
|
+
* ```typescript
|
|
698
|
+
* const text = await client.generateText({
|
|
699
|
+
* model,
|
|
700
|
+
* user: { role: "user", content: "Summarize this..." },
|
|
701
|
+
* providerConfig: { provider: "vertex", model: "claude-sonnet-4-5" },
|
|
702
|
+
* });
|
|
703
|
+
* ```
|
|
704
|
+
*/
|
|
705
|
+
async generateText(options, logger = getLogger(), tracer = LLMObsTracer.instance) {
|
|
706
|
+
const result = await this.streamText(options, logger, tracer);
|
|
707
|
+
return this.drainTextChunks(result, "generateText", logger);
|
|
708
|
+
}
|
|
709
|
+
/**
|
|
710
|
+
* Drain a managed `fullStream`, returning the concatenated `text-delta`
|
|
711
|
+
* content. `fullStream` (not `textStream`) is drained because the managed-
|
|
712
|
+
* stream wrapper on it fires session finalization, which observers rely on to
|
|
713
|
+
* flush obs spans and persist logs. On a mid-stream failure it logs and
|
|
714
|
+
* rethrows a "<caller> failed during stream consumption" error, preserving
|
|
715
|
+
* the original cause.
|
|
716
|
+
*/
|
|
717
|
+
async drainTextChunks(result, callerName, logger) {
|
|
718
|
+
const chunks = [];
|
|
719
|
+
try {
|
|
720
|
+
for await (const part of result.fullStream) {
|
|
721
|
+
if (part.type === "text-delta") {
|
|
722
|
+
chunks.push(part.text);
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
catch (error) {
|
|
727
|
+
const errorMeta = getErrorMeta(error);
|
|
728
|
+
logger.error(`[llm-client] ${callerName} stream consumption failed after ${chunks.length} chunks`, errorMeta);
|
|
729
|
+
throw new Error(`${callerName} failed during stream consumption after ${chunks.length} chunks: ${errorMeta.error.message}`, { cause: error });
|
|
730
|
+
}
|
|
731
|
+
return chunks.join("");
|
|
732
|
+
}
|
|
733
|
+
/**
|
|
734
|
+
* Drains a structured-output (`generateObject`) stream, capturing the result
|
|
735
|
+
* from whichever channel the provider used.
|
|
736
|
+
*
|
|
737
|
+
* The adapter's `Output.object` sets the JSON response format, but providers
|
|
738
|
+
* deliver the answer differently:
|
|
739
|
+
* - some stream the JSON as plain text (`text-delta`);
|
|
740
|
+
* - direct `@ai-sdk/anthropic` realizes structured output as a forced `json`
|
|
741
|
+
* tool call, so the object arrives as the tool-call input and NO
|
|
742
|
+
* `text-delta` is emitted. Draining only text there yields an empty string
|
|
743
|
+
* and a spurious "empty response" error (APPS-1213).
|
|
744
|
+
* - the Clark proxy (`@superblocksteam/clark`, used for bedrock/vertex)
|
|
745
|
+
* streams the result as a Clark `object` chunk; if that chunk carries no
|
|
746
|
+
* `id`, the Clark model forwards it as a `raw` part (its
|
|
747
|
+
* `forwardAsActivity`), so the object reaches neither the text nor the
|
|
748
|
+
* tool-call channel. We recover it from the raw `object` chunk (APPS-1213).
|
|
749
|
+
*
|
|
750
|
+
* `generateObject` disables user tools (`tools: undefined, maxSteps: 1`), so
|
|
751
|
+
* any tool call in the stream is the injected structured-output tool. We
|
|
752
|
+
* capture its already-parsed `input`; if only input deltas stream without a
|
|
753
|
+
* terminal `tool-call` part, we recover the object from the accumulated JSON.
|
|
754
|
+
* The full `fullStream` is still drained, which is what triggers session
|
|
755
|
+
* finalization for observability.
|
|
756
|
+
*/
|
|
757
|
+
async drainObjectStream(result, logger) {
|
|
758
|
+
const chunks = [];
|
|
759
|
+
let toolObject;
|
|
760
|
+
let toolInputJson = "";
|
|
761
|
+
try {
|
|
762
|
+
for await (const part of result.fullStream) {
|
|
763
|
+
if (part.type === "text-delta") {
|
|
764
|
+
chunks.push(part.text);
|
|
765
|
+
}
|
|
766
|
+
else if (part.type === "tool-call") {
|
|
767
|
+
toolObject = part.input;
|
|
768
|
+
}
|
|
769
|
+
else if (part.type === "tool-input-delta") {
|
|
770
|
+
toolInputJson += part.delta ?? "";
|
|
771
|
+
}
|
|
772
|
+
else if (part.type === "raw") {
|
|
773
|
+
// Clark proxy channel (vertex/bedrock via @superblocksteam/clark):
|
|
774
|
+
// a JSON-`responseFormat` result is streamed as a Clark `object`
|
|
775
|
+
// chunk. When that chunk has no `id`, the Clark model can't turn it
|
|
776
|
+
// into a `text-delta` and forwards it verbatim as a `raw` part (its
|
|
777
|
+
// `forwardAsActivity`). The object then reaches neither the text nor
|
|
778
|
+
// the tool-call channel, so draining only those read it as empty even
|
|
779
|
+
// though the model produced the full object (APPS-1213). Recover it
|
|
780
|
+
// from the raw `object` chunk's `object` field.
|
|
781
|
+
const rawValue = part.rawValue;
|
|
782
|
+
if (rawValue !== null &&
|
|
783
|
+
typeof rawValue === "object" &&
|
|
784
|
+
rawValue.type === "object" &&
|
|
785
|
+
rawValue.object !== undefined) {
|
|
786
|
+
toolObject = rawValue.object;
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
catch (error) {
|
|
792
|
+
const errorMeta = getErrorMeta(error);
|
|
793
|
+
logger.error(`[llm-client] generateObject stream consumption failed after ${chunks.length} text chunks`, errorMeta);
|
|
794
|
+
throw new Error(`generateObject failed during stream consumption after ${chunks.length} chunks: ${errorMeta.error.message}`, { cause: error });
|
|
795
|
+
}
|
|
796
|
+
// The raw `toolInputJson` is returned unparsed so the caller can tell a
|
|
797
|
+
// genuinely-empty response apart from malformed/truncated tool input: if
|
|
798
|
+
// the model emitted tool-input bytes that fail to parse, that is a parse
|
|
799
|
+
// error to surface, not an "empty response".
|
|
800
|
+
return { text: chunks.join(""), toolObject, toolInputJson };
|
|
801
|
+
}
|
|
802
|
+
/**
|
|
803
|
+
* Generates structured output validated against a Zod (or flexible) schema.
|
|
804
|
+
*
|
|
805
|
+
* Passes the schema through to the adapter's `Output.object` (which sets the
|
|
806
|
+
* JSON response format), routes through {@link streamText} with tools
|
|
807
|
+
* disabled and a single step, then resolves the object from whichever channel
|
|
808
|
+
* the provider used — the drained text, or the structured-output tool call
|
|
809
|
+
* (Anthropic/Clark realize `Output.object` as a forced `json` tool, so the
|
|
810
|
+
* object arrives as the tool-call input with no text emitted; see
|
|
811
|
+
* {@link drainObjectStream}) — and schema-validates it. Like
|
|
812
|
+
* {@link generateText}, draining `fullStream` is what triggers session
|
|
813
|
+
* finalization for observability.
|
|
814
|
+
*
|
|
815
|
+
* Snowflake Cortex constraint: Cortex rejects `generateObject` calls whose
|
|
816
|
+
* schema emits certain JSON Schema keywords, so avoid Zod refinements like
|
|
817
|
+
* `.min()` / `.max()` / `.email()` / `.url()` / `.uuid()` etc. in the
|
|
818
|
+
* `schema` — use the JSON-Schema-keyword forms (`minLength` / `maxLength` /
|
|
819
|
+
* `minimum` / `maximum` / `format`, ...) instead. See the "Snowflake Cortex
|
|
820
|
+
* generateObject schema constraints" section in the repo AGENTS.md for the
|
|
821
|
+
* full keyword list.
|
|
822
|
+
*
|
|
823
|
+
* @param options - Stream options plus the required `schema`.
|
|
824
|
+
* @returns The parsed, schema-validated object.
|
|
825
|
+
*
|
|
826
|
+
* @example
|
|
827
|
+
* ```typescript
|
|
828
|
+
* const result = await client.generateObject({
|
|
829
|
+
* model,
|
|
830
|
+
* user: { role: "user", content: "Classify this prompt" },
|
|
831
|
+
* schema: z.object({ safe: z.boolean(), justification: z.string() }),
|
|
832
|
+
* providerConfig: { provider: "vertex", model: "claude-sonnet-4-5" },
|
|
833
|
+
* });
|
|
834
|
+
* ```
|
|
835
|
+
*/
|
|
836
|
+
async generateObject(options, logger = getLogger(), tracer = LLMObsTracer.instance) {
|
|
837
|
+
const { schema, ...streamOptions } = options;
|
|
838
|
+
const result = await this.streamText({
|
|
839
|
+
...streamOptions,
|
|
840
|
+
// Structured output is single-step and tool-free.
|
|
841
|
+
tools: undefined,
|
|
842
|
+
maxSteps: 1,
|
|
843
|
+
// Pass the schema straight through; the adapter wraps it in the SDK's
|
|
844
|
+
// Output.object (which accepts a Zod/flexible schema directly) to set
|
|
845
|
+
// the JSON response format. We still own the final parse/validate
|
|
846
|
+
// below so error shapes stay consistent and tied to fullStream drain.
|
|
847
|
+
experimental_output: schema,
|
|
848
|
+
}, logger, tracer);
|
|
849
|
+
const { text: fullText, toolObject, toolInputJson, } = await this.drainObjectStream(result, logger);
|
|
850
|
+
// Only a stream with no text, no resolved tool-call object, and no tool
|
|
851
|
+
// input bytes is genuinely empty. A non-empty `toolInputJson` that fails to
|
|
852
|
+
// parse is malformed output (handled in the parse path below), not empty.
|
|
853
|
+
if (!fullText && toolObject === undefined && !toolInputJson) {
|
|
854
|
+
logger.error("[llm-client] generateObject received an empty response");
|
|
855
|
+
throw new Error("generateObject failed: received an empty response from the model.");
|
|
856
|
+
}
|
|
857
|
+
// Final JSON-parse + schema-validation is the most likely failure mode in
|
|
858
|
+
// production, so log it (with the offending text length) before it
|
|
859
|
+
// propagates — otherwise the failure is a silent blind spot.
|
|
860
|
+
try {
|
|
861
|
+
let value;
|
|
862
|
+
if (fullText) {
|
|
863
|
+
const parseResult = await safeParseJSON({ text: fullText });
|
|
864
|
+
if (!parseResult.success) {
|
|
865
|
+
throw new Error(`Failed to parse JSON response: ${parseResult.error.message}`);
|
|
866
|
+
}
|
|
867
|
+
value = parseResult.value;
|
|
868
|
+
}
|
|
869
|
+
else if (toolObject !== undefined) {
|
|
870
|
+
// Structured-output tool-call channel: input is already a parsed object.
|
|
871
|
+
value = toolObject;
|
|
872
|
+
}
|
|
873
|
+
else {
|
|
874
|
+
// Tool input streamed as deltas without a terminal tool-call part: parse
|
|
875
|
+
// the accumulated JSON. A failure here is truncated/corrupt output, so
|
|
876
|
+
// surface it as a parse error rather than letting it read as "empty".
|
|
877
|
+
const parseResult = await safeParseJSON({ text: toolInputJson });
|
|
878
|
+
if (!parseResult.success) {
|
|
879
|
+
throw new Error(`Failed to parse JSON response: ${parseResult.error.message}`);
|
|
880
|
+
}
|
|
881
|
+
value = parseResult.value;
|
|
882
|
+
}
|
|
883
|
+
const validationResult = await safeValidateTypes({
|
|
884
|
+
value,
|
|
885
|
+
schema: asSchema(schema),
|
|
886
|
+
});
|
|
887
|
+
if (!validationResult.success) {
|
|
888
|
+
throw new Error(`Response did not match schema: ${validationResult.error.message}`);
|
|
889
|
+
}
|
|
890
|
+
return validationResult.value;
|
|
891
|
+
}
|
|
892
|
+
catch (error) {
|
|
893
|
+
const errorMeta = getErrorMeta(error);
|
|
894
|
+
logger.error(`[llm-client] generateObject failed to parse/validate output ` +
|
|
895
|
+
`(textLen=${fullText.length}, viaToolCall=${!fullText})`, errorMeta);
|
|
896
|
+
throw error;
|
|
897
|
+
}
|
|
898
|
+
}
|
|
644
899
|
}
|
|
645
900
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/ai-service/llm/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/ai-service/llm/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ export declare function recordContextDocuments(input: {
|
|
|
36
36
|
dropped: number;
|
|
37
37
|
mode: ContextDocumentMode;
|
|
38
38
|
}): void;
|
|
39
|
+
export declare function recordContextRestoreEmptyCreated(): void;
|
|
39
40
|
export declare function recordServerCompaction(input: {
|
|
40
41
|
status: ServerCompactionStatus;
|
|
41
42
|
durationMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-metrics.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/context-metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context-metrics.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/context-metrics.ts"],"names":[],"mappings":"AA4CA,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,4DAMvB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,sFAO3B,CAAC;AACX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,8BAA+B,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,sBAAsB,kCAAmC,CAAC;AACvE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,eAAO,MAAM,0BAA0B,oDAI7B,CAAC;AACX,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAiWD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC,GAAG,IAAI,CAEP;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,OAAO,EAAE,qBAAqB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC,GAAG,IAAI,CAEP;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,SAAS,EAAE,oBAAoB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC,GAAG,IAAI,CAEP;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,mBAAmB,CAAC;CAC3B,GAAG,IAAI,CAEP;AAED,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IACL,MAAM,EAAE,sBAAsB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,qBAAqB,GACxB,IAAI,CAON;AAED,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D"}
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* - `superblocks.clark.context.documents_dropped_total` counter {mode}
|
|
24
24
|
* - `superblocks.clark.context.server_compactions` counter {status}
|
|
25
25
|
* - `superblocks.clark.context.server_compaction.*` histograms {status}
|
|
26
|
+
* - `superblocks.clark.context.restore_empty_created_total` counter
|
|
26
27
|
*
|
|
27
28
|
* Base cardinality budget (documented contract — growing an enum must be a
|
|
28
29
|
* deliberate, reviewed change; the regression test pins these counts):
|
|
@@ -30,7 +31,8 @@
|
|
|
30
31
|
* - source ≤ 5, trigger ≤ 6, operation ≤ 2, mode ≤ 2 across 3 document
|
|
31
32
|
* instruments → 19 baseline/document series.
|
|
32
33
|
* - server_compaction status ≤ 3 across 1 counter + 7 histograms → 24 series.
|
|
33
|
-
* -
|
|
34
|
+
* - restore_empty_created_total has no labels → 1 series.
|
|
35
|
+
* - Combined base: 44 worst-case series. Keep org/app identity in logs or
|
|
34
36
|
* traces, not metric labels.
|
|
35
37
|
*/
|
|
36
38
|
import { metrics, } from "@opentelemetry/api";
|
|
@@ -63,6 +65,7 @@ const METER_NAME = "superblocks.clark.context";
|
|
|
63
65
|
const METRIC_LOAD_DURATION = "superblocks.clark.context.load_duration_seconds";
|
|
64
66
|
const METRIC_PERSIST_DURATION = "superblocks.clark.context.persist_duration_seconds";
|
|
65
67
|
const METRIC_FILE_BYTES = "superblocks.clark.context.file_bytes";
|
|
68
|
+
const METRIC_RESTORE_EMPTY_CREATED = "superblocks.clark.context.restore_empty_created_total";
|
|
66
69
|
// APPS-4891 intentionally replaced the old {state} document metric shape.
|
|
67
70
|
// Consumers should query documents{mode} for current counts and
|
|
68
71
|
// documents_added_total/documents_dropped_total{mode} for event counters.
|
|
@@ -155,6 +158,10 @@ class ClarkContextMetrics {
|
|
|
155
158
|
unit: "s",
|
|
156
159
|
advice: { explicitBucketBoundaries: DURATION_BUCKETS_SECONDS },
|
|
157
160
|
}),
|
|
161
|
+
restoreEmptyCreatedCounter: meter.createCounter(METRIC_RESTORE_EMPTY_CREATED, {
|
|
162
|
+
description: "Count of remote context restore attempts that still created a new empty Clark context.",
|
|
163
|
+
unit: "{restore}",
|
|
164
|
+
}),
|
|
158
165
|
serverCompactionCounter: meter.createCounter(METRIC_SERVER_COMPACTIONS, {
|
|
159
166
|
description: "Count of Anthropic server-side context compaction lifecycle outcomes.",
|
|
160
167
|
unit: "{compaction}",
|
|
@@ -212,6 +219,9 @@ class ClarkContextMetrics {
|
|
|
212
219
|
operation: input.operation,
|
|
213
220
|
});
|
|
214
221
|
}
|
|
222
|
+
recordRestoreEmptyCreated() {
|
|
223
|
+
this.getInstruments().restoreEmptyCreatedCounter.add(1);
|
|
224
|
+
}
|
|
215
225
|
recordDocuments(input) {
|
|
216
226
|
const instruments = this.getInstruments();
|
|
217
227
|
const attributes = { mode: input.mode };
|
|
@@ -274,6 +284,9 @@ export function recordContextFileBytes(input) {
|
|
|
274
284
|
export function recordContextDocuments(input) {
|
|
275
285
|
clarkContextMetrics.recordDocuments(input);
|
|
276
286
|
}
|
|
287
|
+
export function recordContextRestoreEmptyCreated() {
|
|
288
|
+
clarkContextMetrics.recordRestoreEmptyCreated();
|
|
289
|
+
}
|
|
277
290
|
export function recordServerCompaction(input) {
|
|
278
291
|
const { applicationId: _applicationId, organizationId: _organizationId, ...metricsInput } = input;
|
|
279
292
|
clarkContextMetrics.recordServerCompaction(metricsInput);
|