@vfarcic/dot-ai 0.173.0 → 0.175.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.
Files changed (40) hide show
  1. package/README.md +1 -0
  2. package/dist/core/base-vector-service.d.ts +6 -0
  3. package/dist/core/base-vector-service.d.ts.map +1 -1
  4. package/dist/core/base-vector-service.js +13 -0
  5. package/dist/core/capability-tools.d.ts +38 -0
  6. package/dist/core/capability-tools.d.ts.map +1 -0
  7. package/dist/core/capability-tools.js +202 -0
  8. package/dist/core/resource-tools.d.ts +38 -0
  9. package/dist/core/resource-tools.d.ts.map +1 -0
  10. package/dist/core/resource-tools.js +216 -0
  11. package/dist/core/resource-vector-service.d.ts +12 -0
  12. package/dist/core/resource-vector-service.d.ts.map +1 -1
  13. package/dist/core/resource-vector-service.js +16 -5
  14. package/dist/core/tracing/qdrant-tracing.d.ts +1 -1
  15. package/dist/core/tracing/qdrant-tracing.d.ts.map +1 -1
  16. package/dist/core/user-prompts-loader.d.ts +66 -0
  17. package/dist/core/user-prompts-loader.d.ts.map +1 -0
  18. package/dist/core/user-prompts-loader.js +319 -0
  19. package/dist/core/vector-db-service.d.ts +6 -0
  20. package/dist/core/vector-db-service.d.ts.map +1 -1
  21. package/dist/core/vector-db-service.js +32 -0
  22. package/dist/interfaces/mcp.d.ts.map +1 -1
  23. package/dist/interfaces/mcp.js +10 -2
  24. package/dist/interfaces/resource-sync-handler.d.ts.map +1 -1
  25. package/dist/interfaces/resource-sync-handler.js +4 -1
  26. package/dist/interfaces/rest-api.d.ts +8 -0
  27. package/dist/interfaces/rest-api.d.ts.map +1 -1
  28. package/dist/interfaces/rest-api.js +98 -2
  29. package/dist/tools/prompts.d.ts +21 -3
  30. package/dist/tools/prompts.d.ts.map +1 -1
  31. package/dist/tools/prompts.js +166 -26
  32. package/dist/tools/query.d.ts +34 -0
  33. package/dist/tools/query.d.ts.map +1 -0
  34. package/dist/tools/query.js +209 -0
  35. package/package.json +1 -1
  36. package/prompts/query-system.md +15 -0
  37. package/scripts/crossplane.nu +8 -58
  38. package/scripts/dot-ai.nu +23 -9
  39. package/shared-prompts/prd-create.md +6 -2
  40. package/shared-prompts/prd-start.md +17 -3
