@vinkius-core/mcp-fusion 3.1.3 → 3.1.5

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 (76) hide show
  1. package/dist/cli/args.d.ts +26 -0
  2. package/dist/cli/args.d.ts.map +1 -0
  3. package/dist/cli/args.js +100 -0
  4. package/dist/cli/args.js.map +1 -0
  5. package/dist/cli/commands/create.d.ts +11 -0
  6. package/dist/cli/commands/create.d.ts.map +1 -0
  7. package/dist/cli/commands/create.js +121 -0
  8. package/dist/cli/commands/create.js.map +1 -0
  9. package/dist/cli/commands/deploy.d.ts +3 -0
  10. package/dist/cli/commands/deploy.d.ts.map +1 -0
  11. package/dist/cli/commands/deploy.js +234 -0
  12. package/dist/cli/commands/deploy.js.map +1 -0
  13. package/dist/cli/commands/dev.d.ts +9 -0
  14. package/dist/cli/commands/dev.d.ts.map +1 -0
  15. package/dist/cli/commands/dev.js +54 -0
  16. package/dist/cli/commands/dev.js.map +1 -0
  17. package/dist/cli/commands/lock.d.ts +5 -0
  18. package/dist/cli/commands/lock.d.ts.map +1 -0
  19. package/dist/cli/commands/lock.js +94 -0
  20. package/dist/cli/commands/lock.js.map +1 -0
  21. package/dist/cli/commands/remote.d.ts +3 -0
  22. package/dist/cli/commands/remote.d.ts.map +1 -0
  23. package/dist/cli/commands/remote.js +37 -0
  24. package/dist/cli/commands/remote.js.map +1 -0
  25. package/dist/cli/constants.d.ts +19 -0
  26. package/dist/cli/constants.d.ts.map +1 -0
  27. package/dist/cli/constants.js +86 -0
  28. package/dist/cli/constants.js.map +1 -0
  29. package/dist/cli/fusion.d.ts +13 -131
  30. package/dist/cli/fusion.d.ts.map +1 -1
  31. package/dist/cli/fusion.js +27 -642
  32. package/dist/cli/fusion.js.map +1 -1
  33. package/dist/cli/progress.d.ts +34 -0
  34. package/dist/cli/progress.d.ts.map +1 -0
  35. package/dist/cli/progress.js +102 -0
  36. package/dist/cli/progress.js.map +1 -0
  37. package/dist/cli/rc.d.ts +11 -0
  38. package/dist/cli/rc.d.ts.map +1 -0
  39. package/dist/cli/rc.js +66 -0
  40. package/dist/cli/rc.js.map +1 -0
  41. package/dist/cli/registry.d.ts +25 -0
  42. package/dist/cli/registry.d.ts.map +1 -0
  43. package/dist/cli/registry.js +86 -0
  44. package/dist/cli/registry.js.map +1 -0
  45. package/dist/cli/types.d.ts +7 -0
  46. package/dist/cli/types.d.ts.map +1 -1
  47. package/dist/cli/utils.d.ts +26 -0
  48. package/dist/cli/utils.d.ts.map +1 -0
  49. package/dist/cli/utils.js +63 -0
  50. package/dist/cli/utils.js.map +1 -0
  51. package/dist/core/builder/ToolDefinitionCompiler.js +1 -1
  52. package/dist/core/builder/ToolDefinitionCompiler.js.map +1 -1
  53. package/dist/core/schema/DescriptionGenerator.d.ts +1 -1
  54. package/dist/core/schema/DescriptionGenerator.d.ts.map +1 -1
  55. package/dist/core/schema/DescriptionGenerator.js +4 -2
  56. package/dist/core/schema/DescriptionGenerator.js.map +1 -1
  57. package/dist/core/schema/ToonDescriptionGenerator.d.ts +1 -1
  58. package/dist/core/schema/ToonDescriptionGenerator.d.ts.map +1 -1
  59. package/dist/core/schema/ToonDescriptionGenerator.js +3 -3
  60. package/dist/core/schema/ToonDescriptionGenerator.js.map +1 -1
  61. package/dist/edge-stub.d.ts +73 -0
  62. package/dist/edge-stub.d.ts.map +1 -0
  63. package/dist/edge-stub.js +81 -0
  64. package/dist/edge-stub.js.map +1 -0
  65. package/dist/fsm/StateMachineGate.d.ts +5 -0
  66. package/dist/fsm/StateMachineGate.d.ts.map +1 -1
  67. package/dist/fsm/StateMachineGate.js +19 -1
  68. package/dist/fsm/StateMachineGate.js.map +1 -1
  69. package/dist/server/DevServer.d.ts.map +1 -1
  70. package/dist/server/DevServer.js +8 -2
  71. package/dist/server/DevServer.js.map +1 -1
  72. package/dist/server/startServer.d.ts +3 -0
  73. package/dist/server/startServer.d.ts.map +1 -1
  74. package/dist/server/startServer.js +47 -0
  75. package/dist/server/startServer.js.map +1 -1
  76. package/package.json +6 -2
