@namzu/cli 2.1.1 → 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":"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"}
@@ -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,2CAyxBpC"}
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');
@@ -212,6 +225,8 @@ export function App({ ctx }) {
212
225
  rules: ctx.rules ?? [],
213
226
  },
214
227
  agentIds: session?.agentIds ?? [],
228
+ instructionFiles: session?.instructionFiles ?? [],
229
+ userCommands,
215
230
  };
216
231
  // `/resume`: open the picker with this folder's recent conversations.
217
232
  const doResume = useCallback(async () => {
@@ -439,6 +454,11 @@ export function App({ ctx }) {
439
454
  }, [activeSkills, applyEvent, ctx.cwd, ctx.skipPermissions, finalizeMessage, messages, onPermission, pushMessage, session]);
440
455
  const handleSubmit = useCallback((value, images) => {
441
456
  setHistory((prev) => [...prev, value]);
457
+ // What actually gets sent. A `prompt` action replaces it with text the
458
+ // command composed, and then takes the ordinary send path below —
459
+ // including the queue — so a command-driven turn is not a second way
460
+ // to run one.
461
+ let outgoing = value;
442
462
  const slash = runSlash(value, slashCtx);
443
463
  if (slash) {
444
464
  switch (slash.kind) {
@@ -480,7 +500,13 @@ export function App({ ctx }) {
480
500
  return;
481
501
  }
482
502
  const activeNames = new Set(activeSkills.map((s) => s.name));
483
- 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}`);
484
510
  pushMessage('system', `Skills (● active):\n ${lines.join('\n ')}`);
485
511
  return;
486
512
  }
@@ -506,6 +532,12 @@ export function App({ ctx }) {
506
532
  case 'resume':
507
533
  void doResume();
508
534
  return;
535
+ case 'prompt':
536
+ // Deliberately does NOT return: the composed text falls
537
+ // through to the same queue-or-send below that a typed
538
+ // message takes.
539
+ outgoing = slash.text;
540
+ break;
509
541
  case 'none':
510
542
  return;
511
543
  }
@@ -513,10 +545,10 @@ export function App({ ctx }) {
513
545
  // A turn is in flight → queue the message; it auto-sends when idle.
514
546
  // (Queued messages are text-only; pasted images aren't carried.)
515
547
  if (state !== 'idle') {
516
- setQueued((q) => [...q, value]);
548
+ setQueued((q) => [...q, outgoing]);
517
549
  return;
518
550
  }
519
- void runTurn(value, images);
551
+ void runTurn(outgoing, images);
520
552
  }, [activeSkills, doResume, exit, pushMessage, runTurn, slashCtx, state]);
521
553
  // Drain the queue: when a turn settles (idle) and nothing is running,
522
554
  // send the next queued message automatically.
@@ -643,7 +675,7 @@ export function App({ ctx }) {
643
675
  // Background is left natural — we inherit the terminal's own background
644
676
  // and only theme the foreground. Forcing
645
677
  // a filled bg left mismatched patches around bordered areas, so we don't.
646
- 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 }) })] })] }));
647
679
  }
648
680
  function Banner({ version, session, bypass, cwd, }) {
649
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":";AAcA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhE,OAAO,EAIN,gBAAgB,GAChB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAmB,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAGN,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,GACjB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAMN,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAoB,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,EAAE,cAAc,EAAqB,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAgBlC,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,EAAY;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAA;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA+B,EAAE,CAAC,CAAA;IAC1E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAuD,MAAM,CAAC,CAAA;IAChG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAiB,SAAS,CAAC,CAAA;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAA;IACjE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA8B,EAAE,CAAC,CAAA;IACzE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAoB,IAAI,CAAC,CAAA;IAC/E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA2B,IAAI,CAAC,CAAA;IAC5E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC/C,EAAE,CACF,CAAA;IACD,qEAAqE;IACrE,6EAA6E;IAC7E,uEAAuE;IACvE,0DAA0D;IAC1D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC,CAAA;IAC5E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAkD,IAAI,CAAC,CAAA;IACzF,uEAAuE;IACvE,qEAAqE;IACrE,uDAAuD;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAChE,0EAA0E;IAC1E,4DAA4D;IAC5D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAwB,EAAE,CAAC,CAAA;IACzE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IACxD,uEAAuE;IACvE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAA;IACnD,sEAAsE;IACtE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAA;IAC3D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgC,EAAE,CAAC,CAAA;IAC/E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAA;IAC/D,MAAM,YAAY,GAAG,MAAM,CAAU,KAAK,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAA;IACrD;;;;OAIG;IACH,MAAM,kBAAkB,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IAC5D,8EAA8E;IAC9E,qEAAqE;IACrE,MAAM,cAAc,GAAG,MAAM,CAAyB,EAAE,CAAC,CAAA;IACzD,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,cAAc,CAAC,OAAO,GAAG,EAAE,CAAA;QAC3B,cAAc,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,MAAM,oBAAoB,GAAG,MAAM,CAA2C,IAAI,CAAC,CAAA;IACnF,6EAA6E;IAC7E,6EAA6E;IAC7E,+CAA+C;IAC/C,MAAM,WAAW,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAS,CAAC,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;QAClB,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAA;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACtE,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,WAAW,GAAG,WAAW,CAC9B,CACC,IAA+B,EAC/B,OAAe,EACf,OAAO,GAAG,KAAK,EACf,KAAc,EACd,MAA0B,EAC1B,UAAmB,EACnB,IAAa,EACZ,EAAE;QACH,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;QACnB,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACrB,GAAG,IAAI;YACP,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;SAC/D,CAAC,CAAA;QACF,OAAO,EAAE,CAAA;IACV,CAAC,EACD,CAAC,MAAM,CAAC,CACR,CAAA;IAED,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,KAAa,EAAE,EAAE;QACjE,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjG,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,YAAqB,EAAE,EAAE;QACzE,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAC9E,CACD,CAAA;IACF,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,IAAmC,EAAE;QAC5E,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAA;QAC7C,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5C,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YACnD,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAA;YAC9B,QAAQ,CAAC,OAAO,GAAG;gBAClB,SAAS;gBACT,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC3B,CAAA;YACD,OAAO,QAAQ,CAAC,OAAO,CAAA;QACxB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,SAAS,CAAA;QACjB,CAAC;IACF,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAEb,MAAM,cAAc,GAAG,WAAW,CACjC,KAAK,EAAE,KAAkB,EAAE,WAAwC,EAAE,EAAE;QACtE,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE;YACtD,KAAK;YACL,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAA;QACF,uEAAuE;QACvE,sEAAsE;QACtE,kCAAkC;QAClC,KAAK,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;QACxC,kBAAkB,CAAC,OAAO,GAAG,CAAC,CAAA;QAC9B,UAAU,CAAC,CAAC,CAAC,CAAA;QACb,eAAe,CACd,oBAAoB,CAAC;YACpB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,iEAAiE;YACjE,iEAAiE;YACjE,8DAA8D;YAC9D,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAC3C,CAAC,CACF,CAAA;QACD,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACnB,QAAQ,CAAC,OAAO,CAAC,CAAA;YACjB,WAAW,CACV,QAAQ,EACR,gBAAgB,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,QAAQ,CAChH,CAAA;YACD,oEAAoE;YACpE,gEAAgE;YAChE,mEAAmE;YACnE,8DAA8D;YAC9D,sCAAsC;YACtC,IAAI,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,WAAW,CACV,QAAQ,EACR,yBAAyB,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9F,CAAA;YACF,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,uBAAuB,EAAE,CAAC;gBAC9C,WAAW,CACV,QAAQ,EACR,WAAW,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CACtE,CAAA;YACF,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;gBACrC,WAAW,CAAC,QAAQ,EAAE,eAAe,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,QAAQ,CAAC,CAAA;YAChF,CAAC;YACD,oEAAoE;YACpE,qEAAqE;YACrE,0DAA0D;YAC1D,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAClC,WAAW,CAAC,QAAQ,EAAE,eAAe,MAAM,CAAC,IAAI,sBAAsB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YACvF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,QAAQ,CAAC,WAAW,CAAC,CAAA;YACrB,IAAI,CAAC,CAAC,SAAS;gBAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;QACpD,CAAC;IACF,CAAC,EACD,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CACjC,CAAA;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAA;YACvC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC3B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBAC9C,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBAClB,OAAM;YACP,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvB,MAAM,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACvD,OAAM;YACP,CAAC;YACD,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,QAAQ,CAAC,WAAW,CAAC,CAAA;YACrB,WAAW,CACV,QAAQ,EACR,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7E,CAAA;QACF,CAAC;IACF,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;IAEjC,0EAA0E;IAC1E,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,QAAQ,EAAE,CAAA;QAChB,CAAC;aAAM,CAAC;YACP,QAAQ,CAAC,OAAO,CAAC,CAAA;QAClB,CAAC;IACF,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEvB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC;YACJ,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;QAAC,MAAM,CAAC;YACR,iEAAiE;QAClE,CAAC;QACD,QAAQ,CAAC,SAAS,CAAC,CAAA;QACnB,KAAK,QAAQ,EAAE,CAAA;IAChB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEvB,MAAM,QAAQ,GAAiB;QAC9B,cAAc,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;QACxC,eAAe,EAAE,OAAO,EAAE,eAAe,IAAI,IAAI;QACjD,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI;QAC3C,yEAAyE;QACzE,4CAA4C;QAC5C,KAAK;QACL,WAAW,EAAE;YACZ,eAAe,EAAE,GAAG,CAAC,eAAe,KAAK,IAAI;YAC7C,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;SACtB;QACD,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE;QACjC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,EAAE;QACjD,YAAY;KACZ,CAAA;IAED,sEAAsE;IACtE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,MAAM,cAAc,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;QACrF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,WAAW,CAAC,QAAQ,EAAE,qDAAqD,CAAC,CAAA;YAC5E,OAAM;QACP,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAA;YACzC,4DAA4D;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YACzE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,WAAW,CAAC,QAAQ,EAAE,qDAAqD,CAAC,CAAA;gBAC5E,OAAM;YACP,CAAC;YACD,aAAa,CAAC,MAAM,CAAC,CAAA;YACrB,iBAAiB,CAAC,CAAC,CAAC,CAAA;YACpB,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,WAAW,CAAC,QAAQ,EAAE,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC3G,CAAC;IACF,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;IAEjC,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,WAAW,CACrC,KAAK,EAAE,IAAwB,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAA;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC9B,QAAQ,CAAC,OAAO,CAAC,CAAA;QACjB,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;YAAE,OAAM;QAC/B,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YACtD,MAAM,QAAQ,GAAwB,IAAI;iBACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;iBAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACZ,EAAE,EAAE,MAAM,EAAE;gBACZ,IAAI,EAAE,CAAC,CAAC,IAA4B;gBACpC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;aACvD,CAAC,CAAC,CAAA;YACJ,eAAe,EAAE,CAAA;YACjB,WAAW,CAAC,QAAQ,CAAC,CAAA;YACrB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAA,CAAC,iDAAiD;YAC3E,WAAW,CAAC,QAAQ,EAAE,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/F,CAAC;IACF,CAAC,EACD,CAAC,MAAM,EAAE,WAAW,CAAC,CACrB,CAAA;IAED,wEAAwE;IACxE,iDAAiD;IACjD,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,QAA4B,EAAE,EAAE;QACtE,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAA;QAC5C,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAA;QACnC,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,IAAI,OAAO;YAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,YAAY,GAAG,WAAW,CAC/B,CAAC,GAAsB,EAAE,EAAE,CAC1B,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,EAAE;QAC3C,oBAAoB,CAAC,OAAO,GAAG,OAAO,CAAA;QACtC,aAAa,CAAC,GAAG,CAAC,CAAA;QAClB,QAAQ,CAAC,qBAAqB,CAAC,CAAA;IAChC,CAAC,CAAC,EACH,EAAE,CACF,CAAA;IAED,4EAA4E;IAC5E,wEAAwE;IACxE,2EAA2E;IAC3E,+BAA+B;IAC/B,MAAM,UAAU,GAAG,WAAW,CAC7B,CAAC,KAAiB,EAAE,EAAgD,EAAE,EAAE;QACvE,MAAM,eAAe,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC,EAAE,CAAC,WAAW;gBAAE,EAAE,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;YACxE,OAAO,EAAE,CAAC,WAAW,CAAA;QACtB,CAAC,CAAA;QACD,MAAM,cAAc,GAAG,GAAG,EAAE;YAC3B,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACpB,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;gBAC/B,EAAE,CAAC,WAAW,GAAG,IAAI,CAAA;YACtB,CAAC;QACF,CAAC,CAAA;QACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,OAAO;gBACX,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACpB,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAA;gBACrB,eAAe,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC9C,MAAK;YACN,KAAK,YAAY,CAAC,CAAC,CAAC;gBACnB,cAAc,EAAE,CAAA;gBAChB,QAAQ,CAAC,MAAM,CAAC,CAAA;gBAChB,MAAM,IAAI,GAAgB;oBACzB,EAAE,EAAE,KAAK,CAAC,SAAS;oBACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;oBACpD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACpB,CAAA;gBACD,cAAc,CAAC,OAAO,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAC1D,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;gBACtC,MAAK;YACN,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAA;gBACtC,6DAA6D;gBAC7D,4DAA4D;gBAC5D,yDAAyD;gBACzD,2DAA2D;gBAC3D,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;gBAC5D,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC5C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACZ,cAAc,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBAC1E,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;gBACvC,CAAC;gBACD,WAAW,CACV,MAAM,EACN,IAAI,EAAE,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAC5D,KAAK,EACL,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EACpD,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAC7D,CAAA;gBACD,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClF,WAAW,CACV,MAAM,EACN,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAC1D,KAAK,EACL,GAAG,EACH,KAAK,CAAC,MAAM,CACZ,CAAA;gBACF,CAAC;gBACD,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;gBACjE,MAAK;YACN,CAAC;YACD,KAAK,OAAO;gBACX,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;gBACpE,8DAA8D;gBAC9D,+DAA+D;gBAC/D,8DAA8D;gBAC9D,0CAA0C;gBAC1C,UAAU,CAAC;oBACV,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7E,GAAG,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS;wBAC1C,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,mBAAmB,EAAE;wBAC7C,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS;wBACxC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,iBAAiB,EAAE;wBACzC,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjF,CAAC,CAAA;gBACF,MAAK;YACN,KAAK,MAAM;gBACV,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACnF,MAAK;YACN,KAAK,SAAS;gBACb,gEAAgE;gBAChE,6DAA6D;gBAC7D,+DAA+D;gBAC/D,0DAA0D;gBAC1D,0CAA0C;gBAC1C,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBAChE,MAAK;YACN,KAAK,MAAM;gBACV,cAAc,EAAE,CAAA;gBAChB,MAAK;YACN,KAAK,OAAO;gBACX,cAAc,EAAE,CAAA;gBAChB,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;oBAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;gBACjF,MAAK;QACP,CAAC;IACF,CAAC,EACD,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,CAAC,CAC/C,CAAA;IAED,MAAM,OAAO,GAAG,WAAW,CAC1B,KAAK,EAAE,IAAY,EAAE,MAAmC,EAAE,EAAE;QAC3D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACtC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,4CAA4C,CAAC,CAAA;YACzF,OAAM;QACP,CAAC;QACD,sEAAsE;QACtE,gDAAgD;QAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAChE,MAAM,WAAW,GAAc,QAAQ;aACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;aAC1E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,CAAC,CAAC,IAA4B;YACpC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC,CAAC,CAAA;QACJ,WAAW,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAA;QAEF,MAAM,SAAS,GAAa,EAAE,CAAA;QAC9B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,QAAQ,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;QACpF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACxE,WAAW,CACV,MAAM,EACN,IAAI,EACJ,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CACxD,CAAA;QACD,QAAQ,CAAC,UAAU,CAAC,CAAA;QACpB,2EAA2E;QAC3E,6BAA6B;QAC7B,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;QAC3D,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAA;QAChC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;gBACnD,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,kEAAkE;gBAClE,yDAAyD;gBACzD,YAAY,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;gBAC5D,WAAW,EAAE,mBAAmB,CAAC,YAAY,CAAC,IAAI,SAAS;aAC3D,CAAC,EAAE,CAAC;gBACJ,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YACtB,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,EAAE,CAAC,WAAW;gBAAE,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;YACnD,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACpF,CAAC;gBAAS,CAAC;YACV,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;YACvB,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAA;YACnC,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,gBAAgB,EAAE,CAAA;YAClB,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChB,oEAAoE;YACpE,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAA;YACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;YAC9B,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;gBACjD,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;gBACzE,KAAK,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YACrE,CAAC;QACF,CAAC;IACF,CAAC,EACD,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CACvH,CAAA;IAED,MAAM,YAAY,GAAG,WAAW,CAC/B,CAAC,KAAa,EAAE,MAAmC,EAAE,EAAE;QACtD,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;QACtC,uEAAuE;QACvE,kEAAkE;QAClE,qEAAqE;QACrE,cAAc;QACd,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACvC,IAAI,KAAK,EAAE,CAAC;YACX,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,SAAS;oBACb,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;oBACtC,OAAM;gBACP,KAAK,OAAO;oBACX,WAAW,CAAC,EAAE,CAAC,CAAA;oBACf,eAAe,EAAE,CAAA;oBACjB,OAAM;gBACP,KAAK,MAAM;oBACV,IAAI,EAAE,CAAA;oBACN,OAAM;gBACP,KAAK,QAAQ;oBACZ,QAAQ,CAAC,QAAQ,CAAC,CAAA;oBAClB,OAAM;gBACP,KAAK,UAAU;oBACd,IAAI,CAAC;wBACJ,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBACxB,WAAW,CAAC,QAAQ,EAAE,eAAe,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;oBACnD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACd,WAAW,CACV,QAAQ,EACR,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5E,CAAA;oBACF,CAAC;oBACD,OAAM;gBACP,KAAK,aAAa,CAAC,CAAC,CAAC;oBACpB,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAA;oBAC7C,WAAW,CACV,QAAQ,EACR,GAAG,IAAI,2EAA2E,CAClF,CAAA;oBACD,OAAM;gBACP,CAAC;gBACD,KAAK,aAAa,CAAC,CAAC,CAAC;oBACpB,wDAAwD;oBACxD,+DAA+D;oBAC/D,gEAAgE;oBAChE,2BAA2B;oBAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;oBAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,WAAW,CACV,QAAQ,EACR,0FAA0F,CAC1F,CAAA;wBACD,OAAM;oBACP,CAAC;oBACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;oBAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC9B,+DAA+D;oBAC/D,6DAA6D;oBAC7D,kCAAkC;oBAClC,CAAC,CAAC,OAAO;wBACR,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE;wBAC9B,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CACzE,CAAA;oBACD,WAAW,CAAC,QAAQ,EAAE,yBAAyB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACpE,OAAM;gBACP,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBACnB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;oBAChF,IAAI,CAAC,IAAI,EAAE,CAAC;wBACX,WAAW,CAAC,QAAQ,EAAE,mBAAmB,KAAK,CAAC,IAAI,iBAAiB,CAAC,CAAA;wBACrE,OAAM;oBACP,CAAC;oBACD,IAAI,CAAC;wBACJ,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;wBAChC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;4BACzB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;4BAC3C,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;yBACzB,CAAC,CAAA;wBACF,WAAW,CAAC,QAAQ,EAAE,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;oBACvD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACd,WAAW,CACV,QAAQ,EACR,yBAAyB,KAAK,CAAC,IAAI,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3F,CAAA;oBACF,CAAC;oBACD,OAAM;gBACP,CAAC;gBACD,KAAK,QAAQ;oBACZ,KAAK,QAAQ,EAAE,CAAA;oBACf,OAAM;gBACP,KAAK,QAAQ;oBACZ,wDAAwD;oBACxD,uDAAuD;oBACvD,iBAAiB;oBACjB,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAA;oBACrB,MAAK;gBACN,KAAK,MAAM;oBACV,OAAM;YACR,CAAC;QACF,CAAC;QACD,oEAAoE;QACpE,iEAAiE;QACjE,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACtB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;YAClC,OAAM;QACP,CAAC;QACD,KAAK,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC/B,CAAC,EACD,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CACrE,CAAA;IAED,sEAAsE;IACtE,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAM;QAC5F,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAA;QAC9B,SAAS,CAAC,IAAI,CAAC,CAAA;QACf,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnC,mCAAmC;IACnC,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACtC,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,KAAK,KAAK,OAAO,IAAI,gBAAgB,CAAC,OAAO;YAAE,OAAM;QACzD,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAA;QAC/B,KAAK,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;YACpF,WAAW,CAAC,QAAQ,EAAE,wBAAwB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;IAErC,MAAM,kBAAkB,GAAG,WAAW,CACrC,CAAC,SAA+C,EAAE,EAAE;QACnD,MAAM,KAAK,GAAgB;YAC1B,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,SAAS,CAAC,QAAsB;YAC1C,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SACzB,CAAA;QACD,IAAI,CAAC;YACJ,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,WAAW,CACV,QAAQ,EACR,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjF,CAAA;YACD,OAAM;QACP,CAAC;QACD,KAAK,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC,EACD,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CACvC,CAAA;IAED,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,QAAQ,CAAC,WAAW,CAAC,CAAA;QACrB,WAAW,CACV,QAAQ,EACR,qIAAqI,CACrI,CAAA;IACF,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,QAAQ,CACP,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACd,8CAA8C;QAC9C,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,OAAO;gBAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;iBACxD,IAAI,GAAG,CAAC,SAAS;gBAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;iBACnF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;gBACvC,IAAI,IAAI;oBAAE,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;YACxC,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC;gBAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;YACvE,OAAM;QACP,CAAC;QACD,uEAAuE;QACvE,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;YAC9B,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM;gBAAE,WAAW,EAAE,CAAA;iBACtC,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC;gBAAE,IAAI,EAAE,CAAA;YACxE,OAAM;QACP,CAAC;QACD,kEAAkE;QAClE,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;YAC9B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE,CAAC;gBACrD,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAA;gBACpE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;gBACzB,OAAM;YACP,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM;gBAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;iBAC/D,IAAI,EAAE,KAAK,GAAG;gBAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;iBAC1D,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM;gBAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YACxE,OAAM;QACP,CAAC;QACD,0EAA0E;QAC1E,6EAA6E;QAC7E,IAAI,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;YACxB,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;YACvB,SAAS,CAAC,EAAE,CAAC,CAAA;YACb,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;YACrC,OAAM;QACP,CAAC;QACD,6DAA6D;QAC7D,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC/B,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACtB,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE,CAAC;YACrD,6DAA6D;YAC7D,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;gBACxB,2DAA2D;gBAC3D,kEAAkE;gBAClE,qEAAqE;gBACrE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;gBACvB,SAAS,CAAC,EAAE,CAAC,CAAA;gBACb,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;gBACrC,OAAM;YACP,CAAC;YACD,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,EAAE,CAAA;gBACN,OAAM;YACP,CAAC;YACD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAA;YAC3B,WAAW,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAA;YACpD,UAAU,CAAC,GAAG,EAAE;gBACf,YAAY,CAAC,OAAO,GAAG,KAAK,CAAA;YAC7B,CAAC,EAAE,IAAI,CAAC,CAAA;QACT,CAAC;IACF,CAAC,EACD,EAAE,QAAQ,EAAE,KAAK,KAAK,QAAQ,EAAE,CAChC,CAAA;IAED,wEAAwE;IACxE,yCAAyC;IACzC,0EAA0E;IAC1E,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAMzB,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CACpB,KAAC,MAAM,IACN,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,GAAG,CAAC,eAAe,KAAK,IAAI,EACpC,GAAG,EAAE,GAAG,CAAC,GAAG,GACX,CACF,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CACpB,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAI,CAC7B,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CACxB,KAAC,YAAY,IAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,GAAI,CACrE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CACxB,KAAC,MAAM,IACN,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,kBAAkB,GAC3B,CACF,CAAC,CAAC,CAAC,CACH,8BACC,KAAC,eAAe,cACf,KAAC,UAAU,IACV,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAC5C,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,EAChD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EACL,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CACnB,KAAC,MAAM,IACN,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,GAAG,CAAC,eAAe,KAAK,IAAI,EACpC,GAAG,EAAE,GAAG,CAAC,GAAG,GACX,CACF,CAAC,CAAC,CAAC,SAAS,GAEb,GACe,EAClB,KAAC,YAAY,IACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,KAAK,KAAK,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GACjE,EACD,UAAU,CAAC,CAAC,CAAC,CACb,KAAC,iBAAiB,IAAC,SAAS,EAAE,UAAU,CAAC,SAAS,GAAI,CACtD,CAAC,CAAC,CAAC,CACH,MAAC,aAAa,IAAC,KAAK,EAAE,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,aACzD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACpB,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,wBACzB,MAAM,CAAC,MAAM,cAAU,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,yCAEhD,GACF,CACN,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,QAAQ,IACR,QAAQ,EAAE,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,qBAAqB,EAC9D,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,GACf,IACa,CAChB,IACC,CACH,EACD,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,KAAC,SAAS,IACT,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,QAAQ,EAAE,OAAO,EAAE,eAAe,IAAI,IAAI,EAC1C,KAAK,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,EACpC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAChC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,GACf,GACG,IACD,IACD,CACN,CAAA;AACF,CAAC;AAED,SAAS,MAAM,CAAC,EACf,OAAO,EACP,OAAO,EACP,MAAM,EACN,GAAG,GAMH;IACA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IACzC,MAAM,IAAI,GAAG,IAAI,IAAI,wBAAwB,CAAA;IAC7C,MAAM,QAAQ,GAAG,OAAO,EAAE,eAAe,CAAA;IACzC,MAAM,KAAK,GAAG,OAAO,EAAE,YAAY,CAAA;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA;IAC7B,MAAM,SAAS,GAAG,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IACnF,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,aACvE,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,IAAI,CAAC,CAAC,CAAC,CACP,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,YACxC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAChC,KAAC,IAAI,IAAiB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,EAAE,IAAI,kBAC3D,IAAI,IADK,MAAM,CAAC,EAAE,CAEb,CACP,CAAC,GACG,CACN,CAAC,CAAC,CAAC,CACH,MAAC,IAAI,IAAC,KAAK,EAAE,gBAAgB,aAAG,UAAU,SAAS,CACnD,EAED,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAClD,MAAC,IAAI,eACJ,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,yBAAiB,EAGjD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,MAAC,IAAI,IAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,mBACjC,GAAG,aAEE,CACP,EACD,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,mBAAK,OAAO,IAAQ,IAC3C,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,YAC/B,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,4BAA4B,GAC/E,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAAG,SAAS,GAAQ,IAC5C,IACD,EACL,MAAM,CAAC,CAAC,CAAC,CACT,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YAChB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,gFAE9B,GACF,CACN,CAAC,CAAC,CAAC,IAAI,IACH,CACN,CAAA;AACF,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,QAAQ,EAA0C;IAC5E,0EAA0E;IAC1E,OAAO,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YAAE,QAAQ,GAAO,CAAA;AACpD,CAAC;AAED,SAAS,aAAa,CAAC,EACtB,KAAK,EACL,QAAQ,GAIR;IACA,yEAAyE;IACzE,kEAAkE;IAClE,OAAO,CACN,KAAC,GAAG,IACH,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,SAAS,EAAE,IAAI,EACf,YAAY,EAAE,IAAI,EAClB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAC9D,SAAS,EAAE,CAAC,YAEX,QAAQ,GACJ,CACN,CAAA;AACF,CAAC;AAED,wEAAwE;AACxE,+EAA+E;AAC/E,wDAAwD;AACxD,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAe;IACxD,MAAM,OAAO,GACZ,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IAChF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA;AAC/D,CAAC;AAED,SAAS,YAAY,CACpB,KAAqB,EACrB,KAA2D;IAE3D,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,8BAA8B,CAAA;IAC5D,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,yCAAyC,CAAA;IACxE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,wBAAwB,CAAA;IACxD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,yCAAyC,CAAA;IACxE,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,mBAAmB,CAAA;IACrD,IAAI,KAAK,KAAK,qBAAqB;QAAE,OAAO,sCAAsC,CAAA;IAClF,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,qCAAqC,CAAA;IAClE,OAAO,sDAAsD,CAAA;AAC9D,CAAC"}
@@ -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":"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"}
@@ -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';
@@ -36,6 +37,18 @@ export type SlashAction = {
36
37
  name: string;
37
38
  } | {
38
39
  kind: 'resume';
40
+ }
41
+ /**
42
+ * Drive a turn with text the command composed rather than the user typed.
43
+ *
44
+ * The kernel already does the work — reading the tree, writing the file —
45
+ * so a command that needs the agent asks it, instead of the CLI growing a
46
+ * second way to inspect a repository that would then disagree with the one
47
+ * the model uses.
48
+ */
49
+ | {
50
+ kind: 'prompt';
51
+ text: string;
39
52
  } | {
40
53
  kind: 'none';
41
54
  };
@@ -66,6 +79,23 @@ export interface SlashContext {
66
79
  * is not mounted.
67
80
  */
68
81
  readonly agentIds: readonly string[];
82
+ /**
83
+ * Absolute paths of the project-instruction files already in this session's
84
+ * system prompt.
85
+ *
86
+ * `/init` reads it to tell "this project has never been described" from
87
+ * "one exists and you are about to be asked to rewrite it", which are
88
+ * different requests and want different prompts. The session already
89
+ * reports this; nothing new is discovered to answer it.
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[];
69
99
  }
70
100
  export interface SlashCommand {
71
101
  readonly name: string;
@@ -82,10 +112,25 @@ export interface ParsedSlash {
82
112
  * once a space is typed (the user has moved on to arguments) or the value
83
113
  * isn't a slash command, so the dropdown only shows while picking a name.
84
114
  */
85
- export declare function matchSlashCommands(value: string): SlashCommand[];
115
+ export declare function matchSlashCommands(value: string, userCommands?: readonly UserCommand[]): SlashCommand[];
86
116
  /** Returns null when the line is not a slash command. */
87
117
  export declare function parseSlash(line: string): ParsedSlash | null;
88
118
  export declare const SLASH_COMMANDS: readonly SlashCommand[];
119
+ /**
120
+ * The instruction `/init` sends as a turn.
121
+ *
122
+ * Written as a prompt rather than a template the CLI fills in, because the
123
+ * useful half of this file is what a reader could not guess from the tree —
124
+ * the commands that actually work here, the layout that is deliberate — and
125
+ * only something that has read the repository can say that. A CLI-side
126
+ * generator would produce a directory listing with headings on it.
127
+ *
128
+ * The instruction it opens with is the one that matters: an `AGENTS.md` full of
129
+ * invented conventions is worse than none, because the next agent obeys it. So
130
+ * the prompt asks for verification against the tree and for omission over
131
+ * invention, in those words.
132
+ */
133
+ export declare function initPrompt(instructionFiles: readonly string[]): string;
89
134
  /**
90
135
  * Spend, stated as spend.
91
136
  *
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommands.d.ts","sourceRoot":"","sources":["../../src/tui/slashCommands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,MAAM,WAAW,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnB,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACjF,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE;QACrB,mDAAmD;QACnD,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;QACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAA;KAC3C,CAAA;IACD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,WAAW,CAAA;CAC5E;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAKhE;AAED,yDAAyD;AACzD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAM3D;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EA4GjD,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAc/D;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,MAAM,CA2BlF;AAQD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAYhE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI,CAY5E"}
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',
@@ -142,7 +163,68 @@ export const SLASH_COMMANDS = [
142
163
  description: 'List the delegates this session can dispatch to.',
143
164
  action: (ctx) => ({ kind: 'message', role: 'system', content: renderAgents(ctx.agentIds) }),
144
165
  },
166
+ {
167
+ name: 'init',
168
+ description: 'Write an AGENTS.md describing this project to future agents.',
169
+ action: (ctx) => {
170
+ if (!ctx.providerSummary) {
171
+ return {
172
+ kind: 'message',
173
+ role: 'system',
174
+ content: '/init asks the agent to read this repository and write the file, so it needs a provider. Run /model to pick one.',
175
+ };
176
+ }
177
+ return { kind: 'prompt', text: initPrompt(ctx.instructionFiles) };
178
+ },
179
+ },
145
180
  ];
181
+ /**
182
+ * The instruction `/init` sends as a turn.
183
+ *
184
+ * Written as a prompt rather than a template the CLI fills in, because the
185
+ * useful half of this file is what a reader could not guess from the tree —
186
+ * the commands that actually work here, the layout that is deliberate — and
187
+ * only something that has read the repository can say that. A CLI-side
188
+ * generator would produce a directory listing with headings on it.
189
+ *
190
+ * The instruction it opens with is the one that matters: an `AGENTS.md` full of
191
+ * invented conventions is worse than none, because the next agent obeys it. So
192
+ * the prompt asks for verification against the tree and for omission over
193
+ * invention, in those words.
194
+ */
195
+ export function initPrompt(instructionFiles) {
196
+ const existing = instructionFiles.length > 0
197
+ ? [
198
+ '',
199
+ 'This project ALREADY has project instructions, loaded from:',
200
+ ...instructionFiles.map((f) => ` ${f}`),
201
+ '',
202
+ 'Do not overwrite them. Read them first, then propose specific edits —',
203
+ 'what is now wrong, what is missing — and make only the changes I agree to.',
204
+ ].join('\n')
205
+ : ['', 'This project has no AGENTS.md yet. Create one at the repository root.'].join('\n');
206
+ return [
207
+ 'Write the project instructions that a coding agent joining this repository would need.',
208
+ '',
209
+ 'Verify every claim against the tree before you write it. Do not describe a',
210
+ 'command you have not found, a layout you have not opened, or a convention you',
211
+ 'have inferred from one file. If you cannot establish something, leave it out —',
212
+ 'an AGENTS.md full of plausible inventions is worse than a short true one,',
213
+ 'because the next agent will follow it.',
214
+ existing,
215
+ '',
216
+ 'Cover what a newcomer cannot get from the file listing:',
217
+ ' - what this project is, in a sentence or two',
218
+ ' - the build, test and lint commands that actually work here (check the',
219
+ ' package manifest or task runner rather than assuming the usual ones)',
220
+ ' - the layout, and any part of it that is deliberate rather than incidental',
221
+ ' - conventions the code visibly holds to, with the evidence that shows it',
222
+ ' - anything that would let someone break the project without noticing',
223
+ '',
224
+ 'Keep it short enough to be read in full. Every line costs context on every',
225
+ 'future run, so a sentence that says nothing is not free.',
226
+ ].join('\n');
227
+ }
146
228
  /**
147
229
  * Spend, stated as spend.
148
230
  *
@@ -216,14 +298,24 @@ export function runSlash(line, ctx) {
216
298
  const parsed = parseSlash(line);
217
299
  if (!parsed)
218
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.
219
305
  const cmd = SLASH_COMMANDS.find((c) => c.name === parsed.name);
220
- if (!cmd) {
221
- return {
222
- kind: 'message',
223
- role: 'system',
224
- content: `Unknown command: /${parsed.name}. Try /help.`,
225
- };
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 };
226
314
  }
227
- return cmd.action(ctx, parsed.args);
315
+ return {
316
+ kind: 'message',
317
+ role: 'system',
318
+ content: `Unknown command: /${parsed.name}. Try /help.`,
319
+ };
228
320
  }
229
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.1.1",
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,9 +46,9 @@
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",
51
- "@namzu/sdk": "^15.0.0"
50
+ "@namzu/openai": "1.1.1",
51
+ "@namzu/sdk": "^15.1.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@biomejs/biome": "^1.9.4",