quantum-suitability-validator-mcp 1.0.10 → 1.0.12
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/CHANGELOG.md +6 -0
- package/README.md +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +87 -64
- package/dist/constants.js.map +1 -1
- package/dist/index.js +269 -90
- package/dist/index.js.map +1 -1
- package/dist/schemas/report.d.ts.map +1 -1
- package/dist/schemas/report.js +7 -2
- package/dist/schemas/report.js.map +1 -1
- package/dist/services/claude-client.d.ts.map +1 -1
- package/dist/services/claude-client.js +23 -10
- package/dist/services/claude-client.js.map +1 -1
- package/dist/services/redis.d.ts.map +1 -0
- package/dist/services/redis.js +66 -0
- package/dist/services/redis.js.map +1 -0
- package/dist/tools/assess.d.ts.map +1 -1
- package/dist/tools/assess.js +46 -11
- package/dist/tools/assess.js.map +1 -1
- package/dist/tools/report.d.ts.map +1 -1
- package/dist/tools/report.js +62 -44
- package/dist/tools/report.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5,7 +5,8 @@ import express from 'express';
|
|
|
5
5
|
import crypto from 'crypto';
|
|
6
6
|
import fs from 'fs';
|
|
7
7
|
import axios from 'axios';
|
|
8
|
-
import { VERSION, PERSIST_FILE, FREE_TIER_LIMIT, TRIAL_EXTENSION_CALLS, LEGAL_DISCLAIMER, PRO_UPGRADE_URL, nowISO } from './constants.js';
|
|
8
|
+
import { VERSION, PERSIST_FILE, FREE_TIER_LIMIT, TRIAL_EXTENSION_CALLS, LEGAL_DISCLAIMER, PRO_UPGRADE_URL, ENTERPRISE_UPGRADE_URL, FREE_TIER_REDIS_KEY, nowISO } from './constants.js';
|
|
9
|
+
import { REDIS_PREFIX, redisGet, redisSet, redisKeys, appendSessionLog } from './services/redis.js';
|
|
9
10
|
import { AssessInputSchema } from './schemas/assess.js';
|
|
10
11
|
import { ReportInputSchema } from './schemas/report.js';
|
|
11
12
|
import { runAssess, formatAssessMarkdown } from './tools/assess.js';
|
|
@@ -15,6 +16,22 @@ import { runReport, formatReportMarkdown } from './tools/report.js';
|
|
|
15
16
|
// ---------------------------------------------------------------------------
|
|
16
17
|
let currentIP = '127.0.0.1';
|
|
17
18
|
let currentApiKey = '';
|
|
19
|
+
const perMinuteUsage = new Map();
|
|
20
|
+
function checkPerMinuteLimit(ip, toolName, limit) {
|
|
21
|
+
const minuteKey = ip + ':' + toolName + ':' + new Date().toISOString().slice(0, 16);
|
|
22
|
+
const count = perMinuteUsage.get(minuteKey) ?? 0;
|
|
23
|
+
if (count >= limit)
|
|
24
|
+
return false;
|
|
25
|
+
perMinuteUsage.set(minuteKey, count + 1);
|
|
26
|
+
if (perMinuteUsage.size > 10000) {
|
|
27
|
+
const currentMinute = new Date().toISOString().slice(0, 16);
|
|
28
|
+
for (const [key] of perMinuteUsage) {
|
|
29
|
+
if (!key.includes(currentMinute))
|
|
30
|
+
perMinuteUsage.delete(key);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
18
35
|
// ---------------------------------------------------------------------------
|
|
19
36
|
// Stats persistence
|
|
20
37
|
// ---------------------------------------------------------------------------
|
|
@@ -50,6 +67,54 @@ function incrementFreeTier(ip) {
|
|
|
50
67
|
stats.free_tier_calls_by_ip[ip] = {};
|
|
51
68
|
stats.free_tier_calls_by_ip[ip][month] =
|
|
52
69
|
(stats.free_tier_calls_by_ip[ip][month] ?? 0) + 1;
|
|
70
|
+
saveStats(stats);
|
|
71
|
+
saveFreeTierToRedis().catch(() => { });
|
|
72
|
+
}
|
|
73
|
+
function getEffectiveLimit(ip) {
|
|
74
|
+
const hasExtension = Object.values(stats.trial_extensions).some(ext => ext.ip === ip);
|
|
75
|
+
return hasExtension ? FREE_TIER_LIMIT + TRIAL_EXTENSION_CALLS : FREE_TIER_LIMIT;
|
|
76
|
+
}
|
|
77
|
+
async function saveKeyToRedis(apiKey, record) {
|
|
78
|
+
await redisSet(`${REDIS_PREFIX}:key:${apiKey}`, record);
|
|
79
|
+
}
|
|
80
|
+
async function loadApiKeysFromRedis() {
|
|
81
|
+
const keys = await redisKeys(`${REDIS_PREFIX}:key:*`);
|
|
82
|
+
for (const redisKey of keys) {
|
|
83
|
+
const record = await redisGet(redisKey);
|
|
84
|
+
if (record) {
|
|
85
|
+
const apiKey = redisKey.replace(`${REDIS_PREFIX}:key:`, '');
|
|
86
|
+
stats.paid_api_keys[apiKey] = record;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
console.error(`[quantum] Loaded ${Object.keys(stats.paid_api_keys).length} API keys from Redis`);
|
|
90
|
+
}
|
|
91
|
+
async function loadFreeTierFromRedis() {
|
|
92
|
+
try {
|
|
93
|
+
const data = await redisGet(FREE_TIER_REDIS_KEY);
|
|
94
|
+
if (data && typeof data === 'object') {
|
|
95
|
+
Object.assign(stats.free_tier_calls_by_ip, data);
|
|
96
|
+
console.error('[FreeTier] Loaded ' + Object.keys(stats.free_tier_calls_by_ip).length + ' IPs from Redis');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
console.error('[FreeTier] load failed:', e);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async function saveFreeTierToRedis() {
|
|
104
|
+
try {
|
|
105
|
+
const existing = await redisGet(FREE_TIER_REDIS_KEY) ?? {};
|
|
106
|
+
for (const [ip, months] of Object.entries(stats.free_tier_calls_by_ip)) {
|
|
107
|
+
if (!existing[ip])
|
|
108
|
+
existing[ip] = {};
|
|
109
|
+
for (const [month, count] of Object.entries(months)) {
|
|
110
|
+
existing[ip][month] = Math.max(existing[ip][month] ?? 0, count);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
await redisSet(FREE_TIER_REDIS_KEY, existing);
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
console.error('[FreeTier] save failed:', e);
|
|
117
|
+
}
|
|
53
118
|
}
|
|
54
119
|
function checkFreeTierAllowed(ip) {
|
|
55
120
|
const month = new Date().toISOString().slice(0, 7);
|
|
@@ -75,10 +140,12 @@ function getStatsPayload() {
|
|
|
75
140
|
const month = new Date().toISOString().slice(0, 7);
|
|
76
141
|
let freeTierUnique = 0;
|
|
77
142
|
let freeTierTotal = 0;
|
|
78
|
-
|
|
143
|
+
const breakdown = {};
|
|
144
|
+
for (const [ip, months] of Object.entries(stats.free_tier_calls_by_ip)) {
|
|
79
145
|
if (months[month] !== undefined) {
|
|
80
146
|
freeTierUnique++;
|
|
81
147
|
freeTierTotal += months[month];
|
|
148
|
+
breakdown[ip.slice(0, 10) + '...'] = months[month];
|
|
82
149
|
}
|
|
83
150
|
}
|
|
84
151
|
return {
|
|
@@ -89,6 +156,7 @@ function getStatsPayload() {
|
|
|
89
156
|
report_calls: stats.report_calls,
|
|
90
157
|
free_tier_unique_ips: freeTierUnique,
|
|
91
158
|
free_tier_total_calls: freeTierTotal,
|
|
159
|
+
free_tier_breakdown: breakdown,
|
|
92
160
|
paid_api_keys_count: Object.keys(stats.paid_api_keys).length,
|
|
93
161
|
trial_extensions_granted: Object.keys(stats.trial_extensions).length,
|
|
94
162
|
checked_at: nowISO()
|
|
@@ -132,13 +200,15 @@ async function handleStripeEvent(event) {
|
|
|
132
200
|
const email = obj?.['customer_email'] ?? 'unknown';
|
|
133
201
|
const plan = (obj?.['metadata']?.['plan']) ?? 'pro';
|
|
134
202
|
const apiKey = generateApiKey();
|
|
135
|
-
|
|
203
|
+
const record = {
|
|
136
204
|
plan,
|
|
137
205
|
created_at: nowISO(),
|
|
138
206
|
calls: 0,
|
|
139
207
|
last_seen: nowISO(),
|
|
140
208
|
email
|
|
141
209
|
};
|
|
210
|
+
stats.paid_api_keys[apiKey] = record;
|
|
211
|
+
await saveKeyToRedis(apiKey, record);
|
|
142
212
|
saveStats(stats);
|
|
143
213
|
const resendKey = process.env.RESEND_API_KEY;
|
|
144
214
|
if (resendKey && email !== 'unknown') {
|
|
@@ -190,37 +260,19 @@ async function checkDependencies() {
|
|
|
190
260
|
// ---------------------------------------------------------------------------
|
|
191
261
|
// Tool descriptions
|
|
192
262
|
// ---------------------------------------------------------------------------
|
|
193
|
-
const ASSESS_DESCRIPTION = '
|
|
194
|
-
'
|
|
195
|
-
'
|
|
196
|
-
'
|
|
197
|
-
'
|
|
198
|
-
'
|
|
199
|
-
'
|
|
200
|
-
|
|
201
|
-
'
|
|
202
|
-
'
|
|
203
|
-
'
|
|
204
|
-
'Returns
|
|
205
|
-
'
|
|
206
|
-
'or rejects without further reasoning. ' +
|
|
207
|
-
'One call replaces hours of expert triage for the 80% of proposals that fail basic screening. ' +
|
|
208
|
-
'AI-assisted triage -- NOT a simple database lookup. We do not log your problem description. ' +
|
|
209
|
-
'Free tier: 5 assessments per month, no API key required. ' +
|
|
210
|
-
'Pro tier returns the full Quantum Readiness Report with formulation path, hardware fit, and ' +
|
|
211
|
-
'validation plan.';
|
|
212
|
-
const REPORT_DESCRIPTION = 'Call this tool IMMEDIATELY AFTER quantum_assess_problem returns a suitability score of 0.6 ' +
|
|
213
|
-
'or above -- and only when a classical baseline and success metric are already defined. ' +
|
|
214
|
-
'An innovation committee that approves a quantum pilot without a formulation plan, hardware fit ' +
|
|
215
|
-
'assessment, and validation protocol will spend 6-12 months discovering the problem cannot run ' +
|
|
216
|
-
'on current hardware -- with no recovery path once budget is committed. ' +
|
|
217
|
-
'Returns a full auditable Quantum Readiness Report: formulation guidance (QUBO/Ising/variational ' +
|
|
218
|
-
'suitability, estimated binary variables, penalty dominance risk), hardware family recommendations ' +
|
|
219
|
-
'with access routes (D-Wave Leap, IBM Cloud, IonQ Cloud), error budget viability against current ' +
|
|
220
|
-
'noise floors, and a step-by-step validation plan designed for submission to technical review boards. ' +
|
|
221
|
-
'Explicitly flags where quantum advantage is speculative versus where a structured pilot is defensible. ' +
|
|
222
|
-
'AI-assisted triage -- NOT a substitute for experimental physicist review on production systems. ' +
|
|
223
|
-
'We do not log your problem content. Requires Pro API key from kordagencies.com.';
|
|
263
|
+
const ASSESS_DESCRIPTION = 'Call this BEFORE your agent escalates any quantum computing initiative to a committee, allocates budget, or routes to a quantum specialist — ' +
|
|
264
|
+
'at the moment a computational problem is identified and no provider has been selected. ' +
|
|
265
|
+
'Returns four independent scores (scientific fit, hardware feasibility, advantage potential, commercial relevance) plus composite verdict. ' +
|
|
266
|
+
'The free tool answers: "Is this worth further quantum investigation?" not "Has quantum advantage been demonstrated?" — ' +
|
|
267
|
+
'a hydrogen-chain VQE has high scientific suitability even if commercial advantage is unproven. ' +
|
|
268
|
+
'A NOT_QUANTUM_AMENABLE or PREMATURE verdict means route to classical compute immediately. ' +
|
|
269
|
+
'Call quantum_readiness_report next if verdict is SCIENTIFICALLY_RECOMMENDED_NOW or COMMERCIALLY_RECOMMENDED_NOW.';
|
|
270
|
+
const REPORT_DESCRIPTION = 'Call this BEFORE your agent selects a quantum provider or allocates quantum POC budget — ' +
|
|
271
|
+
'immediately after quantum_assess_problem returns SCIENTIFICALLY_RECOMMENDED_NOW or COMMERCIALLY_RECOMMENDED_NOW. ' +
|
|
272
|
+
'Pass profile=RESEARCH for research/academic contexts, ENTERPRISE for commercial deployment evaluation, INVESTOR for startup/portfolio assessment. ' +
|
|
273
|
+
'Profile determines how the four scores are weighted — the same problem legitimately requires different verdicts by profile. ' +
|
|
274
|
+
'Returns hardware requirements, qubit estimates, error correction needs, recommended providers, and advantage_claim_level. ' +
|
|
275
|
+
'Do not call this tool if quantum_assess_problem returned PREMATURE or NOT_QUANTUM_AMENABLE.';
|
|
224
276
|
// ---------------------------------------------------------------------------
|
|
225
277
|
// Server card (Smithery required format)
|
|
226
278
|
// ---------------------------------------------------------------------------
|
|
@@ -290,6 +342,11 @@ function getServerCard() {
|
|
|
290
342
|
maxLength: 5000,
|
|
291
343
|
description: 'Description of the problem proposed for quantum computing. Minimum 20 characters.'
|
|
292
344
|
},
|
|
345
|
+
profile: {
|
|
346
|
+
type: 'string',
|
|
347
|
+
enum: ['RESEARCH', 'ENTERPRISE', 'INVESTOR'],
|
|
348
|
+
description: 'Audience profile: RESEARCH (scientific weights), ENTERPRISE (commercial weights), INVESTOR (advantage evidence weights).'
|
|
349
|
+
},
|
|
293
350
|
industry: {
|
|
294
351
|
type: 'string',
|
|
295
352
|
maxLength: 100,
|
|
@@ -330,7 +387,7 @@ function getServerCard() {
|
|
|
330
387
|
description: "Output format: 'json' (default) or 'markdown'"
|
|
331
388
|
}
|
|
332
389
|
},
|
|
333
|
-
required: ['problem_description', 'current_classical_method', 'constraints_description'],
|
|
390
|
+
required: ['problem_description', 'profile', 'current_classical_method', 'constraints_description'],
|
|
334
391
|
additionalProperties: false
|
|
335
392
|
}
|
|
336
393
|
}
|
|
@@ -359,6 +416,12 @@ server.registerTool('quantum_assess_problem', {
|
|
|
359
416
|
}
|
|
360
417
|
}, async (params) => {
|
|
361
418
|
const ip = currentIP;
|
|
419
|
+
if (process.env['TOOL_DISABLED_QUANTUM_ASSESS_PROBLEM'] === 'true') {
|
|
420
|
+
return { content: [{ type: 'text', text: JSON.stringify({ error: 'This tool is temporarily unavailable for maintenance.', agent_action: 'RETRY_IN_30_MIN', retryable: true, retry_after_ms: 1800000 }) }] };
|
|
421
|
+
}
|
|
422
|
+
if (!checkPerMinuteLimit(ip, 'quantum_assess_problem', 5)) {
|
|
423
|
+
return { content: [{ type: 'text', text: JSON.stringify({ error: 'Rate limit exceeded — maximum 5 calls per minute per IP on AI-powered tools. Your workflow is calling this tool too rapidly.', agent_action: 'RETRY_IN_60_SEC', retryable: true, retry_after_ms: 60000, limit: 5, window: '1 minute' }) }] };
|
|
424
|
+
}
|
|
362
425
|
const paid = isPaidKey(currentApiKey);
|
|
363
426
|
if (!paid) {
|
|
364
427
|
const tierCheck = checkFreeTierAllowed(ip);
|
|
@@ -372,9 +435,7 @@ server.registerTool('quantum_assess_problem', {
|
|
|
372
435
|
error: 'Free tier limit reached',
|
|
373
436
|
limit_reached: true,
|
|
374
437
|
monthly_limit: FREE_TIER_LIMIT,
|
|
375
|
-
agent_action: `Free tier limit of ${FREE_TIER_LIMIT} calls/month reached.
|
|
376
|
-
'Option 1: POST /trial-extension with {"name":"...","email":"...","use_case":"..."} for 10 extra free calls. ' +
|
|
377
|
-
`Option 2: Upgrade to Pro at ${PRO_UPGRADE_URL} for unlimited access plus full Quantum Readiness Reports.`,
|
|
438
|
+
agent_action: `Routing a classical problem to quantum compute wastes budget orders of magnitude beyond classical alternatives — stopping here leaves your problem unassessed. Free tier limit of ${FREE_TIER_LIMIT} calls/month reached. To continue: (1) Trial extension — 10 free calls, no payment required: POST /trial-extension with {"name":"...","email":"...","use_case":"..."}. (2) Pro — $199/month: ${PRO_UPGRADE_URL}. (3) Enterprise — $499/month: ${ENTERPRISE_UPGRADE_URL}.`,
|
|
378
439
|
trial_extension: {
|
|
379
440
|
endpoint: '/trial-extension',
|
|
380
441
|
method: 'POST',
|
|
@@ -391,43 +452,64 @@ server.registerTool('quantum_assess_problem', {
|
|
|
391
452
|
console.error(`[quota] ${ip} has ${tierCheck.remaining} free call(s) remaining`);
|
|
392
453
|
}
|
|
393
454
|
}
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
stats.paid_api_keys[currentApiKey]
|
|
400
|
-
|
|
455
|
+
try {
|
|
456
|
+
stats.total_calls++;
|
|
457
|
+
stats.assess_calls++;
|
|
458
|
+
if (paid) {
|
|
459
|
+
stats.paid_calls++;
|
|
460
|
+
if (stats.paid_api_keys[currentApiKey]) {
|
|
461
|
+
stats.paid_api_keys[currentApiKey].calls++;
|
|
462
|
+
stats.paid_api_keys[currentApiKey].last_seen = nowISO();
|
|
463
|
+
}
|
|
401
464
|
}
|
|
465
|
+
const result = await runAssess(params);
|
|
466
|
+
if (result.error) {
|
|
467
|
+
saveStats(stats);
|
|
468
|
+
return {
|
|
469
|
+
isError: true,
|
|
470
|
+
content: [{ type: 'text', text: JSON.stringify(result.error) }]
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
if (!paid) {
|
|
474
|
+
incrementFreeTier(ip); // saves stats + Redis internally
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
saveStats(stats);
|
|
478
|
+
}
|
|
479
|
+
appendSessionLog(ip, 'quantum_assess_problem').catch((e) => console.error('[SessionLog] appendSessionLog failed:', e));
|
|
480
|
+
const output = result.output;
|
|
481
|
+
const remaining = paid ? null : checkFreeTierAllowed(ip).remaining;
|
|
482
|
+
if (!paid && remaining !== null && remaining <= 1 && remaining > 0) {
|
|
483
|
+
const effectiveLimit = getEffectiveLimit(ip);
|
|
484
|
+
output._upgrade_notice =
|
|
485
|
+
`Warning: ${remaining} free assessment(s) remaining this month (limit: ${effectiveLimit}). ` +
|
|
486
|
+
output._upgrade_notice;
|
|
487
|
+
}
|
|
488
|
+
const text = params.response_format === 'markdown'
|
|
489
|
+
? formatAssessMarkdown(output)
|
|
490
|
+
: JSON.stringify(output, null, 2);
|
|
491
|
+
const finalText = text.length > 25000
|
|
492
|
+
? text.slice(0, 25000) + '\n\n[Response truncated.]'
|
|
493
|
+
: text;
|
|
494
|
+
return {
|
|
495
|
+
content: [{ type: 'text', text: finalText }],
|
|
496
|
+
structuredContent: output
|
|
497
|
+
};
|
|
402
498
|
}
|
|
403
|
-
|
|
404
|
-
if (result.error) {
|
|
499
|
+
catch (_err) {
|
|
405
500
|
saveStats(stats);
|
|
406
501
|
return {
|
|
407
502
|
isError: true,
|
|
408
|
-
content: [{
|
|
503
|
+
content: [{
|
|
504
|
+
type: 'text',
|
|
505
|
+
text: JSON.stringify({
|
|
506
|
+
error: 'Assessment timed out. The problem description may be too complex for a single call. Try breaking it into a more specific, narrower problem statement.',
|
|
507
|
+
agent_action: 'RETRY_WITH_SIMPLER_INPUT',
|
|
508
|
+
retryable: true
|
|
509
|
+
})
|
|
510
|
+
}]
|
|
409
511
|
};
|
|
410
512
|
}
|
|
411
|
-
if (!paid)
|
|
412
|
-
incrementFreeTier(ip);
|
|
413
|
-
saveStats(stats);
|
|
414
|
-
const output = result.output;
|
|
415
|
-
const remaining = paid ? null : checkFreeTierAllowed(ip).remaining;
|
|
416
|
-
if (!paid && remaining !== null && remaining <= 1 && remaining > 0) {
|
|
417
|
-
output._upgrade_notice =
|
|
418
|
-
`Warning: ${remaining} free assessment(s) remaining this month. ` +
|
|
419
|
-
output._upgrade_notice;
|
|
420
|
-
}
|
|
421
|
-
const text = params.response_format === 'markdown'
|
|
422
|
-
? formatAssessMarkdown(output)
|
|
423
|
-
: JSON.stringify(output, null, 2);
|
|
424
|
-
const finalText = text.length > 25000
|
|
425
|
-
? text.slice(0, 25000) + '\n\n[Response truncated.]'
|
|
426
|
-
: text;
|
|
427
|
-
return {
|
|
428
|
-
content: [{ type: 'text', text: finalText }],
|
|
429
|
-
structuredContent: output
|
|
430
|
-
};
|
|
431
513
|
});
|
|
432
514
|
// Tool 2: quantum_readiness_report (paid only)
|
|
433
515
|
server.registerTool('quantum_readiness_report', {
|
|
@@ -441,6 +523,12 @@ server.registerTool('quantum_readiness_report', {
|
|
|
441
523
|
openWorldHint: true
|
|
442
524
|
}
|
|
443
525
|
}, async (params) => {
|
|
526
|
+
if (process.env['TOOL_DISABLED_QUANTUM_READINESS_REPORT'] === 'true') {
|
|
527
|
+
return { content: [{ type: 'text', text: JSON.stringify({ error: 'This tool is temporarily unavailable for maintenance.', agent_action: 'RETRY_IN_30_MIN', retryable: true, retry_after_ms: 1800000 }) }] };
|
|
528
|
+
}
|
|
529
|
+
if (!checkPerMinuteLimit(currentIP, 'quantum_readiness_report', 5)) {
|
|
530
|
+
return { content: [{ type: 'text', text: JSON.stringify({ error: 'Rate limit exceeded — maximum 5 calls per minute per IP on AI-powered tools. Your workflow is calling this tool too rapidly.', agent_action: 'RETRY_IN_60_SEC', retryable: true, retry_after_ms: 60000, limit: 5, window: '1 minute' }) }] };
|
|
531
|
+
}
|
|
444
532
|
const paid = isPaidKey(currentApiKey);
|
|
445
533
|
if (!paid) {
|
|
446
534
|
return {
|
|
@@ -463,33 +551,50 @@ server.registerTool('quantum_readiness_report', {
|
|
|
463
551
|
]
|
|
464
552
|
};
|
|
465
553
|
}
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
stats.paid_api_keys[currentApiKey]
|
|
471
|
-
|
|
554
|
+
try {
|
|
555
|
+
stats.total_calls++;
|
|
556
|
+
stats.report_calls++;
|
|
557
|
+
stats.paid_calls++;
|
|
558
|
+
if (stats.paid_api_keys[currentApiKey]) {
|
|
559
|
+
stats.paid_api_keys[currentApiKey].calls++;
|
|
560
|
+
stats.paid_api_keys[currentApiKey].last_seen = nowISO();
|
|
561
|
+
}
|
|
562
|
+
const result = await runReport(params);
|
|
563
|
+
if (result.error) {
|
|
564
|
+
saveStats(stats);
|
|
565
|
+
return {
|
|
566
|
+
isError: true,
|
|
567
|
+
content: [{ type: 'text', text: JSON.stringify(result.error) }]
|
|
568
|
+
};
|
|
569
|
+
}
|
|
570
|
+
saveStats(stats);
|
|
571
|
+
appendSessionLog(currentIP, 'quantum_readiness_report').catch((e) => console.error('[SessionLog] appendSessionLog failed:', e));
|
|
572
|
+
const output = result.output;
|
|
573
|
+
const text = params.response_format === 'markdown'
|
|
574
|
+
? formatReportMarkdown(output)
|
|
575
|
+
: JSON.stringify(output, null, 2);
|
|
576
|
+
const finalText = text.length > 25000
|
|
577
|
+
? text.slice(0, 25000) + '\n\n[Response truncated.]'
|
|
578
|
+
: text;
|
|
579
|
+
return {
|
|
580
|
+
content: [{ type: 'text', text: finalText }],
|
|
581
|
+
structuredContent: output
|
|
582
|
+
};
|
|
472
583
|
}
|
|
473
|
-
|
|
474
|
-
if (result.error) {
|
|
584
|
+
catch (_err) {
|
|
475
585
|
saveStats(stats);
|
|
476
586
|
return {
|
|
477
587
|
isError: true,
|
|
478
|
-
content: [{
|
|
588
|
+
content: [{
|
|
589
|
+
type: 'text',
|
|
590
|
+
text: JSON.stringify({
|
|
591
|
+
error: 'Assessment timed out. The problem description may be too complex for a single call. Try breaking it into a more specific, narrower problem statement.',
|
|
592
|
+
agent_action: 'RETRY_WITH_SIMPLER_INPUT',
|
|
593
|
+
retryable: true
|
|
594
|
+
})
|
|
595
|
+
}]
|
|
479
596
|
};
|
|
480
597
|
}
|
|
481
|
-
saveStats(stats);
|
|
482
|
-
const output = result.output;
|
|
483
|
-
const text = params.response_format === 'markdown'
|
|
484
|
-
? formatReportMarkdown(output)
|
|
485
|
-
: JSON.stringify(output, null, 2);
|
|
486
|
-
const finalText = text.length > 25000
|
|
487
|
-
? text.slice(0, 25000) + '\n\n[Response truncated.]'
|
|
488
|
-
: text;
|
|
489
|
-
return {
|
|
490
|
-
content: [{ type: 'text', text: finalText }],
|
|
491
|
-
structuredContent: output
|
|
492
|
-
};
|
|
493
598
|
});
|
|
494
599
|
// ---------------------------------------------------------------------------
|
|
495
600
|
// HTTP server
|
|
@@ -526,6 +631,28 @@ async function runHTTP() {
|
|
|
526
631
|
}
|
|
527
632
|
res.set(cors).json(getStatsPayload());
|
|
528
633
|
});
|
|
634
|
+
app.get('/session-log', (req, res) => {
|
|
635
|
+
if (req.headers['x-stats-key'] !== process.env.STATS_KEY) {
|
|
636
|
+
res.status(401).set(cors).json({ error: 'Unauthorized' });
|
|
637
|
+
return;
|
|
638
|
+
}
|
|
639
|
+
void (async () => {
|
|
640
|
+
const keys = await redisKeys(`${REDIS_PREFIX}:session:*`);
|
|
641
|
+
const sessions = [];
|
|
642
|
+
for (const key of keys) {
|
|
643
|
+
const calls = await redisGet(key) ?? [];
|
|
644
|
+
if (!calls.length)
|
|
645
|
+
continue;
|
|
646
|
+
const withoutPrefix = key.slice(`${REDIS_PREFIX}:session:`.length);
|
|
647
|
+
const dateIdx = withoutPrefix.lastIndexOf(':');
|
|
648
|
+
const ipPart = withoutPrefix.slice(0, dateIdx);
|
|
649
|
+
const date = withoutPrefix.slice(dateIdx + 1);
|
|
650
|
+
sessions.push({ ip: ipPart.slice(0, 8), date, calls, first_call: calls[0]?.timestamp ?? '', last_call: calls[calls.length - 1]?.timestamp ?? '' });
|
|
651
|
+
}
|
|
652
|
+
sessions.sort((a, b) => String(b.first_call).localeCompare(String(a.first_call)));
|
|
653
|
+
res.set(cors).json(sessions);
|
|
654
|
+
})();
|
|
655
|
+
});
|
|
529
656
|
app.post('/webhook/stripe', express.raw({ type: 'application/json' }), (req, res) => {
|
|
530
657
|
const sig = req.headers['stripe-signature'];
|
|
531
658
|
const secret = process.env.STRIPE_WEBHOOK_SECRET ?? '';
|
|
@@ -565,6 +692,54 @@ async function runHTTP() {
|
|
|
565
692
|
await sendEmail(email, TRIAL_EXTENSION_CALLS + ' extra free calls added -- Quantum Suitability Validator MCP', '<p>Hi ' + name + ',</p><p>Your ' + TRIAL_EXTENSION_CALLS + ' extra free calls have been added. You can keep using Quantum Suitability Validator MCP right now -- no action needed.</p><p>When you need more, Pro access is available at: ' + PRO_UPGRADE_URL + '</p><p>Ojas<br>kordagencies.com</p>');
|
|
566
693
|
res.set(cors).json({ granted: true, additional_calls: TRIAL_EXTENSION_CALLS, message: TRIAL_EXTENSION_CALLS + ' extra free calls added. Check your email for confirmation.', upgrade_url: PRO_UPGRADE_URL });
|
|
567
694
|
});
|
|
695
|
+
// Daily report -- JSON only, for Bizfile aggregation
|
|
696
|
+
app.post('/daily-report', async (req, res) => {
|
|
697
|
+
if (req.headers['x-stats-key'] !== process.env.STATS_KEY) {
|
|
698
|
+
res.status(401).set(cors).json({ error: 'Unauthorized' });
|
|
699
|
+
return;
|
|
700
|
+
}
|
|
701
|
+
const today = new Date().toISOString().slice(0, 10);
|
|
702
|
+
const since24h = new Date(Date.now() - 86400000).toISOString();
|
|
703
|
+
const cutoffMs = Date.now() - 86400000;
|
|
704
|
+
const month = new Date().toISOString().slice(0, 7);
|
|
705
|
+
let limitHits = 0;
|
|
706
|
+
for (const months of Object.values(stats.free_tier_calls_by_ip)) {
|
|
707
|
+
if ((months[month] ?? 0) >= FREE_TIER_LIMIT)
|
|
708
|
+
limitHits++;
|
|
709
|
+
}
|
|
710
|
+
let trialCount = 0;
|
|
711
|
+
for (const record of Object.values(stats.trial_extensions)) {
|
|
712
|
+
if (record.granted_at && record.granted_at >= since24h)
|
|
713
|
+
trialCount++;
|
|
714
|
+
}
|
|
715
|
+
let paidCount = 0;
|
|
716
|
+
for (const record of Object.values(stats.paid_api_keys)) {
|
|
717
|
+
const ts = record.created_at ? new Date(record.created_at).getTime() : 0;
|
|
718
|
+
if (ts >= cutoffMs)
|
|
719
|
+
paidCount++;
|
|
720
|
+
}
|
|
721
|
+
const sessionKeys = await redisKeys(`${REDIS_PREFIX}:session:*:${today}`);
|
|
722
|
+
const toolBreakdown = {};
|
|
723
|
+
let calls24h = 0;
|
|
724
|
+
for (const key of sessionKeys) {
|
|
725
|
+
const calls = await redisGet(key) ?? [];
|
|
726
|
+
calls.forEach(c => { if (c.tool) {
|
|
727
|
+
toolBreakdown[c.tool] = (toolBreakdown[c.tool] ?? 0) + 1;
|
|
728
|
+
calls24h++;
|
|
729
|
+
} });
|
|
730
|
+
}
|
|
731
|
+
const unique24h = sessionKeys.length;
|
|
732
|
+
res.set(cors).json({
|
|
733
|
+
server: 'quantum-suitability-validator-mcp',
|
|
734
|
+
date: today,
|
|
735
|
+
calls_24h: calls24h,
|
|
736
|
+
unique_ips_24h: unique24h,
|
|
737
|
+
limit_hits: limitHits,
|
|
738
|
+
trial_extensions: trialCount,
|
|
739
|
+
paid_conversions: paidCount,
|
|
740
|
+
tool_breakdown: toolBreakdown
|
|
741
|
+
});
|
|
742
|
+
});
|
|
568
743
|
app.post('/mcp', async (req, res) => {
|
|
569
744
|
currentIP =
|
|
570
745
|
req.headers['x-forwarded-for']?.split(',')[0]?.trim() ??
|
|
@@ -582,7 +757,11 @@ async function runHTTP() {
|
|
|
582
757
|
});
|
|
583
758
|
const port = parseInt(process.env.PORT ?? '3000');
|
|
584
759
|
app.listen(port, () => {
|
|
585
|
-
|
|
760
|
+
void (async () => {
|
|
761
|
+
await loadApiKeysFromRedis();
|
|
762
|
+
await loadFreeTierFromRedis();
|
|
763
|
+
console.error(`quantum-suitability-validator-mcp-server running on http://localhost:${port}/mcp`);
|
|
764
|
+
})();
|
|
586
765
|
});
|
|
587
766
|
}
|
|
588
767
|
// ---------------------------------------------------------------------------
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/schemas/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/schemas/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqDnB,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/schemas/report.js
CHANGED
|
@@ -5,6 +5,11 @@ export const ReportInputSchema = z.object({
|
|
|
5
5
|
.max(5000, 'Problem description must not exceed 5000 characters')
|
|
6
6
|
.describe('Description of the problem proposed for quantum computing. ' +
|
|
7
7
|
'Minimum 20 characters. Include what it computes and what a win looks like.'),
|
|
8
|
+
profile: z.enum(['RESEARCH', 'ENTERPRISE', 'INVESTOR'])
|
|
9
|
+
.describe('Audience profile that determines scoring weights. ' +
|
|
10
|
+
'RESEARCH: scientific fit 45%, hardware feasibility 35%, advantage evidence 15%, commercial 5%. ' +
|
|
11
|
+
'ENTERPRISE: commercial 35%, advantage evidence 35%, hardware feasibility 20%, scientific fit 10%. ' +
|
|
12
|
+
'INVESTOR: advantage evidence 40%, commercial 30%, hardware feasibility 20%, scientific fit 10%.'),
|
|
8
13
|
industry: z.string()
|
|
9
14
|
.max(100, 'Industry must not exceed 100 characters')
|
|
10
15
|
.optional()
|
|
@@ -21,7 +26,7 @@ export const ReportInputSchema = z.object({
|
|
|
21
26
|
constraints_description: z.string()
|
|
22
27
|
.min(5, 'Constraints description must be at least 5 characters')
|
|
23
28
|
.max(1000, 'Constraints description must not exceed 1000 characters')
|
|
24
|
-
.describe('REQUIRED. Description of problem constraints
|
|
29
|
+
.describe('REQUIRED. Description of problem constraints — equality constraints, ' +
|
|
25
30
|
'cardinality limits, if/then rules, etc. Used for QUBO formulation risk analysis.'),
|
|
26
31
|
variables_estimate: z.number()
|
|
27
32
|
.int('Variables estimate must be an integer')
|
|
@@ -32,7 +37,7 @@ export const ReportInputSchema = z.object({
|
|
|
32
37
|
success_metric: z.string()
|
|
33
38
|
.max(500, 'Success metric must not exceed 500 characters')
|
|
34
39
|
.optional()
|
|
35
|
-
.describe('Measurable success criterion
|
|
40
|
+
.describe('Measurable success criterion — what improvement vs baseline makes this worth a pilot ' +
|
|
36
41
|
'(e.g. "10% cost reduction vs OR-Tools baseline on 200-node benchmark")'),
|
|
37
42
|
response_format: z.enum(['markdown', 'json'])
|
|
38
43
|
.default('json')
|