@namzu/cli 2.2.0 → 2.4.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.
@@ -17,6 +17,16 @@ export interface SkillInfo {
17
17
  readonly description: string;
18
18
  readonly path: string;
19
19
  readonly source: SkillSource;
20
+ /**
21
+ * Why this skill cannot be used, when it cannot.
22
+ *
23
+ * A `SKILL.md` whose frontmatter does not parse is REFUSED rather than
24
+ * loaded with the metadata missing, but refusing it must not take the rest
25
+ * of the roster with it: one unreadable file in `~/.namzu/skills` would
26
+ * otherwise leave the operator with no skills and no reason. So it stays in
27
+ * the list, named, carrying the reason it is unusable.
28
+ */
29
+ readonly problem?: string;
20
30
  }
21
31
  export declare function userSkillsDir(home?: string): string;
22
32
  export declare function projectSkillsDir(cwd?: string): string;
@@ -26,10 +36,35 @@ interface ParsedSkill {
26
36
  readonly body: string;
27
37
  }
28
38
  /**
29
- * Split `SKILL.md` into frontmatter (name/description) + body. Tolerant:
30
- * a file with no frontmatter is all body.
39
+ * Split `SKILL.md` into frontmatter (name/description) + body.
40
+ *
41
+ * Reads through the kernel's `parseFrontmatter`, which is the point: this file
42
+ * used to carry its own regex, `/^---\n…\n---\n?/`, and that regex is LF-only.
43
+ * A `SKILL.md` saved on Windows has CRLF line endings, so the match failed, the
44
+ * whole file was treated as body, and the skill was listed under its directory
45
+ * name with `(no description)`. It did not fail — it described the skill
46
+ * wrongly, which is the shape that survives review.
47
+ *
48
+ * ## Absent frontmatter is fine; broken frontmatter is not
49
+ *
50
+ * These were the same case here and are not the same thing. A file with no
51
+ * frontmatter is a documented, supported shape (`docs/cli/skills.md`): the body
52
+ * is the skill. A file that opens a fence and then fails to parse is an author
53
+ * who tried to write metadata and got it wrong, and answering that with "no
54
+ * metadata, carry on" put the broken YAML into the body — and from there
55
+ * verbatim into the system prompt.
56
+ *
57
+ * So the fence decides. No fence, no parser: body only, exactly as documented.
58
+ * A fence present hands the file to the kernel reader, which throws rather than
59
+ * returning a partial result. The absence test mirrors the reader's own
60
+ * (`raw.trimStart().startsWith('---')`) so the two cannot disagree about what
61
+ * counts as having frontmatter — two readers disagreeing on that is the defect
62
+ * this consolidation exists to remove.
63
+ *
64
+ * @param source A label for the error message, e.g. the file's path.
65
+ * @throws When a fence is present and the frontmatter cannot be read.
31
66
  */
32
- export declare function parseSkillMarkdown(raw: string): ParsedSkill;
67
+ export declare function parseSkillMarkdown(raw: string, source?: string): ParsedSkill;
33
68
  /**
34
69
  * Discover all skills, project shadowing user on name clash. Returns an
35
70
  * empty list when no skill dirs exist.
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/skills/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAA;AAE5C,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC5B;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAEpE;AAED,UAAU,WAAW;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAgB3D;AA+BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,EAAE,CAOtF;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAErD;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,MAAM,GAAG,IAAI,CASf"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/skills/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAA;AAE5C,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAEpE;AAED,UAAU,WAAW;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAa,GAAG,WAAW,CAahF;AA8CD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,EAAE,CAOtF;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAGrD;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,MAAM,GAAG,IAAI,CASf"}
@@ -14,7 +14,7 @@
14
14
  import { readFileSync, readdirSync } from 'node:fs';
15
15
  import { homedir } from 'node:os';
16
16
  import { join } from 'node:path';
17
- import { parse as parseYaml } from 'yaml';
17
+ import { parseFrontmatter } from '@namzu/sdk';
18
18
  export function userSkillsDir(home = homedir()) {
19
19
  return join(home, '.namzu', 'skills');
20
20
  }
@@ -22,29 +22,45 @@ export function projectSkillsDir(cwd = process.cwd()) {
22
22
  return join(cwd, 'skills');
23
23
  }
24
24
  /**
25
- * Split `SKILL.md` into frontmatter (name/description) + body. Tolerant:
26
- * a file with no frontmatter is all body.
25
+ * Split `SKILL.md` into frontmatter (name/description) + body.
26
+ *
27
+ * Reads through the kernel's `parseFrontmatter`, which is the point: this file
28
+ * used to carry its own regex, `/^---\n…\n---\n?/`, and that regex is LF-only.
29
+ * A `SKILL.md` saved on Windows has CRLF line endings, so the match failed, the
30
+ * whole file was treated as body, and the skill was listed under its directory
31
+ * name with `(no description)`. It did not fail — it described the skill
32
+ * wrongly, which is the shape that survives review.
33
+ *
34
+ * ## Absent frontmatter is fine; broken frontmatter is not
35
+ *
36
+ * These were the same case here and are not the same thing. A file with no
37
+ * frontmatter is a documented, supported shape (`docs/cli/skills.md`): the body
38
+ * is the skill. A file that opens a fence and then fails to parse is an author
39
+ * who tried to write metadata and got it wrong, and answering that with "no
40
+ * metadata, carry on" put the broken YAML into the body — and from there
41
+ * verbatim into the system prompt.
42
+ *
43
+ * So the fence decides. No fence, no parser: body only, exactly as documented.
44
+ * A fence present hands the file to the kernel reader, which throws rather than
45
+ * returning a partial result. The absence test mirrors the reader's own
46
+ * (`raw.trimStart().startsWith('---')`) so the two cannot disagree about what
47
+ * counts as having frontmatter — two readers disagreeing on that is the defect
48
+ * this consolidation exists to remove.
49
+ *
50
+ * @param source A label for the error message, e.g. the file's path.
51
+ * @throws When a fence is present and the frontmatter cannot be read.
27
52
  */
