@zenera/cli 1.1.20 → 1.1.21
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/dist/banner.d.ts +12 -0
- package/dist/banner.js +8 -0
- package/dist/commands/models.js +1 -0
- package/dist/lib.d.ts +1 -1
- package/dist/lib.js +1 -1
- package/package.json +2 -2
package/dist/banner.d.ts
CHANGED
|
@@ -20,6 +20,10 @@ declare const ACCENTS: {
|
|
|
20
20
|
readonly face: "\u001B[1;38;5;220m";
|
|
21
21
|
readonly shade: "\u001B[0;38;5;178m";
|
|
22
22
|
};
|
|
23
|
+
readonly dusk: {
|
|
24
|
+
readonly face: "\u001B[1;38;5;141m";
|
|
25
|
+
readonly shade: "\u001B[0;38;5;97m";
|
|
26
|
+
};
|
|
23
27
|
};
|
|
24
28
|
export type Hue = keyof typeof ACCENTS;
|
|
25
29
|
export interface BannerText {
|
|
@@ -38,6 +42,14 @@ export interface PrintBannerOptions {
|
|
|
38
42
|
}
|
|
39
43
|
export declare const NEO_BANNER: BannerText;
|
|
40
44
|
export declare function bannerLines(text: BannerText, columns?: number): string[];
|
|
45
|
+
/**
|
|
46
|
+
* The same letters, unpainted and still split by word, for a renderer that is
|
|
47
|
+
* not a terminal and colours the two halves its own way.
|
|
48
|
+
*/
|
|
49
|
+
export declare function bannerArt(text: BannerText): {
|
|
50
|
+
head: string[];
|
|
51
|
+
accent: string[];
|
|
52
|
+
};
|
|
41
53
|
/** Narration, and only for someone watching. */
|
|
42
54
|
export declare function printBanner(text: BannerText, options?: PrintBannerOptions): void;
|
|
43
55
|
export {};
|
package/dist/banner.js
CHANGED
|
@@ -76,6 +76,7 @@ const ACCENTS = {
|
|
|
76
76
|
cyan: { face: '\u001b[1;38;5;51m', shade: '\u001b[0;38;5;37m' },
|
|
77
77
|
mint: { face: '\u001b[1;38;5;121m', shade: '\u001b[0;38;5;78m' },
|
|
78
78
|
gold: { face: '\u001b[1;38;5;220m', shade: '\u001b[0;38;5;178m' },
|
|
79
|
+
dusk: { face: '\u001b[1;38;5;141m', shade: '\u001b[0;38;5;97m' },
|
|
79
80
|
};
|
|
80
81
|
/** Runs of stroke and runs of bevel, alternating; spaces stay unstyled. */
|
|
81
82
|
const RUNS = /[█▀▄]+|[^█▀▄ ]+/g;
|
|
@@ -120,6 +121,13 @@ export function bannerLines(text, columns = process.stderr.columns || 80) {
|
|
|
120
121
|
lines.push(`${' '.repeat(Math.max(INDENT, Math.round((width - caption.length) / 2)))}${dim(caption)}`);
|
|
121
122
|
return lines;
|
|
122
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* The same letters, unpainted and still split by word, for a renderer that is
|
|
126
|
+
* not a terminal and colours the two halves its own way.
|
|
127
|
+
*/
|
|
128
|
+
export function bannerArt(text) {
|
|
129
|
+
return { head: big(text.head), accent: big(text.accent).map((row) => row.trimEnd()) };
|
|
130
|
+
}
|
|
123
131
|
/** Narration, and only for someone watching. */
|
|
124
132
|
export function printBanner(text, options = {}) {
|
|
125
133
|
if (!process.stderr.isTTY) {
|
package/dist/commands/models.js
CHANGED
|
@@ -540,6 +540,7 @@ const SUBS = {
|
|
|
540
540
|
export const models = {
|
|
541
541
|
summary: 'What this machine can use: list, search, test and pick models.',
|
|
542
542
|
usage: USAGE,
|
|
543
|
+
banner: { head: 'Zenera', accent: 'Models', subtitle: 'Model Catalog', hue: 'dusk' },
|
|
543
544
|
details: [
|
|
544
545
|
'Answers "what can I use", using the credentials already on this',
|
|
545
546
|
'machine. `zen check` answers the other question — whether one',
|
package/dist/lib.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { extract, invokedAs, one, parse, split, type Parsed, type Split } from './args.ts';
|
|
2
|
-
export { printBanner, type BannerText } from './banner.ts';
|
|
2
|
+
export { bannerArt, printBanner, type BannerText } from './banner.ts';
|
|
3
3
|
export { Cache, items as cacheItems, cacheKey, kinds as cacheKinds, clear as clearCache, NO_CACHE, sweep as sweepCache, type CacheEntry, type CacheItem, type CacheKind, type CacheOptions, type CacheStore, type Swept, } from './cache.ts';
|
|
4
4
|
export { CATALOG_TTL_MS, CURATED, fetchCatalog, loadCatalog, loadCatalogs, matches, PREFERRED, type Catalog, type CatalogEntry, type CatalogOptions, type Filters, type Role, } from './catalog.ts';
|
|
5
5
|
export type { Command, Context } from './command.ts';
|
package/dist/lib.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
// must not let a `CliError` escape into a request handler.
|
|
23
23
|
// ---------------------------------------------------------------------------
|
|
24
24
|
export { extract, invokedAs, one, parse, split } from "./args.js";
|
|
25
|
-
export { printBanner } from "./banner.js";
|
|
25
|
+
export { bannerArt, printBanner } from "./banner.js";
|
|
26
26
|
export { Cache, items as cacheItems, cacheKey, kinds as cacheKinds, clear as clearCache, NO_CACHE, sweep as sweepCache, } from "./cache.js";
|
|
27
27
|
export { CATALOG_TTL_MS, CURATED, fetchCatalog, loadCatalog, loadCatalogs, matches, PREFERRED, } from "./catalog.js";
|
|
28
28
|
export { assertPrivate, ensureDir, ensureHome, home, paths, readJson, writeJson } from "./home.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zenera/cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.21",
|
|
4
4
|
"description": "Command-line front end for @zenera/neo: agentic projects you can run, share and commit.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agents",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@inkjs/ui": "^2.0.0",
|
|
52
52
|
"ink": "^7.1.1",
|
|
53
53
|
"react": "^19.2.8",
|
|
54
|
-
"@zenera/neo": "^1.1.
|
|
54
|
+
"@zenera/neo": "^1.1.21",
|
|
55
55
|
"@anthropic-ai/sdk": "^0.120.0",
|
|
56
56
|
"@google/genai": "^2.18.0",
|
|
57
57
|
"@openrouter/sdk": "^1.2.80",
|