perstack 0.0.108 → 0.0.109
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 +35 -24
- package/dist/bin/cli.js.map +1 -1
- package/dist/{dist-Bm8UQoRz.js → dist-DmYKrkiR.js} +9 -6
- package/dist/{dist-Bm8UQoRz.js.map → dist-DmYKrkiR.js.map} +1 -1
- package/dist/{resolve-expert-CwaeoRiD.js → resolve-expert-B7umXJIc.js} +2 -2
- package/dist/{resolve-expert-CwaeoRiD.js.map → resolve-expert-B7umXJIc.js.map} +1 -1
- package/package.json +7 -7
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 lazy, A as runCommandInputSchema, At as PerstackError, B as resolveModelTier, C as runSettingSchema, Ct as safeParse$1, D as stopRunByDelegate, Dt as normalizeParams, E as startRun, Et as defineLazy, F as expertSchema, G as _instanceof, H as ZodIssueCode$1, I as isCoordinatorExpert, J as array$1, K as _null, L as validateDelegation, M as perstackConfigSchema, Mt as defaultPerstackApiBaseUrl, N as lockfileSchema, Nt as defaultTimeout, O as stopRunByError, Ot as $constructor, P as jobSchema, Pt as createId, Q as intersection, R as checkpointSchema, S as runParamsSchema, St as parseAsync, T as startGeneration, Tt as clone, U as ZodOptional$1, V as number$1, W as _enum, X as custom, Y as boolean, Z as discriminatedUnion, _ as parseExpertKey, _t as describe$1, a as validateEventFilter, at as optional, b as resumeFromStop, bt as $ZodType, c as createBaseToolActivity, ct as strictObject, d as completeRun, dt as union, et as literal, f as continueToNextStep, ft as unknown, g as finishToolCall, gt as toJSONSchema, h as finishMcpTools, ht as datetime, i as createFilteredEventListener, it as object$2, j as startCommandInputSchema, jt as defaultMaxRetries, k as stopRunByInteractiveTool, kt as NEVER, l as createGeneralToolActivity, lt as string, m as createStreamingEvent, mt as safeParseAsync$2, n as parseWithFriendlyError, nt as never, o as getFilteredEnv, ot as preprocess, p as createRuntimeEvent, pt as url, q as any, r as truncateText$1, rt as number, s as BASE_SKILL_PREFIX, st as record, t as createApiClient, tt as looseObject, u as callTools, ut as tuple, v as proceedToInteractiveTools, vt as meta$1, w as skipDelegates, wt as safeParseAsync$1, x as retry, xt as parse$1, y as resolveToolResults, yt as $ZodObject, z as knownModels } from "../dist-
|
|
3
|
+
import { $ as lazy, A as runCommandInputSchema, At as PerstackError, B as resolveModelTier, C as runSettingSchema, Ct as safeParse$1, D as stopRunByDelegate, Dt as normalizeParams, E as startRun, Et as defineLazy, F as expertSchema, G as _instanceof, H as ZodIssueCode$1, I as isCoordinatorExpert, J as array$1, K as _null, L as validateDelegation, M as perstackConfigSchema, Mt as defaultPerstackApiBaseUrl, N as lockfileSchema, Nt as defaultTimeout, O as stopRunByError, Ot as $constructor, P as jobSchema, Pt as createId, Q as intersection, R as checkpointSchema, S as runParamsSchema, St as parseAsync, T as startGeneration, Tt as clone, U as ZodOptional$1, V as number$1, W as _enum, X as custom, Y as boolean, Z as discriminatedUnion, _ as parseExpertKey, _t as describe$1, a as validateEventFilter, at as optional, b as resumeFromStop, bt as $ZodType, c as createBaseToolActivity, ct as strictObject, d as completeRun, dt as union, et as literal, f as continueToNextStep, ft as unknown, g as finishToolCall, gt as toJSONSchema, h as finishMcpTools, ht as datetime, i as createFilteredEventListener, it as object$2, j as startCommandInputSchema, jt as defaultMaxRetries, k as stopRunByInteractiveTool, kt as NEVER, l as createGeneralToolActivity, lt as string, m as createStreamingEvent, mt as safeParseAsync$2, n as parseWithFriendlyError, nt as never, o as getFilteredEnv, ot as preprocess, p as createRuntimeEvent, pt as url, q as any, r as truncateText$1, rt as number, s as BASE_SKILL_PREFIX, st as record, t as createApiClient, tt as looseObject, u as callTools, ut as tuple, v as proceedToInteractiveTools, vt as meta$1, w as skipDelegates, wt as safeParseAsync$1, x as retry, xt as parse$1, y as resolveToolResults, yt as $ZodObject, z as knownModels } from "../dist-DmYKrkiR.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";
|
|
@@ -16302,7 +16302,7 @@ const EMPTY_COMPLETION_RESULT = { completion: {
|
|
|
16302
16302
|
//#endregion
|
|
16303
16303
|
//#region ../base/package.json
|
|
16304
16304
|
var name$5 = "@perstack/base";
|
|
16305
|
-
var version$2 = "0.0.
|
|
16305
|
+
var version$2 = "0.0.71";
|
|
16306
16306
|
|
|
16307
16307
|
//#endregion
|
|
16308
16308
|
//#region ../base/src/tools/todo.ts
|
|
@@ -20882,9 +20882,9 @@ function formatJobHeader(job) {
|
|
|
20882
20882
|
const lines = [];
|
|
20883
20883
|
lines.push(`Job: ${job.id} (${job.status})`);
|
|
20884
20884
|
lines.push(`Expert: ${job.coordinatorExpertKey}`);
|
|
20885
|
-
lines.push(`Started: ${formatTimestamp$
|
|
20885
|
+
lines.push(`Started: ${formatTimestamp$2(job.startedAt)}`);
|
|
20886
20886
|
lines.push(`Steps: ${job.totalSteps}`);
|
|
20887
|
-
if (job.finishedAt) lines.push(`Finished: ${formatTimestamp$
|
|
20887
|
+
if (job.finishedAt) lines.push(`Finished: ${formatTimestamp$2(job.finishedAt)}`);
|
|
20888
20888
|
return lines;
|
|
20889
20889
|
}
|
|
20890
20890
|
function formatCheckpointHeader(checkpoint) {
|
|
@@ -20977,7 +20977,7 @@ function extractTextContent$1(contents) {
|
|
|
20977
20977
|
for (const c of contents) if (typeof c === "object" && c !== null && "type" in c && c.type === "textPart" && "text" in c) return String(c.text);
|
|
20978
20978
|
return "";
|
|
20979
20979
|
}
|
|
20980
|
-
function formatTimestamp$
|
|
20980
|
+
function formatTimestamp$2(ts) {
|
|
20981
20981
|
return new Date(ts).toISOString().replace("T", " ").replace(/\.\d{3}Z$/, "");
|
|
20982
20982
|
}
|
|
20983
20983
|
function formatTime(ts) {
|
|
@@ -21310,7 +21310,7 @@ async function expertVersionsHandler(scopeName, options) {
|
|
|
21310
21310
|
|
|
21311
21311
|
//#endregion
|
|
21312
21312
|
//#region ../../packages/runtime/package.json
|
|
21313
|
-
var version$1 = "0.0.
|
|
21313
|
+
var version$1 = "0.0.124";
|
|
21314
21314
|
|
|
21315
21315
|
//#endregion
|
|
21316
21316
|
//#region ../../packages/runtime/src/helpers/usage.ts
|
|
@@ -77271,7 +77271,7 @@ function validateRuntimeVersion(experts) {
|
|
|
77271
77271
|
//#endregion
|
|
77272
77272
|
//#region ../../packages/runtime/src/helpers/setup-experts.ts
|
|
77273
77273
|
async function setupExperts(setting, resolveExpertToRun) {
|
|
77274
|
-
const resolveFn = resolveExpertToRun ?? (await import("../resolve-expert-
|
|
77274
|
+
const resolveFn = resolveExpertToRun ?? (await import("../resolve-expert-B7umXJIc.js")).resolveExpertToRun;
|
|
77275
77275
|
const { expertKey } = setting;
|
|
77276
77276
|
const experts = { ...setting.experts };
|
|
77277
77277
|
const clientOptions = {
|
|
@@ -117331,7 +117331,7 @@ const truncateText = (text, maxLength) => {
|
|
|
117331
117331
|
const assertNever = (x) => {
|
|
117332
117332
|
throw new Error(`Unexpected value: ${x}`);
|
|
117333
117333
|
};
|
|
117334
|
-
const formatTimestamp = (timestamp) => new Date(timestamp).toLocaleString();
|
|
117334
|
+
const formatTimestamp$1 = (timestamp) => new Date(timestamp).toLocaleString();
|
|
117335
117335
|
const shortenPath = (fullPath, maxLength = 60) => {
|
|
117336
117336
|
if (fullPath.length <= maxLength) return fullPath;
|
|
117337
117337
|
const parts = fullPath.split("/");
|
|
@@ -117515,7 +117515,7 @@ const BrowsingEventDetailInput = ({ event, onBack }) => {
|
|
|
117515
117515
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
117516
117516
|
color: colors.muted,
|
|
117517
117517
|
children: "Timestamp: "
|
|
117518
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: formatTimestamp(event.timestamp) })] }),
|
|
117518
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: formatTimestamp$1(event.timestamp) })] }),
|
|
117519
117519
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
117520
117520
|
color: colors.muted,
|
|
117521
117521
|
children: "ID: "
|
|
@@ -117552,7 +117552,7 @@ const BrowsingEventsInput = ({ checkpoint, events, onEventSelect, onBack }) => /
|
|
|
117552
117552
|
"] Step ",
|
|
117553
117553
|
ev.stepNumber,
|
|
117554
117554
|
" (",
|
|
117555
|
-
formatTimestamp(ev.timestamp),
|
|
117555
|
+
formatTimestamp$1(ev.timestamp),
|
|
117556
117556
|
")"
|
|
117557
117557
|
]
|
|
117558
117558
|
}, ev.id)
|
|
@@ -117572,7 +117572,8 @@ function toolToActivity(toolCall, toolResult, reasoning, meta) {
|
|
|
117572
117572
|
expertKey: meta.expertKey,
|
|
117573
117573
|
runId: meta.runId,
|
|
117574
117574
|
previousActivityId: meta.previousActivityId,
|
|
117575
|
-
delegatedBy: meta.delegatedBy
|
|
117575
|
+
delegatedBy: meta.delegatedBy,
|
|
117576
|
+
timestamp: meta.timestamp
|
|
117576
117577
|
};
|
|
117577
117578
|
}
|
|
117578
117579
|
function createInitialActivityProcessState() {
|
|
@@ -117665,6 +117666,7 @@ function processRunEventToActivity(state, event, addActivity) {
|
|
|
117665
117666
|
runId: event.runId,
|
|
117666
117667
|
previousActivityId: runState.lastActivityId,
|
|
117667
117668
|
delegatedBy: runState.delegatedBy,
|
|
117669
|
+
timestamp: event.timestamp,
|
|
117668
117670
|
text: queryText
|
|
117669
117671
|
});
|
|
117670
117672
|
runState.lastActivityId = activityId;
|
|
@@ -117692,6 +117694,7 @@ function processRunEventToActivity(state, event, addActivity) {
|
|
|
117692
117694
|
runId: event.runId,
|
|
117693
117695
|
previousActivityId: runState.lastActivityId,
|
|
117694
117696
|
delegatedBy: runState.delegatedBy,
|
|
117697
|
+
timestamp: event.timestamp,
|
|
117695
117698
|
reasoning: runState.completedReasoning,
|
|
117696
117699
|
error: retryEvent.reason,
|
|
117697
117700
|
message: ""
|
|
@@ -117711,6 +117714,7 @@ function processRunEventToActivity(state, event, addActivity) {
|
|
|
117711
117714
|
runId: event.runId,
|
|
117712
117715
|
previousActivityId: runState.lastActivityId,
|
|
117713
117716
|
delegatedBy: runState.delegatedBy,
|
|
117717
|
+
timestamp: event.timestamp,
|
|
117714
117718
|
reasoning: runState.completedReasoning,
|
|
117715
117719
|
text
|
|
117716
117720
|
});
|
|
@@ -117731,6 +117735,7 @@ function processRunEventToActivity(state, event, addActivity) {
|
|
|
117731
117735
|
runId: event.runId,
|
|
117732
117736
|
previousActivityId: runState.lastActivityId,
|
|
117733
117737
|
delegatedBy: runState.delegatedBy,
|
|
117738
|
+
timestamp: event.timestamp,
|
|
117734
117739
|
errorName: errorEvent.error.name,
|
|
117735
117740
|
error: errorEvent.error.message,
|
|
117736
117741
|
isRetryable: errorEvent.error.isRetryable
|
|
@@ -117764,6 +117769,7 @@ function processRunEventToActivity(state, event, addActivity) {
|
|
|
117764
117769
|
runId: event.runId,
|
|
117765
117770
|
previousActivityId: runState.lastActivityId,
|
|
117766
117771
|
delegatedBy: runState.delegatedBy,
|
|
117772
|
+
timestamp: event.timestamp,
|
|
117767
117773
|
delegateExpertKey: delegation.expert.key,
|
|
117768
117774
|
query: delegation.query,
|
|
117769
117775
|
reasoning
|
|
@@ -117796,6 +117802,7 @@ function processRunEventToActivity(state, event, addActivity) {
|
|
|
117796
117802
|
runId: event.runId,
|
|
117797
117803
|
previousActivityId: runState.lastActivityId,
|
|
117798
117804
|
delegatedBy: runState.delegatedBy,
|
|
117805
|
+
timestamp: event.timestamp,
|
|
117799
117806
|
skillName: toolCall.skillName,
|
|
117800
117807
|
toolName: toolCall.toolName,
|
|
117801
117808
|
args: toolCall.args,
|
|
@@ -117825,7 +117832,8 @@ function processRunEventToActivity(state, event, addActivity) {
|
|
|
117825
117832
|
expertKey: event.expertKey,
|
|
117826
117833
|
runId: event.runId,
|
|
117827
117834
|
previousActivityId: runState.lastActivityId,
|
|
117828
|
-
delegatedBy: runState.delegatedBy
|
|
117835
|
+
delegatedBy: runState.delegatedBy,
|
|
117836
|
+
timestamp: event.timestamp
|
|
117829
117837
|
});
|
|
117830
117838
|
toolActivities.push(activity);
|
|
117831
117839
|
runState.lastActivityId = activityId;
|
|
@@ -118321,7 +118329,7 @@ const BrowsingHistoryInput = ({ jobs, onJobSelect, onJobResume, onSwitchToExpert
|
|
|
118321
118329
|
" steps (",
|
|
118322
118330
|
job.jobId,
|
|
118323
118331
|
") (",
|
|
118324
|
-
formatTimestamp(job.startedAt),
|
|
118332
|
+
formatTimestamp$1(job.startedAt),
|
|
118325
118333
|
")"
|
|
118326
118334
|
]
|
|
118327
118335
|
}, job.jobId)
|
|
@@ -118740,26 +118748,29 @@ function getActivityProps(activityOrGroup) {
|
|
|
118740
118748
|
return {
|
|
118741
118749
|
runId: group.runId,
|
|
118742
118750
|
expertKey: group.expertKey,
|
|
118743
|
-
delegatedBy: firstActivity?.delegatedBy
|
|
118751
|
+
delegatedBy: firstActivity?.delegatedBy,
|
|
118752
|
+
timestamp: firstActivity?.timestamp ?? Date.now()
|
|
118744
118753
|
};
|
|
118745
118754
|
}
|
|
118746
118755
|
return activityOrGroup;
|
|
118747
118756
|
}
|
|
118757
|
+
function formatTimestamp(ts) {
|
|
118758
|
+
const d = new Date(ts);
|
|
118759
|
+
return `${d.getFullYear()}/${String(d.getMonth() + 1).padStart(2, "0")}/${String(d.getDate()).padStart(2, "0")} ${String(d.getHours()).padStart(2, "0")}:${String(d.getMinutes()).padStart(2, "0")}:${String(d.getSeconds()).padStart(2, "0")}.${String(d.getMilliseconds()).padStart(3, "0")}`;
|
|
118760
|
+
}
|
|
118748
118761
|
const ActivityLogItem = ({ activity }) => {
|
|
118749
|
-
const { delegatedBy,
|
|
118750
|
-
|
|
118762
|
+
const { expertKey, delegatedBy, timestamp } = getActivityProps(activity);
|
|
118763
|
+
const parts = [formatTimestamp(timestamp), expertKey];
|
|
118764
|
+
if (delegatedBy) parts.push(`⎇ ${delegatedBy.expertKey}`);
|
|
118765
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
|
|
118751
118766
|
flexDirection: "column",
|
|
118752
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.
|
|
118767
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
118753
118768
|
dimColor: true,
|
|
118754
118769
|
bold: true,
|
|
118755
|
-
|
|
118756
|
-
|
|
118757
|
-
expertKey,
|
|
118758
|
-
"]"
|
|
118759
|
-
]
|
|
118770
|
+
wrap: "truncate",
|
|
118771
|
+
children: parts.join(", ")
|
|
118760
118772
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckpointActionRow, { action: activity })]
|
|
118761
118773
|
});
|
|
118762
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckpointActionRow, { action: activity });
|
|
118763
118774
|
};
|
|
118764
118775
|
|
|
118765
118776
|
//#endregion
|
|
@@ -119769,7 +119780,7 @@ async function startHandler(expertKey, query, options, handlerOptions) {
|
|
|
119769
119780
|
//#endregion
|
|
119770
119781
|
//#region package.json
|
|
119771
119782
|
var name = "perstack";
|
|
119772
|
-
var version = "0.0.
|
|
119783
|
+
var version = "0.0.109";
|
|
119773
119784
|
var description = "PerStack CLI";
|
|
119774
119785
|
|
|
119775
119786
|
//#endregion
|