@amodalai/core 0.1.10 → 0.1.12
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/src/admin/admin-agent.d.ts +34 -0
- package/dist/src/admin/admin-agent.js +160 -0
- package/dist/src/admin/admin-agent.js.map +1 -0
- package/dist/src/admin/admin-loader.d.ts +22 -0
- package/dist/src/admin/admin-loader.js +70 -0
- package/dist/src/admin/admin-loader.js.map +1 -0
- package/dist/src/admin/index.d.ts +8 -0
- package/dist/src/admin/index.js +8 -0
- package/dist/src/admin/index.js.map +1 -0
- package/dist/src/amodal-config.d.ts +1 -5
- package/dist/src/amodal-config.js +3 -5
- package/dist/src/amodal-config.js.map +1 -1
- package/dist/src/eval/eval-runner.d.ts +1 -1
- package/dist/src/eval/eval-runner.js +1 -1
- package/dist/src/eval/eval-runner.js.map +1 -1
- package/dist/src/eval/eval-session-provider.d.ts +1 -1
- package/dist/src/eval/eval-session-provider.js +1 -1
- package/dist/src/eval/eval-session-provider.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/knowledge/kb-formatter.d.ts +1 -1
- package/dist/src/knowledge/kb-formatter.js +2 -11
- package/dist/src/knowledge/kb-formatter.js.map +1 -1
- package/dist/src/knowledge/kb-index.d.ts +2 -2
- package/dist/src/knowledge/kb-index.js +2 -5
- package/dist/src/knowledge/kb-index.js.map +1 -1
- package/dist/src/knowledge/kb-types.d.ts +5 -7
- package/dist/src/knowledge/knowledge-store.d.ts +1 -4
- package/dist/src/knowledge/knowledge-store.js +6 -16
- package/dist/src/knowledge/knowledge-store.js.map +1 -1
- package/dist/src/knowledge/propose-kb-update.d.ts +1 -1
- package/dist/src/knowledge/propose-kb-update.js +3 -7
- package/dist/src/knowledge/propose-kb-update.js.map +1 -1
- package/dist/src/knowledge/propose-knowledge.d.ts +1 -1
- package/dist/src/knowledge/propose-knowledge.js +3 -7
- package/dist/src/knowledge/propose-knowledge.js.map +1 -1
- package/dist/src/packages/config-deps.d.ts +4 -4
- package/dist/src/packages/config-deps.js +6 -8
- package/dist/src/packages/config-deps.js.map +1 -1
- package/dist/src/packages/lock-file.d.ts +19 -13
- package/dist/src/packages/lock-file.js +27 -26
- package/dist/src/packages/lock-file.js.map +1 -1
- package/dist/src/packages/npm-context.d.ts +12 -11
- package/dist/src/packages/npm-context.js +36 -73
- package/dist/src/packages/npm-context.js.map +1 -1
- package/dist/src/packages/package-types.d.ts +85 -293
- package/dist/src/packages/package-types.js +63 -103
- package/dist/src/packages/package-types.js.map +1 -1
- package/dist/src/packages/resolver.d.ts +8 -19
- package/dist/src/packages/resolver.js +182 -284
- package/dist/src/packages/resolver.js.map +1 -1
- package/dist/src/platform/config-builder.js +1 -4
- package/dist/src/platform/config-builder.js.map +1 -1
- package/dist/src/platform/platform-client.d.ts +8 -8
- package/dist/src/platform/platform-client.js +13 -16
- package/dist/src/platform/platform-client.js.map +1 -1
- package/dist/src/platform/platform-types.d.ts +0 -2
- package/dist/src/repo/config-schema.d.ts +31 -31
- package/dist/src/repo/connection-schemas.d.ts +31 -6
- package/dist/src/repo/connection-schemas.js +13 -2
- package/dist/src/repo/connection-schemas.js.map +1 -1
- package/dist/src/repo/local-reader.js +12 -121
- package/dist/src/repo/local-reader.js.map +1 -1
- package/dist/src/repo/parsers.js +2 -2
- package/dist/src/repo/parsers.js.map +1 -1
- package/dist/src/repo/repo-types.d.ts +1 -1
- package/dist/src/repo/tool-types.d.ts +2 -2
- package/dist/src/runtime/connection-bridge.js +4 -1
- package/dist/src/runtime/connection-bridge.js.map +1 -1
- package/dist/src/runtime/explore-tool.js +1 -1
- package/dist/src/runtime/explore-tool.js.map +1 -1
- package/dist/src/sdk.js +6 -17
- package/dist/src/sdk.js.map +1 -1
- package/dist/src/snapshot/snapshot-types.d.ts +186 -90
- package/dist/src/stores/store-backend.d.ts +8 -8
- package/dist/src/tool-context.d.ts +2 -2
- package/dist/src/tool-registration.js +3 -3
- package/dist/src/tool-registration.js.map +1 -1
- package/dist/src/tools/definitions/amodal-tools.js +5 -5
- package/dist/src/tools/definitions/amodal-tools.js.map +1 -1
- package/dist/src/tools/request-tool.js +1 -1
- package/dist/src/tools/store-query-tool.d.ts +2 -2
- package/dist/src/tools/store-query-tool.js +9 -9
- package/dist/src/tools/store-query-tool.js.map +1 -1
- package/dist/src/tools/store-write-tool.d.ts +2 -2
- package/dist/src/tools/store-write-tool.js +8 -8
- package/dist/src/tools/store-write-tool.js.map +1 -1
- package/dist/src/versions/version-bundle-types.d.ts +18 -18
- package/dist/src/versions/version-bundle-types.js +2 -2
- package/dist/src/versions/version-bundle-types.js.map +1 -1
- package/dist/src/widgets/present-tool.js +2 -2
- package/dist/src/widgets/present-tool.js.map +1 -1
- package/dist/src/widgets/widget-types.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Get the global cache directory for the admin agent.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getAdminCacheDir(): string;
|
|
10
|
+
/**
|
|
11
|
+
* Resolve the admin agent directory. Checks in order:
|
|
12
|
+
* 1. adminAgent path from amodal.json (explicit override)
|
|
13
|
+
* 2. Global cache at ~/.amodal/admin-agent/
|
|
14
|
+
*
|
|
15
|
+
* Returns null if not found (caller should fetch).
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveAdminAgent(repoPath?: string): Promise<string | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Fetch the admin agent from the registry and cache it.
|
|
20
|
+
* Returns the cache directory path.
|
|
21
|
+
*/
|
|
22
|
+
export declare function fetchAdminAgent(registryUrl?: string): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Update the cached admin agent to the latest version from the registry.
|
|
25
|
+
*/
|
|
26
|
+
export declare function updateAdminAgent(registryUrl?: string): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* Ensure the admin agent is available. Fetches from registry if not cached.
|
|
29
|
+
*/
|
|
30
|
+
export declare function ensureAdminAgent(repoPath?: string, registryUrl?: string): Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Get admin agent version from the cached copy.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getAdminAgentVersion(agentDir: string): Promise<string | null>;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { execFile } from 'node:child_process';
|
|
7
|
+
import { mkdir, readdir, readFile, rm, stat } from 'node:fs/promises';
|
|
8
|
+
import * as path from 'node:path';
|
|
9
|
+
import { homedir } from 'node:os';
|
|
10
|
+
import { promisify } from 'node:util';
|
|
11
|
+
const execFileAsync = promisify(execFile);
|
|
12
|
+
const ADMIN_AGENT_NPM = '@amodalai/agent-admin';
|
|
13
|
+
const DEFAULT_REGISTRY = 'https://registry.amodalai.com';
|
|
14
|
+
const CACHE_DIR_NAME = 'admin-agent';
|
|
15
|
+
const FETCH_TIMEOUT = 30_000;
|
|
16
|
+
/**
|
|
17
|
+
* Get the global cache directory for the admin agent.
|
|
18
|
+
*/
|
|
19
|
+
export function getAdminCacheDir() {
|
|
20
|
+
return path.join(homedir(), '.amodal', CACHE_DIR_NAME);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the admin agent directory. Checks in order:
|
|
24
|
+
* 1. adminAgent path from amodal.json (explicit override)
|
|
25
|
+
* 2. Global cache at ~/.amodal/admin-agent/
|
|
26
|
+
*
|
|
27
|
+
* Returns null if not found (caller should fetch).
|
|
28
|
+
*/
|
|
29
|
+
export async function resolveAdminAgent(repoPath) {
|
|
30
|
+
// 1. Check amodal.json override
|
|
31
|
+
if (repoPath) {
|
|
32
|
+
try {
|
|
33
|
+
const configPath = path.join(repoPath, 'amodal.json');
|
|
34
|
+
const configRaw = await readFile(configPath, 'utf-8');
|
|
35
|
+
const configParsed = JSON.parse(configRaw);
|
|
36
|
+
if (!configParsed || typeof configParsed !== 'object')
|
|
37
|
+
throw new Error('invalid');
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- guarded above
|
|
39
|
+
const adminPath = configParsed['adminAgent'];
|
|
40
|
+
if (typeof adminPath === 'string') {
|
|
41
|
+
const resolved = path.resolve(repoPath, adminPath);
|
|
42
|
+
if (await dirHasContent(resolved)) {
|
|
43
|
+
return resolved;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// No config or no adminAgent field
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// 2. Check global cache
|
|
52
|
+
const cacheDir = getAdminCacheDir();
|
|
53
|
+
if (await dirHasContent(cacheDir)) {
|
|
54
|
+
return cacheDir;
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Fetch the admin agent from the registry and cache it.
|
|
60
|
+
* Returns the cache directory path.
|
|
61
|
+
*/
|
|
62
|
+
export async function fetchAdminAgent(registryUrl) {
|
|
63
|
+
const registry = registryUrl ?? process.env['AMODAL_REGISTRY'] ?? DEFAULT_REGISTRY;
|
|
64
|
+
const cacheDir = getAdminCacheDir();
|
|
65
|
+
// Create a temp directory for npm pack
|
|
66
|
+
const tmpDir = path.join(homedir(), '.amodal', '.tmp-admin-fetch');
|
|
67
|
+
await mkdir(tmpDir, { recursive: true });
|
|
68
|
+
try {
|
|
69
|
+
// Download the package tarball
|
|
70
|
+
const { stdout } = await execFileAsync('npm', ['pack', ADMIN_AGENT_NPM, '--registry', registry, '--pack-destination', tmpDir, '--json'], { cwd: tmpDir, timeout: FETCH_TIMEOUT });
|
|
71
|
+
// Parse the output to find the tarball filename
|
|
72
|
+
let tarballName;
|
|
73
|
+
try {
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- npm pack JSON output
|
|
75
|
+
const parsed = JSON.parse(stdout);
|
|
76
|
+
tarballName = parsed[0]?.filename ?? '';
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Fallback: find the .tgz file in the tmp dir
|
|
80
|
+
const files = await readdir(tmpDir);
|
|
81
|
+
tarballName = files.find((f) => f.endsWith('.tgz')) ?? '';
|
|
82
|
+
}
|
|
83
|
+
if (!tarballName) {
|
|
84
|
+
throw new Error('Failed to download admin agent package');
|
|
85
|
+
}
|
|
86
|
+
const tarballPath = path.join(tmpDir, tarballName);
|
|
87
|
+
// Clear existing cache
|
|
88
|
+
await rm(cacheDir, { recursive: true, force: true });
|
|
89
|
+
await mkdir(cacheDir, { recursive: true });
|
|
90
|
+
// Extract tarball: npm pack creates package/ prefix
|
|
91
|
+
await execFileAsync('tar', ['xzf', tarballPath, '-C', cacheDir, '--strip-components=1'], {
|
|
92
|
+
timeout: 10_000,
|
|
93
|
+
});
|
|
94
|
+
// Read version for logging
|
|
95
|
+
let version = 'unknown';
|
|
96
|
+
try {
|
|
97
|
+
const pkgJson = await readFile(path.join(cacheDir, 'package.json'), 'utf-8');
|
|
98
|
+
const pkgParsed = JSON.parse(pkgJson);
|
|
99
|
+
if (pkgParsed && typeof pkgParsed === 'object') {
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- guarded above
|
|
101
|
+
version = String(pkgParsed['version'] ?? 'unknown');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// Non-fatal
|
|
106
|
+
}
|
|
107
|
+
process.stderr.write(`[admin] Cached admin agent v${version} at ${cacheDir}\n`);
|
|
108
|
+
return cacheDir;
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
// Cleanup temp directory
|
|
112
|
+
await rm(tmpDir, { recursive: true, force: true }).catch(() => { });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Update the cached admin agent to the latest version from the registry.
|
|
117
|
+
*/
|
|
118
|
+
export async function updateAdminAgent(registryUrl) {
|
|
119
|
+
return fetchAdminAgent(registryUrl);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Ensure the admin agent is available. Fetches from registry if not cached.
|
|
123
|
+
*/
|
|
124
|
+
export async function ensureAdminAgent(repoPath, registryUrl) {
|
|
125
|
+
const existing = await resolveAdminAgent(repoPath);
|
|
126
|
+
if (existing)
|
|
127
|
+
return existing;
|
|
128
|
+
return fetchAdminAgent(registryUrl);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get admin agent version from the cached copy.
|
|
132
|
+
*/
|
|
133
|
+
export async function getAdminAgentVersion(agentDir) {
|
|
134
|
+
try {
|
|
135
|
+
const pkgJson = await readFile(path.join(agentDir, 'package.json'), 'utf-8');
|
|
136
|
+
const parsed = JSON.parse(pkgJson);
|
|
137
|
+
if (parsed && typeof parsed === 'object') {
|
|
138
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- guarded above
|
|
139
|
+
return String(parsed['version'] ?? null);
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// --- Helpers ---
|
|
148
|
+
async function dirHasContent(dirPath) {
|
|
149
|
+
try {
|
|
150
|
+
const s = await stat(dirPath);
|
|
151
|
+
if (!s.isDirectory())
|
|
152
|
+
return false;
|
|
153
|
+
const entries = await readdir(dirPath);
|
|
154
|
+
return entries.length > 0;
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=admin-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-agent.js","sourceRoot":"","sources":["../../../src/admin/admin-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import type { LoadedKnowledge, LoadedSkill } from '../repo/repo-types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Content loaded from the admin agent directory.
|
|
9
|
+
*/
|
|
10
|
+
export interface AdminAgentContent {
|
|
11
|
+
/** Agent personality override (agents/main.md) */
|
|
12
|
+
agentPrompt: string | null;
|
|
13
|
+
/** Admin skills (add-connection, write-skill, etc.) */
|
|
14
|
+
skills: LoadedSkill[];
|
|
15
|
+
/** Admin knowledge (schemas, patterns, common mistakes) */
|
|
16
|
+
knowledge: LoadedKnowledge[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Load the admin agent content from a directory.
|
|
20
|
+
* The directory should contain agents/, skills/, and knowledge/ subdirs.
|
|
21
|
+
*/
|
|
22
|
+
export declare function loadAdminAgent(agentDir: string): Promise<AdminAgentContent>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { readFile, readdir } from 'node:fs/promises';
|
|
7
|
+
import * as path from 'node:path';
|
|
8
|
+
import { parseSkill, parseKnowledge } from '../repo/parsers.js';
|
|
9
|
+
/**
|
|
10
|
+
* Load the admin agent content from a directory.
|
|
11
|
+
* The directory should contain agents/, skills/, and knowledge/ subdirs.
|
|
12
|
+
*/
|
|
13
|
+
export async function loadAdminAgent(agentDir) {
|
|
14
|
+
const skills = [];
|
|
15
|
+
const knowledge = [];
|
|
16
|
+
// Load agent prompt
|
|
17
|
+
let agentPrompt = null;
|
|
18
|
+
try {
|
|
19
|
+
agentPrompt = await readFile(path.join(agentDir, 'agents', 'main.md'), 'utf-8');
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
// No agent override
|
|
23
|
+
}
|
|
24
|
+
// Load skills
|
|
25
|
+
const skillsDir = path.join(agentDir, 'skills');
|
|
26
|
+
try {
|
|
27
|
+
const skillDirs = await readdir(skillsDir, { withFileTypes: true });
|
|
28
|
+
for (const entry of skillDirs) {
|
|
29
|
+
if (!entry.isDirectory())
|
|
30
|
+
continue;
|
|
31
|
+
const skillPath = path.join(skillsDir, entry.name, 'SKILL.md');
|
|
32
|
+
try {
|
|
33
|
+
const content = await readFile(skillPath, 'utf-8');
|
|
34
|
+
const skill = parseSkill(content, skillPath);
|
|
35
|
+
if (skill)
|
|
36
|
+
skills.push(skill);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// Skip invalid skills
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// No skills directory
|
|
45
|
+
}
|
|
46
|
+
// Load knowledge
|
|
47
|
+
const kbDir = path.join(agentDir, 'knowledge');
|
|
48
|
+
try {
|
|
49
|
+
const kbFiles = await readdir(kbDir, { withFileTypes: true });
|
|
50
|
+
for (const entry of kbFiles) {
|
|
51
|
+
if (!entry.isFile() || !entry.name.endsWith('.md'))
|
|
52
|
+
continue;
|
|
53
|
+
const filePath = path.join(kbDir, entry.name);
|
|
54
|
+
try {
|
|
55
|
+
const content = await readFile(filePath, 'utf-8');
|
|
56
|
+
const name = entry.name.replace(/\.md$/, '');
|
|
57
|
+
const doc = parseKnowledge(content, name, filePath);
|
|
58
|
+
knowledge.push(doc);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Skip invalid docs
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
// No knowledge directory
|
|
67
|
+
}
|
|
68
|
+
return { agentPrompt, skills, knowledge };
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=admin-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-loader.js","sourceRoot":"","sources":["../../../src/admin/admin-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAe9D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,oBAAoB;IACpB,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IAED,cAAc;IACd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC7C,IAAI,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;IAED,iBAAiB;IACjB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC7C,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACpD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,OAAO,EAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
export { resolveAdminAgent, fetchAdminAgent, updateAdminAgent, ensureAdminAgent, getAdminAgentVersion, getAdminCacheDir, } from './admin-agent.js';
|
|
7
|
+
export { loadAdminAgent } from './admin-loader.js';
|
|
8
|
+
export type { AdminAgentContent } from './admin-loader.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
export { resolveAdminAgent, fetchAdminAgent, updateAdminAgent, ensureAdminAgent, getAdminAgentVersion, getAdminCacheDir, } from './admin-agent.js';
|
|
7
|
+
export { loadAdminAgent } from './admin-loader.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC"}
|
|
@@ -23,8 +23,6 @@ export interface AmodalConfigExtensions {
|
|
|
23
23
|
platformApiKey?: string;
|
|
24
24
|
/** Application ID for scope resolution */
|
|
25
25
|
applicationId?: string;
|
|
26
|
-
/** Tenant ID for scope resolution */
|
|
27
|
-
tenantId?: string;
|
|
28
26
|
/** Audit logging configuration */
|
|
29
27
|
auditConfig?: AuditConfig;
|
|
30
28
|
/** User identifier for audit entries */
|
|
@@ -37,8 +35,6 @@ export interface AmodalConfigExtensions {
|
|
|
37
35
|
connections?: ConnectionsMap;
|
|
38
36
|
/** Application-level knowledge documents */
|
|
39
37
|
appDocuments?: KBDocument[];
|
|
40
|
-
/** Tenant-level knowledge documents */
|
|
41
|
-
tenantDocuments?: KBDocument[];
|
|
42
38
|
/** Connection metadata for agent awareness */
|
|
43
39
|
connectionInfos?: ConnectionInfo[];
|
|
44
40
|
/** Agent context description */
|
|
@@ -128,7 +124,7 @@ export declare class AmodalConfig implements ToolContext {
|
|
|
128
124
|
getPlatformApiUrl(): string | undefined;
|
|
129
125
|
getPlatformApiKey(): string | undefined;
|
|
130
126
|
getApplicationId(): string | undefined;
|
|
131
|
-
|
|
127
|
+
getAppId(): string | undefined;
|
|
132
128
|
getAuditLogger(): AuditLogger | undefined;
|
|
133
129
|
getConnections(): ConnectionsMap;
|
|
134
130
|
getKnowledgeStore(): KnowledgeStore;
|
|
@@ -13,14 +13,12 @@ const EXTENSION_KEYS = [
|
|
|
13
13
|
'platformApiUrl',
|
|
14
14
|
'platformApiKey',
|
|
15
15
|
'applicationId',
|
|
16
|
-
'tenantId',
|
|
17
16
|
'auditConfig',
|
|
18
17
|
'auditUser',
|
|
19
18
|
'auditSource',
|
|
20
19
|
'auditVersion',
|
|
21
20
|
'connections',
|
|
22
21
|
'appDocuments',
|
|
23
|
-
'tenantDocuments',
|
|
24
22
|
'connectionInfos',
|
|
25
23
|
'agentContext',
|
|
26
24
|
'httpToolConfigs',
|
|
@@ -85,7 +83,7 @@ export class AmodalConfig {
|
|
|
85
83
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- passing upstream params
|
|
86
84
|
this.config = new Config(upstreamParams);
|
|
87
85
|
// Initialize knowledge store from KB docs
|
|
88
|
-
this.knowledgeStore = new KnowledgeStore(this.extensions.appDocuments ?? []
|
|
86
|
+
this.knowledgeStore = new KnowledgeStore(this.extensions.appDocuments ?? []);
|
|
89
87
|
// Initialize audit logger if configured
|
|
90
88
|
if (this.extensions.auditConfig) {
|
|
91
89
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- audit config shape
|
|
@@ -130,8 +128,8 @@ export class AmodalConfig {
|
|
|
130
128
|
getApplicationId() {
|
|
131
129
|
return this.extensions.applicationId;
|
|
132
130
|
}
|
|
133
|
-
|
|
134
|
-
return this.extensions.
|
|
131
|
+
getAppId() {
|
|
132
|
+
return this.extensions.applicationId;
|
|
135
133
|
}
|
|
136
134
|
getAuditLogger() {
|
|
137
135
|
return this.auditLogger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amodal-config.js","sourceRoot":"","sources":["../../src/amodal-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,MAAM,EAON,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAMzE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"amodal-config.js","sourceRoot":"","sources":["../../src/amodal-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import type { JudgeProvider } from './eval-judge.js';
|
|
|
10
10
|
* Provider interface for running a query against the agent.
|
|
11
11
|
*/
|
|
12
12
|
export interface EvalQueryProvider {
|
|
13
|
-
query(message: string,
|
|
13
|
+
query(message: string, appId?: string): Promise<{
|
|
14
14
|
response: string;
|
|
15
15
|
toolCalls: Array<{
|
|
16
16
|
name: string;
|
|
@@ -46,7 +46,7 @@ export async function* runEvalSuite(repo, options) {
|
|
|
46
46
|
async function runSingleEval(ev, options) {
|
|
47
47
|
const start = Date.now();
|
|
48
48
|
try {
|
|
49
|
-
const { response, toolCalls, usage } = await options.queryProvider.query(ev.query, ev.setup.
|
|
49
|
+
const { response, toolCalls, usage } = await options.queryProvider.query(ev.query, ev.setup.app);
|
|
50
50
|
// Build enriched response that includes tool call info for the judge.
|
|
51
51
|
// The judge only sees text, so we append a structured summary of
|
|
52
52
|
// tool calls so assertions about tool usage can be evaluated.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval-runner.js","sourceRoot":"","sources":["../../../src/eval/eval-runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"eval-runner.js","sourceRoot":"","sources":["../../../src/eval/eval-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAqBjE;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,YAAY,CACjC,IAAgB,EAChB,OAA0B;IAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEvB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC7C,KAAK,GAAG,KAAK,CAAC,MAAM,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,YAAY,GAAmB,EAAE,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,EAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC;QAEnF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,EAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC;IAC/G,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvF,MAAM,WAAW,GAAoB;QACnC,OAAO;QACP,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM;QACnD,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM;QACpD,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QACvC,SAAS;QACT,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,MAAM,EAAC,IAAI,EAAE,gBAAgB,EAAC,CAAC;IAC/B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,EAAc,EACd,OAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAC,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,CACpE,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,CAAC,GAAG,CACb,CAAC;QAEF,sEAAsE;QACtE,iEAAiE;QACjE,8DAA8D;QAC9D,IAAI,gBAAgB,GAAG,QAAQ,CAAC;QAChC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,SAAS;iBAC1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;iBAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,gBAAgB,IAAI,2BAA2B,WAAW,EAAE,CAAC;QAC/D,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,kBAAkB,CACzC,gBAAgB,EAChB,EAAE,CAAC,UAAU,EACb,OAAO,CAAC,aAAa,CACtB,CAAC;QAEF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,KAAK;YACjC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YAC7E,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,IAAI,EAAE,EAAE;YACR,QAAQ;YACR,SAAS;YACT,UAAU;YACV,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,IAAI;SACL,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aACpF,CAAC,CAAC;YACH,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -26,7 +26,7 @@ export declare class SessionEvalQueryProvider implements EvalQueryProvider {
|
|
|
26
26
|
private readonly model;
|
|
27
27
|
private readonly maxTokens;
|
|
28
28
|
constructor(options: SessionEvalProviderOptions);
|
|
29
|
-
query(message: string,
|
|
29
|
+
query(message: string, _appId?: string): Promise<{
|
|
30
30
|
response: string;
|
|
31
31
|
toolCalls: Array<{
|
|
32
32
|
name: string;
|
|
@@ -21,7 +21,7 @@ export class SessionEvalQueryProvider {
|
|
|
21
21
|
this.model = options.modelConfig.model;
|
|
22
22
|
this.maxTokens = options.maxTokens ?? 4096;
|
|
23
23
|
}
|
|
24
|
-
async query(message,
|
|
24
|
+
async query(message, _appId) {
|
|
25
25
|
const result = await this.provider.chat({
|
|
26
26
|
model: this.model,
|
|
27
27
|
systemPrompt: this.systemPrompt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval-session-provider.js","sourceRoot":"","sources":["../../../src/eval/eval-session-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAC,qBAAqB,EAAC,MAAM,0CAA0C,CAAC;AAY/E;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IAClB,QAAQ,CAAkB;IAC1B,YAAY,CAAS;IACrB,KAAK,CAAsB;IAC3B,KAAK,CAAS;IACd,SAAS,CAAS;IAEnC,YAAY,OAAmC;QAC7C,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,8BAA8B,CAAC;QAC3E,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK,CACT,OAAe,EACf,
|
|
1
|
+
{"version":3,"file":"eval-session-provider.js","sourceRoot":"","sources":["../../../src/eval/eval-session-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAC,qBAAqB,EAAC,MAAM,0CAA0C,CAAC;AAY/E;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IAClB,QAAQ,CAAkB;IAC1B,YAAY,CAAS;IACrB,KAAK,CAAsB;IAC3B,KAAK,CAAS;IACd,SAAS,CAAS;IAEnC,YAAY,OAAmC;QAC7C,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,8BAA8B,CAAC;QAC3E,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK,CACT,OAAe,EACf,MAAe;QAMf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC;YAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO;aAChC,MAAM,CAAC,CAAC,CAAC,EAAqC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aACnE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAqF,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;aACvH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;QAErD,OAAO;YACL,QAAQ,EAAE,YAAY;YACtB,SAAS;YACT,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;CACF"}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.js
CHANGED
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,uEAAuE;AACvE,cAAc,yBAAyB,CAAC;AAExC,qBAAqB;AACrB,OAAO,EACL,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAG5B,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,oBAAoB;AACpB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,0BAA0B;AAC1B,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,qCAAqC,CAAC;AAK7C,iBAAiB;AACjB,cAAc,sBAAsB,CAAC;AAErC,UAAU;AACV,cAAc,oBAAoB,CAAC;AAEnC,6BAA6B;AAC7B,cAAc,qBAAqB,CAAC;AAEpC,gBAAgB;AAChB,cAAc,kBAAkB,CAAC;AAEjC,wBAAwB;AACxB,cAAc,qBAAqB,CAAC;AAEpC,uCAAuC;AACvC,cAAc,sBAAsB,CAAC;AAErC,iCAAiC;AACjC,cAAc,kBAAkB,CAAC;AAEjC,gCAAgC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,oBAAoB;AACpB,cAAc,mBAAmB,CAAC;AAElC,qBAAqB;AACrB,cAAc,qBAAqB,CAAC;AAEpC,0BAA0B;AAC1B,cAAc,qBAAqB,CAAC;AAEpC,mBAAmB;AACnB,cAAc,oBAAoB,CAAC;AAEnC,8BAA8B;AAC9B,cAAc,qBAAqB,CAAC;AAEpC,sBAAsB;AACtB,cAAc,iBAAiB,CAAC;AAEhC,+BAA+B;AAC/B,cAAc,8BAA8B,CAAC;AAE7C,0FAA0F;AAC1F,cAAc,wCAAwC,CAAC;AAEvD,wBAAwB;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,oBAAoB;AACpB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAE9C,yBAAyB;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,qBAAqB;AACrB,cAAc,gBAAgB,CAAC;AAE/B,WAAW;AACX,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,uEAAuE;AACvE,cAAc,yBAAyB,CAAC;AAExC,qBAAqB;AACrB,OAAO,EACL,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAG5B,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,oBAAoB;AACpB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,0BAA0B;AAC1B,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,qCAAqC,CAAC;AAK7C,iBAAiB;AACjB,cAAc,sBAAsB,CAAC;AAErC,UAAU;AACV,cAAc,oBAAoB,CAAC;AAEnC,6BAA6B;AAC7B,cAAc,qBAAqB,CAAC;AAEpC,gBAAgB;AAChB,cAAc,kBAAkB,CAAC;AAEjC,wBAAwB;AACxB,cAAc,qBAAqB,CAAC;AAEpC,uCAAuC;AACvC,cAAc,sBAAsB,CAAC;AAErC,iCAAiC;AACjC,cAAc,kBAAkB,CAAC;AAEjC,gCAAgC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,oBAAoB;AACpB,cAAc,mBAAmB,CAAC;AAElC,qBAAqB;AACrB,cAAc,qBAAqB,CAAC;AAEpC,0BAA0B;AAC1B,cAAc,qBAAqB,CAAC;AAEpC,mBAAmB;AACnB,cAAc,oBAAoB,CAAC;AAEnC,8BAA8B;AAC9B,cAAc,qBAAqB,CAAC;AAEpC,sBAAsB;AACtB,cAAc,iBAAiB,CAAC;AAEhC,+BAA+B;AAC/B,cAAc,8BAA8B,CAAC;AAE7C,0FAA0F;AAC1F,cAAc,wCAAwC,CAAC;AAEvD,wBAAwB;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,oBAAoB;AACpB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAE9C,yBAAyB;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,qBAAqB;AACrB,cAAc,gBAAgB,CAAC;AAE/B,WAAW;AACX,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,cAAc;AACd,cAAc,kBAAkB,CAAC"}
|
|
@@ -12,4 +12,4 @@ import type { KBDocument } from './kb-types.js';
|
|
|
12
12
|
* Empty categories are omitted.
|
|
13
13
|
* Returns empty string when no documents exist.
|
|
14
14
|
*/
|
|
15
|
-
export declare function formatKnowledgeBase(appDocs: KBDocument[]
|
|
15
|
+
export declare function formatKnowledgeBase(appDocs: KBDocument[]): string;
|
|
@@ -5,16 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
7
7
|
* Display order and names for document categories.
|
|
8
|
-
* Application-level first, then tenant-level.
|
|
9
8
|
*/
|
|
10
9
|
const CATEGORY_ORDER = [
|
|
11
|
-
// Application-level categories
|
|
12
10
|
'system_docs',
|
|
13
11
|
'methodology',
|
|
14
12
|
'patterns',
|
|
15
13
|
'false_positives',
|
|
16
14
|
'response_procedures',
|
|
17
|
-
// Tenant-level categories
|
|
18
15
|
'environment',
|
|
19
16
|
'baselines',
|
|
20
17
|
'team',
|
|
@@ -59,18 +56,12 @@ function formatDocsByCategory(docs) {
|
|
|
59
56
|
* Empty categories are omitted.
|
|
60
57
|
* Returns empty string when no documents exist.
|
|
61
58
|
*/
|
|
62
|
-
export function formatKnowledgeBase(appDocs
|
|
59
|
+
export function formatKnowledgeBase(appDocs) {
|
|
63
60
|
const sections = [];
|
|
64
61
|
if (appDocs.length > 0) {
|
|
65
62
|
const appContent = formatDocsByCategory(appDocs);
|
|
66
63
|
if (appContent) {
|
|
67
|
-
sections.push(`# Application Knowledge\n(
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (tenantDocs.length > 0) {
|
|
71
|
-
const tenantContent = formatDocsByCategory(tenantDocs);
|
|
72
|
-
if (tenantContent) {
|
|
73
|
-
sections.push(`# Tenant Knowledge\n(specific to this deployment)\n\n${tenantContent}`);
|
|
64
|
+
sections.push(`# Application Knowledge\n(application-level domain expertise)\n\n${appContent}`);
|
|
74
65
|
}
|
|
75
66
|
}
|
|
76
67
|
return sections.join('\n\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-formatter.js","sourceRoot":"","sources":["../../../src/knowledge/kb-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH
|
|
1
|
+
{"version":3,"file":"kb-formatter.js","sourceRoot":"","sources":["../../../src/knowledge/kb-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,cAAc,GAAuB;IACzC,aAAa;IACb,aAAa;IACb,UAAU;IACV,iBAAiB;IACjB,qBAAqB;IACrB,aAAa;IACb,WAAW;IACX,MAAM;IACN,kBAAkB;IAClB,gBAAgB;CACjB,CAAC;AAEF,MAAM,sBAAsB,GAAqC;IAC/D,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,yBAAyB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;CACjC,CAAC;AAEF;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAkB;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAC/B,CAAC;QACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAExC,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,YAAY;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,MAAM,OAAO,KAAK,UAAU,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAqB;IAErB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CACX,oEAAoE,UAAU,EAAE,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -21,7 +21,7 @@ export interface KBIndexEntry {
|
|
|
21
21
|
export declare function buildKnowledgeIndex(docs: KBDocument[]): KBIndexEntry[];
|
|
22
22
|
/**
|
|
23
23
|
* Format KB documents as a compact index table for the system prompt.
|
|
24
|
-
*
|
|
24
|
+
* Shows title, category, tags, and ID.
|
|
25
25
|
* The agent can then use `load_knowledge` to fetch full bodies on demand.
|
|
26
26
|
*/
|
|
27
|
-
export declare function formatKnowledgeIndex(appDocs: KBDocument[]
|
|
27
|
+
export declare function formatKnowledgeIndex(appDocs: KBDocument[]): string;
|
|
@@ -29,17 +29,14 @@ const CATEGORY_DISPLAY_NAMES = {
|
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
31
31
|
* Format KB documents as a compact index table for the system prompt.
|
|
32
|
-
*
|
|
32
|
+
* Shows title, category, tags, and ID.
|
|
33
33
|
* The agent can then use `load_knowledge` to fetch full bodies on demand.
|
|
34
34
|
*/
|
|
35
|
-
export function formatKnowledgeIndex(appDocs
|
|
35
|
+
export function formatKnowledgeIndex(appDocs) {
|
|
36
36
|
const sections = [];
|
|
37
37
|
if (appDocs.length > 0) {
|
|
38
38
|
sections.push(formatScopeIndex('Application', appDocs));
|
|
39
39
|
}
|
|
40
|
-
if (tenantDocs.length > 0) {
|
|
41
|
-
sections.push(formatScopeIndex('Tenant', tenantDocs));
|
|
42
|
-
}
|
|
43
40
|
if (sections.length === 0) {
|
|
44
41
|
return ('# Knowledge Base\n\n' +
|
|
45
42
|
'No knowledge base documents are available. This means no connections have been configured yet — ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-index.js","sourceRoot":"","sources":["../../../src/knowledge/kb-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAkB;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,sBAAsB,GAAqC;IAC/D,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,yBAAyB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;CACjC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAqB
|
|
1
|
+
{"version":3,"file":"kb-index.js","sourceRoot":"","sources":["../../../src/knowledge/kb-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAkB;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,sBAAsB,GAAqC;IAC/D,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,yBAAyB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;CACjC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAqB;IAErB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CACL,sBAAsB;YACtB,kGAAkG;YAClG,kGAAkG;YAClG,wFAAwF;YACxF,kGAAkG;YAClG,+FAA+F;YAC/F,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAED,OAAO,CACL,uGAAuG;QACvG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CACtB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB,EAAE,IAAkB;IAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,eAAe,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC7G,MAAM,WAAW,GAAG,kCAAkC,CAAC;IACvD,MAAM,QAAQ,GAAG,2BAA2B,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,MAAM,eAAe,GAAG,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7D,OAAO,KAAK,GAAG,CAAC,KAAK,MAAM,eAAe,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC"}
|