@@ -1 +1 @@
1
- {"version":3,"file":"qdrant-tracing.d.ts","sourceRoot":"","sources":["../../../src/core/tracing/qdrant-tracing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,uBAAuB,GACvB,eAAe,GACf,eAAe,GACf,wBAAwB,GACxB,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,aAAa,GACb,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qBAAqB;IACrB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,gBAAgB,EAAE,sBAAsB,EACxC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,CAAC,CAAC,CAgEZ"}
1
+ {"version":3,"file":"qdrant-tracing.d.ts","sourceRoot":"","sources":["../../../src/core/tracing/qdrant-tracing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,uBAAuB,GACvB,eAAe,GACf,eAAe,GACf,wBAAwB,GACxB,wBAAwB,GACxB,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,aAAa,GACb,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qBAAqB;IACrB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,gBAAgB,EAAE,sBAAsB,EACxC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,CAAC,CAAC,CAgEZ"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * User Prompts Loader
3
+ *
4
+ * Loads user-defined prompts from a git repository.
5
+ * Supports any git provider (GitHub, GitLab, Gitea, Forgejo, Bitbucket, etc.)
6
+ *
7
+ * Environment variables:
8
+ * - DOT_AI_USER_PROMPTS_REPO: Git repository URL (required to enable)
9
+ * - DOT_AI_USER_PROMPTS_BRANCH: Branch to use (default: main)
10
+ * - DOT_AI_USER_PROMPTS_PATH: Subdirectory within repo (default: root)
11
+ * - DOT_AI_GIT_TOKEN: Authentication token (optional)
12
+ * - DOT_AI_USER_PROMPTS_CACHE_TTL: Cache TTL in seconds (default: 86400 = 24h)
13
+ */
14
+ import { Logger } from './error-handling';
15
+ import { Prompt } from '../tools/prompts';
16
+ /**
17
+ * Configuration for user prompts repository
18
+ */
19
+ export interface UserPromptsConfig {
20
+ repoUrl: string;
21
+ branch: string;
22
+ subPath: string;
23
+ gitToken?: string;
24
+ cacheTtlSeconds: number;
25
+ }
26
+ /**
27
+ * Cache state for tracking repository freshness
28
+ */
29
+ interface CacheState {
30
+ lastPullTime: number;
31
+ localPath: string;
32
+ }
33
+ /**
34
+ * Read user prompts configuration from environment variables
35
+ * Returns null if DOT_AI_USER_PROMPTS_REPO is not set
36
+ */
37
+ export declare function getUserPromptsConfig(): UserPromptsConfig | null;
38
+ /**
39
+ * Get the cache directory for user prompts
40
+ * Tries project-relative tmp first, falls back to system temp
41
+ */
42
+ export declare function getCacheDirectory(): string;
43
+ /**
44
+ * Insert authentication token into git URL
45
+ * Works with any HTTPS git URL (GitHub, GitLab, Gitea, Bitbucket, etc.)
46
+ */
47
+ export declare function insertTokenInUrl(url: string, token: string): string;
48
+ /**
49
+ * Sanitize URL for logging (remove credentials)
50
+ */
51
+ export declare function sanitizeUrlForLogging(url: string): string;
52
+ /**
53
+ * Load user prompts from the configured git repository
54
+ * Returns empty array if not configured or on error
55
+ */
56
+ export declare function loadUserPrompts(logger: Logger, forceRefresh?: boolean): Promise<Prompt[]>;
57
+ /**
58
+ * Clear the cache state (useful for testing)
59
+ */
60
+ export declare function clearUserPromptsCache(): void;
61
+ /**
62
+ * Get current cache state (for testing/debugging)
63
+ */
64
+ export declare function getUserPromptsCacheState(): CacheState | null;
65
+ export {};
66
+ //# sourceMappingURL=user-prompts-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-prompts-loader.d.ts","sourceRoot":"","sources":["../../src/core/user-prompts-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAkB,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,UAAU,UAAU;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAkB/D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAqB1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUzD;AAmJD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC,CAmDnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,UAAU,GAAG,IAAI,CAE5D"}
@@ -0,0 +1,319 @@
1
+ "use strict";
2
+ /**
3
+ * User Prompts Loader
4
+ *
5
+ * Loads user-defined prompts from a git repository.
6
+ * Supports any git provider (GitHub, GitLab, Gitea, Forgejo, Bitbucket, etc.)
7
+ *
8
+ * Environment variables:
9
+ * - DOT_AI_USER_PROMPTS_REPO: Git repository URL (required to enable)
10
+ * - DOT_AI_USER_PROMPTS_BRANCH: Branch to use (default: main)
11
+ * - DOT_AI_USER_PROMPTS_PATH: Subdirectory within repo (default: root)
12
+ * - DOT_AI_GIT_TOKEN: Authentication token (optional)
13
+ * - DOT_AI_USER_PROMPTS_CACHE_TTL: Cache TTL in seconds (default: 86400 = 24h)
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.getUserPromptsConfig = getUserPromptsConfig;
50
+ exports.getCacheDirectory = getCacheDirectory;
51
+ exports.insertTokenInUrl = insertTokenInUrl;
52
+ exports.sanitizeUrlForLogging = sanitizeUrlForLogging;
53
+ exports.loadUserPrompts = loadUserPrompts;
54
+ exports.clearUserPromptsCache = clearUserPromptsCache;
55
+ exports.getUserPromptsCacheState = getUserPromptsCacheState;
56
+ const fs = __importStar(require("fs"));
57
+ const path = __importStar(require("path"));
58
+ const os = __importStar(require("os"));
59
+ const platform_utils_1 = require("./platform-utils");
60
+ const prompts_1 = require("../tools/prompts");
61
+ // In-memory cache state (persists across requests within same process)
62
+ let cacheState = null;
63
+ /**
64
+ * Read user prompts configuration from environment variables
65
+ * Returns null if DOT_AI_USER_PROMPTS_REPO is not set
66
+ */
67
+ function getUserPromptsConfig() {
68
+ const repoUrl = process.env.DOT_AI_USER_PROMPTS_REPO;
69
+ if (!repoUrl) {
70
+ return null;
71
+ }
72
+ // Validate cache TTL - fallback to default if invalid or negative
73
+ const parsedTtl = parseInt(process.env.DOT_AI_USER_PROMPTS_CACHE_TTL || '86400', 10);
74
+ const cacheTtlSeconds = Number.isNaN(parsedTtl) || parsedTtl < 0 ? 86400 : parsedTtl;
75
+ return {
76
+ repoUrl,
77
+ branch: process.env.DOT_AI_USER_PROMPTS_BRANCH || 'main',
78
+ subPath: process.env.DOT_AI_USER_PROMPTS_PATH || '',
79
+ gitToken: process.env.DOT_AI_GIT_TOKEN,
80
+ cacheTtlSeconds,
81
+ };
82
+ }
83
+ /**
84
+ * Get the cache directory for user prompts
85
+ * Tries project-relative tmp first, falls back to system temp
86
+ */
87
+ function getCacheDirectory() {
88
+ // Try project-relative tmp directory first
89
+ const projectTmp = path.join(process.cwd(), 'tmp', 'user-prompts');
90
+ try {
91
+ // Ensure parent tmp directory exists
92
+ const parentTmp = path.join(process.cwd(), 'tmp');
93
+ if (!fs.existsSync(parentTmp)) {
94
+ fs.mkdirSync(parentTmp, { recursive: true });
95
+ }
96
+ // Test if we can write to it
97
+ const testFile = path.join(parentTmp, '.write-test');
98
+ fs.writeFileSync(testFile, 'test');
99
+ fs.unlinkSync(testFile);
100
+ return projectTmp;
101
+ }
102
+ catch {
103
+ // Fall back to system temp (works in Docker/K8s)
104
+ return path.join(os.tmpdir(), 'dot-ai-user-prompts');
105
+ }
106
+ }
107
+ /**
108
+ * Insert authentication token into git URL
109
+ * Works with any HTTPS git URL (GitHub, GitLab, Gitea, Bitbucket, etc.)
110
+ */
111
+ function insertTokenInUrl(url, token) {
112
+ try {
113
+ const parsed = new URL(url);
114
+ parsed.username = token;
115
+ return parsed.toString();
116
+ }
117
+ catch {
118
+ // If URL parsing fails, return original
119
+ return url;
120
+ }
121
+ }
122
+ /**
123
+ * Sanitize URL for logging (remove credentials)
124
+ */
125
+ function sanitizeUrlForLogging(url) {
126
+ try {
127
+ const parsed = new URL(url);
128
+ if (parsed.username)
129
+ parsed.username = '***';
130
+ if (parsed.password)
131
+ parsed.password = '***';
132
+ return parsed.toString();
133
+ }
134
+ catch {
135
+ // If URL parsing fails, do basic sanitization
136
+ return url.replace(/\/\/[^@]+@/, '//***@');
137
+ }
138
+ }
139
+ /**
140
+ * Validate git branch name to prevent command injection
141
+ * Allows alphanumeric characters, hyphens, underscores, slashes, and dots
142
+ */
143
+ function isValidGitBranch(branch) {
144
+ return /^[a-zA-Z0-9_.\-/]+$/.test(branch);
145
+ }
146
+ /**
147
+ * Clone the user prompts repository
148
+ */
149
+ async function cloneRepository(config, localPath, logger) {
150
+ // Validate branch name to prevent command injection
151
+ if (!isValidGitBranch(config.branch)) {
152
+ throw new Error(`Invalid branch name: ${config.branch}`);
153
+ }
154
+ const authUrl = config.gitToken
155
+ ? insertTokenInUrl(config.repoUrl, config.gitToken)
156
+ : config.repoUrl;
157
+ const sanitizedUrl = sanitizeUrlForLogging(config.repoUrl);
158
+ logger.info('Cloning user prompts repository', {
159
+ url: sanitizedUrl,
160
+ branch: config.branch,
161
+ localPath,
162
+ });
163
+ try {
164
+ // Ensure parent directory exists
165
+ const parentDir = path.dirname(localPath);
166
+ if (!fs.existsSync(parentDir)) {
167
+ fs.mkdirSync(parentDir, { recursive: true });
168
+ }
169
+ // Remove existing directory if it exists (clean clone)
170
+ if (fs.existsSync(localPath)) {
171
+ fs.rmSync(localPath, { recursive: true, force: true });
172
+ }
173
+ // Clone with shallow depth for faster operation
174
+ const cloneCommand = `git clone --depth 1 --branch ${config.branch} "${authUrl}" "${localPath}"`;
175
+ await (0, platform_utils_1.execAsync)(cloneCommand);
176
+ logger.info('Successfully cloned user prompts repository', {
177
+ url: sanitizedUrl,
178
+ branch: config.branch,
179
+ });
180
+ }
181
+ catch (error) {
182
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
183
+ // Sanitize error message in case it contains the token
184
+ const sanitizedError = config.gitToken
185
+ ? errorMessage.replaceAll(config.gitToken, '***')
186
+ : errorMessage;
187
+ logger.error('Failed to clone user prompts repository', new Error(sanitizedError), {
188
+ url: sanitizedUrl,
189
+ branch: config.branch,
190
+ });
191
+ throw new Error(`Failed to clone user prompts repository: ${sanitizedError}`);
192
+ }
193
+ }
194
+ /**
195
+ * Pull latest changes from the user prompts repository
196
+ */
197
+ async function pullRepository(config, localPath, logger) {
198
+ const sanitizedUrl = sanitizeUrlForLogging(config.repoUrl);
199
+ logger.debug('Pulling user prompts repository', {
200
+ url: sanitizedUrl,
201
+ localPath,
202
+ });
203
+ try {
204
+ // Set up credentials for pull if token is provided
205
+ if (config.gitToken) {
206
+ const authUrl = insertTokenInUrl(config.repoUrl, config.gitToken);
207
+ await (0, platform_utils_1.execAsync)(`git -C "${localPath}" remote set-url origin "${authUrl}"`);
208
+ }
209
+ await (0, platform_utils_1.execAsync)(`git -C "${localPath}" pull --ff-only`);
210
+ logger.debug('Successfully pulled user prompts repository', {
211
+ url: sanitizedUrl,
212
+ });
213
+ }
214
+ catch (error) {
215
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
216
+ const sanitizedError = config.gitToken
217
+ ? errorMessage.replaceAll(config.gitToken, '***')
218
+ : errorMessage;
219
+ logger.warn('Failed to pull user prompts repository, using cached version', {
220
+ url: sanitizedUrl,
221
+ error: sanitizedError,
222
+ });
223
+ // Don't throw - use cached version
224
+ }
225
+ }
226
+ /**
227
+ * Ensure the repository is cloned and up-to-date
228
+ * Returns the path to the prompts directory within the repository
229
+ */
230
+ async function ensureRepository(config, logger, forceRefresh = false) {
231
+ const localPath = getCacheDirectory();
232
+ const now = Date.now();
233
+ const ttlMs = config.cacheTtlSeconds * 1000;
234
+ // Check if we need to clone or pull
235
+ if (!cacheState || !fs.existsSync(cacheState.localPath)) {
236
+ // First time or cache directory was deleted - clone
237
+ await cloneRepository(config, localPath, logger);
238
+ cacheState = { lastPullTime: now, localPath };
239
+ }
240
+ else if (forceRefresh || now - cacheState.lastPullTime >= ttlMs) {
241
+ // Cache expired or force refresh - pull
242
+ await pullRepository(config, localPath, logger);
243
+ cacheState.lastPullTime = now;
244
+ }
245
+ else {
246
+ logger.debug('Using cached user prompts repository', {
247
+ localPath,
248
+ cacheAge: Math.round((now - cacheState.lastPullTime) / 1000),
249
+ ttl: config.cacheTtlSeconds,
250
+ });
251
+ }
252
+ // Return path to prompts directory (with optional subPath)
253
+ return config.subPath
254
+ ? path.join(localPath, config.subPath)
255
+ : localPath;
256
+ }
257
+ /**
258
+ * Load user prompts from the configured git repository
259
+ * Returns empty array if not configured or on error
260
+ */
261
+ async function loadUserPrompts(logger, forceRefresh = false) {
262
+ const config = getUserPromptsConfig();
263
+ if (!config) {
264
+ logger.debug('User prompts not configured (DOT_AI_USER_PROMPTS_REPO not set)');
265
+ return [];
266
+ }
267
+ try {
268
+ const promptsDir = await ensureRepository(config, logger, forceRefresh);
269
+ if (!fs.existsSync(promptsDir)) {
270
+ logger.warn('User prompts directory not found in repository', {
271
+ path: promptsDir,
272
+ subPath: config.subPath,
273
+ });
274
+ return [];
275
+ }
276
+ // Load all .md files from the prompts directory
277
+ const files = fs.readdirSync(promptsDir);
278
+ const promptFiles = files.filter(file => file.endsWith('.md'));
279
+ const prompts = [];
280
+ for (const file of promptFiles) {
281
+ try {
282
+ const filePath = path.join(promptsDir, file);
283
+ const prompt = (0, prompts_1.loadPromptFile)(filePath, 'user');
284
+ prompts.push(prompt);
285
+ logger.debug('Loaded user prompt', { name: prompt.name, file });
286
+ }
287
+ catch (error) {
288
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
289
+ logger.warn('Failed to load user prompt file, skipping', {
290
+ file,
291
+ error: errorMessage,
292
+ });
293
+ // Continue with other prompts
294
+ }
295
+ }
296
+ logger.info('Loaded user prompts from repository', {
297
+ total: prompts.length,
298
+ url: sanitizeUrlForLogging(config.repoUrl),
299
+ });
300
+ return prompts;
301
+ }
302
+ catch (error) {
303
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
304
+ logger.error('Failed to load user prompts, falling back to built-in only', new Error(errorMessage));
305
+ return [];
306
+ }
307
+ }
308
+ /**
309
+ * Clear the cache state (useful for testing)
310
+ */
311
+ function clearUserPromptsCache() {
312
+ cacheState = null;
313
+ }
314
+ /**
315
+ * Get current cache state (for testing/debugging)
316
+ */
317
+ function getUserPromptsCacheState() {
318
+ return cacheState ? { ...cacheState } : null;
319
+ }
@@ -64,6 +64,12 @@ export declare class VectorDBService {
64
64
  * Collection structure is preserved, avoiding Qdrant storage cleanup issues
65
65
  */
66
66
  deleteAllDocuments(): Promise<void>;
67
+ /**
68
+ * Scroll documents with Qdrant filter
69
+ * @param filter - Qdrant filter object (must/should/must_not conditions)
70
+ * @param limit - Maximum documents to retrieve
71
+ */
72
+ scrollWithFilter(filter: any, limit?: number): Promise<VectorDocument[]>;
67
73
  /**
68
74
  * Get all documents (for listing)
69
75
  * @param limit - Maximum number of documents to retrieve. Defaults to unlimited (10000).
@@ -1 +1 @@
1
- {"version":3,"file":"vector-db-service.d.ts","sourceRoot":"","sources":["../../src/core/vector-db-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,cAAc,CAAS;gBAEnB,MAAM,GAAE,cAAmB;IAsBvC,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACG,oBAAoB,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDnE;;;OAGG;YACW,gBAAgB;IAgC9B;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC7D;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAsC1B;;OAEG;IACG,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAuD1B;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAqC7D;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B/C;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCzC;;;OAGG;IACG,eAAe,CAAC,KAAK,GAAE,MAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAyCvE;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAqBvC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBrC;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,SAAS,IAAI,cAAc;CAG5B"}
1
+ {"version":3,"file":"vector-db-service.d.ts","sourceRoot":"","sources":["../../src/core/vector-db-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,cAAc,CAAS;gBAEnB,MAAM,GAAE,cAAmB;IAsBvC,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACG,oBAAoB,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDnE;;;OAGG;YACW,gBAAgB;IAgC9B;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC7D;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAsC1B;;OAEG;IACG,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAuD1B;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAqC7D;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B/C;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCzC;;;;OAIG;IACG,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAgCnF;;;OAGG;IACG,eAAe,CAAC,KAAK,GAAE,MAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAyCvE;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAqBvC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBrC;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,SAAS,IAAI,cAAc;CAG5B"}
@@ -339,6 +339,38 @@ class VectorDBService {
339
339
  }
340
340
  });
341
341
  }
342
+ /**
343
+ * Scroll documents with Qdrant filter
344
+ * @param filter - Qdrant filter object (must/should/must_not conditions)
345
+ * @param limit - Maximum documents to retrieve
346
+ */
347
+ async scrollWithFilter(filter, limit = 100) {
348
+ if (!this.client) {
349
+ throw new Error('Vector DB client not initialized');
350
+ }
351
+ return (0, qdrant_tracing_1.withQdrantTracing)({
352
+ operation: 'vector.scroll_filtered',
353
+ collectionName: this.collectionName,
354
+ limit,
355
+ serverUrl: this.config.url
356
+ }, async () => {
357
+ try {
358
+ const scrollResult = await this.client.scroll(this.collectionName, {
359
+ filter,
360
+ limit,
361
+ with_payload: true,
362
+ with_vector: false
363
+ });
364
+ return scrollResult.points.map(point => ({
365
+ id: point.id.toString(),
366
+ payload: point.payload || {}
367
+ }));
368
+ }
369
+ catch (error) {
370
+ throw new Error(`Failed to scroll with filter: ${error}`);
371
+ }
372
+ });
373
+ }
342
374
  /**
343
375
  * Get all documents (for listing)
344
376
  * @param limit - Maximum number of documents to retrieve. Defaults to unlimited (10000).
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/interfaces/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAkDtC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;CACxC;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAkC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe;IAyCjD;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,OAAO,CAAC,aAAa;IA6HrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,qBAAqB;YAgBf,qBAAqB;IAyBnC,OAAO,CAAC,iBAAiB;IAInB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAkBd,mBAAmB;YAMnB,kBAAkB;YA+HlB,gBAAgB;IAexB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,OAAO,IAAI,OAAO;CAGnB"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/interfaces/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAwDtC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;CACxC;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAkC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe;IAyCjD;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,OAAO,CAAC,aAAa;IA+IrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,qBAAqB;YAgBf,qBAAqB;IAyBnC,OAAO,CAAC,iBAAiB;IAInB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAkBd,mBAAmB;YAMnB,kBAAkB;YA+HlB,gBAAgB;IAexB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,OAAO,IAAI,OAAO;CAGnB"}
@@ -20,6 +20,7 @@ const organizational_data_1 = require("../tools/organizational-data");
20
20
  const remediate_1 = require("../tools/remediate");
21
21
  const operate_1 = require("../tools/operate");
22
22
  const project_setup_1 = require("../tools/project-setup");
23
+ const query_1 = require("../tools/query");
23
24
  const prompts_1 = require("../tools/prompts");
24
25
  const rest_registry_1 = require("./rest-registry");
25
26
  const rest_api_1 = require("./rest-api");
@@ -134,6 +135,12 @@ class MCPServer {
134
135
  this.logger.info(`Processing ${project_setup_1.PROJECT_SETUP_TOOL_NAME} tool request`, { requestId });
135
136
  return await (0, project_setup_1.handleProjectSetupTool)(args, this.logger);
136
137
  }, 'Project Setup', ['governance', 'infrastructure', 'configuration', 'files']);
138
+ // Register query tool (PRD #291: Cluster Query Tool)
139
+ this.registerTool(query_1.QUERY_TOOL_NAME, query_1.QUERY_TOOL_DESCRIPTION, query_1.QUERY_TOOL_INPUT_SCHEMA, async (args) => {
140
+ const requestId = this.generateRequestId();
141
+ this.logger.info(`Processing ${query_1.QUERY_TOOL_NAME} tool request`, { requestId });
142
+ return await (0, query_1.handleQueryTool)(args);
143
+ }, 'Intelligence', ['query', 'search', 'discover', 'capabilities', 'cluster']);
137
144
  this.logger.info('Registered all tools with McpServer', {
138
145
  tools: [
139
146
  recommend_1.RECOMMEND_TOOL_NAME,
@@ -141,9 +148,10 @@ class MCPServer {
141
148
  organizational_data_1.ORGANIZATIONAL_DATA_TOOL_NAME,
142
149
  remediate_1.REMEDIATE_TOOL_NAME,
143
150
  operate_1.OPERATE_TOOL_NAME,
144
- project_setup_1.PROJECT_SETUP_TOOL_NAME
151
+ project_setup_1.PROJECT_SETUP_TOOL_NAME,
152
+ query_1.QUERY_TOOL_NAME
145
153
  ],
146
- totalTools: 6,
154
+ totalTools: 7,
147
155
  });
148
156
  }
149
157
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"resource-sync-handler.d.ts","sourceRoot":"","sources":["../../src/interfaces/resource-sync-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK7C;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAoID;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CA0R1B"}
1
+ {"version":3,"file":"resource-sync-handler.d.ts","sourceRoot":"","sources":["../../src/interfaces/resource-sync-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK7C;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAoID;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CA6R1B"}
@@ -286,7 +286,10 @@ async function handleResourceSync(body, logger, requestId) {
286
286
  resync: {
287
287
  inserted: diffResult.inserted,
288
288
  updated: diffResult.updated,
289
- deleted: diffResult.deleted
289
+ deleted: diffResult.deleted,
290
+ insertedResources: diffResult.insertedResources,
291
+ updatedResources: diffResult.updatedResources,
292
+ deletedResources: diffResult.deletedResources
290
293
  }
291
294
  },
292
295
  meta: {
@@ -101,6 +101,14 @@ export declare class RestApiRouter {
101
101
  * Handle resource sync requests from controller
102
102
  */
103
103
  private handleResourceSyncRequest;
104
+ /**
105
+ * Handle prompts list requests
106
+ */
107
+ private handlePromptsListRequest;
108
+ /**
109
+ * Handle prompt get requests
110
+ */
111
+ private handlePromptsGetRequest;
104
112
  /**
105
113
  * Set CORS headers
106
114
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rest-api.d.ts","sourceRoot":"","sources":["../../src/interfaces/rest-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC;;GAEG;AACH,oBAAY,UAAU;IACpB,EAAE,MAAM;IACR,WAAW,MAAM;IACjB,SAAS,MAAM;IACf,kBAAkB,MAAM;IACxB,qBAAqB,MAAM;IAC3B,mBAAmB,MAAM;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,GAAG,CAAC;KACf,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,GAAG,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAa;gBAGjC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM;IAoBrC;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAyFzF;;OAEG;IACH,OAAO,CAAC,YAAY;IAyCpB;;OAEG;YACW,mBAAmB;IA2CjC;;OAEG;YACW,mBAAmB;IA+FjC;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;YACW,yBAAyB;IAgEvC;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;YACW,gBAAgB;IAK9B;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,SAAS,IAAI,aAAa;CAG3B"}
1
+ {"version":3,"file":"rest-api.d.ts","sourceRoot":"","sources":["../../src/interfaces/rest-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAItC;;GAEG;AACH,oBAAY,UAAU;IACpB,EAAE,MAAM;IACR,WAAW,MAAM;IACjB,SAAS,MAAM;IACf,kBAAkB,MAAM;IACxB,qBAAqB,MAAM;IAC3B,mBAAmB,MAAM;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,GAAG,CAAC;KACf,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,GAAG,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAa;gBAGjC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM;IAoBrC;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2GzF;;OAEG;IACH,OAAO,CAAC,YAAY;IAuDpB;;OAEG;YACW,mBAAmB;IA2CjC;;OAEG;YACW,mBAAmB;IAgGjC;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;YACW,yBAAyB;IAgEvC;;OAEG;YACW,wBAAwB;IA0CtC;;OAEG;YACW,uBAAuB;IAsDrC;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;YACW,gBAAgB;IAK9B;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,SAAS,IAAI,aAAa;CAG3B"}