28
- export function parseSkillMarkdown(raw) {
29
- const match = raw.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
30
- if (!match)
53
+ export function parseSkillMarkdown(raw, source = 'SKILL.md') {
54
+ if (!raw.trimStart().startsWith('---'))
31
55
  return { body: raw.trim() };
32
- const [, frontmatter, body] = match;
33
- let name;
34
- let description;
35
- try {
36
- const meta = parseYaml(frontmatter ?? '');
37
- if (meta && typeof meta === 'object') {
38
- if (typeof meta.name === 'string')
39
- name = meta.name;
40
- if (typeof meta.description === 'string')
41
- description = meta.description;
42
- }
43
- }
44
- catch {
45
- // Malformed frontmatter → treat as no metadata; body still usable.
46
- }
47
- return { name, description, body: (body ?? '').trim() };
56
+ const { values, body } = parseFrontmatter(raw, source);
57
+ // A non-scalar `name` or `description` is dropped rather than rendered:
58
+ // there is no sensible string for a block of indented pairs, and the
59
+ // fallbacks below (directory name, "(no description)") are the honest
60
+ // answer for a key that did not carry one.
61
+ const name = values.name?.kind === 'scalar' ? values.name.value : undefined;
62
+ const description = values.description?.kind === 'scalar' ? values.description.value : undefined;
63
+ return { name, description, body };
48
64
  }
49
65
  function readSkillsFrom(dir, source) {
50
66
  let entries;
@@ -66,7 +82,23 @@ function readSkillsFrom(dir, source) {
66
82
  catch {
67
83
  continue;
68
84
  }
69
- const parsed = parseSkillMarkdown(raw);
85
+ let parsed;
86
+ try {
87
+ parsed = parseSkillMarkdown(raw, path);
88
+ }
89
+ catch (err) {
90
+ // Refused, but still listed. One unreadable file must not empty the
91
+ // roster and leave the operator without a reason — the whole point of
92
+ // refusing instead of degrading is that somebody gets told.
93
+ skills.push({
94
+ name: dirName,
95
+ description: '(could not be read)',
96
+ path,
97
+ source,
98
+ problem: err instanceof Error ? err.message : String(err),
99
+ });
100
+ continue;
101
+ }
70
102
  skills.push({
71
103
  name: parsed.name ?? dirName,
72
104
  description: parsed.description ?? '(no description)',
@@ -92,7 +124,9 @@ export function discoverSkills(opts = {}) {
92
124
  }
93
125
  /** Read a skill's markdown body (frontmatter stripped). */
94
126
  export function loadSkillBody(info) {
95
- return parseSkillMarkdown(readFileSync(info.path, 'utf8')).body;
127
+ if (info.problem)
128
+ throw new Error(info.problem);
129
+ return parseSkillMarkdown(readFileSync(info.path, 'utf8'), info.path).body;
96
130
  }
97
131
  /** Compose the active-skills system block, or null when none are active. */
98
132
  export function composeSkillsPrompt(active) {
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/skills/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/skills/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAqB7C,MAAM,UAAU,aAAa,CAAC,OAAe,OAAO,EAAE;IACrD,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC3D,OAAO,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,MAAM,GAAG,UAAU;IAClE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAA;IAEnE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAEtD,wEAAwE;IACxE,qEAAqE;IACrE,sEAAsE;IACtE,2CAA2C;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,MAAmB;IACvD,IAAI,OAAiB,CAAA;IACrB,IAAI,CAAC;QACJ,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAA;IACV,CAAC;IACD,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;QAC3C,IAAI,GAAW,CAAA;QACf,IAAI,CAAC;YACJ,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACjC,CAAC;QAAC,MAAM,CAAC;YACR,SAAQ;QACT,CAAC;QACD,IAAI,MAAmB,CAAA;QACvB,IAAI,CAAC;YACJ,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,oEAAoE;YACpE,sEAAsE;YACtE,4DAA4D;YAC5D,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,qBAAqB;gBAClC,IAAI;gBACJ,MAAM;gBACN,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACzD,CAAC,CAAA;YACF,SAAQ;QACT,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,OAAO;YAC5B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,kBAAkB;YACrD,IAAI;YACJ,MAAM;SACN,CAAC,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAwC,EAAE;IACxE,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAA;IAC3C,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3C,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,eAAe;IAC9D,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACzE,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,aAAa,CAAC,IAAe;IAC5C,IAAI,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,OAAO,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,mBAAmB,CAClC,MAAqD;IAErD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACrE,OAAO;QACN,wEAAwE;QACxE,4BAA4B;QAC5B,EAAE;QACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAsDH,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,YAAY,CAAA;AAE/D,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CACxB;AAWD,wBAAgB,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,2CAqyBpC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAuDH,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,YAAY,CAAA;AAE/D,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CACxB;AAWD,wBAAgB,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,2CA0zBpC"}
package/dist/tui/App.js CHANGED
@@ -20,7 +20,8 @@ import { createAssistantMessage, createUserMessage } from '@namzu/sdk';
20
20
  import { appendMessages, listRecent, loadConversation, openSessions, startConversation, } from '../integrations/sessions/store.js';
21
21
  import { createAgentSession, probeAgentSession, } from './agent.js';
22
22
  import { ResumePicker } from './ResumePicker.js';
23
- import { runSlash } from './slashCommands.js';
23
+ import { discoverUserCommands } from '../user-commands/store.js';
24
+ import { SLASH_COMMANDS, runSlash } from './slashCommands.js';
24
25
  import { theme } from './theme.js';
25
26
  export function App({ ctx }) {
26
27
  const { exit } = useApp();
@@ -33,6 +34,11 @@ export function App({ ctx }) {
33
34
  const [currentProvider, setCurrentProvider] = useState(null);
34
35
  const [permission, setPermission] = useState(null);
35
36
  const [activeSkills, setActiveSkills] = useState([]);
37
+ // Read when the session comes up rather than on every keystroke: the
38
+ // autocomplete dropdown consults this on each character, and a `readdirSync`
39
+ // per keypress is a cost nobody asked for. A file added mid-session is
40
+ // picked up by `/model` (which re-hydrates) or a restart.
41
+ const [userCommands, setUserCommands] = useState([]);
36
42
  const [usage, setUsage] = useState(null);
37
43
  // Context fill, straight from the kernel and held apart from `usage` —
38
44
  // they are different quantities and conflating them is what made the
@@ -130,6 +136,13 @@ export function App({ ctx }) {
130
136
  void previousSessionRef.current?.close();
131
137
  previousSessionRef.current = s;
132
138
  setSession(s);
139
+ setUserCommands(discoverUserCommands({
140
+ cwd: ctx.cwd,
141
+ // Builtins are reserved: a `help.md` must not take over `/help`.
142
+ // Passing the names here is what lets the loader tell its author
143
+ // the file is shadowed instead of leaving it silently unused.
144
+ reserved: SLASH_COMMANDS.map((c) => c.name),
145
+ }));
133
146
  setCurrentProvider(prefs.provider);
134
147
  if (s.hasProvider) {
135
148
  setPhase('ready');
@@ -213,6 +226,7 @@ export function App({ ctx }) {
213
226
  },
214
227
  agentIds: session?.agentIds ?? [],
215
228
  instructionFiles: session?.instructionFiles ?? [],
229
+ userCommands,
216
230
  };
217
231
  // `/resume`: open the picker with this folder's recent conversations.
218
232
  const doResume = useCallback(async () => {
@@ -486,7 +500,13 @@ export function App({ ctx }) {
486
500
  return;
487
501
  }
488
502
  const activeNames = new Set(activeSkills.map((s) => s.name));
489
- const lines = skills.map((s) => `${activeNames.has(s.name) ? '● ' : '○ '}${s.name} — ${s.description}`);
503
+ const lines = skills.map((s) =>
504
+ // A refused skill is shown with its reason rather than hidden.
505
+ // Dropping it silently would leave someone wondering where a
506
+ // file they can see on disk went.
507
+ s.problem
508
+ ? `⚠ ${s.name} — ${s.problem}`
509
+ : `${activeNames.has(s.name) ? '● ' : '○ '}${s.name} — ${s.description}`);
490
510
  pushMessage('system', `Skills (● active):\n ${lines.join('\n ')}`);
491
511
  return;
492
512
  }
@@ -655,7 +675,7 @@ export function App({ ctx }) {
655
675
  // Background is left natural — we inherit the terminal's own background
656
676
  // and only theme the foreground. Forcing
657
677
  // a filled bg left mismatched patches around bordered areas, so we don't.
658
- return (_jsxs(Box, { flexDirection: "column", children: [phase !== 'ready' ? (_jsx(Banner, { version: ctx.version, session: session, bypass: ctx.skipPermissions === true, cwd: ctx.cwd })) : null, _jsxs(Box, { flexDirection: "column", paddingX: 1, children: [phase === 'trust' ? (_jsx(TrustPrompt, { cwd: ctx.cwd })) : phase === 'resume' ? (_jsx(ResumePicker, { conversations: resumeList, selected: selectedResume })) : phase === 'picker' ? (_jsx(Picker, { detected: detected, currentProvider: currentProvider, onSubmit: handlePickerSubmit, onCancel: handlePickerCancel })) : (_jsxs(_Fragment, { children: [_jsx(TranscriptFrame, { children: _jsx(Transcript, { messages: messages.filter((m) => !m.pending), pending: messages.find((m) => m.pending) ?? null, state: state, expanded: expanded, resetKey: resetKey, header: phase === 'ready' ? (_jsx(Banner, { version: ctx.version, session: session, bypass: ctx.skipPermissions === true, cwd: ctx.cwd })) : undefined }) }), _jsx(LiveActivity, { activeTools: activeTools, thinking: state === 'thinking' && !messages.some((m) => m.pending) }), permission ? (_jsx(PermissionOverlay, { toolCalls: permission.toolCalls })) : (_jsxs(ComposerFrame, { focus: state === 'idle' && phase === 'ready', children: [queued.length > 0 ? (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: theme.text.muted, children: ["\u23CE ", queued.length, " message", queued.length > 1 ? 's' : '', " queued \u2014 sending when ready"] }) })) : null, _jsx(Composer, { disabled: phase !== 'ready' || state === 'awaiting-permission', onSubmit: handleSubmit, history: history })] }))] })), _jsx(Box, { paddingTop: 1, children: _jsx(StatusBar, { cwd: ctx.cwd, provider: session?.providerSummary ?? null, model: session?.modelSummary ?? null, state: state, hint: hintForPhase(phase, state), usage: usage, context: context }) })] })] }));
678
+ return (_jsxs(Box, { flexDirection: "column", children: [phase !== 'ready' ? (_jsx(Banner, { version: ctx.version, session: session, bypass: ctx.skipPermissions === true, cwd: ctx.cwd })) : null, _jsxs(Box, { flexDirection: "column", paddingX: 1, children: [phase === 'trust' ? (_jsx(TrustPrompt, { cwd: ctx.cwd })) : phase === 'resume' ? (_jsx(ResumePicker, { conversations: resumeList, selected: selectedResume })) : phase === 'picker' ? (_jsx(Picker, { detected: detected, currentProvider: currentProvider, onSubmit: handlePickerSubmit, onCancel: handlePickerCancel })) : (_jsxs(_Fragment, { children: [_jsx(TranscriptFrame, { children: _jsx(Transcript, { messages: messages.filter((m) => !m.pending), pending: messages.find((m) => m.pending) ?? null, state: state, expanded: expanded, resetKey: resetKey, header: phase === 'ready' ? (_jsx(Banner, { version: ctx.version, session: session, bypass: ctx.skipPermissions === true, cwd: ctx.cwd })) : undefined }) }), _jsx(LiveActivity, { activeTools: activeTools, thinking: state === 'thinking' && !messages.some((m) => m.pending) }), permission ? (_jsx(PermissionOverlay, { toolCalls: permission.toolCalls })) : (_jsxs(ComposerFrame, { focus: state === 'idle' && phase === 'ready', children: [queued.length > 0 ? (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: theme.text.muted, children: ["\u23CE ", queued.length, " message", queued.length > 1 ? 's' : '', " queued \u2014 sending when ready"] }) })) : null, _jsx(Composer, { disabled: phase !== 'ready' || state === 'awaiting-permission', onSubmit: handleSubmit, userCommands: userCommands, history: history })] }))] })), _jsx(Box, { paddingTop: 1, children: _jsx(StatusBar, { cwd: ctx.cwd, provider: session?.providerSummary ?? null, model: session?.modelSummary ?? null, state: state, hint: hintForPhase(phase, state), usage: usage, context: context }) })] })] }));
659
679
  }
660
680
  function Banner({ version, session, bypass, cwd, }) {
661
681
  const cols = process.stdout.columns ?? 80;
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
@@ -8,10 +8,13 @@
8
8
  * else browse history, Backspace deletes.
9
9
  */
10
10
  import type { ImageAttachment } from '@namzu/sdk';
11
+ import type { UserCommand } from '../user-commands/store.js';
11
12
  export interface ComposerProps {
12
13
  readonly disabled?: boolean;
13
14
  readonly onSubmit: (value: string, images?: readonly ImageAttachment[]) => void;
14
15
  readonly history: readonly string[];
16
+ /** Operator-defined commands, offered in the dropdown alongside builtins. */
17
+ readonly userCommands?: readonly UserCommand[];
15
18
  }
16
- export declare function Composer({ disabled, onSubmit, history }: ComposerProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function Composer({ disabled, onSubmit, history, userCommands, }: ComposerProps): import("react/jsx-runtime").JSX.Element;
17
20
  //# sourceMappingURL=Composer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../src/tui/Composer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAQjD,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,KAAK,IAAI,CAAA;IAC/E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACnC;AAMD,wBAAgB,QAAQ,CAAC,EAAE,QAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,aAAa,2CAoK9E"}
1
+ {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../src/tui/Composer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAKjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAI5D,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,KAAK,IAAI,CAAA;IAC/E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;CAC9C;AAMD,wBAAgB,QAAQ,CAAC,EACxB,QAAgB,EAChB,QAAQ,EACR,OAAO,EACP,YAAiB,GACjB,EAAE,aAAa,2CAoKf"}
@@ -7,7 +7,7 @@ import { theme } from './theme.js';
7
7
  const MAX_SUGGESTIONS = 6;
8
8
  // A single keypress longer than this (with no newline) is treated as a paste.
9
9
  const PASTE_THRESHOLD = 80;
10
- export function Composer({ disabled = false, onSubmit, history }) {
10
+ export function Composer({ disabled = false, onSubmit, history, userCommands = [], }) {
11
11
  const [value, setValue] = useState('');
12
12
  const [historyIndex, setHistoryIndex] = useState(-1);
13
13
  const [selected, setSelected] = useState(0);
@@ -17,7 +17,7 @@ export function Composer({ disabled = false, onSubmit, history }) {
17
17
  // Images pasted from the clipboard (Ctrl+V), shown as chips and sent as
18
18
  // vision attachments on submit.
19
19
  const [images, setImages] = useState([]);
20
- const suggestions = matchSlashCommands(value).slice(0, MAX_SUGGESTIONS);
20
+ const suggestions = matchSlashCommands(value, userCommands).slice(0, MAX_SUGGESTIONS);
21
21
  const showSuggestions = suggestions.length > 0;
22
22
  const selIdx = Math.min(selected, Math.max(0, suggestions.length - 1));
23
23
  const reset = useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../src/tui/Composer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../src/tui/Composer.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUlC,MAAM,eAAe,GAAG,CAAC,CAAA;AACzB,8EAA8E;AAC9E,MAAM,eAAe,GAAG,EAAE,CAAA;AAE1B,MAAM,UAAU,QAAQ,CAAC,EACxB,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,OAAO,EACP,YAAY,GAAG,EAAE,GACF;IACf,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAA;IAC9C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC,CAAA;IAC5D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAA;IACnD,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAA;IAC3D,wEAAwE;IACxE,gCAAgC;IAChC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA6B,EAAE,CAAC,CAAA;IAEpE,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;IACrF,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAEtE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,QAAQ,CAAC,EAAE,CAAC,CAAA;QACZ,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;QACnB,WAAW,CAAC,CAAC,CAAC,CAAA;QACd,SAAS,CAAC,EAAE,CAAC,CAAA;QACb,SAAS,CAAC,EAAE,CAAC,CAAA;IACd,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,QAAQ,CACP,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACd,IAAI,QAAQ;YAAE,OAAM;QACpB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,eAAe,EAAE,CAAC;gBACrB,+BAA+B;gBAC/B,QAAQ,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;gBAC/C,KAAK,EAAE,CAAA;gBACP,OAAM;YACP,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACpF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACzD,KAAK,EAAE,CAAA;YACP,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,eAAe,EAAE,CAAC;gBACrB,4DAA4D;gBAC5D,QAAQ,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,GAAG,CAAC,CAAA;gBAChD,WAAW,CAAC,CAAC,CAAC,CAAA;YACf,CAAC;YACD,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,KAAK,EAAE,CAAA;YACP,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACjC,uEAAuE;YACvE,qBAAqB;YACrB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBAChC,OAAM;YACP,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBAChC,OAAM;YACP,CAAC;YACD,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/B,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,eAAe,EAAE,CAAC;gBACrB,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACtC,OAAM;YACP,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC3D,eAAe,CAAC,IAAI,CAAC,CAAA;YACrB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAClD,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,eAAe,EAAE,CAAC;gBACrB,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBAC3D,OAAM;YACP,CAAC;YACD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;gBACvB,KAAK,EAAE,CAAA;gBACP,OAAM;YACP,CAAC;YACD,MAAM,IAAI,GAAG,YAAY,GAAG,CAAC,CAAA;YAC7B,eAAe,CAAC,IAAI,CAAC,CAAA;YACrB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAClD,OAAM;QACP,CAAC;QACD,wEAAwE;QACxE,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAA;YAChC,IAAI,GAAG;gBAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;YACtC,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI;YAAE,OAAM;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC9B,oEAAoE;QACpE,+DAA+D;QAC/D,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YAC5D,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;YAC/B,OAAM;QACP,CAAC;QACD,WAAW,CAAC,CAAC,CAAC,CAAA;QACd,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;IAC3B,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,EAAE,CAClB,CAAA;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACxC,MAAM,eAAe,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;IACvD,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACzC,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,aACvD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,MAAC,IAAI,IAAkB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,+BACpC,CAAC,GAAG,CAAC,QAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aADrD,OAAO,CAAC,EAAE,CAEd,CACP,CAAC,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACrB,MAAC,IAAI,IAAoB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,qCACnC,CAAC,GAAG,CAAC,SAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,gBADpC,SAAS,CAAC,EAAE,CAEhB,CACP,CAAC,IACG,CACN,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,aACf,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,YAC3B,KAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,kBAChE,WAAW,GACN,GACF,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,eAAe,CAAC,CAAC,CAAC,CAClB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,0DAA6C,CAC1E,CAAC,CAAC,CAAC,CACH,MAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAC,MAAM,aACxE,KAAK,EACL,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,uBAAU,IACtD,CACP,GACI,IACD,EACL,eAAe,CAAC,CAAC,CAAC,CAClB,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,YACpD,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,MAAC,GAAG,eACH,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,YAC5B,MAAC,IAAI,IACJ,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAC9D,IAAI,EAAE,CAAC,KAAK,MAAM,aAEjB,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAG,GAAG,CAAC,IAAI,IAChC,GACF,EACN,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAAG,GAAG,CAAC,WAAW,GAAQ,KAT9C,GAAG,CAAC,IAAI,CAUZ,CACN,CAAC,GACG,CACN,CAAC,CAAC,CAAC,IAAI,IACH,CACN,CAAA;AACF,CAAC"}
@@ -14,6 +14,7 @@
14
14
  * second source for a fact the kernel already owns, and the two would drift.
15
15
  */
16
16
  import type { VerificationRule } from '@namzu/sdk';
17
+ import { type UserCommand } from '../user-commands/store.js';
17
18
  export type SlashAction = {
18
19
  kind: 'message';
19
20
  role: 'system';
@@ -88,6 +89,13 @@ export interface SlashContext {
88
89
  * reports this; nothing new is discovered to answer it.
89
90
  */
90
91
  readonly instructionFiles: readonly string[];
92
+ /**
93
+ * Commands the operator defined as `.md` files.
94
+ *
95
+ * Consulted only after the builtins, so a file cannot take a name the TUI
96
+ * already answers to. Empty is the normal case.
97
+ */
98
+ readonly userCommands: readonly UserCommand[];
91
99
  }
92
100
  export interface SlashCommand {
93
101
  readonly name: string;
@@ -104,7 +112,7 @@ export interface ParsedSlash {
104
112
  * once a space is typed (the user has moved on to arguments) or the value
105
113
  * isn't a slash command, so the dropdown only shows while picking a name.
106
114
  */
107
- export declare function matchSlashCommands(value: string): SlashCommand[];
115
+ export declare function matchSlashCommands(value: string, userCommands?: readonly UserCommand[]): SlashCommand[];
108
116
  /** Returns null when the line is not a slash command. */
109
117
  export declare function parseSlash(line: string): ParsedSlash | null;
110
118
  export declare const SLASH_COMMANDS: readonly SlashCommand[];
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommands.d.ts","sourceRoot":"","sources":["../../src/tui/slashCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashCommands.d.ts","sourceRoot":"","sources":["../../src/tui/slashCommands.ts"],"names":[],"mappings":"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"}
@@ -13,18 +13,27 @@
13
13
  * already carries. A command that had to compute its own answer would be a
14
14
  * second source for a fact the kernel already owns, and the two would drift.
15
15
  */
16
+ import { expandCommand } from '../user-commands/store.js';
16
17
  /**
17
18
  * Autocomplete matches for a composer value that is a command-in-progress
18
19
  * (`/`, `/me`, `/mo…` — slash + a partial name, no space yet). Returns []
19
20
  * once a space is typed (the user has moved on to arguments) or the value
20
21
  * isn't a slash command, so the dropdown only shows while picking a name.
21
22
  */
22
- export function matchSlashCommands(value) {
23
+ export function matchSlashCommands(value, userCommands = []) {
23
24
  const m = /^\/([\w-]*)$/.exec(value);
24
25
  if (!m)
25
26
  return [];
26
27
  const prefix = (m[1] ?? '').toLowerCase();
27
- return SLASH_COMMANDS.filter((c) => c.name.startsWith(prefix));
28
+ // A command the dropdown does not offer is one nobody discovers. Refused
29
+ // ones are offered too, carrying their reason as the description — running
30
+ // it prints the problem, which is how its author finds out.
31
+ const own = userCommands.map((c) => ({
32
+ name: c.name,
33
+ description: c.problem ? `⚠ ${c.problem}` : c.description,
34
+ action: () => ({ kind: 'none' }),
35
+ }));
36
+ return [...SLASH_COMMANDS, ...own].filter((c) => c.name.startsWith(prefix));
28
37
  }
29
38
  /** Returns null when the line is not a slash command. */
30
39
  export function parseSlash(line) {
@@ -40,11 +49,23 @@ export const SLASH_COMMANDS = [
40
49
  {
41
50
  name: 'help',
42
51
  description: 'Show available slash commands.',
43
- action: () => ({
44
- kind: 'message',
45
- role: 'system',
46
- content: SLASH_COMMANDS.map((c) => `/${c.name.padEnd(10)} ${c.description}`).join('\n'),
47
- }),
52
+ action: (ctx) => {
53
+ const builtin = SLASH_COMMANDS.map((c) => `/${c.name.padEnd(12)} ${c.description}`);
54
+ // Listed separately and always, including the refused ones with their
55
+ // reason. A command file that exists and does not work is exactly what
56
+ // its author needs to see here — leaving it out of `/help` is how it
57
+ // stays broken.
58
+ const own = ctx.userCommands.map((c) => c.problem
59
+ ? `/${c.name.padEnd(12)} ⚠ ${c.problem}`
60
+ : `/${c.name.padEnd(12)} ${c.description}`);
61
+ return {
62
+ kind: 'message',
63
+ role: 'system',
64
+ content: own.length > 0
65
+ ? `${builtin.join('\n')}\n\nYour commands:\n${own.join('\n')}`
66
+ : builtin.join('\n'),
67
+ };
68
+ },
48
69
  },
49
70
  {
50
71
  name: 'clear',
@@ -277,14 +298,24 @@ export function runSlash(line, ctx) {
277
298
  const parsed = parseSlash(line);
278
299
  if (!parsed)
279
300
  return null;
301
+ // Builtins first, always. A file appearing on disk must not take over a name
302
+ // the TUI already answers to — `discoverUserCommands` marks those files with
303
+ // a `problem` so their author is told, rather than leaving them to wonder
304
+ // why the file never ran.
280
305
  const cmd = SLASH_COMMANDS.find((c) => c.name === parsed.name);
281
- if (!cmd) {
282
- return {
283
- kind: 'message',
284
- role: 'system',
285
- content: `Unknown command: /${parsed.name}. Try /help.`,
286
- };
306
+ if (cmd)
307
+ return cmd.action(ctx, parsed.args);
308
+ const user = ctx.userCommands.find((c) => c.name === parsed.name);
309
+ if (user) {
310
+ const expanded = expandCommand(user, parsed.args.join(' '));
311
+ return expanded.ok
312
+ ? { kind: 'prompt', text: expanded.prompt }
313
+ : { kind: 'message', role: 'system', content: expanded.reason };
287
314
  }
288
- return cmd.action(ctx, parsed.args);
315
+ return {
316
+ kind: 'message',
317
+ role: 'system',
318
+ content: `Unknown command: /${parsed.name}. Try /help.`,
319
+ };
289
320
  }
290
321
  //# sourceMappingURL=slashCommands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommands.js","sourceRoot":"","sources":["../../src/tui/slashCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashCommands.js","sourceRoot":"","sources":["../../src/tui/slashCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * User-defined slash commands — one `.md` file per command.
3
+ *
4
+ * A command is a markdown file whose body is a prompt template:
5
+ *
6
+ * ~/.namzu/commands/<name>.md available everywhere
7
+ * <cwd>/.namzu/commands/<name>.md this project only
8
+ *
9
+ * The name is the filename without `.md`, so `review.md` is `/review`. A
10
+ * project command shadows a user command of the same name, which is the same
11
+ * precedence skills use.
12
+ *
13
+ * ## Why this is not `discoverSkills`
14
+ *
15
+ * The kernel's `discoverSkills` finds DIRECTORIES containing a `SKILL.md`, and
16
+ * returns `[]` for a folder of loose `.md` files — silently, because an empty
17
+ * roster is a legitimate answer to "no skills here". A command is one file, so
18
+ * that loader cannot serve this layout and would report nothing rather than
19
+ * fail. What IS reused is the part worth sharing: `parseFrontmatter`, so there
20
+ * is exactly one definition of what a `---` block means anywhere in the repo.
21
+ *
22
+ * ## Arguments
23
+ *
24
+ * `$ARGUMENTS` in the template is replaced by whatever followed the command.
25
+ * A template WITHOUT it, invoked WITH arguments, is refused rather than run —
26
+ * see `expandCommand`. Dropping them silently is the failure this file is
27
+ * written to avoid, and appending them somewhere the author did not ask for
28
+ * would be guessing where they belong.
29
+ */
30
+ export type UserCommandSource = 'user' | 'project';
31
+ export interface UserCommand {
32
+ /** Invoked as `/<name>`. The filename without `.md`. */
33
+ readonly name: string;
34
+ readonly description: string;
35
+ /** The prompt template. Empty when the file could not be read. */
36
+ readonly template: string;
37
+ readonly path: string;
38
+ readonly source: UserCommandSource;
39
+ /**
40
+ * Why this command cannot be used, when it cannot.
41
+ *
42
+ * Same contract as `SkillInfo.problem`: a file that will not parse is
43
+ * refused, but it stays listed with its reason so one bad file does not
44
+ * quietly remove the rest — and so a file the operator can see on disk is
45
+ * accounted for rather than missing.
46
+ */
47
+ readonly problem?: string;
48
+ }
49
+ /** The token a template uses to receive what followed the command. */
50
+ export declare const ARGUMENTS_TOKEN = "$ARGUMENTS";
51
+ export declare function userCommandsDir(home?: string): string;
52
+ export declare function projectCommandsDir(cwd?: string): string;
53
+ /**
54
+ * Every user-defined command, project shadowing user on a name clash.
55
+ *
56
+ * `reserved` names are dropped with a `problem` rather than allowed to win:
57
+ * a file called `help.md` must not replace `/help`, because a builtin someone
58
+ * relies on disappearing when a file appears is the worst kind of surprise —
59
+ * and silently ignoring the file would leave its author with no idea why it
60
+ * never ran.
61
+ */
62
+ export declare function discoverUserCommands(opts?: {
63
+ home?: string;
64
+ cwd?: string;
65
+ reserved?: readonly string[];
66
+ }): UserCommand[];
67
+ export type ExpandResult = {
68
+ readonly ok: true;
69
+ readonly prompt: string;
70
+ } | {
71
+ readonly ok: false;
72
+ readonly reason: string;
73
+ };
74
+ /**
75
+ * Fill a command's template with the arguments it was invoked with.
76
+ *
77
+ * Three cases, and the third is the decision worth defending:
78
+ *
79
+ * 1. Template has `$ARGUMENTS` → substituted, with `''` when none were given.
80
+ * 2. No `$ARGUMENTS`, no arguments → the template is a static prompt. Fine.
81
+ * 3. No `$ARGUMENTS`, arguments given → **refused**, naming the file and the
82
+ * fix.
83
+ *
84
+ * The third could have appended them under a heading instead, and that is
85
+ * friendlier in the moment. It was rejected because it guesses where the author
86
+ * wanted them and because the author never finds out their template ignores
87
+ * arguments. Refusing is one-time friction that teaches the contract.
88
+ *
89
+ * It is also the reversible direction: relaxing a refusal into an append later
90
+ * breaks nobody, while tightening an append into a refusal breaks everyone who
91
+ * had come to rely on it. Where a contract is hard to change, pick the one that
92
+ * can still be changed.
93
+ */
94
+ export declare function expandCommand(command: UserCommand, args: string): ExpandResult;
95
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/user-commands/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAOH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAA;AAElD,MAAM,WAAW,WAAW;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,sEAAsE;AACtE,eAAO,MAAM,eAAe,eAAe,CAAA;AAE3C,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAEtE;AAmDD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CACnC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GACtE,WAAW,EAAE,CAgBf;AAED,MAAM,MAAM,YAAY,GACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAkB9E"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * User-defined slash commands — one `.md` file per command.
3
+ *
4
+ * A command is a markdown file whose body is a prompt template:
5
+ *
6
+ * ~/.namzu/commands/<name>.md available everywhere
7
+ * <cwd>/.namzu/commands/<name>.md this project only
8
+ *
9
+ * The name is the filename without `.md`, so `review.md` is `/review`. A
10
+ * project command shadows a user command of the same name, which is the same
11
+ * precedence skills use.
12
+ *
13
+ * ## Why this is not `discoverSkills`
14
+ *
15
+ * The kernel's `discoverSkills` finds DIRECTORIES containing a `SKILL.md`, and
16
+ * returns `[]` for a folder of loose `.md` files — silently, because an empty
17
+ * roster is a legitimate answer to "no skills here". A command is one file, so
18
+ * that loader cannot serve this layout and would report nothing rather than
19
+ * fail. What IS reused is the part worth sharing: `parseFrontmatter`, so there
20
+ * is exactly one definition of what a `---` block means anywhere in the repo.
21
+ *
22
+ * ## Arguments
23
+ *
24
+ * `$ARGUMENTS` in the template is replaced by whatever followed the command.
25
+ * A template WITHOUT it, invoked WITH arguments, is refused rather than run —
26
+ * see `expandCommand`. Dropping them silently is the failure this file is
27
+ * written to avoid, and appending them somewhere the author did not ask for
28
+ * would be guessing where they belong.
29
+ */
30
+ import { readFileSync, readdirSync } from 'node:fs';
31
+ import { homedir } from 'node:os';
32
+ import { join } from 'node:path';
33
+ import { parseFrontmatter } from '@namzu/sdk';
34
+ /** The token a template uses to receive what followed the command. */
35
+ export const ARGUMENTS_TOKEN = '$ARGUMENTS';
36
+ export function userCommandsDir(home = homedir()) {
37
+ return join(home, '.namzu', 'commands');
38
+ }
39
+ export function projectCommandsDir(cwd = process.cwd()) {
40
+ return join(cwd, '.namzu', 'commands');
41
+ }
42
+ function readCommandsFrom(dir, source) {
43
+ let files;
44
+ try {
45
+ files = readdirSync(dir, { withFileTypes: true })
46
+ .filter((e) => e.isFile() && e.name.endsWith('.md'))
47
+ .map((e) => e.name);
48
+ }
49
+ catch {
50
+ // No directory is not an error: most projects define no commands.
51
+ return [];
52
+ }
53
+ const out = [];
54
+ for (const file of files) {
55
+ const path = join(dir, file);
56
+ const name = file.slice(0, -'.md'.length);
57
+ let raw;
58
+ try {
59
+ raw = readFileSync(path, 'utf8');
60
+ }
61
+ catch {
62
+ continue;
63
+ }
64
+ // Same fence-decides rule as the skill reader: a file with no `---` is
65
+ // all body, which is the common case for a command, and a file that
66
+ // opens one must parse. The absence test mirrors the kernel reader's own
67
+ // so the two cannot disagree about what counts as having frontmatter.
68
+ try {
69
+ if (!raw.trimStart().startsWith('---')) {
70
+ out.push({ name, description: '(no description)', template: raw.trim(), path, source });
71
+ continue;
72
+ }
73
+ const { values, body } = parseFrontmatter(raw, path);
74
+ const description = values.description?.kind === 'scalar' ? values.description.value : '(no description)';
75
+ out.push({ name, description, template: body, path, source });
76
+ }
77
+ catch (err) {
78
+ out.push({
79
+ name,
80
+ description: '(could not be read)',
81
+ template: '',
82
+ path,
83
+ source,
84
+ problem: err instanceof Error ? err.message : String(err),
85
+ });
86
+ }
87
+ }
88
+ return out;
89
+ }
90
+ /**
91
+ * Every user-defined command, project shadowing user on a name clash.
92
+ *
93
+ * `reserved` names are dropped with a `problem` rather than allowed to win:
94
+ * a file called `help.md` must not replace `/help`, because a builtin someone
95
+ * relies on disappearing when a file appears is the worst kind of surprise —
96
+ * and silently ignoring the file would leave its author with no idea why it
97
+ * never ran.
98
+ */
99
+ export function discoverUserCommands(opts = {}) {
100
+ const reserved = new Set(opts.reserved ?? []);
101
+ const user = readCommandsFrom(userCommandsDir(opts.home), 'user');
102
+ const project = readCommandsFrom(projectCommandsDir(opts.cwd), 'project');
103
+ const byName = new Map();
104
+ for (const c of user)
105
+ byName.set(c.name, c);
106
+ for (const c of project)
107
+ byName.set(c.name, c); // project wins
108
+ return [...byName.values()]
109
+ .map((c) => reserved.has(c.name)
110
+ ? { ...c, problem: `"/${c.name}" is a built-in command, so this file is not used.` }
111
+ : c)
112
+ .sort((a, b) => a.name.localeCompare(b.name));
113
+ }
114
+ /**
115
+ * Fill a command's template with the arguments it was invoked with.
116
+ *
117
+ * Three cases, and the third is the decision worth defending:
118
+ *
119
+ * 1. Template has `$ARGUMENTS` → substituted, with `''` when none were given.
120
+ * 2. No `$ARGUMENTS`, no arguments → the template is a static prompt. Fine.
121
+ * 3. No `$ARGUMENTS`, arguments given → **refused**, naming the file and the
122
+ * fix.
123
+ *
124
+ * The third could have appended them under a heading instead, and that is
125
+ * friendlier in the moment. It was rejected because it guesses where the author
126
+ * wanted them and because the author never finds out their template ignores
127
+ * arguments. Refusing is one-time friction that teaches the contract.
128
+ *
129
+ * It is also the reversible direction: relaxing a refusal into an append later
130
+ * breaks nobody, while tightening an append into a refusal breaks everyone who
131
+ * had come to rely on it. Where a contract is hard to change, pick the one that
132
+ * can still be changed.
133
+ */
134
+ export function expandCommand(command, args) {
135
+ if (command.problem)
136
+ return { ok: false, reason: command.problem };
137
+ const trimmed = args.trim();
138
+ if (command.template.includes(ARGUMENTS_TOKEN)) {
139
+ return { ok: true, prompt: command.template.split(ARGUMENTS_TOKEN).join(trimmed) };
140
+ }
141
+ if (trimmed.length === 0)
142
+ return { ok: true, prompt: command.template };
143
+ return {
144
+ ok: false,
145
+ reason: [
146
+ `/${command.name} takes no arguments, but you gave: ${trimmed}`,
147
+ '',
148
+ `Add ${ARGUMENTS_TOKEN} where they belong in ${command.path}, and they will be`,
149
+ 'substituted there. Running it now would silently discard them.',
150
+ ].join('\n'),
151
+ };
152
+ }
153
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/user-commands/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAuB7C,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAA;AAE3C,MAAM,UAAU,eAAe,CAAC,OAAe,OAAO,EAAE;IACvD,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC7D,OAAO,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW,EAAE,MAAyB;IAC/D,IAAI,KAAe,CAAA;IACnB,IAAI,CAAC;QACJ,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACnD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAAC,MAAM,CAAC;QACR,kEAAkE;QAClE,OAAO,EAAE,CAAA;IACV,CAAC;IAED,MAAM,GAAG,GAAkB,EAAE,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,GAAW,CAAA;QACf,IAAI,CAAC;YACJ,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACjC,CAAC;QAAC,MAAM,CAAC;YACR,SAAQ;QACT,CAAC;QAED,uEAAuE;QACvE,oEAAoE;QACpE,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;gBACvF,SAAQ;YACT,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACpD,MAAM,WAAW,GAChB,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAA;YACtF,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC;gBACR,IAAI;gBACJ,WAAW,EAAE,qBAAqB;gBAClC,QAAQ,EAAE,EAAE;gBACZ,IAAI;gBACJ,MAAM;gBACN,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACzD,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CACnC,OAAsE,EAAE;IAExE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;IACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;IAEzE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC7C,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3C,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,eAAe;IAE9D,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACV,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACnB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,oDAAoD,EAAE;QACpF,CAAC,CAAC,CAAC,CACJ;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/C,CAAC;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,aAAa,CAAC,OAAoB,EAAE,IAAY;IAC/D,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;IAElE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;IACnF,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAA;IAEvE,OAAO;QACN,EAAE,EAAE,KAAK;QACT,MAAM,EAAE;YACP,IAAI,OAAO,CAAC,IAAI,sCAAsC,OAAO,EAAE;YAC/D,EAAE;YACF,OAAO,eAAe,yBAAyB,OAAO,CAAC,IAAI,oBAAoB;YAC/E,gEAAgE;SAChE,CAAC,IAAI,CAAC,IAAI,CAAC;KACZ,CAAA;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/cli",
3
- "version": "2.2.0",
3
+ "version": "2.4.0",
4
4
  "description": "Operator CLI for the Namzu agent platform — namzu doctor + future commands. Dual-purpose: standalone bin (`namzu doctor`) and library (`import { runDoctor } from '@namzu/cli'`).",
5
5
  "keywords": [
6
6
  "namzu",
@@ -46,8 +46,8 @@
46
46
  "yaml": "^2.9.0",
47
47
  "@namzu/anthropic": "3.1.1",
48
48
  "@namzu/ollama": "2.0.1",
49
- "@namzu/openai": "1.1.1",
50
49
  "@namzu/openrouter": "2.0.1",
50
+ "@namzu/openai": "1.1.1",
51
51
  "@namzu/sdk": "^15.1.0"
52
52
  },
53
53
  "devDependencies": {