pi-para 0.5.5 → 0.6.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.
Files changed (227) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/package.json +8 -5
  3. package/scripts/build-assets.mjs +29 -0
  4. package/scripts/install.ps1 +27 -16
  5. package/scripts/install.sh +3 -2
  6. package/scripts/smoke-install.mjs +5 -3
  7. package/src/doctor.ts +5 -0
  8. package/dist/atomic-write.d.ts +0 -2
  9. package/dist/atomic-write.d.ts.map +0 -1
  10. package/dist/atomic-write.js +0 -18
  11. package/dist/atomic-write.js.map +0 -1
  12. package/dist/capture.d.ts +0 -34
  13. package/dist/capture.d.ts.map +0 -1
  14. package/dist/capture.js +0 -461
  15. package/dist/capture.js.map +0 -1
  16. package/dist/cli-legacy.d.ts +0 -4
  17. package/dist/cli-legacy.d.ts.map +0 -1
  18. package/dist/cli-legacy.js +0 -41
  19. package/dist/cli-legacy.js.map +0 -1
  20. package/dist/cli.d.ts +0 -8
  21. package/dist/cli.d.ts.map +0 -1
  22. package/dist/cli.js +0 -511
  23. package/dist/cli.js.map +0 -1
  24. package/dist/commands.d.ts +0 -15
  25. package/dist/commands.d.ts.map +0 -1
  26. package/dist/commands.js +0 -719
  27. package/dist/commands.js.map +0 -1
  28. package/dist/config.d.ts +0 -104
  29. package/dist/config.d.ts.map +0 -1
  30. package/dist/config.js +0 -242
  31. package/dist/config.js.map +0 -1
  32. package/dist/context.d.ts +0 -63
  33. package/dist/context.d.ts.map +0 -1
  34. package/dist/context.js +0 -311
  35. package/dist/context.js.map +0 -1
  36. package/dist/credentials.d.ts +0 -27
  37. package/dist/credentials.d.ts.map +0 -1
  38. package/dist/credentials.js +0 -85
  39. package/dist/credentials.js.map +0 -1
  40. package/dist/daemon.d.ts +0 -49
  41. package/dist/daemon.d.ts.map +0 -1
  42. package/dist/daemon.js +0 -226
  43. package/dist/daemon.js.map +0 -1
  44. package/dist/doctor.d.ts +0 -20
  45. package/dist/doctor.d.ts.map +0 -1
  46. package/dist/doctor.js +0 -171
  47. package/dist/doctor.js.map +0 -1
  48. package/dist/frontmatter.d.ts +0 -59
  49. package/dist/frontmatter.d.ts.map +0 -1
  50. package/dist/frontmatter.js +0 -170
  51. package/dist/frontmatter.js.map +0 -1
  52. package/dist/gepa/dataset.d.ts +0 -36
  53. package/dist/gepa/dataset.d.ts.map +0 -1
  54. package/dist/gepa/dataset.js +0 -148
  55. package/dist/gepa/dataset.js.map +0 -1
  56. package/dist/gepa/evaluator.d.ts +0 -51
  57. package/dist/gepa/evaluator.d.ts.map +0 -1
  58. package/dist/gepa/evaluator.js +0 -317
  59. package/dist/gepa/evaluator.js.map +0 -1
  60. package/dist/gepa/index.d.ts +0 -66
  61. package/dist/gepa/index.d.ts.map +0 -1
  62. package/dist/gepa/index.js +0 -240
  63. package/dist/gepa/index.js.map +0 -1
  64. package/dist/gepa/llm.d.ts +0 -35
  65. package/dist/gepa/llm.d.ts.map +0 -1
  66. package/dist/gepa/llm.js +0 -268
  67. package/dist/gepa/llm.js.map +0 -1
  68. package/dist/gepa/optimized/capture-prompt.txt +0 -65
  69. package/dist/gepa/optimizer.d.ts +0 -29
  70. package/dist/gepa/optimizer.d.ts.map +0 -1
  71. package/dist/gepa/optimizer.js +0 -249
  72. package/dist/gepa/optimizer.js.map +0 -1
  73. package/dist/gepa/targets.d.ts +0 -39
  74. package/dist/gepa/targets.d.ts.map +0 -1
  75. package/dist/gepa/targets.js +0 -326
  76. package/dist/gepa/targets.js.map +0 -1
  77. package/dist/gepa/types.d.ts +0 -168
  78. package/dist/gepa/types.d.ts.map +0 -1
  79. package/dist/gepa/types.js +0 -124
  80. package/dist/gepa/types.js.map +0 -1
  81. package/dist/index.d.ts +0 -21
  82. package/dist/index.d.ts.map +0 -1
  83. package/dist/index.js +0 -359
  84. package/dist/index.js.map +0 -1
  85. package/dist/ingest.d.ts +0 -88
  86. package/dist/ingest.d.ts.map +0 -1
  87. package/dist/ingest.js +0 -105
  88. package/dist/ingest.js.map +0 -1
  89. package/dist/link-discovery.d.ts +0 -40
  90. package/dist/link-discovery.d.ts.map +0 -1
  91. package/dist/link-discovery.js +0 -122
  92. package/dist/link-discovery.js.map +0 -1
  93. package/dist/link-utils.d.ts +0 -30
  94. package/dist/link-utils.d.ts.map +0 -1
  95. package/dist/link-utils.js +0 -145
  96. package/dist/link-utils.js.map +0 -1
  97. package/dist/lint.d.ts +0 -39
  98. package/dist/lint.d.ts.map +0 -1
  99. package/dist/lint.js +0 -827
  100. package/dist/lint.js.map +0 -1
  101. package/dist/maintainer.d.ts +0 -24
  102. package/dist/maintainer.d.ts.map +0 -1
  103. package/dist/maintainer.js +0 -358
  104. package/dist/maintainer.js.map +0 -1
  105. package/dist/model-resolver.d.ts +0 -30
  106. package/dist/model-resolver.d.ts.map +0 -1
  107. package/dist/model-resolver.js +0 -71
  108. package/dist/model-resolver.js.map +0 -1
  109. package/dist/paths.d.ts +0 -20
  110. package/dist/paths.d.ts.map +0 -1
  111. package/dist/paths.js +0 -33
  112. package/dist/paths.js.map +0 -1
  113. package/dist/processor.d.ts +0 -14
  114. package/dist/processor.d.ts.map +0 -1
  115. package/dist/processor.js +0 -361
  116. package/dist/processor.js.map +0 -1
  117. package/dist/qmd-providers.d.ts +0 -12
  118. package/dist/qmd-providers.d.ts.map +0 -1
  119. package/dist/qmd-providers.js +0 -45
  120. package/dist/qmd-providers.js.map +0 -1
  121. package/dist/query.d.ts +0 -69
  122. package/dist/query.d.ts.map +0 -1
  123. package/dist/query.js +0 -120
  124. package/dist/query.js.map +0 -1
  125. package/dist/raw.d.ts +0 -57
  126. package/dist/raw.d.ts.map +0 -1
  127. package/dist/raw.js +0 -219
  128. package/dist/raw.js.map +0 -1
  129. package/dist/redact.d.ts +0 -21
  130. package/dist/redact.d.ts.map +0 -1
  131. package/dist/redact.js +0 -143
  132. package/dist/redact.js.map +0 -1
  133. package/dist/repair.d.ts +0 -11
  134. package/dist/repair.d.ts.map +0 -1
  135. package/dist/repair.js +0 -41
  136. package/dist/repair.js.map +0 -1
  137. package/dist/scheduler/controls.d.ts +0 -35
  138. package/dist/scheduler/controls.d.ts.map +0 -1
  139. package/dist/scheduler/controls.js +0 -98
  140. package/dist/scheduler/controls.js.map +0 -1
  141. package/dist/scheduler/index.d.ts +0 -48
  142. package/dist/scheduler/index.d.ts.map +0 -1
  143. package/dist/scheduler/index.js +0 -193
  144. package/dist/scheduler/index.js.map +0 -1
  145. package/dist/scheduler/leases.d.ts +0 -22
  146. package/dist/scheduler/leases.d.ts.map +0 -1
  147. package/dist/scheduler/leases.js +0 -74
  148. package/dist/scheduler/leases.js.map +0 -1
  149. package/dist/scheduler/session-capture.d.ts +0 -33
  150. package/dist/scheduler/session-capture.d.ts.map +0 -1
  151. package/dist/scheduler/session-capture.js +0 -108
  152. package/dist/scheduler/session-capture.js.map +0 -1
  153. package/dist/scheduler/state.d.ts +0 -56
  154. package/dist/scheduler/state.d.ts.map +0 -1
  155. package/dist/scheduler/state.js +0 -210
  156. package/dist/scheduler/state.js.map +0 -1
  157. package/dist/scope.d.ts +0 -54
  158. package/dist/scope.d.ts.map +0 -1
  159. package/dist/scope.js +0 -161
  160. package/dist/scope.js.map +0 -1
  161. package/dist/scripts/bulk-link-fix.d.ts +0 -9
  162. package/dist/scripts/bulk-link-fix.d.ts.map +0 -1
  163. package/dist/scripts/bulk-link-fix.js +0 -106
  164. package/dist/scripts/bulk-link-fix.js.map +0 -1
  165. package/dist/session-tools.d.ts +0 -33
  166. package/dist/session-tools.d.ts.map +0 -1
  167. package/dist/session-tools.js +0 -211
  168. package/dist/session-tools.js.map +0 -1
  169. package/dist/settings.d.ts +0 -19
  170. package/dist/settings.d.ts.map +0 -1
  171. package/dist/settings.js +0 -106
  172. package/dist/settings.js.map +0 -1
  173. package/dist/setup.d.ts +0 -29
  174. package/dist/setup.d.ts.map +0 -1
  175. package/dist/setup.js +0 -90
  176. package/dist/setup.js.map +0 -1
  177. package/dist/state.d.ts +0 -54
  178. package/dist/state.d.ts.map +0 -1
  179. package/dist/state.js +0 -176
  180. package/dist/state.js.map +0 -1
  181. package/dist/status.d.ts +0 -22
  182. package/dist/status.d.ts.map +0 -1
  183. package/dist/status.js +0 -93
  184. package/dist/status.js.map +0 -1
  185. package/dist/store.d.ts +0 -71
  186. package/dist/store.d.ts.map +0 -1
  187. package/dist/store.js +0 -282
  188. package/dist/store.js.map +0 -1
  189. package/dist/summarize.d.ts +0 -60
  190. package/dist/summarize.d.ts.map +0 -1
  191. package/dist/summarize.js +0 -266
  192. package/dist/summarize.js.map +0 -1
  193. package/dist/tag-registry.d.ts +0 -56
  194. package/dist/tag-registry.d.ts.map +0 -1
  195. package/dist/tag-registry.js +0 -146
  196. package/dist/tag-registry.js.map +0 -1
  197. package/dist/templates/prompts.d.ts +0 -63
  198. package/dist/templates/prompts.d.ts.map +0 -1
  199. package/dist/templates/prompts.js +0 -260
  200. package/dist/templates/prompts.js.map +0 -1
  201. package/dist/tools.d.ts +0 -26
  202. package/dist/tools.d.ts.map +0 -1
  203. package/dist/tools.js +0 -1198
  204. package/dist/tools.js.map +0 -1
  205. package/dist/watcher.d.ts +0 -25
  206. package/dist/watcher.d.ts.map +0 -1
  207. package/dist/watcher.js +0 -84
  208. package/dist/watcher.js.map +0 -1
  209. package/dist/webui/client/dist/index.html +0 -1885
  210. package/dist/webui/server.d.ts +0 -31
  211. package/dist/webui/server.d.ts.map +0 -1
  212. package/dist/webui/server.js +0 -566
  213. package/dist/webui/server.js.map +0 -1
  214. package/dist/wiki-tool-guidance.d.ts +0 -6
  215. package/dist/wiki-tool-guidance.d.ts.map +0 -1
  216. package/dist/wiki-tool-guidance.js +0 -70
  217. package/dist/wiki-tool-guidance.js.map +0 -1
  218. package/dist/wiki.d.ts +0 -108
  219. package/dist/wiki.d.ts.map +0 -1
  220. package/dist/wiki.js +0 -497
  221. package/dist/wiki.js.map +0 -1
  222. package/scripts/gepa/__pycache__/dataset.cpython-313.pyc +0 -0
  223. package/scripts/gepa/__pycache__/lm_providers.cpython-313.pyc +0 -0
  224. package/scripts/gepa/__pycache__/metric.cpython-313.pyc +0 -0
  225. package/scripts/gepa/__pycache__/program.cpython-313.pyc +0 -0
  226. package/scripts/gepa/__pycache__/wiki_reader.cpython-313.pyc +0 -0
  227. package/scripts/gepa/uv.lock +0 -2241
