@lazyingart/agintiflow 0.17.0 → 0.17.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.
- package/package.json +1 -1
- package/scripts/smoke-cli-chat.js +5 -1
- package/src/interactive-cli.js +11 -1
package/package.json
CHANGED
|
@@ -144,6 +144,10 @@ try {
|
|
|
144
144
|
if (!skillsResult.stdout.includes("website-app") || !skillsResult.stdout.includes("Website And App Builder")) {
|
|
145
145
|
throw new Error("interactive /skills did not show matching built-in skills");
|
|
146
146
|
}
|
|
147
|
+
const abbreviatedSkillsResult = await runChat("/sk website\n/ex\n");
|
|
148
|
+
if (abbreviatedSkillsResult.stdout.includes("Unknown command") || !abbreviatedSkillsResult.stdout.includes("website-app")) {
|
|
149
|
+
throw new Error("interactive slash command prefix did not auto-select the first matching command");
|
|
150
|
+
}
|
|
147
151
|
await runChat("remember that this project prefers pytest smoke tests in AGINTI.md\n/exit\n");
|
|
148
152
|
const updatedInstructions = await fs.readFile(path.join(tempRoot, "AGINTI.md"), "utf8");
|
|
149
153
|
if (!updatedInstructions.includes("pytest smoke tests")) {
|
|
@@ -181,7 +185,7 @@ try {
|
|
|
181
185
|
{
|
|
182
186
|
ok: true,
|
|
183
187
|
projectRoot: tempRoot,
|
|
184
|
-
checks: ["markdown-render", "markdown-table-no-duplicate", "patch-diff-render", "prompt-layout", "user-prompt-label", "escape-policy", "live-input-status-layout", "agent-response-gutter", "aginti-md", "instructions-command", "skills-command", "instructions-chat-edit", "interactive-chat", "mock-file-write", "run-status", "resume-latest", "resume-history-full"],
|
|
188
|
+
checks: ["markdown-render", "markdown-table-no-duplicate", "patch-diff-render", "prompt-layout", "user-prompt-label", "escape-policy", "live-input-status-layout", "agent-response-gutter", "aginti-md", "instructions-command", "skills-command", "slash-prefix-autoselect", "instructions-chat-edit", "interactive-chat", "mock-file-write", "run-status", "resume-latest", "resume-history-full"],
|
|
185
189
|
},
|
|
186
190
|
null,
|
|
187
191
|
2
|
package/src/interactive-cli.js
CHANGED
|
@@ -153,6 +153,15 @@ function commandSuggestions(line = "") {
|
|
|
153
153
|
return SLASH_COMMANDS.filter((command) => command.startsWith(trimmed)).slice(0, 8);
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
+
function resolveSlashCommand(command = "") {
|
|
157
|
+
const raw = String(command || "").trim();
|
|
158
|
+
if (!raw) return raw;
|
|
159
|
+
const slashCommand = `/${raw}`;
|
|
160
|
+
if (SLASH_COMMANDS.includes(slashCommand)) return raw;
|
|
161
|
+
const suggestion = SLASH_COMMANDS.find((candidate) => candidate.startsWith(slashCommand));
|
|
162
|
+
return suggestion ? suggestion.slice(1) : raw;
|
|
163
|
+
}
|
|
164
|
+
|
|
156
165
|
function clamp(value, min, max) {
|
|
157
166
|
return Math.min(Math.max(value, min), max);
|
|
158
167
|
}
|
|
@@ -1465,7 +1474,8 @@ async function promptAndSaveProviderKey(provider = "", state = null) {
|
|
|
1465
1474
|
}
|
|
1466
1475
|
|
|
1467
1476
|
async function handleCommand(line, state, packageDir) {
|
|
1468
|
-
const [
|
|
1477
|
+
const [rawCommand, ...rest] = line.slice(1).trim().split(/\s+/);
|
|
1478
|
+
const command = resolveSlashCommand(rawCommand);
|
|
1469
1479
|
const value = rest.join(" ").trim();
|
|
1470
1480
|
|
|
1471
1481
|
if (!command || command === "help" || command === "?") {
|