@plurnk/plurnk 0.12.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,58 +1,57 @@
1
1
  # plurnk
2
2
 
3
- Client app for [plurnk-service](https://github.com/plurnk/plurnk-service). Type a prompt at the terminal, drive a real model loop through the plurnk DSL.
3
+ Terminal client for [plurnk-service](https://github.com/plurnk/plurnk-service) type a prompt, drive a real model loop through the plurnk DSL. CLI one-shot, interactive TUI, and read-only subcommands over one WebSocket.
4
4
 
5
5
  ## install
6
6
 
7
7
  ```
8
- npm install -g @plurnk/plurnk
8
+ npm install -g @plurnk/plurnk # bundles the daemon (optional dep)
9
+ export OPENAI_API_KEY="…" # your provider keys (read by the daemon)
10
+ plurnk-service # start the background daemon
9
11
  ```
10
12
 
11
- Requires Node 25.
13
+ The client only needs the daemon reachable at `PLURNK_URL` (default `ws://127.0.0.1:3044`). All engine config — models, turns, providers — lives in the daemon's environment.
12
14
 
13
15
  ## use
14
16
 
15
- Set up env (copy `.env.example` to `.env`, or export the vars in your shell):
16
-
17
17
  ```
18
- PLURNK_DB_PATH=./plurnk.db
19
- PLURNK_MAX_TURNS=50
20
- OPENAI_BASE_URL=http://localhost:11435 # or your provider endpoint
21
- OPENAI_API_KEY=
22
- OPENAI_MODEL=macher.gguf
23
- OPENAI_CONTEXT_SIZE=262144
24
- OPENAI_FETCH_TIMEOUT_MS=600000
25
- OPENAI_THINK=0
18
+ plurnk "what is the capital of France?" # one-shot
19
+ cat notes.md | plurnk "summarize this" # piped stdin (appended)
20
+ plurnk # interactive TUI (no args, a TTY)
21
+ plurnk models | session list | log read … # read-only subcommands
22
+ plurnk --help # full flag list
26
23
  ```
27
24
 
28
- Run:
25
+ **Line language** (converged across the TUI, the CLI prefixes, and plurnk.nvim's `:AI`):
29
26
 
30
- ```
31
- plurnk "What is the capital of France? Store at known://france/capital and reply SEND[200]."
32
- ```
27
+ | | |
28
+ |---|---|
29
+ | `text` | a prompt (`?`=ask / `:`=act prefix) |
30
+ | `/verb` | `/models /sessions /runs /log /model /yolo /new /stop /quit`, membership `/pick /hide /view /drop /members`, `/import <path>` |
31
+ | `<<…>>` | raw plurnk DSL (`op.parse`) |
32
+ | `! cmd` | exec via the daemon |
33
+ | `... text` | inject into the running loop (or just type — a mid-loop prompt steers) |
33
34
 
34
- You get a per-turn trace of the model's plurnk DSL emissions, the final loop status, and a list of entries written.
35
+ Tab completes verbs, model aliases, file paths (`/pick`, `@file`), and DSL ops (`<<RE`→`<<READ`). Multi-line paste folds to one prompt.
35
36
 
36
- ## what plurnk does
37
+ **Key flags:** `--model <alias>` · `--yolo` · `--json` · `--session/--run <name>` · `--project-root <p>` · `--max-turns <n>` · `--timeout <s>` · membership `--pick/--hide/--view <glob>` · `--manifest-items <n>` · `--md NAME=path`.
37
38
 
38
- Plurnk is the agent's command grammar. The model emits operations like:
39
+ **Env:** `PLURNK_URL` (daemon) · `PLURNK_SESSION` / `PLURNK_RUN` (resume) · `PLURNK_MODEL` · `PLURNK_YOLO` · `PLURNK_PROJECT_ROOT`. Cascade: shell > `./.env` > `$XDG_CONFIG_HOME/plurnk/env`.
40
+
41
+ ## what plurnk is
42
+
43
+ The model emits operations in a compact grammar; the daemon executes them, persists state, and the client renders the trace:
39
44
 
40
45
  ```
41
46
  <<EDIT[france,europe](known://countries/france/capital):Paris:EDIT
42
47
  <<SEND[200]:Paris:SEND
43
48
  ```
44
49
 
45
- The CLI parses these, dispatches each to its scheme handler, persists state, and surfaces what happened. Multi-turn loops emerge naturally the model emits `SEND[102]` to continue, `SEND[200]` to terminate.
46
-
47
- The protocol's pitch: fancy multi-turn agent behavior on weak models, via the structure rather than the model's raw capability. See [plurnk-service](https://github.com/plurnk/plurnk-service)'s AGENTS.md for the full architecture.
50
+ Multi-turn loops emerge from the structure `SEND[102]` continues, `SEND[200]` terminates — fancy agent behavior on weak models via grammar rather than raw capability. See [plurnk-service](https://github.com/plurnk/plurnk-service).
48
51
 
49
- ## exit codes
52
+ ## exit codes (CLI mode)
50
53
 
51
- - `0` loop terminated successfully (`SEND[200]`)
52
- - `1` — runtime error
53
- - `2` — loop hit maxTurns safety cap
54
- - `3` — loop terminated with cancellation (`SEND[499]`)
55
- - `64` — usage error (missing prompt or env)
54
+ `0` success (`SEND[200]`) · `1` runtime error · `2` maxTurns cap · `3` cancelled (`SEND[499]` / `--timeout`) · `4` loop failed (4xx/5xx final) · `64` usage error.
56
55
 
57
56
  ## license
58
57
 
package/dist/cli.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type Rpc from "./rpc.ts";
2
- import type { LogEntryWire } from "./render.ts";
2
+ import type { LogEntryWire, LoopUsage } from "./render.ts";
3
3
  interface SessionResult {
4
4
  id: number;
5
5
  name: string;
@@ -10,15 +10,10 @@ export declare const formatResultLine: (r: {
10
10
  finalStatus: number;
11
11
  turns: number;
12
12
  wallMs: number;
13
- tokens: number;
14
13
  hitMaxTurns: boolean;
15
14
  timedOut: boolean;
16
15
  reason?: string;
17
- usage?: {
18
- promptTokens?: number;
19
- completionTokens?: number;
20
- costPico?: number;
21
- };
16
+ usage?: LoopUsage;
22
17
  }) => string;
23
18
  export declare const formatPlain: (entry: LogEntryWire) => string;
24
19
  export declare const isTerminalBroadcast: (entry: LogEntryWire) => boolean;
@@ -26,7 +21,6 @@ export declare const formatJsonReply: (txUnknown: unknown) => string;
26
21
  export declare const runCli: (rpc: Rpc, prompt: string, session: SessionResult, opts: {
27
22
  json: boolean;
28
23
  modelAlias?: string;
29
- persona?: string;
30
24
  yolo: boolean;
31
25
  loopFlags?: Record<string, unknown>;
32
26
  maxTurns?: number;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkBhD,UAAU,aAAa;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAIpD,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,EAAE,aAAa,OAAO,KAAG,MAK3E,CAAC;AAIF,eAAO,MAAM,gBAAgB,GAAI,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IACnE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzE,KAAK,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnF,KAAG,MAYH,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,YAAY,KAAG,MAWjD,CAAC;AAMF,eAAO,MAAM,mBAAmB,GAAI,OAAO,YAAY,KAAG,OAKL,CAAC;AAEtD,eAAO,MAAM,eAAe,GAAI,WAAW,OAAO,KAAG,MAOpD,CAAC;AA0BF,eAAO,MAAM,MAAM,GAAU,KAAK,GAAG,EAAE,QAAQ,MAAM,EAAE,SAAS,aAAa,EAAE,MAAM;IACjF,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC/E,KAAG,OAAO,CAAC,MAAM,CA4JjB,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAkB3D,UAAU,aAAa;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAIpD,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,EAAE,aAAa,OAAO,KAAG,MAK3E,CAAC;AAIF,eAAO,MAAM,gBAAgB,GAAI,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IACnE,WAAW,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC/E,KAAG,MAaH,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,YAAY,KAAG,MAWjD,CAAC;AAMF,eAAO,MAAM,mBAAmB,GAAI,OAAO,YAAY,KAAG,OAKL,CAAC;AAEtD,eAAO,MAAM,eAAe,GAAI,WAAW,OAAO,KAAG,MAOpD,CAAC;AA0BF,eAAO,MAAM,MAAM,GAAU,KAAK,GAAG,EAAE,QAAQ,MAAM,EAAE,SAAS,aAAa,EAAE,MAAM;IACjF,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC/E,KAAG,OAAO,CAAC,MAAM,CAsJjB,CAAC"}
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@
4
4
  // body lands on stdout (§5.4). Suitable for piping to grep / awk / head / jq.
5
5
  import { extractSendBody } from "./render.js";
6
6
  import { reviewProposal, isServerResolved } from "./proposal.js";
7
- import { report, clientProposalNoTtyReview } from "./telemetry.js";
7
+ import { report, clientProposalEditsBlocked } from "./telemetry.js";
8
8
  import StreamTrace, { inlineable, renderInline, reportStream } from "./stream.js";
9
9
  // Exit-code honesty (SPEC §4): a 4xx/5xx loop death is a FAILURE (4), not a
10
10
  // user cancellation (3) — benchmark stats must distinguish them.
@@ -22,18 +22,16 @@ export const exitCodeForLoop = (finalStatus, hitMaxTurns) => {
22
22
  export const formatResultLine = (r) => {
23
23
  const payload = {
24
24
  loopId: r.loopId, finalStatus: r.finalStatus, turns: r.turns,
25
- wallMs: r.wallMs, tokens: r.tokens, hitMaxTurns: r.hitMaxTurns,
26
- timedOut: r.timedOut,
25
+ wallMs: r.wallMs, hitMaxTurns: r.hitMaxTurns, timedOut: r.timedOut,
27
26
  };
28
27
  if (r.reason !== undefined)
29
28
  payload.reason = r.reason;
30
- // Real provider usage when the daemon sends it (plurnk-service #197).
31
- if (typeof r.usage?.promptTokens === "number")
29
+ // Real provider usage (plurnk-service #197); absent only for non-model ops.
30
+ if (r.usage !== undefined) {
32
31
  payload.promptTokens = r.usage.promptTokens;
33
- if (typeof r.usage?.completionTokens === "number")
34
32
  payload.completionTokens = r.usage.completionTokens;
35
- if (typeof r.usage?.costPico === "number")
36
33
  payload.costPico = r.usage.costPico;
34
+ }
37
35
  return `result: ${JSON.stringify(payload)}`;
38
36
  };
39
37
  export const formatPlain = (entry) => {
@@ -96,14 +94,8 @@ export const runCli = async (rpc, prompt, session, opts) => {
96
94
  // Per SPEC.md §2: `plurnk "X" > answer.txt` captures just the terminal broadcast body.
97
95
  process.stderr.write(`session: ${session.name}\n`);
98
96
  process.stderr.write(`prompt: ${prompt}\n\n`);
99
- // Tokens for the summary: summed from the loop's log/entry rows
100
- // (log_entries.tokens — write-time content counts; provider usage is
101
- // not on the wire yet, plurnk-service#197).
102
- let loopTokens = 0;
103
97
  rpc.onNotification("log/entry", (params) => {
104
98
  const p = params;
105
- if (typeof p.entry.tokens === "number")
106
- loopTokens += p.entry.tokens;
107
99
  process.stderr.write(`${formatPlain(p.entry)}\n`);
108
100
  if (!isTerminalBroadcast(p.entry))
109
101
  return;
@@ -117,13 +109,18 @@ export const runCli = async (rpc, prompt, session, opts) => {
117
109
  const p = params;
118
110
  report(p.event);
119
111
  });
112
+ // No review channel (non-TTY, no --yolo): the loop runs with
113
+ // flags.noProposals (set below), so the SERVER auto-rejects
114
+ // side-effecting ops in-process — fail-closed without a per-proposal
115
+ // client roundtrip, no 5-minute hang. The proposal still broadcasts;
116
+ // isServerResolved suppresses the handler. plurnk #24 (#169 client half).
117
+ const noReviewChannel = !opts.yolo && process.stdin.isTTY !== true;
120
118
  // Proposal lifecycle (plurnk-service #42): pause-and-review for side-effecting
121
- // ops. Four paths:
119
+ // ops. Three paths:
122
120
  // - server-resolved (flags.yolo / flags.noProposals): the daemon settles the
123
121
  // entry in-process; a client loop.resolve would race it. Skip entirely.
124
122
  // - --yolo: auto-accept locally without prompting (server still sends the notification).
125
123
  // - TTY: interactive review.
126
- // - no TTY, no yolo: fail closed (reject) so the daemon doesn't hang for 5 minutes.
127
124
  rpc.onNotification("loop/proposal", (params) => {
128
125
  const p = params;
129
126
  void (async () => {
@@ -133,15 +130,6 @@ export const runCli = async (rpc, prompt, session, opts) => {
133
130
  await rpc.call("loop.resolve", { logEntryId: p.logEntryId, decision: "accept", outcome: "client_yolo" });
134
131
  return;
135
132
  }
136
- if (process.stdin.isTTY !== true) {
137
- report(clientProposalNoTtyReview(p.logEntryId));
138
- await rpc.call("loop.resolve", {
139
- logEntryId: p.logEntryId,
140
- decision: "reject",
141
- outcome: "no_tty_review",
142
- });
143
- return;
144
- }
145
133
  const resolution = await reviewProposal(p);
146
134
  await rpc.call("loop.resolve", { logEntryId: p.logEntryId, ...resolution });
147
135
  })();
@@ -185,12 +173,15 @@ export const runCli = async (rpc, prompt, session, opts) => {
185
173
  effectiveFlags = { ...(opts.loopFlags ?? {}), mode: p0 === "?" ? "ask" : "act" };
186
174
  prompt = prompt.replace(/^[?:]+\s*/, "");
187
175
  }
176
+ // No review channel → run with noProposals and own the explanation.
177
+ if (noReviewChannel) {
178
+ effectiveFlags = { ...(effectiveFlags ?? {}), noProposals: true };
179
+ report(clientProposalEditsBlocked());
180
+ }
188
181
  const start = Date.now();
189
182
  const loopParams = { prompt };
190
183
  if (opts.modelAlias !== undefined)
191
184
  loopParams.alias = opts.modelAlias;
192
- if (opts.persona !== undefined)
193
- loopParams.persona = opts.persona;
194
185
  if (effectiveFlags !== undefined && Object.keys(effectiveFlags).length > 0)
195
186
  loopParams.flags = effectiveFlags;
196
187
  if (opts.maxTurns !== undefined)
@@ -230,17 +221,17 @@ export const runCli = async (rpc, prompt, session, opts) => {
230
221
  }
231
222
  const wallMs = Date.now() - start;
232
223
  process.stderr.write(`\nfinal status: ${result.finalStatus}${result.hitMaxTurns ? " (maxTurns reached)" : ""}\n`);
233
- let tokenPart = loopTokens > 0 ? `, tokens: ${loopTokens}` : "";
234
- if (typeof result.usage?.promptTokens === "number" && typeof result.usage.completionTokens === "number") {
224
+ // Real provider usage (plurnk-service #197) a model loop always carries it.
225
+ let tokenPart = "";
226
+ if (result.usage !== undefined) {
235
227
  tokenPart = `, tokens: ↑${result.usage.promptTokens} ↓${result.usage.completionTokens}`;
236
- if (typeof result.usage.costPico === "number" && result.usage.costPico > 0) {
228
+ if (result.usage.costPico > 0)
237
229
  tokenPart += `, cost: $${(result.usage.costPico / 1e12).toFixed(4)}`;
238
- }
239
230
  }
240
231
  process.stderr.write(`turns: ${result.turnIds.length}, wall: ${(wallMs / 1000).toFixed(2)}s${tokenPart}\n`);
241
232
  process.stderr.write(`${formatResultLine({
242
233
  loopId: result.loopId, finalStatus: result.finalStatus,
243
- turns: result.turnIds.length, wallMs, tokens: loopTokens,
234
+ turns: result.turnIds.length, wallMs,
244
235
  hitMaxTurns: result.hitMaxTurns, timedOut, reason: result.reason,
245
236
  usage: result.usage,
246
237
  })}\n`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const pathPartial: (line: string) => string | null;
2
+ export declare const dslOpPartial: (line: string) => string | null;
3
+ export declare const completeOps: (typed: string) => [string[], string];
4
+ export declare const completePath: (partial: string, cwd: string) => Promise<[string[], string]>;
5
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAanD,CAAC;AAOF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAGpD,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAG5D,CAAC;AAMF,eAAO,MAAM,YAAY,GAAU,SAAS,MAAM,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAgB3F,CAAC"}
@@ -0,0 +1,63 @@
1
+ // Client-local file-path completion for the readline TUI.
2
+ //
3
+ // Co-location law: the client and daemon share one filesystem, so "what files
4
+ // exist" is the CLIENT's question — completion reads the local fs directly, no
5
+ // daemon round-trip. Feeds readline's native completer; no cursor math, no deps.
6
+ import { readdir } from "node:fs/promises";
7
+ import { isAbsolute, resolve } from "node:path";
8
+ // Detect a path-seeking partial in the line up to the cursor; null if the
9
+ // cursor isn't in a path position. One case per call site — membership-verb
10
+ // globs today; `@file` / `/import` / `/md` paths slot in here as they land.
11
+ export const pathPartial = (line) => {
12
+ const verb = line.match(/^\/(?:pick|hide|view|drop|import)\s+(\S*)$/);
13
+ if (verb)
14
+ return verb[1];
15
+ // @file: a path reference anywhere in a prompt (word-boundary @ to dodge
16
+ // emails). The leading @ stays; only the path part completes.
17
+ const at = line.match(/(?:^|\s)@(\S*)$/);
18
+ if (at)
19
+ return at[1];
20
+ // DSL target path inside an unclosed `<<OP(...`: strip a leading scheme://
21
+ // and complete the path part. Bare/file:// resolve against the fs; other
22
+ // schemes (known://, log://, …) simply find nothing — harmless.
23
+ const target = line.match(/^<<\w+(?:\[[^\]]*\])?\(([^)]*)$/);
24
+ if (target)
25
+ return target[1].replace(/^[a-z][a-z0-9+.-]*:\/\//, "");
26
+ return null;
27
+ };
28
+ // The plurnk DSL operations (plurnk-grammar plurnk.md §Operations).
29
+ const OPS = ["PLAN", "FIND", "READ", "EDIT", "COPY", "MOVE", "OPEN", "FOLD", "KILL", "EXEC", "SEND"];
30
+ // DSL op-name completion: a raw `<<` line with the op being typed; null
31
+ // otherwise. (Target-path completion inside `<<OP(...)` is future work.)
32
+ export const dslOpPartial = (line) => {
33
+ const m = line.match(/^<<(\w*)$/);
34
+ return m ? m[1] : null;
35
+ };
36
+ // Complete a partially-typed op into `<<OP` tokens (case-insensitive input).
37
+ export const completeOps = (typed) => {
38
+ const up = typed.toUpperCase();
39
+ return [OPS.filter((o) => o.startsWith(up)).map((o) => `<<${o}`), `<<${typed}`];
40
+ };
41
+ // Complete a filesystem path partial against the local fs. Returns
42
+ // [completions, partial] for readline: full-path tokens (directories suffixed
43
+ // with `/`), and the partial they replace. Unreadable directory → no hits.
44
+ // Dotfiles are hidden unless the prefix itself starts with `.` (shell habit).
45
+ export const completePath = async (partial, cwd) => {
46
+ const slash = partial.lastIndexOf("/");
47
+ const dirPart = slash >= 0 ? partial.slice(0, slash + 1) : "";
48
+ const prefix = slash >= 0 ? partial.slice(slash + 1) : partial;
49
+ const dirAbs = isAbsolute(dirPart || ".") ? (dirPart || "/") : resolve(cwd, dirPart || ".");
50
+ let entries;
51
+ try {
52
+ entries = await readdir(dirAbs, { withFileTypes: true });
53
+ }
54
+ catch {
55
+ return [[], partial];
56
+ }
57
+ const hits = entries
58
+ .filter((e) => e.name.startsWith(prefix) && (prefix.startsWith(".") || !e.name.startsWith(".")))
59
+ .map((e) => `${dirPart}${e.name}${e.isDirectory() ? "/" : ""}`)
60
+ .sort();
61
+ return [hits, partial];
62
+ };
63
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,40 @@
1
- export declare const resolvePersona: (raw: string | undefined) => Promise<string | undefined>;
2
1
  export declare const resolveLoopFlags: (rawJson: string | undefined) => Record<string, unknown> | undefined;
3
2
  export declare const resolveProjectRoot: (raw: string | undefined) => string | null;
3
+ export interface Constraint {
4
+ effect: "pick" | "hide" | "view";
5
+ glob: string;
6
+ }
7
+ export declare const buildConstraints: (values: {
8
+ pick?: string[];
9
+ hide?: string[];
10
+ view?: string[];
11
+ }) => Constraint[];
12
+ export interface Settings {
13
+ manifestItems?: number;
14
+ mdDocs?: Array<{
15
+ alias: string;
16
+ content: string;
17
+ }>;
18
+ maxCommands?: number;
19
+ git?: boolean;
20
+ }
21
+ export declare const buildSettings: (values: {
22
+ "manifest-items"?: string;
23
+ md?: string[];
24
+ "max-commands"?: string;
25
+ "no-git"?: boolean;
26
+ }, cwd: string) => Promise<Settings>;
27
+ export declare const CLIENT_VERSION: string;
28
+ interface DiscoverVersions {
29
+ service?: {
30
+ installed?: string;
31
+ latest?: string;
32
+ };
33
+ client?: {
34
+ latest?: string;
35
+ };
36
+ }
37
+ export declare const buildVersionNotice: (versions: DiscoverVersions | undefined, clientInstalled: string) => string | undefined;
4
38
  export declare const main: (argv: string[]) => Promise<void>;
39
+ export {};
5
40
  //# sourceMappingURL=dispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"AAwCA,eAAO,MAAM,cAAc,GAAU,KAAK,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAIxF,CAAC;AAMF,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAUxF,CAAC;AAIF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,IAKrE,CAAC;AAuLF,eAAO,MAAM,IAAI,GAAU,MAAM,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAwJvD,CAAC"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"AA0CA,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAUxF,CAAC;AAIF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,IAKrE,CAAC;AA6FF,MAAM,WAAW,UAAU;IAAG,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAG9E,eAAO,MAAM,gBAAgB,GAAI,QAAQ;IACrC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACrD,KAAG,UAAU,EAIb,CAAC;AAOF,MAAM,WAAW,QAAQ;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,GACtB,QAAQ;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACjG,KAAK,MAAM,KACZ,OAAO,CAAC,QAAQ,CAqClB,CAAC;AAMF,eAAO,MAAM,cAAc,QAAqF,CAAC;AAEjH,UAAU,gBAAgB;IAAG,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;AAa9G,eAAO,MAAM,kBAAkB,GAAI,UAAU,gBAAgB,GAAG,SAAS,EAAE,iBAAiB,MAAM,KAAG,MAAM,GAAG,SAQ7G,CAAC;AAsHF,eAAO,MAAM,IAAI,GAAU,MAAM,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CA+JvD,CAAC"}