pi-loop 0.1.1 → 0.1.2

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 (121) hide show
  1. package/dist/agents/adapter.d.ts +7 -1
  2. package/dist/agents/adapter.d.ts.map +1 -1
  3. package/dist/agents/adapter.js +28 -3
  4. package/dist/agents/adapter.js.map +1 -1
  5. package/dist/agents/factory.d.ts +1 -1
  6. package/dist/agents/factory.d.ts.map +1 -1
  7. package/dist/agents/factory.js +10 -2
  8. package/dist/agents/factory.js.map +1 -1
  9. package/dist/agents/registry.d.ts.map +1 -1
  10. package/dist/agents/registry.js +1 -1
  11. package/dist/agents/registry.js.map +1 -1
  12. package/dist/agents/types.d.ts.map +1 -1
  13. package/dist/agents/types.js +1 -9
  14. package/dist/agents/types.js.map +1 -1
  15. package/dist/cli/args.d.ts +15 -1
  16. package/dist/cli/args.d.ts.map +1 -1
  17. package/dist/cli/args.js +47 -0
  18. package/dist/cli/args.js.map +1 -1
  19. package/dist/cli/commands.d.ts +4 -0
  20. package/dist/cli/commands.d.ts.map +1 -1
  21. package/dist/cli/commands.js +294 -16
  22. package/dist/cli/commands.js.map +1 -1
  23. package/dist/cli/live-interface.d.ts +31 -0
  24. package/dist/cli/live-interface.d.ts.map +1 -0
  25. package/dist/cli/live-interface.js +190 -0
  26. package/dist/cli/live-interface.js.map +1 -0
  27. package/dist/cli/output.d.ts.map +1 -1
  28. package/dist/cli/output.js.map +1 -1
  29. package/dist/config/defaults.d.ts.map +1 -1
  30. package/dist/config/defaults.js +2 -0
  31. package/dist/config/defaults.js.map +1 -1
  32. package/dist/config/global-store.d.ts +15 -0
  33. package/dist/config/global-store.d.ts.map +1 -0
  34. package/dist/config/global-store.js +136 -0
  35. package/dist/config/global-store.js.map +1 -0
  36. package/dist/config/loader.d.ts.map +1 -1
  37. package/dist/config/loader.js +79 -24
  38. package/dist/config/loader.js.map +1 -1
  39. package/dist/config/provider-api-keys.d.ts +11 -0
  40. package/dist/config/provider-api-keys.d.ts.map +1 -0
  41. package/dist/config/provider-api-keys.js +15 -0
  42. package/dist/config/provider-api-keys.js.map +1 -0
  43. package/dist/config/types.d.ts +3 -0
  44. package/dist/config/types.d.ts.map +1 -1
  45. package/dist/core/checkpoint.d.ts +1 -0
  46. package/dist/core/checkpoint.d.ts.map +1 -1
  47. package/dist/core/checkpoint.js.map +1 -1
  48. package/dist/core/concurrency-controller.d.ts +34 -0
  49. package/dist/core/concurrency-controller.d.ts.map +1 -0
  50. package/dist/core/concurrency-controller.js +63 -0
  51. package/dist/core/concurrency-controller.js.map +1 -0
  52. package/dist/core/judge.d.ts.map +1 -1
  53. package/dist/core/judge.js +4 -1
  54. package/dist/core/judge.js.map +1 -1
  55. package/dist/core/learnings.js +1 -1
  56. package/dist/core/learnings.js.map +1 -1
  57. package/dist/core/orchestrator.d.ts +7 -0
  58. package/dist/core/orchestrator.d.ts.map +1 -1
  59. package/dist/core/orchestrator.js +108 -22
  60. package/dist/core/orchestrator.js.map +1 -1
  61. package/dist/core/plan.js +1 -1
  62. package/dist/core/plan.js.map +1 -1
  63. package/dist/core/runtime-events.d.ts +60 -0
  64. package/dist/core/runtime-events.d.ts.map +1 -0
  65. package/dist/core/runtime-events.js +45 -0
  66. package/dist/core/runtime-events.js.map +1 -0
  67. package/dist/core/runtime-hooks.d.ts +8 -0
  68. package/dist/core/runtime-hooks.d.ts.map +1 -0
  69. package/dist/core/runtime-hooks.js +2 -0
  70. package/dist/core/runtime-hooks.js.map +1 -0
  71. package/dist/core/task-backend.d.ts +5 -0
  72. package/dist/core/task-backend.d.ts.map +1 -1
  73. package/dist/core/task-backend.js.map +1 -1
  74. package/dist/core/task-state.d.ts.map +1 -1
  75. package/dist/core/task-state.js +14 -6
  76. package/dist/core/task-state.js.map +1 -1
  77. package/dist/core/wiring.d.ts +2 -1
  78. package/dist/core/wiring.d.ts.map +1 -1
  79. package/dist/core/wiring.js +22 -9
  80. package/dist/core/wiring.js.map +1 -1
  81. package/dist/index.js +4 -1
  82. package/dist/index.js.map +1 -1
  83. package/dist/integrations/linear/backend.d.ts +8 -0
  84. package/dist/integrations/linear/backend.d.ts.map +1 -1
  85. package/dist/integrations/linear/backend.js +139 -8
  86. package/dist/integrations/linear/backend.js.map +1 -1
  87. package/dist/integrations/linear/client.js +1 -1
  88. package/dist/integrations/linear/client.js.map +1 -1
  89. package/dist/integrations/linear/seed-description.d.ts +3 -0
  90. package/dist/integrations/linear/seed-description.d.ts.map +1 -0
  91. package/dist/integrations/linear/seed-description.js +23 -0
  92. package/dist/integrations/linear/seed-description.js.map +1 -0
  93. package/dist/swarm/pool.d.ts +20 -0
  94. package/dist/swarm/pool.d.ts.map +1 -1
  95. package/dist/swarm/pool.js +124 -23
  96. package/dist/swarm/pool.js.map +1 -1
  97. package/dist/swarm/scheduler.d.ts.map +1 -1
  98. package/dist/swarm/scheduler.js +50 -6
  99. package/dist/swarm/scheduler.js.map +1 -1
  100. package/dist/swarm/worker.d.ts +4 -0
  101. package/dist/swarm/worker.d.ts.map +1 -1
  102. package/dist/swarm/worker.js +120 -86
  103. package/dist/swarm/worker.js.map +1 -1
  104. package/dist/tools/bash-tool.d.ts.map +1 -1
  105. package/dist/tools/bash-tool.js.map +1 -1
  106. package/dist/tools/file-tools.d.ts.map +1 -1
  107. package/dist/tools/file-tools.js +1 -1
  108. package/dist/tools/file-tools.js.map +1 -1
  109. package/dist/tools/git-tools.d.ts.map +1 -1
  110. package/dist/tools/git-tools.js.map +1 -1
  111. package/dist/tools/learnings-tool.d.ts.map +1 -1
  112. package/dist/tools/learnings-tool.js +3 -3
  113. package/dist/tools/learnings-tool.js.map +1 -1
  114. package/dist/tools/plan-tool.d.ts.map +1 -1
  115. package/dist/tools/plan-tool.js.map +1 -1
  116. package/dist/tools/task-tools.d.ts.map +1 -1
  117. package/dist/tools/task-tools.js +1 -1
  118. package/dist/tools/task-tools.js.map +1 -1
  119. package/dist/tools/test-tool.d.ts.map +1 -1
  120. package/dist/tools/test-tool.js.map +1 -1
  121. package/package.json +46 -45
