mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-10 08:05:14 +02:00
Bare invocations now do the obvious thing instead of erroring out, and mode-as-subcommand patterns collapse into flags on the parent. No new top-level commands. - `ktx ingest` (bare) ingests every configured connection. The `text` subcommand is gone; capture inline notes with `ktx ingest --text "..."` and files with `ktx ingest --file path` (use `-` for stdin). `--text`/`--file` reject a positional connection id; pass `--connection-id` to tag captured notes. - `ktx connection` (bare) lists; `ktx connection test` (bare) tests every configured connection. - `ktx wiki` and `ktx sl` flatten `list`/`search`: bare lists, with a `[query...]` positional searches (multi-word joined with spaces). `sl validate` and `sl query` stay as distinct verbs and now read `--connection-id` from the parent. - `ktx mcp` (bare) prints daemon status. Adds a shared `resolveConnectionSelection` helper consumed by ingest and connection test. Updates README, docs-site cli-reference and guides, next-steps strings, agent SKILL templates, and all affected tests. Per-package type-check, unit tests (605), smoke tests, and dead-code checks all pass.
18 lines
591 B
TypeScript
18 lines
591 B
TypeScript
export type ConnectionSelection =
|
|
| { kind: 'all' }
|
|
| { kind: 'single'; connectionId: string };
|
|
|
|
export interface ResolveConnectionSelectionInput {
|
|
connectionId?: string | undefined;
|
|
all: boolean;
|
|
}
|
|
|
|
export function resolveConnectionSelection(input: ResolveConnectionSelectionInput): ConnectionSelection {
|
|
if (input.all && input.connectionId !== undefined) {
|
|
throw new Error('--all cannot be combined with a connection id argument');
|
|
}
|
|
if (input.connectionId !== undefined) {
|
|
return { kind: 'single', connectionId: input.connectionId };
|
|
}
|
|
return { kind: 'all' };
|
|
}
|