@backendkit-labs/curator-codex-agent 0.2.0 → 1.0.1

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 (101) hide show
  1. package/dist/analyzer.d.ts +1 -17
  2. package/dist/analyzer.d.ts.map +1 -1
  3. package/dist/analyzer.js +80 -163
  4. package/dist/analyzer.js.map +1 -1
  5. package/dist/audit.d.ts +27 -0
  6. package/dist/audit.d.ts.map +1 -0
  7. package/dist/audit.js +43 -0
  8. package/dist/audit.js.map +1 -0
  9. package/dist/checksum.d.ts +0 -22
  10. package/dist/checksum.d.ts.map +1 -1
  11. package/dist/checksum.js +14 -103
  12. package/dist/checksum.js.map +1 -1
  13. package/dist/documentation-curator.d.ts +1 -1
  14. package/dist/documentation-curator.d.ts.map +1 -1
  15. package/dist/documentation-curator.js +79 -95
  16. package/dist/documentation-curator.js.map +1 -1
  17. package/dist/index.d.ts +19 -9
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +12 -22
  20. package/dist/index.js.map +1 -1
  21. package/dist/knowledge/embedder-worker.d.ts +2 -0
  22. package/dist/knowledge/embedder-worker.d.ts.map +1 -0
  23. package/dist/knowledge/embedder-worker.js +55 -0
  24. package/dist/knowledge/embedder-worker.js.map +1 -0
  25. package/dist/knowledge/engine.d.ts +10 -56
  26. package/dist/knowledge/engine.d.ts.map +1 -1
  27. package/dist/knowledge/engine.js +42 -153
  28. package/dist/knowledge/engine.js.map +1 -1
  29. package/dist/knowledge/rag-provider.d.ts +14 -56
  30. package/dist/knowledge/rag-provider.d.ts.map +1 -1
  31. package/dist/knowledge/rag-provider.js +63 -154
  32. package/dist/knowledge/rag-provider.js.map +1 -1
  33. package/dist/knowledge/synthesis.d.ts +0 -10
  34. package/dist/knowledge/synthesis.d.ts.map +1 -1
  35. package/dist/knowledge/synthesis.js +32 -77
  36. package/dist/knowledge/synthesis.js.map +1 -1
  37. package/dist/knowledge/transformers-embedder.d.ts +61 -0
  38. package/dist/knowledge/transformers-embedder.d.ts.map +1 -0
  39. package/dist/knowledge/transformers-embedder.js +222 -0
  40. package/dist/knowledge/transformers-embedder.js.map +1 -0
  41. package/dist/pdf-reader.d.ts +11 -0
  42. package/dist/pdf-reader.d.ts.map +1 -0
  43. package/dist/pdf-reader.js +21 -0
  44. package/dist/pdf-reader.js.map +1 -0
  45. package/dist/project.d.ts +28 -0
  46. package/dist/project.d.ts.map +1 -0
  47. package/dist/project.js +88 -0
  48. package/dist/project.js.map +1 -0
  49. package/dist/providers/anthropic-adapter.d.ts +2 -2
  50. package/dist/providers/anthropic-adapter.d.ts.map +1 -1
  51. package/dist/providers/anthropic-adapter.js +7 -13
  52. package/dist/providers/anthropic-adapter.js.map +1 -1
  53. package/dist/providers/index.d.ts +1 -1
  54. package/dist/providers/index.d.ts.map +1 -1
  55. package/dist/providers/index.js +13 -20
  56. package/dist/providers/index.js.map +1 -1
  57. package/dist/providers/openai-adapter.d.ts +2 -2
  58. package/dist/providers/openai-adapter.d.ts.map +1 -1
  59. package/dist/providers/openai-adapter.js +7 -13
  60. package/dist/providers/openai-adapter.js.map +1 -1
  61. package/dist/providers/types.d.ts +8 -1
  62. package/dist/providers/types.d.ts.map +1 -1
  63. package/dist/providers/types.js +1 -2
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/types.js +1 -3
  66. package/dist/types.js.map +1 -1
  67. package/dist/vault-dedup.d.ts +35 -0
  68. package/dist/vault-dedup.d.ts.map +1 -0
  69. package/dist/vault-dedup.js +130 -0
  70. package/dist/vault-dedup.js.map +1 -0
  71. package/package.json +45 -58
  72. package/AGENT.md +0 -187
  73. package/README.md +0 -475
  74. package/dist/api/config.d.ts +0 -57
  75. package/dist/api/config.d.ts.map +0 -1
  76. package/dist/api/config.js +0 -183
  77. package/dist/api/config.js.map +0 -1
  78. package/dist/api/http-server.d.ts +0 -24
  79. package/dist/api/http-server.d.ts.map +0 -1
  80. package/dist/api/http-server.js +0 -108
  81. package/dist/api/http-server.js.map +0 -1
  82. package/dist/api/routes.d.ts +0 -8
  83. package/dist/api/routes.d.ts.map +0 -1
  84. package/dist/api/routes.js +0 -382
  85. package/dist/api/routes.js.map +0 -1
  86. package/dist/api/security.d.ts +0 -107
  87. package/dist/api/security.d.ts.map +0 -1
  88. package/dist/api/security.js +0 -200
  89. package/dist/api/security.js.map +0 -1
  90. package/dist/http-server-main.d.ts +0 -28
  91. package/dist/http-server-main.d.ts.map +0 -1
  92. package/dist/http-server-main.js +0 -69
  93. package/dist/http-server-main.js.map +0 -1
  94. package/dist/server.d.ts +0 -33
  95. package/dist/server.d.ts.map +0 -1
  96. package/dist/server.js +0 -640
  97. package/dist/server.js.map +0 -1
  98. package/dist/watcher.d.ts +0 -26
  99. package/dist/watcher.d.ts.map +0 -1
  100. package/dist/watcher.js +0 -168
  101. package/dist/watcher.js.map +0 -1
