pi-para 0.6.4 → 0.6.6

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 (47) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/CONFIGURATION.md +1 -1
  3. package/README.md +1 -1
  4. package/SETUP.md +2 -2
  5. package/STRUCTURE.md +1 -1
  6. package/dist/cli.d.ts +23 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +71 -83
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands.d.ts +2 -0
  11. package/dist/commands.d.ts.map +1 -1
  12. package/dist/commands.js +12 -5
  13. package/dist/commands.js.map +1 -1
  14. package/dist/credentials.d.ts +2 -2
  15. package/dist/credentials.d.ts.map +1 -1
  16. package/dist/credentials.js +6 -14
  17. package/dist/credentials.js.map +1 -1
  18. package/dist/doctor.js +19 -18
  19. package/dist/doctor.js.map +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +15 -11
  22. package/dist/index.js.map +1 -1
  23. package/dist/link-utils.d.ts +4 -12
  24. package/dist/link-utils.d.ts.map +1 -1
  25. package/dist/link-utils.js +35 -16
  26. package/dist/link-utils.js.map +1 -1
  27. package/dist/lint.d.ts.map +1 -1
  28. package/dist/lint.js +51 -35
  29. package/dist/lint.js.map +1 -1
  30. package/dist/model-resolver.d.ts +13 -6
  31. package/dist/model-resolver.d.ts.map +1 -1
  32. package/dist/model-resolver.js +35 -19
  33. package/dist/model-resolver.js.map +1 -1
  34. package/dist/tools.d.ts +4 -1
  35. package/dist/tools.d.ts.map +1 -1
  36. package/dist/tools.js +11 -5
  37. package/dist/tools.js.map +1 -1
  38. package/package.json +9 -9
  39. package/src/cli.ts +69 -81
  40. package/src/commands.ts +15 -6
  41. package/src/credentials.ts +7 -14
  42. package/src/doctor.ts +18 -16
  43. package/src/index.ts +20 -11
  44. package/src/link-utils.ts +40 -16
  45. package/src/lint.ts +49 -33
  46. package/src/model-resolver.ts +45 -20
  47. package/src/tools.ts +16 -4
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-para",
3
- "version": "0.6.4",
3
+ "version": "0.6.6",
4
4
  "description": "PARA Knowledge Base Extension for pi — persistent, LLM-curated personal wiki",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -164,18 +164,18 @@
164
164
  "node": ">=22.0.0"
165
165
  },
166
166
  "peerDependencies": {
167
- "@earendil-works/pi-agent-core": "^0.80.2",
168
- "@earendil-works/pi-ai": "^0.80.2",
169
- "@earendil-works/pi-coding-agent": "^0.80.2",
170
- "@earendil-works/pi-tui": "^0.80.2",
167
+ "@earendil-works/pi-agent-core": "^0.80.10",
168
+ "@earendil-works/pi-ai": "^0.80.10",
169
+ "@earendil-works/pi-coding-agent": "^0.80.10",
170
+ "@earendil-works/pi-tui": "^0.80.10",
171
171
  "typebox": "^1.1.24"
172
172
  },
173
173
  "peerDependenciesMeta": {},
