@thenavidm/slipway 0.1.15 → 0.1.16
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/CHANGELOG.md +4 -0
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.js +10 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
What changed in Slipway, newest first.
|
|
4
4
|
|
|
5
|
+
## 0.1.16, 2026-10-05: what Flodesk needed
|
|
6
|
+
|
|
7
|
+
- **`which` says a title once.** Each answer line printed a tool's title and then the first sentence of its description, and many descriptions open with the title itself: 24 of Flodesk's 32 tools, 10 of Firefly's 14, and nearly every tool on Beehiiv, Calendly and Circle. Where the sentence opens with the title's words, the line now prints the sentence alone. Flodesk's answer to `which add a subscriber to a segment` goes from 52 tokens to 36 and Firefly's to `which image model 5` from 90 to 77, and an agent carries that answer through each step after it. A description that adds something new still follows its title.
|
|
8
|
+
|
|
5
9
|
## 0.1.15, 2026-10-05: what Adobe Firefly needed
|
|
6
10
|
|
|
7
11
|
- **The general help counts the tuning settings instead of naming them.** An agent reads `--help` first and carries it through every later step, so its length is paid again on each one. Firefly's help named 14 settings on its last line, and with only 14 commands its whole command list was shorter; its Codex CLI task cost 370 more input tokens on Slipway than on its own 2.x CLI. The line now says how many more settings there are and that `agent-context` describes each, the `--http` settings join that count, and the safety switches and the settings an app marks as setup are still named. Every server's help is shorter by the names it had on that line.
|
package/dist/cli/help.d.ts
CHANGED
|
@@ -14,5 +14,5 @@ export declare function renderList(app: App, tools: readonly Tool[], bin: string
|
|
|
14
14
|
export declare function exampleCommand(bin: string, tool: Tool, args: Record<string, unknown>): string;
|
|
15
15
|
export declare function renderToolHelp(tool: Tool, bin: string, aliases?: Readonly<Record<string, string>>): string;
|
|
16
16
|
export declare function renderGeneralHelp(app: App, bin: string): string;
|
|
17
|
-
/** One line per tool, for search results
|
|
17
|
+
/** One line per tool, for search results: the title, then what the description adds to it. */
|
|
18
18
|
export declare function toolLine(tool: Tool): string;
|
package/dist/cli/help.js
CHANGED
|
@@ -293,7 +293,15 @@ export function renderGeneralHelp(app, bin) {
|
|
|
293
293
|
lines.push(app.definition.links.repository, ``);
|
|
294
294
|
return lines.join("\n");
|
|
295
295
|
}
|
|
296
|
-
/** One line per tool, for search results
|
|
296
|
+
/** One line per tool, for search results: the title, then what the description adds to it. */
|
|
297
297
|
export function toolLine(tool) {
|
|
298
|
-
|
|
298
|
+
const sentence = firstSentence(tool.description, 80);
|
|
299
|
+
// Many descriptions open by saying the title again, which an agent would read twice.
|
|
300
|
+
const what = !sentence ? tool.title : restates(sentence, tool.title) ? sentence : `${tool.title}: ${sentence}`;
|
|
301
|
+
return `${riskMark(tool)} ${tool.command} ${what}`;
|
|
302
|
+
}
|
|
303
|
+
/** Whether a sentence opens with a title's words, whatever the case and punctuation. */
|
|
304
|
+
function restates(sentence, title) {
|
|
305
|
+
const words = (text) => text.toLowerCase().replace(/[^\p{L}\p{N}]+/gu, " ").trim();
|
|
306
|
+
return words(sentence).startsWith(words(title));
|
|
299
307
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thenavidm/slipway",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "Slipway, the TypeScript framework for MCP servers and agent-native CLIs. One tool definition ships an MCP server and a CLI, with write safety, typed results and release checks built in.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|