@dotobokuri/fleet-console 1.35.0 → 1.37.0

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.
Files changed (66) hide show
  1. package/dist/cli.mjs +71 -24
  2. package/dist/client/assets/{_baseUniq--isZn0gt.js → _baseUniq-5ZwChDah.js} +1 -1
  3. package/dist/client/assets/{arc-CbzUc80R.js → arc-E1tMbaFV.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-Q4EWVU46-KMk7A7ht.js → architectureDiagram-Q4EWVU46-B4NlSadA.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-DXYQGD6D-BDIXylVL.js → blockDiagram-DXYQGD6D-CD-YIRsr.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AHTNJAMY-4BtEjWxc.js → c4Diagram-AHTNJAMY-CnQqEr8G.js} +1 -1
  7. package/dist/client/assets/channel-CmNg3R9J.js +1 -0
  8. package/dist/client/assets/{chunk-4BX2VUAB-B6P7vZc2.js → chunk-4BX2VUAB-CBwcU6wi.js} +1 -1
  9. package/dist/client/assets/{chunk-4TB4RGXK-w5tBo1dz.js → chunk-4TB4RGXK-dvTB68tB.js} +1 -1
  10. package/dist/client/assets/{chunk-55IACEB6-C_Bcd4uB.js → chunk-55IACEB6-BbJgnSb2.js} +1 -1
  11. package/dist/client/assets/{chunk-EDXVE4YY-BikIv-lO.js → chunk-EDXVE4YY-BZmdugC4.js} +1 -1
  12. package/dist/client/assets/{chunk-FMBD7UC4-C785J70Z.js → chunk-FMBD7UC4-DHvrxUgj.js} +1 -1
  13. package/dist/client/assets/{chunk-OYMX7WX6-qhvy0Mwx.js → chunk-OYMX7WX6-DMBZS2Tk.js} +1 -1
  14. package/dist/client/assets/{chunk-QZHKN3VN-28VsIAWd.js → chunk-QZHKN3VN-hdwn0yqd.js} +1 -1
  15. package/dist/client/assets/{chunk-YZCP3GAM-Dj_CFH0t.js → chunk-YZCP3GAM-CbP-7sbL.js} +1 -1
  16. package/dist/client/assets/classDiagram-6PBFFD2Q-C4gcV_Y_.js +1 -0
  17. package/dist/client/assets/classDiagram-v2-HSJHXN6E-C4gcV_Y_.js +1 -0
  18. package/dist/client/assets/clone-Dkpldca2.js +1 -0
  19. package/dist/client/assets/{cose-bilkent-S5V4N54A-CbwRTcWp.js → cose-bilkent-S5V4N54A-CAe4GCGZ.js} +1 -1
  20. package/dist/client/assets/{dagre-KV5264BT-DmTFlNmc.js → dagre-KV5264BT-DMEJwcre.js} +1 -1
  21. package/dist/client/assets/{diagram-5BDNPKRD-D5filFx0.js → diagram-5BDNPKRD-CUNTFHbl.js} +1 -1
  22. package/dist/client/assets/{diagram-G4DWMVQ6-BstKtz5F.js → diagram-G4DWMVQ6-BUR44CTL.js} +1 -1
  23. package/dist/client/assets/{diagram-MMDJMWI5-BubZFKBf.js → diagram-MMDJMWI5-DH10do5_.js} +1 -1
  24. package/dist/client/assets/{diagram-TYMM5635-Dkt0qt66.js → diagram-TYMM5635-CRLToeE6.js} +1 -1
  25. package/dist/client/assets/{erDiagram-SMLLAGMA-D32vcceA.js → erDiagram-SMLLAGMA-Ds8X0gDu.js} +1 -1
  26. package/dist/client/assets/{flowDiagram-DWJPFMVM-8iX8d0Mm.js → flowDiagram-DWJPFMVM-G_d_Gmcs.js} +1 -1
  27. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-DVdts0bT.js → ganttDiagram-T4ZO3ILL-CRvHF2tU.js} +1 -1
  28. package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-C36cV6di.js → gitGraphDiagram-UUTBAWPF-jDeSbU3q.js} +1 -1
  29. package/dist/client/assets/{graph-BfCG4izN.js → graph-5k0aoPuF.js} +1 -1
  30. package/dist/client/assets/index-BwZOsc1k.js +452 -0
  31. package/dist/client/assets/index-BwqqI28y.css +1 -0
  32. package/dist/client/assets/{infoDiagram-42DDH7IO-7hCUS4JK.js → infoDiagram-42DDH7IO-YiEXq-b7.js} +1 -1
  33. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-DYOGN_tm.js → ishikawaDiagram-UXIWVN3A-DIGUlQBC.js} +1 -1
  34. package/dist/client/assets/{journeyDiagram-VCZTEJTY-C-RaUFGz.js → journeyDiagram-VCZTEJTY-CVUsiYfG.js} +1 -1
  35. package/dist/client/assets/{kanban-definition-6JOO6SKY-7GR2tX78.js → kanban-definition-6JOO6SKY-C7Lu50vq.js} +1 -1
  36. package/dist/client/assets/{layout-C9u6a9pL.js → layout-GNwZ2tq4.js} +1 -1
  37. package/dist/client/assets/{linear-CoxISMQN.js → linear-kMYE-PoA.js} +1 -1
  38. package/dist/client/assets/{mermaid.core-Clx-Pww4.js → mermaid.core-DpzJvKxo.js} +4 -4
  39. package/dist/client/assets/{min-B7iH_omx.js → min-D1uUUV6U.js} +1 -1
  40. package/dist/client/assets/{mindmap-definition-QFDTVHPH-BEg4jpMk.js → mindmap-definition-QFDTVHPH-Ck5YjDOb.js} +1 -1
  41. package/dist/client/assets/{pieDiagram-DEJITSTG-Cu-NdmIs.js → pieDiagram-DEJITSTG-ClEJYViq.js} +1 -1
  42. package/dist/client/assets/{quadrantDiagram-34T5L4WZ-BW_7SRcp.js → quadrantDiagram-34T5L4WZ-D8UalGfe.js} +1 -1
  43. package/dist/client/assets/{requirementDiagram-MS252O5E-C_F2SkO4.js → requirementDiagram-MS252O5E-oPDnadqP.js} +1 -1
  44. package/dist/client/assets/{sankeyDiagram-XADWPNL6-B7f43JV1.js → sankeyDiagram-XADWPNL6-sfj8jPj8.js} +1 -1
  45. package/dist/client/assets/{sequenceDiagram-FGHM5R23-oARdfmhl.js → sequenceDiagram-FGHM5R23-CdNxeg0P.js} +1 -1
  46. package/dist/client/assets/{stateDiagram-FHFEXIEX-VKGucJY7.js → stateDiagram-FHFEXIEX-BlhUqqQz.js} +1 -1
  47. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DKsRFi9q.js +1 -0
  48. package/dist/client/assets/{timeline-definition-GMOUNBTQ-DsImBBQe.js → timeline-definition-GMOUNBTQ-B5BYCKye.js} +1 -1
  49. package/dist/client/assets/{vennDiagram-DHZGUBPP-DdJLtnOA.js → vennDiagram-DHZGUBPP-BMpktFuz.js} +1 -1
  50. package/dist/client/assets/{wardley-RL74JXVD-Cn3hq_Uh.js → wardley-RL74JXVD-CW3mIBOT.js} +1 -1
  51. package/dist/client/assets/{wardleyDiagram-NUSXRM2D-VZCV5eGr.js → wardleyDiagram-NUSXRM2D-BKMwHoHK.js} +1 -1
  52. package/dist/client/assets/{xychartDiagram-5P7HB3ND-BglQI2vQ.js → xychartDiagram-5P7HB3ND-YCKgsPhn.js} +1 -1
  53. package/dist/client/index.html +4 -3
  54. package/dist/client/theme-boot.js +18 -0
  55. package/dist/fleet-plugins/ledger/routes.mjs +17209 -0
  56. package/dist/fleet-plugins/repository/routes.mjs +18 -9
  57. package/dist/fleet-plugins/scuttlebutt/routes.mjs +23055 -0
  58. package/dist/fleet-plugins/terminal/routes.mjs +84 -15
  59. package/package.json +1 -1
  60. package/dist/client/assets/channel-DNy689Yu.js +0 -1
  61. package/dist/client/assets/classDiagram-6PBFFD2Q-BN9_O5GO.js +0 -1
  62. package/dist/client/assets/classDiagram-v2-HSJHXN6E-BN9_O5GO.js +0 -1
  63. package/dist/client/assets/clone-CYXyhbsy.js +0 -1
  64. package/dist/client/assets/index-0s24Vlsc.css +0 -1
  65. package/dist/client/assets/index-o0x3lJ2C.js +0 -452
  66. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DfRePizj.js +0 -1
