@ironbee-ai/cli 0.11.4 → 0.13.0
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 +12 -0
- package/README.md +17 -3
- package/dist/assets/banner.txt +1 -1
- package/dist/clients/claude/hooks/session-start.d.ts.map +1 -1
- package/dist/clients/claude/hooks/session-start.js +7 -0
- package/dist/clients/claude/hooks/session-start.js.map +1 -1
- package/dist/clients/claude/hooks/session-status.d.ts +129 -0
- package/dist/clients/claude/hooks/session-status.d.ts.map +1 -0
- package/dist/clients/claude/hooks/session-status.js +450 -0
- package/dist/clients/claude/hooks/session-status.js.map +1 -0
- package/dist/clients/claude/index.d.ts +26 -0
- package/dist/clients/claude/index.d.ts.map +1 -1
- package/dist/clients/claude/index.js +151 -0
- package/dist/clients/claude/index.js.map +1 -1
- package/dist/clients/cursor/index.d.ts.map +1 -1
- package/dist/clients/cursor/index.js +6 -0
- package/dist/clients/cursor/index.js.map +1 -1
- package/dist/clients/registry.d.ts +8 -9
- package/dist/clients/registry.d.ts.map +1 -1
- package/dist/clients/registry.js +13 -11
- package/dist/clients/registry.js.map +1 -1
- package/dist/commands/config.d.ts +5 -4
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +10 -4
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/hook.js +44 -0
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +4 -5
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/register.d.ts +0 -1
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +7 -27
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/statusline-toggle.d.ts +29 -0
- package/dist/commands/statusline-toggle.d.ts.map +1 -0
- package/dist/commands/statusline-toggle.js +114 -0
- package/dist/commands/statusline-toggle.js.map +1 -0
- package/dist/commands/statusline.d.ts +24 -0
- package/dist/commands/statusline.d.ts.map +1 -0
- package/dist/commands/statusline.js +79 -0
- package/dist/commands/statusline.js.map +1 -0
- package/dist/commands/uninstall.d.ts +2 -3
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +3 -4
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/unregister.d.ts +0 -1
- package/dist/commands/unregister.d.ts.map +1 -1
- package/dist/commands/unregister.js +3 -24
- package/dist/commands/unregister.js.map +1 -1
- package/dist/hooks/core/session-state.d.ts +25 -0
- package/dist/hooks/core/session-state.d.ts.map +1 -1
- package/dist/hooks/core/session-state.js +49 -1
- package/dist/hooks/core/session-state.js.map +1 -1
- package/dist/index.js +35 -15
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +64 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +48 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/event.d.ts +60 -0
- package/dist/lib/event.d.ts.map +1 -1
- package/dist/lib/event.js +1 -0
- package/dist/lib/event.js.map +1 -1
- package/dist/lib/fs-prune.d.ts +20 -0
- package/dist/lib/fs-prune.d.ts.map +1 -0
- package/dist/lib/fs-prune.js +72 -0
- package/dist/lib/fs-prune.js.map +1 -0
- package/dist/lib/gitignore.d.ts.map +1 -1
- package/dist/lib/gitignore.js +11 -0
- package/dist/lib/gitignore.js.map +1 -1
- package/dist/lib/install-snapshots.d.ts +70 -0
- package/dist/lib/install-snapshots.d.ts.map +1 -0
- package/dist/lib/install-snapshots.js +168 -0
- package/dist/lib/install-snapshots.js.map +1 -0
- package/dist/lib/projects-registry.d.ts +6 -13
- package/dist/lib/projects-registry.d.ts.map +1 -1
- package/dist/lib/projects-registry.js +11 -46
- package/dist/lib/projects-registry.js.map +1 -1
- package/dist/tui/command.d.ts +18 -0
- package/dist/tui/command.d.ts.map +1 -0
- package/dist/tui/command.js +87 -0
- package/dist/tui/command.js.map +1 -0
- package/dist/tui/config/area.d.ts +6 -0
- package/dist/tui/config/area.d.ts.map +1 -0
- package/dist/tui/config/area.js +16 -0
- package/dist/tui/config/area.js.map +1 -0
- package/dist/tui/config/docs.d.ts +28 -0
- package/dist/tui/config/docs.d.ts.map +1 -0
- package/dist/tui/config/docs.js +68 -0
- package/dist/tui/config/docs.js.map +1 -0
- package/dist/tui/config/edit.d.ts +36 -0
- package/dist/tui/config/edit.d.ts.map +1 -0
- package/dist/tui/config/edit.js +69 -0
- package/dist/tui/config/edit.js.map +1 -0
- package/dist/tui/config/introspect.d.ts +58 -0
- package/dist/tui/config/introspect.d.ts.map +1 -0
- package/dist/tui/config/introspect.js +93 -0
- package/dist/tui/config/introspect.js.map +1 -0
- package/dist/tui/config/schema.d.ts +81 -0
- package/dist/tui/config/schema.d.ts.map +1 -0
- package/dist/tui/config/schema.js +534 -0
- package/dist/tui/config/schema.js.map +1 -0
- package/dist/tui/config/tree.d.ts +39 -0
- package/dist/tui/config/tree.d.ts.map +1 -0
- package/dist/tui/config/tree.js +59 -0
- package/dist/tui/config/tree.js.map +1 -0
- package/dist/tui/config/value.d.ts +75 -0
- package/dist/tui/config/value.d.ts.map +1 -0
- package/dist/tui/config/value.js +228 -0
- package/dist/tui/config/value.js.map +1 -0
- package/dist/tui/config/view.d.ts +13 -0
- package/dist/tui/config/view.d.ts.map +1 -0
- package/dist/tui/config/view.js +423 -0
- package/dist/tui/config/view.js.map +1 -0
- package/dist/tui/import/area.d.ts +11 -0
- package/dist/tui/import/area.d.ts.map +1 -0
- package/dist/tui/import/area.js +202 -0
- package/dist/tui/import/area.js.map +1 -0
- package/dist/tui/index.d.ts +9 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +14 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/platforms/area.d.ts +12 -0
- package/dist/tui/platforms/area.d.ts.map +1 -0
- package/dist/tui/platforms/area.js +228 -0
- package/dist/tui/platforms/area.js.map +1 -0
- package/dist/tui/projects/area.d.ts +26 -0
- package/dist/tui/projects/area.d.ts.map +1 -0
- package/dist/tui/projects/area.js +588 -0
- package/dist/tui/projects/area.js.map +1 -0
- package/dist/tui/queue/area.d.ts +11 -0
- package/dist/tui/queue/area.d.ts.map +1 -0
- package/dist/tui/queue/area.js +338 -0
- package/dist/tui/queue/area.js.map +1 -0
- package/dist/tui/queue/read.d.ts +49 -0
- package/dist/tui/queue/read.d.ts.map +1 -0
- package/dist/tui/queue/read.js +261 -0
- package/dist/tui/queue/read.js.map +1 -0
- package/dist/tui/sessions/area.d.ts +10 -0
- package/dist/tui/sessions/area.d.ts.map +1 -0
- package/dist/tui/sessions/area.js +266 -0
- package/dist/tui/sessions/area.js.map +1 -0
- package/dist/tui/sessions/read.d.ts +79 -0
- package/dist/tui/sessions/read.d.ts.map +1 -0
- package/dist/tui/sessions/read.js +202 -0
- package/dist/tui/sessions/read.js.map +1 -0
- package/dist/tui/shell/area.d.ts +47 -0
- package/dist/tui/shell/area.d.ts.map +1 -0
- package/dist/tui/shell/area.js +13 -0
- package/dist/tui/shell/area.js.map +1 -0
- package/dist/tui/shell/frame.d.ts +23 -0
- package/dist/tui/shell/frame.d.ts.map +1 -0
- package/dist/tui/shell/frame.js +91 -0
- package/dist/tui/shell/frame.js.map +1 -0
- package/dist/tui/shell/registry.d.ts +11 -0
- package/dist/tui/shell/registry.d.ts.map +1 -0
- package/dist/tui/shell/registry.js +29 -0
- package/dist/tui/shell/registry.js.map +1 -0
- package/dist/tui/shell/rerender.d.ts +16 -0
- package/dist/tui/shell/rerender.d.ts.map +1 -0
- package/dist/tui/shell/rerender.js +34 -0
- package/dist/tui/shell/rerender.js.map +1 -0
- package/dist/tui/shell/session.d.ts +75 -0
- package/dist/tui/shell/session.d.ts.map +1 -0
- package/dist/tui/shell/session.js +333 -0
- package/dist/tui/shell/session.js.map +1 -0
- package/dist/tui/shell/shell.d.ts +16 -0
- package/dist/tui/shell/shell.d.ts.map +1 -0
- package/dist/tui/shell/shell.js +213 -0
- package/dist/tui/shell/shell.js.map +1 -0
- package/dist/tui/shell/util.d.ts +18 -0
- package/dist/tui/shell/util.d.ts.map +1 -0
- package/dist/tui/shell/util.js +31 -0
- package/dist/tui/shell/util.js.map +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* IronBee — Config TUI: layer introspection
|
|
4
|
+
*
|
|
5
|
+
* For a given dotted key, resolves what each of the three config layers
|
|
6
|
+
* (global / project / local) holds, what the merged effective value is, which
|
|
7
|
+
* layer that effective value comes from, and whether a live env-var override
|
|
8
|
+
* shadows the file layers. This is the read model the detail pane renders.
|
|
9
|
+
*
|
|
10
|
+
* Reads only the already-public lib surface (`loadConfig`, `getConfigLayerPaths`,
|
|
11
|
+
* `findActiveEnvOverride`) so the TUI stays decoupled from the command layer.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.loadLayers = loadLayers;
|
|
15
|
+
exports.introspectKey = introspectKey;
|
|
16
|
+
const fs_1 = require("fs");
|
|
17
|
+
const config_1 = require("../../lib/config");
|
|
18
|
+
const value_1 = require("./value");
|
|
19
|
+
function readLayerFile(filePath) {
|
|
20
|
+
if (filePath === undefined || !(0, fs_1.existsSync)(filePath)) {
|
|
21
|
+
return {};
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const raw = (0, fs_1.readFileSync)(filePath, "utf-8");
|
|
25
|
+
if (raw.trim().length === 0) {
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
const parsed = JSON.parse(raw);
|
|
29
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
30
|
+
return {};
|
|
31
|
+
}
|
|
32
|
+
return parsed;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return {};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/** Reads all three layer files + the merged config in one pass. */
|
|
39
|
+
function loadLayers(projectDir) {
|
|
40
|
+
const paths = (0, config_1.getConfigLayerPaths)(projectDir);
|
|
41
|
+
return {
|
|
42
|
+
globalPath: paths.global,
|
|
43
|
+
projectPath: paths.project,
|
|
44
|
+
localPath: paths.local,
|
|
45
|
+
global: readLayerFile(paths.global),
|
|
46
|
+
project: readLayerFile(paths.project),
|
|
47
|
+
local: readLayerFile(paths.local),
|
|
48
|
+
merged: (0, config_1.loadConfig)(projectDir),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function resolveEnvOverride(path) {
|
|
52
|
+
const override = (0, config_1.findActiveEnvOverride)(path);
|
|
53
|
+
if (override === undefined) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const raw = process.env[override.envVar] ?? "";
|
|
57
|
+
const value = override.coerce ? override.coerce(raw) : raw;
|
|
58
|
+
return { envVar: override.envVar, value };
|
|
59
|
+
}
|
|
60
|
+
/** Builds the read model for one key from already-loaded layers. */
|
|
61
|
+
function introspectKey(path, layers) {
|
|
62
|
+
const layerValues = [
|
|
63
|
+
{ layer: "global", present: (0, value_1.hasAtPath)(layers.global, path), value: (0, value_1.getAtPath)(layers.global, path), filePath: layers.globalPath },
|
|
64
|
+
{ layer: "project", present: (0, value_1.hasAtPath)(layers.project, path), value: (0, value_1.getAtPath)(layers.project, path), filePath: layers.projectPath },
|
|
65
|
+
{ layer: "local", present: (0, value_1.hasAtPath)(layers.local, path), value: (0, value_1.getAtPath)(layers.local, path), filePath: layers.localPath },
|
|
66
|
+
];
|
|
67
|
+
const envOverride = resolveEnvOverride(path);
|
|
68
|
+
const merged = (0, value_1.getAtPath)(layers.merged, path);
|
|
69
|
+
let effective;
|
|
70
|
+
if (envOverride !== undefined) {
|
|
71
|
+
effective = "env";
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// High → low precedence: local > project > global.
|
|
75
|
+
const local = layerValues[2];
|
|
76
|
+
const project = layerValues[1];
|
|
77
|
+
const global = layerValues[0];
|
|
78
|
+
if (local.present) {
|
|
79
|
+
effective = "local";
|
|
80
|
+
}
|
|
81
|
+
else if (project.present) {
|
|
82
|
+
effective = "project";
|
|
83
|
+
}
|
|
84
|
+
else if (global.present) {
|
|
85
|
+
effective = "global";
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
effective = "none";
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return { path, layers: layerValues, envOverride, merged, effective };
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=introspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../../src/tui/config/introspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IronBee — Config TUI: canonical config-key schema
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for every config key the TUI knows about. Each
|
|
5
|
+
* entry carries the metadata the TUI needs to render and edit a key:
|
|
6
|
+
* - `path` — dotted key (e.g. `collector.url`). The list/docs
|
|
7
|
+
* group is DERIVED from its first segment ({@link groupOf}).
|
|
8
|
+
* - `type` — value shape (drives validation hints)
|
|
9
|
+
* - `editor` — which edit affordance the TUI offers
|
|
10
|
+
* - `description` — concise one-paragraph explanation (shown in detail)
|
|
11
|
+
* - `def` — human-readable default (display only)
|
|
12
|
+
* - `enumValues?` — allowed values for `enum` editor
|
|
13
|
+
* - `artifactAffecting` — whether changing it requires re-rendering installed
|
|
14
|
+
* client artifacts (hooks / MCP / skill-rule md /
|
|
15
|
+
* permissions). Mirrors `ARTIFACT_AFFECTING_TOP_KEYS`
|
|
16
|
+
* in `src/commands/config.ts` — kept here so the TUI
|
|
17
|
+
* stays self-contained (no import from the command
|
|
18
|
+
* layer). A consistency test asserts the two agree.
|
|
19
|
+
*
|
|
20
|
+
* This module has ZERO runtime dependencies on the rest of the codebase so it
|
|
21
|
+
* can be unit-tested in isolation and imported from anywhere.
|
|
22
|
+
*/
|
|
23
|
+
/** Coarse value shape for a config key. */
|
|
24
|
+
export type ConfigValueType = "boolean" | "number" | "string" | "string-array" | "json";
|
|
25
|
+
/** Which edit affordance the TUI offers for a key. */
|
|
26
|
+
export type ConfigEditorKind = "toggle" | "number" | "text" | "enum" | "string-list" | "json";
|
|
27
|
+
/** One config key's metadata. */
|
|
28
|
+
export interface ConfigSchemaEntry {
|
|
29
|
+
path: string;
|
|
30
|
+
type: ConfigValueType;
|
|
31
|
+
editor: ConfigEditorKind;
|
|
32
|
+
description: string;
|
|
33
|
+
def: string;
|
|
34
|
+
enumValues?: string[];
|
|
35
|
+
artifactAffecting: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Top-level keys whose change requires re-rendering installed client
|
|
39
|
+
* artifacts. Mirrors `ARTIFACT_AFFECTING_TOP_KEYS` in `src/commands/config.ts`.
|
|
40
|
+
* Duplicated (not imported) to keep this module decoupled from the command
|
|
41
|
+
* layer; `tests/unit/tui/config-schema.test.ts` asserts every schema entry's
|
|
42
|
+
* `artifactAffecting` flag matches membership here.
|
|
43
|
+
*/
|
|
44
|
+
export declare const ARTIFACT_AFFECTING_TOP_KEYS: ReadonlySet<string>;
|
|
45
|
+
/**
|
|
46
|
+
* Display order of groups in the list pane. Group MEMBERSHIP is derived from
|
|
47
|
+
* each key's first dot-segment ({@link groupOf}) — this list only controls the
|
|
48
|
+
* ORDER they appear in (and which trailing groups are "known"). Unknown groups
|
|
49
|
+
* (a future top segment not listed here) sort after these, alphabetically.
|
|
50
|
+
*/
|
|
51
|
+
export declare const GROUP_ORDER: readonly string[];
|
|
52
|
+
/** Human-readable section headings, keyed by group (= first path segment). */
|
|
53
|
+
export declare const GROUP_TITLES: Record<string, string>;
|
|
54
|
+
/** Top-level segment of a dotted path. */
|
|
55
|
+
export declare function topKey(dotPath: string): string;
|
|
56
|
+
/**
|
|
57
|
+
* The group a key belongs to — its first dot-segment, or `"general"` for
|
|
58
|
+
* top-level (dot-less) keys like `maxRetries` / `ignoredVerifyPatterns`. This
|
|
59
|
+
* is the single, data-driven grouping used by the TUI list and the docs table;
|
|
60
|
+
* there is no hand-maintained group field to drift.
|
|
61
|
+
*/
|
|
62
|
+
export declare function groupOf(path: string): string;
|
|
63
|
+
/** Display title for a group, falling back to the raw group name. */
|
|
64
|
+
export declare function groupTitle(group: string): string;
|
|
65
|
+
/** Sort rank for a group per {@link GROUP_ORDER}; unknown groups sort last. */
|
|
66
|
+
export declare function groupRank(group: string): number;
|
|
67
|
+
/**
|
|
68
|
+
* The canonical config-key registry. Adding a config key to IronBee should be
|
|
69
|
+
* accompanied by an entry here — the schema test fails loudly otherwise, which
|
|
70
|
+
* is the canonical-source guarantee.
|
|
71
|
+
*/
|
|
72
|
+
export declare const CONFIG_SCHEMA: ConfigSchemaEntry[];
|
|
73
|
+
/** Returns the schema entry for a dotted path, or undefined when unknown. */
|
|
74
|
+
export declare function findSchemaEntry(path: string): ConfigSchemaEntry | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Returns all schema entries sorted by group display order (per {@link groupRank},
|
|
77
|
+
* group derived via {@link groupOf}) then path. This is the canonical ordering
|
|
78
|
+
* the TUI list pane and the docs table render.
|
|
79
|
+
*/
|
|
80
|
+
export declare function orderedEntries(): ConfigSchemaEntry[];
|
|
81
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/tui/config/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAC;AAExF,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;AAE9F,iCAAiC;AACjC,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAW1D,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAiB/B,CAAC;AAEX,8EAA8E;AAC9E,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiB/C,CAAC;AAEF,0CAA0C;AAC1C,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,iBAAiB,EAoZ5C,CAAC;AAEF,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,iBAAiB,EAAE,CASpD"}
|