@vinkius-core/mcp-fusion 3.1.4 → 3.1.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.
Files changed (72) 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/createGroup.d.ts.map +1 -1
  52. package/dist/core/createGroup.js +17 -5
  53. package/dist/core/createGroup.js.map +1 -1
  54. package/dist/edge-stub.d.ts +73 -0
  55. package/dist/edge-stub.d.ts.map +1 -0
  56. package/dist/edge-stub.js +81 -0
  57. package/dist/edge-stub.js.map +1 -0
  58. package/dist/fsm/StateMachineGate.d.ts +20 -0
  59. package/dist/fsm/StateMachineGate.d.ts.map +1 -1
  60. package/dist/fsm/StateMachineGate.js +45 -1
  61. package/dist/fsm/StateMachineGate.js.map +1 -1
  62. package/dist/server/DevServer.d.ts.map +1 -1
  63. package/dist/server/DevServer.js +8 -2
  64. package/dist/server/DevServer.js.map +1 -1
  65. package/dist/server/ServerAttachment.d.ts.map +1 -1
  66. package/dist/server/ServerAttachment.js +27 -17
  67. package/dist/server/ServerAttachment.js.map +1 -1
  68. package/dist/server/startServer.d.ts +3 -0
  69. package/dist/server/startServer.d.ts.map +1 -1
  70. package/dist/server/startServer.js +49 -5
  71. package/dist/server/startServer.js.map +1 -1
  72. package/package.json +6 -2
