@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.
- package/dist/analyzer.d.ts +1 -17
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +80 -163
- package/dist/analyzer.js.map +1 -1
- package/dist/audit.d.ts +27 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +43 -0
- package/dist/audit.js.map +1 -0
- package/dist/checksum.d.ts +0 -22
- package/dist/checksum.d.ts.map +1 -1
- package/dist/checksum.js +14 -103
- package/dist/checksum.js.map +1 -1
- package/dist/documentation-curator.d.ts +1 -1
- package/dist/documentation-curator.d.ts.map +1 -1
- package/dist/documentation-curator.js +79 -95
- package/dist/documentation-curator.js.map +1 -1
- package/dist/index.d.ts +19 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -22
- package/dist/index.js.map +1 -1
- package/dist/knowledge/embedder-worker.d.ts +2 -0
- package/dist/knowledge/embedder-worker.d.ts.map +1 -0
- package/dist/knowledge/embedder-worker.js +55 -0
- package/dist/knowledge/embedder-worker.js.map +1 -0
- package/dist/knowledge/engine.d.ts +10 -56
- package/dist/knowledge/engine.d.ts.map +1 -1
- package/dist/knowledge/engine.js +42 -153
- package/dist/knowledge/engine.js.map +1 -1
- package/dist/knowledge/rag-provider.d.ts +14 -56
- package/dist/knowledge/rag-provider.d.ts.map +1 -1
- package/dist/knowledge/rag-provider.js +63 -154
- package/dist/knowledge/rag-provider.js.map +1 -1
- package/dist/knowledge/synthesis.d.ts +0 -10
- package/dist/knowledge/synthesis.d.ts.map +1 -1
- package/dist/knowledge/synthesis.js +32 -77
- package/dist/knowledge/synthesis.js.map +1 -1
- package/dist/knowledge/transformers-embedder.d.ts +61 -0
- package/dist/knowledge/transformers-embedder.d.ts.map +1 -0
- package/dist/knowledge/transformers-embedder.js +222 -0
- package/dist/knowledge/transformers-embedder.js.map +1 -0
- package/dist/pdf-reader.d.ts +11 -0
- package/dist/pdf-reader.d.ts.map +1 -0
- package/dist/pdf-reader.js +21 -0
- package/dist/pdf-reader.js.map +1 -0
- package/dist/project.d.ts +28 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +88 -0
- package/dist/project.js.map +1 -0
- package/dist/providers/anthropic-adapter.d.ts +2 -2
- package/dist/providers/anthropic-adapter.d.ts.map +1 -1
- package/dist/providers/anthropic-adapter.js +7 -13
- package/dist/providers/anthropic-adapter.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +13 -20
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai-adapter.d.ts +2 -2
- package/dist/providers/openai-adapter.d.ts.map +1 -1
- package/dist/providers/openai-adapter.js +7 -13
- package/dist/providers/openai-adapter.js.map +1 -1
- package/dist/providers/types.d.ts +8 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +1 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -3
- package/dist/types.js.map +1 -1
- package/dist/vault-dedup.d.ts +35 -0
- package/dist/vault-dedup.d.ts.map +1 -0
- package/dist/vault-dedup.js +130 -0
- package/dist/vault-dedup.js.map +1 -0
- package/package.json +45 -58
- package/AGENT.md +0 -187
- package/README.md +0 -475
- package/dist/api/config.d.ts +0 -57
- package/dist/api/config.d.ts.map +0 -1
- package/dist/api/config.js +0 -183
- package/dist/api/config.js.map +0 -1
- package/dist/api/http-server.d.ts +0 -24
- package/dist/api/http-server.d.ts.map +0 -1
- package/dist/api/http-server.js +0 -108
- package/dist/api/http-server.js.map +0 -1
- package/dist/api/routes.d.ts +0 -8
- package/dist/api/routes.d.ts.map +0 -1
- package/dist/api/routes.js +0 -382
- package/dist/api/routes.js.map +0 -1
- package/dist/api/security.d.ts +0 -107
- package/dist/api/security.d.ts.map +0 -1
- package/dist/api/security.js +0 -200
- package/dist/api/security.js.map +0 -1
- package/dist/http-server-main.d.ts +0 -28
- package/dist/http-server-main.d.ts.map +0 -1
- package/dist/http-server-main.js +0 -69
- package/dist/http-server-main.js.map +0 -1
- package/dist/server.d.ts +0 -33
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -640
- package/dist/server.js.map +0 -1
- package/dist/watcher.d.ts +0 -26
- package/dist/watcher.d.ts.map +0 -1
- package/dist/watcher.js +0 -168
- package/dist/watcher.js.map +0 -1
package/dist/api/security.js
DELETED
|
@@ -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
|
package/dist/api/security.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/api/security.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBH,oDAqCC;AAQD,8CAeC;AA8CD,oCAuBC;AAID,kDAoBC;AAID,oCAmBC;AAWD,oDAOC;AApND,4EAA2C;AAC3C,6BAAwB;AACxB,oDAAsC;AAYtC;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,UAA8C,IAAI,GAAG,EAAE;IACxF,OAAO,CAAC,GAAyB,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACpE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAE7C,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,+CAA+C;YAC/C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACvE,OAAO,IAAI,EAAE,CAAC;YAClB,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACxB,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,yCAAyC;gBAClD,QAAQ,EAAE,8BAA8B;aAC3C,CAAC,CAAC;QACP,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB;QAEtD,wBAAwB;QACxB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAChD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACxB,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,wBAAwB;aACpC,CAAC,CAAC;QACP,CAAC;QAED,qDAAqD;QACrD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAEzD,GAAG,CAAC,IAAI,GAAG;YACP,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC;YACpB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;YAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC;QAEF,IAAI,EAAE,CAAC;IACX,CAAC,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,8EAA8E;AAE9E,SAAgB,iBAAiB,CAAC,WAAmB,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,MAAc,GAAG;IAClF,OAAO,IAAA,4BAAS,EAAC;QACb,QAAQ;QACR,GAAG;QACH,OAAO,EAAE;YACL,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE,8CAA8C;YACvD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACzC;QACD,eAAe,EAAE,IAAI,EAAE,oCAAoC;QAC3D,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YACV,uCAAuC;YACvC,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;QAClC,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,8EAA8E;AAEjE,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC7D,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;CAC9D,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpE,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CACzE,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC1D,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC1E,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAC7E,CAAC,CAAC;AAEU,QAAA,8BAA8B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACzE,KAAK,EAAM,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC9D,IAAI,EAAO,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACnE,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CAC5E,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACzE,QAAQ,EAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACpE,OAAO,EAAI,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CAClE,CAAC,CAAC;AASH;;GAEG;AACH,SAAgB,YAAY,CAAI,MAAmB;IAC/C,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACvD,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,GAAW,CAAC,aAAa,GAAG,SAAS,CAAC;YACvC,IAAI,EAAE,CAAC;QACX,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;gBAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACxB,KAAK,EAAE,mBAAmB;oBAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC1B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;wBACvB,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;qBACf,CAAC,CAAC;iBACN,CAAC,CAAC;YACP,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAG,GAAa,CAAC,OAAO;aAClC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED,8EAA8E;AAE9E,SAAgB,mBAAmB;IAC/B,OAAO,CAAC,GAAyB,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,cAAc;QACd,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,WAAW,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC;QAEnF,qBAAqB;QACrB,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,GAAG,CAAC,IAAI,GAAG,UAAU,IAAS;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACpC,OAAO,CAAC,GAAG,CACP,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,UAAU,KAAK,QAAQ,KAAK,CAChG,CAAC;YACF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,IAAI,EAAE,CAAC;IACX,CAAC,CAAC;AACN,CAAC;AAED,8EAA8E;AAE9E,SAAgB,YAAY,CACxB,GAAgB,EAChB,GAAY,EACZ,GAAa,EACb,IAAkB;IAElB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC;IACjC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,uBAAuB,CAAC;IAEvD,OAAO,CAAC,KAAK,CACT,WAAW,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,MAAM,MAAM,EAAE,EAC/C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CACvC,CAAC;IAEF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc;QACtD,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;KACtE,CAAC,CAAC;AACP,CAAC;AAWD,SAAgB,oBAAoB,CAAC,GAAyB;IAC1D,OAAO;QACH,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,WAAW;QACnC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;QAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAW;KAClE,CAAC;AACN,CAAC"}
|
|
@@ -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"}
|
package/dist/http-server-main.js
DELETED
|
@@ -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
|
package/dist/server.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,eAAe,CAAC"}
|