dialog-survey 1.11.0 → 1.11.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 +3 -2
- package/README.zh-CN.md +5 -4
- package/VERSION +1 -0
- package/dist/src/api/health.d.ts.map +1 -1
- package/dist/src/api/health.js +25 -5
- package/dist/src/api/health.js.map +1 -1
- package/dist/src/integrations/llm/openai-compatible.d.ts +16 -0
- package/dist/src/integrations/llm/openai-compatible.d.ts.map +1 -1
- package/dist/src/integrations/llm/openai-compatible.js +35 -2
- package/dist/src/integrations/llm/openai-compatible.js.map +1 -1
- package/dist/src/repositories/interview-plan.repository.d.ts +1 -1
- package/dist/src/repositories/template.repository.d.ts +3 -3
- package/dist/src/server-entry.d.ts +2 -0
- package/dist/src/server-entry.d.ts.map +1 -0
- package/dist/src/server-entry.js +31 -0
- package/dist/src/server-entry.js.map +1 -0
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +9 -3
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/interview-plan-base.service.d.ts +6 -6
- package/dist/src/services/template-dimension.service.d.ts +2 -2
- package/dist/src/utils/app-version.d.ts +13 -0
- package/dist/src/utils/app-version.d.ts.map +1 -0
- package/dist/src/utils/app-version.js +59 -0
- package/dist/src/utils/app-version.js.map +1 -0
- package/dist/tests/cli.test.js +106 -1
- package/dist/tests/cli.test.js.map +1 -1
- package/dist/tests/e2e/cli-install.e2e.test.js +1 -0
- package/dist/tests/e2e/cli-install.e2e.test.js.map +1 -1
- package/dist/tests/openai-compatible.test.js +24 -1
- package/dist/tests/openai-compatible.test.js.map +1 -1
- package/ecosystem.config.cjs +1 -1
- package/package.json +4 -2
- package/scripts/cli.mjs +253 -43
package/README.md
CHANGED
|
@@ -138,7 +138,7 @@ Key environment variables (see `.env.example` for the full list):
|
|
|
138
138
|
| Variable | Description | Example |
|
|
139
139
|
|----------|-------------|---------|
|
|
140
140
|
| `DATABASE_URL` | PostgreSQL connection string | `postgresql://user:pass@localhost:5432/dialog_survey` |
|
|
141
|
-
| `LLM_BASE_URL` | LLM endpoint (OpenAI-compatible) | `http://localhost:11434/v1` |
|
|
141
|
+
| `LLM_BASE_URL` | LLM endpoint (OpenAI-compatible) — MUST be the full chat completions URL | `http://localhost:11434/v1/chat/completions` |
|
|
142
142
|
| `LLM_MODEL` | Model name | `qwen2.5` |
|
|
143
143
|
| `DINGTALK_CLIENT_ID` | DingTalk Client ID | From DingTalk Open Platform |
|
|
144
144
|
| `DINGTALK_CLIENT_SECRET` | DingTalk Client Secret | From DingTalk Open Platform |
|
|
@@ -146,7 +146,8 @@ Key environment variables (see `.env.example` for the full list):
|
|
|
146
146
|
| `DISABLE_STARTUP_RESEND` | Skip the startup resend of unsent messages (`1`/`true`/`yes`) | `1` |
|
|
147
147
|
| `ADMIN_API_KEY` | Admin panel API key | Your custom key |
|
|
148
148
|
|
|
149
|
-
> Leave `LLM_API_KEY` empty to use a local LLM at `http://localhost:11434/v1`.
|
|
149
|
+
> Leave `LLM_API_KEY` empty to use a local LLM at `http://localhost:11434/v1/chat/completions`.
|
|
150
|
+
> `LLM_BASE_URL` must be the COMPLETE chat completions endpoint (…/v1/chat/completions), not a gateway base — a base URL makes `/health` and every LLM call return HTTP 404.
|
|
150
151
|
> Without `DINGTALK_CLIENT_ID`/`DINGTALK_CLIENT_SECRET` the server boots read-only (no Stream connection, no outbound messages). Startup resend additionally requires `DINGTALK_AGENT_ID`.
|
|
151
152
|
|
|
152
153
|
---
|
package/README.zh-CN.md
CHANGED
|
@@ -138,7 +138,7 @@ npx dialog-survey help # 查看所有命令
|
|
|
138
138
|
| 变量 | 说明 | 示例 |
|
|
139
139
|
|------|------|------|
|
|
140
140
|
| `DATABASE_URL` | PostgreSQL 连接串 | `postgresql://user:pass@localhost:5432/dialog_survey` |
|
|
141
|
-
| `LLM_BASE_URL` | LLM 服务地址(OpenAI
|
|
141
|
+
| `LLM_BASE_URL` | LLM 服务地址(OpenAI 兼容)—— 必须是完整的 chat completions 端点 | `http://localhost:11434/v1/chat/completions` |
|
|
142
142
|
| `LLM_MODEL` | 模型名称 | `qwen2.5` |
|
|
143
143
|
| `DINGTALK_CLIENT_ID` | 钉钉 Client ID | 从钉钉开放平台获取 |
|
|
144
144
|
| `DINGTALK_CLIENT_SECRET` | 钉钉 Client Secret | 从钉钉开放平台获取 |
|
|
@@ -146,7 +146,8 @@ npx dialog-survey help # 查看所有命令
|
|
|
146
146
|
| `DISABLE_STARTUP_RESEND` | 跳过启动时未发消息补发(`1`/`true`/`yes`) | `1` |
|
|
147
147
|
| `ADMIN_API_KEY` | 管理后台 API Key | 自定义密钥 |
|
|
148
148
|
|
|
149
|
-
> 留空 `LLM_API_KEY` 则默认使用本地 LLM
|
|
149
|
+
> 留空 `LLM_API_KEY` 则默认使用本地 LLM(`http://localhost:11434/v1/chat/completions`)。
|
|
150
|
+
> `LLM_BASE_URL` 必须是**完整的** chat completions 端点(`…/v1/chat/completions`),而非网关基址——填基址会让 `/health` 和每次 LLM 调用返回 HTTP 404。
|
|
150
151
|
> 未配置 `DINGTALK_CLIENT_ID`/`DINGTALK_CLIENT_SECRET` 时服务以只读模式启动(不建立 Stream 连接、不发送任何出站消息);启动补发还需 `DINGTALK_AGENT_ID`。
|
|
151
152
|
|
|
152
153
|
---
|
|
@@ -156,14 +157,14 @@ npx dialog-survey help # 查看所有命令
|
|
|
156
157
|
**Linux / macOS** (PM2):
|
|
157
158
|
```bash
|
|
158
159
|
npm run build
|
|
159
|
-
pm2 start dist/src/server.js --name dialog-survey
|
|
160
|
+
pm2 start dist/src/server-entry.js --name dialog-survey
|
|
160
161
|
pm2 save && pm2 startup
|
|
161
162
|
```
|
|
162
163
|
|
|
163
164
|
**Windows**(直接 node 启动):
|
|
164
165
|
```bash
|
|
165
166
|
npm run build
|
|
166
|
-
node dist/src/server.js
|
|
167
|
+
node dist/src/server-entry.js
|
|
167
168
|
```
|
|
168
169
|
|
|
169
170
|
**Docker**:
|
package/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.11.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/api/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/api/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAsI9F,wBAAsB,YAAY,CAChC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE;IAAE,cAAc,EAAE,wBAAwB,CAAA;CAAE,iBAsCnD"}
|
package/dist/src/api/health.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { error, info } from '../utils/logger.js';
|
|
2
|
+
import { getAppVersion } from '../utils/app-version.js';
|
|
3
|
+
import { normalizeLlmBaseUrl } from '../integrations/llm/openai-compatible.js';
|
|
2
4
|
let llmCacheTime = null;
|
|
3
5
|
async function checkLLM() {
|
|
4
6
|
if (llmCacheTime && Date.now() - llmCacheTime < 60000) {
|
|
@@ -9,12 +11,13 @@ async function checkLLM() {
|
|
|
9
11
|
if (!apiKey) {
|
|
10
12
|
return { status: 'degraded', error: 'API key not configured' };
|
|
11
13
|
}
|
|
12
|
-
const
|
|
14
|
+
const rawBaseUrl = process.env['LLM_BASE_URL'] ||
|
|
13
15
|
process.env['VOLCENGINE_BASE_URL'] ||
|
|
14
|
-
'https://ark.cn-beijing.volces.com/api/coding';
|
|
16
|
+
'https://ark.cn-beijing.volces.com/api/coding/v1/chat/completions';
|
|
17
|
+
const baseUrl = normalizeLlmBaseUrl(rawBaseUrl);
|
|
15
18
|
const model = process.env['LLM_MODEL'] || process.env['VOLCENGINE_MODEL'];
|
|
16
19
|
if (!model) {
|
|
17
|
-
return { status: 'degraded', error: 'LLM model not configured' };
|
|
20
|
+
return { status: 'degraded', error: 'LLM model not configured', endpoint: baseUrl };
|
|
18
21
|
}
|
|
19
22
|
const start = Date.now();
|
|
20
23
|
const response = await fetch(baseUrl, {
|
|
@@ -33,13 +36,29 @@ async function checkLLM() {
|
|
|
33
36
|
const latencyMs = Date.now() - start;
|
|
34
37
|
if (response.ok) {
|
|
35
38
|
llmCacheTime = Date.now();
|
|
36
|
-
return { status: 'ok', latencyMs };
|
|
39
|
+
return { status: 'ok', latencyMs, endpoint: baseUrl };
|
|
37
40
|
}
|
|
38
|
-
|
|
41
|
+
// Surface the target URL and a short response-body snippet so operators can
|
|
42
|
+
// tell a misconfigured URL (e.g. a gateway base instead of the full
|
|
43
|
+
// endpoint) from an auth/quota failure at a glance (issue #189).
|
|
44
|
+
let detail;
|
|
45
|
+
try {
|
|
46
|
+
const snippet = await response.text();
|
|
47
|
+
if (snippet)
|
|
48
|
+
detail = snippet.slice(0, 200);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// ignore — detail is best-effort
|
|
52
|
+
}
|
|
53
|
+
const result = {
|
|
39
54
|
status: 'degraded',
|
|
40
55
|
latencyMs,
|
|
41
56
|
error: `HTTP ${response.status}`,
|
|
57
|
+
endpoint: baseUrl,
|
|
42
58
|
};
|
|
59
|
+
if (detail)
|
|
60
|
+
result.detail = detail;
|
|
61
|
+
return result;
|
|
43
62
|
}
|
|
44
63
|
catch (e) {
|
|
45
64
|
const errMsg = e instanceof Error ? e.message : 'Unknown error';
|
|
@@ -92,6 +111,7 @@ export async function healthRoutes(fastify, opts) {
|
|
|
92
111
|
}
|
|
93
112
|
const response = {
|
|
94
113
|
status,
|
|
114
|
+
version: getAppVersion(),
|
|
95
115
|
timestamp: new Date().toISOString(),
|
|
96
116
|
checks: {
|
|
97
117
|
db: dbCheck,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/api/health.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/api/health.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import type { LLMOptions, LLMRequest, LLMResponse, LLMService } from './base.js';
|
|
2
2
|
export declare const DEFAULT_MODEL = "deepseek-v3.2";
|
|
3
|
+
/**
|
|
4
|
+
* Normalize an LLM base URL into a COMPLETE chat completions endpoint.
|
|
5
|
+
*
|
|
6
|
+
* Both the client (chat()) and the /health probe fetch() the URL directly as
|
|
7
|
+
* the request target, so it must be the full endpoint (…/v1/chat/completions),
|
|
8
|
+
* not a gateway base (…/v1). Historically README and the CLI suggested the base
|
|
9
|
+
* form, which produced a permanent HTTP 404 at /health and on every LLM call
|
|
10
|
+
* (issue #189).
|
|
11
|
+
*
|
|
12
|
+
* Rules:
|
|
13
|
+
* - empty input is returned unchanged (constructor falls back to the default)
|
|
14
|
+
* - surrounding whitespace is trimmed
|
|
15
|
+
* - a single trailing slash is stripped
|
|
16
|
+
* - if the path does not already end with /chat/completions, it is appended
|
|
17
|
+
*/
|
|
18
|
+
export declare function normalizeLlmBaseUrl(raw: string | undefined): string;
|
|
3
19
|
export declare class OpenAICompatibleLLM implements LLMService {
|
|
4
20
|
private apiKey;
|
|
5
21
|
private baseUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../../../src/integrations/llm/openai-compatible.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIjF,eAAO,MAAM,aAAa,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../../../src/integrations/llm/openai-compatible.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIjF,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAI7C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUnE;AAED,qBAAa,mBAAoB,YAAW,UAAU;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,EAAE,UAAU;IAQzB,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAgF/C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKlD,MAAM,CAAC,OAAO,IAAI,mBAAmB;CA2BtC"}
|
|
@@ -3,6 +3,34 @@ import { RetryError } from '../../utils/retry.js';
|
|
|
3
3
|
// 支持的模型列表:doubao-seed-2.0-code, doubao-seed-2.0-pro, doubao-seed-2.0-lite,
|
|
4
4
|
// doubao-seed-code, minimax-m2.5, glm-4.7, deepseek-v3.2, kimi-k2.5
|
|
5
5
|
export const DEFAULT_MODEL = 'deepseek-v3.2';
|
|
6
|
+
const CHAT_COMPLETIONS_SUFFIX = '/chat/completions';
|
|
7
|
+
/**
|
|
8
|
+
* Normalize an LLM base URL into a COMPLETE chat completions endpoint.
|
|
9
|
+
*
|
|
10
|
+
* Both the client (chat()) and the /health probe fetch() the URL directly as
|
|
11
|
+
* the request target, so it must be the full endpoint (…/v1/chat/completions),
|
|
12
|
+
* not a gateway base (…/v1). Historically README and the CLI suggested the base
|
|
13
|
+
* form, which produced a permanent HTTP 404 at /health and on every LLM call
|
|
14
|
+
* (issue #189).
|
|
15
|
+
*
|
|
16
|
+
* Rules:
|
|
17
|
+
* - empty input is returned unchanged (constructor falls back to the default)
|
|
18
|
+
* - surrounding whitespace is trimmed
|
|
19
|
+
* - a single trailing slash is stripped
|
|
20
|
+
* - if the path does not already end with /chat/completions, it is appended
|
|
21
|
+
*/
|
|
22
|
+
export function normalizeLlmBaseUrl(raw) {
|
|
23
|
+
if (!raw)
|
|
24
|
+
return raw ?? '';
|
|
25
|
+
let url = raw.trim();
|
|
26
|
+
if (url.endsWith('/')) {
|
|
27
|
+
url = url.slice(0, -1);
|
|
28
|
+
}
|
|
29
|
+
if (!url.toLowerCase().endsWith(CHAT_COMPLETIONS_SUFFIX)) {
|
|
30
|
+
url = `${url}${CHAT_COMPLETIONS_SUFFIX}`;
|
|
31
|
+
}
|
|
32
|
+
return url;
|
|
33
|
+
}
|
|
6
34
|
export class OpenAICompatibleLLM {
|
|
7
35
|
apiKey;
|
|
8
36
|
baseUrl;
|
|
@@ -10,7 +38,8 @@ export class OpenAICompatibleLLM {
|
|
|
10
38
|
constructor(options) {
|
|
11
39
|
this.apiKey = options.apiKey;
|
|
12
40
|
this.baseUrl =
|
|
13
|
-
options.baseUrl ||
|
|
41
|
+
normalizeLlmBaseUrl(options.baseUrl) ||
|
|
42
|
+
'https://ark.cn-beijing.volces.com/api/coding/v1/chat/completions';
|
|
14
43
|
this.model = options.model || DEFAULT_MODEL;
|
|
15
44
|
}
|
|
16
45
|
async chat(request) {
|
|
@@ -80,13 +109,17 @@ export class OpenAICompatibleLLM {
|
|
|
80
109
|
process.env['VOLCENGINE_API_KEY'] ||
|
|
81
110
|
process.env['ANTHROPIC_AUTH_TOKEN'] ||
|
|
82
111
|
'';
|
|
83
|
-
const
|
|
112
|
+
const rawBaseUrl = process.env['LLM_BASE_URL'] ||
|
|
84
113
|
process.env['VOLCENGINE_BASE_URL'] ||
|
|
85
114
|
'https://ark.cn-beijing.volces.com/api/coding/v1/chat/completions';
|
|
86
115
|
const model = process.env['LLM_MODEL'] || process.env['VOLCENGINE_MODEL'] || DEFAULT_MODEL;
|
|
87
116
|
if (!apiKey) {
|
|
88
117
|
throw new Error('LLM_API_KEY or VOLCENGINE_API_KEY or ANTHROPIC_AUTH_TOKEN not configured');
|
|
89
118
|
}
|
|
119
|
+
const baseUrl = normalizeLlmBaseUrl(rawBaseUrl);
|
|
120
|
+
if (baseUrl !== rawBaseUrl) {
|
|
121
|
+
info('LLM_BASE_URL normalized', { from: rawBaseUrl, to: baseUrl });
|
|
122
|
+
}
|
|
90
123
|
return new OpenAICompatibleLLM({
|
|
91
124
|
apiKey,
|
|
92
125
|
baseUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../../../src/integrations/llm/openai-compatible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,MAAM,OAAO,mBAAmB;IACtB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,KAAK,CAAS;IAEtB,YAAY,OAAmB;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO;YACV,OAAO,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../../../src/integrations/llm/openai-compatible.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ export declare class InterviewPlanRepository {
|
|
|
9
9
|
/** Full row lookup — previously `prisma.interviewPlan.findUnique({ where: { id } })`. */
|
|
10
10
|
findById(id: string): import("../generated/prisma/models.js").Prisma__InterviewPlanClient<{
|
|
11
11
|
id: string;
|
|
12
|
-
name: string;
|
|
13
12
|
createdAt: Date;
|
|
13
|
+
name: string;
|
|
14
14
|
description: string | null;
|
|
15
15
|
templateId: string;
|
|
16
16
|
targetDate: Date | null;
|
|
@@ -37,9 +37,9 @@ export declare class TemplateRepository {
|
|
|
37
37
|
}>): Promise<Template>;
|
|
38
38
|
findAllForAdminTree(): Promise<{
|
|
39
39
|
id: string;
|
|
40
|
+
createdAt: Date;
|
|
40
41
|
name: string;
|
|
41
42
|
version: number;
|
|
42
|
-
createdAt: Date;
|
|
43
43
|
description: string | null;
|
|
44
44
|
status: TemplateStatus;
|
|
45
45
|
_count: {
|
|
@@ -48,8 +48,8 @@ export declare class TemplateRepository {
|
|
|
48
48
|
};
|
|
49
49
|
interviewPlans: {
|
|
50
50
|
id: string;
|
|
51
|
-
name: string;
|
|
52
51
|
createdAt: Date;
|
|
52
|
+
name: string;
|
|
53
53
|
description: string | null;
|
|
54
54
|
status: import("../utils/prisma-client.js").PlanStatus;
|
|
55
55
|
sentCount: number;
|
|
@@ -71,9 +71,9 @@ export declare class TemplateRepository {
|
|
|
71
71
|
}>>;
|
|
72
72
|
findByIdWithCounts(id: string): Promise<{
|
|
73
73
|
id: string;
|
|
74
|
+
createdAt: Date;
|
|
74
75
|
name: string;
|
|
75
76
|
version: number;
|
|
76
|
-
createdAt: Date;
|
|
77
77
|
content: string;
|
|
78
78
|
description: string | null;
|
|
79
79
|
status: TemplateStatus;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/server-entry.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { error as logError } from './utils/logger.js';
|
|
2
|
+
import { startServer } from './server.js';
|
|
3
|
+
/**
|
|
4
|
+
* Canonical published entry point.
|
|
5
|
+
*
|
|
6
|
+
* This file exists so the process is launched reliably regardless of HOW it is
|
|
7
|
+
* started:
|
|
8
|
+
* - `node dist/src/server-entry.js` (direct)
|
|
9
|
+
* - PM2 fork mode (child_process.fork of
|
|
10
|
+
* ProcessContainerFork.js, where the argv-based self-start guard in
|
|
11
|
+
* src/server.ts cannot detect a direct launch)
|
|
12
|
+
* - container CMD, systemd, etc.
|
|
13
|
+
*
|
|
14
|
+
* Calling startServer() explicitly avoids two bugs that shipped in 1.11.0:
|
|
15
|
+
* - issue #186: ecosystem.config.cjs pointed at `dist/server.js`, a path that
|
|
16
|
+
* does not exist once tsc preserves the `src/` directory layout.
|
|
17
|
+
* - issue #187: under PM2 fork mode the argv === import.meta.url self-start
|
|
18
|
+
* guard is never true, so startServer() was never called and the process
|
|
19
|
+
* exited silently with code 0 in an infinite restart loop with an empty
|
|
20
|
+
* error log.
|
|
21
|
+
*/
|
|
22
|
+
void startServer().catch((err) => {
|
|
23
|
+
// Surface startup failures to the error log (which PM2 captures) instead of
|
|
24
|
+
// exiting silently with code 0, which previously produced an undiagnosable
|
|
25
|
+
// restart loop (issue #187).
|
|
26
|
+
logError('Server failed to start', {
|
|
27
|
+
error: err instanceof Error ? (err.stack || err.message) : err,
|
|
28
|
+
});
|
|
29
|
+
process.exitCode = 1;
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=server-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/server-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACxC,4EAA4E;IAC5E,2EAA2E;IAC3E,6BAA6B;IAC7B,QAAQ,CAAC,wBAAwB,EAAE;QACjC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;KAC/D,CAAC,CAAC;IACH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAWA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAWA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAmB7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAiChF,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,eAAe,CAAC;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,YAAY,CAAC;CAC7C,CAAC;AAEF,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAE5E;AAED,wBAAsB,uBAAuB,CAC3C,aAAa,GAAE,MAAM,YAAiC,GACrD,OAAO,CAAC,OAAO,CAAC,CAwBlB;AAwID,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB;;;;;4BAqIhC,oBAAoB;;GAY/C;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAsFzD,wBAAsB,oBAAoB,CAAC,EACzC,OAAO,EAAE,GAAG,EACZ,SAAS,EACT,MAAM,GACP,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BtD;AASD,wBAAsB,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAwBvE"}
|
package/dist/src/server.js
CHANGED
|
@@ -12,9 +12,13 @@ import dotenv from 'dotenv';
|
|
|
12
12
|
import Fastify from 'fastify';
|
|
13
13
|
import nunjucks from 'nunjucks';
|
|
14
14
|
import { createPrismaClient } from './utils/prisma-factory.js';
|
|
15
|
-
// Load .env
|
|
16
|
-
//
|
|
17
|
-
|
|
15
|
+
// Load .env for DEFAULTS only. Process-injected environment variables
|
|
16
|
+
// (PM2 env_production/env_staging, container env, systemd EnvironmentFile, CI)
|
|
17
|
+
// MUST win over values in .env, so .env never overrides keys that already
|
|
18
|
+
// exist. The previous `override: true` silently discarded PM2-injected
|
|
19
|
+
// PORT/NODE_ENV and secrets, making the documented staging/second-instance
|
|
20
|
+
// deployment impossible (issue #192).
|
|
21
|
+
dotenv.config({ override: false });
|
|
18
22
|
import cron from 'node-cron';
|
|
19
23
|
import { adminTemplatesRoutes } from './api/admin-templates.js';
|
|
20
24
|
import { analysisRoutes } from './api/analysis.js';
|
|
@@ -42,6 +46,7 @@ import { TemplateDimensionService } from './services/template-dimension.service.
|
|
|
42
46
|
import { error, info, warn } from './utils/logger.js';
|
|
43
47
|
import { renderMarkdown } from './utils/markdown.js';
|
|
44
48
|
import { resolveAssetRoots } from './utils/path-resolver.js';
|
|
49
|
+
import { getAppVersion } from './utils/app-version.js';
|
|
45
50
|
import { createVerifyApiKey, securityMiddleware } from './utils/security.js';
|
|
46
51
|
const __filename = fileURLToPath(import.meta.url);
|
|
47
52
|
const __dirname = dirname(__filename);
|
|
@@ -408,6 +413,7 @@ function buildListenOptions() {
|
|
|
408
413
|
};
|
|
409
414
|
}
|
|
410
415
|
export async function startServer() {
|
|
416
|
+
info('dialog-survey starting', { version: getAppVersion() });
|
|
411
417
|
const dbOk = await checkDatabaseConnection();
|
|
412
418
|
if (!dbOk) {
|
|
413
419
|
throw new Error('Database connection check failed');
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,9 +28,9 @@ export declare class InterviewPlanServiceBase {
|
|
|
28
28
|
}[];
|
|
29
29
|
template: {
|
|
30
30
|
id: string;
|
|
31
|
+
createdAt: Date;
|
|
31
32
|
name: string;
|
|
32
33
|
version: number;
|
|
33
|
-
createdAt: Date;
|
|
34
34
|
content: string;
|
|
35
35
|
description: string | null;
|
|
36
36
|
status: import("../utils/prisma-client.js").TemplateStatus;
|
|
@@ -42,8 +42,8 @@ export declare class InterviewPlanServiceBase {
|
|
|
42
42
|
};
|
|
43
43
|
} & {
|
|
44
44
|
id: string;
|
|
45
|
-
name: string;
|
|
46
45
|
createdAt: Date;
|
|
46
|
+
name: string;
|
|
47
47
|
description: string | null;
|
|
48
48
|
templateId: string;
|
|
49
49
|
targetDate: Date | null;
|
|
@@ -72,8 +72,8 @@ export declare class InterviewPlanServiceBase {
|
|
|
72
72
|
};
|
|
73
73
|
} & {
|
|
74
74
|
id: string;
|
|
75
|
-
name: string;
|
|
76
75
|
createdAt: Date;
|
|
76
|
+
name: string;
|
|
77
77
|
description: string | null;
|
|
78
78
|
templateId: string;
|
|
79
79
|
targetDate: Date | null;
|
|
@@ -105,8 +105,8 @@ export declare class InterviewPlanServiceBase {
|
|
|
105
105
|
};
|
|
106
106
|
} & {
|
|
107
107
|
id: string;
|
|
108
|
-
name: string;
|
|
109
108
|
createdAt: Date;
|
|
109
|
+
name: string;
|
|
110
110
|
description: string | null;
|
|
111
111
|
templateId: string;
|
|
112
112
|
targetDate: Date | null;
|
|
@@ -143,8 +143,8 @@ export declare class InterviewPlanServiceBase {
|
|
|
143
143
|
};
|
|
144
144
|
} & {
|
|
145
145
|
id: string;
|
|
146
|
-
name: string;
|
|
147
146
|
createdAt: Date;
|
|
147
|
+
name: string;
|
|
148
148
|
description: string | null;
|
|
149
149
|
templateId: string;
|
|
150
150
|
targetDate: Date | null;
|
|
@@ -168,8 +168,8 @@ export declare class InterviewPlanServiceBase {
|
|
|
168
168
|
};
|
|
169
169
|
} & {
|
|
170
170
|
id: string;
|
|
171
|
-
name: string;
|
|
172
171
|
createdAt: Date;
|
|
172
|
+
name: string;
|
|
173
173
|
description: string | null;
|
|
174
174
|
templateId: string;
|
|
175
175
|
targetDate: Date | null;
|
|
@@ -6,9 +6,9 @@ export declare function updateTemplateDimensions(prisma: PrismaClient, templateI
|
|
|
6
6
|
keywords?: string[];
|
|
7
7
|
}[]): Promise<{
|
|
8
8
|
id: string;
|
|
9
|
+
createdAt: Date;
|
|
9
10
|
name: string;
|
|
10
11
|
version: number;
|
|
11
|
-
createdAt: Date;
|
|
12
12
|
content: string;
|
|
13
13
|
description: string | null;
|
|
14
14
|
status: import("../utils/prisma-client.js").TemplateStatus;
|
|
@@ -32,9 +32,9 @@ export declare class TemplateDimensionService {
|
|
|
32
32
|
keywords?: string[];
|
|
33
33
|
}[]): Promise<{
|
|
34
34
|
id: string;
|
|
35
|
+
createdAt: Date;
|
|
35
36
|
name: string;
|
|
36
37
|
version: number;
|
|
37
|
-
createdAt: Date;
|
|
38
38
|
content: string;
|
|
39
39
|
description: string | null;
|
|
40
40
|
status: import("../utils/prisma-client.js").TemplateStatus;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the application version from the published VERSION file (when present
|
|
3
|
+
* in the package) or, as a fallback, from package.json. Both ship with the npm
|
|
4
|
+
* package, so a deployed instance can always report which release it is running
|
|
5
|
+
* — addressing issue #191, where the published tarball carried no version
|
|
6
|
+
* information and the tag had drifted off the master line.
|
|
7
|
+
*
|
|
8
|
+
* The candidate paths cover both layouts: sources run from `src/...` in dev/test
|
|
9
|
+
* and the compiled output lives under `dist/src/...` in the published package,
|
|
10
|
+
* so the relative depth to the package root differs.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getAppVersion(): string;
|
|
13
|
+
//# sourceMappingURL=app-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-version.d.ts","sourceRoot":"","sources":["../../../src/utils/app-version.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,IAAI,MAAM,CA0CtC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
let cachedVersion;
|
|
5
|
+
/**
|
|
6
|
+
* Resolve the application version from the published VERSION file (when present
|
|
7
|
+
* in the package) or, as a fallback, from package.json. Both ship with the npm
|
|
8
|
+
* package, so a deployed instance can always report which release it is running
|
|
9
|
+
* — addressing issue #191, where the published tarball carried no version
|
|
10
|
+
* information and the tag had drifted off the master line.
|
|
11
|
+
*
|
|
12
|
+
* The candidate paths cover both layouts: sources run from `src/...` in dev/test
|
|
13
|
+
* and the compiled output lives under `dist/src/...` in the published package,
|
|
14
|
+
* so the relative depth to the package root differs.
|
|
15
|
+
*/
|
|
16
|
+
export function getAppVersion() {
|
|
17
|
+
if (cachedVersion !== undefined) {
|
|
18
|
+
return cachedVersion;
|
|
19
|
+
}
|
|
20
|
+
const startDir = dirname(fileURLToPath(import.meta.url));
|
|
21
|
+
let version = 'unknown';
|
|
22
|
+
for (const rel of ['VERSION', '../../VERSION', '../../../VERSION', '../../../../VERSION']) {
|
|
23
|
+
const candidate = join(startDir, rel);
|
|
24
|
+
if (!existsSync(candidate))
|
|
25
|
+
continue;
|
|
26
|
+
try {
|
|
27
|
+
version = readFileSync(candidate, 'utf-8').trim();
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// unreadable — keep looking
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (version === 'unknown') {
|
|
35
|
+
for (const rel of [
|
|
36
|
+
'package.json',
|
|
37
|
+
'../../package.json',
|
|
38
|
+
'../../../package.json',
|
|
39
|
+
'../../../../package.json',
|
|
40
|
+
]) {
|
|
41
|
+
const candidate = join(startDir, rel);
|
|
42
|
+
if (!existsSync(candidate))
|
|
43
|
+
continue;
|
|
44
|
+
try {
|
|
45
|
+
const pkg = JSON.parse(readFileSync(candidate, 'utf-8'));
|
|
46
|
+
if (typeof pkg.version === 'string') {
|
|
47
|
+
version = pkg.version;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// unreadable — keep looking
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
cachedVersion = version;
|
|
57
|
+
return version;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=app-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-version.js","sourceRoot":"","sources":["../../../src/utils/app-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,IAAI,aAAiC,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,IAAI,OAAO,GAAG,SAAS,CAAC;IAExB,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,EAAE,CAAC;QAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QACrC,IAAI,CAAC;YACH,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM;QACR,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI;YAChB,cAAc;YACd,oBAAoB;YACpB,uBAAuB;YACvB,0BAA0B;SAC3B,EAAE,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,SAAS;YACrC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAA0B,CAAC;gBAClF,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACpC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;oBACtB,MAAM;gBACR,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa,GAAG,OAAO,CAAC;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|