@@ -0,0 +1,94 @@
1
+ /**
2
+ * `fusion lock` — generate or verify capability lockfile.
3
+ * @module
4
+ */
5
+ import { compileContracts } from '../../introspection/ToolContract.js';
6
+ import { generateLockfile, writeLockfile, readLockfile, checkLockfile, serializeLockfile, LOCKFILE_NAME, } from '../../introspection/CapabilityLockfile.js';
7
+ import { ProgressTracker } from '../progress.js';
8
+ import { MCP_FUSION_VERSION } from '../constants.js';
9
+ import { resolveRegistry } from '../registry.js';
10
+ import { inferServerEntry } from '../utils.js';
11
+ /** @internal exported for testing */
12
+ export async function commandLock(args, reporter) {
13
+ const progress = new ProgressTracker(reporter);
14
+ if (!args.server) {
15
+ const detected = inferServerEntry(args.cwd);
16
+ if (!detected) {
17
+ console.error('Error: Could not auto-detect server entrypoint.\n');
18
+ console.error('Usage: fusion lock --server ./src/server.ts');
19
+ process.exit(1);
20
+ }
21
+ args.server = detected;
22
+ }
23
+ // Step 1: Resolve & load
24
+ progress.start('resolve', 'Resolving server entrypoint');
25
+ const { registry, name: serverName, promptRegistry } = await resolveRegistry(args.server);
26
+ const displayName = args.name ?? serverName;
27
+ progress.done('resolve', `Resolving (${displayName})`);
28
+ // Step 2: Compile tool contracts
29
+ progress.start('compile', 'Compiling tool contracts');
30
+ const builders = [...registry.getBuilders()];
31
+ const contracts = await compileContracts(builders);
32
+ const toolCount = Object.keys(contracts).length;
33
+ progress.done('compile', 'Compiling tool contracts', `${toolCount} tool${toolCount !== 1 ? 's' : ''}`);
34
+ // Step 3: Discover prompts
35
+ progress.start('prompts', 'Discovering prompts');
36
+ const promptBuilders = [];
37
+ if (promptRegistry && typeof promptRegistry.getBuilders === 'function') {
38
+ promptBuilders.push(...promptRegistry.getBuilders());
39
+ }
40
+ const options = promptBuilders.length > 0 ? { prompts: promptBuilders } : undefined;
41
+ const promptCount = promptBuilders.length;
42
+ progress.done('prompts', 'Discovering prompts', `${promptCount} prompt${promptCount !== 1 ? 's' : ''}`);
43
+ if (args.check) {
44
+ // ── Check Mode ──
45
+ progress.start('read', 'Reading existing lockfile');
46
+ const existing = await readLockfile(args.cwd);
47
+ if (!existing) {
48
+ progress.fail('read', 'Reading existing lockfile', `${LOCKFILE_NAME} not found — run: fusion lock`);
49
+ process.exit(1);
50
+ }
51
+ progress.done('read', 'Reading existing lockfile');
52
+ progress.start('verify', 'Verifying integrity');
53
+ const result = await checkLockfile(existing, contracts);
54
+ if (result.ok) {
55
+ progress.done('verify', 'Verifying integrity', 'up to date');
56
+ console.log(`\n✓ ${LOCKFILE_NAME} is up to date.`);
57
+ process.exit(0);
58
+ }
59
+ else {
60
+ progress.fail('verify', 'Verifying integrity', 'stale');
61
+ console.error(`\n✗ ${result.message}`);
62
+ if (result.added.length > 0)
63
+ console.error(` + Tools added: ${result.added.join(', ')}`);
64
+ if (result.removed.length > 0)
65
+ console.error(` - Tools removed: ${result.removed.join(', ')}`);
66
+ if (result.changed.length > 0)
67
+ console.error(` ~ Tools changed: ${result.changed.join(', ')}`);
68
+ if (result.addedPrompts.length > 0)
69
+ console.error(` + Prompts added: ${result.addedPrompts.join(', ')}`);
70
+ if (result.removedPrompts.length > 0)
71
+ console.error(` - Prompts removed: ${result.removedPrompts.join(', ')}`);
72
+ if (result.changedPrompts.length > 0)
73
+ console.error(` ~ Prompts changed: ${result.changedPrompts.join(', ')}`);
74
+ process.exit(1);
75
+ }
76
+ }
77
+ else {
78
+ // ── Generate Mode ──
79
+ progress.start('generate', 'Computing behavioral digests');
80
+ const lockfile = await generateLockfile(displayName, contracts, MCP_FUSION_VERSION, options);
81
+ progress.done('generate', 'Computing behavioral digests');
82
+ progress.start('write', `Writing ${LOCKFILE_NAME}`);
83
+ await writeLockfile(lockfile, args.cwd);
84
+ progress.done('write', `Writing ${LOCKFILE_NAME}`);
85
+ const tc = Object.keys(lockfile.capabilities.tools).length;
86
+ const pc = lockfile.capabilities.prompts ? Object.keys(lockfile.capabilities.prompts).length : 0;
87
+ const parts = [`${tc} tool${tc !== 1 ? 's' : ''}`];
88
+ if (pc > 0)
89
+ parts.push(`${pc} prompt${pc !== 1 ? 's' : ''}`);
90
+ console.log(`\n✓ ${LOCKFILE_NAME} generated (${parts.join(', ')}).`);
91
+ console.log(` Integrity: ${lockfile.integrityDigest}`);
92
+ }
93
+ }
94
+ //# sourceMappingURL=lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../src/cli/commands/lock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CliArgs } from '../args.js';
2
+ export declare function commandRemote(args: CliArgs): Promise<void>;
3
+ //# sourceMappingURL=remote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/remote.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChE"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * `fusion remote` — manage .fusionrc cloud configuration.
3
+ * @module
4
+ */
5
+ import { resolve } from 'node:path';
6
+ import { ansi, VINKIUS_CLOUD_URL } from '../constants.js';
7
+ import { FUSIONRC, readFusionRc, writeFusionRc } from '../rc.js';
8
+ export async function commandRemote(args) {
9
+ const cwd = args.cwd;
10
+ // fusion remote <url> [--server-id <id>] — set one or both at once
11
+ // fusion remote --server-id <id> — uses default Vinkius Cloud URL
12
+ if (args.remoteUrl || args.serverId) {
13
+ const remote = args.remoteUrl ?? VINKIUS_CLOUD_URL;
14
+ writeFusionRc(cwd, {
15
+ remote,
16
+ ...(args.serverId ? { serverId: args.serverId } : {}),
17
+ });
18
+ process.stderr.write(` ${ansi.green('✓')} Remote set to ${ansi.cyan(remote)}${remote === VINKIUS_CLOUD_URL ? ansi.dim(' (default)') : ''}\n`);
19
+ if (args.serverId) {
20
+ process.stderr.write(` ${ansi.green('✓')} Server ID set to ${ansi.cyan(args.serverId)}\n`);
21
+ }
22
+ return;
23
+ }
24
+ // fusion remote — print current config
25
+ const config = readFusionRc(cwd);
26
+ if (!config.remote && !config.serverId) {
27
+ process.stderr.write(` ${ansi.yellow('⚠')} No remote configured.\n\n`);
28
+ process.stderr.write(` ${ansi.dim('Quick setup:')}\n`);
29
+ process.stderr.write(` ${ansi.cyan('$')} fusion remote --server-id <uuid>\n\n`);
30
+ return;
31
+ }
32
+ process.stderr.write(`\n ${ansi.bold('Remote Configuration')}\n\n`);
33
+ process.stderr.write(` ${ansi.dim('API:')} ${config.remote ?? ansi.yellow('not set')}\n`);
34
+ process.stderr.write(` ${ansi.dim('Server:')} ${config.serverId ?? ansi.yellow('not set')}\n`);
35
+ process.stderr.write(` ${ansi.dim('Config:')} ${resolve(cwd, FUSIONRC)}\n\n`);
36
+ }
37
+ //# sourceMappingURL=remote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/cli/commands/remote.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAa;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAErB,mEAAmE;IACnE,yEAAyE;IACzE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC;QAEnD,aAAa,CAAC,GAAG,EAAE;YACf,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/I,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChG,CAAC;QACD,OAAO;IACX,CAAC;IAED,uCAAuC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACnF,OAAO;IACX,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtF,CAAC"}
@@ -0,0 +1,19 @@
1
+ /** @internal exported for testing */
2
+ export declare const ansi: {
3
+ readonly cyan: (s: string) => string;
4
+ readonly green: (s: string) => string;
5
+ readonly yellow: (s: string) => string;
6
+ readonly dim: (s: string) => string;
7
+ readonly bold: (s: string) => string;
8
+ readonly red: (s: string) => string;
9
+ readonly reset: "\u001B[0m";
10
+ };
11
+ /** @internal exported for testing */
12
+ export declare const MCP_FUSION_VERSION = "1.1.0";
13
+ /** Default API endpoint — Vinkius Cloud production */
14
+ export declare const VINKIUS_CLOUD_URL = "https://cloud.vinkius.com";
15
+ export declare const VALID_TRANSPORTS: readonly ["stdio", "sse"];
16
+ export declare const VALID_VECTORS: readonly ["vanilla", "prisma", "n8n", "openapi", "oauth"];
17
+ /** @internal exported for testing */
18
+ export declare const HELP: string;
19
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAQA,qCAAqC;AACrC,eAAO,MAAM,IAAI;uBACD,MAAM,KAAG,MAAM;wBACf,MAAM,KAAG,MAAM;yBACf,MAAM,KAAG,MAAM;sBACf,MAAM,KAAG,MAAM;uBACf,MAAM,KAAG,MAAM;sBACf,MAAM,KAAG,MAAM;;CAErB,CAAC;AAIX,qCAAqC;AACrC,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAI7D,eAAO,MAAM,gBAAgB,2BAA4B,CAAC;AAC1D,eAAO,MAAM,aAAa,2DAA4D,CAAC;AAIvF,qCAAqC;AACrC,eAAO,MAAM,IAAI,QA0DT,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * CLI constants — version, help text, ANSI styling.
3
+ * @module
4
+ */
5
+ import { LOCKFILE_NAME } from '../introspection/CapabilityLockfile.js';
6
+ // ─── ANSI Styling (zero dependencies) ────────────────────────────
7
+ /** @internal exported for testing */
8
+ export const ansi = {
9
+ cyan: (s) => `\x1b[36m${s}\x1b[0m`,
10
+ green: (s) => `\x1b[32m${s}\x1b[0m`,
11
+ yellow: (s) => `\x1b[33m${s}\x1b[0m`,
12
+ dim: (s) => `\x1b[2m${s}\x1b[0m`,
13
+ bold: (s) => `\x1b[1m${s}\x1b[0m`,
14
+ red: (s) => `\x1b[31m${s}\x1b[0m`,
15
+ reset: '\x1b[0m',
16
+ };
17
+ // ─── Version ─────────────────────────────────────────────────────
18
+ /** @internal exported for testing */
19
+ export const MCP_FUSION_VERSION = '1.1.0';
20
+ /** Default API endpoint — Vinkius Cloud production */
21
+ export const VINKIUS_CLOUD_URL = 'https://cloud.vinkius.com';
22
+ // ─── Validation Constants ────────────────────────────────────────
23
+ export const VALID_TRANSPORTS = ['stdio', 'sse'];
24
+ export const VALID_VECTORS = ['vanilla', 'prisma', 'n8n', 'openapi', 'oauth'];
25
+ // ─── Help Text ───────────────────────────────────────────────────
26
+ /** @internal exported for testing */
27
+ export const HELP = `
28
+ fusion — MCP Fusion CLI
29
+
30
+ USAGE
31
+ fusion create <name> Scaffold a new MCP Fusion server
32
+ fusion dev --server <entry> Start HMR dev server with auto-reload
33
+ fusion lock Generate or update ${LOCKFILE_NAME}
34
+ fusion lock --check Verify lockfile is up to date (CI gate)
35
+ fusion deploy Bundle, compress & deploy to Edge
36
+ fusion remote Show current remote configuration
37
+ fusion inspect Launch the real-time TUI dashboard
38
+ fusion insp --demo Launch TUI with built-in simulator
39
+
40
+ CREATE OPTIONS
41
+ --transport <stdio|sse> Transport layer (default: stdio)
42
+ --vector <type> Ingestion vector: vanilla, prisma, n8n, openapi, oauth
43
+ --testing Include test suite (default: true)
44
+ --no-testing Skip test suite
45
+ --yes, -y Skip prompts, use defaults
46
+
47
+ DEV OPTIONS
48
+ --server, -s <path> Path to server entrypoint (default: auto-detect)
49
+ --dir, -d <path> Directory to watch for changes (default: auto-detect from server)
50
+
51
+ DEPLOY OPTIONS
52
+ --server, -s <path> Path to server entrypoint (default: auto-detect)
53
+ --token <token> Override FUSION_DEPLOY_TOKEN (connection token)
54
+
55
+ REMOTE OPTIONS
56
+ fusion remote <url> Override API endpoint (default: Vinkius Cloud)
57
+ fusion remote --server-id <id> Set target server UUID
58
+
59
+ INSPECTOR OPTIONS
60
+ --demo, -d Launch with built-in simulator (no server needed)
61
+ --out, -o <mode> Output: tui (default), stderr (headless ECS/K8s)
62
+ --pid, -p <pid> Connect to a specific server PID
63
+ --path <path> Custom IPC socket/pipe path
64
+
65
+ LOCK OPTIONS
66
+ --server, -s <path> Path to server entrypoint
67
+ --name, -n <name> Server name for lockfile header
68
+ --cwd <dir> Project root directory
69
+
70
+ GLOBAL
71
+ --help, -h Show this help message
72
+
73
+ EXAMPLES
74
+ fusion create my-server
75
+ fusion create my-server -y
76
+ fusion create my-server --vector prisma --transport sse
77
+ fusion dev --server ./src/server.ts
78
+ fusion dev --server ./src/server.ts --dir ./src/tools
79
+ fusion lock --server ./src/server.ts
80
+ fusion deploy
81
+ fusion remote --server-id abc-123-def
82
+ fusion remote http://localhost:8080 --server-id abc-123-def
83
+ fusion inspect --demo
84
+ fusion insp --pid 12345
85
+ `.trim();
86
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEvE,oEAAoE;AAEpE,qCAAqC;AACrC,MAAM,CAAC,MAAM,IAAI,GAAG;IAChB,IAAI,EAAI,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,KAAK,EAAG,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,MAAM,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,GAAG,EAAK,CAAC,CAAS,EAAU,EAAE,CAAC,UAAU,CAAC,SAAS;IACnD,IAAI,EAAI,CAAC,CAAS,EAAU,EAAE,CAAC,UAAU,CAAC,SAAS;IACnD,GAAG,EAAK,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,KAAK,EAAE,SAAS;CACV,CAAC;AAEX,oEAAoE;AAEpE,qCAAqC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAE7D,oEAAoE;AAEpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAEvF,oEAAoE;AAEpE,qCAAqC;AACrC,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;2DAMuC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDvE,CAAC,IAAI,EAAE,CAAC"}
@@ -1,133 +1,15 @@
1
1
  #!/usr/bin/env node
