reportflow-mcp 1.1.2 → 1.2.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 (50) hide show
  1. package/README.md +72 -173
  2. package/dist/auth-context.d.ts +10 -0
  3. package/dist/auth-context.d.ts.map +1 -0
  4. package/dist/auth-context.js +10 -0
  5. package/dist/auth-context.js.map +1 -0
  6. package/dist/auth.d.ts +1 -1
  7. package/dist/auth.d.ts.map +1 -1
  8. package/dist/auth.js +27 -3
  9. package/dist/auth.js.map +1 -1
  10. package/dist/client.d.ts +43 -3
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +30 -4
  13. package/dist/client.js.map +1 -1
  14. package/dist/config.d.ts +23 -0
  15. package/dist/config.d.ts.map +1 -0
  16. package/dist/config.js +62 -0
  17. package/dist/config.js.map +1 -0
  18. package/dist/http-server.d.ts +16 -0
  19. package/dist/http-server.d.ts.map +1 -0
  20. package/dist/http-server.js +267 -0
  21. package/dist/http-server.js.map +1 -0
  22. package/dist/http.d.ts +14 -0
  23. package/dist/http.d.ts.map +1 -1
  24. package/dist/http.js +15 -1
  25. package/dist/http.js.map +1 -1
  26. package/dist/index-http.d.ts +2 -0
  27. package/dist/index-http.d.ts.map +1 -0
  28. package/dist/index-http.js +14 -0
  29. package/dist/index-http.js.map +1 -0
  30. package/dist/server.d.ts +41 -0
  31. package/dist/server.d.ts.map +1 -1
  32. package/dist/server.js +110 -53
  33. package/dist/server.js.map +1 -1
  34. package/dist/telemetry/client.d.ts +30 -0
  35. package/dist/telemetry/client.d.ts.map +1 -0
  36. package/dist/telemetry/client.js +85 -0
  37. package/dist/telemetry/client.js.map +1 -0
  38. package/dist/telemetry/index.d.ts +4 -0
  39. package/dist/telemetry/index.d.ts.map +1 -0
  40. package/dist/telemetry/index.js +11 -0
  41. package/dist/telemetry/index.js.map +1 -0
  42. package/dist/telemetry/interceptor.d.ts +9 -0
  43. package/dist/telemetry/interceptor.d.ts.map +1 -0
  44. package/dist/telemetry/interceptor.js +72 -0
  45. package/dist/telemetry/interceptor.js.map +1 -0
  46. package/dist/tools/generate-pdf-sync.d.ts +32 -8
  47. package/dist/tools/generate-pdf-sync.d.ts.map +1 -1
  48. package/dist/tools/generate-pdf-sync.js +118 -10
  49. package/dist/tools/generate-pdf-sync.js.map +1 -1
  50. package/package.json +11 -1
package/README.md CHANGED
@@ -1,70 +1,22 @@
1
1
  # reportflow-mcp
2
2
 
