@lumenkey/cli 0.1.0

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 (52) hide show
  1. package/README.md +134 -0
  2. package/bin/lumenkey-mcp.js +7 -0
  3. package/bin/lumenkey.js +7 -0
  4. package/dist/cli/copied.d.ts +27 -0
  5. package/dist/cli/copied.d.ts.map +1 -0
  6. package/dist/cli/copied.js +489 -0
  7. package/dist/cli/copied.js.map +1 -0
  8. package/dist/cli/index.d.ts +2 -0
  9. package/dist/cli/index.d.ts.map +1 -0
  10. package/dist/cli/index.js +227 -0
  11. package/dist/cli/index.js.map +1 -0
  12. package/dist/core/client.d.ts +60 -0
  13. package/dist/core/client.d.ts.map +1 -0
  14. package/dist/core/client.js +227 -0
  15. package/dist/core/client.js.map +1 -0
  16. package/dist/core/config.d.ts +12 -0
  17. package/dist/core/config.d.ts.map +1 -0
  18. package/dist/core/config.js +97 -0
  19. package/dist/core/config.js.map +1 -0
  20. package/dist/core/explain.d.ts +23 -0
  21. package/dist/core/explain.d.ts.map +1 -0
  22. package/dist/core/explain.js +54 -0
  23. package/dist/core/explain.js.map +1 -0
  24. package/dist/core/poller.d.ts +19 -0
  25. package/dist/core/poller.d.ts.map +1 -0
  26. package/dist/core/poller.js +108 -0
  27. package/dist/core/poller.js.map +1 -0
  28. package/dist/core/profiles.d.ts +25 -0
  29. package/dist/core/profiles.d.ts.map +1 -0
  30. package/dist/core/profiles.js +96 -0
  31. package/dist/core/profiles.js.map +1 -0
  32. package/dist/core/set-values.d.ts +22 -0
  33. package/dist/core/set-values.d.ts.map +1 -0
  34. package/dist/core/set-values.js +141 -0
  35. package/dist/core/set-values.js.map +1 -0
  36. package/dist/core/types.d.ts +80 -0
  37. package/dist/core/types.d.ts.map +1 -0
  38. package/dist/core/types.js +6 -0
  39. package/dist/core/types.js.map +1 -0
  40. package/dist/core/wait.d.ts +7 -0
  41. package/dist/core/wait.d.ts.map +1 -0
  42. package/dist/core/wait.js +19 -0
  43. package/dist/core/wait.js.map +1 -0
  44. package/dist/index.d.ts +7 -0
  45. package/dist/index.d.ts.map +1 -0
  46. package/dist/index.js +7 -0
  47. package/dist/index.js.map +1 -0
  48. package/dist/mcp/server.d.ts +4 -0
  49. package/dist/mcp/server.d.ts.map +1 -0
  50. package/dist/mcp/server.js +346 -0
  51. package/dist/mcp/server.js.map +1 -0
  52. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-values.js","sourceRoot":"","sources":["../../src/core/set-values.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * LumenKey Core Types & Interfaces