@@ -3,17 +3,22 @@
3
3
  */
4
4
  import { existsSync } from "node:fs";
5
5
  import { copyFile, mkdir, readFile, readdir, rm, writeFile } from "node:fs/promises";
6
- import { dirname, resolve } from "node:path";
6
+ import { basename, dirname, resolve } from "node:path";
7
7
  import { fileURLToPath } from "node:url";
8
+ import { DEFAULT_CONFIG } from "../config/defaults.js";
9
+ import { hydrateEnvFromGlobalSecrets, loadGlobalConfig, loadGlobalSecrets, maskSecret, saveGlobalConfigPatch, saveGlobalSecretsPatch, } from "../config/global-store.js";
8
10
  import { loadConfig } from "../config/loader.js";
11
+ import { DEFAULT_PROVIDER_API_KEY_ENV_VARS, normalizeProviderName, resolveDefaultApiKeyEnvVar, } from "../config/provider-api-keys.js";
9
12
  import { loadCheckpoint } from "../core/checkpoint.js";
13
+ import { MutableConcurrencyController } from "../core/concurrency-controller.js";
10
14
  import { Orchestrator } from "../core/orchestrator.js";
11
15
  import { evaluateTaskReadiness } from "../core/readiness-policy.js";
12
16
  import { selectExecutionOrder } from "../core/scheduling-policy.js";