package/dist/cli.js DELETED
@@ -1,511 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * CLI for pi-para.
4
- *
5
- * The old pi-para-daemon commands remain as deprecated compatibility aliases.
6
- */
7
- import { join } from "node:path";
8
- import { homedir } from "node:os";
9
- import { existsSync, readdirSync, statSync } from "node:fs";
10
- import { Daemon } from "./daemon.js";
11
- import { StateDB } from "./state.js";
12
- import { RegistryWatcher } from "./watcher.js";
13
- import { formatLegacyDaemonWarning, isLegacyDaemonCommand } from "./cli-legacy.js";
14
- // -- Model setup -------------------------------------------------------------
15
- // Use MiniMax via the same config as qmd-engine
16
- async function createModel(modelArg) {
17
- const { parse } = await import("yaml");
18
- const { readFileSync } = await import("node:fs");
19
- const { getModel, getProviders, getEnvApiKey } = await import("@earendil-works/pi-ai/compat");
20
- // 0. Try config.json daemonModel
21
- if (!modelArg) {
22
- try {
23
- const configPath = join(homedir(), ".pi", "wiki", "config.json");
24
- const raw = readFileSync(configPath, "utf-8");
25
- const config = JSON.parse(raw);
26
- if (config.daemonModel) {
27
- modelArg = config.daemonModel;
28
- console.log(`[daemon] Using model from config.json: ${modelArg}`);
29
- }
30
- }
31
- catch {
32
- // No config or no daemonModel — continue to auto-detect
33
- }
34
- }
35
- // 1. Try CLI --model arg or config daemonModel
36
- if (modelArg) {
37
- const [provider, ...rest] = modelArg.split("/");
38
- const modelId = rest.join("/");
39
- if (provider && modelId) {
40
- const model = getModel(provider, modelId);
41
- if (model) {
42
- // Resolve API key: try AuthStorage first (OAuth), then env vars
43
- let authStore = null;
44
- try {
45
- const { AuthStorage } = await import("@earendil-works/pi-coding-agent");
46
- authStore = AuthStorage.create();
47
- }
48
- catch { }
49
- const getApiKey = async (p) => {
50
- if (authStore) {
51
- const k = await authStore.getApiKey(p);
52
- if (k)
53
- return k;
54
- }
55
- return getEnvApiKey(p) ?? "";
56
- };
57
- console.log(`[daemon] Using pi model: ${provider}/${modelId} (context: ${model.contextWindow})`);
58
- return { model, getApiKey };
59
- }
60
- }
61
- }
62
- // 2. Try pi's auth storage (auth.json) — supports OAuth (Anthropic, GitHub Copilot, etc.)
63
- try {
64
- const { AuthStorage } = await import("@earendil-works/pi-coding-agent");
65
- const authStorage = AuthStorage.create();
66
- const { getModels } = await import("@earendil-works/pi-ai/compat");
67
- // Check providers in preference order: anthropic first (best quality)
68
- const preferredProviders = ["anthropic", "openai", "openrouter", "google-antigravity", "github-copilot"];
69
- for (const provider of preferredProviders) {
70
- if (!authStorage.hasAuth(provider))
71
- continue;
72
- const key = await authStorage.getApiKey(provider);
73
- if (!key)
74
- continue;
75
- const models = getModels(provider);
76
- const sorted = [...models].sort((a, b) => (b.contextWindow ?? 0) - (a.contextWindow ?? 0));
77
- const picked = sorted.find(m => !m.reasoning) ?? sorted[0];
78
- if (picked) {
79
- const getApiKey = async (p) => {
80
- const k = await authStorage.getApiKey(p);
81
- return k ?? getEnvApiKey(p) ?? "";
82
- };
83
- console.log(`[daemon] Using pi auth: ${provider}/${picked.id} (context: ${picked.contextWindow})`);
84
- return { model: picked, getApiKey };
85
- }
86
- }
87
- }
88
- catch {
89
- // AuthStorage not available — continue to env/qmd fallback
90
- }
91
- // 3. Try env vars
92
- const providers = getProviders();
93
- for (const provider of providers) {
94
- const key = getEnvApiKey(provider);
95
- if (key) {
96
- const { getModels } = await import("@earendil-works/pi-ai/compat");
97
- const models = getModels(provider);
98
- const sorted = [...models].sort((a, b) => (b.contextWindow ?? 0) - (a.contextWindow ?? 0));
99
- const picked = sorted.find(m => !m.reasoning) ?? sorted[0];
100
- if (picked) {
101
- const getApiKey = async (p) => getEnvApiKey(p) ?? "";
102
- console.log(`[daemon] Using env key: ${provider}/${picked.id} (context: ${picked.contextWindow})`);
103
- return { model: picked, getApiKey };
104
- }
105
- }
106
- }
107
- // 3. Fall back to qmd config (MiniMax, OpenRouter, etc.)
108
- const configPath = join(homedir(), ".config", "qmd", "index.yml");
109
- if (existsSync(configPath)) {
110
- const cfg = parse(readFileSync(configPath, "utf-8"));
111
- const chat = cfg?.providers?.chat;
112
- if (chat?.url && chat?.key) {
113
- const model = {
114
- id: chat.model || "MiniMax-M2.7-highspeed",
115
- name: chat.model || "MiniMax-M2.7-highspeed",
116
- provider: "custom",
117
- api: chat.api === "anthropic" ? "anthropic-messages" : "openai-completions",
118
- baseUrl: chat.url,
119
- reasoning: false,
120
- input: ["text"],
121
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
122
- contextWindow: 196000,
123
- maxTokens: 8192,
124
- };
125
- const getApiKey = async (_provider) => chat.key;
126
- console.log(`[daemon] Using qmd provider: ${chat.model} at ${chat.url}`);
127
- return { model, getApiKey };
128
- }
129
- }
130
- console.error("Error: No LLM available. Set API keys (ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.) or configure ~/.config/qmd/index.yml");
131
- process.exit(1);
132
- }
133
- // -- CLI ---------------------------------------------------------------------
134
- async function main() {
135
- const args = process.argv.slice(2);
136
- const command = args[0];
137
- const wikiDir = join(homedir(), ".pi", "wiki");
138
- if (isLegacyDaemonCommand(command)) {
139
- console.warn(formatLegacyDaemonWarning(command));
140
- console.warn("");
141
- }
142
- switch (command) {
143
- case "setup": {
144
- const dryRun = args.includes("--dry-run");
145
- const localIdx = args.indexOf("--local");
146
- const localPath = localIdx >= 0 ? args[localIdx + 1] : undefined;
147
- const { runSetup, formatSetupResult } = await import("./setup.js");
148
- const result = await runSetup({ yes: args.includes("--yes"), dryRun, localPath });
149
- console.log(formatSetupResult(result));
150
- break;
151
- }
152
- case "doctor": {
153
- const json = args.includes("--json");
154
- const { runDoctor, formatDoctorResult } = await import("./doctor.js");
155
- const result = await runDoctor({
156
- fix: args.includes("--fix"),
157
- testCaptureModel: args.includes("--test-capture-model"),
158
- });
159
- console.log(json ? JSON.stringify(result, null, 2) : formatDoctorResult(result));
160
- break;
161
- }
162
- case "tasks": {
163
- const sub = args[1] ?? "list";
164
- const { listSchedulerTasks, retryFailedSchedulerTasks, getSchedulerTask, listSchedulerHistory, formatQueueItems, formatQueueItem, formatSchedulerHistory, } = await import("./scheduler/controls.js");
165
- if (sub === "retry") {
166
- const taskIdx = args.indexOf("--task");
167
- const taskName = taskIdx >= 0 ? args[taskIdx + 1] : undefined;
168
- const count = retryFailedSchedulerTasks(wikiDir, { taskName });
169
- console.log(`Requeued ${count} failed task${count === 1 ? "" : "s"}.`);
170
- }
171
- else if (sub === "show") {
172
- const id = parseInt(args[2] ?? "", 10);
173
- if (!Number.isFinite(id)) {
174
- console.error("Usage: pi-para tasks show <id>");
175
- process.exit(1);
176
- }
177
- console.log(formatQueueItem(getSchedulerTask(wikiDir, id)));
178
- }
179
- else if (sub === "history") {
180
- const taskIdx = args.indexOf("--task");
181
- const limitIdx = args.indexOf("--limit");
182
- const taskName = taskIdx >= 0 ? args[taskIdx + 1] : undefined;
183
- const limit = limitIdx >= 0 ? parseInt(args[limitIdx + 1] ?? "20", 10) : 20;
184
- console.log(formatSchedulerHistory(listSchedulerHistory(wikiDir, { taskName, limit })));
185
- }
186
- else {
187
- const statusIdx = args.indexOf("--status");
188
- const status = statusIdx >= 0 ? args[statusIdx + 1] : undefined;
189
- console.log(formatQueueItems(listSchedulerTasks(wikiDir, { status })));
190
- }
191
- break;
192
- }
193
- case "capture-recent": {
194
- const hoursIdx = args.indexOf("--hours");
195
- const hours = hoursIdx >= 0 ? parseInt(args[hoursIdx + 1] ?? "24") : 24;
196
- const { queueCaptureRecent, formatQueueCaptureRecentResult } = await import("./scheduler/controls.js");
197
- const result = await queueCaptureRecent({ wikiDir, hours });
198
- console.log(formatQueueCaptureRecentResult(result));
199
- console.log("Queued captures run when a Pi session with pi-para is open.");
200
- break;
201
- }
202
- case "providers": {
203
- const sub = args[1] ?? "list";
204
- const { readSecretStore, setSecret, removeSecret, redactCredential } = await import("./credentials.js");
205
- if (sub === "set-secret") {
206
- const name = args[2];
207
- const value = args[3];
208
- if (!name || !value) {
209
- console.error("Usage: pi-para providers set-secret <name> <value>");
210
- process.exit(1);
211
- }
212
- await setSecret(name, value);
213
- console.log(`Stored secret:${name}`);
214
- }
215
- else if (sub === "remove-secret") {
216
- const name = args[2];
217
- if (!name) {
218
- console.error("Usage: pi-para providers remove-secret <name>");
219
- process.exit(1);
220
- }
221
- await removeSecret(name);
222
- console.log(`Removed secret:${name}`);
223
- }
224
- else {
225
- const secrets = await readSecretStore();
226
- const names = Object.keys(secrets.secrets);
227
- console.log("pi-para providers");
228
- console.log(" Credential policy: Pi AuthStorage preferred; pi-para secrets fallback; env vars not used by setup.");
229
- if (names.length === 0)
230
- console.log(" No pi-para local secrets configured.");
231
- for (const name of names)
232
- console.log(` secret:${name} = ${redactCredential(secrets.secrets[name])}`);
233
- }
234
- break;
235
- }
236
- case "start": {
237
- const modelIdx = args.indexOf("--model");
238
- const modelArg = modelIdx >= 0 ? args[modelIdx + 1] : undefined;
239
- const { model, getApiKey } = await createModel(modelArg);
240
- // Load web wiki config
241
- let webWiki;
242
- try {
243
- const { readFileSync } = await import("node:fs");
244
- const configPath = join(homedir(), ".pi", "wiki", "config.json");
245
- const raw = readFileSync(configPath, "utf-8");
246
- const config = JSON.parse(raw);
247
- if (config.webWiki?.enabled) {
248
- webWiki = {
249
- enabled: true,
250
- host: config.webWiki.host ?? "0.0.0.0",
251
- port: config.webWiki.port ?? 10973,
252
- };
253
- }
254
- }
255
- catch {
256
- // No config or parse error — skip web wiki
257
- }
258
- const daemon = new Daemon({ wikiDir, model: model, getApiKey, webWiki });
259
- process.on("SIGINT", async () => {
260
- await daemon.stop();
261
- process.exit(0);
262
- });
263
- process.on("SIGTERM", async () => {
264
- await daemon.stop();
265
- process.exit(0);
266
- });
267
- await daemon.start();
268
- // Keep process alive
269
- await new Promise(() => { });
270
- break;
271
- }
272
- case "stop": {
273
- const state = new StateDB(wikiDir);
274
- const pid = state.getState("daemon_pid");
275
- state.close();
276
- if (pid) {
277
- try {
278
- process.kill(parseInt(pid), "SIGTERM");
279
- console.log(`Sent SIGTERM to daemon (PID ${pid})`);
280
- }
281
- catch {
282
- console.log(`Daemon not running (PID ${pid} not found)`);
283
- }
284
- }
285
- else {
286
- console.log("No daemon PID recorded.");
287
- }
288
- break;
289
- }
290
- case "status": {
291
- const json = args.includes("--json");
292
- const { getPiParaStatus, formatPiParaStatus } = await import("./status.js");
293
- const result = await getPiParaStatus();
294
- console.log(json ? JSON.stringify(result, null, 2) : formatPiParaStatus(result));
295
- break;
296
- }
297
- case "legacy-status": {
298
- const state = new StateDB(wikiDir);
299
- const pid = state.getState("daemon_pid");
300
- const startedAt = state.getState("daemon_started_at");
301
- const history = state.getHistory(undefined, 5);
302
- const failed = state.getFailed();
303
- state.close();
304
- let running = false;
305
- if (pid) {
306
- try {
307
- process.kill(parseInt(pid), 0);
308
- running = true;
309
- }
310
- catch { }
311
- }
312
- console.log(`Daemon: ${running ? `running (PID ${pid})` : "not running"}`);
313
- if (startedAt)
314
- console.log(`Started: ${startedAt}`);
315
- console.log(`Failed: ${failed.length}`);
316
- console.log(`\nRecent history:`);
317
- for (const h of history) {
318
- const status = h.error ? `ERROR: ${h.error.slice(0, 50)}` : `${h.pagesCreated.length} pages`;
319
- console.log(` ${h.processedAt} | ${h.scope} | ${status}`);
320
- }
321
- break;
322
- }
323
- case "process": {
324
- const sessionFile = args[1];
325
- if (!sessionFile) {
326
- console.error("Usage: pi-para-daemon process <session_file>");
327
- process.exit(1);
328
- }
329
- const modelIdx2 = args.indexOf("--model");
330
- const modelArg2 = modelIdx2 >= 0 ? args[modelIdx2 + 1] : undefined;
331
- const { model, getApiKey } = await createModel(modelArg2);
332
- const daemon = new Daemon({ wikiDir, model: model, getApiKey });
333
- await daemon.start();
334
- await daemon.processOne(sessionFile);
335
- await daemon.stop();
336
- break;
337
- }
338
- case "process-recent": {
339
- const hoursIdx = args.indexOf("--hours");
340
- const hours = hoursIdx >= 0 ? parseInt(args[hoursIdx + 1] ?? "24") : 24;
341
- const cutoff = Date.now() - hours * 60 * 60 * 1000;
342
- // Find recent sessions from registry
343
- const watcher = new RegistryWatcher(wikiDir, () => { });
344
- const entries = watcher.getAllEntries().filter((e) => {
345
- const ts = new Date(e.timestamp).getTime();
346
- return ts > cutoff;
347
- });
348
- const state = new StateDB(wikiDir);
349
- const unprocessed = entries.filter((e) => !state.isProcessed(e.sessionPath));
350
- state.close();
351
- if (unprocessed.length === 0) {
352
- console.log(`No unprocessed sessions in the last ${hours} hour(s).`);
353
- break;
354
- }
355
- console.log(`Found ${unprocessed.length} unprocessed session(s)`);
356
- const { model, getApiKey } = await createModel();
357
- const daemon = new Daemon({ wikiDir, model: model, getApiKey });
358
- await daemon.start();
359
- for (const entry of unprocessed) {
360
- await daemon.processOne(entry.sessionPath);
361
- }
362
- await daemon.stop();
363
- break;
364
- }
365
- case "retry-failed": {
366
- const { model, getApiKey } = await createModel();
367
- const daemon = new Daemon({ wikiDir, model: model, getApiKey });
368
- await daemon.start();
369
- await daemon.retryFailed();
370
- await daemon.stop();
371
- break;
372
- }
373
- case "history": {
374
- const scopeIdx = args.indexOf("--scope");
375
- const scope = scopeIdx >= 0 ? args[scopeIdx + 1] : undefined;
376
- const state = new StateDB(wikiDir);
377
- const history = state.getHistory(scope, 20);
378
- state.close();
379
- if (history.length === 0) {
380
- console.log("No processing history.");
381
- break;
382
- }
383
- for (const h of history) {
384
- const status = h.error
385
- ? `ERROR: ${h.error.slice(0, 60)}`
386
- : h.pagesCreated.length > 0
387
- ? `${h.pagesCreated.length} page(s): ${h.pagesCreated.join(", ")}`
388
- : "skipped";
389
- console.log(`${h.processedAt} | ${h.scope} | ${status}`);
390
- }
391
- break;
392
- }
393
- case "gepa": {
394
- const sub = args[1];
395
- const { runGEPA, listOptimized, compareTarget, extractTargets } = await import("./gepa/index.js");
396
- switch (sub) {
397
- case "optimize": {
398
- const g = (flag) => { const i = args.indexOf(flag); return i >= 0 ? args[i + 1] : undefined; };
399
- try {
400
- await runGEPA({
401
- target: g("--target"),
402
- studentModel: g("--student-model") ?? g("--model"),
403
- teacherModel: g("--teacher-model") ?? g("--reflection-model"),
404
- judgeModel: g("--judge-model"),
405
- auto: (g("--auto") ?? undefined),
406
- maxMetricCalls: g("--max-metric-calls") ? parseInt(g("--max-metric-calls")) : undefined,
407
- threads: g("--threads") ? parseInt(g("--threads")) : undefined,
408
- seed: g("--seed") ? parseInt(g("--seed")) : undefined,
409
- });
410
- }
411
- catch (err) {
412
- console.error(`[gepa] Error: ${err instanceof Error ? err.message : err}`);
413
- process.exit(1);
414
- }
415
- break;
416
- }
417
- case "list": {
418
- const items = listOptimized();
419
- if (items.length === 0) {
420
- console.log("No optimized prompts. Run 'gepa optimize' first.");
421
- }
422
- else {
423
- for (const i of items)
424
- console.log(` ${i.name}: score=${i.score.toFixed(3)} model=${i.model}`);
425
- }
426
- break;
427
- }
428
- case "targets": {
429
- for (const t of extractTargets())
430
- console.log(` ${t.name} (${t.type}): ${t.content.length} chars`);
431
- break;
432
- }
433
- case "compare": {
434
- const name = args[args.indexOf("--target") + 1];
435
- if (!name) {
436
- console.error("Usage: gepa compare --target <name>");
437
- process.exit(1);
438
- }
439
- const d = compareTarget(name);
440
- if (!d)
441
- console.log(`No optimized version for '${name}'.`);
442
- else {
443
- console.log("=== ORIGINAL ===\n" + d.original.slice(0, 500));
444
- console.log("\n=== OPTIMIZED ===\n" + d.optimized.slice(0, 500));
445
- }
446
- break;
447
- }
448
- default:
449
- console.log(`pi-para gepa — GEPA prompt optimizer (DSPy GEPA via uv)
450
-
451
- Subcommands:
452
- optimize Run DSPy GEPA optimization
453
- list Show optimized prompts and scores
454
- targets List all 22 optimization targets
455
- compare Compare original vs optimized for a target
456
-
457
- Options (optimize):
458
- --target <name> Optimize only this target
459
- --student-model <spec> Student LM — runs proxy (default: anthropic/claude-sonnet-4-20250514)
460
- --teacher-model <spec> Teacher/reflection LM — proposes mutations (default: anthropic/claude-opus-4-6)
461
- --judge-model <spec> Judge LM — scores output (default: same as student)
462
- --model <spec> Shorthand for --student-model
463
- --reflection-model <spec> Shorthand for --teacher-model
464
- --auto light|medium|heavy Budget preset (default: light)
465
- --max-metric-calls <N> Override auto with explicit budget
466
- --threads <N> Parallel eval threads (default: 2)
467
- --seed <N> Random seed (default: 42)
468
-
469
- Config (persistent defaults in ~/.pi/wiki/config.json):
470
- gepa.studentModel gepa.teacherModel gepa.judgeModel
471
- gepa.auto gepa.threads gepa.seed
472
- gepa.useOptimized (toggle optimized prompts at runtime)`);
473
- }
474
- break;
475
- }
476
- default:
477
- console.log(`pi-para — PARA wiki extension CLI
478
-
479
- Primary commands:
480
- setup Configure pi-para for this machine (--yes, --dry-run, --local PATH)
481
- doctor Validate install/config/wiki/QMD health (--fix, --json, --test-capture-model)
482
- tasks Show scheduler queue (--status queued|running|done|failed)
483
- tasks show <id> Show one queued/running/done/failed task payload
484
- tasks history Show scheduler history [--task NAME] [--limit N]
485
- tasks retry Requeue failed scheduler tasks [--task NAME]
486
- status Show config/wiki/scheduler status (--json)
487
- capture-recent Queue recent completed sessions for capture (--hours N)
488
- providers List credential refs and local secrets
489
- providers set-secret <name> <value>
490
- providers remove-secret <name>
491
- gepa <subcommand> GEPA prompt optimizer (optimize, list, targets, compare)
492
-
493
- Legacy compatibility commands:
494
- start Deprecated daemon foreground mode
495
- stop Deprecated daemon stop
496
- legacy-status Legacy daemon status and recent history
497
- process <file> Process a single session file
498
- process-recent Process unprocessed sessions (--hours N, default 24)
499
- retry-failed Retry all failed sessions
500
- history Show processing history (--scope NAME to filter)
501
-
502
- Credential policy:
503
- Use Pi AuthStorage or ~/.pi/para/secrets.json. Setup does not use env vars for API keys.`);
504
- break;
505
- }
506
- }
507
- main().catch((err) => {
508
- console.error(err);
509
- process.exit(1);
510
- });
511
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Slash command registrations for user interaction.
3
- *
4
- * Commands: /wiki, /wiki-ingest, /wiki-lint, /wiki-capture,
5
- * /wiki-scope, /wiki-search, /wiki-summarize,
6
- * /wiki-scheduler, /wiki-daemon compatibility alias, /wiki-settings
7
- */
8
- import type { QMDStore } from "qmd-engine";
9
- import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
10
- import type { ProjectScope } from "./scope.js";
11
- /**
12
- * Register all slash commands with the pi extension API.
13
- */
14
- export declare function registerCommands(pi: ExtensionAPI, wikiDir: string, store: QMDStore, getScope: () => ProjectScope, setScope: (scope: ProjectScope) => void): void;
15
- //# sourceMappingURL=commands.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsJ/C;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,YAAY,EAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GACtC,IAAI,CAwpBN"}