@patze/code-cli 0.10.3 → 0.10.5
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 +46 -4
- package/README.md +27 -8
- package/VERSION +1 -1
- package/dist/backend/auth.d.ts.map +1 -1
- package/dist/backend/auth.js +3 -1
- package/dist/backend/auth.js.map +1 -1
- package/dist/cli/commands/login.d.ts +21 -0
- package/dist/cli/commands/login.d.ts.map +1 -1
- package/dist/cli/commands/login.js +54 -7
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/plan.d.ts.map +1 -1
- package/dist/cli/commands/plan.js +0 -2
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +5 -4
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/interactive/header.d.ts.map +1 -1
- package/dist/cli/interactive/header.js +5 -2
- package/dist/cli/interactive/header.js.map +1 -1
- package/dist/cli/interactive/line-editor.d.ts +46 -0
- package/dist/cli/interactive/line-editor.d.ts.map +1 -0
- package/dist/cli/interactive/line-editor.js +288 -0
- package/dist/cli/interactive/line-editor.js.map +1 -0
- package/dist/cli/interactive/redact-input.d.ts +10 -0
- package/dist/cli/interactive/redact-input.d.ts.map +1 -0
- package/dist/cli/interactive/redact-input.js +18 -0
- package/dist/cli/interactive/redact-input.js.map +1 -0
- package/dist/cli/interactive/shell.d.ts.map +1 -1
- package/dist/cli/interactive/shell.js +15 -24
- package/dist/cli/interactive/shell.js.map +1 -1
- package/dist/cli/interactive/slash-dispatch.d.ts.map +1 -1
- package/dist/cli/interactive/slash-dispatch.js +74 -2
- package/dist/cli/interactive/slash-dispatch.js.map +1 -1
- package/dist/cli/interactive/slash-menu.d.ts +31 -0
- package/dist/cli/interactive/slash-menu.d.ts.map +1 -0
- package/dist/cli/interactive/slash-menu.js +117 -0
- package/dist/cli/interactive/slash-menu.js.map +1 -0
- package/dist/cli/interactive/slash-registry.d.ts.map +1 -1
- package/dist/cli/interactive/slash-registry.js +2 -0
- package/dist/cli/interactive/slash-registry.js.map +1 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +3 -3
- package/dist/config/config.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/interactive/completer.d.ts +0 -8
- package/dist/cli/interactive/completer.d.ts.map +0 -1
- package/dist/cli/interactive/completer.js +0 -20
- package/dist/cli/interactive/completer.js.map +0 -1
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { listDiscoverableSlashCommands } from "./slash-registry.js";
|
|
2
|
+
const CYAN = "\x1b[36m";
|
|
3
|
+
const DIM = "\x1b[2m";
|
|
4
|
+
const RESET = "\x1b[0m";
|
|
5
|
+
/**
|
|
6
|
+
* Compute the live slash-command menu for the current input buffer.
|
|
7
|
+
* The menu opens only while the user is typing the command token
|
|
8
|
+
* (`/` with no space yet) — it never reacts to free-text prompts or
|
|
9
|
+
* argument values, so it cannot affect parsing or trust-loop behavior.
|
|
10
|
+
*/
|
|
11
|
+
export function computeSlashMenuItems(input) {
|
|
12
|
+
if (!input.startsWith("/")) {
|
|
13
|
+
return { open: false, query: "", items: [] };
|
|
14
|
+
}
|
|
15
|
+
const afterSlash = input.slice(1);
|
|
16
|
+
if (afterSlash.includes(" ")) {
|
|
17
|
+
return { open: false, query: "", items: [] };
|
|
18
|
+
}
|
|
19
|
+
const query = afterSlash.toLowerCase();
|
|
20
|
+
const all = listDiscoverableSlashCommands();
|
|
21
|
+
if (!query) {
|
|
22
|
+
return { open: true, query, items: all };
|
|
23
|
+
}
|
|
24
|
+
const prefix = [];
|
|
25
|
+
const contains = [];
|
|
26
|
+
for (const command of all) {
|
|
27
|
+
if (command.name.startsWith(query)) {
|
|
28
|
+
prefix.push(command);
|
|
29
|
+
}
|
|
30
|
+
else if (command.name.includes(query)) {
|
|
31
|
+
contains.push(command);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return { open: true, query, items: [...prefix, ...contains] };
|
|
35
|
+
}
|
|
36
|
+
/** Move a menu selection by delta with wrap-around. */
|
|
37
|
+
export function moveSelection(index, delta, count) {
|
|
38
|
+
if (count <= 0) {
|
|
39
|
+
return 0;
|
|
40
|
+
}
|
|
41
|
+
return ((index + delta) % count + count) % count;
|
|
42
|
+
}
|
|
43
|
+
/** Clamp a selection index into the valid range. */
|
|
44
|
+
export function clampSelection(index, count) {
|
|
45
|
+
if (count <= 0) {
|
|
46
|
+
return 0;
|
|
47
|
+
}
|
|
48
|
+
if (index < 0) {
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
if (index >= count) {
|
|
52
|
+
return count - 1;
|
|
53
|
+
}
|
|
54
|
+
return index;
|
|
55
|
+
}
|
|
56
|
+
/** A command needs a typed argument when its usage shows a required `<...>`. */
|
|
57
|
+
export function commandRequiresArg(command) {
|
|
58
|
+
return Boolean(command.usage && command.usage.includes("<"));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Render the menu as plain lines. Deterministic and ANSI-free when
|
|
62
|
+
* `color` is false (used by tests); color is cosmetic only.
|
|
63
|
+
*/
|
|
64
|
+
export function renderSlashMenu(items, options) {
|
|
65
|
+
if (!items.length) {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
const color = options.color ?? false;
|
|
69
|
+
const maxRows = options.maxRows ?? 8;
|
|
70
|
+
const width = options.width && options.width > 0 ? options.width : 80;
|
|
71
|
+
const selected = clampSelection(options.selectedIndex, items.length);
|
|
72
|
+
const visible = windowItems(items, selected, maxRows);
|
|
73
|
+
const nameWidth = Math.max(...visible.entries.map((entry) => entry.command.name.length));
|
|
74
|
+
const lines = visible.entries.map((entry) => {
|
|
75
|
+
const marker = entry.index === selected ? "❯" : " ";
|
|
76
|
+
const name = `/${entry.command.name.padEnd(nameWidth)}`;
|
|
77
|
+
const raw = `${marker} ${name} ${entry.command.description}`;
|
|
78
|
+
const clipped = clip(raw, width);
|
|
79
|
+
if (!color) {
|
|
80
|
+
return clipped;
|
|
81
|
+
}
|
|
82
|
+
if (entry.index === selected) {
|
|
83
|
+
return `${CYAN}${clipped}${RESET}`;
|
|
84
|
+
}
|
|
85
|
+
return `${DIM}${clipped}${RESET}`;
|
|
86
|
+
});
|
|
87
|
+
if (visible.more > 0) {
|
|
88
|
+
const note = ` … ${visible.more} more`;
|
|
89
|
+
lines.push(color ? `${DIM}${note}${RESET}` : note);
|
|
90
|
+
}
|
|
91
|
+
return lines;
|
|
92
|
+
}
|
|
93
|
+
function windowItems(items, selected, maxRows) {
|
|
94
|
+
if (items.length <= maxRows) {
|
|
95
|
+
return {
|
|
96
|
+
entries: items.map((command, index) => ({ command, index })),
|
|
97
|
+
more: 0,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
let start = Math.max(0, selected - Math.floor(maxRows / 2));
|
|
101
|
+
start = Math.min(start, items.length - maxRows);
|
|
102
|
+
const entries = [];
|
|
103
|
+
for (let index = start; index < start + maxRows; index += 1) {
|
|
104
|
+
entries.push({ command: items[index], index });
|
|
105
|
+
}
|
|
106
|
+
return { entries, more: items.length - (start + maxRows) };
|
|
107
|
+
}
|
|
108
|
+
function clip(text, width) {
|
|
109
|
+
if (text.length <= width) {
|
|
110
|
+
return text;
|
|
111
|
+
}
|
|
112
|
+
if (width <= 1) {
|
|
113
|
+
return "…";
|
|
114
|
+
}
|
|
115
|
+
return `${text.slice(0, width - 1)}…`;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=slash-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-menu.js","sourceRoot":"","sources":["../../../src/cli/interactive/slash-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAwB,MAAM,qBAAqB,CAAA;AAQzF,MAAM,IAAI,GAAG,UAAU,CAAA;AACvB,MAAM,GAAG,GAAG,SAAS,CAAA;AACrB,MAAM,KAAK,GAAG,SAAS,CAAA;AAEvB;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACjC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAC9C,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;IACtC,MAAM,GAAG,GAAG,6BAA6B,EAAE,CAAA;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;IAC1C,CAAC;IAED,MAAM,MAAM,GAAsB,EAAE,CAAA;IACpC,MAAM,QAAQ,GAAsB,EAAE,CAAA;IACtC,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAA;AAC/D,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,KAAa,EAAE,KAAa;IACvE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;AAClD,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,KAAa;IACzD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;QACnB,OAAO,KAAK,GAAG,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,OAAwB;IACzD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9D,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAwB,EACxB,OAA+B;IAE/B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAA;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAEpE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAExF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACnD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAA;QACvD,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,EAAE,CAAA;QACpC,CAAC;QACD,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,EAAE,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,OAAO,CAAA;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAOD,SAAS,WAAW,CAClB,KAAwB,EACxB,QAAgB,EAChB,OAAe;IAEf,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,IAAI,EAAE,CAAC;SACR,CAAA;IACH,CAAC;IAED,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3D,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAA;AAC5D,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,KAAa;IACvC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAA;AACvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-registry.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/slash-registry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,iBAAiB,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"slash-registry.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/slash-registry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,iBAAiB,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,eAAe,EAmB3C,CAAA;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAGzE;AAED,wBAAgB,6BAA6B,IAAI,eAAe,EAAE,CAEjE"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export const SLASH_COMMANDS = [
|
|
2
2
|
{ name: "help", description: "Show slash commands", phase: "active", usage: "/help" },
|
|
3
3
|
{ name: "status", description: "Show workspace and auth posture", phase: "active", usage: "/status [--check]" },
|
|
4
|
+
{ name: "login", description: "Save credentials or show auth setup", phase: "active", usage: "/login [api-url token]" },
|
|
5
|
+
{ name: "logout", description: "Remove saved credentials", phase: "active", usage: "/logout" },
|
|
4
6
|
{ name: "goal", description: "Plan a task locally (dry-run)", phase: "active", usage: '/goal <task>' },
|
|
5
7
|
{ name: "inspect", description: "Local workspace inspect (read-only)", phase: "active", usage: "/inspect" },
|
|
6
8
|
{ name: "plan", description: "Server preview only (no apply)", phase: "active", usage: "/plan [task]" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-registry.js","sourceRoot":"","sources":["../../../src/cli/interactive/slash-registry.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;IACrF,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAC/G,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,+BAA+B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;IACtG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;IAC3G,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;IACvG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,+BAA+B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACpH,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mCAAmC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACrG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;IAC3G,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,sCAAsC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,yCAAyC,EAAE;IACxI,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8CAA8C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;IACpH,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IAChG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;IACzG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;IACpG,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,yCAAyC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3G,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,oCAAoC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACtG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;CACzF,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC/D,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,CAAA;AACzE,CAAC"}
|
|
1
|
+
{"version":3,"file":"slash-registry.js","sourceRoot":"","sources":["../../../src/cli/interactive/slash-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,SAAS,CAAA;AACtD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,iBAAiB,CAAA;AAEzD,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,GAAG,EAAE,MAAM,EAAE,CAAA;KACd,CAAA;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,SAAS,CAAA;AACtD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,iBAAiB,CAAA;AAEzD,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,GAAG,EAAE,MAAM,EAAE,CAAA;KACd,CAAA;CACF,CAAA;AAMD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBhE;AA0DD,wBAAgB,UAAU,CAAC,GAAG,SAAgB,GAAG,cAAc,CA4C9D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAQvD"}
|
package/dist/config/config.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { dirname, join, resolve } from "node:path";
|
|
4
|
-
const GLOBAL_CONFIG_PATH = join(homedir(), ".patze", "config.json");
|
|
5
4
|
const PROJECT_CONFIG_NAMES = [".patze/config.json", ".patze/cli.json"];
|
|
6
5
|
const DEFAULT_DENY = ["**/.env", "**/.env.*", "**/node_modules/**", "**/.git/**"];
|
|
7
6
|
export function globalConfigPath() {
|
|
8
|
-
return
|
|
7
|
+
return join(homedir(), ".patze", "config.json");
|
|
9
8
|
}
|
|
10
9
|
export function findProjectConfigPath(cwd) {
|
|
11
10
|
let current = resolve(cwd);
|
|
@@ -83,7 +82,8 @@ function mergeConfigs(...layers) {
|
|
|
83
82
|
}
|
|
84
83
|
export function loadConfig(cwd = process.cwd()) {
|
|
85
84
|
const envKeys = [];
|
|
86
|
-
const
|
|
85
|
+
const globalConfigFile = globalConfigPath();
|
|
86
|
+
const globalPath = existsSync(globalConfigFile) ? globalConfigFile : null;
|
|
87
87
|
const projectPath = findProjectConfigPath(cwd);
|
|
88
88
|
const fileLayers = [];
|
|
89
89
|
if (globalPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA8BlD,MAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export type CompleterResult = [string[], string];
|
|
2
|
-
/**
|
|
3
|
-
* readline completer for the interactive composer. Completes `/command`
|
|
4
|
-
* tokens only; never touches free-text prompts or argument values, so it
|
|
5
|
-
* cannot change parsing or trust-loop behavior. Active on TTY only.
|
|
6
|
-
*/
|
|
7
|
-
export declare function completeSlashInput(line: string): CompleterResult;
|
|
8
|
-
//# sourceMappingURL=completer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completer.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/completer.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAA;AAEhD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAehE"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { listDiscoverableSlashCommands } from "./slash-registry.js";
|
|
2
|
-
/**
|
|
3
|
-
* readline completer for the interactive composer. Completes `/command`
|
|
4
|
-
* tokens only; never touches free-text prompts or argument values, so it
|
|
5
|
-
* cannot change parsing or trust-loop behavior. Active on TTY only.
|
|
6
|
-
*/
|
|
7
|
-
export function completeSlashInput(line) {
|
|
8
|
-
// Not a slash command, or already past the command token → no completion.
|
|
9
|
-
if (!line.startsWith("/") || line.includes(" ")) {
|
|
10
|
-
return [[], line];
|
|
11
|
-
}
|
|
12
|
-
const needle = line.slice(1).toLowerCase();
|
|
13
|
-
const names = listDiscoverableSlashCommands().map((command) => `/${command.name}`);
|
|
14
|
-
if (!needle) {
|
|
15
|
-
return [names, line];
|
|
16
|
-
}
|
|
17
|
-
const hits = names.filter((name) => name.slice(1).startsWith(needle));
|
|
18
|
-
return [hits, line];
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=completer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completer.js","sourceRoot":"","sources":["../../../src/cli/interactive/completer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAInE;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,0EAA0E;IAC1E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IAC1C,MAAM,KAAK,GAAG,6BAA6B,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAElF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IACrE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACrB,CAAC"}
|