13
17
  import { parseTasks } from "../core/task-state.js";
14
18
  import { buildOrchestratorDeps } from "../core/wiring.js";
15
- import { ensureRepo } from "../git/repo.js";
19
+ import { ensureRepo, getRepoRoot } from "../git/repo.js";
16
20
  import { createLinearTaskBackend } from "../integrations/linear/backend.js";
21
+ import { LiveInterface, shouldEnableLiveInterface } from "./live-interface.js";
17
22
  import { logError, logPhase, logSuccess, logSummary, logTask, logVerbose } from "./output.js";
18
23
  /**
19
24
  * Builds CLI overrides into a partial PiLoopConfig.
@@ -62,13 +67,101 @@ function validateLinearConfiguration(config) {
62
67
  else if (!process.env[config.linear.tokenEnvVar]) {
63
68
  errors.push(`Missing Linear token environment variable: ${config.linear.tokenEnvVar}`);
64
69
  }
70
+ if (!config.linear.teamId?.trim()) {
71
+ errors.push("Linear backend selected but config.linear.teamId is empty");
72
+ }
65
73
  return errors;
66
74
  }
75
+ function createRuntimeSession(options, config) {
76
+ const uiEnabled = shouldEnableLiveInterface(options.ui);
77
+ if (!uiEnabled) {
78
+ if (options.ui === true && !(process.stdin.isTTY && process.stderr.isTTY)) {
79
+ logWarning("Interactive UI requires a TTY. Falling back to plain output.");
80
+ }
81
+ return {};
82
+ }
83
+ const maxDynamicConcurrency = Math.max(config.maxConcurrency, 8);
84
+ const concurrencyController = new MutableConcurrencyController(config.maxConcurrency, {
85
+ min: 1,
86
+ max: maxDynamicConcurrency,
87
+ });
88
+ const liveInterface = new LiveInterface({ concurrencyController });
89
+ const runtimeHooks = {
90
+ onEvent: liveInterface.createEventSink(),
91
+ concurrencyController,
92
+ suppressConsoleLogs: true,
93
+ };
94
+ return {
95
+ liveInterface,
96
+ runtimeHooks,
97
+ };
98
+ }
99
+ function parseModelSelection(value) {
100
+ const [provider, ...rest] = value.split(":");
101
+ const modelId = rest.join(":");
102
+ const normalizedProvider = normalizeProviderName(provider);
103
+ if (!normalizedProvider || !modelId)
104
+ return undefined;
105
+ return { provider: normalizedProvider, modelId };
106
+ }
107
+ function resolveDisplayApiKey(secret, envApiKeys, envVar) {
108
+ return secret ?? envApiKeys?.[envVar];
109
+ }
110
+ function summarizeAdditionalApiKeyEnvVars(envApiKeys) {
111
+ if (!envApiKeys) {
112
+ return [];
113
+ }
114
+ return Object.keys(envApiKeys)
115
+ .filter((envVar) => envVar !== DEFAULT_PROVIDER_API_KEY_ENV_VARS.openai && envVar !== DEFAULT_PROVIDER_API_KEY_ENV_VARS.anthropic)
116
+ .sort();
117
+ }
118
+ function parseTrimmedOptionalOption(value) {
119
+ if (value === undefined) {
120
+ return undefined;
121
+ }
122
+ const trimmedValue = value.trim();
123
+ if (!trimmedValue) {
124
+ return "";
125
+ }
126
+ return trimmedValue;
127
+ }
128
+ function resolveApiKeyTarget(options, selectedModelProvider, defaultProvider) {
129
+ const explicitProvider = parseTrimmedOptionalOption(options.provider);
130
+ if (explicitProvider === "") {
131
+ return { provider: "", envVar: undefined };
132
+ }
133
+ const explicitEnvVar = parseTrimmedOptionalOption(options.envVar);
134
+ if (explicitEnvVar === "") {
135
+ return { provider: "", envVar: "" };
136
+ }
137
+ const targetProvider = normalizeProviderName(explicitProvider ?? selectedModelProvider ?? defaultProvider);
138
+ const targetEnvVar = explicitEnvVar ?? resolveDefaultApiKeyEnvVar(targetProvider);
139
+ return {
140
+ provider: targetProvider,
141
+ envVar: targetEnvVar,
142
+ };
143
+ }
144
+ async function applyAutoLinearProjectName(config, workDir) {
145
+ if (config.taskBackend !== "linear") {
146
+ return;
147
+ }
148
+ if (config.linear.projectName?.trim()) {
149
+ return;
150
+ }
151
+ let root = resolve(workDir);
152
+ try {
153
+ root = await getRepoRoot(workDir);
154
+ }
155
+ catch {
156
+ // Not a git repo yet; fallback to working directory.
157
+ }
158
+ const rawName = basename(root).trim();
159
+ config.linear.projectName = rawName || "piloop-project";
160
+ }
67
161
  /**
68
162
  * Main execution: load config, create orchestrator, run.
69
163
  */
