seokang-sk 0.2.1 → 0.2.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/README.MD CHANGED
@@ -48,7 +48,8 @@ sk setup --configure-notion
48
48
 
49
49
  - `Records` / `Projects` 데이터베이스 URL에 Notion id가 들어 있으면 `data source id`는 setup 중 자동으로 추출한다.
50
50
 
51
- - Notion 문서 기록이 Codex에서 실패하면 아래 명령으로 MCP 인증을 다시 연결한다.
51
+ - Notion 문서 기록이 `invalid_grant`, `unauthorized`, `forbidden` 같은 인증 오류로 실패하면 아래 명령으로 MCP 인증을 다시 연결한다.
52
+ - `Tool ... not found`처럼 특정 Notion tool만 빠진 경우는 로그인 문제가 아닐 수 있으니, exact error를 남기고 남아 있는 Notion MCP tool로 우회 가능한지 먼저 확인한다.
52
53
 
53
54
  ```bash
54
55
  codex mcp login notion
@@ -24,6 +24,8 @@ sk setup --configure-notion
24
24
  추출이 안 되는 특수 URL만 `workspace.json`에서 수동으로 보완하면 된다.
25
25
 
26
26
  필요하면 이어서 아래 명령으로 Codex의 Notion MCP 인증도 연결한다.
27
+ 단, 이 재로그인은 `invalid_grant`, `unauthorized`, `forbidden` 같은 인증/세션 오류일 때의 기본 대응이다.
28
+ `Tool ... not found`처럼 특정 MCP tool만 누락된 경우는 로그인 문제가 아닐 수 있으므로, exact error를 남기고 다른 Notion MCP tool로 우회 가능한지 먼저 본다.
27
29
 
28
30
  ```bash
29
31
  codex mcp login notion
@@ -56,5 +58,6 @@ codex mcp login notion
56
58
  - public skill 본문에 개인 Notion URL, DB id, collection id를 직접 적지 않는다.
57
59
  - Notion 작업 전에는 먼저 local config 파일 존재 여부와 `configured` 상태를 확인한다.
58
60
  - local config가 없거나 `configured=false`면 Notion 기록 시도를 생략하고 Markdown fallback을 기본 출력으로 사용한다.
61
+ - `Tool ... not found`처럼 특정 Notion MCP tool만 빠진 경우는 Notion 전체 장애로 단정하지 않는다. local config의 data source id와 project/history 위치가 있으면 `fetch`/`search`/`create_pages`/`update_page` 같은 생존 tool로 먼저 우회 시도한다.
59
62
  - fallback Markdown를 나중에 Notion으로 옮길 때는 `Projects > History`의 `Date`를 이관 완료 시점의 로컬 datetime으로 다시 저장하고, `date:Date:is_datetime=1`을 유지한 뒤에만 fallback 파일을 제거한다.
60
63
  - 사용자가 이후 Notion 기록도 원하면 그때 `sk setup --configure-notion`을 안내하고, Notion MCP 실패 여부와 구분해서 보고한다.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "seokang-sk",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "SeoKang Codex 공용 설정과 스킬을 설치하는 CLI",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/Seokang/seokang-codex-setting",
package/scripts/sk.mjs CHANGED
@@ -649,7 +649,7 @@ function printUsage() {
649
649
  ` - 공용 메모는 ${STATE_DIRNAME}/${NOTEPAD_FILE} 에 저장됩니다.`,
650
650
  ' - 다른 프로젝트를 대상으로 하려면 cd 대신 init/status/memory에 --cwd <path>를 사용할 수 있습니다.',
651
651
  ' - user 설정은 $CODEX_HOME 또는 ~/.codex를 대상으로 사용합니다.',
652
- ' - Notion 기록이 Codex에서 실패하면 "codex mcp login notion"으로 MCP 인증을 다시 연결하세요.',
652
+ ' - Notion 기록이 invalid_grant/unauthorized/forbidden 같은 인증 오류로 실패하면 "codex mcp login notion"으로 MCP 인증을 다시 연결하세요.',
653
653
  ` - 자세한 가이드: ${guidePath}`,
654
654
  ].join('\n'),
655
655
  );
@@ -1443,7 +1443,7 @@ async function runSetup(flags) {
1443
1443
  );
1444
1444
  if (notionSummary.configured) {
1445
1445
  console.log(' ✅ Notion 워크스페이스 설정이 준비되었습니다.');
1446
- console.log(' 🔐 Codex에서 Notion 문서 기록이 실패하면 아래 명령으로 MCP 인증을 다시 연결하세요.');
1446
+ console.log(' 🔐 Codex에서 Notion 문서 기록이 invalid_grant/unauthorized/forbidden 같은 인증 오류로 실패하면 아래 명령으로 MCP 인증을 다시 연결하세요.');
1447
1447
  console.log(' codex mcp login notion');
1448
1448
  } else {
1449
1449
  console.log(' ⚠️ Notion 설정이 아직 완전하지 않습니다. 준비되면 "sk setup --configure-notion"을 다시 실행하세요.');
@@ -1738,7 +1738,7 @@ async function runStatus(flags) {
1738
1738
  console.log(` ${icon} ${entry.name}: ${entry.message}`);
1739
1739
  }
1740
1740
  if (status.notion_config_exists && status.notion_configured) {
1741
- console.log(' 💡 Notion 기록이 Codex에서 실패하면 "codex mcp login notion"으로 MCP 인증을 다시 연결하세요.');
1741
+ console.log(' 💡 Notion 기록이 invalid_grant/unauthorized/forbidden 같은 인증 오류로 실패하면 "codex mcp login notion"으로 MCP 인증을 다시 연결하세요.');
1742
1742
  }
1743
1743
  if (status.checks.some((entry) => entry.status === 'fail')) {
1744
1744
  process.exitCode = 1;