ai-sdk-provider-claude-code 3.3.1 → 3.3.3
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/index.cjs +13 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +18 -2
- package/dist/index.d.ts +18 -2
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -568,7 +568,11 @@ var claudeCodeSettingsSchema = import_zod.z.object({
|
|
|
568
568
|
message: "spawnClaudeCodeProcess must be a function"
|
|
569
569
|
}).optional(),
|
|
570
570
|
sdkOptions: import_zod.z.record(import_zod.z.string(), import_zod.z.any()).optional(),
|
|
571
|
-
maxToolResultSize: import_zod.z.number().int().min(100).max(1e6).optional()
|
|
571
|
+
maxToolResultSize: import_zod.z.number().int().min(100).max(1e6).optional(),
|
|
572
|
+
// Callback invoked when Query object is created - for mid-stream injection via streamInput()
|
|
573
|
+
onQueryCreated: import_zod.z.any().refine((val) => val === void 0 || typeof val === "function", {
|
|
574
|
+
message: "onQueryCreated must be a function"
|
|
575
|
+
}).optional()
|
|
572
576
|
}).strict();
|
|
573
577
|
function validateModelId(modelId) {
|
|
574
578
|
const knownModels = ["opus", "sonnet", "haiku"];
|
|
@@ -1289,6 +1293,7 @@ var ClaudeCodeLanguageModel = class _ClaudeCodeLanguageModel {
|
|
|
1289
1293
|
let wasTruncated = false;
|
|
1290
1294
|
let costUsd;
|
|
1291
1295
|
let durationMs;
|
|
1296
|
+
let modelUsage;
|
|
1292
1297
|
const warnings = this.generateAllWarnings(options, messagesPrompt);
|
|
1293
1298
|
if (messageWarnings) {
|
|
1294
1299
|
messageWarnings.forEach((warning) => {
|
|
@@ -1332,6 +1337,7 @@ var ClaudeCodeLanguageModel = class _ClaudeCodeLanguageModel {
|
|
|
1332
1337
|
prompt: sdkPrompt,
|
|
1333
1338
|
options: queryOptions
|
|
1334
1339
|
});
|
|
1340
|
+
this.settings.onQueryCreated?.(response);
|
|
1335
1341
|
for await (const message of response) {
|
|
1336
1342
|
this.logger.debug(`[claude-code] Received message type: ${message.type}`);
|
|
1337
1343
|
if (message.type === "assistant") {
|
|
@@ -1341,6 +1347,7 @@ var ClaudeCodeLanguageModel = class _ClaudeCodeLanguageModel {
|
|
|
1341
1347
|
this.setSessionId(message.session_id);
|
|
1342
1348
|
costUsd = message.total_cost_usd;
|
|
1343
1349
|
durationMs = message.duration_ms;
|
|
1350
|
+
modelUsage = message.modelUsage;
|
|
1344
1351
|
if ("is_error" in message && message.is_error === true) {
|
|
1345
1352
|
const errorMessage = "result" in message && typeof message.result === "string" ? message.result : "Claude Code CLI returned an error";
|
|
1346
1353
|
throw Object.assign(new Error(errorMessage), { exitCode: 1 });
|
|
@@ -1416,6 +1423,7 @@ var ClaudeCodeLanguageModel = class _ClaudeCodeLanguageModel {
|
|
|
1416
1423
|
...this.sessionId !== void 0 && { sessionId: this.sessionId },
|
|
1417
1424
|
...costUsd !== void 0 && { costUsd },
|
|
1418
1425
|
...durationMs !== void 0 && { durationMs },
|
|
1426
|
+
...modelUsage !== void 0 && { modelUsage },
|
|
1419
1427
|
...wasTruncated && { truncated: true }
|
|
1420
1428
|
}
|
|
1421
1429
|
}
|
|
@@ -1564,6 +1572,7 @@ var ClaudeCodeLanguageModel = class _ClaudeCodeLanguageModel {
|
|
|
1564
1572
|
prompt: sdkPrompt,
|
|
1565
1573
|
options: queryOptions
|
|
1566
1574
|
});
|
|
1575
|
+
this.settings.onQueryCreated?.(response);
|
|
1567
1576
|
for await (const message of response) {
|
|
1568
1577
|
this.logger.debug(`[claude-code] Stream received message type: ${message.type}`);
|
|
1569
1578
|
if (message.type === "stream_event") {
|
|
@@ -2149,6 +2158,9 @@ var ClaudeCodeLanguageModel = class _ClaudeCodeLanguageModel {
|
|
|
2149
2158
|
costUsd: message.total_cost_usd
|
|
2150
2159
|
},
|
|
2151
2160
|
...message.duration_ms !== void 0 && { durationMs: message.duration_ms },
|
|
2161
|
+
...message.modelUsage !== void 0 && {
|
|
2162
|
+
modelUsage: message.modelUsage
|
|
2163
|
+
},
|
|
2152
2164
|
// JSON validation warnings are collected during streaming and included
|
|
2153
2165
|
// in providerMetadata since the AI SDK's finish event doesn't support
|
|
2154
2166
|
// a top-level warnings field (unlike stream-start which was already emitted)
|