70
164
  export async function runCommand(planPath, options) {
71
- logPhase("initializing");
72
165
  const overrides = buildOverrides(options);
73
166
  const config = await loadConfig(options.config, overrides);
74
167
  applyLinearCliOverrides(config, options);
@@ -80,23 +173,32 @@ export async function runCommand(planPath, options) {
80
173
  process.exitCode = 1;
81
174
  return;
82
175
  }
83
- logVerbose(`Model: ${config.defaultModel.provider}:${config.defaultModel.modelId}`, options.verbose ?? false);
84
- logVerbose(`Concurrency: ${config.maxConcurrency}`, options.verbose ?? false);
85
- logVerbose(`Thinking: ${config.thinkingLevel}`, options.verbose ?? false);
176
+ const runtime = createRuntimeSession(options, config);
177
+ const usingLiveInterface = Boolean(runtime.liveInterface);
178
+ const verbosePlain = (options.verbose ?? false) && !usingLiveInterface;
179
+ if (!usingLiveInterface) {
180
+ logPhase("initializing");
181
+ logVerbose(`Model: ${config.defaultModel.provider}:${config.defaultModel.modelId}`, verbosePlain);
182
+ logVerbose(`Concurrency: ${config.maxConcurrency}`, verbosePlain);
183
+ logVerbose(`Thinking: ${config.thinkingLevel}`, verbosePlain);
184
+ }
86
185
  const resolvedPlan = resolve(planPath);
87
186
  if (!existsSync(resolvedPlan)) {
88
187
  logError(`Plan file not found: ${resolvedPlan}`);
89
188
  process.exitCode = 1;
90
189
  return;
91
190
  }
92
- logPhase("running");
93
- logVerbose(`Plan: ${resolvedPlan}`, options.verbose ?? false);
191
+ if (!usingLiveInterface) {
192
+ logPhase("running");
193
+ logVerbose(`Plan: ${resolvedPlan}`, verbosePlain);
194
+ }
94
195
  const workDir = process.cwd();
95
196
  await ensureRepo(workDir);
197
+ await applyAutoLinearProjectName(config, workDir);
96
198
  const piLoopDir = resolve(workDir, ".pi-loop");
97
199
  const tasksPath = resolve(piLoopDir, "Tasks.md");
98
200
  const learningsPath = resolve(piLoopDir, "Learnings.md");
99
- const deps = await buildOrchestratorDeps(config, resolvedPlan, tasksPath, learningsPath, workDir);
201
+ const deps = await buildOrchestratorDeps(config, resolvedPlan, tasksPath, learningsPath, workDir, runtime.runtimeHooks);
100
202
  const orchestrator = new Orchestrator({
101
203
  planPath: resolvedPlan,
102
204
  tasksPath,
@@ -104,8 +206,17 @@ export async function runCommand(planPath, options) {
104
206
  config,
105
207
  deps,
106
208
  workDir,
209
+ runtimeHooks: runtime.runtimeHooks,
107
210
  });
108
- const verdict = await orchestrator.run();
211
+ const verdict = await (async () => {
212
+ runtime.liveInterface?.start();
213
+ try {
214
+ return await orchestrator.run();
215
+ }
216
+ finally {
217
+ runtime.liveInterface?.stop();
218
+ }
219
+ })();
109
220
  logPhase(verdict.status === "done" ? "completed" : "incomplete");
110
221
  logSuccess(`Verdict: ${verdict.status}`);
111
222
  if (verdict.feedback) {
@@ -122,7 +233,6 @@ export async function runCommand(planPath, options) {
122
233
  * Load checkpoint, resume from where we left off.
123
234
  */
124
235
  export async function resumeCommand(options) {
125
- logPhase("resuming");
126
236
  const checkpoint = await loadCheckpoint();
127
237
  if (!checkpoint) {
128
238
  logError("No checkpoint found. Nothing to resume.");
@@ -140,14 +250,21 @@ export async function resumeCommand(options) {
140
250
  process.exitCode = 1;
141
251
  return;
142
252
  }
143
- logVerbose(`Resuming from phase: ${checkpoint.phase}, cycle: ${checkpoint.cycle}`, options.verbose ?? false);
144
- logVerbose(`Config loaded: concurrency=${config.maxConcurrency}`, options.verbose ?? false);
253
+ const runtime = createRuntimeSession(options, config);
254
+ const usingLiveInterface = Boolean(runtime.liveInterface);
255
+ const verbosePlain = (options.verbose ?? false) && !usingLiveInterface;
256
+ if (!usingLiveInterface) {
257
+ logPhase("resuming");
258
+ logVerbose(`Resuming from phase: ${checkpoint.phase}, cycle: ${checkpoint.cycle}`, verbosePlain);
259
+ logVerbose(`Config loaded: concurrency=${config.maxConcurrency}`, verbosePlain);
260
+ }
145
261
  const workDir = process.cwd();
146
262
  await ensureRepo(workDir);
263
+ await applyAutoLinearProjectName(config, workDir);
147
264
  const piLoopDir = resolve(workDir, ".pi-loop");
148
265
  const tasksPath = resolve(piLoopDir, "Tasks.md");
149
266
  const learningsPath = resolve(piLoopDir, "Learnings.md");
150
- const deps = await buildOrchestratorDeps(config, checkpoint.planPath, tasksPath, learningsPath, workDir);
267
+ const deps = await buildOrchestratorDeps(config, checkpoint.planPath, tasksPath, learningsPath, workDir, runtime.runtimeHooks);
151
268
  const orchestrator = new Orchestrator({
152
269
  planPath: checkpoint.planPath,
153
270
  tasksPath,
@@ -155,8 +272,17 @@ export async function resumeCommand(options) {
155
272
  config,
156
273
  deps,
157
274
  workDir,
275
+ runtimeHooks: runtime.runtimeHooks,
158
276
  });
159
- const verdict = await orchestrator.resume(checkpoint);
277
+ const verdict = await (async () => {
278
+ runtime.liveInterface?.start();
279
+ try {
280
+ return await orchestrator.resume(checkpoint);
281
+ }
282
+ finally {
283
+ runtime.liveInterface?.stop();
284
+ }
285
+ })();
160
286
  logPhase(verdict.status === "done" ? "completed" : "incomplete");
161
287
  logSuccess(`Verdict: ${verdict.status}`);
162
288
  if (verdict.feedback) {
@@ -172,6 +298,7 @@ export async function resumeCommand(options) {
172
298
  export async function statusCommand() {
173
299
  logPhase("status");
174
300
  const config = await loadConfig();
301
+ await applyAutoLinearProjectName(config, process.cwd());
175
302
  logSuccess(`Task backend: ${config.taskBackend}`);
176
303
  if (config.taskBackend === "linear") {
177
304
  const linearErrors = validateLinearConfiguration(config);
@@ -267,6 +394,7 @@ export async function validateCommand(planPath, options) {
267
394
  logVerbose(`Concurrency: ${config.maxConcurrency}`, options.verbose ?? false);
268
395
  logVerbose(`Thinking: ${config.thinkingLevel}`, options.verbose ?? false);
269
396
  const workDir = process.cwd();
397
+ await applyAutoLinearProjectName(config, workDir);
270
398
  const piLoopDir = resolve(workDir, ".pi-loop");
271
399
  const tasksPath = resolve(piLoopDir, "Tasks.md");
272
400
  const learningsPath = resolve(piLoopDir, "Learnings.md");
@@ -333,6 +461,144 @@ export async function cleanCommand() {
333
461
  logSuccess("Nothing to clean.");
334
462
  }
335
463
  }
464
+ /**
465
+ * Configure global API settings and secrets used across projects.
466
+ */
467
+ export async function configCommand(options) {
468
+ logPhase("configuring");
469
+ const hasUpdates = Boolean(options.model ||
470
+ options.baseUrl !== undefined ||
471
+ options.apiKey ||
472
+ options.linearApiKey ||
473
+ options.provider !== undefined ||
474
+ options.envVar !== undefined);
475
+ const globalConfig = await loadGlobalConfig();
476
+ const globalSecrets = await loadGlobalSecrets();
477
+ if (!hasUpdates) {
478
+ const provider = globalConfig.defaultModel?.provider ?? DEFAULT_CONFIG.defaultModel.provider;
479
+ const modelId = globalConfig.defaultModel?.modelId ?? DEFAULT_CONFIG.defaultModel.modelId;
480
+ const baseUrl = globalConfig.defaultModel?.baseUrl;
481
+ const openaiApiKey = resolveDisplayApiKey(globalSecrets.openaiApiKey, globalSecrets.envApiKeys, DEFAULT_PROVIDER_API_KEY_ENV_VARS.openai);
482
+ const anthropicApiKey = resolveDisplayApiKey(globalSecrets.anthropicApiKey, globalSecrets.envApiKeys, DEFAULT_PROVIDER_API_KEY_ENV_VARS.anthropic);
483
+ const additionalApiKeyEnvVars = summarizeAdditionalApiKeyEnvVars(globalSecrets.envApiKeys);
484
+ logSuccess("Global configuration");
485
+ logSuccess(`Model: ${provider}:${modelId}`);
486
+ logSuccess(`Base URL: ${baseUrl || "(provider default)"}`);
487
+ logSuccess(`OpenAI API key: ${maskSecret(openaiApiKey)}`);
488
+ logSuccess(`Anthropic API key: ${maskSecret(anthropicApiKey)}`);
489
+ logSuccess(`Linear API key: ${maskSecret(globalSecrets.linearApiKey)}`);
490
+ if (additionalApiKeyEnvVars.length > 0) {
491
+ logSuccess(`Additional API key env vars: ${additionalApiKeyEnvVars.join(", ")}`);
492
+ }
493
+ logVerbose("Use `pi-loop config --model <provider:modelId> --provider <provider> --env-var <ENV_VAR> --base-url <url> --api-key <key> --linear-api-key <key>` to update.", true);
494
+ return;
495
+ }
496
+ if (options.provider !== undefined && !options.apiKey) {
497
+ logError("--provider can only be used together with --api-key.");
498
+ process.exitCode = 1;
499
+ return;
500
+ }
501
+ if (options.envVar !== undefined && !options.apiKey) {
502
+ logError("--env-var can only be used together with --api-key.");
503
+ process.exitCode = 1;
504
+ return;
505
+ }
506
+ const selectedModel = options.model ? parseModelSelection(options.model) : undefined;
507
+ if (options.model && !selectedModel) {
508
+ logError("Invalid --model value. Expected format: <provider:modelId>.");
509
+ process.exitCode = 1;
510
+ return;
511
+ }
512
+ const modelProvider = selectedModel?.provider ?? globalConfig.defaultModel?.provider ?? DEFAULT_CONFIG.defaultModel.provider;
513
+ const modelId = selectedModel?.modelId ?? globalConfig.defaultModel?.modelId ?? DEFAULT_CONFIG.defaultModel.modelId;
514
+ const configPatch = {};
515
+ if (selectedModel || options.baseUrl !== undefined) {
516
+ configPatch.defaultModel = {
517
+ provider: modelProvider,
518
+ modelId,
519
+ };
520
+ if (options.baseUrl !== undefined) {
521
+ const trimmedBaseUrl = options.baseUrl.trim();
522
+ if (!trimmedBaseUrl) {
523
+ logError("--base-url cannot be empty.");
524
+ process.exitCode = 1;
525
+ return;
526
+ }
527
+ configPatch.defaultModel.baseUrl = trimmedBaseUrl;
528
+ }
529
+ else if (globalConfig.defaultModel?.baseUrl) {
530
+ configPatch.defaultModel.baseUrl = globalConfig.defaultModel.baseUrl;
531
+ }
532
+ }
533
+ const secretsPatch = {};
534
+ if (options.apiKey) {
535
+ const apiKey = options.apiKey.trim();
536
+ if (!apiKey) {
537
+ logError("--api-key cannot be empty.");
538
+ process.exitCode = 1;
539
+ return;
540
+ }
541
+ const apiKeyTarget = resolveApiKeyTarget(options, selectedModel?.provider, modelProvider);
542
+ if (!apiKeyTarget.provider) {
543
+ logError("--provider cannot be empty.");
544
+ process.exitCode = 1;
545
+ return;
546
+ }
547
+ if (apiKeyTarget.envVar === "") {
548
+ logError("--env-var cannot be empty.");
549
+ process.exitCode = 1;
550
+ return;
551
+ }
552
+ if (!apiKeyTarget.envVar) {
553
+ logError(`No default API key env var mapping for provider '${apiKeyTarget.provider}'. Pass --env-var <ENV_VAR> explicitly.`);
554
+ process.exitCode = 1;
555
+ return;
556
+ }
557
+ secretsPatch.envApiKeys = {
558
+ [apiKeyTarget.envVar]: apiKey,
559
+ };
560
+ if (apiKeyTarget.envVar === DEFAULT_PROVIDER_API_KEY_ENV_VARS.openai) {
561
+ secretsPatch.openaiApiKey = apiKey;
562
+ }
563
+ if (apiKeyTarget.envVar === DEFAULT_PROVIDER_API_KEY_ENV_VARS.anthropic) {
564
+ secretsPatch.anthropicApiKey = apiKey;
565
+ }
566
+ }
567
+ if (options.linearApiKey) {
568
+ const linearApiKey = options.linearApiKey.trim();
569
+ if (!linearApiKey) {
570
+ logError("--linear-api-key cannot be empty.");
571
+ process.exitCode = 1;
572
+ return;
573
+ }
574
+ secretsPatch.linearApiKey = linearApiKey;
575
+ }
576
+ let updatedGlobalConfig = globalConfig;
577
+ if (Object.keys(configPatch).length > 0) {
578
+ updatedGlobalConfig = await saveGlobalConfigPatch(configPatch);
579
+ }
580
+ let updatedGlobalSecrets = globalSecrets;
581
+ if (Object.keys(secretsPatch).length > 0) {
582
+ updatedGlobalSecrets = await saveGlobalSecretsPatch(secretsPatch);
583
+ }
584
+ const linearTokenEnvVar = updatedGlobalConfig.linear?.tokenEnvVar ?? DEFAULT_CONFIG.linear.tokenEnvVar;
585
+ await hydrateEnvFromGlobalSecrets(linearTokenEnvVar);
586
+ const summaryProvider = updatedGlobalConfig.defaultModel?.provider ?? DEFAULT_CONFIG.defaultModel.provider;
587
+ const summaryModelId = updatedGlobalConfig.defaultModel?.modelId ?? DEFAULT_CONFIG.defaultModel.modelId;
588
+ const summaryBaseUrl = updatedGlobalConfig.defaultModel?.baseUrl;
589
+ const summaryOpenAiApiKey = resolveDisplayApiKey(updatedGlobalSecrets.openaiApiKey, updatedGlobalSecrets.envApiKeys, DEFAULT_PROVIDER_API_KEY_ENV_VARS.openai);
590
+ const summaryAnthropicApiKey = resolveDisplayApiKey(updatedGlobalSecrets.anthropicApiKey, updatedGlobalSecrets.envApiKeys, DEFAULT_PROVIDER_API_KEY_ENV_VARS.anthropic);
591
+ const additionalApiKeyEnvVars = summarizeAdditionalApiKeyEnvVars(updatedGlobalSecrets.envApiKeys);
592
+ logSuccess("Global configuration saved.");
593
+ logSuccess(`Model: ${summaryProvider}:${summaryModelId}`);
594
+ logSuccess(`Base URL: ${summaryBaseUrl || "(provider default)"}`);
595
+ logSuccess(`OpenAI API key: ${maskSecret(summaryOpenAiApiKey)}`);
596
+ logSuccess(`Anthropic API key: ${maskSecret(summaryAnthropicApiKey)}`);
597
+ logSuccess(`Linear API key: ${maskSecret(updatedGlobalSecrets.linearApiKey)}`);
598
+ if (additionalApiKeyEnvVars.length > 0) {
599
+ logSuccess(`Additional API key env vars: ${additionalApiKeyEnvVars.join(", ")}`);
600
+ }
601
+ }
336
602
  const PLAN_TEMPLATE = `# Project Name
337
603
 
338
604
  ## Overview
@@ -389,7 +655,7 @@ your project into tasks.
389
655
  const CONFIG_TEMPLATE = `// import { defineConfig } from "pi-loop";
390
656
 
391
657
  export default {
392
- // defaultModel: { provider: "anthropic", modelId: "claude-sonnet-4-20250514" },
658
+ // defaultModel: { provider: "anthropic", modelId: "claude-sonnet-4-20250514", baseUrl: "https://api.anthropic.com" },
393
659
  // maxConcurrency: 3,
394
660
  // maxCycles: 20,
395
661
  // thinkingLevel: "medium",
@@ -470,6 +736,7 @@ Usage:
470
736
  pi-loop resume Resume from checkpoint
471
737
  pi-loop status Show current task status
472
738
  pi-loop validate <plan.md> Dry run -- decompose and review only
739
+ pi-loop config Set global provider + API keys
473
740
  pi-loop init Bootstrap Plan.md, agents/, and config
474
741
  pi-loop clean Remove .pi-loop/ and worktree directories
475
742
 
@@ -480,9 +747,20 @@ Options:
480
747
  --task-backend <mode> Task backend (markdown|linear)
481
748
  --linear-cycle <name> Override Linear cycle name
482
749
  --linear-team <id> Override Linear team id
750
+ --provider <name> Provider target for --api-key (config command)
751
+ --env-var <name> Custom env var for --api-key (config command)
752
+ --base-url <url> Set model API base URL (config command)
753
+ --api-key <key> Set API key (openai, anthropic, minimax, minimax-cn, openrouter, or --env-var)
754
+ --linear-api-key <key> Set global Linear API key (config command)
755
+ --ui Enable live Claude-style terminal interface
756
+ --no-ui Disable live interface (plain logs)
483
757
  --config <path> Path to config file
484
758
  --verbose Enable verbose output
485
759
  --help Show this help
760
+
761
+ Live UI controls (run/resume, TTY only):
762
+ + Increase active worker concurrency
763
+ - Decrease active worker concurrency
486
764
  `;
487
765
  process.stderr.write(text.trimStart());
488
766
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { ConcurrencyController } from "../core/concurrency-controller.js";
2
+ import { type RuntimeEvent, type RuntimeEventSink } from "../core/runtime-events.js";
3
+ interface LiveInterfaceOptions {
4
+ concurrencyController: ConcurrencyController;
5
+ }
6
+ export declare class LiveInterface {
7
+ private readonly concurrencyController;
8
+ private readonly startedAt;
9
+ private readonly recentLines;
10
+ private readonly activeTasks;
11
+ private readonly activeAgentStates;
12
+ private phase;
13
+ private cycle;
14
+ private poolActiveWorkers;
15
+ private poolQueuedWorkers;
16
+ private summary;
17
+ private isStarted;
18
+ private isRawModeEnabled;
19
+ private renderTimer;
20
+ private readonly onInput;
21
+ constructor(options: LiveInterfaceOptions);
22
+ start(): void;
23
+ stop(): void;
24
+ handleEvent(event: RuntimeEvent): void;
25
+ createEventSink(): RuntimeEventSink;
26
+ private pushRecent;
27
+ private render;
28
+ }
29
+ export declare function shouldEnableLiveInterface(uiOverride: boolean | undefined): boolean;
30
+ export {};
31
+ //# sourceMappingURL=live-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-interface.d.ts","sourceRoot":"","sources":["../../src/cli/live-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAGrB,MAAM,2BAA2B,CAAC;AAEnC,UAAU,oBAAoB;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC;CAC7C;AAaD,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAC/D,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,OAAO,CAAyD;IACxE,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAStB;gBAEU,OAAO,EAAE,oBAAoB;IAIzC,KAAK,IAAI,IAAI;IAoBb,IAAI,IAAI,IAAI;IAqBZ,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IA8CtC,eAAe,IAAI,gBAAgB;IAInC,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,MAAM;CAsDd;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAMlF"}