@telora/mcp-products 0.22.3 → 0.22.6
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/handlers/connectorHandlers.js +22 -227
- package/dist/handlers/connectorHandlers.js.map +1 -1
- package/dist/handlers/daemonConfig.d.ts +81 -0
- package/dist/handlers/daemonConfig.js +303 -0
- package/dist/handlers/daemonConfig.js.map +1 -0
- package/dist/handlers/productHandlers.js +35 -1
- package/dist/handlers/productHandlers.js.map +1 -1
- package/package.json +1 -1
- package/dist/scanner/ast-extraction.d.ts +0 -10
- package/dist/scanner/ast-extraction.js +0 -156
- package/dist/scanner/ast-extraction.js.map +0 -1
- package/dist/scanner/file-discovery.d.ts +0 -9
- package/dist/scanner/file-discovery.js +0 -134
- package/dist/scanner/file-discovery.js.map +0 -1
- package/dist/scanner/index.d.ts +0 -19
- package/dist/scanner/index.js +0 -193
- package/dist/scanner/index.js.map +0 -1
- package/dist/scanner/relationship-extraction.d.ts +0 -11
- package/dist/scanner/relationship-extraction.js +0 -187
- package/dist/scanner/relationship-extraction.js.map +0 -1
- package/dist/scanner/types.d.ts +0 -45
- package/dist/scanner/types.js +0 -3
- package/dist/scanner/types.js.map +0 -1
|
@@ -2,145 +2,10 @@
|
|
|
2
2
|
// Daemon connector tool handler: telora_connector_start
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
4
|
import { join, basename } from "node:path";
|
|
5
|
-
import { existsSync, writeFileSync, mkdirSync, readFileSync
|
|
6
|
-
import { spawn, execFileSync } from "node:child_process";
|
|
7
|
-
import { homedir } from "node:os";
|
|
5
|
+
import { existsSync, writeFileSync, mkdirSync, readFileSync } from "node:fs";
|
|
8
6
|
import { z } from "zod";
|
|
9
7
|
import { callProductApi, successResult, wrapHandler, } from "../shared.js";
|
|
10
|
-
|
|
11
|
-
// Note: productId is NOT here -- it's been replaced by the products array.
|
|
12
|
-
const IDENTITY_KEYS = ["teloraUrl", "trackerId", "organizationId"];
|
|
13
|
-
/**
|
|
14
|
-
* Merge a fresh daemon config into an existing one.
|
|
15
|
-
*
|
|
16
|
-
* - Identity keys are always overwritten.
|
|
17
|
-
* - Products array: if the fresh product is already in the array, update its
|
|
18
|
-
* repoPath if different; if missing, append the new entry.
|
|
19
|
-
* - Legacy flat `productId` + `repoPath` are migrated into the products array.
|
|
20
|
-
* - Engine sections are only added if missing.
|
|
21
|
-
* - Everything else the user has customized is preserved.
|
|
22
|
-
*
|
|
23
|
-
* Returns { config, action } where action indicates what happened:
|
|
24
|
-
* 'created' -- first-time config (no existing file)
|
|
25
|
-
* 'added' -- new product appended to existing config
|
|
26
|
-
* 'updated' -- existing product's repoPath changed
|
|
27
|
-
* 'no_change' -- product already registered with same repoPath
|
|
28
|
-
*/
|
|
29
|
-
function mergeConfig(existing, freshProduct, fresh) {
|
|
30
|
-
const merged = { ...existing };
|
|
31
|
-
// Always overwrite identity keys
|
|
32
|
-
for (const key of IDENTITY_KEYS) {
|
|
33
|
-
if (key in fresh) {
|
|
34
|
-
merged[key] = fresh[key];
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
// Migrate legacy flat productId + repoPath into products array
|
|
38
|
-
let products = Array.isArray(merged.products)
|
|
39
|
-
? merged.products
|
|
40
|
-
: [];
|
|
41
|
-
if (products.length === 0 && typeof merged.productId === "string" && merged.productId) {
|
|
42
|
-
// Legacy single-product config -- migrate to products array
|
|
43
|
-
const legacyRepoPath = typeof merged.repoPath === "string" ? merged.repoPath : process.cwd();
|
|
44
|
-
products = [{ id: merged.productId, repoPath: legacyRepoPath }];
|
|
45
|
-
}
|
|
46
|
-
// Remove legacy flat keys (superseded by products array)
|
|
47
|
-
delete merged.productId;
|
|
48
|
-
delete merged.repoPath;
|
|
49
|
-
// Upsert the fresh product into the array
|
|
50
|
-
let action;
|
|
51
|
-
const idx = products.findIndex((p) => p.id === freshProduct.id);
|
|
52
|
-
if (idx >= 0) {
|
|
53
|
-
if (products[idx].repoPath !== freshProduct.repoPath) {
|
|
54
|
-
products[idx] = { ...products[idx], repoPath: freshProduct.repoPath };
|
|
55
|
-
action = "updated";
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
action = "no_change";
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
products.push(freshProduct);
|
|
63
|
-
action = "added";
|
|
64
|
-
}
|
|
65
|
-
merged.products = products;
|
|
66
|
-
// Engines: add missing sections, never overwrite existing ones
|
|
67
|
-
const freshEngines = fresh.engines;
|
|
68
|
-
if (freshEngines) {
|
|
69
|
-
if (!merged.engines) {
|
|
70
|
-
merged.engines = freshEngines;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
const existingEngines = merged.engines;
|
|
74
|
-
for (const engineKey of Object.keys(freshEngines)) {
|
|
75
|
-
if (!(engineKey in existingEngines)) {
|
|
76
|
-
existingEngines[engineKey] = freshEngines[engineKey];
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return { config: merged, action };
|
|
82
|
-
}
|
|
83
|
-
/** Read the daemon PID from .telora/daemon.pid. Returns null if missing or invalid. */
|
|
84
|
-
function readPidFile(teloraDir) {
|
|
85
|
-
const pidPath = join(teloraDir, "daemon.pid");
|
|
86
|
-
try {
|
|
87
|
-
const raw = readFileSync(pidPath, "utf-8").trim();
|
|
88
|
-
const pid = parseInt(raw, 10);
|
|
89
|
-
return Number.isFinite(pid) && pid > 0 ? pid : null;
|
|
90
|
-
}
|
|
91
|
-
catch {
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/** Check if a process is alive (signal 0 existence check). */
|
|
96
|
-
function isProcessAlive(pid) {
|
|
97
|
-
try {
|
|
98
|
-
process.kill(pid, 0);
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
|
-
catch {
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/** Stop the daemon gracefully: SIGTERM, poll for exit, SIGKILL fallback. */
|
|
106
|
-
async function stopDaemon(teloraDir) {
|
|
107
|
-
const pid = readPidFile(teloraDir);
|
|
108
|
-
if (pid === null) {
|
|
109
|
-
return { stopped: false, message: "No PID file found" };
|
|
110
|
-
}
|
|
111
|
-
if (!isProcessAlive(pid)) {
|
|
112
|
-
return { stopped: false, pid, message: "Process not running" };
|
|
113
|
-
}
|
|
114
|
-
// Send SIGTERM
|
|
115
|
-
try {
|
|
116
|
-
process.kill(pid, "SIGTERM");
|
|
117
|
-
}
|
|
118
|
-
catch {
|
|
119
|
-
return { stopped: false, pid, message: "Failed to send SIGTERM" };
|
|
120
|
-
}
|
|
121
|
-
// Poll every 300ms for up to 10s
|
|
122
|
-
const deadline = Date.now() + 10_000;
|
|
123
|
-
while (Date.now() < deadline) {
|
|
124
|
-
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
125
|
-
if (!isProcessAlive(pid)) {
|
|
126
|
-
return { stopped: true, pid, message: "Stopped with SIGTERM" };
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
// SIGKILL fallback
|
|
130
|
-
try {
|
|
131
|
-
process.kill(pid, "SIGKILL");
|
|
132
|
-
}
|
|
133
|
-
catch {
|
|
134
|
-
// Process may have exited between last check and kill
|
|
135
|
-
if (!isProcessAlive(pid)) {
|
|
136
|
-
return { stopped: true, pid, message: "Stopped with SIGTERM (late exit)" };
|
|
137
|
-
}
|
|
138
|
-
return { stopped: false, pid, message: "Failed to send SIGKILL" };
|
|
139
|
-
}
|
|
140
|
-
// Brief wait after SIGKILL
|
|
141
|
-
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
142
|
-
return { stopped: true, pid, message: "Stopped with SIGKILL" };
|
|
143
|
-
}
|
|
8
|
+
import { mergeConfig, readPidFile, isProcessAlive, stopDaemon, startDaemon, resolveDaemonPaths, } from "./daemonConfig.js";
|
|
144
9
|
export function registerConnectorTools(server, getCreds, profile = 'full') {
|
|
145
10
|
// -- telora_connector_start -------------------------------------------------
|
|
146
11
|
server.tool("telora_connector_start", "Daemon automation: generate configuration and launch the Telora daemon for autonomous agent execution. " +
|
|
@@ -214,13 +79,8 @@ export function registerConnectorTools(server, getCreds, profile = 'full') {
|
|
|
214
79
|
// - Prefer global ~/.telora/daemon.json when it already exists
|
|
215
80
|
// (multi-product: one daemon config for all repos)
|
|
216
81
|
// - Fall back to repo-local .telora/daemon.json for first-time setup
|
|
217
|
-
const
|
|
218
|
-
const
|
|
219
|
-
const localTeloraDir = join(repoPath, ".telora");
|
|
220
|
-
const localConfigPath = join(localTeloraDir, "daemon.json");
|
|
221
|
-
const useGlobal = existsSync(globalConfigPath);
|
|
222
|
-
const configPath = useGlobal ? globalConfigPath : localConfigPath;
|
|
223
|
-
const teloraDir = useGlobal ? globalTeloraDir : localTeloraDir;
|
|
82
|
+
const paths = resolveDaemonPaths(repoPath);
|
|
83
|
+
const { configPath, teloraDir, globalDir: globalTeloraDir, localDir: localTeloraDir } = paths;
|
|
224
84
|
mkdirSync(teloraDir, { recursive: true });
|
|
225
85
|
// 2. Merge with existing config to preserve user customizations
|
|
226
86
|
let finalConfig;
|
|
@@ -294,87 +154,23 @@ export function registerConnectorTools(server, getCreds, profile = 'full') {
|
|
|
294
154
|
}
|
|
295
155
|
const previousPid = stopResult.stopped ? stopResult.pid : undefined;
|
|
296
156
|
// 6. Start the daemon as a detached background process.
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
const logPath = join(teloraDir, "daemon.log");
|
|
300
|
-
const logFd = openSync(logPath, "a");
|
|
301
|
-
let daemonCommand;
|
|
302
|
-
let daemonArgs;
|
|
303
|
-
let daemonSource;
|
|
304
|
-
// Pass --config when using global config so the daemon finds it
|
|
305
|
-
const configArgs = useGlobal ? ["--config", configPath] : [];
|
|
306
|
-
// Option 1: Local dev build (monorepo development)
|
|
307
|
-
const localDevPath = join(process.cwd(), "packages/daemon/dist/index.js");
|
|
308
|
-
// Option 2: Project node_modules (npm install --save-dev @telora/daemon)
|
|
309
|
-
const nodeModulesPath = join(process.cwd(), "node_modules/.bin/telora-daemon");
|
|
310
|
-
if (existsSync(localDevPath)) {
|
|
311
|
-
daemonCommand = process.execPath;
|
|
312
|
-
daemonArgs = [localDevPath, "run", "--no-auto-update", ...configArgs];
|
|
313
|
-
daemonSource = "local";
|
|
314
|
-
}
|
|
315
|
-
else if (existsSync(nodeModulesPath)) {
|
|
316
|
-
daemonCommand = nodeModulesPath;
|
|
317
|
-
daemonArgs = ["run", "--no-auto-update", ...configArgs];
|
|
318
|
-
daemonSource = "node_modules";
|
|
319
|
-
}
|
|
320
|
-
else {
|
|
321
|
-
// Option 3: npx resolution -- resolve the cached binary path then spawn directly.
|
|
322
|
-
// npx as a detached background process doesn't work reliably, but we can
|
|
323
|
-
// use npx to resolve the cached binary path and run it with node.
|
|
324
|
-
let resolvedDaemonPath = null;
|
|
325
|
-
try {
|
|
326
|
-
resolvedDaemonPath = execFileSync("npx", ["-y", "-p", "@telora/daemon@latest", "which", "telora-daemon"], { encoding: "utf-8", timeout: 30_000 }).trim() || null;
|
|
327
|
-
}
|
|
328
|
-
catch {
|
|
329
|
-
// npx not available or package can't be resolved
|
|
330
|
-
}
|
|
331
|
-
if (!resolvedDaemonPath) {
|
|
332
|
-
return {
|
|
333
|
-
content: [{
|
|
334
|
-
type: "text",
|
|
335
|
-
text: "Could not locate telora-daemon. Install it as a dev dependency:\n" +
|
|
336
|
-
" npm install --save-dev @telora/daemon\n" +
|
|
337
|
-
"Then try again.",
|
|
338
|
-
}],
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
daemonCommand = resolvedDaemonPath;
|
|
342
|
-
daemonArgs = ["run", "--no-auto-update", ...configArgs];
|
|
343
|
-
daemonSource = "npx";
|
|
344
|
-
}
|
|
345
|
-
const daemonProcess = spawn(daemonCommand, daemonArgs, {
|
|
346
|
-
detached: true,
|
|
347
|
-
stdio: ["ignore", logFd, logFd],
|
|
348
|
-
env: { ...process.env, TELORA_TRACKER_ID: whoami.trackerId },
|
|
349
|
-
cwd: process.cwd(),
|
|
157
|
+
const startResult = await startDaemon(paths, {
|
|
158
|
+
extraEnv: { TELORA_TRACKER_ID: whoami.trackerId },
|
|
350
159
|
});
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
try {
|
|
359
|
-
process.kill(pid, 0); // signal 0 = existence check only
|
|
360
|
-
alive = true;
|
|
361
|
-
}
|
|
362
|
-
catch {
|
|
363
|
-
// ESRCH = no such process
|
|
160
|
+
if (startResult.status === "binary_not_found") {
|
|
161
|
+
return {
|
|
162
|
+
content: [{
|
|
163
|
+
type: "text",
|
|
164
|
+
text: startResult.errorMessage ?? "telora-daemon not found",
|
|
165
|
+
}],
|
|
166
|
+
};
|
|
364
167
|
}
|
|
365
|
-
if (
|
|
366
|
-
let logTail = "";
|
|
367
|
-
try {
|
|
368
|
-
const logContent = readFileSync(logPath, "utf-8");
|
|
369
|
-
const lines = logContent.trim().split("\n");
|
|
370
|
-
logTail = lines.slice(-30).join("\n");
|
|
371
|
-
}
|
|
372
|
-
catch { /* ignore */ }
|
|
168
|
+
if (startResult.status === "exit_failed") {
|
|
373
169
|
return {
|
|
374
170
|
content: [{
|
|
375
171
|
type: "text",
|
|
376
|
-
text: `Daemon process (PID ${pid}) exited immediately after start.\n\n` +
|
|
377
|
-
`Last log output:\n${logTail || "(no log output — check " + logPath + ")"}`,
|
|
172
|
+
text: `Daemon process (PID ${startResult.pid}) exited immediately after start.\n\n` +
|
|
173
|
+
`Last log output:\n${startResult.logTail || "(no log output — check " + startResult.logPath + ")"}`,
|
|
378
174
|
}],
|
|
379
175
|
};
|
|
380
176
|
}
|
|
@@ -383,13 +179,13 @@ export function registerConnectorTools(server, getCreds, profile = 'full') {
|
|
|
383
179
|
configAction: mergeAction,
|
|
384
180
|
productCount,
|
|
385
181
|
configPath,
|
|
386
|
-
logPath,
|
|
387
|
-
pid,
|
|
182
|
+
logPath: startResult.logPath,
|
|
183
|
+
pid: startResult.pid,
|
|
388
184
|
previousPid,
|
|
389
185
|
gitignoreUpdated,
|
|
390
186
|
organizationId: whoami.organizationId,
|
|
391
187
|
productId,
|
|
392
|
-
daemonSource,
|
|
188
|
+
daemonSource: startResult.daemonSource,
|
|
393
189
|
autoCreatedProduct,
|
|
394
190
|
});
|
|
395
191
|
}));
|
|
@@ -397,11 +193,10 @@ export function registerConnectorTools(server, getCreds, profile = 'full') {
|
|
|
397
193
|
if (profile !== 'human') {
|
|
398
194
|
server.tool("telora_connector_stop", "Daemon lifecycle: stop the running Telora daemon gracefully (SIGTERM with SIGKILL fallback).", {}, wrapHandler(async () => {
|
|
399
195
|
// Try global config location first, fall back to repo-local
|
|
400
|
-
const
|
|
401
|
-
let result = await stopDaemon(
|
|
196
|
+
const paths = resolveDaemonPaths(process.cwd());
|
|
197
|
+
let result = await stopDaemon(paths.globalDir);
|
|
402
198
|
if (!result.stopped) {
|
|
403
|
-
|
|
404
|
-
result = await stopDaemon(localTeloraDir);
|
|
199
|
+
result = await stopDaemon(paths.localDir);
|
|
405
200
|
}
|
|
406
201
|
if (result.stopped) {
|
|
407
202
|
return successResult({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectorHandlers.js","sourceRoot":"","sources":["../../src/handlers/connectorHandlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connectorHandlers.js","sourceRoot":"","sources":["../../src/handlers/connectorHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export interface ProductEntry {
|
|
2
|
+
id: string;
|
|
3
|
+
repoPath: string;
|
|
4
|
+
}
|
|
5
|
+
export interface DaemonPaths {
|
|
6
|
+
globalDir: string;
|
|
7
|
+
globalPath: string;
|
|
8
|
+
localDir: string;
|
|
9
|
+
localPath: string;
|
|
10
|
+
/** True when ~/.telora/daemon.json exists; daemon prefers global when both are present. */
|
|
11
|
+
useGlobal: boolean;
|
|
12
|
+
/** Resolved config path (global if it exists, else local). */
|
|
13
|
+
configPath: string;
|
|
14
|
+
/** Resolved .telora/ dir matching configPath. */
|
|
15
|
+
teloraDir: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function resolveDaemonPaths(repoPath: string): DaemonPaths;
|
|
18
|
+
/**
|
|
19
|
+
* Merge a fresh daemon config into an existing one.
|
|
20
|
+
*
|
|
21
|
+
* - Identity keys are always overwritten.
|
|
22
|
+
* - Products array: if the fresh product is already in the array, update its
|
|
23
|
+
* repoPath if different; if missing, append the new entry.
|
|
24
|
+
* - Legacy flat `productId` + `repoPath` are migrated into the products array.
|
|
25
|
+
* - Engine sections are only added if missing.
|
|
26
|
+
* - Everything else the user has customized is preserved.
|
|
27
|
+
*/
|
|
28
|
+
export declare function mergeConfig(existing: Record<string, unknown>, freshProduct: ProductEntry, fresh: Record<string, unknown>): {
|
|
29
|
+
config: Record<string, unknown>;
|
|
30
|
+
action: "added" | "updated" | "no_change";
|
|
31
|
+
};
|
|
32
|
+
/** Read the daemon PID from .telora/daemon.pid. Returns null if missing or invalid. */
|
|
33
|
+
export declare function readPidFile(teloraDir: string): number | null;
|
|
34
|
+
/** Check if a process is alive (signal 0 existence check). */
|
|
35
|
+
export declare function isProcessAlive(pid: number): boolean;
|
|
36
|
+
/** Stop the daemon gracefully: SIGTERM, poll for exit, SIGKILL fallback. */
|
|
37
|
+
export declare function stopDaemon(teloraDir: string): Promise<{
|
|
38
|
+
stopped: boolean;
|
|
39
|
+
pid?: number;
|
|
40
|
+
message?: string;
|
|
41
|
+
}>;
|
|
42
|
+
export interface StartDaemonResult {
|
|
43
|
+
status: "started" | "exit_failed" | "binary_not_found";
|
|
44
|
+
pid?: number;
|
|
45
|
+
logPath: string;
|
|
46
|
+
daemonSource?: "local" | "node_modules" | "npx";
|
|
47
|
+
errorMessage?: string;
|
|
48
|
+
logTail?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Spawn the telora-daemon as a detached background process.
|
|
52
|
+
* Resolution order: local dev build > project node_modules > npx.
|
|
53
|
+
*/
|
|
54
|
+
export declare function startDaemon(paths: DaemonPaths, options?: {
|
|
55
|
+
extraEnv?: Record<string, string>;
|
|
56
|
+
}): Promise<StartDaemonResult>;
|
|
57
|
+
export interface AddProductResult {
|
|
58
|
+
written: boolean;
|
|
59
|
+
configAction?: "added" | "updated" | "no_change";
|
|
60
|
+
configPath?: string;
|
|
61
|
+
/** Reason daemon config was not written (skipped). */
|
|
62
|
+
skippedReason?: "no_config" | "repo_path_in_use";
|
|
63
|
+
/** True if the daemon was alive and got restarted. */
|
|
64
|
+
restarted: boolean;
|
|
65
|
+
newPid?: number;
|
|
66
|
+
previousPid?: number;
|
|
67
|
+
daemonSource?: "local" | "node_modules" | "npx";
|
|
68
|
+
startError?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Register a newly created product in the daemon config and restart the daemon
|
|
72
|
+
* if it is running. Used by telora_product create.
|
|
73
|
+
*
|
|
74
|
+
* Behavior:
|
|
75
|
+
* - If no daemon config exists, skip (caller is expected to call telora_connector_start).
|
|
76
|
+
* - If repoPath is already used by another product entry, skip (one repo cannot
|
|
77
|
+
* back two products in the same daemon).
|
|
78
|
+
* - Otherwise upsert the product entry, write the config, and if the daemon is
|
|
79
|
+
* running, stop+start it so the new product is picked up immediately.
|
|
80
|
+
*/
|
|
81
|
+
export declare function addProductToDaemonConfig(productId: string, repoPath: string): Promise<AddProductResult>;
|