@lazyingart/agintiflow 0.20.21 → 0.20.22

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lazyingart/agintiflow",
3
- "version": "0.20.21",
3
+ "version": "0.20.22",
4
4
  "type": "module",
5
5
  "description": "AgInTiFlow is a web-first coding agent and CLI with DeepSeek routing, sandboxed tools, model providers, canvas artifacts, and optional wrappers.",
6
6
  "license": "Apache-2.0",
@@ -141,8 +141,8 @@ try {
141
141
  if (!promptText.includes("user>")) {
142
142
  throw new Error("terminal prompt layout did not render the user> label");
143
143
  }
144
- if (!promptText.includes("user> ")) {
145
- throw new Error("terminal prompt layout did not pad user> to the aginti> label width");
144
+ if (!promptText.includes(" user> ") || promptText.includes("user> ")) {
145
+ throw new Error("terminal prompt layout did not right-align user> to the aginti> label width");
146
146
  }
147
147
  const visibleLengths = promptLayout.renderedRows.map((line) =>
148
148
  line.replace(/\x1b\[[0-9;?]*[ -/]*[@-~]/g, "").length
@@ -168,7 +168,7 @@ try {
168
168
  if (
169
169
  paddedPromptLayout.cursorRow !== 1 ||
170
170
  paddedRows[0].trim() !== "" ||
171
- !paddedRows[1].includes("user> hello") ||
171
+ !paddedRows[1].includes(" user> hello") ||
172
172
  paddedRows[2].trim() !== "" ||
173
173
  !paddedRows[3].includes("cwd /tmp/aginti-project")
174
174
  ) {
@@ -177,7 +177,7 @@ try {
177
177
  const committedUserText = formatCommittedUserPromptLines("list files", 90)
178
178
  .map((line) => line.replace(/\x1b\[[0-9;?]*[ -/]*[@-~]/g, ""))
179
179
  .join("\n");
180
- if (!committedUserText.includes("user> list files") || committedUserText.includes("cwd")) {
180
+ if (!committedUserText.includes(" user> list files") || committedUserText.includes("cwd")) {
181
181
  throw new Error("committed user history should not include the live cwd footer");
182
182
  }
183
183
  const zhPromptLayout = buildPromptLayout("", 0, 90, 24, { language: "zh-Hans", commandCwd: "/tmp/aginti-project" });
@@ -214,7 +214,7 @@ try {
214
214
  const hintText = hintPromptLayout.renderedRows
215
215
  .map((line) => line.replace(/\x1b\[[0-9;?]*[ -/]*[@-~]/g, ""))
216
216
  .join("\n");
217
- if (!hintText.includes("user> /mo") || !hintText.includes("hint /models >/model")) {
217
+ if (!hintText.includes(" user> /mo") || !hintText.includes("hint /models >/model")) {
218
218
  throw new Error("terminal prompt layout did not align user and hint text columns");
219
219
  }
220
220
  const exactHintLayout = buildPromptLayout("/model", 6, 90, 24);
@@ -306,7 +306,7 @@ try {
306
306
  if (!latest.stdout.includes("resume history") || !latest.stdout.includes("chat=") || !latest.stdout.includes("Mock run complete")) {
307
307
  throw new Error("bare aginti resume did not preview saved chat history");
308
308
  }
309
- if (!latest.stdout.includes("user>") || !latest.stdout.includes("aginti>")) {
309
+ if (!latest.stdout.includes(" user>") || !latest.stdout.includes("aginti>") || latest.stdout.includes("user> ")) {
310
310
  throw new Error("resume history should use prompt-style user>/aginti> labels");
311
311
  }
312
312
  if (!latest.stdout.includes("resume note=showing chat transcript only")) {
@@ -113,7 +113,8 @@ const PROMPT_LABEL_WIDTH = "aginti>".length;
113
113
  function labelText(name, { prompt = false } = {}) {
114
114
  const raw = String(name || "");
115
115
  const width = prompt || raw.endsWith(">") ? PROMPT_LABEL_WIDTH : ROLE_LABEL_WIDTH;
116
- return ` ${raw.padEnd(width, " ")} `;
116
+ const aligned = raw.endsWith(">") ? raw.padStart(width, " ") : raw.padEnd(width, " ");
117
+ return ` ${aligned} `;
117
118
  }
118
119
 
119
120
  function label(name, bgCode) {