pluriply 0.5.1 → 0.5.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pluriply",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Connect your AI coding tools into one collaboration channel",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -310,7 +310,8 @@ function cliClient({
310
310
  // 안내만 한다 — 되돌리면 멀쩡한 등록을 지우게 된다.
311
311
  if (afterAdd) {
312
312
  const r = afterAdd(env);
313
- if (!r.ok) env.log(`hint: ${label}: ${r.reason}`);
313
+ if (!r.ok)
314
+ env.log(`hint: ${label}: ${r.reason}${r.fix ? ` — ${r.fix}` : ""}`);
314
315
  else if (r.changed)
315
316
  env.log(`updated ${label}: added missing timeout settings`);
316
317
  }
@@ -493,11 +494,14 @@ export const CLIENTS = [
493
494
  // codex mcp add 는 타임아웃 플래그가 없어 config.toml 을 직접 편집한다(스펙 §5)
494
495
  afterAdd(env) {
495
496
  const path = codexConfigPath(env);
497
+ // present 경로(이미 등록됨)에서 채우지 못했을 때 사용자에게 보여 줄 손 수정 방법
498
+ const fix = `add \`tool_timeout_sec = ${TOOL_TIMEOUT_SEC}\` and \`startup_timeout_sec = ${CODEX_STARTUP_TIMEOUT_SEC}\` under [mcp_servers.pluriply] by hand in ${path}`;
496
499
  try {
497
500
  if (!env.fs.existsSync(path))
498
501
  return {
499
502
  ok: false,
500
- reason: `tool_timeout_sec not written (${path} missing)`,
503
+ fix,
504
+ reason: `timeout settings not written (${path} missing)`,
501
505
  };
502
506
  const r = insertTomlKey(
503
507
  env.fs.readFileSync(path, "utf8"),
@@ -508,12 +512,14 @@ export const CLIENTS = [
508
512
  if (r.reason === "no-header")
509
513
  return {
510
514
  ok: false,
511
- reason: `tool_timeout_sec not written ([mcp_servers.pluriply] not found in ${path})`,
515
+ fix,
516
+ reason: `timeout settings not written ([mcp_servers.pluriply] not found in ${path})`,
512
517
  };
513
518
  if (r.reason === "unsupported")
514
519
  return {
515
520
  ok: false,
516
- reason: `tool_timeout_sec not written (${path} contains triple-quoted strings; add \`tool_timeout_sec = ${TOOL_TIMEOUT_SEC}\` under [mcp_servers.pluriply] by hand)`,
521
+ fix,
522
+ reason: `timeout settings not written (${path} contains triple-quoted strings)`,
517
523
  };
518
524
  // 헤더·트리플쿼트 판정은 파일 단위라 위에서 통과했으면 두 번째 키도 같은 이유로는 실패하지 않는다.
519
525
  // 이미 있는 값(사용자가 고친 값 포함)은 건드리지 않는다.
@@ -529,7 +535,8 @@ export const CLIENTS = [
529
535
  } catch (err) {
530
536
  return {
531
537
  ok: false,
532
- reason: `tool_timeout_sec not written (${err.message})`,
538
+ fix,
539
+ reason: `timeout settings not written (${err.message})`,
533
540
  };
534
541
  }
535
542
  },
@@ -562,12 +569,14 @@ export const CLIENTS = [
562
569
  // agy mcp add 도 타임아웃 플래그가 없다. agy 는 JSONC 를 읽지만 우리는 JSON.parse 만 쓴다(스펙 §11).
563
570
  afterAdd(env) {
564
571
  const path = agyConfigPath(env);
572
+ const fix = `add \`"timeoutSeconds": ${TOOL_TIMEOUT_SEC}\` to mcpServers.pluriply by hand in ${path}`;
565
573
  try {
566
574
  const doc = readJsonDoc(env, path);
567
575
  const entry = doc.mcpServers?.pluriply;
568
576
  if (!entry || typeof entry !== "object")
569
577
  return {
570
578
  ok: false,
579
+ fix,
571
580
  reason: `timeoutSeconds not written (mcpServers.pluriply not found in ${path})`,
572
581
  };
573
582
  const changed = entry.timeoutSeconds === undefined;
@@ -579,6 +588,7 @@ export const CLIENTS = [
579
588
  } catch (err) {
580
589
  return {
581
590
  ok: false,
591
+ fix,
582
592
  reason: `timeoutSeconds not written (${err.message})`,
583
593
  };
584
594
  }