@@ -1 +1 @@
1
- {"version":3,"file":"fusion.js","sourceRoot":"","sources":["../../src/cli/fusion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fusion.js","sourceRoot":"","sources":["../../src/cli/fusion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * CLI progress reporting — animated spinner, step tracking.
3
+ *
4
+ * Drives Composer/Yarn-style step output with a live spinner
5
+ * that cycles while a step is running, so the user always sees
6
+ * movement and knows the CLI hasn't frozen.
7
+ *
8
+ * @module
9
+ */
10
+ /** @internal */
11
+ export type StepStatus = 'pending' | 'running' | 'done' | 'failed';
12
+ /** @internal */
13
+ export interface ProgressStep {
14
+ readonly id: string;
15
+ readonly label: string;
16
+ readonly status: StepStatus;
17
+ readonly detail?: string;
18
+ readonly durationMs?: number;
19
+ }
20
+ /** @internal */
21
+ export type ProgressReporter = (step: ProgressStep) => void;
22
+ /** @internal exported for testing */
23
+ export declare function createDefaultReporter(): ProgressReporter;
24
+ /** @internal exported for testing */
25
+ export declare class ProgressTracker {
26
+ private readonly reporter;
27
+ private startTimes;
28
+ constructor(reporter?: ProgressReporter);
29
+ start(id: string, label: string): void;
30
+ done(id: string, label: string, detail?: string): void;
31
+ fail(id: string, label: string, detail?: string): void;
32
+ private elapsed;
33
+ }
34
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/cli/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnE,gBAAgB;AAChB,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;AAS5D,qCAAqC;AACrC,wBAAgB,qBAAqB,IAAI,gBAAgB,CAsDxD;AAID,qCAAqC;AACrC,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,UAAU,CAA6B;gBAEnC,QAAQ,CAAC,EAAE,gBAAgB;IAIvC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKtC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAStD,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAStD,OAAO,CAAC,OAAO;CAMlB"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * CLI progress reporting — animated spinner, step tracking.
3
+ *
4
+ * Drives Composer/Yarn-style step output with a live spinner
5
+ * that cycles while a step is running, so the user always sees
6
+ * movement and knows the CLI hasn't frozen.
7
+ *
8
+ * @module
9
+ */
10
+ // ─── Spinner ─────────────────────────────────────────────────────
11
+ const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
12
+ const SPINNER_INTERVAL_MS = 80;
13
+ // ─── Default Reporter ────────────────────────────────────────────
14
+ /** @internal exported for testing */
15
+ export function createDefaultReporter() {
16
+ let spinnerTimer;
17
+ let frameIndex = 0;
18
+ let currentLine = '';
19
+ function clearLine() {
20
+ if (currentLine) {
21
+ process.stderr.write(`\r\x1b[2K`);
22
+ currentLine = '';
23
+ }
24
+ }
25
+ function startSpinner(label) {
26
+ stopSpinner();
27
+ frameIndex = 0;
28
+ const render = () => {
29
+ const frame = SPINNER_FRAMES[frameIndex % SPINNER_FRAMES.length];
30
+ currentLine = ` ${frame} ${label}...`;
31
+ process.stderr.write(`\r\x1b[2K${currentLine}`);
32
+ frameIndex++;
33
+ };
34
+ render();
35
+ spinnerTimer = setInterval(render, SPINNER_INTERVAL_MS);
36
+ // Don't let the spinner timer prevent process exit (important in tests)
37
+ if (spinnerTimer && typeof spinnerTimer === 'object' && 'unref' in spinnerTimer) {
38
+ spinnerTimer.unref();
39
+ }
40
+ }
41
+ function stopSpinner() {
42
+ if (spinnerTimer) {
43
+ clearInterval(spinnerTimer);
44
+ spinnerTimer = undefined;
45
+ }
46
+ clearLine();
47
+ }
48
+ return (step) => {
49
+ switch (step.status) {
50
+ case 'running':
51
+ startSpinner(step.label);
52
+ break;
53
+ case 'done':
54
+ stopSpinner();
55
+ process.stderr.write(` \x1b[32m✓\x1b[0m ${step.label}\n`);
56
+ break;
57
+ case 'failed': {
58
+ stopSpinner();
59
+ const detail = step.detail ? ` — ${step.detail}` : '';
60
+ process.stderr.write(` \x1b[31m✗\x1b[0m ${step.label}${detail}\n`);
61
+ break;
62
+ }
63
+ }
64
+ };
65
+ }
66
+ // ─── Tracker ─────────────────────────────────────────────────────
67
+ /** @internal exported for testing */
68
+ export class ProgressTracker {
69
+ reporter;
70
+ startTimes = new Map();
71
+ constructor(reporter) {
72
+ this.reporter = reporter ?? createDefaultReporter();
73
+ }
74
+ start(id, label) {
75
+ this.startTimes.set(id, Date.now());
76
+ this.reporter({ id, label, status: 'running' });
77
+ }
78
+ done(id, label, detail) {
79
+ const durationMs = this.elapsed(id);
80
+ this.reporter({
81
+ id, label, status: 'done',
82
+ ...(detail !== undefined ? { detail } : {}),
83
+ ...(durationMs !== undefined ? { durationMs } : {}),
84
+ });
85
+ }
86
+ fail(id, label, detail) {
87
+ const durationMs = this.elapsed(id);
88
+ this.reporter({
89
+ id, label, status: 'failed',
90
+ ...(detail !== undefined ? { detail } : {}),
91
+ ...(durationMs !== undefined ? { durationMs } : {}),
92
+ });
93
+ }
94
+ elapsed(id) {
95
+ const start = this.startTimes.get(id);
96
+ if (start === undefined)
97
+ return undefined;
98
+ this.startTimes.delete(id);
99
+ return Date.now() - start;
100
+ }
101
+ }
102
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/cli/progress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { RemoteConfig } from './types.js';
2
+ export declare const FUSIONRC = ".fusionrc";
3
+ /** Load .env file from cwd into process.env (won't overwrite existing). */
4
+ export declare function loadEnv(cwd: string): void;
5
+ /** Ensure .fusionrc is listed in .gitignore. */
6
+ export declare function ensureGitignore(cwd: string): void;
7
+ /** Read .fusionrc from project root. */
8
+ export declare function readFusionRc(cwd: string): Partial<RemoteConfig>;
9
+ /** Write .fusionrc and ensure .gitignore coverage. */
10
+ export declare function writeFusionRc(cwd: string, config: Partial<RemoteConfig>): void;
11
+ //# sourceMappingURL=rc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rc.d.ts","sourceRoot":"","sources":["../../src/cli/rc.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,eAAO,MAAM,QAAQ,cAAc,CAAC;AAIpC,2EAA2E;AAC3E,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAazC;AAID,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAYjD;AAID,wCAAwC;AACxC,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAQ/D;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAK9E"}
package/dist/cli/rc.js ADDED
@@ -0,0 +1,66 @@
1
+ /**
2
+ * .fusionrc management — local cloud config, .env loading.
3
+ * @module
4
+ */
5
+ import { resolve } from 'node:path';
6
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
7
+ import { ansi } from './constants.js';
8
+ // ─── Constants ───────────────────────────────────────────────────
9
+ export const FUSIONRC = '.fusionrc';
10
+ // ─── Environment ─────────────────────────────────────────────────
11
+ /** Load .env file from cwd into process.env (won't overwrite existing). */
12
+ export function loadEnv(cwd) {
13
+ try {
14
+ const content = readFileSync(resolve(cwd, '.env'), 'utf-8');
15
+ for (const line of content.split('\n')) {
16
+ const trimmed = line.trim();
17
+ if (!trimmed || trimmed.startsWith('#'))
18
+ continue;
19
+ const eq = trimmed.indexOf('=');
20
+ if (eq === -1)
21
+ continue;
22
+ const key = trimmed.slice(0, eq).trim();
23
+ const val = trimmed.slice(eq + 1).trim().replace(/^["']|["']$/g, '');
24
+ if (!process.env[key])
25
+ process.env[key] = val;
26
+ }
27
+ }
28
+ catch { /* No .env file — env vars may be set directly (CI/CD) */ }
29
+ }
30
+ // ─── .gitignore ──────────────────────────────────────────────────
31
+ /** Ensure .fusionrc is listed in .gitignore. */
32
+ export function ensureGitignore(cwd) {
33
+ const gitignorePath = resolve(cwd, '.gitignore');
34
+ try {
35
+ const content = existsSync(gitignorePath)
36
+ ? readFileSync(gitignorePath, 'utf-8')
37
+ : '';
38
+ if (!content.split('\n').some(l => l.trim() === FUSIONRC)) {
39
+ const nl = content.length > 0 && !content.endsWith('\n') ? '\n' : '';
40
+ writeFileSync(gitignorePath, `${content}${nl}${FUSIONRC}\n`);
41
+ process.stderr.write(` ${ansi.yellow('⚠')} Added ${FUSIONRC} to .gitignore\n`);
42
+ }
43
+ }
44
+ catch { /* No git project — skip silently */ }
45
+ }
46
+ // ─── Read / Write ────────────────────────────────────────────────
47
+ /** Read .fusionrc from project root. */
48
+ export function readFusionRc(cwd) {
49
+ const rcPath = resolve(cwd, FUSIONRC);
50
+ if (!existsSync(rcPath))
51
+ return {};
52
+ try {
53
+ return JSON.parse(readFileSync(rcPath, 'utf-8'));
54
+ }
55
+ catch {
56
+ return {};
57
+ }
58
+ }
59
+ /** Write .fusionrc and ensure .gitignore coverage. */
60
+ export function writeFusionRc(cwd, config) {
61
+ const existing = readFusionRc(cwd);
62
+ const merged = { ...existing, ...config };
63
+ writeFileSync(resolve(cwd, FUSIONRC), JSON.stringify(merged, null, 2) + '\n');
64
+ ensureGitignore(cwd);
65
+ }
66
+ //# sourceMappingURL=rc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rc.js","sourceRoot":"","sources":["../../src/cli/rc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { PromptBuilderLike } from '../introspection/CapabilityLockfile.js';
2
+ /** @internal exported for testing */
3
+ export interface RegistryLike {
4
+ getBuilders(): Iterable<import('../core/types.js').ToolBuilder<unknown>>;
5
+ }
6
+ /** @internal exported for testing */
7
+ export interface PromptRegistryLike {
8
+ getBuilders?(): Iterable<PromptBuilderLike>;
9
+ }
10
+ /**
11
+ * Attempt to load and resolve a tool registry from a server entrypoint.
12
+ *
13
+ * Supports common export patterns:
14
+ * - `export const registry = new ToolRegistry()`
15
+ * - `export default { registry }`
16
+ * - `export const fusion = initFusion()`
17
+ *
18
+ * @internal exported for testing
19
+ */
20
+ export declare function resolveRegistry(serverPath: string): Promise<{
21
+ registry: RegistryLike;
22
+ name: string;
23
+ promptRegistry?: PromptRegistryLike;
24
+ }>;
25
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAIhF,qCAAqC;AACrC,MAAM,WAAW,YAAY;IACzB,WAAW,IAAI,QAAQ,CAAC,OAAO,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5E;AAED,qCAAqC;AACrC,MAAM,WAAW,kBAAkB;IAC/B,WAAW,CAAC,IAAI,QAAQ,CAAC,iBAAiB,CAAC,CAAC;CAC/C;AAID;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC,CA2EhJ"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Registry resolution — load and resolve ToolRegistry from server entrypoint.
3
+ * @module
4
+ */
5
+ import { resolve } from 'node:path';
6
+ import { pathToFileURL } from 'node:url';
7
+ // ─── Resolution ──────────────────────────────────────────────────
8
+ /**
9
+ * Attempt to load and resolve a tool registry from a server entrypoint.
10
+ *
11
+ * Supports common export patterns:
12
+ * - `export const registry = new ToolRegistry()`
13
+ * - `export default { registry }`
14
+ * - `export const fusion = initFusion()`
15
+ *
16
+ * @internal exported for testing
17
+ */
18
+ export async function resolveRegistry(serverPath) {
19
+ const absolutePath = resolve(serverPath);
20
+ const fileUrl = pathToFileURL(absolutePath).href;
21
+ // Register tsx loader so dynamic import() can handle .ts files
22
+ if (absolutePath.endsWith('.ts')) {
23
+ try {
24
+ const { createRequire } = await import('node:module');
25
+ const userRequire = createRequire(absolutePath);
26
+ const tsxApiPath = userRequire.resolve('tsx/esm/api');
27
+ const { register } = await import(pathToFileURL(tsxApiPath).href);
28
+ register();
29
+ }
30
+ catch {
31
+ // tsx not available — fall through
32
+ }
33
+ }
34
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
35
+ const mod = await import(fileUrl);
36
+ /** Extract prompt registry from a module-like object */
37
+ function extractPrompts(obj) {
38
+ for (const key of ['promptRegistry', 'prompts', 'promptsRegistry']) {
39
+ const candidate = obj[key];
40
+ if (candidate && typeof candidate === 'object' && candidate !== null) {
41
+ return candidate;
42
+ }
43
+ }
44
+ return undefined;
45
+ }
46
+ // Strategy 1: Named `registry` export (ToolRegistry pattern)
47
+ if (mod.registry && typeof mod.registry.getBuilders === 'function') {
48
+ const pr = extractPrompts(mod);
49
+ return {
50
+ registry: mod.registry,
51
+ name: mod.serverName ?? 'mcp-fusion-server',
52
+ ...(pr ? { promptRegistry: pr } : {}),
53
+ };
54
+ }
55
+ // Strategy 2: Named `fusion` export (initFusion pattern)
56
+ if (mod.fusion && mod.fusion.registry && typeof mod.fusion.registry.getBuilders === 'function') {
57
+ const pr = extractPrompts(mod.fusion);
58
+ return {
59
+ registry: mod.fusion.registry,
60
+ name: mod.fusion.name ?? 'mcp-fusion-server',
61
+ ...(pr ? { promptRegistry: pr } : {}),
62
+ };
63
+ }
64
+ // Strategy 3: Default export with registry
65
+ if (mod.default) {
66
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
67
+ const def = mod.default;
68
+ if (def.registry && typeof def.registry.getBuilders === 'function') {
69
+ const pr = extractPrompts(def);
70
+ return {
71
+ registry: def.registry,
72
+ name: def.serverName ?? 'mcp-fusion-server',
73
+ ...(pr ? { promptRegistry: pr } : {}),
74
+ };
75
+ }
76
+ if (typeof def.getBuilders === 'function') {
77
+ return { registry: def, name: 'mcp-fusion-server' };
78
+ }
79
+ }
80
+ throw new Error(`Could not resolve a ToolRegistry from "${serverPath}".\n` +
81
+ `Expected one of:\n` +
82
+ ` export const registry = new ToolRegistry() // named 'registry' with getBuilders()\n` +
83
+ ` export const fusion = initFusion() // named 'fusion' with .registry\n` +
84
+ ` export default { registry } // default export with .registry`);
85
+ }
86
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"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"}
@@ -26,4 +26,11 @@ export interface ProjectConfig {
26
26
  /** Include @vinkius-core/mcp-fusion-testing + Vitest */
27
27
  readonly testing: boolean;
28
28
  }
29
+ /** Remote cloud configuration stored in .fusionrc (token-free) */
30
+ export interface RemoteConfig {
31
+ /** API base URL (e.g., https://api.cloud.vinkius.com) */
32
+ readonly remote: string;
33
+ /** Target server UUID */
34
+ readonly serverId: string;
35
+ }
29
36
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0DAA0D;AAC1D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjF,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,KAAK,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IAEnC,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0DAA0D;AAC1D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjF,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,KAAK,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IAEnC,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC7B;AAED,kEAAkE;AAClE,MAAM,WAAW,YAAY;IACzB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC7B"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Auto-detect the server entrypoint by probing common file paths.
3
+ *
4
+ * Checks in order: `src/server.ts`, `src/index.ts`, `server.ts`, `index.ts`,
5
+ * and their `.js` counterparts.
6
+ *
7
+ * @internal
8
+ */
9
+ export declare function inferServerEntry(cwd: string): string | undefined;
10
+ /**
11
+ * Infer the watch directory from the server entrypoint path.
12
+ *
13
+ * Heuristic: if the server is in `src/server.ts`, watch `src/`.
14
+ * Falls back to the directory containing the entrypoint.
15
+ *
16
+ * @internal
17
+ */
18
+ export declare function inferWatchDir(serverPath: string): string;
19
+ /**
20
+ * Ask a question via readline with styled ANSI output.
21
+ * @internal exported for testing
22
+ */
23
+ export declare function ask(rl: {
24
+ question: (q: string, cb: (a: string) => void) => void;
25
+ }, prompt: string, fallback: string): Promise<string>;
26
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYhE;AAID;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAWxD;AAID;;;GAGG;AACH,wBAAgB,GAAG,CACf,EAAE,EAAE;IAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAA;CAAE,EAC9D,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAMjB"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * CLI utilities — server detection, watch dir inference.
3
+ * @module
4
+ */
5
+ import { resolve } from 'node:path';
6
+ import { existsSync } from 'node:fs';
7
+ import { ansi } from './constants.js';
8
+ // ─── Server Entry Detection ──────────────────────────────────────
9
+ /**
10
+ * Auto-detect the server entrypoint by probing common file paths.
11
+ *
12
+ * Checks in order: `src/server.ts`, `src/index.ts`, `server.ts`, `index.ts`,
13
+ * and their `.js` counterparts.
14
+ *
15
+ * @internal
16
+ */
17
+ export function inferServerEntry(cwd) {
18
+ const candidates = [
19
+ 'src/server.ts', 'src/index.ts',
20
+ 'src/server.js', 'src/index.js',
21
+ 'server.ts', 'index.ts',
22
+ 'server.js', 'index.js',
23
+ ];
24
+ for (const candidate of candidates) {
25
+ const fullPath = resolve(cwd, candidate);
26
+ if (existsSync(fullPath))
27
+ return fullPath;
28
+ }
29
+ return undefined;
30
+ }
31
+ // ─── Watch Dir Inference ─────────────────────────────────────────
32
+ /**
33
+ * Infer the watch directory from the server entrypoint path.
34
+ *
35
+ * Heuristic: if the server is in `src/server.ts`, watch `src/`.
36
+ * Falls back to the directory containing the entrypoint.
37
+ *
38
+ * @internal
39
+ */
40
+ export function inferWatchDir(serverPath) {
41
+ const dir = resolve(serverPath, '..');
42
+ const dirName = dir.split(/[\\/]/).pop() ?? '';
43
+ if (dirName === 'src')
44
+ return dir;
45
+ const parentDir = resolve(dir, '..');
46
+ const parentName = parentDir.split(/[\\/]/).pop() ?? '';
47
+ if (parentName === 'src')
48
+ return parentDir;
49
+ return dir;
50
+ }
51
+ // ─── Interactive Prompt ──────────────────────────────────────────
52
+ /**
53
+ * Ask a question via readline with styled ANSI output.
54
+ * @internal exported for testing
55
+ */
56
+ export function ask(rl, prompt, fallback) {
57
+ return new Promise((resolve) => {
58
+ rl.question(` ${ansi.cyan('◇')} ${prompt} ${ansi.dim(`(${fallback})`)} `, (answer) => {
59
+ resolve(answer.trim() || fallback);
60
+ });
61
+ });
62
+ }
63
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,oEAAoE;AAEpE;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IACxC,MAAM,UAAU,GAAG;QACf,eAAe,EAAE,cAAc;QAC/B,eAAe,EAAE,cAAc;QAC/B,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,UAAU;KAC1B,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,oEAAoE;AAEpE;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAE/C,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC;IAElC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACxD,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAE3C,OAAO,GAAG,CAAC;AACf,CAAC;AAED,oEAAoE;AAEpE;;;GAGG;AACH,MAAM,UAAU,GAAG,CACf,EAA8D,EAC9D,MAAc,EACd,QAAgB;IAEhB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,MAAc,EAAE,EAAE;YAC1F,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -24,7 +24,7 @@ export function compileToolDefinition(input) {
24
24
  }
25
25
  // ── Build-time strategies ────────────────────────────
26
26
  const descriptionFn = input.toonMode ? generateToonDescription : generateDescription;
27
- const description = descriptionFn(actions, name, input.description, input.hasGroup);
27
+ const description = descriptionFn(actions, name, input.description, input.hasGroup, discriminator);
28
28
  const inputSchema = generateInputSchema(actions, discriminator, input.hasGroup, commonSchema, input.selectEnabled);
29
29
  const annotations = aggregateAnnotations(actions, explicitAnnotations);
30
30
  const tool = { name, description, inputSchema };
@@ -1 +1 @@
1
- {"version":3,"file":"ToolDefinitionCompiler.js","sourceRoot":"","sources":["../../../src/core/builder/ToolDefinitionCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolDefinitionCompiler.js","sourceRoot":"","sources":["../../../src/core/builder/ToolDefinitionCompiler.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,5 @@
8
8
  * Pure-function module: no state, no side effects.
9
9
  */
10
10
  import { type InternalAction } from '../types.js';
11
- export declare function generateDescription<TContext>(actions: readonly InternalAction<TContext>[], name: string, description: string | undefined, hasGroup: boolean): string;
11
+ export declare function generateDescription<TContext>(actions: readonly InternalAction<TContext>[], name: string, description: string | undefined, hasGroup: boolean, discriminator?: string): string;
12
12
  //# sourceMappingURL=DescriptionGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DescriptionGenerator.d.ts","sourceRoot":"","sources":["../../../src/core/schema/DescriptionGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,wBAAgB,mBAAmB,CAAC,QAAQ,EACxC,OAAO,EAAE,SAAS,cAAc,CAAC,QAAQ,CAAC,EAAE,EAC5C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,OAAO,GAClB,MAAM,CA8BR"}
1
+ {"version":3,"file":"DescriptionGenerator.d.ts","sourceRoot":"","sources":["../../../src/core/schema/DescriptionGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,wBAAgB,mBAAmB,CAAC,QAAQ,EACxC,OAAO,EAAE,SAAS,cAAc,CAAC,QAAQ,CAAC,EAAE,EAC5C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,OAAO,EACjB,aAAa,SAAW,GACzB,MAAM,CAgCR"}
@@ -10,20 +10,22 @@
10
10
  import {} from '../types.js';
11
11
  import { getActionRequiredFields } from './SchemaUtils.js';
12
12
  // ── Public API ───────────────────────────────────────────
13
- export function generateDescription(actions, name, description, hasGroup) {
13
+ export function generateDescription(actions, name, description, hasGroup, discriminator = 'action') {
14
14
  const lines = [];
15
- // Layer 1: Tool description + action/module summary
15
+ // Layer 1: Tool description + action/module summary + dispatch instruction
16
16
  if (hasGroup) {
17
17
  const groups = getGroupSummaries(actions);
18
18
  const moduleList = groups
19
19
  .map(g => `${g.name} (${g.actions.join(',')})`)
20
20
  .join(' | ');
21
21
  lines.push(`${description || name}. ` +
22
+ `Select operation via the \`${discriminator}\` parameter. ` +
22
23
  `Modules: ${moduleList}`);
23
24
  }
24
25
  else {
25
26
  const actionNames = actions.map(a => a.key);
26
27
  lines.push(`${description || name}. ` +
28
+ `Select operation via the \`${discriminator}\` parameter. ` +
27
29
  `Actions: ${actionNames.join(', ')}`);
28
30
  }
29
31
  // Layer 2: Workflow section
@@ -1 +1 @@
1
- {"version":3,"file":"DescriptionGenerator.js","sourceRoot":"","sources":["../../../src/core/schema/DescriptionGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DescriptionGenerator.js","sourceRoot":"","sources":["../../../src/core/schema/DescriptionGenerator.ts"],"names":[],"mappings":"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"}