sdlc-agent-4-enterprise-server 1.47.1 → 1.53.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.
- package/.kiro/agents/prompts/sm-agent.md +13 -6
- package/.kiro/agents/sm-agent.md +13 -6
- package/Dockerfile +117 -8
- package/README.md +3 -2
- package/dist/admin/db/config.js +5 -3
- package/dist/admin/db/config.js.map +1 -1
- package/dist/admin/sanitize.d.ts +12 -0
- package/dist/admin/sanitize.js +19 -0
- package/dist/admin/sanitize.js.map +1 -1
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.js +14 -0
- package/dist/config/index.js.map +1 -1
- package/dist/database/adapters/PostgresAdapter.d.ts +9 -1
- package/dist/database/adapters/PostgresAdapter.js +40 -41
- package/dist/database/adapters/PostgresAdapter.js.map +1 -1
- package/dist/database/adapters/PostgresAsyncAdapter.d.ts +1 -1
- package/dist/database/adapters/PostgresAsyncAdapter.js +3 -3
- package/dist/database/adapters/PostgresAsyncAdapter.js.map +1 -1
- package/dist/database/adapters/pg-sql-utils.d.ts +31 -0
- package/dist/database/adapters/pg-sql-utils.js +78 -0
- package/dist/database/adapters/pg-sql-utils.js.map +1 -0
- package/dist/database/migration/pg-schema-ensure.js +11 -3
- package/dist/database/migration/pg-schema-ensure.js.map +1 -1
- package/dist/engine/context/token-budget-manager.d.ts +1 -0
- package/dist/engine/context/token-budget-manager.js +4 -0
- package/dist/engine/context/token-budget-manager.js.map +1 -1
- package/dist/engine/enrichment/CodeEnrichmentHandler.js +21 -1
- package/dist/engine/enrichment/CodeEnrichmentHandler.js.map +1 -1
- package/dist/engine/enrichment/CodeEnrichmentPromptBuilder.d.ts +19 -1
- package/dist/engine/enrichment/CodeEnrichmentPromptBuilder.js +66 -6
- package/dist/engine/enrichment/CodeEnrichmentPromptBuilder.js.map +1 -1
- package/dist/engine/enrichment/budget-guard.d.ts +20 -0
- package/dist/engine/enrichment/budget-guard.js +32 -0
- package/dist/engine/enrichment/budget-guard.js.map +1 -0
- package/dist/engine/enrichment/reduction-pipeline.d.ts +39 -0
- package/dist/engine/enrichment/reduction-pipeline.js +39 -0
- package/dist/engine/enrichment/reduction-pipeline.js.map +1 -0
- package/dist/engine/graph/graph-schema-ddl.js +1 -0
- package/dist/engine/graph/graph-schema-ddl.js.map +1 -1
- package/dist/engine/parsers/embedding/EmbeddingBackend.d.ts +21 -0
- package/dist/engine/parsers/embedding/EmbeddingBackend.js +13 -0
- package/dist/engine/parsers/embedding/EmbeddingBackend.js.map +1 -0
- package/dist/engine/parsers/embedding/EmbeddingService.d.ts +39 -4
- package/dist/engine/parsers/embedding/EmbeddingService.js +74 -20
- package/dist/engine/parsers/embedding/EmbeddingService.js.map +1 -1
- package/dist/engine/parsers/embedding/HashEmbeddingBackend.d.ts +14 -0
- package/dist/engine/parsers/embedding/HashEmbeddingBackend.js +34 -0
- package/dist/engine/parsers/embedding/HashEmbeddingBackend.js.map +1 -0
- package/dist/engine/parsers/embedding/OnnxEmbeddingBackend.d.ts +29 -0
- package/dist/engine/parsers/embedding/OnnxEmbeddingBackend.js +50 -0
- package/dist/engine/parsers/embedding/OnnxEmbeddingBackend.js.map +1 -0
- package/dist/engine/parsers/signature-extractor.js +5 -3
- package/dist/engine/parsers/signature-extractor.js.map +1 -1
- package/dist/engine/query/query-layer.d.ts +25 -0
- package/dist/engine/query/query-layer.js +68 -3
- package/dist/engine/query/query-layer.js.map +1 -1
- package/dist/engine/tools/code-extract.d.ts +46 -0
- package/dist/engine/tools/code-extract.js +149 -0
- package/dist/engine/tools/code-extract.js.map +1 -0
- package/dist/engine/tools/code-intel-handlers.js +8 -2
- package/dist/engine/tools/code-intel-handlers.js.map +1 -1
- package/dist/engine/tools/code-locate.d.ts +43 -0
- package/dist/engine/tools/code-locate.js +44 -0
- package/dist/engine/tools/code-locate.js.map +1 -0
- package/dist/engine/tools/drawio-tool.js +21 -3
- package/dist/engine/tools/drawio-tool.js.map +1 -1
- package/dist/engine/tools/register-tools.d.ts +56 -0
- package/dist/engine/tools/register-tools.js +6 -0
- package/dist/engine/tools/register-tools.js.map +1 -1
- package/dist/models/pega-schema.models.d.ts +36 -36
- package/dist/modules/memory/MemoryModule.d.ts +2 -2
- package/dist/modules/memory/MemoryModule.js +13 -5
- package/dist/modules/memory/MemoryModule.js.map +1 -1
- package/dist/modules/memory/dispatchers/analytics.js +8 -2
- package/dist/modules/memory/dispatchers/analytics.js.map +1 -1
- package/dist/modules/memory/dispatchers/crud.js +12 -4
- package/dist/modules/memory/dispatchers/crud.js.map +1 -1
- package/dist/modules/memory/llm/LLMInitializer.js +18 -0
- package/dist/modules/memory/llm/LLMInitializer.js.map +1 -1
- package/dist/modules/memory/llm/chunked-reduce.d.ts +11 -0
- package/dist/modules/memory/llm/chunked-reduce.js +29 -0
- package/dist/modules/memory/llm/chunked-reduce.js.map +1 -0
- package/dist/modules/memory/llm/context-window.d.ts +22 -0
- package/dist/modules/memory/llm/context-window.js +160 -0
- package/dist/modules/memory/llm/context-window.js.map +1 -0
- package/dist/modules/memory/llm/error-classifier.d.ts +23 -0
- package/dist/modules/memory/llm/error-classifier.js +127 -0
- package/dist/modules/memory/llm/error-classifier.js.map +1 -0
- package/dist/modules/memory/llm/ollama-adapter.js +3 -1
- package/dist/modules/memory/llm/ollama-adapter.js.map +1 -1
- package/dist/modules/memory/llm/openai-adapter.js +3 -1
- package/dist/modules/memory/llm/openai-adapter.js.map +1 -1
- package/dist/modules/memory/task-queue/PendingTaskRepository.d.ts +14 -1
- package/dist/modules/memory/task-queue/PendingTaskRepository.js +28 -2
- package/dist/modules/memory/task-queue/PendingTaskRepository.js.map +1 -1
- package/dist/modules/memory/task-queue/TaskWorker.d.ts +25 -0
- package/dist/modules/memory/task-queue/TaskWorker.js +129 -1
- package/dist/modules/memory/task-queue/TaskWorker.js.map +1 -1
- package/dist/modules/pega/AstDigestBuilder.d.ts +11 -0
- package/dist/modules/pega/AstDigestBuilder.js +17 -0
- package/dist/modules/pega/AstDigestBuilder.js.map +1 -0
- package/dist/modules/pega/PegaContentExtractor.d.ts +28 -0
- package/dist/modules/pega/PegaContentExtractor.js +64 -5
- package/dist/modules/pega/PegaContentExtractor.js.map +1 -1
- package/dist/modules/pega/PegaIndexer.js +2 -1
- package/dist/modules/pega/PegaIndexer.js.map +1 -1
- package/dist/modules/pega/PegaSymbolSync.d.ts +1 -1
- package/dist/modules/pega/PegaSymbolSync.js +53 -8
- package/dist/modules/pega/PegaSymbolSync.js.map +1 -1
- package/dist/modules/pega/models.d.ts +8 -0
- package/dist/server/HttpServer.js +17 -11
- package/dist/server/HttpServer.js.map +1 -1
- package/dist/server/routes/admin/config.js +55 -5
- package/dist/server/routes/admin/config.js.map +1 -1
- package/dist/server/routes/admin/kb-entries.js +7 -2
- package/dist/server/routes/admin/kb-entries.js.map +1 -1
- package/dist/server/routes/api-index-ingest.d.ts +76 -0
- package/dist/server/routes/api-index-ingest.js +165 -0
- package/dist/server/routes/api-index-ingest.js.map +1 -0
- package/dist/server/routes/api-index.d.ts +12 -0
- package/dist/server/routes/api-index.js +113 -54
- package/dist/server/routes/api-index.js.map +1 -1
- package/dist/server/routes/enrichment-auth-guard.d.ts +49 -0
- package/dist/server/routes/enrichment-auth-guard.js +68 -0
- package/dist/server/routes/enrichment-auth-guard.js.map +1 -0
- package/dist/server/routes/enrichment-status-routes.js +69 -17
- package/dist/server/routes/enrichment-status-routes.js.map +1 -1
- package/dist/shared/EventBus.d.ts +6 -0
- package/dist/shared/EventBus.js +6 -0
- package/dist/shared/EventBus.js.map +1 -1
- package/docker-compose.local-kb.yml +99 -0
- package/docker-compose.test.yml +8 -1
- package/docker-compose.yml +4 -0
- package/knexfile.cjs +8 -6
- package/package.json +3 -3
- package/scripts/precache-embedding-model.mjs +27 -0
- package/src/admin/__tests__/sanitize.test.ts +36 -0
- package/src/admin/db/__tests__/config-masking.test.ts +43 -0
- package/src/admin/db/config.ts +5 -3
- package/src/admin/middleware/rbac.middleware.ts +11 -0
- package/src/admin/sanitize.ts +21 -0
- package/src/config/index.ts +14 -0
- package/src/database/adapters/PostgresAdapter.ts +44 -40
- package/src/database/adapters/PostgresAsyncAdapter.ts +3 -3
- package/src/database/adapters/__tests__/PostgresAdapter.test.ts +53 -22
- package/src/database/adapters/__tests__/pg-sql-utils.test.ts +75 -0
- package/src/database/adapters/pg-sql-utils.ts +77 -0
- package/src/database/migration/pg-schema-ensure.ts +12 -3
- package/src/engine/context/token-budget-manager.ts +5 -0
- package/src/engine/enrichment/CodeEnrichmentHandler.ts +24 -1
- package/src/engine/enrichment/CodeEnrichmentPromptBuilder.ts +72 -6
- package/src/engine/enrichment/__tests__/pega-enrichment-prompt.test.ts +24 -1
- package/src/engine/enrichment/budget-guard.ts +49 -0
- package/src/engine/enrichment/reduction-pipeline.ts +60 -0
- package/src/engine/graph/graph-schema-ddl.ts +1 -0
- package/src/engine/parsers/embedding/EmbeddingBackend.ts +24 -0
- package/src/engine/parsers/embedding/EmbeddingService.ts +81 -21
- package/src/engine/parsers/embedding/HashEmbeddingBackend.ts +35 -0
- package/src/engine/parsers/embedding/OnnxEmbeddingBackend.ts +92 -0
- package/src/engine/parsers/embedding/__tests__/EmbeddingService.test.ts +101 -0
- package/src/engine/parsers/signature-extractor.ts +5 -3
- package/src/engine/query/__tests__/list-class-methods.test.ts +165 -0
- package/src/engine/query/query-layer.ts +92 -4
- package/src/engine/tools/__tests__/code-extract.test.ts +162 -0
- package/src/engine/tools/__tests__/code-locate-tool.test.ts +77 -0
- package/src/engine/tools/__tests__/code-locate.test.ts +134 -0
- package/src/engine/tools/__tests__/drawio-tool.test.ts +41 -0
- package/src/engine/tools/code-extract.ts +162 -0
- package/src/engine/tools/code-intel-handlers.ts +7 -1
- package/src/engine/tools/code-locate.ts +67 -0
- package/src/engine/tools/drawio-tool.ts +23 -2
- package/src/engine/tools/register-tools.ts +6 -0
- package/src/modules/memory/MemoryModule.ts +12 -5
- package/src/modules/memory/dispatchers/analytics.ts +8 -3
- package/src/modules/memory/dispatchers/crud.ts +13 -4
- package/src/modules/memory/ingest/__tests__/enrich-existing-tags-preserve.it.test.ts +175 -0
- package/src/modules/memory/ingest/__tests__/ingest-file-tags-fallback.it.test.ts +194 -0
- package/src/modules/memory/llm/LLMInitializer.ts +21 -0
- package/src/modules/memory/llm/__tests__/error-classifier.test.ts +121 -0
- package/src/modules/memory/llm/chunked-reduce.ts +35 -0
- package/src/modules/memory/llm/context-window.ts +173 -0
- package/src/modules/memory/llm/error-classifier.ts +127 -0
- package/src/modules/memory/llm/ollama-adapter.ts +3 -1
- package/src/modules/memory/llm/openai-adapter.ts +3 -1
- package/src/modules/memory/task-queue/PendingTaskRepository.ts +29 -3
- package/src/modules/memory/task-queue/TaskWorker.ts +132 -1
- package/src/modules/memory/task-queue/__tests__/PendingTaskRepository.retry.test.ts +139 -0
- package/src/modules/memory/task-queue/__tests__/TaskWorker.fallback-tag.test.ts +263 -0
- package/src/modules/pega/AstDigestBuilder.ts +26 -0
- package/src/modules/pega/PegaContentExtractor.ts +79 -5
- package/src/modules/pega/PegaIndexer.ts +2 -1
- package/src/modules/pega/PegaSymbolSync.ts +56 -9
- package/src/modules/pega/__tests__/PegaContentExtractor.test.ts +38 -1
- package/src/modules/pega/__tests__/PegaSymbolSync.test.ts +43 -0
- package/src/modules/pega/models.ts +8 -0
- package/src/server/HttpServer.ts +20 -14
- package/src/server/routes/__tests__/admin-config-mask.test.ts +156 -0
- package/src/server/routes/__tests__/admin.test.ts +4 -1
- package/src/server/routes/__tests__/api-index-errors.test.ts +273 -1
- package/src/server/routes/__tests__/enrichment-status-routes.test.ts +209 -31
- package/src/server/routes/admin/config.ts +50 -5
- package/src/server/routes/admin/kb-entries.ts +8 -3
- package/src/server/routes/api-index-ingest.ts +195 -0
- package/src/server/routes/api-index.ts +123 -51
- package/src/server/routes/enrichment-auth-guard.ts +81 -0
- package/src/server/routes/enrichment-status-routes.ts +66 -17
- package/src/shared/EventBus.ts +6 -0
- package/tests/e2e/sa4e-360-tools.e2e.test.ts +175 -0
|
@@ -31,7 +31,7 @@ At the very beginning of your execution, use `find_tools` to discover tools. Use
|
|
|
31
31
|
|
|
32
32
|
Fallbacks:
|
|
33
33
|
- **Project tracker unavailable** → Skip transitions, manage status via STATUS.json only
|
|
34
|
-
- **KB unavailable** →
|
|
34
|
+
- **KB unavailable** → Attempt MCP bootstrap first (tool-usage-dynamic Step 0). If still down → report to user explicitly ("⚠️ KB unavailable — fallback to file checks, KB verification skipped"), then rely on file checks
|
|
35
35
|
- **DOCX export unavailable** → Skip DOCX export, attach markdown or skip attachment
|
|
36
36
|
|
|
37
37
|
### Discovery Report
|
|
@@ -506,7 +506,14 @@ invokeSubAgent(
|
|
|
506
506
|
- If exists → resume from `currentPhase`
|
|
507
507
|
- If not exists → scan for existing files to build initial status
|
|
508
508
|
|
|
509
|
-
2. **
|
|
509
|
+
2. **KB-first check** (MANDATORY — before deciding next steps):
|
|
510
|
+
- Use the discovered KB "search" tool (query: "{TICKET} BRD FSD TDD") — cross-check STATUS.json against documents actually in KB (detect stale/corrupt status)
|
|
511
|
+
- Use the discovered KB "search" tool (query: "personalized rules preferences conventions") — load user's personalized rules (agent-self-learning Rule #7)
|
|
512
|
+
- Use the discovered KB "search" tool (query: "{PROJECT} lessons learned") — check prior lessons/error patterns relevant to this ticket
|
|
513
|
+
- If any KB finding contradicts STATUS.json → report the conflict to user before proceeding
|
|
514
|
+
- If KB unavailable → attempt MCP bootstrap first, then report to user before falling back to file checks
|
|
515
|
+
|
|
516
|
+
3. **Scan existing files** (when STATUS.json doesn't exist):
|
|
510
517
|
```
|
|
511
518
|
documents/{TICKET}/BRD.md exists? → requirements: done
|
|
512
519
|
documents/{TICKET}/FSD.md exists? → specification: done
|
|
@@ -516,7 +523,7 @@ invokeSubAgent(
|
|
|
516
523
|
```
|
|
517
524
|
Create STATUS.json from scan results.
|
|
518
525
|
|
|
519
|
-
|
|
526
|
+
4. **Check Jira ticket status** (MANDATORY on every resume):
|
|
520
527
|
```
|
|
521
528
|
issue = the discovered project tracker "get issue" tool (issue_key: "{TICKET}")
|
|
522
529
|
jiraStatus = issue.status // "To Do", "Docs Review", "In Progress", "In Review", "QA Test", "UAT", "Ready For Product", "Done"
|
|
@@ -537,7 +544,7 @@ invokeSubAgent(
|
|
|
537
544
|
|
|
538
545
|
**Quan trọng:** Nếu Jira status đã advance (ví dụ: reviewer đã chuyển DOCS REVIEW → IN PROGRESS), SM tự động tiếp tục phase tương ứng mà KHÔNG cần user nói lại.
|
|
539
546
|
|
|
540
|
-
|
|
547
|
+
5. **Read Jira comments** (MANDATORY on every resume):
|
|
541
548
|
```
|
|
542
549
|
the discovered project tracker "get issue" tool (issue_key: "{TICKET}", comment_limit: 10)
|
|
543
550
|
```
|
|
@@ -575,7 +582,7 @@ invokeSubAgent(
|
|
|
575
582
|
- If comment contains rejection/feedback → SM MUST report to user before taking action
|
|
576
583
|
- Store last processed comment timestamp in STATUS.json: `"lastCommentProcessed": "2026-05-01T18:00:00Z"`
|
|
577
584
|
|
|
578
|
-
|
|
585
|
+
6. **Report current status to user:**
|
|
579
586
|
```
|
|
580
587
|
📋 {TICKET} — Status Report
|
|
581
588
|
|
|
@@ -593,7 +600,7 @@ invokeSubAgent(
|
|
|
593
600
|
➡️ Tiếp tục Phase 3 (Design)?
|
|
594
601
|
```
|
|
595
602
|
|
|
596
|
-
|
|
603
|
+
7. **Wait for user confirmation** before proceeding.
|
|
597
604
|
|
|
598
605
|
### Step 1: Execute Phase — Requirements (BA → BRD)
|
|
599
606
|
|
package/.kiro/agents/sm-agent.md
CHANGED
|
@@ -43,7 +43,7 @@ At the very beginning of your execution, use `find_tools` to discover tools. Use
|
|
|
43
43
|
|
|
44
44
|
Fallbacks:
|
|
45
45
|
- **Project tracker unavailable** → Skip transitions, manage status via STATUS.json only
|
|
46
|
-
- **KB unavailable** →
|
|
46
|
+
- **KB unavailable** → Attempt MCP bootstrap first (tool-usage-dynamic Step 0). If still down → report to user explicitly ("⚠️ KB unavailable — fallback to file checks, KB verification skipped"), then rely on file checks
|
|
47
47
|
- **DOCX export unavailable** → Skip DOCX export, attach markdown or skip attachment
|
|
48
48
|
|
|
49
49
|
### Discovery Report
|
|
@@ -523,7 +523,14 @@ invokeSubAgent(
|
|
|
523
523
|
- If exists → resume from `currentPhase`
|
|
524
524
|
- If not exists → scan for existing files to build initial status
|
|
525
525
|
|
|
526
|
-
2. **
|
|
526
|
+
2. **KB-first check** (MANDATORY — before deciding next steps):
|
|
527
|
+
- Use the discovered KB "search" tool (query: "{TICKET} BRD FSD TDD") — cross-check STATUS.json against documents actually in KB (detect stale/corrupt status)
|
|
528
|
+
- Use the discovered KB "search" tool (query: "personalized rules preferences conventions") — load user's personalized rules (agent-self-learning Rule #7)
|
|
529
|
+
- Use the discovered KB "search" tool (query: "{PROJECT} lessons learned") — check prior lessons/error patterns relevant to this ticket
|
|
530
|
+
- If any KB finding contradicts STATUS.json → report the conflict to user before proceeding
|
|
531
|
+
- If KB unavailable → attempt MCP bootstrap first, then report to user before falling back to file checks
|
|
532
|
+
|
|
533
|
+
3. **Scan existing files** (when STATUS.json doesn't exist):
|
|
527
534
|
```
|
|
528
535
|
documents/{TICKET}/BRD.md exists? → requirements: done
|
|
529
536
|
documents/{TICKET}/FSD.md exists? → specification: done
|
|
@@ -533,7 +540,7 @@ invokeSubAgent(
|
|
|
533
540
|
```
|
|
534
541
|
Create STATUS.json from scan results.
|
|
535
542
|
|
|
536
|
-
|
|
543
|
+
4. **Check Jira ticket status** (MANDATORY on every resume):
|
|
537
544
|
```
|
|
538
545
|
issue = the discovered project tracker "get issue" tool (issue_key: "{TICKET}")
|
|
539
546
|
jiraStatus = issue.status // "To Do", "Docs Review", "In Progress", "In Review", "QA Test", "UAT", "Ready For Product", "Done"
|
|
@@ -554,7 +561,7 @@ invokeSubAgent(
|
|
|
554
561
|
|
|
555
562
|
**Quan trọng:** Nếu Jira status đã advance (ví dụ: reviewer đã chuyển DOCS REVIEW → IN PROGRESS), SM tự động tiếp tục phase tương ứng mà KHÔNG cần user nói lại.
|
|
556
563
|
|
|
557
|
-
|
|
564
|
+
5. **Read Jira comments** (MANDATORY on every resume):
|
|
558
565
|
```
|
|
559
566
|
the discovered project tracker "get issue" tool (issue_key: "{TICKET}", comment_limit: 10)
|
|
560
567
|
```
|
|
@@ -592,7 +599,7 @@ invokeSubAgent(
|
|
|
592
599
|
- If comment contains rejection/feedback → SM MUST report to user before taking action
|
|
593
600
|
- Store last processed comment timestamp in STATUS.json: `"lastCommentProcessed": "2026-05-01T18:00:00Z"`
|
|
594
601
|
|
|
595
|
-
|
|
602
|
+
6. **Report current status to user:**
|
|
596
603
|
```
|
|
597
604
|
📋 {TICKET} — Status Report
|
|
598
605
|
|
|
@@ -610,7 +617,7 @@ invokeSubAgent(
|
|
|
610
617
|
➡️ Tiếp tục Phase 3 (Design)?
|
|
611
618
|
```
|
|
612
619
|
|
|
613
|
-
|
|
620
|
+
7. **Wait for user confirmation** before proceeding.
|
|
614
621
|
|
|
615
622
|
### Step 1: Execute Phase — Requirements (BA → BRD)
|
|
616
623
|
|
package/Dockerfile
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
# =============================================================================
|
|
3
3
|
# SA4E-335 Backend Dockerfile — Node.js 22 + Hono Code Intelligence MCP Server
|
|
4
4
|
# -----------------------------------------------------------------------------
|
|
5
|
-
# Multi-stage build (
|
|
6
|
-
# `production` is the SOLE CI push target (TDD AD-2).
|
|
7
|
-
# reaches the runtime image.
|
|
5
|
+
# Multi-stage build (7 stages): base, deps, build, mcp-python, production,
|
|
6
|
+
# development, test. `production` is the SOLE CI push target (TDD AD-2).
|
|
7
|
+
# Build-only tooling never reaches the runtime image.
|
|
8
8
|
#
|
|
9
9
|
# Design decisions (TDD §3.2 / Security Review):
|
|
10
10
|
# - AD-1 : base = node:22-slim (Debian/glibc) so native modules such as
|
|
@@ -20,6 +20,12 @@
|
|
|
20
20
|
# - AD-6 : SA4E-44 capability items (draw.io CLI/Electron/xvfb, model pre-cache,
|
|
21
21
|
# SERVER_WORKSPACES_ROOT) are guarded behind build args and DEFAULT OFF
|
|
22
22
|
# (SEC-08) — a bare `docker build --target production .` must succeed.
|
|
23
|
+
# - MCP-1 : two stdio MCP child servers (markitdown-mcp, markdown-exporter-
|
|
24
|
+
# mcp-local) are built into isolated /opt venvs in `mcp-python` and
|
|
25
|
+
# shipped read-only on PATH, so the orchestration module spawns them
|
|
26
|
+
# by bare command name. The runtime gains ONLY the python3
|
|
27
|
+
# interpreter — no pip, no git, no pandoc (SEC-05; pypandoc-binary
|
|
28
|
+
# bundles its own pandoc, onnxruntime ships as a manylinux wheel).
|
|
23
29
|
# =============================================================================
|
|
24
30
|
|
|
25
31
|
# --- Build-time arguments (NO secrets — build args must never carry credentials, BR-17) ---
|
|
@@ -57,10 +63,68 @@ COPY package.json package-lock.json ./
|
|
|
57
63
|
RUN npm ci
|
|
58
64
|
COPY tsconfig.json ./
|
|
59
65
|
COPY src/ ./src/
|
|
66
|
+
COPY scripts/ ./scripts/
|
|
60
67
|
RUN npm run build
|
|
61
|
-
# (AD-6,
|
|
62
|
-
#
|
|
63
|
-
#
|
|
68
|
+
# (AD-6, SA4E-44 — now IMPLEMENTED) Pre-download the ONNX embedding model into
|
|
69
|
+
# TRANSFORMERS_CACHE so the runtime serves real semantic embeddings fully
|
|
70
|
+
# offline. EmbeddingService/OnnxEmbeddingBackend read the same cache dir at
|
|
71
|
+
# runtime (config embeddingCacheDir <- env TRANSFORMERS_CACHE). DEFAULT ON —
|
|
72
|
+
# semantic search is a core capability; set --build-arg BAKE_EMBEDDING_MODEL=false
|
|
73
|
+
# for slim builds (the runtime then logs an error and degrades to the sin-hash
|
|
74
|
+
# fallback unless a cache volume is mounted at /app/models-cache). `mkdir -p`
|
|
75
|
+
# guarantees the production COPY succeeds even when the download is skipped.
|
|
76
|
+
# Fail-fast: the precache script exits non-zero on download/inference errors.
|
|
77
|
+
ARG BAKE_EMBEDDING_MODEL=true
|
|
78
|
+
RUN mkdir -p /app/models-cache \
|
|
79
|
+
&& if [ "$BAKE_EMBEDDING_MODEL" = "true" ]; then \
|
|
80
|
+
TRANSFORMERS_CACHE=/app/models-cache node scripts/precache-embedding-model.mjs; \
|
|
81
|
+
fi
|
|
82
|
+
|
|
83
|
+
# -----------------------------------------------------------------------------
|
|
84
|
+
# mcp-python — builds the two stdio MCP child servers into isolated /opt venvs.
|
|
85
|
+
# The orchestration module (McpClientManager → TransportFactory) spawns stdio
|
|
86
|
+
# children by bare `command` name resolved on the PATH inherited by the backend
|
|
87
|
+
# process (documents/MCP-DB-CONFIG-REQUEST.md §9), so each server ships as a
|
|
88
|
+
# venv console script that production/development put on PATH:
|
|
89
|
+
# /opt/markitdown-venv/bin/markitdown-mcp (Microsoft MarkItDown)
|
|
90
|
+
# /opt/markdown-exporter-venv/bin/markdown-exporter-mcp-local
|
|
91
|
+
# Both servers are Python — markdown-exporter-mcp-local is NOT published to
|
|
92
|
+
# npm or PyPI (GitHub source only), so npm packaging is impossible by design.
|
|
93
|
+
# This stage derives from the SAME pinned node base as the runtime, so venv
|
|
94
|
+
# interpreters and native manylinux wheels (onnxruntime via markitdown[all]/
|
|
95
|
+
# magika, PyMuPDF, pillow, pandas; pypandoc-binary bundles pandoc → no apt
|
|
96
|
+
# pandoc needed) match the runtime ABI. `git` exists only here (SEC-05).
|
|
97
|
+
# -----------------------------------------------------------------------------
|
|
98
|
+
FROM base AS mcp-python
|
|
99
|
+
ARG MARKITDOWN_MCP_VERSION=0.0.1a7
|
|
100
|
+
# markdown-exporter-mcp-local has no PyPI release — pin the exact upstream
|
|
101
|
+
# commit (main @ 2026-04-07) for a hermetic build (git-source analogue of SEC-02).
|
|
102
|
+
ARG MARKDOWN_EXPORTER_MCP_REF=1429b6a94767a709f7f5119219ca5951042d9d3c
|
|
103
|
+
# `python3` already exists in base (build toolchain); only the venv/ensurepip
|
|
104
|
+
# support is missing. One venv per server: independent dependency trees that
|
|
105
|
+
# are pinned, upgraded and Trivy-scanned separately.
|
|
106
|
+
RUN apt-get update \
|
|
107
|
+
&& apt-get install -y --no-install-recommends python3-venv \
|
|
108
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
109
|
+
RUN python3 -m venv /opt/markitdown-venv \
|
|
110
|
+
&& /opt/markitdown-venv/bin/pip install --no-cache-dir \
|
|
111
|
+
"markitdown-mcp==${MARKITDOWN_MCP_VERSION}" \
|
|
112
|
+
&& test -x /opt/markitdown-venv/bin/markitdown-mcp \
|
|
113
|
+
&& /opt/markitdown-venv/bin/python -c "import markitdown_mcp" \
|
|
114
|
+
&& /opt/markitdown-venv/bin/python -m pip uninstall -y pip
|
|
115
|
+
# `mcp<2` constraint: upstream declares `mcp>=1.27.0` (unbounded) but its code
|
|
116
|
+
# imports `mcp.server.fastmcp` — an API REMOVED in mcp 2.x (FastMCP → MCPServer).
|
|
117
|
+
# The import probe below fails the build on exactly this class of drift
|
|
118
|
+
# (verified: unconstrained pip resolved mcp 2.3.0 → ModuleNotFoundError).
|
|
119
|
+
RUN python3 -m venv /opt/markdown-exporter-venv \
|
|
120
|
+
&& /opt/markdown-exporter-venv/bin/pip install --no-cache-dir \
|
|
121
|
+
"markdown-exporter-mcp-local @ git+https://github.com/Zac-Chen-2001/markdown-exporter-mcp-local@${MARKDOWN_EXPORTER_MCP_REF}" \
|
|
122
|
+
"mcp>=1.27.0,<2.0.0" \
|
|
123
|
+
&& test -x /opt/markdown-exporter-venv/bin/markdown-exporter-mcp-local \
|
|
124
|
+
&& /opt/markdown-exporter-venv/bin/python -c "import markdown_exporter_mcp.server, md_exporter" \
|
|
125
|
+
&& /opt/markdown-exporter-venv/bin/python -m pip uninstall -y pip
|
|
126
|
+
# Both venvs are copied root-owned READ-ONLY; stripping their bundled pip keeps
|
|
127
|
+
# the runtime image free of ANY package manager (SEC-05) and out of Trivy scans.
|
|
64
128
|
|
|
65
129
|
# -----------------------------------------------------------------------------
|
|
66
130
|
# production ★ — runtime image. SOLE CI push target. Minimal surface, non-root.
|
|
@@ -94,9 +158,12 @@ RUN npm install -g npm@${NPM_VERSION} --no-audit --no-fund --loglevel=error \
|
|
|
94
158
|
&& rm -rf /tmp/*.tgz \
|
|
95
159
|
&& node -e "require('${NM}/brace-expansion'); require('${NM}/undici')" \
|
|
96
160
|
&& npm --version \
|
|
97
|
-
# SEC-04: upgrade Debian packages to fix CVE-2026-103111 (libpcre2-8-0 HIGH)
|
|
161
|
+
# SEC-04: upgrade Debian packages to fix CVE-2026-103111 (libpcre2-8-0 HIGH)
|
|
162
|
+
# and the perl CVE set found by Trivy on 2026-10-10 (CVE-2026-13221 CRITICAL,
|
|
163
|
+
# CVE-2026-42497 HIGH, CVE-2026-42496, CVE-2026-8376, CVE-2026-48962,
|
|
164
|
+
# CVE-2026-57432, CVE-2026-57433 — perl-base/perl-modules in node:XX-slim)
|
|
98
165
|
&& apt-get update \
|
|
99
|
-
&& apt-get upgrade -y --no-install-recommends libpcre2-8-0 \
|
|
166
|
+
&& apt-get upgrade -y --no-install-recommends libpcre2-8-0 perl-base perl-modules-5.36 \
|
|
100
167
|
&& apt-get clean \
|
|
101
168
|
&& rm -rf /var/lib/apt/lists/*
|
|
102
169
|
|
|
@@ -105,6 +172,31 @@ COPY --from=deps /app/node_modules ./node_modules
|
|
|
105
172
|
COPY --from=build /app/dist ./dist
|
|
106
173
|
COPY --from=build /app/package.json ./
|
|
107
174
|
|
|
175
|
+
# (AD-6, SA4E-44) Baked ONNX embedding model cache from the `build` stage.
|
|
176
|
+
# Read-only at runtime (read_only rootfs in compose) — a cache hit needs no
|
|
177
|
+
# writes; with BAKE_EMBEDDING_MODEL=false the dir is empty and the runtime
|
|
178
|
+
# degrades to the logged hash fallback (mount a volume here to allow download).
|
|
179
|
+
COPY --from=build /app/models-cache ./models-cache
|
|
180
|
+
ENV TRANSFORMERS_CACHE=/app/models-cache
|
|
181
|
+
|
|
182
|
+
# --- Stdio MCP child servers (spawned by orchestration via bare command) ----
|
|
183
|
+
# Python runtime only — pip/venv tooling and git stay out of the image (SEC-05).
|
|
184
|
+
# The venv trees built in `mcp-python` are copied root-owned read-only
|
|
185
|
+
# (world-executable: the non-root backend can execute but not modify its own
|
|
186
|
+
# child servers). In-container `mcp_servers` DB rows can use bare commands:
|
|
187
|
+
# { "command": "markitdown-mcp", "args": [] }
|
|
188
|
+
# { "command": "markdown-exporter-mcp-local", "args": [] }
|
|
189
|
+
RUN apt-get update \
|
|
190
|
+
&& apt-get install -y --no-install-recommends python3 \
|
|
191
|
+
&& apt-get clean \
|
|
192
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
193
|
+
COPY --from=mcp-python /opt/markitdown-venv /opt/markitdown-venv
|
|
194
|
+
COPY --from=mcp-python /opt/markdown-exporter-venv /opt/markdown-exporter-venv
|
|
195
|
+
# Console scripts resolve on the PATH inherited by the backend process and its
|
|
196
|
+
# stdio children; PYTHONUNBUFFERED keeps stderr logs streaming (no MCP breakage).
|
|
197
|
+
ENV PATH="/opt/markitdown-venv/bin:/opt/markdown-exporter-venv/bin:${PATH}"
|
|
198
|
+
ENV PYTHONUNBUFFERED=1
|
|
199
|
+
|
|
108
200
|
# Non-root runtime user (BR-05). Debian uses groupadd/useradd (not alpine addgroup).
|
|
109
201
|
# `-r` = system account, `nologin` shell = no interactive login.
|
|
110
202
|
RUN groupadd -g 1001 sa4e \
|
|
@@ -116,6 +208,13 @@ USER sa4e
|
|
|
116
208
|
ENV NODE_ENV=production
|
|
117
209
|
ENV PORT=48721
|
|
118
210
|
|
|
211
|
+
# SA4E-99 backpressure — max concurrent /api/index/source upload requests.
|
|
212
|
+
# Startup default only: hot-reloadable at runtime via the admin UI
|
|
213
|
+
# (Configuration → indexLimit.maxConcurrent — persisted, applied instantly via
|
|
214
|
+
# EventBus), and overridable per container with `docker run -e INDEX_CONCURRENCY_LIMIT=N`.
|
|
215
|
+
# 8 absorbs cloud DB/disk latency (local default stays 3) without unbounded flood.
|
|
216
|
+
ENV INDEX_CONCURRENCY_LIMIT=8
|
|
217
|
+
|
|
119
218
|
EXPOSE 48721
|
|
120
219
|
|
|
121
220
|
# Dependency-free health probe (SEC-12): node:22-slim does not ship `wget`, so a
|
|
@@ -136,6 +235,16 @@ COPY package.json package-lock.json ./
|
|
|
136
235
|
RUN npm ci
|
|
137
236
|
COPY tsconfig.json ./
|
|
138
237
|
COPY src/ ./src/
|
|
238
|
+
# (AD-6) Same baked embedding-model cache as production — dev containers embed
|
|
239
|
+
# with the real ONNX model instead of the sin-hash fallback.
|
|
240
|
+
COPY --from=build /app/models-cache ./models-cache
|
|
241
|
+
ENV TRANSFORMERS_CACHE=/app/models-cache
|
|
242
|
+
# Stdio MCP child servers — same venvs as production (see mcp-python stage);
|
|
243
|
+
# `base` already carries python3, so only the venv copies + PATH are needed.
|
|
244
|
+
COPY --from=mcp-python /opt/markitdown-venv /opt/markitdown-venv
|
|
245
|
+
COPY --from=mcp-python /opt/markdown-exporter-venv /opt/markdown-exporter-venv
|
|
246
|
+
ENV PATH="/opt/markitdown-venv/bin:/opt/markdown-exporter-venv/bin:${PATH}"
|
|
247
|
+
ENV PYTHONUNBUFFERED=1
|
|
139
248
|
RUN groupadd -g 1001 sa4e \
|
|
140
249
|
&& useradd -u 1001 -g sa4e -r -s /usr/sbin/nologin sa4e \
|
|
141
250
|
&& chown -R sa4e:sa4e /app
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
8
|
<p align="center">
|
|
9
|
-
<img src="https://img.shields.io/badge/version-1.
|
|
9
|
+
<img src="https://img.shields.io/badge/version-1.48.0-blue?style=for-the-badge" alt="Version">
|
|
10
10
|
<img src="https://img.shields.io/badge/tools-66+-teal?style=for-the-badge" alt="Tools">
|
|
11
11
|
<img src="https://img.shields.io/badge/node-%3E%3D18-green?style=for-the-badge" alt="Node">
|
|
12
12
|
</p>
|
|
@@ -38,7 +38,7 @@ Server starts at **http://localhost:48721**. Verify it's running:
|
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
curl http://localhost:48721/health
|
|
41
|
-
# → {"status":"healthy","version":"1.
|
|
41
|
+
# → {"status":"healthy","version":"1.48.0","uptime":5,"tools_loaded":52}
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
### Development Mode (auto-reload)
|
|
@@ -233,6 +233,7 @@ The embedding model is expected at `.code-intel/models/model.onnx`. Download it:
|
|
|
233
233
|
|
|
234
234
|
| Version | Date | Ticket | Changes |
|
|
235
235
|
|---------|------|--------|---------|
|
|
236
|
+
| 1.48.0 | 2026-10-10 | SA4E-341 | Version sync (E2E testing framework delivered in standalone `e2e/` package — no backend runtime changes). Also includes SA4E-335 DB-layer 6 bugfixes (memoized id-column check, literal-safe placeholder translation, identifier quoting SQLi guard, safeExec SQLSTATE filter, writable test-backend data dir), SA4E-349 auth 401 fail-loud fixes, SA4E-350 Pega '@baseclass' appliesTo passthrough fix, enrichment retry scoped via X-Project-Id + runtime settings module. |
|
|
236
237
|
| 1.47.1 | 2026-10-04 | — | Fix Docker CI fail (Trivy CVE-2026-103111 libpcre2-8-0 HIGH), defensive JSON parse on `/auth/refresh`, SA4E-100 Pega BELONGS_TO edges. |
|
|
237
238
|
| 1.47.0 | 2026-10-02 | — | New endpoint `GET /api/v1/enrichment/failures?limit=N` (clamp 1–1000, default 200) returns full FAILED enrichment task list from `pending_tasks` with resolved source, error, retry count, timestamp (`PendingTaskRepository.listFailedDetailed`). Surfaces ingest failures to the extension beyond the 10-item status tooltip. |
|
|
238
239
|
| 1.46.2 | 2026-09-28 | — | Version sync (no backend code changes; packaging fix lives in `extension`: missing direct `yargs` dep for vendored devtools barrel). |
|
package/dist/admin/db/config.js
CHANGED
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
* SA4E-50: All functions are async; use getDbAdapter() for multi-DB support.
|
|
4
4
|
*/
|
|
5
5
|
import { getDbAdapter } from './core.js';
|
|
6
|
-
|
|
6
|
+
import { maskSecret, isSecretConfigKey } from '../sanitize.js';
|
|
7
|
+
/** Map raw DB row to typed ConfigChange. SA4E-338 S4 (D-SEC-06): secret rows are masked on read. */
|
|
7
8
|
function rowToConfigChange(r) {
|
|
9
|
+
const secret = isSecretConfigKey(r.section, r.key);
|
|
8
10
|
return {
|
|
9
11
|
id: r.id,
|
|
10
12
|
section: r.section,
|
|
11
13
|
key: r.key,
|
|
12
|
-
oldValue: r.old_value,
|
|
13
|
-
newValue: r.new_value,
|
|
14
|
+
oldValue: secret ? maskSecret(r.old_value) : r.old_value,
|
|
15
|
+
newValue: secret ? maskSecret(r.new_value) : r.new_value,
|
|
14
16
|
changedBy: r.changed_by,
|
|
15
17
|
changedAt: r.changed_at,
|
|
16
18
|
requiresRestart: !!r.requires_restart,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/admin/db/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/admin/db/config.ts"],"names":[],"mappings":"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"}
|
package/dist/admin/sanitize.d.ts
CHANGED
|
@@ -24,3 +24,15 @@ export declare function escapeHtml(value: unknown): string;
|
|
|
24
24
|
* Returns a new object; does not mutate the input.
|
|
25
25
|
*/
|
|
26
26
|
export declare function sanitizeKbEntry(entry: Record<string, unknown>): Record<string, unknown>;
|
|
27
|
+
/** Sentinel written in place of secret values in API responses, history and audit entries. */
|
|
28
|
+
export declare const MASKED_VALUE = "***";
|
|
29
|
+
/**
|
|
30
|
+
* SA4E-338 S4 (D-SEC-06): mask a secret value for any API / history / audit output.
|
|
31
|
+
* @returns `***` when a non-empty value is present, `''` when empty/absent.
|
|
32
|
+
*/
|
|
33
|
+
export declare function maskSecret(value: unknown): string;
|
|
34
|
+
/**
|
|
35
|
+
* SA4E-338 S4 (D-SEC-06): config keys whose values are secrets — never returned,
|
|
36
|
+
* echoed or audited in plaintext.
|
|
37
|
+
*/
|
|
38
|
+
export declare function isSecretConfigKey(section: string, key: string): boolean;
|
package/dist/admin/sanitize.js
CHANGED
|
@@ -58,4 +58,23 @@ export function sanitizeKbEntry(entry) {
|
|
|
58
58
|
}
|
|
59
59
|
return clean;
|
|
60
60
|
}
|
|
61
|
+
/** Sentinel written in place of secret values in API responses, history and audit entries. */
|
|
62
|
+
export const MASKED_VALUE = '***';
|
|
63
|
+
/**
|
|
64
|
+
* SA4E-338 S4 (D-SEC-06): mask a secret value for any API / history / audit output.
|
|
65
|
+
* @returns `***` when a non-empty value is present, `''` when empty/absent.
|
|
66
|
+
*/
|
|
67
|
+
export function maskSecret(value) {
|
|
68
|
+
if (value === undefined || value === null)
|
|
69
|
+
return '';
|
|
70
|
+
const s = String(value);
|
|
71
|
+
return s.length > 0 ? MASKED_VALUE : '';
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* SA4E-338 S4 (D-SEC-06): config keys whose values are secrets — never returned,
|
|
75
|
+
* echoed or audited in plaintext.
|
|
76
|
+
*/
|
|
77
|
+
export function isSecretConfigKey(section, key) {
|
|
78
|
+
return (section === 'llm' && key === 'apiKey') || (section === 'auth' && key === 'entraClientSecret');
|
|
79
|
+
}
|
|
61
80
|
//# sourceMappingURL=sanitize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/admin/sanitize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAE9C,yCAAyC;AACzC,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAe;IAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAA8B;IAC5D,MAAM,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACvE,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrC,KAAK,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,GAAI,KAAK,CAAC,IAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/admin/sanitize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAE9C,yCAAyC;AACzC,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAe;IAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAA8B;IAC5D,MAAM,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACvE,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrC,KAAK,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,GAAI,KAAK,CAAC,IAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,GAAW;IAC5D,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,GAAG,KAAK,mBAAmB,CAAC,CAAC;AACxG,CAAC"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -5,6 +5,9 @@ declare const UnifiedConfigSchema: z.ZodObject<{
|
|
|
5
5
|
port: z.ZodDefault<z.ZodNumber>;
|
|
6
6
|
host: z.ZodDefault<z.ZodString>;
|
|
7
7
|
onnxModelPath: z.ZodDefault<z.ZodString>;
|
|
8
|
+
embeddingModelId: z.ZodDefault<z.ZodString>;
|
|
9
|
+
embeddingCacheDir: z.ZodString;
|
|
10
|
+
embeddingQuantized: z.ZodDefault<z.ZodBoolean>;
|
|
8
11
|
logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
|
|
9
12
|
viewerPort: z.ZodDefault<z.ZodNumber>;
|
|
10
13
|
watchEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -93,6 +96,9 @@ declare const UnifiedConfigSchema: z.ZodObject<{
|
|
|
93
96
|
host: string;
|
|
94
97
|
port: number;
|
|
95
98
|
onnxModelPath: string;
|
|
99
|
+
embeddingModelId: string;
|
|
100
|
+
embeddingCacheDir: string;
|
|
101
|
+
embeddingQuantized: boolean;
|
|
96
102
|
logLevel: "error" | "warn" | "info" | "debug";
|
|
97
103
|
viewerPort: number;
|
|
98
104
|
watchEnabled: boolean;
|
|
@@ -130,6 +136,7 @@ declare const UnifiedConfigSchema: z.ZodObject<{
|
|
|
130
136
|
dockerSocket?: string | undefined;
|
|
131
137
|
};
|
|
132
138
|
}, {
|
|
139
|
+
embeddingCacheDir: string;
|
|
133
140
|
workspace: string;
|
|
134
141
|
indexTempDir: string;
|
|
135
142
|
dbPath: string;
|
|
@@ -162,6 +169,8 @@ declare const UnifiedConfigSchema: z.ZodObject<{
|
|
|
162
169
|
host?: string | undefined;
|
|
163
170
|
port?: number | undefined;
|
|
164
171
|
onnxModelPath?: string | undefined;
|
|
172
|
+
embeddingModelId?: string | undefined;
|
|
173
|
+
embeddingQuantized?: boolean | undefined;
|
|
165
174
|
logLevel?: "error" | "warn" | "info" | "debug" | undefined;
|
|
166
175
|
viewerPort?: number | undefined;
|
|
167
176
|
watchEnabled?: boolean | undefined;
|
package/dist/config/index.js
CHANGED
|
@@ -42,7 +42,13 @@ export const DEFAULT_EXTENSIONS = [
|
|
|
42
42
|
const UnifiedConfigSchema = z.object({
|
|
43
43
|
port: z.number().min(1024).max(65535).default(48721),
|
|
44
44
|
host: z.string().default('0.0.0.0'),
|
|
45
|
+
// Legacy/deprecated — nothing loads a bare .onnx file anymore; kept for
|
|
46
|
+
// backward-compatible admin config output. See embeddingModelId below.
|
|
45
47
|
onnxModelPath: z.string().default('models/model.onnx'),
|
|
48
|
+
// SA4E-44 / AD-6 — real ONNX embeddings via transformers.js (EmbeddingService).
|
|
49
|
+
embeddingModelId: z.string().default('Xenova/paraphrase-multilingual-MiniLM-L12-v2'),
|
|
50
|
+
embeddingCacheDir: z.string(),
|
|
51
|
+
embeddingQuantized: z.boolean().default(true),
|
|
46
52
|
logLevel: z.enum(['debug', 'info', 'warn', 'error']).default('info'),
|
|
47
53
|
viewerPort: z.number().default(3202),
|
|
48
54
|
watchEnabled: z.boolean().default(true),
|
|
@@ -158,6 +164,14 @@ export function loadConfig(overrides) {
|
|
|
158
164
|
port: resolvePort(),
|
|
159
165
|
host: process.env.CODE_INTEL_HOST || '0.0.0.0',
|
|
160
166
|
onnxModelPath: process.env.CODE_INTEL_ONNX_MODEL || 'models/model.onnx',
|
|
167
|
+
// SA4E-44 / AD-6 — ONNX embedding config (EmbeddingService/OnnxEmbeddingBackend).
|
|
168
|
+
// TRANSFORMERS_CACHE is the HF-standard env var; the Dockerfile bakes the
|
|
169
|
+
// model there at build time so the runtime image works fully offline.
|
|
170
|
+
embeddingModelId: process.env.CODE_INTEL_EMBEDDING_MODEL
|
|
171
|
+
|| 'Xenova/paraphrase-multilingual-MiniLM-L12-v2',
|
|
172
|
+
embeddingCacheDir: process.env.TRANSFORMERS_CACHE
|
|
173
|
+
|| path.join(codeIntelDir, 'models-cache'),
|
|
174
|
+
embeddingQuantized: envBool('CODE_INTEL_EMBEDDING_QUANTIZED', true),
|
|
161
175
|
logLevel: (process.env.CODE_INTEL_LOG_LEVEL || 'info'),
|
|
162
176
|
viewerPort: resolveViewerPort(),
|
|
163
177
|
watchEnabled: envBool('CODE_INTEL_WATCH', fileConfig.watchEnabled ?? true),
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAqB,MAAM,kBAAkB,CAAC;AAE1F,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AAE5C;;;;;;GAMG;AACH,SAAS,oBAAoB;IAC3B,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,EACzC,kFAAkF,CAAC,CAAC;QACtF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,eAAe,GAAG;IACtB,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IAClD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ;IACpD,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;IACnD,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;IAC/C,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK;IAChD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa;IAChD,MAAM,EAAE,UAAU,EAAE,OAAO;IAC3B,gEAAgE;IAChE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IACnF,yCAAyC;IACzC,MAAM;CACP,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE;IACnC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACtC,OAAO,EAAE,mBAAmB;IAC5B,KAAK,EAAE,kBAAkB,EAAE,sDAAsD;CAClF,CAAC,CAAC;AAMH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC/C,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtD,IAAI,OAAO;QAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/C,IAAI,OAAO;QAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACxC,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,2BAA2B,UAAU,GAAG,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,QAAiB;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACvC,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AACrD,CAAC;AAED,SAAS,MAAM,CAAC,GAAW,EAAE,QAAgB;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB,EAAE,SAAkC;IAC5E,qFAAqF;IACrF,oFAAoF;IACpF,uFAAuF;IACvF,sFAAsF;IACtF,0CAA0C;IAC1C,gDAAgD;IAChD,wFAAwF;IACxF,8EAA8E;IAC9E,gFAAgF;IAChF,IAAI,SAAS,EAAE,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC,SAAS,CAAC;IAC1F,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAChD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAC/E,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;YACtE,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,OAAO,CAAC,SAAS,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,0DAA0D,CAAC,CAAC;IAAC,CAAC;IACpG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAkC;IAC3D,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,IAAI,gBAAgB,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,aAAa,CAAC;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACjG,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAE/E,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,WAAW,EAAE;QACnB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS;QAC9C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,mBAAmB;QACvE,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,CAAwC;QAC7F,UAAU,EAAE,iBAAiB,EAAE;QAC/B,YAAY,EAAE,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI,CAAC;QAC1E,eAAe,EAAE,MAAM,CAAC,qBAAqB,EAAE,UAAU,CAAC,eAAe,IAAI,GAAG,CAAC;QACjF,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,SAAS,IAAI,IAAI;QACpE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,WAAW,IAAI,kBAAkB;QACxF,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,OAAO;QAC9C,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC;QAChD,SAAS;QACT,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC;QAC1F,MAAM;QACN,UAAU;QACV,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,UAAU;QACrD,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,oBAAoB;QACrF,eAAe,EAAE,UAAU,CAAC,eAAe,IAAI,eAAe;QAC9D,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,IAAI,kBAAkB;QACrE,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,EAAE;QACjC,GAAG,SAAS;QACZ,wEAAwE;QACxE,yEAAyE;QACzE,6EAA6E;QAC7E,6EAA6E;QAC7E,2EAA2E;QAC3E,yDAAyD;QACzD,KAAK,EAAE,oBAAoB,EAAE;KAC9B,CAAC;IAEF,OAAO,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAqB,EAAE,OAAsB;IACxE,IAAI,uBAAuB,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACrE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QAC1F,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAsB;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAClD,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,8 @@ export declare class PostgresAdapter implements DatabaseAdapter {
|
|
|
22
22
|
private pool;
|
|
23
23
|
private connected;
|
|
24
24
|
private serverVersion;
|
|
25
|
+
/** Memoized per-table result of the information_schema `id` column check. */
|
|
26
|
+
private idColumnCache;
|
|
25
27
|
constructor(config: PostgresConfig);
|
|
26
28
|
connect(): Promise<void>;
|
|
27
29
|
disconnect(): Promise<void>;
|
|
@@ -40,6 +42,13 @@ export declare class PostgresAdapter implements DatabaseAdapter {
|
|
|
40
42
|
*/
|
|
41
43
|
private getQueryFn;
|
|
42
44
|
runAsync(sql: string, params?: unknown[]): Promise<RunResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Memoized per-table check: does the target of this INSERT have an `id` column?
|
|
47
|
+
* Runs on the active query fn (tx client inside transactions) so tables created
|
|
48
|
+
* in the same transaction are visible. Check failure → false (plain INSERT is
|
|
49
|
+
* always safe); the cache costs one metadata query per table per lifetime.
|
|
50
|
+
*/
|
|
51
|
+
private tableHasIdColumn;
|
|
43
52
|
getAsync<T = unknown>(sql: string, params?: unknown[]): Promise<T | undefined>;
|
|
44
53
|
allAsync<T = unknown>(sql: string, params?: unknown[]): Promise<T[]>;
|
|
45
54
|
execAsync(sql: string): Promise<void>;
|
|
@@ -53,5 +62,4 @@ export declare class PostgresAdapter implements DatabaseAdapter {
|
|
|
53
62
|
getVersion(): Promise<string>;
|
|
54
63
|
getTableNames(): Promise<string[]>;
|
|
55
64
|
getRowCount(table: string): Promise<number>;
|
|
56
|
-
private translateParams;
|
|
57
65
|
}
|