@@ -1,200 +0,0 @@
1
- "use strict";
2
- /**
3
- * Security middleware for Curator-Codex HTTP API
4
- * Handles authentication, rate limiting, and input validation
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- var __importDefault = (this && this.__importDefault) || function (mod) {
40
- return (mod && mod.__esModule) ? mod : { "default": mod };
41
- };
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.CuratorFileSchema = exports.KnowledgeReindexSchema = exports.KnowledgeSearchWithVaultSchema = exports.KnowledgeSearchSchema = exports.CuratorProcessSchema = exports.CuratorConfigSchema = void 0;
44
- exports.createAuthMiddleware = createAuthMiddleware;
45
- exports.createRateLimiter = createRateLimiter;
46
- exports.validateBody = validateBody;
47
- exports.createRequestLogger = createRequestLogger;
48
- exports.errorHandler = errorHandler;
49
- exports.createRequestContext = createRequestContext;
50
- const express_rate_limit_1 = __importDefault(require("express-rate-limit"));
51
- const zod_1 = require("zod");
52
- const crypto = __importStar(require("node:crypto"));
53
- /**
54
- * Bearer token authentication middleware
55
- * Validates API key from Authorization header
56
- */
57
- function createAuthMiddleware(apiKeys = new Map()) {
58
- return (req, res, next) => {
59
- const authHeader = req.headers.authorization;
60
- if (!authHeader || !authHeader.startsWith('Bearer ')) {
61
- // No auth required for health/status endpoints
62
- if (req.path === '/health' || req.path === '/status' || req.path === '/') {
63
- return next();
64
- }
65
- return res.status(401).json({
66
- error: 'Unauthorized',
67
- message: 'Missing or invalid Authorization header',
68
- expected: 'Authorization: Bearer sk-...',
69
- });
70
- }
71
- const token = authHeader.slice(7); // Remove "Bearer "
72
- // Validate token format
73
- if (!token.startsWith('sk-') || token.length < 20) {
74
- return res.status(401).json({
75
- error: 'Unauthorized',
76
- message: 'Invalid API key format',
77
- });
78
- }
79
- // Check token (in production, verify against DB/KMS)
80
- const keyInfo = apiKeys.get(token) || { rateLimit: 100 };
81
- req.user = {
82
- id: hashToken(token),
83
- key: token.slice(0, 10) + '...',
84
- rateLimit: keyInfo.rateLimit,
85
- };
86
- next();
87
- };
88
- }
89
- function hashToken(token) {
90
- return crypto.createHash('sha256').update(token).digest('hex').slice(0, 12);
91
- }
92
- // ── Rate Limiting ──────────────────────────────────────────────────────────
93
- function createRateLimiter(windowMs = 15 * 60 * 1000, max = 100) {
94
- return (0, express_rate_limit_1.default)({
95
- windowMs,
96
- max,
97
- message: {
98
- error: 'Too many requests',
99
- message: 'Rate limit exceeded. Please try again later.',
100
- retryAfter: Math.ceil(windowMs / 1000),
101
- },
102
- standardHeaders: true, // Return rate limit info in headers
103
- skip: (req) => {
104
- // Skip rate limiting for health checks
105
- return req.path === '/health';
106
- },
107
- });
108
- }
109
- // ── Input Validation ───────────────────────────────────────────────────────
110
- exports.CuratorConfigSchema = zod_1.z.object({
111
- inputPath: zod_1.z.string().min(1).describe('Input directory path'),
112
- outputPath: zod_1.z.string().min(1).describe('Output vault path'),
113
- });
114
- exports.CuratorProcessSchema = zod_1.z.object({
115
- inputPath: zod_1.z.string().optional().describe('Optional input override'),
116
- outputPath: zod_1.z.string().optional().describe('Optional output override'),
117
- });
118
- exports.KnowledgeSearchSchema = zod_1.z.object({
119
- query: zod_1.z.string().min(3).max(500).describe('Search query'),
120
- topK: zod_1.z.number().int().min(1).max(20).optional().describe('Top K results'),
121
- autoSynthesize: zod_1.z.boolean().optional().describe('Auto-generate synthesis'),
122
- });
123
- exports.KnowledgeSearchWithVaultSchema = zod_1.z.object({
124
- vaultPath: zod_1.z.string().min(1).describe('Absolute path to vault directory'),
125
- query: zod_1.z.string().min(3).max(500).describe('Search query'),
126
- topK: zod_1.z.number().int().min(1).max(20).optional().default(5),
127
- });
128
- exports.KnowledgeReindexSchema = zod_1.z.object({
129
- vaultPath: zod_1.z.string().min(1).describe('Absolute path to vault directory'),
130
- });
131
- exports.CuratorFileSchema = zod_1.z.object({
132
- vaultPath: zod_1.z.string().min(1).describe('Absolute path to vault directory'),
133
- fileName: zod_1.z.string().min(1).max(255).describe('Original file name'),
134
- content: zod_1.z.string().min(1).describe('File content to curate'),
135
- });
136
- /**
137
- * Validate request body against schema
138
- */
139
- function validateBody(schema) {
140
- return (req, res, next) => {
141
- try {
142
- const validated = schema.parse(req.body);
143
- req.validatedBody = validated;
144
- next();
145
- }
146
- catch (err) {
147
- if (err instanceof zod_1.z.ZodError) {
148
- return res.status(400).json({
149
- error: 'Validation failed',
150
- details: err.errors.map(e => ({
151
- field: e.path.join('.'),
152
- message: e.message,
153
- code: e.code,
154
- })),
155
- });
156
- }
157
- res.status(400).json({
158
- error: 'Invalid request',
159
- message: err.message,
160
- });
161
- }
162
- };
163
- }
164
- // ── Request Logging ────────────────────────────────────────────────────────
165
- function createRequestLogger() {
166
- return (req, res, next) => {
167
- const start = Date.now();
168
- // Log request
169
- const userId = req.user?.id || 'anonymous';
170
- console.log(`[${new Date().toISOString()}] ${req.method} ${req.path} (${userId})`);
171
- // Intercept response
172
- const originalJson = res.json.bind(res);
173
- res.json = function (body) {
174
- const duration = Date.now() - start;
175
- console.log(`[${new Date().toISOString()}] ${req.method} ${req.path} → ${res.statusCode} (${duration}ms)`);
176
- return originalJson(body);
177
- };
178
- next();
179
- };
180
- }
181
- // ── Error Handler ──────────────────────────────────────────────────────────
182
- function errorHandler(err, req, res, next) {
183
- const status = err.status || 500;
184
- const message = err.message || 'Internal server error';
185
- console.error(`[ERROR] ${req.method} ${req.path} → ${status}`, { error: message, stack: err.stack });
186
- res.status(status).json({
187
- error: status >= 500 ? 'Server error' : 'Client error',
188
- message,
189
- ...(process.env.NODE_ENV === 'development' && { stack: err.stack }),
190
- });
191
- }
192
- function createRequestContext(req) {
193
- return {
194
- userId: req.user?.id || 'anonymous',
195
- requestId: crypto.randomUUID(),
196
- startTime: Date.now(),
197
- ip: (req.ip || req.socket.remoteAddress || 'unknown'),
198
- };
199
- }
200
- //# sourceMappingURL=security.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/api/security.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * curator-codex-http — HTTP server for unified curation + knowledge
4
- *
5
- * Required env vars:
6
- * CURATOR_API_KEY — LLM API key
7
- * CURATOR_OUTPUT_PATH — Vault path
8
- *
9
- * Optional:
10
- * CURATOR_INPUT_PATH — Code/doc directory to curate
11
- * CURATOR_HTTP_PORT — Server port (default: 3100)
12
- * CURATOR_PROVIDER — LLM provider (default: deepseek)
13
- * CURATOR_MODEL — LLM model (default: deepseek-reasoner)
14
- * CURATOR_BASE_URL — Custom LLM base URL
15
- *
16
- * Usage:
17
- * npm run http-server
18
- * CURATOR_OUTPUT_PATH=/vault CURATOR_API_KEY=sk-... npm run http-server
19
- *
20
- * API Examples:
21
- * GET http://localhost:3100/ # Info
22
- * GET http://localhost:3100/status # Status
23
- * GET http://localhost:3100/curator/config
24
- * POST http://localhost:3100/curator/config
25
- * POST http://localhost:3100/curator/process
26
- */
27
- import 'dotenv/config';
28
- //# sourceMappingURL=http-server-main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-server-main.d.ts","sourceRoot":"","sources":["../src/http-server-main.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,eAAe,CAAC"}
@@ -1,69 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /**
4
- * curator-codex-http — HTTP server for unified curation + knowledge
5
- *
6
- * Required env vars:
7
- * CURATOR_API_KEY — LLM API key
8
- * CURATOR_OUTPUT_PATH — Vault path
9
- *
10
- * Optional:
11
- * CURATOR_INPUT_PATH — Code/doc directory to curate
12
- * CURATOR_HTTP_PORT — Server port (default: 3100)
13
- * CURATOR_PROVIDER — LLM provider (default: deepseek)
14
- * CURATOR_MODEL — LLM model (default: deepseek-reasoner)
15
- * CURATOR_BASE_URL — Custom LLM base URL
16
- *
17
- * Usage:
18
- * npm run http-server
19
- * CURATOR_OUTPUT_PATH=/vault CURATOR_API_KEY=sk-... npm run http-server
20
- *
21
- * API Examples:
22
- * GET http://localhost:3100/ # Info
23
- * GET http://localhost:3100/status # Status
24
- * GET http://localhost:3100/curator/config
25
- * POST http://localhost:3100/curator/config
26
- * POST http://localhost:3100/curator/process
27
- */
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- require("dotenv/config");
30
- const http_server_js_1 = require("./api/http-server.js");
31
- async function main() {
32
- const outputPath = process.env.CURATOR_OUTPUT_PATH;
33
- const port = process.env.CURATOR_HTTP_PORT ? parseInt(process.env.CURATOR_HTTP_PORT) : 3100;
34
- if (!outputPath) {
35
- console.error('✗ CURATOR_OUTPUT_PATH is required');
36
- process.exit(1);
37
- }
38
- if (!process.env.CURATOR_API_KEY) {
39
- console.error('✗ CURATOR_API_KEY is required');
40
- process.exit(1);
41
- }
42
- const server = new http_server_js_1.CuratorHttpServer({
43
- port,
44
- apiConfig: {
45
- inputPath: process.env.CURATOR_INPUT_PATH,
46
- outputPath,
47
- provider: process.env.CURATOR_PROVIDER,
48
- model: process.env.CURATOR_MODEL,
49
- baseUrl: process.env.CURATOR_BASE_URL,
50
- },
51
- });
52
- await server.start();
53
- // Graceful shutdown
54
- process.on('SIGINT', async () => {
55
- console.log('\n\n Shutting down...');
56
- await server.stop();
57
- process.exit(0);
58
- });
59
- process.on('SIGTERM', async () => {
60
- console.log('\n\n Shutting down...');
61
- await server.stop();
62
- process.exit(0);
63
- });
64
- }
65
- main().catch((err) => {
66
- console.error('Fatal error:', err);
67
- process.exit(1);
68
- });
69
- //# sourceMappingURL=http-server-main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-server-main.js","sourceRoot":"","sources":["../src/http-server-main.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;AAEH,yBAAuB;AACvB,yDAAyD;AAEzD,KAAK,UAAU,IAAI;IACf,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5F,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,kCAAiB,CAAC;QACjC,IAAI;QACJ,SAAS,EAAE;YACP,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YACzC,UAAU;YACV,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YACtC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;YAChC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;SACxC;KACJ,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
package/dist/server.d.ts DELETED
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * curator-codex-agent — Unified MCP Server (Stdio + HTTP)
4
- *
5
- * Dual-transport MCP server for maximum flexibility:
6
- * - Stdio Transport (always active) — for Claude Desktop, local agents
7
- * - HTTP Transport (optional) — for remote clients
8
- *
9
- * Both transports can run simultaneously, allowing:
10
- * ✓ Claude Desktop (stdio) + remote clients (HTTP)
11
- * ✓ bk-agent embedding (stdio) + external tools (HTTP)
12
- *
13
- * Required env vars:
14
- * CURATOR_API_KEY — LLM API key
15
- * CURATOR_OUTPUT_PATH — vault path
16
- *
17
- * Optional:
18
- * CURATOR_HTTP_PORT — Enable HTTP transport on this port (e.g., 3101)
19
- * CURATOR_MODEL — LLM model (default: deepseek-reasoner)
20
- * CURATOR_BASE_URL — Custom LLM base URL
21
- *
22
- * Usage:
23
- * # Stdio only (default, for Claude Desktop)
24
- * npm start
25
- *
26
- * # Stdio + HTTP (for maximum flexibility)
27
- * CURATOR_HTTP_PORT=3101 npm start
28
- *
29
- * # Stdio + HTTP + verbose logging
30
- * DEBUG=* CURATOR_HTTP_PORT=3101 npm start
31
- */
32
- import 'dotenv/config';
33
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,eAAe,CAAC"}