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 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-Bm8UQoRz.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-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.70";
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$1(job.startedAt)}`);
20885
+ lines.push(`Started: ${formatTimestamp$2(job.startedAt)}`);
20886
20886
  lines.push(`Steps: ${job.totalSteps}`);
20887
- if (job.finishedAt) lines.push(`Finished: ${formatTimestamp$1(job.finishedAt)}`);
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$1(ts) {
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.123";
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-CwaeoRiD.js")).resolveExpertToRun;
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, expertKey } = getActivityProps(activity);
118750
- if (delegatedBy) return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
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.jsxs)(Text, {
118767
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
118753
118768
  dimColor: true,
118754
118769
  bold: true,
118755
- children: [
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.108";
119783
+ var version = "0.0.109";
119773
119784
  var description = "PerStack CLI";
119774
119785
 
119775
119786
  //#endregion