2
- import { type PromptBuilderLike } from '../introspection/CapabilityLockfile.js';
3
- import type { ProjectConfig, IngestionVector, TransportLayer } from './types.js';
4
- /** @internal exported for testing */
5
- export declare const ansi: {
6
- readonly cyan: (s: string) => string;
7
- readonly green: (s: string) => string;
8
- readonly dim: (s: string) => string;
9
- readonly bold: (s: string) => string;
10
- readonly red: (s: string) => string;
11
- readonly reset: "\u001B[0m";
12
- };
13
- /**
14
- * Step status for CLI progress reporting.
15
- * @internal
16
- */
17
- export type StepStatus = 'pending' | 'running' | 'done' | 'failed';
18
- /**
19
- * A progress step emitted during CLI operations.
20
- * @internal
21
- */
22
- export interface ProgressStep {
23
- /** Step identifier */
24
- readonly id: string;
25
- /** Human-readable label */
26
- readonly label: string;
27
- /** Current status */
28
- readonly status: StepStatus;
29
- /** Optional detail (e.g. "12 tools, 3 prompts") */
30
- readonly detail?: string;
31
- /** Duration in milliseconds (set when done/failed) */
32
- readonly durationMs?: number;
33
- }
34
- /**
35
- * Callback that receives progress updates.
36
- * Default implementation writes to stderr like Composer / Yarn.
37
- * @internal
38
- */
39
- export type ProgressReporter = (step: ProgressStep) => void;
40
- /**
41
- * Create the default pretty-print progress reporter.
42
- * Output goes to stderr so it doesn't pollute piped stdout.
43
- * @internal exported for testing
44
- */
45
- export declare function createDefaultReporter(): ProgressReporter;
46
- /**
47
- * A progress tracker that drives step-by-step progress reporting.
48
- * @internal exported for testing
49
- */
50
- export declare class ProgressTracker {
51
- private readonly reporter;
52
- private startTimes;
53
- constructor(reporter?: ProgressReporter);
54
- /** Mark a step as running */
55
- start(id: string, label: string): void;
56
- /** Mark a step as completed */
57
- done(id: string, label: string, detail?: string): void;
58
- /** Mark a step as failed */
59
- fail(id: string, label: string, detail?: string): void;
60
- private elapsed;
61
- }
62
- /** @internal exported for testing */
63
- export declare const MCP_FUSION_VERSION = "1.1.0";
64
- /** @internal exported for testing */
65
- export declare const HELP: string;
66
- /** @internal exported for testing */
67
- export interface CliArgs {
68
- command: string;
69
- check: boolean;
70
- server: string | undefined;
71
- name: string | undefined;
72
- cwd: string;
73
- help: boolean;
74
- projectName: string | undefined;
75
- transport: TransportLayer | undefined;
76
- vector: IngestionVector | undefined;
77
- testing: boolean | undefined;
78
- yes: boolean;
79
- dir: string | undefined;
80
- }
81
- /** @internal exported for testing */
82
- export declare function parseArgs(argv: string[]): CliArgs;
83
- /**
84
- * Duck-typed interface for objects that can provide tool builders.
85
- * Supports both ToolRegistry and FusionInstance.
86
- */
87
- /** @internal exported for testing */
88
- export interface RegistryLike {
89
- getBuilders(): Iterable<import('../core/types.js').ToolBuilder<unknown>>;
90
- }
91
- /**
92
- * Duck-typed interface for objects that can provide prompt builders.
93
- * Supports PromptRegistry.
94
- */
95
- /** @internal exported for testing */
96
- export interface PromptRegistryLike {
97
- getBuilders?(): Iterable<PromptBuilderLike>;
98
- }
99
- /**
100
- * Attempt to load and resolve a tool registry from a server entrypoint.
101
- *
102
- * Supports common export patterns:
103
- * - `export const registry = new ToolRegistry()`
104
- * - `export default { registry }`
105
- * - `export const fusion = initFusion()`
106
- *
107
- * @internal
108
- */
109
- /** @internal exported for testing */
110
- export declare function resolveRegistry(serverPath: string): Promise<{
111
- registry: RegistryLike;
112
- name: string;
113
- promptRegistry?: PromptRegistryLike;
114
- }>;
115
- /** @internal exported for testing */
116
- export declare function commandLock(args: CliArgs, reporter?: ProgressReporter): Promise<void>;
117
- /** @internal exported for testing */
118
- export declare function commandDev(args: CliArgs, reporter?: ProgressReporter): Promise<void>;
119
- /**
120
- * Ask a question via readline with styled ANSI output.
121
- * @internal exported for testing
122
- */
123
- export declare function ask(rl: {
124
- question: (q: string, cb: (a: string) => void) => void;
125
- }, prompt: string, fallback: string): Promise<string>;
126
- /**
127
- * Collect project config — either from flags or interactive prompts.
128
- * @internal exported for testing
129
- */
130
- export declare function collectConfig(args: CliArgs): Promise<ProjectConfig | null>;
131
- /** @internal exported for testing */
132
- export declare function commandCreate(args: CliArgs, reporter?: ProgressReporter): Promise<void>;
2
+ import { commandLock } from './commands/lock.js';
3
+ import { commandDev } from './commands/dev.js';
4
+ import { commandCreate } from './commands/create.js';
5
+ export { parseArgs } from './args.js';
6
+ export type { CliArgs } from './args.js';
7
+ export { MCP_FUSION_VERSION, HELP, ansi } from './constants.js';
8
+ export type { StepStatus, ProgressStep, ProgressReporter } from './progress.js';
9
+ export { ProgressTracker, createDefaultReporter } from './progress.js';
10
+ export type { RegistryLike, PromptRegistryLike } from './registry.js';
11
+ export { resolveRegistry } from './registry.js';
12
+ export { collectConfig } from './commands/create.js';
13
+ export { commandLock, commandDev, commandCreate };
14
+ export { ask } from './utils.js';
133
15
  //# sourceMappingURL=fusion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fusion.d.ts","sourceRoot":"","sources":["../../src/cli/fusion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fusion.d.ts","sourceRoot":"","sources":["../../src/cli/fusion.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC"}