@@ -898,9 +898,9 @@ async function normalizeWorktreePath(worktreePath) {
898
898
  return worktreePath;
899
899
  }
900
900
  }
901
- async function readHeadRevList(gitCwd) {
901
+ async function readHeadRevList(gitCwd, skip, limit) {
902
902
  try {
903
- return (await runGit(["rev-list", "-n", "1000", "HEAD"], { cwd: gitCwd })).stdout;
903
+ return (await runGit(["rev-list", "-n", String(Math.max(1e3, skip + limit + 800)), "HEAD"], { cwd: gitCwd })).stdout;
904
904
  } catch (error) {
905
905
  if (error instanceof GitExecutorError) return "";
906
906
  throw error;
@@ -933,6 +933,12 @@ async function handleRepositoryLog(req, res, ctx) {
933
933
  ctx.host.http.writeJson(res, 400, { error: "invalid_request" });
934
934
  return;
935
935
  }
936
+ const limit = body.limit === void 0 ? 200 : body.limit;
937
+ const skip = body.skip === void 0 ? 0 : body.skip;
938
+ if (!Number.isInteger(limit) || typeof limit !== "number" || limit < 1 || limit > 500 || !Number.isInteger(skip) || typeof skip !== "number" || skip < 0) {
939
+ ctx.host.http.writeJson(res, 400, { error: "invalid_request" });
940
+ return;
941
+ }
936
942
  const theaterPath = ctx.host.paths.resolveTheaterPath(theaterId);
937
943
  if (!theaterPath) {
938
944
  ctx.host.http.writeJson(res, 404, { error: "theater_not_found" });
@@ -959,20 +965,23 @@ async function handleRepositoryLog(req, res, ctx) {
959
965
  const [worktrees, currentWorktreePath, headRevList] = await Promise.all([
960
966
  runGit(["worktree", "list", "--porcelain"], { cwd: gitCwd }),
961
967
  readCurrentWorktreePath(gitCwd),
962
- readHeadRevList(gitCwd)
968
+ readHeadRevList(gitCwd, skip, limit)
963
969
  ]);
964
970
  const checkouts = await parseWorktreePorcelain(worktrees.stdout, currentWorktreePath);
965
971
  const worktreeRevs = [...new Set(checkouts.map((checkout) => checkout.sha))].filter((sha) => WORKTREE_SHA_RE.test(sha) && !/^0+$/.test(sha));
966
972
  const headRevs = headRevList ? ["HEAD"] : [];
967
973
  const [realGitCwd, realToplevel] = await Promise.all([normalizeWorktreePath(gitCwd), normalizeWorktreePath(currentWorktreePath)]);
968
974
  const scopePathspec = realToplevel !== "" && realGitCwd === realToplevel ? [] : ["."];
969
- const result = resolvedRef ? await runGit(["log", resolvedRef, "--date-order", "-n", "200", "--decorate=full", "--pretty=format:%x1e%H%x00%h%x00%s%x00%an%x00%ar%x00%at%x00%D%x00%P", "--", ...scopePathspec], { cwd: gitCwd }) : await runGit(
975
+ const skipArg = skip > 0 ? [`--skip=${skip}`] : [];
976
+ const result = resolvedRef ? await runGit(["log", resolvedRef, "--date-order", "-n", String(limit + 1), ...skipArg, "--decorate=full", "--pretty=format:%x1e%H%x00%h%x00%s%x00%an%x00%ar%x00%at%x00%D%x00%P", "--", ...scopePathspec], { cwd: gitCwd }) : await runGit(
970
977
  // --all은 refs/stash·refs/notes까지 그래프에 유입시키므로 브랜치/태그/원격 + 현재 HEAD + 워크트리 HEAD로 한정한다
971
- ["log", "--branches", "--tags", "--remotes", "--date-order", "-n", "200", "--decorate=full", "--pretty=format:%x1e%H%x00%h%x00%s%x00%an%x00%ar%x00%at%x00%D%x00%P", ...headRevs, ...worktreeRevs, "--", ...scopePathspec],
978
+ ["log", "--branches", "--tags", "--remotes", "--date-order", "-n", String(limit + 1), ...skipArg, "--decorate=full", "--pretty=format:%x1e%H%x00%h%x00%s%x00%an%x00%ar%x00%at%x00%D%x00%P", ...headRevs, ...worktreeRevs, "--", ...scopePathspec],
972
979
  { cwd: gitCwd }
973
980
  );
974
- const commits = annotateHeadReachability(parseLogOutput(result.stdout), headRevList);
975
- ctx.host.http.writeJson(res, 200, { commits, checkouts, ...result.truncated ? { truncated: true } : {} });
981
+ const parsedCommits = parseLogOutput(result.stdout);
982
+ const hasMore = parsedCommits.length > limit;
983
+ const commits = annotateHeadReachability(parsedCommits.slice(0, limit), headRevList);
984
+ ctx.host.http.writeJson(res, 200, { commits, checkouts, hasMore, ...result.truncated ? { truncated: true } : {} });
976
985
  } catch (error) {
977
986
  if (error instanceof GitExecutorError) {
978
987
  if (requestedRef !== void 0 && error.code === "non_zero_exit") {
@@ -980,7 +989,7 @@ async function handleRepositoryLog(req, res, ctx) {
980
989
  return;
981
990
  }
982
991
  if (error.code === "no_git_repo") {
983
- ctx.host.http.writeJson(res, 200, { commits: [], checkouts: [] });
992
+ ctx.host.http.writeJson(res, 200, { commits: [], checkouts: [], hasMore: false });
984
993
  return;
985
994
  }
986
995
  if (error.code === "git_unavailable") {
@@ -988,7 +997,7 @@ async function handleRepositoryLog(req, res, ctx) {
988
997
  return;
989
998
  }
990
999
  if (isNoHeadError2(error)) {
991
- ctx.host.http.writeJson(res, 200, { commits: [], checkouts: [] });
1000
+ ctx.host.http.writeJson(res, 200, { commits: [], checkouts: [], hasMore: false });
992
1001
  return;
993
1002
  }
994
1003
  ctx.host.http.writeJson(res, 500, { error: "git_failed" });