@meistrari/remy-cli 1.0.0 → 1.1.1

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 (2) hide show
  1. package/dist/remy.js +44 -3
  2. package/package.json +1 -1
package/dist/remy.js CHANGED
@@ -35110,6 +35110,8 @@ var defaultNewSessionAgent = {
35110
35110
  };
35111
35111
 
35112
35112
  // src/tui/new-session-wizard.ts
35113
+ var suggestionSpinnerFrames = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
35114
+ var suggestionSpinnerIntervalMs = 80;
35113
35115
  async function createNewSessionWizard({
35114
35116
  repositories,
35115
35117
  reloadRepositories,
@@ -35126,6 +35128,7 @@ async function createNewSessionWizard({
35126
35128
  let inputHandler;
35127
35129
  let keyHandler;
35128
35130
  let resizeHandler;
35131
+ let suggestionSpinnerTimer;
35129
35132
  try {
35130
35133
  let selectedInstallationId = function() {
35131
35134
  return installationIds[installationIndex];
@@ -35169,6 +35172,7 @@ async function createNewSessionWizard({
35169
35172
  }
35170
35173
  contentScrollBox.flexGrow = repositoryListVisible ? 0 : 1;
35171
35174
  contentScrollBox.maxHeight = repositoryListVisible ? "45%" : undefined;
35175
+ contentScrollBox.height = repositoryListVisible ? repositoryHeaderHeight ?? "auto" : 0;
35172
35176
  repositoryScrollBox.flexGrow = repositoryListVisible ? 1 : 0;
35173
35177
  repositoryScrollBox.visible = repositoryListVisible;
35174
35178
  repositoryRows.content = "";
@@ -35219,8 +35223,8 @@ async function createNewSessionWizard({
35219
35223
  } else if (step === "loadingSuggestions") {
35220
35224
  content.content = orient(joinStyled([
35221
35225
  new StyledText4([stepHeader("Select repositories")]),
35222
- stringToStyledText4("Finding repository suggestions\u2026"),
35223
- stringToStyledText4("This can take a few seconds."),
35226
+ new StyledText4([fg5(PALETTE.progress)(`${suggestionSpinnerFrames[suggestionSpinnerFrame]} Remy is matching your prompt to repositories\u2026`)]),
35227
+ new StyledText4([dim3(fg5(PALETTE.dimText)("This can take a few seconds."))]),
35224
35228
  stringToStyledText4("s select repositories yourself \xB7 esc back")
35225
35229
  ], `
35226
35230
 
@@ -35296,20 +35300,49 @@ async function createNewSessionWizard({
35296
35300
  renderer.once(CliRenderEvents2.FRAME, () => {
35297
35301
  if (destroyed || step !== "repositories" && step !== "repositorySearch")
35298
35302
  return;
35303
+ const nextRepositoryHeaderHeight = Math.min(content.virtualLineCount, Math.floor(renderer.height * 0.45));
35304
+ if (nextRepositoryHeaderHeight !== repositoryHeaderHeight) {
35305
+ repositoryHeaderHeight = nextRepositoryHeaderHeight;
35306
+ contentScrollBox.height = nextRepositoryHeaderHeight;
35307
+ }
35299
35308
  repositoryScrollBox.scrollTo({ x: 0, y: repositoryIndex });
35300
35309
  renderer.requestRender();
35301
35310
  });
35311
+ } else {
35312
+ repositoryHeaderHeight = undefined;
35302
35313
  }
35314
+ syncSuggestionLoadingIndicator();
35303
35315
  renderer.requestRender();
35316
+ }, syncSuggestionLoadingIndicator = function() {
35317
+ if (destroyed || settled || step !== "loadingSuggestions") {
35318
+ if (suggestionSpinnerTimer) {
35319
+ clearInterval(suggestionSpinnerTimer);
35320
+ suggestionSpinnerTimer = undefined;
35321
+ }
35322
+ suggestionSpinnerFrame = 0;
35323
+ return;
35324
+ }
35325
+ if (suggestionSpinnerTimer)
35326
+ return;
35327
+ suggestionSpinnerTimer = setInterval(() => {
35328
+ if (destroyed || settled || step !== "loadingSuggestions") {
35329
+ syncSuggestionLoadingIndicator();
35330
+ return;
35331
+ }
35332
+ suggestionSpinnerFrame = (suggestionSpinnerFrame + 1) % suggestionSpinnerFrames.length;
35333
+ render();
35334
+ }, suggestionSpinnerIntervalMs);
35304
35335
  }, finish = function(value) {
35305
35336
  if (settled)
35306
35337
  return;
35307
35338
  settled = true;
35339
+ syncSuggestionLoadingIndicator();
35308
35340
  resolveDraft(value);
35309
35341
  }, fail = function(error93) {
35310
35342
  if (settled)
35311
35343
  return;
35312
35344
  settled = true;
35345
+ syncSuggestionLoadingIndicator();
35313
35346
  rejectDraft(error93);
35314
35347
  }, returnToPromptFromRepositoryLoading = function() {
35315
35348
  step = "prompt";
@@ -35560,10 +35593,12 @@ async function createNewSessionWizard({
35560
35593
  let repositoryIndex = 0;
35561
35594
  let repositoryQuery = "";
35562
35595
  let recomputeInstruction = "";
35596
+ let suggestionSpinnerFrame = 0;
35563
35597
  let attachments = [...initialDraft?.attachments ?? []];
35564
35598
  let pathCompletions = [];
35565
35599
  let completionIndex = 0;
35566
35600
  let pathCompletionMenuOpen = false;
35601
+ let repositoryHeaderHeight;
35567
35602
  const manualSelections = new Map;
35568
35603
  let searchSelections;
35569
35604
  let suggestedIds = new Set;
@@ -35812,6 +35847,10 @@ async function createNewSessionWizard({
35812
35847
  renderer.keyInput.off("keypress", keyHandler);
35813
35848
  if (resizeHandler)
35814
35849
  renderer.off(CliRenderEvents2.RESIZE, resizeHandler);
35850
+ if (suggestionSpinnerTimer) {
35851
+ clearInterval(suggestionSpinnerTimer);
35852
+ suggestionSpinnerTimer = undefined;
35853
+ }
35815
35854
  composer.destroy();
35816
35855
  rendererDestroyed2 = true;
35817
35856
  renderer.destroy();
@@ -35821,6 +35860,8 @@ async function createNewSessionWizard({
35821
35860
  }
35822
35861
  };
35823
35862
  } catch (error93) {
35863
+ if (suggestionSpinnerTimer)
35864
+ clearInterval(suggestionSpinnerTimer);
35824
35865
  if (inputHandler)
35825
35866
  renderer.removeInputHandler(inputHandler);
35826
35867
  if (keyHandler)
@@ -37001,7 +37042,7 @@ var compactMarkRows = 9;
37001
37042
  var compactMinWidth = 48;
37002
37043
  var compactMinHeight = 20;
37003
37044
  var markBrightnessGain = 4.2;
37004
- var remyCliVersion = "1.0.0";
37045
+ var remyCliVersion = "1.1.1";
37005
37046
  async function showRemySplash({
37006
37047
  createRenderer = createRemyRenderer,
37007
37048
  durationMs = splashDurationMs,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meistrari/remy-cli",
3
- "version": "1.0.0",
3
+ "version": "1.1.1",
4
4
  "description": "Remy, the Coding Agent terminal client.",
5
5
  "type": "module",
6
6
  "bin": {