perstack 0.0.114 → 0.0.116
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/bin/cli.js +123 -40
- package/dist/bin/cli.js.map +1 -1
- package/dist/{dist-Dbqn18AZ.js → dist-ByKamhCW.js} +67 -38
- package/dist/{dist-Dbqn18AZ.js.map → dist-ByKamhCW.js.map} +1 -1
- package/dist/{resolve-expert-BZR9BBkj.js → resolve-expert-NYqP4qog.js} +4 -3
- package/dist/resolve-expert-NYqP4qog.js.map +1 -0
- package/package.json +7 -7
- package/dist/resolve-expert-BZR9BBkj.js.map +0 -1
package/dist/bin/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "../chunk-D_gEzPfs.js";
|
|
3
|
-
import { $ as intersection, A as runCommandInputSchema, At as NEVER, B as resolveModelTier, C as runSettingSchema, Ct as parseAsync, D as stopRunByDelegate, Dt as defineLazy, E as startRun, Et as clone, F as expertSchema, Ft as createId, G as _enum, H as number$1, I as isCoordinatorExpert, J as any, K as _instanceof, L as validateDelegation, M as perstackConfigSchema, Mt as defaultMaxRetries, N as lockfileSchema, Nt as defaultPerstackApiBaseUrl, O as stopRunByError, Ot as normalizeParams, P as jobSchema, Pt as defaultTimeout, Q as discriminatedUnion, R as checkpointSchema, S as runParamsSchema, St as parse$1, T as startGeneration, Tt as safeParseAsync$1, U as ZodIssueCode$1, V as resolveModelTierWithFallback, W as ZodOptional$1, X as boolean, Y as array$1, Z as custom, _ as parseExpertKey, _t as toJSONSchema, a as validateEventFilter, at as object$2, b as resumeFromStop, bt as $ZodObject, c as createBaseToolActivity, ct as record, d as completeRun, dt as tuple, et as lazy, f as continueToNextStep, ft as union, g as finishToolCall, gt as datetime, h as finishMcpTools, ht as safeParseAsync$2, i as createFilteredEventListener, it as number, j as startCommandInputSchema, jt as PerstackError, k as stopRunByInteractiveTool, kt as $constructor, l as createGeneralToolActivity, lt as strictObject, m as createStreamingEvent, mt as url, n as parseWithFriendlyError, nt as looseObject, o as getFilteredEnv, ot as optional, p as createRuntimeEvent, pt as unknown, q as _null, r as truncateText$1, rt as never, s as BASE_SKILL_PREFIX, st as preprocess, t as createApiClient, tt as literal, u as callTools, ut as string, v as proceedToInteractiveTools, vt as describe$1, w as skipDelegates, wt as safeParse$1, x as retry, xt as $ZodType, y as resolveToolResults, yt as meta$1, z as knownModels } from "../dist-
|
|
3
|
+
import { $ as intersection, A as runCommandInputSchema, At as NEVER, B as resolveModelTier, C as runSettingSchema, Ct as parseAsync, D as stopRunByDelegate, Dt as defineLazy, E as startRun, Et as clone, F as expertSchema, Ft as createId, G as _enum, H as number$1, I as isCoordinatorExpert, J as any, K as _instanceof, L as validateDelegation, M as perstackConfigSchema, Mt as defaultMaxRetries, N as lockfileSchema, Nt as defaultPerstackApiBaseUrl, O as stopRunByError, Ot as normalizeParams, P as jobSchema, Pt as defaultTimeout, Q as discriminatedUnion, R as checkpointSchema, S as runParamsSchema, St as parse$1, T as startGeneration, Tt as safeParseAsync$1, U as ZodIssueCode$1, V as resolveModelTierWithFallback, W as ZodOptional$1, X as boolean, Y as array$1, Z as custom, _ as parseExpertKey, _t as toJSONSchema, a as validateEventFilter, at as object$2, b as resumeFromStop, bt as $ZodObject, c as createBaseToolActivity, ct as record, d as completeRun, dt as tuple, et as lazy, f as continueToNextStep, ft as union, g as finishToolCall, gt as datetime, h as finishMcpTools, ht as safeParseAsync$2, i as createFilteredEventListener, it as number, j as startCommandInputSchema, jt as PerstackError, k as stopRunByInteractiveTool, kt as $constructor, l as createGeneralToolActivity, lt as strictObject, m as createStreamingEvent, mt as url, n as parseWithFriendlyError, nt as looseObject, o as getFilteredEnv, ot as optional, p as createRuntimeEvent, pt as unknown, q as _null, r as truncateText$1, rt as never, s as BASE_SKILL_PREFIX, st as preprocess, t as createApiClient, tt as literal, u as callTools, ut as string, v as proceedToInteractiveTools, vt as describe$1, w as skipDelegates, wt as safeParse$1, x as retry, xt as $ZodType, y as resolveToolResults, yt as meta$1, z as knownModels } from "../dist-ByKamhCW.js";
|
|
4
4
|
import { t as require_token_error } from "../token-error-_b-fOBh2.js";
|
|
5
5
|
import fs, { constants, lstat, mkdir, open, readFile, stat, writeFile } from "node:fs/promises";
|
|
6
6
|
import path, { dirname, extname } from "node:path";
|
|
@@ -1102,7 +1102,8 @@ function toRuntimeExpert(key, expert) {
|
|
|
1102
1102
|
instruction: expert.instruction,
|
|
1103
1103
|
skills,
|
|
1104
1104
|
delegates: expert.delegates ?? [],
|
|
1105
|
-
tags: expert.tags ?? []
|
|
1105
|
+
tags: expert.tags ?? [],
|
|
1106
|
+
defaultModelTier: expert.defaultModelTier
|
|
1106
1107
|
};
|
|
1107
1108
|
}
|
|
1108
1109
|
function configExpertToExpert(key, configExpert) {
|
|
@@ -1117,7 +1118,8 @@ function configExpertToExpert(key, configExpert) {
|
|
|
1117
1118
|
tags: configExpert.tags,
|
|
1118
1119
|
providerTools: configExpert.providerTools,
|
|
1119
1120
|
providerSkills: configExpert.providerSkills,
|
|
1120
|
-
providerToolOptions: configExpert.providerToolOptions
|
|
1121
|
+
providerToolOptions: configExpert.providerToolOptions,
|
|
1122
|
+
defaultModelTier: configExpert.defaultModelTier
|
|
1121
1123
|
});
|
|
1122
1124
|
}
|
|
1123
1125
|
async function resolveAllExperts(config, env) {
|
|
@@ -16302,7 +16304,7 @@ const EMPTY_COMPLETION_RESULT = { completion: {
|
|
|
16302
16304
|
//#endregion
|
|
16303
16305
|
//#region ../base/package.json
|
|
16304
16306
|
var name$6 = "@perstack/base";
|
|
16305
|
-
var version$2 = "0.0.
|
|
16307
|
+
var version$2 = "0.0.78";
|
|
16306
16308
|
|
|
16307
16309
|
//#endregion
|
|
16308
16310
|
//#region ../base/src/tools/todo.ts
|
|
@@ -21310,7 +21312,7 @@ async function expertVersionsHandler(scopeName, options) {
|
|
|
21310
21312
|
|
|
21311
21313
|
//#endregion
|
|
21312
21314
|
//#region ../../packages/runtime/package.json
|
|
21313
|
-
var version$1 = "0.0.
|
|
21315
|
+
var version$1 = "0.0.132";
|
|
21314
21316
|
|
|
21315
21317
|
//#endregion
|
|
21316
21318
|
//#region ../../packages/runtime/src/helpers/usage.ts
|
|
@@ -80217,7 +80219,7 @@ function validateRuntimeVersion(experts) {
|
|
|
80217
80219
|
//#endregion
|
|
80218
80220
|
//#region ../../packages/runtime/src/helpers/setup-experts.ts
|
|
80219
80221
|
async function setupExperts(setting, resolveExpertToRun) {
|
|
80220
|
-
const resolveFn = resolveExpertToRun ?? (await import("../resolve-expert-
|
|
80222
|
+
const resolveFn = resolveExpertToRun ?? (await import("../resolve-expert-NYqP4qog.js")).resolveExpertToRun;
|
|
80221
80223
|
const { expertKey } = setting;
|
|
80222
80224
|
const experts = { ...setting.experts };
|
|
80223
80225
|
const clientOptions = {
|
|
@@ -93949,6 +93951,7 @@ var CoordinatorExecutor = class {
|
|
|
93949
93951
|
expertName: expertToRun.name,
|
|
93950
93952
|
experts: Object.keys(experts),
|
|
93951
93953
|
model: resolvedModel,
|
|
93954
|
+
providerName: setting.providerConfig.providerName,
|
|
93952
93955
|
maxRetries: setting.maxRetries,
|
|
93953
93956
|
timeout: setting.timeout,
|
|
93954
93957
|
query: setting.input.text,
|
|
@@ -121809,6 +121812,11 @@ function createInitialDelegationTreeState() {
|
|
|
121809
121812
|
nodes: /* @__PURE__ */ new Map(),
|
|
121810
121813
|
rootRunId: void 0,
|
|
121811
121814
|
jobTotalTokens: 0,
|
|
121815
|
+
jobReasoningTokens: 0,
|
|
121816
|
+
jobInputTokens: 0,
|
|
121817
|
+
jobCachedInputTokens: 0,
|
|
121818
|
+
jobOutputTokens: 0,
|
|
121819
|
+
providerName: void 0,
|
|
121812
121820
|
jobStartedAt: void 0,
|
|
121813
121821
|
runIdAliases: /* @__PURE__ */ new Map()
|
|
121814
121822
|
};
|
|
@@ -121918,6 +121926,7 @@ function processDelegationTreeEvent(state, event) {
|
|
|
121918
121926
|
switch (event.type) {
|
|
121919
121927
|
case "initializeRuntime":
|
|
121920
121928
|
if (state.jobStartedAt === void 0) state.jobStartedAt = event.timestamp;
|
|
121929
|
+
if (state.providerName === void 0) state.providerName = event.providerName;
|
|
121921
121930
|
return true;
|
|
121922
121931
|
case "startRun": {
|
|
121923
121932
|
const initCheckpoint = event.initialCheckpoint;
|
|
@@ -121937,6 +121946,7 @@ function processDelegationTreeEvent(state, event) {
|
|
|
121937
121946
|
actionLabel: "Starting...",
|
|
121938
121947
|
actionFileArg: void 0,
|
|
121939
121948
|
contextWindowUsage: initCheckpoint.contextWindowUsage ?? 0,
|
|
121949
|
+
model: event.model,
|
|
121940
121950
|
parentRunId,
|
|
121941
121951
|
childRunIds: [],
|
|
121942
121952
|
totalTokens: 0
|
|
@@ -121964,6 +121974,7 @@ function processDelegationTreeEvent(state, event) {
|
|
|
121964
121974
|
const node = state.nodes.get(nodeId);
|
|
121965
121975
|
if (node) {
|
|
121966
121976
|
node.status = "running";
|
|
121977
|
+
node.model = event.model;
|
|
121967
121978
|
if (checkpoint.contextWindowUsage !== void 0) node.contextWindowUsage = checkpoint.contextWindowUsage;
|
|
121968
121979
|
}
|
|
121969
121980
|
return true;
|
|
@@ -121995,6 +122006,10 @@ function processDelegationTreeEvent(state, event) {
|
|
|
121995
122006
|
node.actionFileArg = fileArg;
|
|
121996
122007
|
node.totalTokens += event.usage.totalTokens;
|
|
121997
122008
|
state.jobTotalTokens += event.usage.totalTokens;
|
|
122009
|
+
state.jobReasoningTokens += event.usage.reasoningTokens;
|
|
122010
|
+
state.jobInputTokens += event.usage.inputTokens;
|
|
122011
|
+
state.jobCachedInputTokens += event.usage.cachedInputTokens;
|
|
122012
|
+
state.jobOutputTokens += event.usage.outputTokens;
|
|
121998
122013
|
}
|
|
121999
122014
|
return true;
|
|
122000
122015
|
}
|
|
@@ -122018,6 +122033,10 @@ function processDelegationTreeEvent(state, event) {
|
|
|
122018
122033
|
node.actionFileArg = void 0;
|
|
122019
122034
|
node.totalTokens += event.usage.totalTokens;
|
|
122020
122035
|
state.jobTotalTokens += event.usage.totalTokens;
|
|
122036
|
+
state.jobReasoningTokens += event.usage.reasoningTokens;
|
|
122037
|
+
state.jobInputTokens += event.usage.inputTokens;
|
|
122038
|
+
state.jobCachedInputTokens += event.usage.cachedInputTokens;
|
|
122039
|
+
state.jobOutputTokens += event.usage.outputTokens;
|
|
122021
122040
|
if (event.checkpoint.contextWindowUsage !== void 0) node.contextWindowUsage = event.checkpoint.contextWindowUsage;
|
|
122022
122041
|
}
|
|
122023
122042
|
return true;
|
|
@@ -122047,6 +122066,10 @@ function processDelegationTreeEvent(state, event) {
|
|
|
122047
122066
|
if (node) {
|
|
122048
122067
|
node.totalTokens += event.usage.totalTokens;
|
|
122049
122068
|
state.jobTotalTokens += event.usage.totalTokens;
|
|
122069
|
+
state.jobReasoningTokens += event.usage.reasoningTokens;
|
|
122070
|
+
state.jobInputTokens += event.usage.inputTokens;
|
|
122071
|
+
state.jobCachedInputTokens += event.usage.cachedInputTokens;
|
|
122072
|
+
state.jobOutputTokens += event.usage.outputTokens;
|
|
122050
122073
|
}
|
|
122051
122074
|
return true;
|
|
122052
122075
|
}
|
|
@@ -122064,7 +122087,13 @@ function useDelegationTree() {
|
|
|
122064
122087
|
state,
|
|
122065
122088
|
processEvent,
|
|
122066
122089
|
statusCounts: getStatusCounts(state),
|
|
122067
|
-
formattedTotalTokens: formatTokenCount(state.jobTotalTokens)
|
|
122090
|
+
formattedTotalTokens: formatTokenCount(state.jobTotalTokens),
|
|
122091
|
+
formattedReasoningTokens: formatTokenCount(state.jobReasoningTokens),
|
|
122092
|
+
formattedInputTokens: formatTokenCount(state.jobInputTokens),
|
|
122093
|
+
formattedCachedInputTokens: formatTokenCount(state.jobCachedInputTokens),
|
|
122094
|
+
formattedOutputTokens: formatTokenCount(state.jobOutputTokens),
|
|
122095
|
+
providerName: state.providerName,
|
|
122096
|
+
cacheHitRate: state.jobInputTokens + state.jobCachedInputTokens > 0 ? (state.jobCachedInputTokens / (state.jobInputTokens + state.jobCachedInputTokens) * 100).toFixed(2) : "0.00"
|
|
122068
122097
|
};
|
|
122069
122098
|
}
|
|
122070
122099
|
|
|
@@ -122163,15 +122192,25 @@ function TreeNodeLine({ flatNode, spinner }) {
|
|
|
122163
122192
|
color: colors.muted,
|
|
122164
122193
|
children: [" ", node.actionFileArg]
|
|
122165
122194
|
}) : null,
|
|
122166
|
-
showUsage ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
122167
|
-
|
|
122168
|
-
|
|
122169
|
-
|
|
122170
|
-
|
|
122171
|
-
|
|
122172
|
-
|
|
122173
|
-
|
|
122174
|
-
|
|
122195
|
+
showUsage ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
122196
|
+
node.model ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
122197
|
+
dimColor: true,
|
|
122198
|
+
children: " · "
|
|
122199
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
122200
|
+
dimColor: true,
|
|
122201
|
+
children: node.model
|
|
122202
|
+
})] }) : null,
|
|
122203
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
122204
|
+
dimColor: true,
|
|
122205
|
+
children: " · "
|
|
122206
|
+
}),
|
|
122207
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { children: [
|
|
122208
|
+
usageIcon,
|
|
122209
|
+
" ",
|
|
122210
|
+
usagePercent,
|
|
122211
|
+
"%"
|
|
122212
|
+
] })
|
|
122213
|
+
] }) : null
|
|
122175
122214
|
] });
|
|
122176
122215
|
}
|
|
122177
122216
|
const DelegationTree = ({ state }) => {
|
|
@@ -122186,7 +122225,7 @@ const DelegationTree = ({ state }) => {
|
|
|
122186
122225
|
|
|
122187
122226
|
//#endregion
|
|
122188
122227
|
//#region ../../packages/tui-components/src/execution/components/interface-panel.tsx
|
|
122189
|
-
const InterfacePanel = ({ query, runStatus, onSubmit, delegationTreeState, runningCount, waitingCount,
|
|
122228
|
+
const InterfacePanel = ({ query, runStatus, onSubmit, delegationTreeState, runningCount, waitingCount, formattedReasoningTokens, formattedInputTokens, formattedCachedInputTokens, formattedOutputTokens, providerName, cacheHitRate, elapsedTime }) => {
|
|
122190
122229
|
const { input, handleInput } = useTextInput({
|
|
122191
122230
|
onSubmit,
|
|
122192
122231
|
canSubmit: runStatus !== "running"
|
|
@@ -122205,28 +122244,60 @@ const InterfacePanel = ({ query, runStatus, onSubmit, delegationTreeState, runni
|
|
|
122205
122244
|
isWaiting ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
122206
122245
|
color: colors.accent,
|
|
122207
122246
|
children: "Waiting for query..."
|
|
122208
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
122209
|
-
|
|
122210
|
-
|
|
122211
|
-
|
|
122212
|
-
|
|
122213
|
-
|
|
122214
|
-
|
|
122215
|
-
|
|
122216
|
-
|
|
122217
|
-
|
|
122218
|
-
|
|
122219
|
-
|
|
122220
|
-
"
|
|
122221
|
-
waitingCount,
|
|
122222
|
-
|
|
122223
|
-
|
|
122224
|
-
|
|
122225
|
-
|
|
122226
|
-
|
|
122227
|
-
|
|
122228
|
-
|
|
122229
|
-
|
|
122247
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
122248
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, {
|
|
122249
|
+
color: colors.success,
|
|
122250
|
+
wrap: "truncate",
|
|
122251
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
122252
|
+
bold: true,
|
|
122253
|
+
children: "Query: "
|
|
122254
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: query || "–" })]
|
|
122255
|
+
}),
|
|
122256
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, {
|
|
122257
|
+
dimColor: true,
|
|
122258
|
+
children: [
|
|
122259
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { children: [runningCount, " running"] }),
|
|
122260
|
+
waitingCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { children: [
|
|
122261
|
+
" · ",
|
|
122262
|
+
waitingCount,
|
|
122263
|
+
" waiting"
|
|
122264
|
+
] }) : null,
|
|
122265
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: " · " }),
|
|
122266
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: elapsedTime }),
|
|
122267
|
+
providerName ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { children: [" · ", providerName] }) : null
|
|
122268
|
+
]
|
|
122269
|
+
}),
|
|
122270
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { children: [
|
|
122271
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
122272
|
+
dimColor: true,
|
|
122273
|
+
children: "R "
|
|
122274
|
+
}),
|
|
122275
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: formattedReasoningTokens }),
|
|
122276
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
122277
|
+
dimColor: true,
|
|
122278
|
+
children: " · I "
|
|
122279
|
+
}),
|
|
122280
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: formattedInputTokens }),
|
|
122281
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
122282
|
+
dimColor: true,
|
|
122283
|
+
children: " · C "
|
|
122284
|
+
}),
|
|
122285
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: formattedCachedInputTokens }),
|
|
122286
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
122287
|
+
dimColor: true,
|
|
122288
|
+
children: " · O "
|
|
122289
|
+
}),
|
|
122290
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: formattedOutputTokens }),
|
|
122291
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, {
|
|
122292
|
+
dimColor: true,
|
|
122293
|
+
children: [
|
|
122294
|
+
" (cache: ",
|
|
122295
|
+
cacheHitRate,
|
|
122296
|
+
"%)"
|
|
122297
|
+
]
|
|
122298
|
+
})
|
|
122299
|
+
] })
|
|
122300
|
+
] }),
|
|
122230
122301
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DelegationTree, { state: delegationTreeState }),
|
|
122231
122302
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { children: [
|
|
122232
122303
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
@@ -122379,6 +122450,12 @@ const useExecutionState = (options) => {
|
|
|
122379
122450
|
runningCount: delegationTree.statusCounts.running,
|
|
122380
122451
|
waitingCount: delegationTree.statusCounts.waiting,
|
|
122381
122452
|
formattedTotalTokens: delegationTree.formattedTotalTokens,
|
|
122453
|
+
formattedReasoningTokens: delegationTree.formattedReasoningTokens,
|
|
122454
|
+
formattedInputTokens: delegationTree.formattedInputTokens,
|
|
122455
|
+
formattedCachedInputTokens: delegationTree.formattedCachedInputTokens,
|
|
122456
|
+
formattedOutputTokens: delegationTree.formattedOutputTokens,
|
|
122457
|
+
providerName: delegationTree.providerName,
|
|
122458
|
+
cacheHitRate: delegationTree.cacheHitRate,
|
|
122382
122459
|
elapsedTime
|
|
122383
122460
|
};
|
|
122384
122461
|
};
|
|
@@ -122444,6 +122521,12 @@ const ExecutionApp = (props) => {
|
|
|
122444
122521
|
runningCount: state.runningCount,
|
|
122445
122522
|
waitingCount: state.waitingCount,
|
|
122446
122523
|
formattedTotalTokens: state.formattedTotalTokens,
|
|
122524
|
+
formattedReasoningTokens: state.formattedReasoningTokens,
|
|
122525
|
+
formattedInputTokens: state.formattedInputTokens,
|
|
122526
|
+
formattedCachedInputTokens: state.formattedCachedInputTokens,
|
|
122527
|
+
formattedOutputTokens: state.formattedOutputTokens,
|
|
122528
|
+
providerName: state.providerName,
|
|
122529
|
+
cacheHitRate: state.cacheHitRate,
|
|
122447
122530
|
elapsedTime: state.elapsedTime
|
|
122448
122531
|
})]
|
|
122449
122532
|
});
|
|
@@ -122801,7 +122884,7 @@ async function startHandler(expertKey, query, options, handlerOptions) {
|
|
|
122801
122884
|
//#endregion
|
|
122802
122885
|
//#region package.json
|
|
122803
122886
|
var name = "perstack";
|
|
122804
|
-
var version = "0.0.
|
|
122887
|
+
var version = "0.0.116";
|
|
122805
122888
|
var description = "PerStack CLI";
|
|
122806
122889
|
|
|
122807
122890
|
//#endregion
|