@ycodium-ai/agent-claude 0.2.3094 → 0.2.3102
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.js +128 -190
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -21581,132 +21581,6 @@ var claudeStructuredErrorType = (value) => {
|
|
|
21581
21581
|
return typeof type4 === "string" ? type4 : void 0;
|
|
21582
21582
|
};
|
|
21583
21583
|
|
|
21584
|
-
// src/usage.ts
|
|
21585
|
-
function maxClaudeContextWindowFromModelUsage(modelUsage) {
|
|
21586
|
-
if (!modelUsage) return void 0;
|
|
21587
|
-
let maxContextWindow;
|
|
21588
|
-
for (const value of Object.values(modelUsage)) {
|
|
21589
|
-
const contextWindow = value.contextWindow;
|
|
21590
|
-
maxContextWindow = Math.max(maxContextWindow ?? 0, contextWindow);
|
|
21591
|
-
}
|
|
21592
|
-
return maxContextWindow;
|
|
21593
|
-
}
|
|
21594
|
-
function finiteNonNegativeInteger(value) {
|
|
21595
|
-
return typeof value === "number" && Number.isFinite(value) && value >= 0 ? Math.round(value) : void 0;
|
|
21596
|
-
}
|
|
21597
|
-
function finitePositiveInteger(value) {
|
|
21598
|
-
return typeof value === "number" && Number.isFinite(value) && value > 0 ? Math.round(value) : void 0;
|
|
21599
|
-
}
|
|
21600
|
-
function claudeUsageInputTokens(usage) {
|
|
21601
|
-
return (finiteNonNegativeInteger(usage.input_tokens) ?? 0) + (finiteNonNegativeInteger(usage.cache_creation_input_tokens) ?? 0) + (finiteNonNegativeInteger(usage.cache_read_input_tokens) ?? 0);
|
|
21602
|
-
}
|
|
21603
|
-
function claudeUsageOutputTokens(usage) {
|
|
21604
|
-
return finiteNonNegativeInteger(usage.output_tokens) ?? 0;
|
|
21605
|
-
}
|
|
21606
|
-
function lastClaudeUsageIteration(value) {
|
|
21607
|
-
const iterations = Array.isArray(value.iterations) ? value.iterations : [];
|
|
21608
|
-
return iterations.findLast(
|
|
21609
|
-
(iteration) => iteration !== null && typeof iteration === "object" && !Array.isArray(iteration)
|
|
21610
|
-
);
|
|
21611
|
-
}
|
|
21612
|
-
function claudeTotalProcessedTokens(value) {
|
|
21613
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
21614
|
-
return void 0;
|
|
21615
|
-
}
|
|
21616
|
-
const usage = value;
|
|
21617
|
-
const explicitTotal = finiteNonNegativeInteger(usage.total_tokens);
|
|
21618
|
-
if (explicitTotal !== void 0 && explicitTotal > 0) {
|
|
21619
|
-
return explicitTotal;
|
|
21620
|
-
}
|
|
21621
|
-
const total = claudeUsageInputTokens(usage) + claudeUsageOutputTokens(usage);
|
|
21622
|
-
return total > 0 ? total : void 0;
|
|
21623
|
-
}
|
|
21624
|
-
var CLAUDE_COMPACTION_SUMMARY_MAX_CHARS = 8e3;
|
|
21625
|
-
function mergeClaudeCompactionSnapshot(snapshot, metadata) {
|
|
21626
|
-
const preTokens = finiteNonNegativeInteger(metadata?.pre_tokens);
|
|
21627
|
-
const postTokens = finiteNonNegativeInteger(metadata?.post_tokens);
|
|
21628
|
-
const durationMs = finiteNonNegativeInteger(metadata?.duration_ms);
|
|
21629
|
-
return {
|
|
21630
|
-
...snapshot,
|
|
21631
|
-
...metadata?.trigger === "manual" ? { trigger: "manual" } : metadata?.trigger === "auto" ? { trigger: "automatic" } : {},
|
|
21632
|
-
...preTokens !== void 0 ? { preTokens } : {},
|
|
21633
|
-
...postTokens !== void 0 ? { postTokens } : {},
|
|
21634
|
-
...durationMs !== void 0 ? { durationMs } : {}
|
|
21635
|
-
};
|
|
21636
|
-
}
|
|
21637
|
-
function withClaudeCompactionSummary(snapshot, summary) {
|
|
21638
|
-
const trimmed = summary.trim();
|
|
21639
|
-
if (trimmed.length === 0) {
|
|
21640
|
-
return snapshot;
|
|
21641
|
-
}
|
|
21642
|
-
const truncated = trimmed.length > CLAUDE_COMPACTION_SUMMARY_MAX_CHARS;
|
|
21643
|
-
return {
|
|
21644
|
-
...snapshot,
|
|
21645
|
-
summary: truncated ? trimmed.slice(0, CLAUDE_COMPACTION_SUMMARY_MAX_CHARS) : trimmed,
|
|
21646
|
-
...truncated ? { summaryTruncated: true } : {}
|
|
21647
|
-
};
|
|
21648
|
-
}
|
|
21649
|
-
function makeClaudeTokenUsageSnapshot(input) {
|
|
21650
|
-
const activeTokens = finiteNonNegativeInteger(input.activeTokens);
|
|
21651
|
-
if (activeTokens === void 0 || activeTokens <= 0) {
|
|
21652
|
-
return void 0;
|
|
21653
|
-
}
|
|
21654
|
-
const maxTokens = finitePositiveInteger(input.contextWindow);
|
|
21655
|
-
const usedTokens = maxTokens !== void 0 ? Math.min(activeTokens, maxTokens) : activeTokens;
|
|
21656
|
-
const lastUsedTokens = finiteNonNegativeInteger(input.lastUsedTokens) ?? (maxTokens !== void 0 ? Math.min(activeTokens, maxTokens) : activeTokens);
|
|
21657
|
-
const totalProcessedTokens = finiteNonNegativeInteger(input.totalProcessedTokens);
|
|
21658
|
-
const inputTokens = finiteNonNegativeInteger(input.inputTokens);
|
|
21659
|
-
const outputTokens = finiteNonNegativeInteger(input.outputTokens);
|
|
21660
|
-
return {
|
|
21661
|
-
usedTokens,
|
|
21662
|
-
lastUsedTokens,
|
|
21663
|
-
...totalProcessedTokens !== void 0 && totalProcessedTokens > usedTokens ? { totalProcessedTokens } : {},
|
|
21664
|
-
...inputTokens !== void 0 && inputTokens > 0 ? { inputTokens } : {},
|
|
21665
|
-
...outputTokens !== void 0 && outputTokens > 0 ? { outputTokens } : {},
|
|
21666
|
-
...maxTokens !== void 0 ? { maxTokens } : {},
|
|
21667
|
-
...input.compactsAutomatically !== void 0 ? { compactsAutomatically: input.compactsAutomatically } : {},
|
|
21668
|
-
...input.autoCompactThreshold !== void 0 ? { autoCompactThreshold: input.autoCompactThreshold } : {}
|
|
21669
|
-
};
|
|
21670
|
-
}
|
|
21671
|
-
function normalizeClaudeActiveTokenUsage(value, contextWindow, totalProcessedTokens) {
|
|
21672
|
-
if (!value || typeof value !== "object") {
|
|
21673
|
-
return void 0;
|
|
21674
|
-
}
|
|
21675
|
-
const usage = value;
|
|
21676
|
-
const activeUsage = lastClaudeUsageIteration(usage) ?? usage;
|
|
21677
|
-
const inputTokens = claudeUsageInputTokens(activeUsage);
|
|
21678
|
-
const outputTokens = claudeUsageOutputTokens(activeUsage);
|
|
21679
|
-
const activeTokens = claudeTotalProcessedTokens(activeUsage) ?? inputTokens + outputTokens;
|
|
21680
|
-
if (activeTokens <= 0) {
|
|
21681
|
-
return void 0;
|
|
21682
|
-
}
|
|
21683
|
-
return makeClaudeTokenUsageSnapshot({
|
|
21684
|
-
activeTokens,
|
|
21685
|
-
inputTokens,
|
|
21686
|
-
outputTokens,
|
|
21687
|
-
...contextWindow !== void 0 ? { contextWindow } : {},
|
|
21688
|
-
...totalProcessedTokens !== void 0 ? { totalProcessedTokens } : {}
|
|
21689
|
-
});
|
|
21690
|
-
}
|
|
21691
|
-
function compactBoundaryTokenUsageSnapshot(message, contextWindow, totalProcessedTokens) {
|
|
21692
|
-
const metadata = message.compact_metadata;
|
|
21693
|
-
if (!metadata || typeof metadata !== "object" || Array.isArray(metadata)) {
|
|
21694
|
-
return void 0;
|
|
21695
|
-
}
|
|
21696
|
-
const compactMetadata = metadata;
|
|
21697
|
-
const postTokens = finiteNonNegativeInteger(compactMetadata.post_tokens);
|
|
21698
|
-
if (postTokens === void 0 || postTokens <= 0) {
|
|
21699
|
-
return void 0;
|
|
21700
|
-
}
|
|
21701
|
-
const preTokens = finiteNonNegativeInteger(compactMetadata.pre_tokens);
|
|
21702
|
-
return makeClaudeTokenUsageSnapshot({
|
|
21703
|
-
activeTokens: postTokens,
|
|
21704
|
-
...preTokens !== void 0 ? { lastUsedTokens: preTokens } : {},
|
|
21705
|
-
...contextWindow !== void 0 ? { contextWindow } : {},
|
|
21706
|
-
...totalProcessedTokens !== void 0 ? { totalProcessedTokens } : {}
|
|
21707
|
-
});
|
|
21708
|
-
}
|
|
21709
|
-
|
|
21710
21584
|
// src/taskProgress.ts
|
|
21711
21585
|
function claudeTaskRosterKind(input) {
|
|
21712
21586
|
if (input.taskType === "local_workflow") return "workflow";
|
|
@@ -21946,36 +21820,6 @@ function workflowAgentStatus(entry) {
|
|
|
21946
21820
|
return entry.startedAt === void 0 ? "pending" : "running";
|
|
21947
21821
|
}
|
|
21948
21822
|
}
|
|
21949
|
-
function normalizeClaudeTaskProgressTokenUsage(value, memory) {
|
|
21950
|
-
const totalTokens = claudeTotalProcessedTokens(value);
|
|
21951
|
-
if (totalTokens === void 0 || totalTokens <= 0) {
|
|
21952
|
-
return void 0;
|
|
21953
|
-
}
|
|
21954
|
-
const lastUsedTokens = memory.lastKnownTokenUsage?.usedTokens;
|
|
21955
|
-
const activeTokens = lastUsedTokens !== void 0 ? Math.max(totalTokens, lastUsedTokens) : totalTokens;
|
|
21956
|
-
if (lastUsedTokens !== void 0 && activeTokens === lastUsedTokens) {
|
|
21957
|
-
return void 0;
|
|
21958
|
-
}
|
|
21959
|
-
const usage = value;
|
|
21960
|
-
const snapshot = makeClaudeTokenUsageSnapshot({
|
|
21961
|
-
activeTokens,
|
|
21962
|
-
...memory.lastKnownContextWindow !== void 0 ? { contextWindow: memory.lastKnownContextWindow } : {},
|
|
21963
|
-
totalProcessedTokens: Math.max(
|
|
21964
|
-
totalTokens,
|
|
21965
|
-
memory.lastKnownTotalProcessedTokens ?? totalTokens
|
|
21966
|
-
)
|
|
21967
|
-
});
|
|
21968
|
-
if (!snapshot) {
|
|
21969
|
-
return void 0;
|
|
21970
|
-
}
|
|
21971
|
-
const toolUses = finiteNonNegativeInteger(usage.tool_uses);
|
|
21972
|
-
const durationMs = finiteNonNegativeInteger(usage.duration_ms);
|
|
21973
|
-
return {
|
|
21974
|
-
...snapshot,
|
|
21975
|
-
...toolUses !== void 0 ? { toolUses } : {},
|
|
21976
|
-
...durationMs !== void 0 ? { durationMs } : {}
|
|
21977
|
-
};
|
|
21978
|
-
}
|
|
21979
21823
|
|
|
21980
21824
|
// src/adapter/emitters.ts
|
|
21981
21825
|
var makeEmitters = (emitter) => {
|
|
@@ -23060,6 +22904,132 @@ var makeSendTurn = (deps) => {
|
|
|
23060
22904
|
return { sendTurn };
|
|
23061
22905
|
};
|
|
23062
22906
|
|
|
22907
|
+
// src/usage.ts
|
|
22908
|
+
function maxClaudeContextWindowFromModelUsage(modelUsage) {
|
|
22909
|
+
if (!modelUsage) return void 0;
|
|
22910
|
+
let maxContextWindow;
|
|
22911
|
+
for (const value of Object.values(modelUsage)) {
|
|
22912
|
+
const contextWindow = value.contextWindow;
|
|
22913
|
+
maxContextWindow = Math.max(maxContextWindow ?? 0, contextWindow);
|
|
22914
|
+
}
|
|
22915
|
+
return maxContextWindow;
|
|
22916
|
+
}
|
|
22917
|
+
function finiteNonNegativeInteger(value) {
|
|
22918
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0 ? Math.round(value) : void 0;
|
|
22919
|
+
}
|
|
22920
|
+
function finitePositiveInteger(value) {
|
|
22921
|
+
return typeof value === "number" && Number.isFinite(value) && value > 0 ? Math.round(value) : void 0;
|
|
22922
|
+
}
|
|
22923
|
+
function claudeUsageInputTokens(usage) {
|
|
22924
|
+
return (finiteNonNegativeInteger(usage.input_tokens) ?? 0) + (finiteNonNegativeInteger(usage.cache_creation_input_tokens) ?? 0) + (finiteNonNegativeInteger(usage.cache_read_input_tokens) ?? 0);
|
|
22925
|
+
}
|
|
22926
|
+
function claudeUsageOutputTokens(usage) {
|
|
22927
|
+
return finiteNonNegativeInteger(usage.output_tokens) ?? 0;
|
|
22928
|
+
}
|
|
22929
|
+
function lastClaudeUsageIteration(value) {
|
|
22930
|
+
const iterations = Array.isArray(value.iterations) ? value.iterations : [];
|
|
22931
|
+
return iterations.findLast(
|
|
22932
|
+
(iteration) => iteration !== null && typeof iteration === "object" && !Array.isArray(iteration)
|
|
22933
|
+
);
|
|
22934
|
+
}
|
|
22935
|
+
function claudeTotalProcessedTokens(value) {
|
|
22936
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
22937
|
+
return void 0;
|
|
22938
|
+
}
|
|
22939
|
+
const usage = value;
|
|
22940
|
+
const explicitTotal = finiteNonNegativeInteger(usage.total_tokens);
|
|
22941
|
+
if (explicitTotal !== void 0 && explicitTotal > 0) {
|
|
22942
|
+
return explicitTotal;
|
|
22943
|
+
}
|
|
22944
|
+
const total = claudeUsageInputTokens(usage) + claudeUsageOutputTokens(usage);
|
|
22945
|
+
return total > 0 ? total : void 0;
|
|
22946
|
+
}
|
|
22947
|
+
var CLAUDE_COMPACTION_SUMMARY_MAX_CHARS = 8e3;
|
|
22948
|
+
function mergeClaudeCompactionSnapshot(snapshot, metadata) {
|
|
22949
|
+
const preTokens = finiteNonNegativeInteger(metadata?.pre_tokens);
|
|
22950
|
+
const postTokens = finiteNonNegativeInteger(metadata?.post_tokens);
|
|
22951
|
+
const durationMs = finiteNonNegativeInteger(metadata?.duration_ms);
|
|
22952
|
+
return {
|
|
22953
|
+
...snapshot,
|
|
22954
|
+
...metadata?.trigger === "manual" ? { trigger: "manual" } : metadata?.trigger === "auto" ? { trigger: "automatic" } : {},
|
|
22955
|
+
...preTokens !== void 0 ? { preTokens } : {},
|
|
22956
|
+
...postTokens !== void 0 ? { postTokens } : {},
|
|
22957
|
+
...durationMs !== void 0 ? { durationMs } : {}
|
|
22958
|
+
};
|
|
22959
|
+
}
|
|
22960
|
+
function withClaudeCompactionSummary(snapshot, summary) {
|
|
22961
|
+
const trimmed = summary.trim();
|
|
22962
|
+
if (trimmed.length === 0) {
|
|
22963
|
+
return snapshot;
|
|
22964
|
+
}
|
|
22965
|
+
const truncated = trimmed.length > CLAUDE_COMPACTION_SUMMARY_MAX_CHARS;
|
|
22966
|
+
return {
|
|
22967
|
+
...snapshot,
|
|
22968
|
+
summary: truncated ? trimmed.slice(0, CLAUDE_COMPACTION_SUMMARY_MAX_CHARS) : trimmed,
|
|
22969
|
+
...truncated ? { summaryTruncated: true } : {}
|
|
22970
|
+
};
|
|
22971
|
+
}
|
|
22972
|
+
function makeClaudeTokenUsageSnapshot(input) {
|
|
22973
|
+
const activeTokens = finiteNonNegativeInteger(input.activeTokens);
|
|
22974
|
+
if (activeTokens === void 0 || activeTokens <= 0) {
|
|
22975
|
+
return void 0;
|
|
22976
|
+
}
|
|
22977
|
+
const maxTokens = finitePositiveInteger(input.contextWindow);
|
|
22978
|
+
const usedTokens = maxTokens !== void 0 ? Math.min(activeTokens, maxTokens) : activeTokens;
|
|
22979
|
+
const lastUsedTokens = finiteNonNegativeInteger(input.lastUsedTokens) ?? (maxTokens !== void 0 ? Math.min(activeTokens, maxTokens) : activeTokens);
|
|
22980
|
+
const totalProcessedTokens = finiteNonNegativeInteger(input.totalProcessedTokens);
|
|
22981
|
+
const inputTokens = finiteNonNegativeInteger(input.inputTokens);
|
|
22982
|
+
const outputTokens = finiteNonNegativeInteger(input.outputTokens);
|
|
22983
|
+
return {
|
|
22984
|
+
usedTokens,
|
|
22985
|
+
lastUsedTokens,
|
|
22986
|
+
...totalProcessedTokens !== void 0 && totalProcessedTokens > usedTokens ? { totalProcessedTokens } : {},
|
|
22987
|
+
...inputTokens !== void 0 && inputTokens > 0 ? { inputTokens } : {},
|
|
22988
|
+
...outputTokens !== void 0 && outputTokens > 0 ? { outputTokens } : {},
|
|
22989
|
+
...maxTokens !== void 0 ? { maxTokens } : {},
|
|
22990
|
+
...input.compactsAutomatically !== void 0 ? { compactsAutomatically: input.compactsAutomatically } : {},
|
|
22991
|
+
...input.autoCompactThreshold !== void 0 ? { autoCompactThreshold: input.autoCompactThreshold } : {}
|
|
22992
|
+
};
|
|
22993
|
+
}
|
|
22994
|
+
function normalizeClaudeActiveTokenUsage(value, contextWindow, totalProcessedTokens) {
|
|
22995
|
+
if (!value || typeof value !== "object") {
|
|
22996
|
+
return void 0;
|
|
22997
|
+
}
|
|
22998
|
+
const usage = value;
|
|
22999
|
+
const activeUsage = lastClaudeUsageIteration(usage) ?? usage;
|
|
23000
|
+
const inputTokens = claudeUsageInputTokens(activeUsage);
|
|
23001
|
+
const outputTokens = claudeUsageOutputTokens(activeUsage);
|
|
23002
|
+
const activeTokens = claudeTotalProcessedTokens(activeUsage) ?? inputTokens + outputTokens;
|
|
23003
|
+
if (activeTokens <= 0) {
|
|
23004
|
+
return void 0;
|
|
23005
|
+
}
|
|
23006
|
+
return makeClaudeTokenUsageSnapshot({
|
|
23007
|
+
activeTokens,
|
|
23008
|
+
inputTokens,
|
|
23009
|
+
outputTokens,
|
|
23010
|
+
...contextWindow !== void 0 ? { contextWindow } : {},
|
|
23011
|
+
...totalProcessedTokens !== void 0 ? { totalProcessedTokens } : {}
|
|
23012
|
+
});
|
|
23013
|
+
}
|
|
23014
|
+
function compactBoundaryTokenUsageSnapshot(message, contextWindow, totalProcessedTokens) {
|
|
23015
|
+
const metadata = message.compact_metadata;
|
|
23016
|
+
if (!metadata || typeof metadata !== "object" || Array.isArray(metadata)) {
|
|
23017
|
+
return void 0;
|
|
23018
|
+
}
|
|
23019
|
+
const compactMetadata = metadata;
|
|
23020
|
+
const postTokens = finiteNonNegativeInteger(compactMetadata.post_tokens);
|
|
23021
|
+
if (postTokens === void 0 || postTokens <= 0) {
|
|
23022
|
+
return void 0;
|
|
23023
|
+
}
|
|
23024
|
+
const preTokens = finiteNonNegativeInteger(compactMetadata.pre_tokens);
|
|
23025
|
+
return makeClaudeTokenUsageSnapshot({
|
|
23026
|
+
activeTokens: postTokens,
|
|
23027
|
+
...preTokens !== void 0 ? { lastUsedTokens: preTokens } : {},
|
|
23028
|
+
...contextWindow !== void 0 ? { contextWindow } : {},
|
|
23029
|
+
...totalProcessedTokens !== void 0 ? { totalProcessedTokens } : {}
|
|
23030
|
+
});
|
|
23031
|
+
}
|
|
23032
|
+
|
|
23063
23033
|
// src/adapter/sessionCallbacks.ts
|
|
23064
23034
|
var makeSessionCallbacks = (deps) => {
|
|
23065
23035
|
const { emitter, ensureSyntheticTurn, emitProposedPlanCompleted } = deps;
|
|
@@ -24834,18 +24804,6 @@ var makeSystemMessageHandler = (deps) => {
|
|
|
24834
24804
|
return;
|
|
24835
24805
|
}
|
|
24836
24806
|
case "task_progress": {
|
|
24837
|
-
await emitThreadTokenUsage(
|
|
24838
|
-
context,
|
|
24839
|
-
normalizeClaudeTaskProgressTokenUsage(message.usage, {
|
|
24840
|
-
...context.lastKnownTokenUsage === void 0 ? {} : { lastKnownTokenUsage: context.lastKnownTokenUsage },
|
|
24841
|
-
...context.lastKnownContextWindow === void 0 ? {} : { lastKnownContextWindow: context.lastKnownContextWindow },
|
|
24842
|
-
...context.lastKnownTotalProcessedTokens === void 0 ? {} : { lastKnownTotalProcessedTokens: context.lastKnownTotalProcessedTokens }
|
|
24843
|
-
}),
|
|
24844
|
-
{
|
|
24845
|
-
rawMethod: "claude/system/task_progress",
|
|
24846
|
-
rawPayload: message
|
|
24847
|
-
}
|
|
24848
|
-
);
|
|
24849
24807
|
const linkage = taskLinkageFor(context.taskAgents, message.task_id);
|
|
24850
24808
|
const typedUsage = normalizeTaskUsage(message.usage);
|
|
24851
24809
|
const workflowPhases = parseWorkflowProgress(
|
|
@@ -24893,18 +24851,6 @@ var makeSystemMessageHandler = (deps) => {
|
|
|
24893
24851
|
}
|
|
24894
24852
|
case "task_notification": {
|
|
24895
24853
|
context.liveTaskIds.delete(message.task_id);
|
|
24896
|
-
await emitThreadTokenUsage(
|
|
24897
|
-
context,
|
|
24898
|
-
normalizeClaudeTaskProgressTokenUsage(message.usage, {
|
|
24899
|
-
...context.lastKnownTokenUsage === void 0 ? {} : { lastKnownTokenUsage: context.lastKnownTokenUsage },
|
|
24900
|
-
...context.lastKnownContextWindow === void 0 ? {} : { lastKnownContextWindow: context.lastKnownContextWindow },
|
|
24901
|
-
...context.lastKnownTotalProcessedTokens === void 0 ? {} : { lastKnownTotalProcessedTokens: context.lastKnownTotalProcessedTokens }
|
|
24902
|
-
}),
|
|
24903
|
-
{
|
|
24904
|
-
rawMethod: "claude/system/task_notification",
|
|
24905
|
-
rawPayload: message
|
|
24906
|
-
}
|
|
24907
|
-
);
|
|
24908
24854
|
const typedUsage = normalizeTaskUsage(message.usage);
|
|
24909
24855
|
offerRuntimeEvent(context, {
|
|
24910
24856
|
...base,
|
|
@@ -25175,9 +25121,7 @@ var makeTurnLifecycle = (deps) => {
|
|
|
25175
25121
|
}
|
|
25176
25122
|
const resultUsageRecord = result?.usage && typeof result.usage === "object" && !Array.isArray(result.usage) ? result.usage : void 0;
|
|
25177
25123
|
const hasResultUsageIteration = resultUsageRecord !== void 0 && lastClaudeUsageIteration(resultUsageRecord) !== void 0;
|
|
25178
|
-
const
|
|
25179
|
-
const resultTotalOnly = resultUsageRecord !== void 0 && !resultHasActiveUsage && claudeTotalProcessedTokens(resultUsageRecord) !== void 0;
|
|
25180
|
-
const resultIterationSnapshot = resultUsageRecord ? normalizeClaudeActiveTokenUsage(
|
|
25124
|
+
const resultIterationSnapshot = hasResultUsageIteration ? normalizeClaudeActiveTokenUsage(
|
|
25181
25125
|
resultUsageRecord,
|
|
25182
25126
|
maxTokens,
|
|
25183
25127
|
accumulatedTotalProcessedTokens ?? context.lastKnownTotalProcessedTokens
|
|
@@ -25189,13 +25133,7 @@ var makeTurnLifecycle = (deps) => {
|
|
|
25189
25133
|
);
|
|
25190
25134
|
const lastGoodUsage = context.lastKnownTokenUsage;
|
|
25191
25135
|
const usageSnapshot = latestAssistantSnapshot ?? // 压缩之后还没有新的 assistant 用量时,result 里的累计数反映的是压缩前的上下文,不能用。
|
|
25192
|
-
(context.turnState?.compactedSinceLatestAssistantUsage ? void 0 :
|
|
25193
|
-
...lastGoodUsage,
|
|
25194
|
-
...typeof maxTokens === "number" && Number.isFinite(maxTokens) && maxTokens > 0 ? { maxTokens } : {},
|
|
25195
|
-
...typeof accumulatedTotalProcessedTokens === "number" && Number.isFinite(accumulatedTotalProcessedTokens) && accumulatedTotalProcessedTokens > lastGoodUsage.usedTokens ? {
|
|
25196
|
-
totalProcessedTokens: accumulatedTotalProcessedTokens
|
|
25197
|
-
} : {}
|
|
25198
|
-
} : resultIterationSnapshot) ?? (lastGoodUsage ? {
|
|
25136
|
+
(context.turnState?.compactedSinceLatestAssistantUsage ? void 0 : resultIterationSnapshot) ?? (lastGoodUsage ? {
|
|
25199
25137
|
...lastGoodUsage,
|
|
25200
25138
|
...typeof maxTokens === "number" && Number.isFinite(maxTokens) && maxTokens > 0 ? { maxTokens } : {},
|
|
25201
25139
|
...typeof accumulatedTotalProcessedTokens === "number" && Number.isFinite(accumulatedTotalProcessedTokens) && accumulatedTotalProcessedTokens > lastGoodUsage.usedTokens ? {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ycodium-ai/agent-claude",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3102",
|
|
4
4
|
"description": "Claude executor: Claude Code CLI via @anthropic-ai/claude-agent-sdk.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ycodium",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"@types/node": "24.12.4",
|
|
25
25
|
"esbuild": "0.28.1",
|
|
26
26
|
"vite-plus": "0.2.2",
|
|
27
|
-
"@ycodium-ai/plugin-api": "0.2.
|
|
28
|
-
"ycodium-
|
|
27
|
+
"@ycodium-ai/plugin-api": "0.2.3102",
|
|
28
|
+
"ycodium-executor-testing": "0.0.0",
|
|
29
29
|
"ycodium-jsonl-stream": "0.0.0",
|
|
30
|
-
"ycodium-
|
|
30
|
+
"ycodium-composer-tokens": "0.0.0"
|
|
31
31
|
},
|
|
32
32
|
"ycodium": {
|
|
33
33
|
"plugin": "./dist/index.js",
|