3
+ * Fully aligned with LumenKey API OpenAPI specifications
4
+ */
5
+ export type JobStatus = 'accepted' | 'policy_checking' | 'queued' | 'submitting' | 'provider_running' | 'output_checking' | 'succeeded' | 'rejected' | 'failed' | 'cancelled' | 'expired';
6
+ export interface GenerationQuoteRequest {
7
+ modelId: string;
8
+ input: Record<string, unknown>;
9
+ }
10
+ export interface GenerationQuoteResponse {
11
+ quoteId: string;
12
+ modelId: string;
13
+ credits: number;
14
+ sellMinor?: number;
15
+ currency?: string;
16
+ expiresAt?: string;
17
+ }
18
+ export interface CreateGenerationJobRequest {
19
+ quoteId: string;
20
+ projectId?: string;
21
+ input: Record<string, unknown>;
22
+ externalUserId?: string;
23
+ requestId?: string;
24
+ }
25
+ export interface CreateGenerationJobResponse {
26
+ id: string;
27
+ jobId: string;
28
+ status: JobStatus;
29
+ credits?: number;
30
+ createdAt?: string;
31
+ }
32
+ export interface JobOutputItem {
33
+ assetId?: string;
34
+ outputIndex?: number;
35
+ type?: 'image' | 'video' | 'audio' | string;
36
+ url: string;
37
+ width?: number;
38
+ height?: number;
39
+ duration?: number;
40
+ }
41
+ export interface GenerationJobDetail {
42
+ id?: string;
43
+ jobId: string;
44
+ modelId: string;
45
+ status: JobStatus;
46
+ credits?: number;
47
+ resolvedRouteGroup?: string;
48
+ routeMultiplier?: string;
49
+ progress?: number;
50
+ outputs?: JobOutputItem[];
51
+ error?: Record<string, unknown> | string;
52
+ createdAt?: string;
53
+ updatedAt?: string;
54
+ }
55
+ export interface ModelPricingItem {
56
+ unit: string;
57
+ credits: number;
58
+ }
59
+ export interface ModelItem {
60
+ id: string;
61
+ displayName?: string;
62
+ name?: string;
63
+ capabilities?: string[];
64
+ type?: 'video' | 'image' | 'text' | 'audio' | 'other' | string;
65
+ pricing?: ModelPricingItem[];
66
+ inputSchema?: Record<string, unknown>;
67
+ outputSchema?: Record<string, unknown>;
68
+ }
69
+ export interface BillingBalance {
70
+ availableCredits: number;
71
+ reservedCredits: number;
72
+ updatedAt: string;
73
+ }
74
+ export interface LumenKeyConfig {
75
+ apiKey?: string;
76
+ baseUrl: string;
77
+ projectId?: string;
78
+ timeoutMs: number;
79
+ }
80
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * LumenKey Core Types & Interfaces
3
+ * Fully aligned with LumenKey API OpenAPI specifications
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,7 @@
1
+ import type { LumenKeyClient } from './client.js';
2
+ import type { GenerationJobDetail } from './types.js';
3
+ export declare function waitForJob(client: LumenKeyClient, jobId: string, options?: {
4
+ intervalMs?: number;
5
+ timeoutMs?: number;
6
+ }): Promise<GenerationJobDetail>;
7
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/core/wait.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,OAAO,CAAC,mBAAmB,CAAC,CAW9B"}
@@ -0,0 +1,19 @@
1
+ import { LumenKeyError } from './client.js';
2
+ const TERMINAL = new Set(['succeeded', 'failed', 'rejected', 'cancelled', 'expired']);
3
+ const MAX_TIMER_MS = 2_147_483_647;
4
+ export async function waitForJob(client, jobId, options = {}) {
5
+ const intervalMs = options.intervalMs ?? 5000;
6
+ const timeoutMs = options.timeoutMs ?? 1_800_000;
7
+ if (!Number.isFinite(intervalMs) || intervalMs < 0 || intervalMs > MAX_TIMER_MS || !Number.isFinite(timeoutMs) || timeoutMs < 0)
8
+ throw new LumenKeyError('WAIT_OPTIONS_INVALID');
9
+ const deadline = Date.now() + timeoutMs;
10
+ for (;;) {
11
+ const detail = await client.getJob(jobId);
12
+ if (TERMINAL.has(detail.status))
13
+ return detail;
14
+ if (Date.now() >= deadline)
15
+ throw new LumenKeyError('WAIT_TIMEOUT');
16
+ await new Promise((resolve) => setTimeout(resolve, Math.max(0, intervalMs)));
17
+ }
18
+ }
19
+ //# sourceMappingURL=wait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/core/wait.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACtF,MAAM,YAAY,GAAG,aAAa,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAsB,EACtB,KAAa,EACb,UAAuD,EAAE;IAEzD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,YAAY,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAAC;IACjL,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC/C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,MAAM,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './core/types.js';
2
+ export * from './core/config.js';
3
+ export * from './core/client.js';
4
+ export * from './core/poller.js';
5
+ export * from './mcp/server.js';
6
+ export * from './cli/index.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from './core/types.js';
2
+ export * from './core/config.js';
3
+ export * from './core/client.js';
4
+ export * from './core/poller.js';
5
+ export * from './mcp/server.js';
6
+ export * from './cli/index.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function createMcpServer(): McpServer;
3
+ export declare function runMcpStdio(): Promise<void>;
4
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWpE,wBAAgB,eAAe,IAAI,SAAS,CAqX3C;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAKjD"}
@@ -0,0 +1,346 @@
1
+ import crypto from 'node:crypto';
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
+ import { z } from 'zod';
5
+ import { loadConfig } from '../core/config.js';
6
+ import { LumenKeyClient } from '../core/client.js';
7
+ import { pollJob, downloadFile, assertJobResult } from '../core/poller.js';
8
+ import { explainModel } from '../core/explain.js';
9
+ import { waitForJob } from '../core/wait.js';
10
+ import { buildGenerationInput } from '../cli/copied.js';
11
+ import { applyKeyValues, validateKnownEnums } from '../core/set-values.js';
12
+ export function createMcpServer() {
13
+ const server = new McpServer({
14
+ name: 'lumenkey-mcp-server',
15
+ version: '0.1.0',
16
+ });
17
+ const config = loadConfig();
18
+ const client = new LumenKeyClient(config);
19
+ /**
20
+ * Tool: List available models
21
+ */
22
+ server.tool('lumenkey_list_models', 'List all available AI models (video, image, text) from LumenKey catalog with schemas and pricing', {
23
+ type: z.enum(['video', 'image', 'text', 'audio']).optional().describe('Filter models by type'),
24
+ }, async ({ type }) => {
25
+ try {
26
+ const models = await client.listModels(type);
27
+ return {
28
+ content: [
29
+ {
30
+ type: 'text',
31
+ text: JSON.stringify({
32
+ count: models.length,
33
+ models,
34
+ }, null, 2),
35
+ },
36
+ ],
37
+ };
38
+ }
39
+ catch (err) {
40
+ return {
41
+ isError: true,
42
+ content: [{ type: 'text', text: `Failed to list models: ${err.message}` }],
43
+ };
44
+ }
45
+ });
46
+ /**
47
+ * Tool: Generate Video (Seedance 2.0, Wan 3.0, etc.)
48
+ */
49
+ server.tool('lumenkey_generate_video', 'Generate a video using LumenKey models (e.g., doubao-seedance-2.0, wan3.0-video). Automatically polls and optionally downloads to a local path.', {
50
+ modelId: z.string().describe('Model ID (e.g. doubao-seedance-2.0, wan3.0-video)'),
51
+ prompt: z.string().describe('Text description of the video to generate'),
52
+ imageUrl: z.string().optional().describe('Optional source image URL for image-to-video'),
53
+ duration: z.number().optional().describe('Video duration in seconds (e.g. 5, 10)'),
54
+ resolution: z.string().optional().describe('Resolution declared by the model schema'),
55
+ ratio: z.string().optional().describe('Aspect ratio declared by the model schema'),
56
+ set: z.array(z.string()).optional().describe('Extra key=value pairs declared by the model schema'),
57
+ projectId: z.string().optional().describe('Leave empty. The client fills this.'),
58
+ confirm: z.boolean().optional().describe('Explicitly authorize billable submission; omitted means quote only'),
59
+ idempotencyKey: z.string().optional().describe('Optional. Generated when omitted. Do not ask the user for it'),
60
+ maxCredits: z.number().int().nonnegative().optional().describe('Maximum accepted quote credits'),
61
+ downloadPath: z.string().optional().describe('Local file path to save the generated MP4 video'),
62
+ }, async ({ modelId, prompt, imageUrl, duration, resolution, ratio, set, projectId, downloadPath, confirm, idempotencyKey, maxCredits }) => {
63
+ let createdJob;
64
+ try {
65
+ process.stderr.write(`[LumenKey MCP] Quoting video generation for ${modelId}...\n`);
66
+ const built = await buildGenerationInput(modelId, {
67
+ prompt,
68
+ duration,
69
+ resolution,
70
+ ratio,
71
+ image: imageUrl,
72
+ }, set || []);
73
+ const input = built.input;
74
+ validateKnownEnums(built.properties, input);
75
+ // Step 1: Quote
76
+ const quote = await client.getQuote({ modelId, input });
77
+ if (!confirm)
78
+ return { content: [{ type: 'text', text: JSON.stringify({ quote, requiresConfirmation: true, submitted: false }) }] };
79
+ if (maxCredits !== undefined && quote.credits > maxCredits)
80
+ throw new Error('QUOTE_CREDIT_LIMIT');
81
+ const key = (idempotencyKey == null ? '' : String(idempotencyKey)).trim() || crypto.randomUUID();
82
+ // Step 2: Create Job
83
+ process.stderr.write(`[LumenKey MCP] Submitting job with quote ${quote.quoteId} (${quote.credits} credits)...\n`);
84
+ const job = await client.createJob({
85
+ quoteId: quote.quoteId,
86
+ projectId,
87
+ input,
88
+ }, key);
89
+ createdJob = { jobId: job.jobId, idempotencyKey: key };
90
+ // Step 3: Poll
91
+ process.stderr.write(`[LumenKey MCP] Polling job ${job.jobId}...\n`);
92
+ const detail = await pollJob(client, job.jobId, {
93
+ onProgress: (d) => {
94
+ process.stderr.write(`[LumenKey MCP] Job ${job.jobId} status: ${d.status}\n`);
95
+ },
96
+ });
97
+ const outputUrl = detail.outputs?.[0]?.url;
98
+ let savedPath;
99
+ if (outputUrl && downloadPath) {
100
+ process.stderr.write(`[LumenKey MCP] Downloading video to ${downloadPath}...\n`);
101
+ savedPath = await downloadFile(outputUrl, downloadPath);
102
+ }
103
+ return {
104
+ content: [
105
+ {
106
+ type: 'text',
107
+ text: JSON.stringify({
108
+ success: true,
109
+ jobId: detail.jobId,
110
+ status: detail.status,
111
+ idempotencyKey: key,
112
+ videoUrl: outputUrl,
113
+ urls: (detail.outputs ?? []).map((item) => item.url).filter((url) => typeof url === 'string'),
114
+ localFile: savedPath,
115
+ }, null, 2),
116
+ },
117
+ ],
118
+ };
119
+ }
120
+ catch (err) {
121
+ const message = err instanceof Error ? err.message : 'Video generation failed';
122
+ return {
123
+ isError: true,
124
+ content: [{ type: 'text', text: createdJob ? JSON.stringify({ error: message, ...createdJob }) : `Video generation failed: ${message}` }],
125
+ };
126
+ }
127
+ });
128
+ /**
129
+ * Tool: Generate Image
130
+ */
131
+ server.tool('lumenkey_generate_image', 'Generate commercial images using LumenKey image models (e.g. flux-2-pro).', {
132
+ modelId: z.string().describe('Model ID (e.g. flux-2-pro)'),
133
+ prompt: z.string().describe('Prompt for image generation'),
134
+ image: z.string().optional().describe('Reference image, only when declared in the model inputSchema'),
135
+ resolution: z.string().optional().describe('Model-specific resolution (e.g. 2k or 4k); omitted uses gateway defaults'),
136
+ aspect_ratio: z.string().optional().describe('Model-specific aspect ratio; omitted uses gateway defaults'),
137
+ size: z.string().optional().describe('Legacy size, only for models whose inputSchema explicitly declares size'),
138
+ projectId: z.string().optional(),
139
+ confirm: z.boolean().optional().describe('Explicitly authorize billable submission; omitted means quote only'),
140
+ idempotencyKey: z.string().optional(),
141
+ maxCredits: z.number().int().nonnegative().optional(),
142
+ set: z.array(z.string()).optional().describe('Extra key=value pairs'),
143
+ downloadPath: z.string().optional().describe('Local file path to save the generated image'),
144
+ }, async ({ modelId, prompt, image, resolution, aspect_ratio, size, set, downloadPath, projectId, confirm, idempotencyKey, maxCredits }) => {
145
+ let createdJob;
146
+ try {
147
+ const model = (await client.listModels()).find(item => item.id === modelId);
148
+ if (!model)
149
+ throw new Error('MODEL_NOT_IN_CATALOG');
150
+ const properties = model.inputSchema?.properties;
151
+ if (!properties || typeof properties !== 'object' || Array.isArray(properties))
152
+ throw new Error('MODEL_INPUT_SCHEMA_INVALID');
153
+ // Do not invent defaults or translate one model's fields into another's.
154
+ // The gateway owns schema validation and the current catalog defaults.
155
+ const input = {};
156
+ for (const [field, value] of Object.entries({ prompt, image, resolution, aspect_ratio, size })) {
157
+ if (value !== undefined && Object.prototype.hasOwnProperty.call(properties, field))
158
+ input[field] = value;
159
+ }
160
+ Object.assign(input, applyKeyValues({}, set ?? []));
161
+ validateKnownEnums(properties, input);
162
+ const quote = await client.getQuote({ modelId, input });
163
+ if (!confirm)
164
+ return { content: [{ type: 'text', text: JSON.stringify({ quote, requiresConfirmation: true, submitted: false }) }] };
165
+ if (maxCredits !== undefined && quote.credits > maxCredits)
166
+ throw new Error('QUOTE_CREDIT_LIMIT');
167
+ const key = (idempotencyKey == null ? '' : String(idempotencyKey)).trim() || crypto.randomUUID();
168
+ const job = await client.createJob({ quoteId: quote.quoteId, input, projectId }, key);
169
+ createdJob = { jobId: job.jobId, idempotencyKey: key };
170
+ const detail = await pollJob(client, job.jobId);
171
+ const outputUrl = detail.outputs?.[0]?.url;
172
+ let savedPath;
173
+ if (outputUrl && downloadPath) {
174
+ savedPath = await downloadFile(outputUrl, downloadPath);
175
+ }
176
+ return {
177
+ content: [
178
+ {
179
+ type: 'text',
180
+ text: JSON.stringify({
181
+ success: true,
182
+ jobId: detail.jobId,
183
+ status: detail.status,
184
+ idempotencyKey: key,
185
+ imageUrl: outputUrl,
186
+ urls: (detail.outputs ?? []).map((item) => item.url).filter((url) => typeof url === 'string'),
187
+ localFile: savedPath,
188
+ }, null, 2),
189
+ },
190
+ ],
191
+ };
192
+ }
193
+ catch (err) {
194
+ const message = err instanceof Error ? err.message : 'Image generation failed';
195
+ return {
196
+ isError: true,
197
+ content: [{ type: 'text', text: createdJob ? JSON.stringify({ error: message, ...createdJob }) : `Image generation failed: ${message}` }],
198
+ };
199
+ }
200
+ });
201
+ /**
202
+ * Tool: Query Job Status
203
+ */
204
+ server.tool('lumenkey_query_job', 'Query the status of an asynchronous generation task by its jobId', {
205
+ jobId: z.string().describe('The task ID to query'),
206
+ }, async ({ jobId }) => {
207
+ try {
208
+ const detail = await client.getJob(jobId);
209
+ assertJobResult(detail, false);
210
+ return {
211
+ content: [
212
+ {
213
+ type: 'text',
214
+ text: JSON.stringify(detail, null, 2),
215
+ },
216
+ ],
217
+ };
218
+ }
219
+ catch (err) {
220
+ return {
221
+ isError: true,
222
+ content: [{ type: 'text', text: `Query job failed: ${err.message}` }],
223
+ };
224
+ }
225
+ });
226
+ /**
227
+ * Tool: Check Account Balance
228
+ */
229
+ server.tool('lumenkey_check_balance', 'Query current LumenKey account credits balance (available credits, reserved credits, and updatedAt timestamp)', {}, async () => {
230
+ try {
231
+ const balance = await client.getBalance();
232
+ return {
233
+ content: [
234
+ {
235
+ type: 'text',
236
+ text: JSON.stringify(balance, null, 2),
237
+ },
238
+ ],
239
+ };
240
+ }
241
+ catch (err) {
242
+ return {
243
+ isError: true,
244
+ content: [{ type: 'text', text: `Failed to check balance: ${err.message}` }],
245
+ };
246
+ }
247
+ });
248
+ /**
249
+ * Tool: Chat Completion & Reasoning
250
+ */
251
+ server.tool('lumenkey_chat', 'Run LLM inference with LumenKey models (e.g. qwen3.7-flash, qwen3.8-max, grok-4.6, kimi-k3, gpt-6-astra)', {
252
+ modelId: z.string().default('qwen3.7-flash').describe('Model ID (e.g. qwen3.7-flash, qwen3.8-max, grok-4.6)'),
253
+ prompt: z.string().describe('User message/prompt to send to the model'),
254
+ systemPrompt: z.string().optional().describe('Optional system instruction'),
255
+ }, async ({ modelId, prompt, systemPrompt }) => {
256
+ try {
257
+ process.stderr.write(`[LumenKey MCP] Chat completion with ${modelId}...\n`);
258
+ const messages = [];
259
+ if (systemPrompt) {
260
+ messages.push({ role: 'system', content: systemPrompt });
261
+ }
262
+ messages.push({ role: 'user', content: prompt });
263
+ const res = await client.createChatCompletion({
264
+ model: modelId,
265
+ messages,
266
+ });
267
+ const message = res.choices[0].message;
268
+ const reply = message.content || JSON.stringify({ tool_calls: message.tool_calls, refusal: message.refusal, usage: res.usage });
269
+ return {
270
+ content: [
271
+ {
272
+ type: 'text',
273
+ text: reply,
274
+ },
275
+ ],
276
+ };
277
+ }
278
+ catch (err) {
279
+ return {
280
+ isError: true,
281
+ content: [{ type: 'text', text: `Chat completion failed: ${err.message}` }],
282
+ };
283
+ }
284
+ });
285
+ server.tool('lumenkey_explain_model', 'Explain one model in the Pixmax param shape', {
286
+ modelId: z.string(),
287
+ }, async ({ modelId }) => {
288
+ try {
289
+ const model = (await client.listModels()).find((item) => item.id === modelId);
290
+ if (!model)
291
+ throw new Error('MODEL_NOT_IN_CATALOG');
292
+ return { content: [{ type: 'text', text: JSON.stringify(explainModel(model)) }] };
293
+ }
294
+ catch (err) {
295
+ return { isError: true, content: [{ type: 'text', text: err instanceof Error ? err.message : 'explain failed' }] };
296
+ }
297
+ });
298
+ server.tool('lumenkey_tasks_progress', 'Read one existing generation job', {
299
+ jobId: z.string(),
300
+ }, async ({ jobId }) => {
301
+ try {
302
+ const detail = await client.getJob(jobId);
303
+ assertJobResult(detail, false);
304
+ return { content: [{ type: 'text', text: JSON.stringify(detail) }] };
305
+ }
306
+ catch (err) {
307
+ return { isError: true, content: [{ type: 'text', text: err instanceof Error ? err.message : 'progress failed' }] };
308
+ }
309
+ });
310
+ server.tool('lumenkey_tasks_wait', 'Wait for an existing job without creating one', {
311
+ jobId: z.string(),
312
+ intervalMs: z.number().nonnegative().finite().max(2_147_483_647).optional(),
313
+ timeoutMs: z.number().nonnegative().finite().optional(),
314
+ }, async ({ jobId, intervalMs, timeoutMs }) => {
315
+ try {
316
+ const detail = await waitForJob(client, jobId, { intervalMs, timeoutMs });
317
+ assertJobResult(detail, detail.status === 'succeeded');
318
+ return { content: [{ type: 'text', text: JSON.stringify(detail) }] };
319
+ }
320
+ catch (err) {
321
+ return { isError: true, content: [{ type: 'text', text: err instanceof Error ? err.message : 'wait failed' }] };
322
+ }
323
+ });
324
+ server.tool('lumenkey_tasks_cancel', 'Cancel one job. yes must be true', {
325
+ jobId: z.string(),
326
+ yes: z.boolean(),
327
+ }, async ({ jobId, yes }) => {
328
+ try {
329
+ if (yes !== true)
330
+ throw new Error('Refusing to cancel without --yes.');
331
+ const result = await client.cancelJob(jobId);
332
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
333
+ }
334
+ catch (err) {
335
+ return { isError: true, content: [{ type: 'text', text: err instanceof Error ? err.message : 'cancel failed' }] };
336
+ }
337
+ });
338
+ return server;
339
+ }
340
+ export async function runMcpStdio() {
341
+ const server = createMcpServer();
342
+ const transport = new StdioServerTransport();
343
+ await server.connect(transport);
344
+ process.stderr.write('[LumenKey MCP] Server running on stdio transport\n');
345
+ }
346
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@lumenkey/cli",
3
+ "version": "0.1.0",
4
+ "description": "Unified CLI & MCP Server for LumenKey Multi-Modal AI (Video, Image & LLMs)",
5
+ "type": "module",
6
+ "bin": {
7
+ "lumenkey": "./bin/lumenkey.js",
8
+ "lumenkey-mcp": "./bin/lumenkey-mcp.js"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "files": [
13
+ "dist",
14
+ "bin",
15
+ "README.md"
16
+ ],
17
+ "engines": {
18
+ "node": ">=20.0.0"
19
+ },
20
+ "scripts": {
21
+ "build": "tsc",
22
+ "dev": "tsc --watch",
23
+ "start": "node ./bin/lumenkey.js",
24
+ "mcp": "node ./bin/lumenkey-mcp.js",
25
+ "test": "node --test"
26
+ },
27
+ "keywords": [
28
+ "lumenkey",
29
+ "mcp",
30
+ "mcp-server",
31
+ "ai-video",
32
+ "seedance",
33
+ "wan-video",
34
+ "claude-code",
35
+ "cursor-ai"
36
+ ],
37
+ "author": "LumenKey Team",
38
+ "license": "MIT",
39
+ "dependencies": {
40
+ "@modelcontextprotocol/sdk": "^1.30.0",
41
+ "cac": "^6.7.14",
42
+ "picocolors": "^1.1.1",
43
+ "zod": "^3.25.76"
44
+ },
45
+ "devDependencies": {
46
+ "@types/node": "^20.19.43",
47
+ "typescript": "^5.9.3"
48
+ }
49
+ }