174
174
  "devDependencies": {
175
- "@earendil-works/pi-agent-core": "^0.80.2",
176
- "@earendil-works/pi-ai": "^0.80.2",
177
- "@earendil-works/pi-coding-agent": "^0.80.2",
178
- "@earendil-works/pi-tui": "^0.80.2",
175
+ "@earendil-works/pi-agent-core": "0.80.10",
176
+ "@earendil-works/pi-ai": "0.80.10",
177
+ "@earendil-works/pi-coding-agent": "0.80.10",
178
+ "@earendil-works/pi-tui": "0.80.10",
179
179
  "@types/node": "^24.3.0",
180
180
  "@vitest/coverage-v8": "^3.2.4",
181
181
  "tsx": "^4.21.0",
package/src/cli.ts CHANGED
@@ -6,6 +6,7 @@
6
6
  */
7
7
 
8
8
  import { join } from "node:path";
9
+ import { pathToFileURL } from "node:url";
9
10
  import { homedir } from "node:os";
10
11
  import { existsSync, readdirSync, statSync } from "node:fs";
11
12
 
@@ -17,123 +18,108 @@ import { formatLegacyDaemonWarning, isLegacyDaemonCommand } from "./cli-legacy.j
17
18
  // -- Model setup -------------------------------------------------------------
18
19
  // Use MiniMax via the same config as qmd-engine
19
20
 
20
- async function createModel(modelArg?: string) {
21
+ export async function createModel(modelArg?: string) {
21
22
  const { parse } = await import("yaml");
22
23
  const { readFileSync } = await import("node:fs");
23
- const { getModel, getProviders, getEnvApiKey } = await import("@earendil-works/pi-ai/compat");
24
+ const { getProviders, getEnvApiKey } = await import("@earendil-works/pi-ai/compat");
25
+ const { createPiModelServices, parseProviderModelSpec } = await import("./model-resolver.js");
26
+ const { loadParaConfig } = await import("./config.js");
27
+ const { resolveCredentialRef } = await import("./credentials.js");
24
28
 
25
- // 0. Try config.json daemonModel
26
29
  if (!modelArg) {
27
30
  try {
28
31
  const configPath = join(homedir(), ".pi", "wiki", "config.json");
29
- const raw = readFileSync(configPath, "utf-8");
30
- const config = JSON.parse(raw);
32
+ const config = JSON.parse(readFileSync(configPath, "utf-8"));
31
33
  if (config.daemonModel) {
32
34
  modelArg = config.daemonModel;
33
35
  console.log(`[daemon] Using model from config.json: ${modelArg}`);
34
36
  }
35
37
  } catch {
36
- // No config or no daemonModel — continue to auto-detect
38
+ // No legacy daemon model configured.
37
39
  }
38
40
  }
39
41
 
40
- // 1. Try CLI --model arg or config daemonModel
41
- if (modelArg) {
42
- const [provider, ...rest] = modelArg.split("/");
43
- const modelId = rest.join("/");
44
- if (provider && modelId) {
45
- const model = getModel(provider as any, modelId as any);
46
- if (model) {
47
- // Resolve API key: try AuthStorage first (OAuth), then env vars
48
- let authStore: any = null;
49
- try {
50
- const { AuthStorage } = await import("@earendil-works/pi-coding-agent");
51
- authStore = AuthStorage.create();
52
- } catch {}
53
- const getApiKey = async (p: string) => {
54
- if (authStore) {
55
- const k = await authStore.getApiKey(p);
56
- if (k) return k;
57
- }
58
- return getEnvApiKey(p) ?? "";
59
- };
60
- console.log(`[daemon] Using pi model: ${provider}/${modelId} (context: ${model.contextWindow})`);
42
+ const services = await createPiModelServices();
43
+ let configuredCapture: Awaited<ReturnType<typeof loadParaConfig>> | null = null;
44
+ try { configuredCapture = await loadParaConfig(); } catch { /* optional fallback */ }
45
+ const configuredSelection = configuredCapture?.config.models.capture;
46
+ if (!modelArg && configuredSelection && configuredSelection !== "auto" && configuredSelection.model) {
47
+ modelArg = `${configuredSelection.provider}/${configuredSelection.model}`;
48
+ }
49
+
50
+ const configuredSecret = async (provider: string): Promise<string | undefined> => {
51
+ const selection = configuredCapture?.config.models.capture;
52
+ if (!selection || selection === "auto" || selection.provider !== provider || !selection.credentialRef.startsWith("secret:")) return undefined;
53
+ const resolved = await resolveCredentialRef(selection.credentialRef, { secretsPath: configuredCapture?.paths.secretsPath });
54
+ return resolved.ok ? resolved.value : undefined;
55
+ };
56
+ const getDurableKey = async (provider: string): Promise<string | undefined> =>
57
+ await services?.credentials.getApiKey(provider) ?? await configuredSecret(provider);
58
+
59
+ if (modelArg && !services) {
60
+ console.error("Error: Pi credential runtime is unavailable.");
61
+ process.exit(1);
62
+ }
63
+
64
+ if (modelArg && services) {
65
+ const spec = parseProviderModelSpec(modelArg);
66
+ const model = spec ? services.modelRegistry.find(spec.provider, spec.modelId) : undefined;
67
+ if (model && model.provider !== "node-llama-cpp" && model.provider !== "local") {
68
+ const key = await getDurableKey(model.provider) ?? getEnvApiKey(model.provider);
69
+ if (key) {
70
+ const getApiKey = async (provider: string) => await getDurableKey(provider) ?? getEnvApiKey(provider);
71
+ console.log(`[daemon] Using pi model: ${model.provider}/${model.id} (context: ${model.contextWindow})`);
61
72
  return { model, getApiKey };
62
73
  }
74
+ console.error(`Error: No credential available for Pi model: ${modelArg}`);
75
+ process.exit(1);
63
76
  }
77
+ console.error(`Error: Unknown Pi model: ${modelArg}`);
78
+ process.exit(1);
64
79
  }
65
80
 
66
- // 2. Try pi's auth storage (auth.json) — supports OAuth (Anthropic, GitHub Copilot, etc.)
67
- try {
68
- const { AuthStorage } = await import("@earendil-works/pi-coding-agent");
69
- const authStorage = AuthStorage.create();
70
- const { getModels } = await import("@earendil-works/pi-ai/compat");
71
-
72
- // Check providers in preference order: anthropic first (best quality)
81
+ if (services) {
73
82
  const preferredProviders = ["anthropic", "openai", "openrouter", "google-antigravity", "github-copilot"];
74
83
  for (const provider of preferredProviders) {
75
- if (!authStorage.hasAuth(provider)) continue;
76
- const key = await authStorage.getApiKey(provider);
77
- if (!key) continue;
78
-
79
- const models = getModels(provider as any);
84
+ if (!services.credentials.hasStoredCredential(provider) && !await configuredSecret(provider)) continue;
85
+ const models = services.modelRegistry.getAll().filter((model) => model.provider === provider && model.provider !== "node-llama-cpp" && model.provider !== "local");
80
86
  const sorted = [...models].sort((a, b) => (b.contextWindow ?? 0) - (a.contextWindow ?? 0));
81
- const picked = sorted.find(m => !m.reasoning) ?? sorted[0];
87
+ const picked = sorted.find((model) => !model.reasoning) ?? sorted[0];
82
88
  if (picked) {
83
- const getApiKey = async (p: string) => {
84
- const k = await authStorage.getApiKey(p);
85
- return k ?? getEnvApiKey(p) ?? "";
86
- };
87
- console.log(`[daemon] Using pi auth: ${provider}/${picked.id} (context: ${picked.contextWindow})`);
89
+ const getApiKey = async (requestedProvider: string) => await getDurableKey(requestedProvider) ?? getEnvApiKey(requestedProvider);
90
+ console.log(`[daemon] Using persisted Pi auth: ${provider}/${picked.id} (context: ${picked.contextWindow})`);
88
91
  return { model: picked, getApiKey };
89
92
  }
90
93
  }
91
- } catch {
92
- // AuthStorage not available — continue to env/qmd fallback
93
94
  }
94
95
 
95
- // 3. Try env vars
96
- const providers = getProviders();
97
- for (const provider of providers) {
96
+ // Optional legacy environment compatibility.
97
+ for (const provider of getProviders()) {
98
98
  const key = getEnvApiKey(provider);
99
- if (key) {
100
- const { getModels } = await import("@earendil-works/pi-ai/compat");
101
- const models = getModels(provider as any);
102
- const sorted = [...models].sort((a, b) => (b.contextWindow ?? 0) - (a.contextWindow ?? 0));
103
- const picked = sorted.find(m => !m.reasoning) ?? sorted[0];
104
- if (picked) {
105
- const getApiKey = async (p: string) => getEnvApiKey(p) ?? "";
106
- console.log(`[daemon] Using env key: ${provider}/${picked.id} (context: ${picked.contextWindow})`);
107
- return { model: picked, getApiKey };
108
- }
109
- }
99
+ if (!key) continue;
100
+ const models = services?.modelRegistry.getAll().filter((model) => model.provider === provider) ?? [];
101
+ const sorted = [...models].sort((a, b) => (b.contextWindow ?? 0) - (a.contextWindow ?? 0));
102
+ const picked = sorted.find((model) => !model.reasoning) ?? sorted[0];
103
+ if (picked) return { model: picked, getApiKey: async (requestedProvider: string) => getEnvApiKey(requestedProvider) };
110
104
  }
111
105
 
112
- // 3. Fall back to qmd config (MiniMax, OpenRouter, etc.)
106
+ // Preserve the legacy CLI's QMD compatibility fallback.
113
107
  const configPath = join(homedir(), ".config", "qmd", "index.yml");
114
108
  if (existsSync(configPath)) {
115
109
  const cfg = parse(readFileSync(configPath, "utf-8"));
116
110
  const chat = cfg?.providers?.chat;
117
111
  if (chat?.url && chat?.key) {
118
112
  const model = {
119
- id: chat.model || "MiniMax-M2.7-highspeed",
120
- name: chat.model || "MiniMax-M2.7-highspeed",
121
- provider: "custom",
113
+ id: chat.model || "MiniMax-M2.7-highspeed", name: chat.model || "MiniMax-M2.7-highspeed", provider: "custom",
122
114
  api: chat.api === "anthropic" ? "anthropic-messages" as const : "openai-completions" as const,
123
- baseUrl: chat.url,
124
- reasoning: false,
125
- input: ["text" as const],
126
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
127
- contextWindow: 196000,
128
- maxTokens: 8192,
115
+ baseUrl: chat.url, reasoning: false, input: ["text" as const],
116
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 196000, maxTokens: 8192,
129
117
  };
130
- const getApiKey = async (_provider: string) => chat.key as string;
131
- console.log(`[daemon] Using qmd provider: ${chat.model} at ${chat.url}`);
132
- return { model, getApiKey };
118
+ return { model, getApiKey: async (_provider: string) => chat.key as string };
133
119
  }
134
120
  }
135
121
 
136
- console.error("Error: No LLM available. Set API keys (ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.) or configure ~/.config/qmd/index.yml");
122
+ console.error("Error: No LLM available. Configure persisted Pi auth or ~/.pi/para/secrets.json (legacy env/QMD configuration is also supported).");
137
123
  process.exit(1);
138
124
  }
139
125
 
@@ -233,7 +219,7 @@ async function main() {
233
219
  const secrets = await readSecretStore();
234
220
  const names = Object.keys(secrets.secrets);
235
221
  console.log("pi-para providers");
236
- console.log(" Credential policy: Pi AuthStorage preferred; pi-para secrets fallback; env vars not used by setup.");
222
+ console.log(" Credential policy: persisted Pi auth preferred; pi-para secrets fallback; env vars not used by setup.");
237
223
  if (names.length === 0) console.log(" No pi-para local secrets configured.");
238
224
  for (const name of names) console.log(` secret:${name} = ${redactCredential(secrets.secrets[name])}`);
239
225
  }
@@ -440,12 +426,14 @@ Legacy compatibility commands:
440
426
  history Show processing history (--scope NAME to filter)
441
427
 
442
428
  Credential policy:
443
- Use Pi AuthStorage or ~/.pi/para/secrets.json. Setup does not use env vars for API keys.`);
429
+ Use persisted Pi auth or ~/.pi/para/secrets.json. Setup does not use env vars for API keys.`);
444
430
  break;
445
431
  }
446
432
  }
447
433
 
448
- main().catch((err) => {
449
- console.error(err);
450
- process.exit(1);
451
- });
434
+ if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
435
+ main().catch((err) => {
436
+ console.error(err);
437
+ process.exit(1);
438
+ });
439
+ }
package/src/commands.ts CHANGED
@@ -25,6 +25,15 @@ import {
25
25
  validateFrontmatter,
26
26
  } from "./frontmatter.js";
27
27
  import { appendCompletedSession } from "./scheduler/session-capture.js";
28
+ import { createPiModelServices, type PiModelServices } from "./model-resolver.js";
29
+
30
+ export function listStoredCaptureProviders(services: PiModelServices): string[] {
31
+ return [...new Set(
32
+ services.modelRegistry.getAll()
33
+ .map((model) => model.provider)
34
+ .filter((provider) => services.credentials.hasStoredCredential(provider)),
35
+ )];
36
+ }
28
37
 
29
38
  // -- Helpers -----------------------------------------------------------------
30
39
 
@@ -733,10 +742,9 @@ ${goal} — verified and complete.
733
742
  }
734
743
  } else if (choice.startsWith("[Capture]")) {
735
744
  try {
736
- const { getProviders, getModels } = await import("@earendil-works/pi-ai/compat");
737
- const { AuthStorage } = await import("@earendil-works/pi-coding-agent");
738
- const authStorage = AuthStorage.create();
739
- const availableProviders = getProviders().filter((p: string) => authStorage.hasAuth(p));
745
+ const services = await createPiModelServices();
746
+ if (!services) throw new Error("Pi model runtime unavailable");
747
+ const availableProviders = listStoredCaptureProviders(services);
740
748
 
741
749
  if (availableProviders.length === 0) {
742
750
  ctx.ui.notify("No Pi auth providers configured. Use /login first or configure a pi-para secret for custom providers.", "warning");
@@ -747,8 +755,9 @@ ${goal} — verified and complete.
747
755
  await persist();
748
756
  ctx.ui.notify("Set capture model = auto. Restart open Pi sessions to apply.", "info");
749
757
  } else if (providerChoice) {
750
- const models = getModels(providerChoice as any)
751
- .sort((a: any, b: any) => (b.contextWindow ?? 0) - (a.contextWindow ?? 0));
758
+ const models = services.modelRegistry.getAll()
759
+ .filter((model) => model.provider === providerChoice)
760
+ .sort((a, b) => (b.contextWindow ?? 0) - (a.contextWindow ?? 0));
752
761
  const modelChoice = await ctx.ui.select(
753
762
  `Select ${providerChoice} model`,
754
763
  models.map((m: any) => `${m.id} (${Math.round((m.contextWindow ?? 0) / 1000)}k ctx${m.reasoning ? ", reasoning" : ""})`),
@@ -62,7 +62,7 @@ export async function removeSecret(name: string, path = getParaPaths().secretsPa
62
62
 
63
63
  export async function resolveCredentialRef(
64
64
  ref: CredentialRef,
65
- opts: { secretsPath?: string; authStorage?: { getApiKey(provider: string): Promise<string | undefined> } } = {},
65
+ opts: { secretsPath?: string; credentials?: { getApiKey(provider: string): Promise<string | undefined> } | null } = {},
66
66
  ): Promise<CredentialResolution> {
67
67
  const parsed = parseCredentialRef(ref);
68
68
  if (parsed.kind === "none") return { ok: true, source: "none" };
@@ -74,24 +74,17 @@ export async function resolveCredentialRef(
74
74
  return { ok: true, source: "secret", value };
75
75
  }
76
76
 
77
- const authStorage = opts.authStorage ?? await createPiAuthStorage();
78
- if (!authStorage) {
79
- return { ok: false, source: "missing", error: "Pi AuthStorage is unavailable." };
77
+ const credentials = Object.hasOwn(opts, "credentials")
78
+ ? opts.credentials
79
+ : (await (await import("./model-resolver.js")).createPiModelServices())?.credentials;
80
+ if (!credentials) {
81
+ return { ok: false, source: "missing", error: "Pi credential runtime is unavailable." };
80
82
  }
81
- const value = await authStorage.getApiKey(parsed.name ?? "");
83
+ const value = await credentials.getApiKey(parsed.name ?? "");
82
84
  if (!value) return { ok: false, source: "missing", error: `Pi auth not configured for provider: ${parsed.name}` };
83
85
  return { ok: true, source: "pi-auth", value };
84
86
  }
85
87
 
86
- async function createPiAuthStorage(): Promise<{ getApiKey(provider: string): Promise<string | undefined> } | null> {
87
- try {
88
- const mod = await import("@earendil-works/pi-coding-agent");
89
- const AuthStorage = (mod as unknown as { AuthStorage?: { create(): { getApiKey(provider: string): Promise<string | undefined> } } }).AuthStorage;
90
- return AuthStorage?.create() ?? null;
91
- } catch {
92
- return null;
93
- }
94
- }
95
88
 
96
89
  export function redactCredential(value: string | undefined): string {
97
90
  if (!value) return "not set";