3
- ReportFlow の PDF 帳票生成機能を Claude や AI エージェントから利用するための MCP(Model Context Protocol)サーバーです。
3
+ [![npm version](https://img.shields.io/npm/v/reportflow-mcp.svg)](https://www.npmjs.com/package/reportflow-mcp)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
4
5
 
5
- MCP 5 つの機能ブロックをすべてサポートしています: **Tools / Prompts / Resources / Sampling / Roots**。
6
+ An MCP (Model Context Protocol) server that turns your [ReportFlow](https://re-port-flow.com) templates into PDF reports — invoices, contracts, statements, anything you've designed — straight from Claude or any other MCP-compatible AI agent.
6
7
 
7
- ## 機能
8
+ ## What it does
8
9
 
9
- ### Tools(AI が必要に応じて呼び出す)
10
+ - Generate PDFs from natural-language requests like *"create an invoice for Acme Corp totalling $300"*
11
+ - Expose your ReportFlow designs and their parameter schemas directly to the AI as MCP **Resources**
12
+ - Bulk-generate many PDFs and download them as a single ZIP
13
+ - Save outputs to whichever workspace folder the user is currently in (Claude Desktop / Claude Code / Cursor / VS Code all supported)
10
14
 
11
- | ツール | 概要 |
12
- |--------|------|
13
- | `authenticate` | **初回認証 / 再認証**。ブラウザで OAuth2 + ワークスペース選択を行い、トークンを keychain (または XDG file) に保存 |
14
- | `list_templates` | ワークスペース内のデザイン一覧を取得 |
15
- | `get_design_parameters` | デザインに必要なパラメータ構造を取得 |
16
- | `generate_pdf_sync` | PDF を同期生成してローカルパスを返す |
17
- | `generate_pdf_async` | PDF を非同期生成して requestId を返す |
18
- | `generate_pdfs_sync` | 複数 PDF を一括同期生成(ZIP)してローカルパスを返す |
19
- | `generate_pdfs_async` | 複数 PDF を一括非同期生成して requestId を返す |
20
- | `download_file` | 非同期生成した単一 PDF をダウンロード |
21
- | `download_zip` | 非同期生成した ZIP をダウンロード |
22
- | `suggest_params` | **Sampling 使用**。自然文の要件からクライアント AI に params JSON を整形させる |
15
+ ## Setup
23
16
 
24
- ### Prompts(スラッシュコマンドとしてユーザーが呼ぶレシピカード)
17
+ ### Claude Desktop / Claude Code / Cursor
25
18
 
26
- | Prompt | 概要 |
27
- |--------|------|
28
- | `/generate_pdf` | 単一 PDF 生成のステップガイド。`designId` / `description` / `outputDir` を引数として受け取ります |
29
- | `/generate_pdfs` | 複数 PDF 一括生成のステップガイド。`designId` / `source` / `outputDir` / `zipFileName` |
30
- | `/reportflow_help` | 提供機能の概要ヘルプ |
31
-
32
- ### Resources(AI のコンテキストに負担をかけず貼り付けられる生データ)
33
-
34
- | URI | 概要 |
35
- |-----|------|
36
- | `reportflow://designs` | デザイン一覧(`list_templates` 同等の JSON) |
37
- | `reportflow://designs/{designId}/parameters` | 各デザインのパラメータスキーマ(動的テンプレート) |
38
- | `reportflow://errors` | Content Service が返す主要エラーメッセージカタログ |
39
- | `reportflow://server-info` | サーバー提供機能・対応ワークフローの概観 |
40
-
41
- ### Sampling
42
-
43
- `suggest_params` ツールは `sampling/createMessage` を使い、**サーバー側 API キーを持たずにクライアント AI に作業を委譲**します。スキーマを入手した上で自然文の要件を params JSON に整形し、解釈不可なら一回だけ自己修正します。Sampling 未対応クライアント (stdio 単体を読んでいる補助ツール等) では当該ツールはエラーとなります。
44
-
45
- ### Roots
46
-
47
- `generate_pdf_sync` / `generate_pdfs_sync` で `outputDir` 未指定時、クライアントが提示するワークスペース (Roots) の最初の `file://` を outputDir として使用します。VS Code ・ Claude Desktop から接続したときはそのワークスペース直下に出力されます。Roots 未対応クライアント・取得失敗時は OS 一時ディレクトリ (`<tmp>/reportflow`) にフォールバックします。
48
-
49
- ---
50
-
51
- ## 認証方式
52
-
53
- OAuth2 **authorization_code + PKCE (S256)** Public client。シークレット (`client_secret`) は使用しません。
54
-
55
- - 公式 OAuth client (`reportflow-mcp`) は ReportFlow 側で配布済み — **ユーザー側で発行作業は不要**
56
- - MCP は `authenticate` ツール起動でブラウザを開き、ログイン → ワークスペース選択 → consent → JWT 取得 → ローカル保存
57
- - consent 画面で毎回ワークスペースを選択 → 同じインストールで複数ワークスペース横断で利用可能
58
- - 取得 JWT は OS の **Keychain** (macOS Keychain / Windows Credential Manager / Linux libsecret) に優先保存。失敗時は XDG file (chmod 0600) にフォールバック
59
- - access_token 失効時は refresh_token で自動更新
60
-
61
- ---
62
-
63
- ## セットアップ
64
-
65
- ### 1. Claude Code (`.mcp.json`)
66
-
67
- プロジェクトの `.mcp.json` に以下を追加するだけ:
19
+ Add the following to your config file (`.mcp.json`, `claude_desktop_config.json`, `~/.cursor/mcp.json`, etc.):
68
20
 
69
21
  ```json
70
22
  {
@@ -77,148 +29,95 @@ OAuth2 **authorization_code + PKCE (S256)** Public client。シークレット (
77
29
  }
78
30
  ```
79
31
 
80
- env はすべて任意。staging/local で別 URL を使う場合のみ `REPORTFLOW_AUTH_URL` / `REPORTFLOW_API_BASE_URL` を上書き設定してください。
32
+ That's the whole setup. No env vars, no API keys, no secrets to manage.
81
33
 
82
- ### 2. Claude Desktop
34
+ ### VS Code (MCP-enabled builds)
83
35
 
84
- `~/Library/Application Support/Claude/claude_desktop_config.json` も同形式。Sampling と Roots に対応しているため、`suggest_params` ツールやワークスペース自動保存もそのまま動きます。
36
+ Same JSON in `.vscode/mcp.json`.
85
37
 
86
- ### 3. 初回認証
38
+ ### Requirements
87
39
 
88
- Claude Code をリロード後、Claude に依頼:
40
+ - Node.js 18+ (auto-fetched by `npx`)
41
+ - A local environment with a browser (only required during the first login)
42
+ - A [ReportFlow](https://re-port-flow.com) account
89
43
 
90
- ```
91
- ReportFlow で認証して
92
- ```
44
+ ## Usage
93
45
 
94
- Claude `authenticate` ツールを呼び、ブラウザが起動します。ログイン → ワークスペース選択 → 同意 で完了 (`gh auth login` と同等)。
95
- 以後はトークンが期限切れになるまで他のツール (list_templates 等) を使えます。期限切れは自動 refresh、refresh も失敗したら `authenticate` を再実行してください。
46
+ ### 1. First-run authentication
96
47
 
97
- ---
48
+ After reloading the MCP client, ask the AI:
98
49
 
99
- ## 環境変数
50
+ > Authenticate with ReportFlow
100
51
 
101
- | 変数名 | 必須 | デフォルト | 説明 |
102
- |--------|------|-----------|------|
103
- | `REPORTFLOW_CLIENT_ID` | 任意 | `reportflow-mcp` | 公式 client_id を上書きする場合のみ |
104
- | `REPORTFLOW_API_BASE_URL` | 任意 | `https://api.re-port-flow.com` | Content Service の URL (staging/local で上書き) |
105
- | `REPORTFLOW_AUTH_URL` | 任意 | `https://re-port-flow.com/api/v1` | ReportFlow OAuth2 サーバーのベース URL (staging/local で上書き) |
106
- | `REPORTFLOW_CALLBACK_PORT` | 任意 | `53682` | ローカルコールバックサーバーのポート (redirect_uri と一致必須) |
107
- | `REPORTFLOW_SCOPE` | 任意 | `openid profile designs:read designs:write templates:read templates:write pdf:generate` | 要求スコープ (空白区切り) |
108
- | `REPORTFLOW_TOKEN_STORE` | 任意 | 自動 (keychain → file) | `keychain` / `file` 強制指定 |
109
- | `REPORTFLOW_TOKEN_STORE_PATH` | 任意 | `$XDG_STATE_HOME/reportflow-mcp` | file モード時の保存ディレクトリ |
52
+ A browser window opens. **Sign in pick a workspace → consent**, and you're done.
53
+ Tokens are stored in your OS keychain (macOS Keychain / Windows Credential Manager / Linux libsecret) and refreshed automatically.
110
54
 
111
- ---
55
+ ### 2. Generate a PDF
112
56
 
113
- ## 帳票生成の基本フロー
57
+ #### Natural language (easiest)
114
58
 
115
- ### 1. テンプレート選択 パラメータ確認 PDF 生成(同期)
59
+ > Using the invoice template, create a PDF for Acme Corp totalling $330.
116
60
 
117
- ```
118
- 0. authenticate → 初回のみ。ブラウザでログイン・workspace 選択
119
- 1. list_templates → designId 一覧を確認
120
- 2. get_design_parameters → designId でパラメータ構造を確認
121
- 3. generate_pdf_sync → パラメータを埋めて PDF を即時生成
122
- ```
61
+ The AI will look up the template via `list_templates`, fetch its parameter schema with `get_design_parameters`, fill in the values, and call `generate_pdf_sync` — returning a local file path.
123
62
 
124
- またはスラッシュコマンドで一括依頼:
63
+ #### Slash commands
125
64
 
126
- ```
127
- /generate_pdf description="請求書、宛先株式会社サンプル、3万円"
128
- ```
129
-
130
- または Sampling を使って params AI に整形させる:
65
+ | Command | Purpose |
66
+ |---|---|
67
+ | `/generate_pdf` | Step-by-step recipe for a single PDF |
68
+ | `/generate_pdfs` | Recipe for batch PDF generation |
69
+ | `/reportflow_help` | Quick feature tour |
131
70
 
132
- ```
133
- suggest_params ツールを呼び、返った params を generate_pdf_sync に渡して
134
- ```
135
-
136
- ### 2. 非同期生成(大量ファイル向け)
137
-
138
- ```
139
- 0. authenticate → 初回のみ
140
- 1. list_templates → designId 一覧を確認
141
- 2. get_design_parameters → パラメータ構造を確認
142
- 3. generate_pdfs_async → 複数件を非同期生成
143
- 4. download_zip → requestId で ZIP をダウンロード
144
- ```
71
+ ### 3. Where files are saved
145
72
 
146
- ### 出力先の決定ルール
73
+ Output location is resolved in this order:
147
74
 
148
- `generate_pdf_sync` / `generate_pdfs_sync` / `download_file` / `download_zip` の保存先は次の順で決まります。
75
+ 1. Explicit instruction from the user (e.g. *"save to my Desktop"*)
76
+ 2. The currently-open workspace root (Claude Code / Cursor / VS Code)
77
+ 3. The OS temp directory as fallback
149
78
 
150
- 1. `outputDir` が明示指定されている → そのディレクトリ
151
- 2. クライアントが Roots を提示 (VS Code / Claude Desktop のワークスペース等) → そのパス
152
- 3. いずれもない → OS 一時ディレクトリ (`<tmp>/reportflow`)
79
+ ## Reference
153
80
 
154
- ユーザーが明示的に保存先を指示した場合のみ Claude `outputDir` をセットします。
81
+ ### Tools (called by the AI)
155
82
 
156
- ---
83
+ | Tool | Purpose |
84
+ |---|---|
85
+ | `authenticate` | First-time / re-authentication |
86
+ | `list_templates` | List available designs |
87
+ | `get_design_parameters` | Fetch the parameter schema for a design |
88
+ | `generate_pdf_sync` / `_async` | Generate one PDF (sync returns path; async returns request ID) |
89
+ | `generate_pdfs_sync` / `_async` | Generate many PDFs (returns a ZIP) |
90
+ | `download_file` / `download_zip` | Download artifacts produced by async tools |
91
+ | `suggest_params` | Translate a natural-language brief into a `params` JSON via MCP Sampling (requires a Sampling-capable client) |
157
92
 
158
- ## CLAUDE.md への追加スニペット
93
+ ### Resources (attachable as AI context)
159
94
 
160
- ReportFlow MCP サーバーを使うプロジェクトの `CLAUDE.md` に以下を追記することで、Claude が帳票生成ツールを正しく活用できるようになります。
95
+ | URI | Contents |
96
+ |---|---|
97
+ | `reportflow://designs` | List of available designs |
98
+ | `reportflow://designs/{designId}/parameters` | Parameter schema for one design |
99
+ | `reportflow://errors` | Catalog of error messages from the Content Service |
100
+ | `reportflow://server-info` | Server feature overview |
161
101
 
162
- ````markdown
163
- ## ReportFlow MCP 帳票生成
102
+ ### Prompts (slash-command recipe cards)
164
103
 
165
- ### 利用可能ツール
104
+ `/generate_pdf`, `/generate_pdfs`, `/reportflow_help` — pass arguments and the AI follows the prepared workflow.
166
105
 
167
- | ツール | 用途 |
168
- |--------|------|
169
- | `authenticate` | 初回認証 / 再認証 (他のツールが認証エラーを出したら最初に呼ぶ) |
170
- | `list_templates` | デザイン一覧取得(designId の確認に使う) |
171
- | `get_design_parameters` | 指定デザインの必要パラメータ構造を取得 |
172
- | `generate_pdf_sync` | 単一 PDF を即時生成 → ローカルパスを返す |
173
- | `generate_pdf_async` | 単一 PDF を非同期生成 → requestId + fileId を返す |
174
- | `generate_pdfs_sync` | 複数 PDF を一括即時生成 → ZIP パスを返す |
175
- | `generate_pdfs_async` | 複数 PDF を一括非同期生成 → requestId を返す |
176
- | `download_file` | requestId + fileId でファイルをダウンロード |
177
- | `download_zip` | requestId で ZIP をダウンロード |
178
- | `suggest_params` | 自然文要件 + スキーマから params JSON を Sampling で生成 |
106
+ ## Troubleshooting
179
107
 
180
- ### 帳票生成の流れ
108
+ | Symptom | Fix |
109
+ |---|---|
110
+ | Error containing `re-authentication required` | Ask the AI: *"re-authenticate with ReportFlow"* |
111
+ | `npx` cannot find the package | `npm cache clean --force` then retry |
112
+ | No keychain available on Linux | Falls back automatically to a chmod-0600 file under `$XDG_STATE_HOME/reportflow-mcp/` |
113
+ | Browser cannot open over SSH / remote shell | Authenticate **once on a local machine**; afterwards the cached token works on remote hosts |
181
114
 
182
- 1. (初回のみ) `authenticate` でブラウザログイン・ワークスペース選択
183
- 2. `list_templates` でデザイン一覧を取得し、目的の `id`(designId)を確認
184
- 3. `get_design_parameters` で `designId` と `version`(latestVersion)を指定してパラメータ構造を確認
185
- 4. パラメータを埋めて `generate_pdf_sync` で PDF を生成
115
+ ## License
186
116
 
187
- または、`/generate_pdf` / `/generate_pdfs` スラッシュコマンドからレシピを受け取るとよりスムーズ。
188
-
189
- ### Resources の活用
190
-
191
- - `reportflow://designs` や `reportflow://designs/{designId}/parameters` を Resource としてコンテキストに添付すれば、ツール呼び出しを加えずにテンプレを参照できます。
192
- - エラー判別に迷ったときは `reportflow://errors` を見るとメッセージカタログがあります。
193
-
194
- ### 注意事項
195
-
196
- - 認証エラー (`再認証が必要です` を含むメッセージ) が出たら、まず `authenticate` を呼ぶこと
197
- - `params` の型は `get_design_parameters` の結果に従うこと
198
- - `"string"` → 文字列、`"number"` → 数値、`"date"` → "YYYY-MM-DD" 形式
199
- - 配列型(`[{...}]`)はオブジェクトの配列を渡す
200
- - `version` は `list_templates` で返る `latestVersion` を使用
201
- - 同期生成(sync)は即座にファイルパスが返る。件数が多い場合は async を使うこと
202
- ````
203
-
204
- ---
205
-
206
- ## 開発
207
-
208
- ```bash
209
- yarn install
210
- yarn test # ユニットテスト実行
211
- yarn build # TypeScript ビルド
212
- yarn lint # ESLint チェック
213
- ```
117
+ MIT see [LICENSE](./LICENSE).
214
118
 
215
- ### 認証フロー (内部実装)
119
+ ## Links
216
120
 
217
- 1. `authenticate` ツール起動 → PKCE `code_verifier` / `code_challenge` を生成
218
- 2. ローカルコールバックサーバーを `localhost:CALLBACK_PORT` で起動
219
- 3. ブラウザで `<AUTH_URL>/oauth/authorize?response_type=code&client_id=...&redirect_uri=...&code_challenge=...&code_challenge_method=S256&state=...` を開く
220
- 4. ユーザーがログイン → ワークスペース選択 → 同意 → callback に code 飛ぶ
221
- 5. `<AUTH_URL>/oauth/token` (POST, `grant_type=authorization_code`) で code + code_verifier を送り JWT 取得 (Public client: client_secret なし)
222
- 6. JWT を keychain (or XDG file) に保存。`account = client_id`、`service = reportflow-mcp`
223
- 7. 以後の API 呼び出しは `Authorization: Bearer <jwt>` ヘッダ
224
- 8. `expires_in` 経過時は refresh_token で自動更新
121
+ - ReportFlow: https://re-port-flow.com
122
+ - npm: https://www.npmjs.com/package/reportflow-mcp
123
+ - Issues: https://github.com/re-port-flow/reportflow-mcp/issues
@@ -0,0 +1,10 @@
1
+ /**
2
+ * HTTP モード専用: per-request の Bearer access token を tools 層へ伝搬する。
3
+ * stdio モードでは利用しない (OS keychain 経路をそのまま使う)。
4
+ */
5
+ export type HttpAuthContext = {
6
+ accessToken: string;
7
+ };
8
+ export declare const runWithHttpAuth: <T>(ctx: HttpAuthContext, fn: () => Promise<T>) => Promise<T>;
9
+ export declare const getHttpAuthContext: () => HttpAuthContext | undefined;
10
+ //# sourceMappingURL=auth-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-context.d.ts","sourceRoot":"","sources":["../src/auth-context.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,CAAC,EAC/B,KAAK,eAAe,EACpB,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,KACnB,OAAO,CAAC,CAAC,CAAyB,CAAC;AAEtC,eAAO,MAAM,kBAAkB,QAAO,eAAe,GAAG,SACpC,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getHttpAuthContext = exports.runWithHttpAuth = void 0;
4
+ const async_hooks_1 = require("async_hooks");
5
+ const storage = new async_hooks_1.AsyncLocalStorage();
6
+ const runWithHttpAuth = (ctx, fn) => storage.run(ctx, fn);
7
+ exports.runWithHttpAuth = runWithHttpAuth;
8
+ const getHttpAuthContext = () => storage.getStore();
9
+ exports.getHttpAuthContext = getHttpAuthContext;
10
+ //# sourceMappingURL=auth-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-context.js","sourceRoot":"","sources":["../src/auth-context.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAUhD,MAAM,OAAO,GAAG,IAAI,+BAAiB,EAAmB,CAAC;AAElD,MAAM,eAAe,GAAG,CAC7B,GAAoB,EACpB,EAAoB,EACR,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAHzB,QAAA,eAAe,mBAGU;AAE/B,MAAM,kBAAkB,GAAG,GAAgC,EAAE,CAClE,OAAO,CAAC,QAAQ,EAAE,CAAC;AADR,QAAA,kBAAkB,sBACV"}
package/dist/auth.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export declare class AuthRequiredError extends Error {
2
- constructor(detail?: string);
2
+ constructor(detail?: string, mode?: 'stdio' | 'http');
3
3
  }
4
4
  export type AuthorizeOptions = {
5
5
  force?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAqCA,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,MAAM,CAAC,EAAE,MAAM;CAQ5B;AA+GD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,UAAS,gBAAqB,KAC7B,OAAO,CAAC,eAAe,CAoCzB,CAAC;AAsBF,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGrE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,CAAC,EACrC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAClD,OAAO,CAAC,CAAC,CAsBX,CAAC;AAEF,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,IAAI,CAI9C,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAsCA,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,GAAG,MAAgB;CAY9D;AA+GD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,UAAS,gBAAqB,KAC7B,OAAO,CAAC,eAAe,CAoCzB,CAAC;AAsBF,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQrE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,CAAC,EACrC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAClD,OAAO,CAAC,CAAC,CAqCX,CAAC;AAEF,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,IAAI,CAI9C,CAAC"}
package/dist/auth.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.clearAuth = exports.requestWithAuth = exports.getAuthHeaders = exports.authorize = exports.AuthRequiredError = void 0;
7
7
  const open_1 = __importDefault(require("open"));
8
8
  const auth_server_js_1 = require("./auth-server.js");
9
+ const auth_context_js_1 = require("./auth-context.js");
9
10
  const http_js_1 = require("./http.js");
10
11
  const pkce_js_1 = require("./pkce.js");
11
12
  const index_js_1 = require("./token-store/index.js");
@@ -17,10 +18,13 @@ const DEFAULT_SCOPE = 'openid profile designs:read designs:write templates:read
17
18
  const DEFAULT_CALLBACK_PORT = 53682;
18
19
  const TOKEN_EXPIRY_BUFFER_MS = 60_000;
19
20
  class AuthRequiredError extends Error {
20
- constructor(detail) {
21
+ constructor(detail, mode = 'stdio') {
22
+ const action = mode === 'http'
23
+ ? 'クライアント側で OAuth トークンを再取得してください (claude.ai / n8n / Make 等の OAuth 設定を確認)'
24
+ : 'authenticate ツールを呼び出してください';
21
25
  super(detail
22
- ? `再認証が必要です: ${detail}。authenticate ツールを呼び出してください。`
23
- : '再認証が必要です。authenticate ツールを呼び出してください。');
26
+ ? `再認証が必要です: ${detail}。${action}。`
27
+ : `再認証が必要です。${action}。`);
24
28
  this.name = 'AuthRequiredError';
25
29
  }
26
30
  }
@@ -161,12 +165,32 @@ const loadOrRefresh = async () => {
161
165
  return tokens;
162
166
  };
163
167
  const getAuthHeaders = async () => {
168
+ // HTTP モード: AsyncLocalStorage に積まれた per-request token を優先利用する
169
+ const httpCtx = (0, auth_context_js_1.getHttpAuthContext)();
170
+ if (httpCtx) {
171
+ return { Authorization: `Bearer ${httpCtx.accessToken}` };
172
+ }
164
173
  const tokens = await loadOrRefresh();
165
174
  return { Authorization: `Bearer ${tokens.accessToken}` };
166
175
  };
167
176
  exports.getAuthHeaders = getAuthHeaders;
168
177
  const requestWithAuth = async (fn) => {
169
178
  const headers = await (0, exports.getAuthHeaders)();
179
+ // HTTP モードでは refresh は claude.ai 等の外部クライアントが担うため、
180
+ // 401 を受けた場合はそのまま AuthRequiredError として上位に返す。
181
+ const httpCtx = (0, auth_context_js_1.getHttpAuthContext)();
182
+ if (httpCtx) {
183
+ try {
184
+ return await fn(headers);
185
+ }
186
+ catch (err) {
187
+ if (err instanceof http_js_1.HttpError && err.status === 401) {
188
+ throw new AuthRequiredError('上流 API が 401', 'http');
189
+ }
190
+ throw err;
191
+ }
192
+ }
193
+ // stdio モード: 既存の OS keychain 経路 + ローカル refresh 再試行
170
194
  try {
171
195
  return await fn(headers);
172
196
  }
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,qDAAuD;AACvD,uCAAiD;AACjD,uCAImB;AACnB,qDAAoE;AAEpE,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAC3D,yEAAyE;AACzE,oCAAoC;AACpC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,aAAa,GACjB,uFAAuF,CAAC;AAC1F,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAoBtC,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,MAAe;QACzB,KAAK,CACH,MAAM;YACJ,CAAC,CAAC,aAAa,MAAM,8BAA8B;YACnD,CAAC,CAAC,sCAAsC,CAC3C,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AATD,8CASC;AAED,MAAM,mBAAmB,GAAG,CAAC,CAAS,EAAU,EAAE,CAChD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;AAEhC,MAAM,cAAc,GAAG,GAAgB,EAAE;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,gBAAgB,CAAC;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,iBAAiB,CAAC;IAE1E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC7E,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,4DAA4D,OAAO,GAAG,CACvE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC;QACtC,QAAQ;QACR,YAAY;QACZ,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,aAAa;KACxD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAqB,EAAE;IAC1D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,IAAmB,EACnB,eAAuB,EACvB,aAAqB,EACX,EAAE;IACZ,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,YAAY;QAC9B,YAAY,EAAE,IAAI,CAAC,aAAa,IAAI,eAAe;QACnD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,sBAAsB;QACvE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,aAAa;QAClC,WAAW,EAAE,OAAO,EAAE,YAAY;KACnC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,MAAmB,EACnB,MAAqE,EAC7D,EAAE;IACV,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC9C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACzD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,MAAmB,EACnB,OAA+B,EACvB,EAAE,CACV,IAAI,CAAC,SAAS,CAAC;IACb,GAAG,OAAO;IACV,SAAS,EAAE,MAAM,CAAC,QAAQ;CAC3B,CAAC,CAAC;AAEL,MAAM,YAAY,GAAG,KAAK,EACxB,MAAmB,EACnB,MAAmE,EAChD,EAAE;IACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE;QACzC,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,aAAa,EAAE,MAAM,CAAC,YAAY;QAClC,YAAY,EAAE,MAAM,CAAC,WAAW;KACjC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAS,EAAgB,GAAG,EAAE;QAC/C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI;KACL,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EACzB,MAAmB,EACnB,YAAoB,EACD,EAAE;IACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE;QACzC,UAAU,EAAE,eAAe;QAC3B,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAS,EAAgB,GAAG,EAAE;QAC/C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI;KACL,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC;AAYK,MAAM,SAAS,GAAG,KAAK,EAC5B,UAA4B,EAAE,EACJ,EAAE;IAC5B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,IAAA,2BAAgB,GAAE,CAAC;IACjC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,8BAAoB,GAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAA,+BAAqB,EAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAA,uBAAa,GAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,oBAAoB,MAAM,CAAC,YAAY,WAAW,CAAC;IACvE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE;QAC7C,aAAa;QACb,KAAK;QACL,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAA,oCAAmB,EAAC;QAC1C,IAAI,EAAE,MAAM,CAAC,YAAY;QACzB,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,IAAA,cAAI,EAAC,YAAY,CAAC,CAAC;IACzB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,eAAe,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;QACxC,IAAI;QACJ,YAAY;QACZ,WAAW;KACZ,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE1C,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,SAAS,aAsCpB;AAEF,MAAM,aAAa,GAAG,KAAK,IAAuB,EAAE;IAClD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,IAAA,2BAAgB,GAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAC/D,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,IAAI,iBAAiB,CAAC,eAAe,MAAM,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,KAAK,IAAqC,EAAE;IACxE,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;IACrC,OAAO,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;AAC3D,CAAC,CAAC;AAHW,QAAA,cAAc,kBAGzB;AAEK,MAAM,eAAe,GAAG,KAAK,EAClC,EAAmD,EACvC,EAAE;IACd,MAAM,OAAO,GAAG,MAAM,IAAA,sBAAc,GAAE,CAAC;IACvC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,mBAAS,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAA,2BAAgB,GAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC/D,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACzC,OAAO,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,MAAM,GACV,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACxE,MAAM,IAAI,iBAAiB,CAAC,sBAAsB,MAAM,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAxBW,QAAA,eAAe,mBAwB1B;AAEK,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;IACjD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,IAAA,2BAAgB,GAAE,CAAC;IACjC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC5D,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,14 +1,29 @@
1
1
  export type DesignParameter = string | Record<string, string> | Array<Record<string, string>>;
2
2
  export type GetDesignParametersResponse = Record<string, DesignParameter>;
3
3
  export type ContentParam = Record<string, unknown>;
4
+ /**
5
+ * 共有タイプ (リクエスト側): 数値コード。
6
+ * - '01' = ワークスペース内共有 (デフォルト)
7
+ * - '02' = 招待者共有
8
+ * - '03' = 公開URL共有
9
+ *
10
+ * 参照: developer-docs/openapi/content-service.yaml shareType (request)
11
+ */
12
+ export type ShareTypeCode = '01' | '02' | '03';
13
+ /**
14
+ * 共有タイプ (レスポンス側): 人間可読な名前で返ってくる。
15
+ *
16
+ * 参照: developer-docs/openapi/content-service.yaml shareType (response)
17
+ */
18
+ export type ShareTypeName = 'workspace' | 'invited' | 'public';
4
19
  export type ContentDto = {
5
20
  fileName: string;
6
- shareType?: string;
21
+ shareType?: ShareTypeCode;
7
22
  passcodeEnabled?: boolean;
8
23
  params: ContentParam;
9
24
  };
10
25
  export type ShareInfo = {
11
- shareType: string;
26
+ shareType: ShareTypeName;
12
27
  passcodeEnabled: boolean;
13
28
  };
14
29
  export type FileItem = {
@@ -33,12 +48,37 @@ export type DesignListResponse = {
33
48
  designs: DesignItem[];
34
49
  };
35
50
  export declare const getDesignParameters: (designId: string, version?: number) => Promise<GetDesignParametersResponse>;
51
+ /**
52
+ * generate_pdf_sync の結果。
53
+ * - data : PDF バイト列 (EmbeddedResource 用)
54
+ * - filePath: stdio モードで saveTempFile した場合の絶対パス。HTTP モードでは undefined。
55
+ * - fileUrl : content-service の sync エンドポイントが返す `File-URL` ヘッダー。
56
+ * ワークスペースのダウンロードエンドポイント URL (`{base}/file/download/{requestId}`)。
57
+ * - requestId: 同 `Request-Id` ヘッダー。
58
+ * - fileId : 同 `X-File-Mapping` ヘッダー (URL encoded JSON 配列) の最初の要素の fileId。
59
+ *
60
+ * 参照: developer-docs/openapi/content-service.yaml
61
+ * /v1/file/sync/single → 200 ヘッダー (File-URL / Request-Id / X-File-Mapping)
62
+ */
63
+ export type GeneratePdfSyncResult = {
64
+ data: ArrayBuffer;
65
+ filePath?: string;
66
+ fileUrl?: string;
67
+ requestId?: string;
68
+ fileId?: string;
69
+ };
36
70
  export declare const generatePdfSync: (body: {
37
71
  designId: string;
38
72
  version: number;
39
73
  content: ContentDto;
74
+ /**
75
+ * 指定された場合のみ saveTempFile してパスを返す (stdio モード用)。
76
+ * HTTP モードでは未指定にする — サーバ filesystem に書いてもクライアント不可達。
77
+ */
40
78
  outputDir?: string;
41
- }) => Promise<string>;
79
+ /** true なら outputDir 指定の有無に関わらず保存しない (HTTP モード) */
80
+ skipSave?: boolean;
81
+ }) => Promise<GeneratePdfSyncResult>;
42
82
  export declare const generatePdfAsync: (body: {
43
83
  designId: string;
44
84
  version: number;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -3,8 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.listDesigns = exports.downloadZip = exports.downloadFile = exports.generatePdfsAsync = exports.generatePdfsSync = exports.generatePdfAsync = exports.generatePdfSync = exports.getDesignParameters = void 0;
4
4
  const http_js_1 = require("./http.js");
5
5
  const auth_js_1 = require("./auth.js");
6
+ const config_js_1 = require("./config.js");
6
7
  const file_helper_js_1 = require("./file-helper.js");
7
- const getBaseUrl = () => process.env['REPORTFLOW_API_BASE_URL'] ?? 'https://api.re-port-flow.com';
8
+ // HTTP モード (claude.ai 等のリモート接続) では config.ts の固定 URL を使う。
9
+ // stdio モードでは従来通り REPORTFLOW_API_BASE_URL env override も許容する。
10
+ const getBaseUrl = () => process.env['REPORTFLOW_API_BASE_URL'] ?? config_js_1.REPORTFLOW_API_BASE_URL;
8
11
  // ─── Content Service API ──────────────────────────────────────────────────────
9
12
  const getDesignParameters = async (designId, version) => {
10
13
  const url = new URL(`/v1/file/design/parameter/${designId}`, getBaseUrl());
@@ -16,15 +19,38 @@ const getDesignParameters = async (designId, version) => {
16
19
  }));
17
20
  };
18
21
  exports.getDesignParameters = getDesignParameters;
22
+ /**
23
+ * sync エンドポイントが返す `X-File-Mapping` ヘッダー (URL encoded JSON 配列) を
24
+ * パースして配列を返す。失敗時は空配列。
25
+ */
26
+ const parseFileMapping = (raw) => {
27
+ if (!raw)
28
+ return [];
29
+ try {
30
+ const decoded = decodeURIComponent(raw);
31
+ const parsed = JSON.parse(decoded);
32
+ return Array.isArray(parsed) ? parsed : [];
33
+ }
34
+ catch {
35
+ return [];
36
+ }
37
+ };
19
38
  const generatePdfSync = async (body) => {
20
39
  const url = new URL('/v1/file/sync/single', getBaseUrl());
21
- const { outputDir, ...payload } = body;
22
- const data = await (0, auth_js_1.requestWithAuth)((headers) => (0, http_js_1.fetchBinary)(url.toString(), {
40
+ const { outputDir, skipSave, ...payload } = body;
41
+ const { data, headers } = await (0, auth_js_1.requestWithAuth)((headers) => (0, http_js_1.fetchBinaryWithHeaders)(url.toString(), {
23
42
  method: 'POST',
24
43
  headers: { ...headers, 'Content-Type': 'application/json' },
25
44
  body: JSON.stringify(payload),
26
45
  }));
27
- return (0, file_helper_js_1.saveTempFile)(data, body.content.fileName, outputDir);
46
+ const fileUrl = headers.get('File-URL') ?? undefined;
47
+ const requestId = headers.get('Request-Id') ?? undefined;
48
+ const fileId = parseFileMapping(headers.get('X-File-Mapping'))[0]?.fileId;
49
+ if (skipSave) {
50
+ return { data, fileUrl, requestId, fileId };
51
+ }
52
+ const filePath = await (0, file_helper_js_1.saveTempFile)(data, body.content.fileName, outputDir);
53
+ return { data, filePath, fileUrl, requestId, fileId };
28
54
  };
29
55
  exports.generatePdfSync = generatePdfSync;
30
56
  const generatePdfAsync = async (body) => {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * 環境別の固定 URL 定数。
3
+ * `NODE_ENV=staging` のときだけステージング、それ以外は本番扱い。
4
+ * stdio 版 (npx で起動、NODE_ENV 未設定) が誤ってステージングを引かないよう、
5
+ * staging を opt-in 方式にしている。HTTP モードでは NODE_ENV 環境変数で動作を切り替える。
6
+ * 値は外部 env から差し替え不可。
7
+ */
8
+ type Stage = 'prod' | 'stg';
9
+ export declare const REPORTFLOW_API_BASE_URL: "https://api.re-port-flow.com" | "https://api.stg.re-port-flow.com";
10
+ export declare const MCP_RESOURCE_URL: "https://mcp.re-port-flow.com" | "https://mcp.stg.re-port-flow.com";
11
+ /**
12
+ * OAuth Authorization Server (reposts-api) の issuer URL。
13
+ * /oauth/authorize, /oauth/token, /.well-known/* の prefix として使う。
14
+ * content-service (api.{stg.}re-port-flow.com) とは別 host のため分離。
15
+ */
16
+ export declare const REPORTFLOW_OAUTH_ISSUER_URL: "https://re-port-flow.com/api/v1" | "https://stg.re-port-flow.com/api/v1";
17
+ export declare const RUNTIME_STAGE: Stage;
18
+ /** AS metadata (RFC 8414) と PRM (RFC 9728) で広告するサポート scope。 */
19
+ export declare const SUPPORTED_SCOPES: readonly ["openid", "profile", "designs:read", "designs:write", "templates:read", "templates:write", "pdf:generate"];
20
+ /** OAuth 2.0 Protected Resource Metadata (RFC 9728) のレスポンスを生成する */
21
+ export declare const buildProtectedResourceMetadata: () => Record<string, unknown>;
22
+ export {};
23
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAmB5B,eAAO,MAAM,uBAAuB,qEAAkB,CAAC;AACvD,eAAO,MAAM,gBAAgB,qEAAkB,CAAC;AAChD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,2EAA0B,CAAC;AACnE,eAAO,MAAM,aAAa,EAAE,KAAa,CAAC;AAE1C,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,sHAQnB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,8BAA8B,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CActE,CAAC"}