reportflow-mcp 1.1.3 → 1.2.1
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/dist/auth-context.d.ts +10 -0
- package/dist/auth-context.d.ts.map +1 -0
- package/dist/auth-context.js +10 -0
- package/dist/auth-context.js.map +1 -0
- package/dist/auth.d.ts +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +27 -3
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts +43 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +30 -4
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +23 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +62 -0
- package/dist/config.js.map +1 -0
- package/dist/http-server.d.ts +16 -0
- package/dist/http-server.d.ts.map +1 -0
- package/dist/http-server.js +267 -0
- package/dist/http-server.js.map +1 -0
- package/dist/http.d.ts +14 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +15 -1
- package/dist/http.js.map +1 -1
- package/dist/index-http.d.ts +2 -0
- package/dist/index-http.d.ts.map +1 -0
- package/dist/index-http.js +14 -0
- package/dist/index-http.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +41 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +110 -53
- package/dist/server.js.map +1 -1
- package/dist/telemetry/client.d.ts +30 -0
- package/dist/telemetry/client.d.ts.map +1 -0
- package/dist/telemetry/client.js +85 -0
- package/dist/telemetry/client.js.map +1 -0
- package/dist/telemetry/index.d.ts +4 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +11 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/interceptor.d.ts +9 -0
- package/dist/telemetry/interceptor.d.ts.map +1 -0
- package/dist/telemetry/interceptor.js +72 -0
- package/dist/telemetry/interceptor.js.map +1 -0
- package/dist/tools/generate-pdf-sync.d.ts +32 -8
- package/dist/tools/generate-pdf-sync.d.ts.map +1 -1
- package/dist/tools/generate-pdf-sync.js +118 -10
- package/dist/tools/generate-pdf-sync.js.map +1 -1
- package/package.json +10 -1
|
@@ -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
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"
|
|
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}
|
|
23
|
-
:
|
|
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;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,qDAAuD;AACvD,uDAAuD;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,EAAE,OAAyB,OAAO;QAC3D,MAAM,MAAM,GACV,IAAI,KAAK,MAAM;YACb,CAAC,CAAC,uEAAuE;YACzE,CAAC,CAAC,4BAA4B,CAAC;QACnC,KAAK,CACH,MAAM;YACJ,CAAC,CAAC,aAAa,MAAM,IAAI,MAAM,GAAG;YAClC,CAAC,CAAC,YAAY,MAAM,GAAG,CAC1B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAbD,8CAaC;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,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACrC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;IACrC,OAAO,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;AAC3D,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AAEK,MAAM,eAAe,GAAG,KAAK,EAClC,EAAmD,EACvC,EAAE;IACd,MAAM,OAAO,GAAG,MAAM,IAAA,sBAAc,GAAE,CAAC;IACvC,kDAAkD;IAClD,8CAA8C;IAC9C,MAAM,OAAO,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACrC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,mBAAS,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnD,MAAM,IAAI,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,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;AAvCW,QAAA,eAAe,mBAuC1B;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"}
|
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?:
|
|
21
|
+
shareType?: ShareTypeCode;
|
|
7
22
|
passcodeEnabled?: boolean;
|
|
8
23
|
params: ContentParam;
|
|
9
24
|
};
|
|
10
25
|
export type ShareInfo = {
|
|
11
|
-
shareType:
|
|
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
|
-
|
|
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;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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) => {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -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"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 環境別の固定 URL 定数。
|
|
4
|
+
* `NODE_ENV=staging` のときだけステージング、それ以外は本番扱い。
|
|
5
|
+
* stdio 版 (npx で起動、NODE_ENV 未設定) が誤ってステージングを引かないよう、
|
|
6
|
+
* staging を opt-in 方式にしている。HTTP モードでは NODE_ENV 環境変数で動作を切り替える。
|
|
7
|
+
* 値は外部 env から差し替え不可。
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.buildProtectedResourceMetadata = exports.SUPPORTED_SCOPES = exports.RUNTIME_STAGE = exports.REPORTFLOW_OAUTH_ISSUER_URL = exports.MCP_RESOURCE_URL = exports.REPORTFLOW_API_BASE_URL = void 0;
|
|
11
|
+
const STAGE = process.env['NODE_ENV'] === 'staging' ? 'stg' : 'prod';
|
|
12
|
+
const URLS = {
|
|
13
|
+
prod: {
|
|
14
|
+
// content-service (PDF 生成 / template 取得)
|
|
15
|
+
api: 'https://api.re-port-flow.com',
|
|
16
|
+
mcp: 'https://mcp.re-port-flow.com',
|
|
17
|
+
// OAuth Authorization Server (reposts-api: NestJS global prefix v1 + apex domain 経由)
|
|
18
|
+
oauthIssuer: 'https://re-port-flow.com/api/v1',
|
|
19
|
+
},
|
|
20
|
+
stg: {
|
|
21
|
+
api: 'https://api.stg.re-port-flow.com',
|
|
22
|
+
mcp: 'https://mcp.stg.re-port-flow.com',
|
|
23
|
+
oauthIssuer: 'https://stg.re-port-flow.com/api/v1',
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
exports.REPORTFLOW_API_BASE_URL = URLS[STAGE].api;
|
|
27
|
+
exports.MCP_RESOURCE_URL = URLS[STAGE].mcp;
|
|
28
|
+
/**
|
|
29
|
+
* OAuth Authorization Server (reposts-api) の issuer URL。
|
|
30
|
+
* /oauth/authorize, /oauth/token, /.well-known/* の prefix として使う。
|
|
31
|
+
* content-service (api.{stg.}re-port-flow.com) とは別 host のため分離。
|
|
32
|
+
*/
|
|
33
|
+
exports.REPORTFLOW_OAUTH_ISSUER_URL = URLS[STAGE].oauthIssuer;
|
|
34
|
+
exports.RUNTIME_STAGE = STAGE;
|
|
35
|
+
/** AS metadata (RFC 8414) と PRM (RFC 9728) で広告するサポート scope。 */
|
|
36
|
+
exports.SUPPORTED_SCOPES = [
|
|
37
|
+
'openid',
|
|
38
|
+
'profile',
|
|
39
|
+
'designs:read',
|
|
40
|
+
'designs:write',
|
|
41
|
+
'templates:read',
|
|
42
|
+
'templates:write',
|
|
43
|
+
'pdf:generate',
|
|
44
|
+
];
|
|
45
|
+
/** OAuth 2.0 Protected Resource Metadata (RFC 9728) のレスポンスを生成する */
|
|
46
|
+
const buildProtectedResourceMetadata = () => ({
|
|
47
|
+
resource: exports.MCP_RESOURCE_URL,
|
|
48
|
+
// authorization_servers には reposts-api の issuer ではなく MCP サーバー自身を指定する。
|
|
49
|
+
// reposts-api issuer はパスベース (https://...re-port-flow.com/api/v1) であるため、
|
|
50
|
+
// RFC 8414 の AS metadata URL が /.well-known/oauth-authorization-server/api/v1 になり
|
|
51
|
+
// Claude.ai がそのパスを解決できず DCR に進めない。
|
|
52
|
+
// MCP サーバー自身はルートドメインで /.well-known/oauth-authorization-server を配信し
|
|
53
|
+
// registration_endpoint / authorize / token も全て proxy しているため、
|
|
54
|
+
// MCP_RESOURCE_URL を AS とすることで Claude.ai が RFC 8414 → DCR → 認可フローを
|
|
55
|
+
// 正常に完走できる。
|
|
56
|
+
authorization_servers: [exports.MCP_RESOURCE_URL],
|
|
57
|
+
scopes_supported: [...exports.SUPPORTED_SCOPES],
|
|
58
|
+
bearer_methods_supported: ['header'],
|
|
59
|
+
resource_documentation: 'https://re-port-flow.com/docs/mcp',
|
|
60
|
+
});
|
|
61
|
+
exports.buildProtectedResourceMetadata = buildProtectedResourceMetadata;
|
|
62
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAIH,MAAM,KAAK,GAAU,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AAE5E,MAAM,IAAI,GAAG;IACX,IAAI,EAAE;QACJ,yCAAyC;QACzC,GAAG,EAAE,8BAA8B;QACnC,GAAG,EAAE,8BAA8B;QACnC,qFAAqF;QACrF,WAAW,EAAE,iCAAiC;KAC/C;IACD,GAAG,EAAE;QACH,GAAG,EAAE,kCAAkC;QACvC,GAAG,EAAE,kCAAkC;QACvC,WAAW,EAAE,qCAAqC;KACnD;CACO,CAAC;AAEE,QAAA,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;AAC1C,QAAA,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;AAChD;;;;GAIG;AACU,QAAA,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;AACtD,QAAA,aAAa,GAAU,KAAK,CAAC;AAE1C,+DAA+D;AAClD,QAAA,gBAAgB,GAAG;IAC9B,QAAQ;IACR,SAAS;IACT,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;CACN,CAAC;AAEX,mEAAmE;AAC5D,MAAM,8BAA8B,GAAG,GAA4B,EAAE,CAAC,CAAC;IAC5E,QAAQ,EAAE,wBAAgB;IAC1B,sEAAsE;IACtE,wEAAwE;IACxE,kFAAkF;IAClF,mCAAmC;IACnC,mEAAmE;IACnE,8DAA8D;IAC9D,mEAAmE;IACnE,YAAY;IACZ,qBAAqB,EAAE,CAAC,wBAAgB,CAAC;IACzC,gBAAgB,EAAE,CAAC,GAAG,wBAAgB,CAAC;IACvC,wBAAwB,EAAE,CAAC,QAAQ,CAAC;IACpC,sBAAsB,EAAE,mCAAmC;CAC5D,CAAC,CAAC;AAdU,QAAA,8BAA8B,kCAcxC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import express from 'express';
|
|
2
|
+
export type HttpServerOptions = {
|
|
3
|
+
port?: number;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Express アプリケーションを構築して返す。listen は呼ばない。
|
|
7
|
+
* テストや埋め込み利用を想定。
|
|
8
|
+
*/
|
|
9
|
+
export declare const buildHttpApp: () => express.Express;
|
|
10
|
+
/**
|
|
11
|
+
* HTTP サーバーモードのエントリポイント
|
|
12
|
+
* `listen` 成功 (listening イベント) または bind エラー (EADDRINUSE 等) で
|
|
13
|
+
* Promise が settle する。呼び出し側でエラーハンドリング可能。
|
|
14
|
+
*/
|
|
15
|
+
export declare const startHttpServer: (opts?: HttpServerOptions) => Promise<void>;
|
|
16
|
+
//# sourceMappingURL=http-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,SAAS,CAAC;AAqDrD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAO,OAAO,CAAC,OAmOvC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAM,iBAAsB,KAC3B,OAAO,CAAC,IAAI,CA+Bd,CAAC"}
|