sdlc-agent-4-enterprise-server 1.42.2 → 1.42.3
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/admin/db/core.js +23 -5
- package/dist/admin/db/core.js.map +1 -1
- package/dist/admin/db/schema.d.ts +5 -3
- package/dist/admin/db/schema.js +86 -59
- package/dist/admin/db/schema.js.map +1 -1
- package/dist/config/unified-extensions.d.ts +10 -0
- package/dist/config/unified-extensions.js +18 -0
- package/dist/config/unified-extensions.js.map +1 -0
- package/dist/database/migration/ensure-pega-category-counters.d.ts +4 -3
- package/dist/database/migration/ensure-pega-category-counters.js +13 -7
- package/dist/database/migration/ensure-pega-category-counters.js.map +1 -1
- package/dist/engine/enrichment/CodeEnrichmentHandler.js +9 -2
- package/dist/engine/enrichment/CodeEnrichmentHandler.js.map +1 -1
- package/dist/engine/graph/graph-sync-service.js +1 -1
- package/dist/engine/graph/graph-sync-service.js.map +1 -1
- package/dist/engine/indexer/async-file-scanner.js +1 -1
- package/dist/engine/indexer/async-file-scanner.js.map +1 -1
- package/dist/engine/indexer/file-scanner.js +7 -1
- package/dist/engine/indexer/file-scanner.js.map +1 -1
- package/dist/engine/indexer/project-type/resolver.d.ts +1 -1
- package/dist/engine/indexer/project-type/resolver.js +3 -10
- package/dist/engine/indexer/project-type/resolver.js.map +1 -1
- package/dist/engine/parsers/grammars/tree-sitter-jsp.wasm +0 -0
- package/dist/engine/parsers/indexer/storage.d.ts +1 -0
- package/dist/engine/parsers/indexer/storage.js +21 -0
- package/dist/engine/parsers/indexer/storage.js.map +1 -1
- package/dist/engine/parsers/languages/jsp-parser.d.ts +38 -0
- package/dist/engine/parsers/languages/jsp-parser.js +171 -0
- package/dist/engine/parsers/languages/jsp-parser.js.map +1 -0
- package/dist/engine/parsers/tree-sitter-indexer.d.ts +3 -6
- package/dist/engine/parsers/tree-sitter-indexer.js +79 -15
- package/dist/engine/parsers/tree-sitter-indexer.js.map +1 -1
- package/dist/engine/parsers/types.d.ts +1 -1
- package/dist/modules/kb-graph/service/constants.js +36 -0
- package/dist/modules/kb-graph/service/constants.js.map +1 -1
- package/dist/modules/kb-graph/service/sync.js +1 -1
- package/dist/modules/kb-graph/service/sync.js.map +1 -1
- package/dist/modules/memory/MemoryModuleBuilder.js +10 -0
- package/dist/modules/memory/MemoryModuleBuilder.js.map +1 -1
- package/dist/modules/orchestration/McpServerConfigRepository.d.ts +9 -0
- package/dist/modules/orchestration/McpServerConfigRepository.js +17 -1
- package/dist/modules/orchestration/McpServerConfigRepository.js.map +1 -1
- package/dist/modules/pega/schema/SchemaStorageService.js +10 -1
- package/dist/modules/pega/schema/SchemaStorageService.js.map +1 -1
- package/dist/modules/security/SecurityModule.js +1 -1
- package/dist/modules/security/SecurityModule.js.map +1 -1
- package/dist/modules/security/gateguard/GateGuardRepository.d.ts +5 -5
- package/dist/modules/security/gateguard/GateGuardRepository.js +10 -10
- package/dist/modules/security/gateguard/GateGuardRepository.js.map +1 -1
- package/dist/modules/security/gateguard/GateGuardService.d.ts +6 -6
- package/dist/modules/security/gateguard/GateGuardService.js +14 -14
- package/dist/modules/security/gateguard/GateGuardService.js.map +1 -1
- package/dist/modules/security/gateguard/GateGuardToolHandler.js +7 -7
- package/dist/modules/security/gateguard/GateGuardToolHandler.js.map +1 -1
- package/dist/server/routes/api-index.js +13 -1
- package/dist/server/routes/api-index.js.map +1 -1
- package/package.json +3 -1
- package/src/admin/__tests__/admin-db.test.ts +8 -0
- package/src/admin/db/core.ts +22 -5
- package/src/admin/db/schema.ts +106 -86
- package/src/config/unified-extensions.ts +20 -0
- package/src/database/migration/ensure-pega-category-counters.ts +16 -9
- package/src/engine/enrichment/CodeEnrichmentHandler.ts +9 -2
- package/src/engine/graph/graph-sync-service.ts +1 -1
- package/src/engine/indexer/async-file-scanner.ts +1 -1
- package/src/engine/indexer/file-scanner.ts +7 -1
- package/src/engine/indexer/project-type/resolver.ts +3 -10
- package/src/engine/parsers/__tests__/tree-sitter-indexer-tierB.test.ts +12 -0
- package/src/engine/parsers/grammar-config.json +9 -0
- package/src/engine/parsers/grammars/tree-sitter-jsp.wasm +0 -0
- package/src/engine/parsers/indexer/storage.ts +23 -0
- package/src/engine/parsers/languages/jsp-parser.js +167 -0
- package/src/engine/parsers/tree-sitter-indexer.ts +86 -21
- package/src/engine/parsers/types.ts +6 -0
- package/src/modules/kb-graph/service/constants.ts +36 -0
- package/src/modules/kb-graph/service/sync.ts +1 -1
- package/src/modules/memory/MemoryModuleBuilder.ts +11 -0
- package/src/modules/orchestration/McpServerConfigRepository.ts +17 -1
- package/src/modules/pega/schema/SchemaStorageService.ts +12 -4
- package/src/modules/security/SecurityModule.ts +1 -1
- package/src/modules/security/gateguard/GateGuardRepository.ts +10 -10
- package/src/modules/security/gateguard/GateGuardService.ts +15 -15
- package/src/modules/security/gateguard/GateGuardToolHandler.ts +7 -7
- package/src/modules/security/gateguard/__tests__/GateGuardRepository.test.ts +28 -28
- package/src/modules/security/gateguard/__tests__/GateGuardService.test.ts +50 -49
- package/src/server/routes/__tests__/admin.test.ts +4 -0
- package/src/server/routes/api-index.ts +13 -1
- package/src/server/routes/sa4e-215/__tests__/sa4e-215.routes.test.ts +5 -2
- package/tests/contract/extensions-contract.test.ts +30 -0
- package/tests/integration/auth.test.ts +4 -0
package/dist/admin/db/core.js
CHANGED
|
@@ -67,9 +67,15 @@ export function getActiveDbConfig() {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
let sqliteAdapter = null;
|
|
70
|
+
// Single shared init promise — initAdapters() awaits this same promise so no
|
|
71
|
+
// caller (server boot, tests) can race schema creation / admin seeding.
|
|
72
|
+
let sqliteReady = null;
|
|
70
73
|
/**
|
|
71
74
|
* Get or create the unified SQLite adapter (singleton).
|
|
72
|
-
* Handles directory creation
|
|
75
|
+
* Handles directory creation and WAL mode. Schema init is done separately via
|
|
76
|
+
* initAdapters() (async, cross-engine) so the seeding path is identical for
|
|
77
|
+
* SQLite and PostgreSQL. SqliteAdapter async methods wrap sync calls, so awaiting
|
|
78
|
+
* initSchema/seedDefaults on SQLite resolves synchronously in practice.
|
|
73
79
|
* Note: SqliteAdapter.connect() is synchronous internally (just wraps sync calls).
|
|
74
80
|
*/
|
|
75
81
|
function getUnifiedSqliteAdapter() {
|
|
@@ -77,8 +83,9 @@ function getUnifiedSqliteAdapter() {
|
|
|
77
83
|
sqliteAdapter = new SqliteAdapter(DB_PATH);
|
|
78
84
|
// SqliteAdapter.connect() is sync internally — safe to call eagerly
|
|
79
85
|
void sqliteAdapter.connect();
|
|
80
|
-
|
|
81
|
-
seedDefaults(
|
|
86
|
+
const adapter = sqliteAdapter;
|
|
87
|
+
sqliteReady = initSchema(adapter).then(() => seedDefaults(adapter))
|
|
88
|
+
.catch((err) => logger.error({ err }, '[admin] SQLite schema init failed'));
|
|
82
89
|
}
|
|
83
90
|
return sqliteAdapter;
|
|
84
91
|
}
|
|
@@ -116,6 +123,17 @@ export async function initAdapters() {
|
|
|
116
123
|
const engine = getActiveEngine();
|
|
117
124
|
if (engine === 'sqlite') {
|
|
118
125
|
getDbAdapter();
|
|
126
|
+
// Await the shared init (schema + admin seed) instead of returning
|
|
127
|
+
// immediately — otherwise the first login/seed-dependent query races init
|
|
128
|
+
// and fails (e.g. 401 in tests, missing tables).
|
|
129
|
+
if (sqliteReady) {
|
|
130
|
+
await sqliteReady;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
const adapter = getDbAdapter();
|
|
134
|
+
await initSchema(adapter);
|
|
135
|
+
await seedDefaults(adapter);
|
|
136
|
+
}
|
|
119
137
|
return;
|
|
120
138
|
}
|
|
121
139
|
const configService = new DatabaseConfigService(DATA_DIR);
|
|
@@ -125,8 +143,8 @@ export async function initAdapters() {
|
|
|
125
143
|
dbAdapter = adapter;
|
|
126
144
|
// Initialize schema and seed defaults for PostgreSQL/MySQL
|
|
127
145
|
try {
|
|
128
|
-
initSchema(adapter);
|
|
129
|
-
seedDefaults(adapter);
|
|
146
|
+
await initSchema(adapter);
|
|
147
|
+
await seedDefaults(adapter);
|
|
130
148
|
}
|
|
131
149
|
catch (err) {
|
|
132
150
|
logger.error({ err }, '[admin] Failed to init schema/seed defaults');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/admin/db/core.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/admin/db/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* admin/db/schema.ts — Admin schema initialization and seed data.
|
|
3
3
|
* SA4E-53: Accepts DatabaseAdapter (sync interface) instead of raw better-sqlite3.
|
|
4
|
+
* Multi-engine: uses async adapter API + per-engine DDL/DML so it runs on both
|
|
5
|
+
* SQLite and PostgreSQL (PostgresAdapter throws on the sync exec/get/run methods).
|
|
4
6
|
*/
|
|
5
|
-
import type {
|
|
7
|
+
import type { DatabaseAdapter } from '../../database/adapters/DatabaseAdapter.js';
|
|
6
8
|
/** Initialize admin schema tables (idempotent CREATE IF NOT EXISTS). */
|
|
7
|
-
export declare function initSchema(db:
|
|
9
|
+
export declare function initSchema(db: DatabaseAdapter): Promise<void>;
|
|
8
10
|
/** Seed default access groups and admin user. */
|
|
9
|
-
export declare function seedDefaults(db:
|
|
11
|
+
export declare function seedDefaults(db: DatabaseAdapter): Promise<void>;
|
package/dist/admin/db/schema.js
CHANGED
|
@@ -1,100 +1,109 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* admin/db/schema.ts — Admin schema initialization and seed data.
|
|
3
3
|
* SA4E-53: Accepts DatabaseAdapter (sync interface) instead of raw better-sqlite3.
|
|
4
|
+
* Multi-engine: uses async adapter API + per-engine DDL/DML so it runs on both
|
|
5
|
+
* SQLite and PostgreSQL (PostgresAdapter throws on the sync exec/get/run methods).
|
|
4
6
|
*/
|
|
5
7
|
import * as crypto from 'crypto';
|
|
6
8
|
import { hashPassword } from './password.js';
|
|
9
|
+
/**
|
|
10
|
+
* SQLite `INSERT OR IGNORE` has no direct PG equivalent — PG uses ON CONFLICT DO NOTHING.
|
|
11
|
+
* We use the target-less form so it does not require a specific named unique
|
|
12
|
+
* constraint to exist (legacy PG tables created before a UNIQUE clause was added
|
|
13
|
+
* would otherwise raise "no unique or exclusion constraint matching the ON CONFLICT
|
|
14
|
+
* specification"). Target-less DO NOTHING applies to any arbiter index/constraint.
|
|
15
|
+
*/
|
|
16
|
+
function insertIgnore(engine, sql) {
|
|
17
|
+
if (engine === 'postgresql') {
|
|
18
|
+
return sql.replace(/INSERT OR IGNORE/i, 'INSERT') + ` ON CONFLICT DO NOTHING`;
|
|
19
|
+
}
|
|
20
|
+
return sql;
|
|
21
|
+
}
|
|
7
22
|
/** Initialize admin schema tables (idempotent CREATE IF NOT EXISTS). */
|
|
8
|
-
export function initSchema(db) {
|
|
9
|
-
db.
|
|
23
|
+
export async function initSchema(db) {
|
|
24
|
+
const engine = db.getEngine();
|
|
25
|
+
await db.execAsync(schemaSql(engine));
|
|
10
26
|
// Idempotent migration: add project_id to graph_nodes for existing DBs
|
|
11
27
|
try {
|
|
12
|
-
db.
|
|
28
|
+
await db.execAsync(`ALTER TABLE graph_nodes ADD COLUMN project_id TEXT NOT NULL DEFAULT ''`);
|
|
13
29
|
}
|
|
14
30
|
catch (err) {
|
|
15
31
|
console.debug('[schema] column already exists :', err.message);
|
|
16
32
|
}
|
|
17
|
-
db.
|
|
33
|
+
await db.execAsync(`CREATE INDEX IF NOT EXISTS idx_graph_nodes_project ON graph_nodes(project_id)`);
|
|
18
34
|
// SA4E-50: project_registry — workspace → projectId mapping
|
|
19
|
-
db.
|
|
35
|
+
await db.execAsync(`
|
|
20
36
|
CREATE TABLE IF NOT EXISTS project_registry (
|
|
21
37
|
project_id TEXT PRIMARY KEY,
|
|
22
38
|
display_name TEXT NOT NULL DEFAULT '',
|
|
23
39
|
workspace_path TEXT NOT NULL DEFAULT '',
|
|
24
|
-
last_seen TEXT NOT NULL DEFAULT (
|
|
40
|
+
last_seen TEXT NOT NULL DEFAULT ${nowExpr(engine)}
|
|
25
41
|
);
|
|
26
|
-
CREATE INDEX IF NOT EXISTS idx_project_registry_seen ON project_registry(last_seen);
|
|
27
42
|
`);
|
|
43
|
+
await db.execAsync(`CREATE INDEX IF NOT EXISTS idx_project_registry_seen ON project_registry(last_seen)`);
|
|
28
44
|
// Idempotent migration: add created_by to project_registry
|
|
29
45
|
try {
|
|
30
|
-
db.
|
|
46
|
+
await db.execAsync(`ALTER TABLE project_registry ADD COLUMN created_by TEXT NOT NULL DEFAULT ''`);
|
|
31
47
|
}
|
|
32
48
|
catch (err) {
|
|
33
49
|
console.debug('[schema] column already exists :', err.message);
|
|
34
50
|
}
|
|
51
|
+
// Ensure the arbiter unique index for group_permissions exists. Legacy tables
|
|
52
|
+
// created before the inline UNIQUE(...) clause won't have it, which breaks the
|
|
53
|
+
// `ON CONFLICT DO NOTHING` used by seedDefaults. CREATE UNIQUE INDEX IF NOT EXISTS
|
|
54
|
+
// is idempotent and gives ON CONFLICT a valid arbiter on both engines.
|
|
55
|
+
try {
|
|
56
|
+
await db.execAsync(`CREATE UNIQUE INDEX IF NOT EXISTS idx_group_permissions_uniq
|
|
57
|
+
ON group_permissions(access_group_id, permission_id)`);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
console.debug('[schema] group_permissions unique index :', err.message);
|
|
61
|
+
}
|
|
35
62
|
}
|
|
36
63
|
/** Seed default access groups and admin user. */
|
|
37
|
-
export function seedDefaults(db) {
|
|
38
|
-
const groupExists = db.
|
|
64
|
+
export async function seedDefaults(db) {
|
|
65
|
+
const groupExists = await db.getAsync('SELECT 1 FROM access_groups WHERE access_group_id = ?', ['grp-admin']);
|
|
39
66
|
if (!groupExists) {
|
|
40
|
-
seedAccessGroups(db);
|
|
67
|
+
await seedAccessGroups(db);
|
|
41
68
|
}
|
|
42
69
|
// Ensure admin group has all permissions even after code changes
|
|
43
|
-
ensureAdminPermissions(db);
|
|
44
|
-
const userExists = db.
|
|
70
|
+
await ensureAdminPermissions(db);
|
|
71
|
+
const userExists = await db.getAsync('SELECT 1 FROM users WHERE username = ?', ['admin']);
|
|
45
72
|
if (!userExists) {
|
|
46
|
-
seedAdminUser(db);
|
|
73
|
+
await seedAdminUser(db);
|
|
47
74
|
}
|
|
48
75
|
}
|
|
49
|
-
|
|
76
|
+
/** Insert one access group + its permissions (idempotent, cross-engine). */
|
|
77
|
+
async function seedGroup(db, engine, groupId, groupName, isSystem, perms) {
|
|
50
78
|
const now = new Date().toISOString();
|
|
51
|
-
db.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
'DASHBOARD_VIEW', 'KB_READ', 'KB_WRITE', 'KB_PROMOTE', 'KB_IMPORT_EXPORT',
|
|
55
|
-
'MCP_ACCESS', 'MCP_MANAGE', 'USER_MANAGE', 'RBAC_MANAGE', 'CONFIG_EDIT',
|
|
56
|
-
'SEARCH_EXPLORE', 'AUDIT_VIEW', 'GRAPH_VIEW', 'ANALYTICS_VIEW', 'GRAPH_MAINTAIN',
|
|
57
|
-
];
|
|
58
|
-
for (const perm of allPerms) {
|
|
59
|
-
db.run('INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-admin', perm, '{}']);
|
|
60
|
-
}
|
|
61
|
-
db.run(`INSERT OR IGNORE INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
62
|
-
VALUES (?, ?, 0, ?, ?)`, ['grp-dev', 'Developers', now, now]);
|
|
63
|
-
const devPerms = ['DASHBOARD_VIEW', 'KB_READ', 'KB_WRITE', 'MCP_ACCESS', 'SEARCH_EXPLORE', 'GRAPH_VIEW', 'ANALYTICS_VIEW'];
|
|
64
|
-
for (const perm of devPerms) {
|
|
65
|
-
db.run('INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-dev', perm, '{}']);
|
|
66
|
-
}
|
|
67
|
-
db.run(`INSERT OR IGNORE INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
68
|
-
VALUES (?, ?, 0, ?, ?)`, ['grp-viewer', 'Viewers', now, now]);
|
|
69
|
-
const viewerPerms = ['DASHBOARD_VIEW', 'KB_READ', 'SEARCH_EXPLORE', 'GRAPH_VIEW', 'ANALYTICS_VIEW'];
|
|
70
|
-
for (const perm of viewerPerms) {
|
|
71
|
-
db.run('INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-viewer', perm, '{}']);
|
|
72
|
-
}
|
|
73
|
-
db.run(`INSERT OR IGNORE INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
74
|
-
VALUES (?, ?, 0, ?, ?)`, ['grp-mcp-ops', 'MCP Operators', now, now]);
|
|
75
|
-
const mcpPerms = ['DASHBOARD_VIEW', 'MCP_ACCESS', 'MCP_MANAGE'];
|
|
76
|
-
for (const perm of mcpPerms) {
|
|
77
|
-
db.run('INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-mcp-ops', perm, '{}']);
|
|
78
|
-
}
|
|
79
|
+
await db.runAsync(insertIgnore(engine, `INSERT OR IGNORE INTO access_groups (access_group_id, access_group_name, is_system_group, created_at, updated_at)
|
|
80
|
+
VALUES (?, ?, ?, ?, ?)`), [groupId, groupName, isSystem, now, now]);
|
|
81
|
+
await insertPerms(db, engine, groupId, perms);
|
|
79
82
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
'SEARCH_EXPLORE', 'AUDIT_VIEW', 'GRAPH_VIEW', 'ANALYTICS_VIEW', 'GRAPH_MAINTAIN',
|
|
85
|
-
];
|
|
86
|
-
for (const perm of allPerms) {
|
|
87
|
-
db.run('INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)', ['grp-admin', perm, '{}']);
|
|
83
|
+
/** Insert permission rows for a group (idempotent, cross-engine). */
|
|
84
|
+
async function insertPerms(db, engine, groupId, perms) {
|
|
85
|
+
for (const perm of perms) {
|
|
86
|
+
await db.runAsync(insertIgnore(engine, 'INSERT OR IGNORE INTO group_permissions (access_group_id, permission_id, role_data) VALUES (?, ?, ?)'), [groupId, perm, '{}']);
|
|
88
87
|
}
|
|
89
88
|
}
|
|
90
|
-
function
|
|
89
|
+
async function seedAccessGroups(db) {
|
|
90
|
+
const engine = db.getEngine();
|
|
91
|
+
await seedGroup(db, engine, 'grp-admin', 'Administrators', 1, ALL_PERMS);
|
|
92
|
+
await seedGroup(db, engine, 'grp-dev', 'Developers', 0, ['DASHBOARD_VIEW', 'KB_READ', 'KB_WRITE', 'MCP_ACCESS', 'SEARCH_EXPLORE', 'GRAPH_VIEW', 'ANALYTICS_VIEW']);
|
|
93
|
+
await seedGroup(db, engine, 'grp-viewer', 'Viewers', 0, ['DASHBOARD_VIEW', 'KB_READ', 'SEARCH_EXPLORE', 'GRAPH_VIEW', 'ANALYTICS_VIEW']);
|
|
94
|
+
await seedGroup(db, engine, 'grp-mcp-ops', 'MCP Operators', 0, ['DASHBOARD_VIEW', 'MCP_ACCESS', 'MCP_MANAGE']);
|
|
95
|
+
}
|
|
96
|
+
async function ensureAdminPermissions(db) {
|
|
97
|
+
await insertPerms(db, db.getEngine(), 'grp-admin', ALL_PERMS);
|
|
98
|
+
}
|
|
99
|
+
async function seedAdminUser(db) {
|
|
91
100
|
const now = new Date().toISOString();
|
|
92
101
|
const envPassword = process.env.ADMIN_INITIAL_PASSWORD;
|
|
93
102
|
const initialPassword = envPassword && envPassword.length >= 12
|
|
94
103
|
? envPassword
|
|
95
104
|
: crypto.randomBytes(18).toString('base64url');
|
|
96
105
|
const hash = hashPassword(initialPassword);
|
|
97
|
-
db.
|
|
106
|
+
await db.runAsync(`INSERT INTO users (user_id, username, email, password_hash, status, access_group_id, force_password_change, created_at)
|
|
98
107
|
VALUES (?, ?, ?, ?, 'ACTIVE', 'grp-admin', 1, ?)`, ['user-admin-001', 'admin', 'admin@localhost', hash, now]);
|
|
99
108
|
if (!envPassword) {
|
|
100
109
|
process.stdout.write('\n============================================================\n' +
|
|
@@ -105,8 +114,25 @@ function seedAdminUser(db) {
|
|
|
105
114
|
'============================================================\n');
|
|
106
115
|
}
|
|
107
116
|
}
|
|
108
|
-
/** Full
|
|
109
|
-
const
|
|
117
|
+
/** Full permission catalogue granted to the admin group. */
|
|
118
|
+
const ALL_PERMS = [
|
|
119
|
+
'DASHBOARD_VIEW', 'KB_READ', 'KB_WRITE', 'KB_PROMOTE', 'KB_IMPORT_EXPORT',
|
|
120
|
+
'MCP_ACCESS', 'MCP_MANAGE', 'USER_MANAGE', 'RBAC_MANAGE', 'CONFIG_EDIT',
|
|
121
|
+
'SEARCH_EXPLORE', 'AUDIT_VIEW', 'GRAPH_VIEW', 'ANALYTICS_VIEW', 'GRAPH_MAINTAIN',
|
|
122
|
+
];
|
|
123
|
+
/** Per-engine "current timestamp" default expression. */
|
|
124
|
+
function nowExpr(engine) {
|
|
125
|
+
return engine === 'postgresql' ? 'now()' : `(datetime('now'))`;
|
|
126
|
+
}
|
|
127
|
+
/** Per-engine auto-increment integer primary key clause. */
|
|
128
|
+
function autoIncPk(engine) {
|
|
129
|
+
return engine === 'postgresql' ? 'SERIAL PRIMARY KEY' : 'INTEGER PRIMARY KEY AUTOINCREMENT';
|
|
130
|
+
}
|
|
131
|
+
/** Full admin schema DDL — parameterized per engine for cross-DB compatibility. */
|
|
132
|
+
function schemaSql(engine) {
|
|
133
|
+
const now = nowExpr(engine);
|
|
134
|
+
const idPk = autoIncPk(engine);
|
|
135
|
+
return `
|
|
110
136
|
CREATE TABLE IF NOT EXISTS users (
|
|
111
137
|
user_id TEXT PRIMARY KEY,
|
|
112
138
|
username TEXT UNIQUE NOT NULL,
|
|
@@ -128,7 +154,7 @@ const ADMIN_SCHEMA_SQL = `
|
|
|
128
154
|
);
|
|
129
155
|
|
|
130
156
|
CREATE TABLE IF NOT EXISTS group_permissions (
|
|
131
|
-
id
|
|
157
|
+
id ${idPk},
|
|
132
158
|
access_group_id TEXT NOT NULL,
|
|
133
159
|
permission_id TEXT NOT NULL,
|
|
134
160
|
role_data TEXT NOT NULL DEFAULT '{}',
|
|
@@ -161,7 +187,7 @@ const ADMIN_SCHEMA_SQL = `
|
|
|
161
187
|
);
|
|
162
188
|
|
|
163
189
|
CREATE TABLE IF NOT EXISTS config_changes (
|
|
164
|
-
id
|
|
190
|
+
id ${idPk},
|
|
165
191
|
section TEXT NOT NULL,
|
|
166
192
|
key TEXT NOT NULL,
|
|
167
193
|
old_value TEXT,
|
|
@@ -188,11 +214,11 @@ const ADMIN_SCHEMA_SQL = `
|
|
|
188
214
|
z REAL NOT NULL DEFAULT 0,
|
|
189
215
|
level INTEGER NOT NULL DEFAULT 2,
|
|
190
216
|
cluster_id TEXT DEFAULT NULL,
|
|
191
|
-
created_at TEXT NOT NULL DEFAULT
|
|
217
|
+
created_at TEXT NOT NULL DEFAULT ${now}
|
|
192
218
|
);
|
|
193
219
|
|
|
194
220
|
CREATE TABLE IF NOT EXISTS graph_edges (
|
|
195
|
-
id
|
|
221
|
+
id ${idPk},
|
|
196
222
|
source TEXT NOT NULL,
|
|
197
223
|
target TEXT NOT NULL,
|
|
198
224
|
weight REAL NOT NULL DEFAULT 0.5,
|
|
@@ -209,4 +235,5 @@ const ADMIN_SCHEMA_SQL = `
|
|
|
209
235
|
CREATE INDEX IF NOT EXISTS idx_graph_edges_target ON graph_edges(target);
|
|
210
236
|
CREATE INDEX IF NOT EXISTS idx_graph_edges_source_target ON graph_edges(source, target);
|
|
211
237
|
`;
|
|
238
|
+
}
|
|
212
239
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/admin/db/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/admin/db/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SA4E-261 Unified extension whitelist — single source of truth.
|
|
3
|
+
* Used by backend resolver and contract test.
|
|
4
|
+
*/
|
|
5
|
+
export declare const UNIFIED_EXTENSIONS: readonly ["ts", "tsx", "js", "jsx", "kt", "java", "py", "go", "rs", "c", "cpp", "h", "hpp", "cs", "php", "rb", "scala", "swift", "cls", "trigger", "apex", "soql", "page", "component", "cmp", "app", "evt", "intf", "tokens", "pega", "html", "jsp", "xml", "sql", "properties", "yml", "yaml", "css", "ps1"];
|
|
6
|
+
export type UnifiedExtension = typeof UNIFIED_EXTENSIONS[number];
|
|
7
|
+
/**
|
|
8
|
+
* Extension list with leading dot for file matching.
|
|
9
|
+
*/
|
|
10
|
+
export declare const UNIFIED_EXTENSIONS_WITH_DOT: string[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SA4E-261 Unified extension whitelist — single source of truth.
|
|
3
|
+
* Used by backend resolver and contract test.
|
|
4
|
+
*/
|
|
5
|
+
export const UNIFIED_EXTENSIONS = [
|
|
6
|
+
'ts', 'tsx', 'js', 'jsx',
|
|
7
|
+
'kt', 'java', 'py', 'go', 'rs',
|
|
8
|
+
'c', 'cpp', 'h', 'hpp',
|
|
9
|
+
'cs', 'php', 'rb', 'scala', 'swift',
|
|
10
|
+
'cls', 'trigger', 'apex', 'soql', 'page', 'component', 'cmp', 'app', 'evt', 'intf', 'tokens', 'pega',
|
|
11
|
+
'html', 'jsp', 'xml', 'sql', 'properties', 'yml', 'yaml', 'css',
|
|
12
|
+
'ps1'
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Extension list with leading dot for file matching.
|
|
16
|
+
*/
|
|
17
|
+
export const UNIFIED_EXTENSIONS_WITH_DOT = UNIFIED_EXTENSIONS.map(e => `.${e}`);
|
|
18
|
+
//# sourceMappingURL=unified-extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-extensions.js","sourceRoot":"","sources":["../../src/config/unified-extensions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IACxB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9B,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK;IACtB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO;IACnC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IACpG,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IAC/D,KAAK;CACG,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ensure-pega-category-counters.ts — Ensure pega_category_counters table exists.
|
|
3
3
|
* SA4E-217: Idempotent table creation, called at server startup.
|
|
4
|
-
*
|
|
4
|
+
* Multi-engine: uses the async DatabaseAdapter API + per-engine DDL so it runs on
|
|
5
|
+
* both SQLite and PostgreSQL (PostgresAdapter throws on the sync exec method).
|
|
5
6
|
* Extracted from migrate-pega-category-counters.ts for server-start execution.
|
|
6
7
|
*/
|
|
7
|
-
import type {
|
|
8
|
-
export declare function ensurePegaCategoryCountersTable(db:
|
|
8
|
+
import type { DatabaseAdapter } from '../../database/adapters/DatabaseAdapter.js';
|
|
9
|
+
export declare function ensurePegaCategoryCountersTable(db: DatabaseAdapter): Promise<void>;
|
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ensure-pega-category-counters.ts — Ensure pega_category_counters table exists.
|
|
3
3
|
* SA4E-217: Idempotent table creation, called at server startup.
|
|
4
|
-
*
|
|
4
|
+
* Multi-engine: uses the async DatabaseAdapter API + per-engine DDL so it runs on
|
|
5
|
+
* both SQLite and PostgreSQL (PostgresAdapter throws on the sync exec method).
|
|
5
6
|
* Extracted from migrate-pega-category-counters.ts for server-start execution.
|
|
6
7
|
*/
|
|
7
|
-
export function ensurePegaCategoryCountersTable(db) {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
export async function ensurePegaCategoryCountersTable(db) {
|
|
9
|
+
const isPg = db.getEngine() === 'postgresql';
|
|
10
|
+
// PG: gen_random_uuid() (pgcrypto/pg13+) + now(); SQLite: randomblob UUID + datetime('now').
|
|
11
|
+
const idDefault = isPg
|
|
12
|
+
? `DEFAULT gen_random_uuid()::text`
|
|
13
|
+
: `DEFAULT (lower(hex(randomblob(4)) || '-' || substr(hex(randomblob(2)) || '4-', 1, 8)) || '-' || substr('89ab', random() % 4 + 1, 1) || '-' || substr(hex(randomblob(2)) || '10', 1, 4)) || '-' || substr(hex(randomblob(6)), 1, 12))`;
|
|
14
|
+
const nowDefault = isPg ? `now()` : `(datetime('now'))`;
|
|
15
|
+
await db.execAsync(`
|
|
10
16
|
CREATE TABLE IF NOT EXISTS pega_category_counters (
|
|
11
|
-
id TEXT PRIMARY KEY
|
|
17
|
+
id TEXT PRIMARY KEY ${idDefault},
|
|
12
18
|
rule_type TEXT NOT NULL,
|
|
13
19
|
count INTEGER NOT NULL DEFAULT 0,
|
|
14
|
-
last_updated TEXT NOT NULL DEFAULT
|
|
20
|
+
last_updated TEXT NOT NULL DEFAULT ${nowDefault},
|
|
15
21
|
source TEXT NOT NULL DEFAULT 'memory',
|
|
16
22
|
UNIQUE(rule_type)
|
|
17
23
|
)
|
|
18
24
|
`);
|
|
19
25
|
// Ensure index on rule_type (UNIQUE constraint already covers this, but explicit for clarity)
|
|
20
26
|
try {
|
|
21
|
-
db.
|
|
27
|
+
await db.execAsync(`CREATE INDEX IF NOT EXISTS idx_pega_category_counters_rule_type ON pega_category_counters(rule_type)`);
|
|
22
28
|
}
|
|
23
29
|
catch (err) {
|
|
24
30
|
// Index may already exist; ignore in production
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-pega-category-counters.js","sourceRoot":"","sources":["../../../src/database/migration/ensure-pega-category-counters.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ensure-pega-category-counters.js","sourceRoot":"","sources":["../../../src/database/migration/ensure-pega-category-counters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,EAAmB;IACvE,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,YAAY,CAAC;IAC7C,6FAA6F;IAC7F,MAAM,SAAS,GAAG,IAAI;QACpB,CAAC,CAAC,iCAAiC;QACnC,CAAC,CAAC,sOAAsO,CAAC;IAC3O,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAExD,MAAM,EAAE,CAAC,SAAS,CAAC;;4BAEO,SAAS;;;2CAGM,UAAU;;;;GAIlD,CAAC,CAAC;IAEH,8FAA8F;IAC9F,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,sGAAsG,CAAC,CAAC;IAC7H,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gDAAgD;QAChD,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,YAAY,CAAC,CAAC;IAChG,CAAC;AACH,CAAC"}
|
|
@@ -16,8 +16,15 @@ const MAX_PSEUDO_CODE_LENGTH = 2000;
|
|
|
16
16
|
// Strategy selection: which symbol kinds map to which enrichment strategy.
|
|
17
17
|
// apex_class routes to CLASS_SUMMARY; trigger/constructor route to FUNCTION_SUMMARY
|
|
18
18
|
// so Salesforce Apex entities are enriched with summary (+ pseudo code) like the rest.
|
|
19
|
-
const CLASS_KINDS = new Set([
|
|
20
|
-
|
|
19
|
+
const CLASS_KINDS = new Set([
|
|
20
|
+
'class', 'interface', 'enum', 'apex_class',
|
|
21
|
+
'configuration', 'constant', 'controller', 'entity',
|
|
22
|
+
'repository', 'service', 'namespace', 'jsp_page'
|
|
23
|
+
]);
|
|
24
|
+
const FUNCTION_KINDS = new Set([
|
|
25
|
+
'function', 'method', 'arrow_function', 'generator', 'constructor', 'trigger',
|
|
26
|
+
'http_get', 'http_post', 'transactional'
|
|
27
|
+
]);
|
|
21
28
|
// Salesforce declarative metadata + properties: summarized from signature/name
|
|
22
29
|
// (no code body, no pseudo code). Routed to METADATA_SUMMARY.
|
|
23
30
|
const METADATA_KINDS = new Set([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEnrichmentHandler.js","sourceRoot":"","sources":["../../../src/engine/enrichment/CodeEnrichmentHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,mDAAmD,CAAC;AAEhH,yHAAyH;AACzH,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;AACnF,sCAAsC;AACtC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,2EAA2E;AAC3E,oFAAoF;AACpF,uFAAuF;AACvF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"CodeEnrichmentHandler.js","sourceRoot":"","sources":["../../../src/engine/enrichment/CodeEnrichmentHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { DialectHelper } from '../../database/dialect/DialectHelper.js';
|
|
10
10
|
import { graphTypeForKind } from '../../modules/kb-graph/service/constants.js';
|
|
11
11
|
import { extractAndInsertCodeEdges } from './code-edge-extractor.js';
|
|
12
|
-
const CODE_KINDS = ['class', 'interface', 'function', 'method', 'enum', 'type', 'constructor', 'property', 'variable', 'apex_class', 'trigger', 'flow', 'sf_object', 'sf_field', 'lwc_component', 'aura_component', 'visualforce_page'];
|
|
12
|
+
const CODE_KINDS = ['class', 'interface', 'function', 'method', 'enum', 'type', 'constructor', 'property', 'variable', 'apex_class', 'trigger', 'flow', 'sf_object', 'sf_field', 'lwc_component', 'aura_component', 'visualforce_page', 'jsp_page', 'tag', 'controller', 'rest_controller', 'controller_advice', 'service', 'repository', 'component', 'configuration', 'entity', 'transactional', 'http_get', 'http_post', 'http_put', 'http_delete', 'http_patch', 'security'];
|
|
13
13
|
export class GraphSyncService {
|
|
14
14
|
indexAdapter;
|
|
15
15
|
adminAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-sync-service.js","sourceRoot":"","sources":["../../../src/engine/graph/graph-sync-service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAUrE,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-sync-service.js","sourceRoot":"","sources":["../../../src/engine/graph/graph-sync-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,7 +61,7 @@ async function processFile(fullPath, relPath, config, metadata, root) {
|
|
|
61
61
|
return null;
|
|
62
62
|
const ext = path.extname(fullPath).toLowerCase();
|
|
63
63
|
const validExt = config.includeExtensions.includes(ext)
|
|
64
|
-
|| ext === '.kts' || language === 'salesforce-meta';
|
|
64
|
+
|| ext === '.kts' || language === 'salesforce-meta' || ext === '.jsp';
|
|
65
65
|
if (!validExt)
|
|
66
66
|
return null;
|
|
67
67
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-file-scanner.js","sourceRoot":"","sources":["../../../src/engine/indexer/async-file-scanner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"async-file-scanner.js","sourceRoot":"","sources":["../../../src/engine/indexer/async-file-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,12 @@ const EXTENSION_LANGUAGE_MAP = {
|
|
|
43
43
|
'.tokens': 'aura',
|
|
44
44
|
// ---- SA4E-... LWC HTML template support ----
|
|
45
45
|
'.html': 'lwc-html',
|
|
46
|
+
// ---- SA4E-261: Tier B extensions for unified whitelist ----
|
|
47
|
+
'.jsp': 'jsp',
|
|
48
|
+
'.xml': 'xml',
|
|
49
|
+
'.properties': 'properties',
|
|
50
|
+
'.css': 'css',
|
|
51
|
+
'.ps1': 'powershell',
|
|
46
52
|
};
|
|
47
53
|
/**
|
|
48
54
|
* SA4E-223 — Single source of truth for Salesforce `*-meta.xml` compound suffixes.
|
|
@@ -129,7 +135,7 @@ function processFile(fullPath, relPath, config, root) {
|
|
|
129
135
|
return null;
|
|
130
136
|
const ext = getExtension(fullPath);
|
|
131
137
|
// Allow through if simple extension matches OR if compound extension detected (salesforce-meta)
|
|
132
|
-
if (!config.includeExtensions.includes(ext) && ext !== '.kts' && language !== 'salesforce-meta')
|
|
138
|
+
if (!config.includeExtensions.includes(ext) && ext !== '.kts' && language !== 'salesforce-meta' && ext !== '.jsp')
|
|
133
139
|
return null;
|
|
134
140
|
try {
|
|
135
141
|
// F-01: reject symlinks that escape the workspace (realpath containment).
|