@oyerinde/caliper 0.2.1 → 0.2.2
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 +13 -1
- package/README.md +0 -4
- package/dist/bridge.cjs +12 -12
- package/dist/bridge.d.cts +1 -1
- package/dist/bridge.d.ts +1 -1
- package/dist/bridge.js +1 -1
- package/dist/{chunk-PYAVLOZM.cjs → chunk-2SVFU7M3.cjs} +71 -29
- package/dist/{chunk-P37B6G5P.cjs → chunk-AHX2GS7J.cjs} +57 -33
- package/dist/{chunk-L47FGEH6.js → chunk-PRUCSUJA.js} +72 -30
- package/dist/{chunk-MTIWXK3P.js → chunk-YLE25XII.js} +57 -33
- package/dist/index.cjs +6 -6
- package/dist/index.global.js +13 -13
- package/dist/index.global.js.map +1 -1
- package/dist/index.global.min.js +3 -3
- package/dist/index.global.min.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp.cjs +88 -52
- package/dist/mcp.js +89 -53
- package/dist/preset.cjs +6 -6
- package/dist/preset.d.cts +1 -1
- package/dist/preset.d.ts +1 -1
- package/dist/preset.js +3 -3
- package/dist/version.json +2 -2
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { VERSION, caliperProps, getConfig, createOverlay as init, setConfig } from './chunk-
|
|
1
|
+
export { VERSION, caliperProps, getConfig, createOverlay as init, setConfig } from './chunk-YLE25XII.js';
|
package/dist/mcp.cjs
CHANGED
|
@@ -297,8 +297,20 @@ var SourceHintsSchema = zod.z.object({
|
|
|
297
297
|
tagName: zod.z.string()
|
|
298
298
|
});
|
|
299
299
|
var CaliperActionResultSchema = zod.z.union([
|
|
300
|
-
zod.z.object({
|
|
301
|
-
|
|
300
|
+
zod.z.object({
|
|
301
|
+
success: zod.z.literal(true),
|
|
302
|
+
method: zod.z.literal(CALIPER_METHODS.SELECT),
|
|
303
|
+
selector: zod.z.string(),
|
|
304
|
+
selection: SelectionMetadataSchema,
|
|
305
|
+
timestamp: zod.z.number()
|
|
306
|
+
}),
|
|
307
|
+
zod.z.object({
|
|
308
|
+
success: zod.z.literal(true),
|
|
309
|
+
method: zod.z.literal(CALIPER_METHODS.MEASURE),
|
|
310
|
+
selector: zod.z.string(),
|
|
311
|
+
measurement: MeasurementResultSchema,
|
|
312
|
+
timestamp: zod.z.number()
|
|
313
|
+
}),
|
|
302
314
|
zod.z.object({
|
|
303
315
|
success: zod.z.literal(true),
|
|
304
316
|
method: zod.z.literal(CALIPER_METHODS.INSPECT),
|
|
@@ -319,8 +331,16 @@ var CaliperActionResultSchema = zod.z.union([
|
|
|
319
331
|
sourceHints: SourceHintsSchema.optional(),
|
|
320
332
|
timestamp: zod.z.number()
|
|
321
333
|
}),
|
|
322
|
-
zod.z.object({
|
|
323
|
-
|
|
334
|
+
zod.z.object({
|
|
335
|
+
success: zod.z.literal(true),
|
|
336
|
+
method: zod.z.literal(CALIPER_METHODS.FREEZE),
|
|
337
|
+
timestamp: zod.z.number()
|
|
338
|
+
}),
|
|
339
|
+
zod.z.object({
|
|
340
|
+
success: zod.z.literal(true),
|
|
341
|
+
method: zod.z.literal(CALIPER_METHODS.CLEAR),
|
|
342
|
+
timestamp: zod.z.number()
|
|
343
|
+
}),
|
|
324
344
|
zod.z.object({
|
|
325
345
|
success: zod.z.literal(true),
|
|
326
346
|
method: zod.z.literal(CALIPER_METHODS.WALK_DOM),
|
|
@@ -383,10 +403,18 @@ var RpcFactory = class {
|
|
|
383
403
|
return JSONRPCResultResponseSchema.parse({ jsonrpc: "2.0", id, result });
|
|
384
404
|
}
|
|
385
405
|
static error(id, code, message, data) {
|
|
386
|
-
return JSONRPCErrorResponseSchema.parse({
|
|
406
|
+
return JSONRPCErrorResponseSchema.parse({
|
|
407
|
+
jsonrpc: "2.0",
|
|
408
|
+
id,
|
|
409
|
+
error: { code, message, data }
|
|
410
|
+
});
|
|
387
411
|
}
|
|
388
412
|
static notification(method, params) {
|
|
389
|
-
return JSONRPCNotificationSchema.parse({
|
|
413
|
+
return JSONRPCNotificationSchema.parse({
|
|
414
|
+
jsonrpc: "2.0",
|
|
415
|
+
method,
|
|
416
|
+
params
|
|
417
|
+
});
|
|
390
418
|
}
|
|
391
419
|
};
|
|
392
420
|
var isId = (value) => {
|
|
@@ -427,11 +455,16 @@ var CaliperNotificationSchema = zod.z.union([
|
|
|
427
455
|
params: CaliperAgentStateSchema
|
|
428
456
|
})
|
|
429
457
|
]);
|
|
430
|
-
var BridgeMessageSchema = zod.z.union([
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
458
|
+
var BridgeMessageSchema = zod.z.union([CaliperResponseSchema, CaliperNotificationSchema]);
|
|
459
|
+
function isBridgeNotification(msg) {
|
|
460
|
+
return "method" in msg;
|
|
461
|
+
}
|
|
462
|
+
function isBridgeErrorResponse(msg) {
|
|
463
|
+
return "error" in msg;
|
|
464
|
+
}
|
|
465
|
+
function isBridgeResultResponse(msg) {
|
|
466
|
+
return "result" in msg;
|
|
467
|
+
}
|
|
435
468
|
zod.z.object({
|
|
436
469
|
selector: zod.z.string()
|
|
437
470
|
});
|
|
@@ -994,8 +1027,7 @@ var BridgeService = class extends events.EventEmitter {
|
|
|
994
1027
|
resolve();
|
|
995
1028
|
});
|
|
996
1029
|
server2.on("error", (error) => {
|
|
997
|
-
|
|
998
|
-
if (err.code === "EADDRINUSE" && remaining > 0) {
|
|
1030
|
+
if (error.code === "EADDRINUSE" && remaining > 0) {
|
|
999
1031
|
const attemptNum = retries - remaining + 1;
|
|
1000
1032
|
const delay = getExponentialBackoff(attemptNum - 1, 500);
|
|
1001
1033
|
logger3.warn(
|
|
@@ -1007,7 +1039,7 @@ var BridgeService = class extends events.EventEmitter {
|
|
|
1007
1039
|
attemptStart(currentPort, remaining - 1).then(resolve).catch(reject);
|
|
1008
1040
|
}, delay);
|
|
1009
1041
|
} else {
|
|
1010
|
-
const errorMessage =
|
|
1042
|
+
const errorMessage = error.code === "EADDRINUSE" ? `Port ${currentPort} is already in use by another process. Please close the other instance of Caliper or use a different port.` : `WebSocket server error: ${String(error)}`;
|
|
1011
1043
|
logger3.error(errorMessage);
|
|
1012
1044
|
this.startupError = errorMessage;
|
|
1013
1045
|
server2.close();
|
|
@@ -1060,40 +1092,7 @@ var BridgeService = class extends events.EventEmitter {
|
|
|
1060
1092
|
return;
|
|
1061
1093
|
}
|
|
1062
1094
|
const message = result.data;
|
|
1063
|
-
if (
|
|
1064
|
-
if ("result" in message) {
|
|
1065
|
-
const resolve = this.pendingCalls.get(String(message.id));
|
|
1066
|
-
if (resolve) {
|
|
1067
|
-
const finalResult = message.result;
|
|
1068
|
-
if (isCaliperActionResult(finalResult)) {
|
|
1069
|
-
if (finalResult.success && finalResult.method === CALIPER_METHODS.WALK_AND_MEASURE && binaryPayload) {
|
|
1070
|
-
try {
|
|
1071
|
-
const root = BitBridge.deserialize(binaryPayload);
|
|
1072
|
-
if ("walkResult" in finalResult) {
|
|
1073
|
-
finalResult.walkResult.root = root;
|
|
1074
|
-
}
|
|
1075
|
-
} catch (error) {
|
|
1076
|
-
logger3.error("Bit-Bridge reconstruction failed:", error);
|
|
1077
|
-
}
|
|
1078
|
-
}
|
|
1079
|
-
resolve(finalResult);
|
|
1080
|
-
} else if (finalResult && typeof finalResult === "object" && "error" in finalResult) {
|
|
1081
|
-
resolve(finalResult);
|
|
1082
|
-
} else {
|
|
1083
|
-
resolve({ error: "Unexpected result format received from bridge" });
|
|
1084
|
-
}
|
|
1085
|
-
this.pendingCalls.delete(String(message.id));
|
|
1086
|
-
}
|
|
1087
|
-
} else if ("error" in message) {
|
|
1088
|
-
if (message.id !== null) {
|
|
1089
|
-
const resolve = this.pendingCalls.get(String(message.id));
|
|
1090
|
-
if (resolve) {
|
|
1091
|
-
resolve({ error: message.error.message });
|
|
1092
|
-
this.pendingCalls.delete(String(message.id));
|
|
1093
|
-
}
|
|
1094
|
-
}
|
|
1095
|
-
}
|
|
1096
|
-
} else if ("method" in message) {
|
|
1095
|
+
if (isBridgeNotification(message)) {
|
|
1097
1096
|
if (message.method === CALIPER_METHODS.REGISTER_TAB) {
|
|
1098
1097
|
const { tabId: newTabId, url, title, isFocused } = message.params;
|
|
1099
1098
|
tabId = newTabId;
|
|
@@ -1110,9 +1109,46 @@ var BridgeService = class extends events.EventEmitter {
|
|
|
1110
1109
|
tabManager.updateTab(tabId, isFocused);
|
|
1111
1110
|
}
|
|
1112
1111
|
} else if (message.method === CALIPER_METHODS.STATE_UPDATE) {
|
|
1113
|
-
|
|
1114
|
-
|
|
1112
|
+
this.emit(BRIDGE_EVENTS.STATE, message.params);
|
|
1113
|
+
}
|
|
1114
|
+
return;
|
|
1115
|
+
}
|
|
1116
|
+
if (isBridgeErrorResponse(message)) {
|
|
1117
|
+
if (message.id !== null) {
|
|
1118
|
+
const resolve = this.pendingCalls.get(String(message.id));
|
|
1119
|
+
if (resolve) {
|
|
1120
|
+
resolve({ error: message.error.message });
|
|
1121
|
+
this.pendingCalls.delete(String(message.id));
|
|
1122
|
+
}
|
|
1123
|
+
}
|
|
1124
|
+
return;
|
|
1125
|
+
}
|
|
1126
|
+
if (isBridgeResultResponse(message)) {
|
|
1127
|
+
const resolve = this.pendingCalls.get(String(message.id));
|
|
1128
|
+
if (!resolve) return;
|
|
1129
|
+
const finalResult = message.result;
|
|
1130
|
+
if (isCaliperActionResult(finalResult)) {
|
|
1131
|
+
if ("walkResult" in finalResult && binaryPayload) {
|
|
1132
|
+
try {
|
|
1133
|
+
const raw = BitBridge.deserialize(binaryPayload);
|
|
1134
|
+
const parsed = CaliperNodeSchema.safeParse(raw);
|
|
1135
|
+
if (parsed.success) {
|
|
1136
|
+
finalResult.walkResult.root = parsed.data;
|
|
1137
|
+
} else {
|
|
1138
|
+
logger3.error(
|
|
1139
|
+
"Bit-Bridge deserialized node failed schema validation",
|
|
1140
|
+
zod.z.treeifyError(parsed.error)
|
|
1141
|
+
);
|
|
1142
|
+
}
|
|
1143
|
+
} catch (error) {
|
|
1144
|
+
logger3.error("Bit-Bridge reconstruction failed:", error);
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
resolve(finalResult);
|
|
1148
|
+
} else {
|
|
1149
|
+
resolve({ error: "Unexpected result format received from bridge" });
|
|
1115
1150
|
}
|
|
1151
|
+
this.pendingCalls.delete(String(message.id));
|
|
1116
1152
|
}
|
|
1117
1153
|
} catch (error) {
|
|
1118
1154
|
logger3.error("WS Message Processing Error:", error);
|
|
@@ -1634,7 +1670,7 @@ var CaliperMcpServer = class {
|
|
|
1634
1670
|
this.port = port2;
|
|
1635
1671
|
this.server = new mcp_js.McpServer({
|
|
1636
1672
|
name: "caliper-mcp-server",
|
|
1637
|
-
version: "0.2.
|
|
1673
|
+
version: "0.2.2"
|
|
1638
1674
|
});
|
|
1639
1675
|
this.registerTools();
|
|
1640
1676
|
this.registerResources();
|
|
@@ -2287,7 +2323,7 @@ Options:
|
|
|
2287
2323
|
`);
|
|
2288
2324
|
process.exit(0);
|
|
2289
2325
|
} else if (args[i] === "--docs" || args[i] === "-d") {
|
|
2290
|
-
console.
|
|
2326
|
+
console.error("\n\u{1F4DA} View Documentation: https://caliper.danieloyerinde.com/\n");
|
|
2291
2327
|
process.exit(0);
|
|
2292
2328
|
}
|
|
2293
2329
|
}
|
package/dist/mcp.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import { JSONRPCErrorResponseSchema as JSONRPCErrorResponseSchema$1,
|
|
5
|
+
import { JSONRPCErrorResponseSchema as JSONRPCErrorResponseSchema$1, JSONRPCRequestSchema as JSONRPCRequestSchema$1, JSONRPCResultResponseSchema as JSONRPCResultResponseSchema$1, JSONRPCNotificationSchema as JSONRPCNotificationSchema$1 } from '@modelcontextprotocol/sdk/types.js';
|
|
6
6
|
import { WebSocketServer } from 'ws';
|
|
7
7
|
import { EventEmitter } from 'events';
|
|
8
8
|
|
|
@@ -295,8 +295,20 @@ var SourceHintsSchema = z.object({
|
|
|
295
295
|
tagName: z.string()
|
|
296
296
|
});
|
|
297
297
|
var CaliperActionResultSchema = z.union([
|
|
298
|
-
z.object({
|
|
299
|
-
|
|
298
|
+
z.object({
|
|
299
|
+
success: z.literal(true),
|
|
300
|
+
method: z.literal(CALIPER_METHODS.SELECT),
|
|
301
|
+
selector: z.string(),
|
|
302
|
+
selection: SelectionMetadataSchema,
|
|
303
|
+
timestamp: z.number()
|
|
304
|
+
}),
|
|
305
|
+
z.object({
|
|
306
|
+
success: z.literal(true),
|
|
307
|
+
method: z.literal(CALIPER_METHODS.MEASURE),
|
|
308
|
+
selector: z.string(),
|
|
309
|
+
measurement: MeasurementResultSchema,
|
|
310
|
+
timestamp: z.number()
|
|
311
|
+
}),
|
|
300
312
|
z.object({
|
|
301
313
|
success: z.literal(true),
|
|
302
314
|
method: z.literal(CALIPER_METHODS.INSPECT),
|
|
@@ -317,8 +329,16 @@ var CaliperActionResultSchema = z.union([
|
|
|
317
329
|
sourceHints: SourceHintsSchema.optional(),
|
|
318
330
|
timestamp: z.number()
|
|
319
331
|
}),
|
|
320
|
-
z.object({
|
|
321
|
-
|
|
332
|
+
z.object({
|
|
333
|
+
success: z.literal(true),
|
|
334
|
+
method: z.literal(CALIPER_METHODS.FREEZE),
|
|
335
|
+
timestamp: z.number()
|
|
336
|
+
}),
|
|
337
|
+
z.object({
|
|
338
|
+
success: z.literal(true),
|
|
339
|
+
method: z.literal(CALIPER_METHODS.CLEAR),
|
|
340
|
+
timestamp: z.number()
|
|
341
|
+
}),
|
|
322
342
|
z.object({
|
|
323
343
|
success: z.literal(true),
|
|
324
344
|
method: z.literal(CALIPER_METHODS.WALK_DOM),
|
|
@@ -381,10 +401,18 @@ var RpcFactory = class {
|
|
|
381
401
|
return JSONRPCResultResponseSchema.parse({ jsonrpc: "2.0", id, result });
|
|
382
402
|
}
|
|
383
403
|
static error(id, code, message, data) {
|
|
384
|
-
return JSONRPCErrorResponseSchema.parse({
|
|
404
|
+
return JSONRPCErrorResponseSchema.parse({
|
|
405
|
+
jsonrpc: "2.0",
|
|
406
|
+
id,
|
|
407
|
+
error: { code, message, data }
|
|
408
|
+
});
|
|
385
409
|
}
|
|
386
410
|
static notification(method, params) {
|
|
387
|
-
return JSONRPCNotificationSchema.parse({
|
|
411
|
+
return JSONRPCNotificationSchema.parse({
|
|
412
|
+
jsonrpc: "2.0",
|
|
413
|
+
method,
|
|
414
|
+
params
|
|
415
|
+
});
|
|
388
416
|
}
|
|
389
417
|
};
|
|
390
418
|
var isId = (value) => {
|
|
@@ -425,11 +453,16 @@ var CaliperNotificationSchema = z.union([
|
|
|
425
453
|
params: CaliperAgentStateSchema
|
|
426
454
|
})
|
|
427
455
|
]);
|
|
428
|
-
var BridgeMessageSchema = z.union([
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
456
|
+
var BridgeMessageSchema = z.union([CaliperResponseSchema, CaliperNotificationSchema]);
|
|
457
|
+
function isBridgeNotification(msg) {
|
|
458
|
+
return "method" in msg;
|
|
459
|
+
}
|
|
460
|
+
function isBridgeErrorResponse(msg) {
|
|
461
|
+
return "error" in msg;
|
|
462
|
+
}
|
|
463
|
+
function isBridgeResultResponse(msg) {
|
|
464
|
+
return "result" in msg;
|
|
465
|
+
}
|
|
433
466
|
z.object({
|
|
434
467
|
selector: z.string()
|
|
435
468
|
});
|
|
@@ -992,8 +1025,7 @@ var BridgeService = class extends EventEmitter {
|
|
|
992
1025
|
resolve();
|
|
993
1026
|
});
|
|
994
1027
|
server2.on("error", (error) => {
|
|
995
|
-
|
|
996
|
-
if (err.code === "EADDRINUSE" && remaining > 0) {
|
|
1028
|
+
if (error.code === "EADDRINUSE" && remaining > 0) {
|
|
997
1029
|
const attemptNum = retries - remaining + 1;
|
|
998
1030
|
const delay = getExponentialBackoff(attemptNum - 1, 500);
|
|
999
1031
|
logger3.warn(
|
|
@@ -1005,7 +1037,7 @@ var BridgeService = class extends EventEmitter {
|
|
|
1005
1037
|
attemptStart(currentPort, remaining - 1).then(resolve).catch(reject);
|
|
1006
1038
|
}, delay);
|
|
1007
1039
|
} else {
|
|
1008
|
-
const errorMessage =
|
|
1040
|
+
const errorMessage = error.code === "EADDRINUSE" ? `Port ${currentPort} is already in use by another process. Please close the other instance of Caliper or use a different port.` : `WebSocket server error: ${String(error)}`;
|
|
1009
1041
|
logger3.error(errorMessage);
|
|
1010
1042
|
this.startupError = errorMessage;
|
|
1011
1043
|
server2.close();
|
|
@@ -1058,40 +1090,7 @@ var BridgeService = class extends EventEmitter {
|
|
|
1058
1090
|
return;
|
|
1059
1091
|
}
|
|
1060
1092
|
const message = result.data;
|
|
1061
|
-
if (
|
|
1062
|
-
if ("result" in message) {
|
|
1063
|
-
const resolve = this.pendingCalls.get(String(message.id));
|
|
1064
|
-
if (resolve) {
|
|
1065
|
-
const finalResult = message.result;
|
|
1066
|
-
if (isCaliperActionResult(finalResult)) {
|
|
1067
|
-
if (finalResult.success && finalResult.method === CALIPER_METHODS.WALK_AND_MEASURE && binaryPayload) {
|
|
1068
|
-
try {
|
|
1069
|
-
const root = BitBridge.deserialize(binaryPayload);
|
|
1070
|
-
if ("walkResult" in finalResult) {
|
|
1071
|
-
finalResult.walkResult.root = root;
|
|
1072
|
-
}
|
|
1073
|
-
} catch (error) {
|
|
1074
|
-
logger3.error("Bit-Bridge reconstruction failed:", error);
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
1077
|
-
resolve(finalResult);
|
|
1078
|
-
} else if (finalResult && typeof finalResult === "object" && "error" in finalResult) {
|
|
1079
|
-
resolve(finalResult);
|
|
1080
|
-
} else {
|
|
1081
|
-
resolve({ error: "Unexpected result format received from bridge" });
|
|
1082
|
-
}
|
|
1083
|
-
this.pendingCalls.delete(String(message.id));
|
|
1084
|
-
}
|
|
1085
|
-
} else if ("error" in message) {
|
|
1086
|
-
if (message.id !== null) {
|
|
1087
|
-
const resolve = this.pendingCalls.get(String(message.id));
|
|
1088
|
-
if (resolve) {
|
|
1089
|
-
resolve({ error: message.error.message });
|
|
1090
|
-
this.pendingCalls.delete(String(message.id));
|
|
1091
|
-
}
|
|
1092
|
-
}
|
|
1093
|
-
}
|
|
1094
|
-
} else if ("method" in message) {
|
|
1093
|
+
if (isBridgeNotification(message)) {
|
|
1095
1094
|
if (message.method === CALIPER_METHODS.REGISTER_TAB) {
|
|
1096
1095
|
const { tabId: newTabId, url, title, isFocused } = message.params;
|
|
1097
1096
|
tabId = newTabId;
|
|
@@ -1108,9 +1107,46 @@ var BridgeService = class extends EventEmitter {
|
|
|
1108
1107
|
tabManager.updateTab(tabId, isFocused);
|
|
1109
1108
|
}
|
|
1110
1109
|
} else if (message.method === CALIPER_METHODS.STATE_UPDATE) {
|
|
1111
|
-
|
|
1112
|
-
|
|
1110
|
+
this.emit(BRIDGE_EVENTS.STATE, message.params);
|
|
1111
|
+
}
|
|
1112
|
+
return;
|
|
1113
|
+
}
|
|
1114
|
+
if (isBridgeErrorResponse(message)) {
|
|
1115
|
+
if (message.id !== null) {
|
|
1116
|
+
const resolve = this.pendingCalls.get(String(message.id));
|
|
1117
|
+
if (resolve) {
|
|
1118
|
+
resolve({ error: message.error.message });
|
|
1119
|
+
this.pendingCalls.delete(String(message.id));
|
|
1120
|
+
}
|
|
1121
|
+
}
|
|
1122
|
+
return;
|
|
1123
|
+
}
|
|
1124
|
+
if (isBridgeResultResponse(message)) {
|
|
1125
|
+
const resolve = this.pendingCalls.get(String(message.id));
|
|
1126
|
+
if (!resolve) return;
|
|
1127
|
+
const finalResult = message.result;
|
|
1128
|
+
if (isCaliperActionResult(finalResult)) {
|
|
1129
|
+
if ("walkResult" in finalResult && binaryPayload) {
|
|
1130
|
+
try {
|
|
1131
|
+
const raw = BitBridge.deserialize(binaryPayload);
|
|
1132
|
+
const parsed = CaliperNodeSchema.safeParse(raw);
|
|
1133
|
+
if (parsed.success) {
|
|
1134
|
+
finalResult.walkResult.root = parsed.data;
|
|
1135
|
+
} else {
|
|
1136
|
+
logger3.error(
|
|
1137
|
+
"Bit-Bridge deserialized node failed schema validation",
|
|
1138
|
+
z.treeifyError(parsed.error)
|
|
1139
|
+
);
|
|
1140
|
+
}
|
|
1141
|
+
} catch (error) {
|
|
1142
|
+
logger3.error("Bit-Bridge reconstruction failed:", error);
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
resolve(finalResult);
|
|
1146
|
+
} else {
|
|
1147
|
+
resolve({ error: "Unexpected result format received from bridge" });
|
|
1113
1148
|
}
|
|
1149
|
+
this.pendingCalls.delete(String(message.id));
|
|
1114
1150
|
}
|
|
1115
1151
|
} catch (error) {
|
|
1116
1152
|
logger3.error("WS Message Processing Error:", error);
|
|
@@ -1632,7 +1668,7 @@ var CaliperMcpServer = class {
|
|
|
1632
1668
|
this.port = port2;
|
|
1633
1669
|
this.server = new McpServer({
|
|
1634
1670
|
name: "caliper-mcp-server",
|
|
1635
|
-
version: "0.2.
|
|
1671
|
+
version: "0.2.2"
|
|
1636
1672
|
});
|
|
1637
1673
|
this.registerTools();
|
|
1638
1674
|
this.registerResources();
|
|
@@ -2285,7 +2321,7 @@ Options:
|
|
|
2285
2321
|
`);
|
|
2286
2322
|
process.exit(0);
|
|
2287
2323
|
} else if (args[i] === "--docs" || args[i] === "-d") {
|
|
2288
|
-
console.
|
|
2324
|
+
console.error("\n\u{1F4DA} View Documentation: https://caliper.danieloyerinde.com/\n");
|
|
2289
2325
|
process.exit(0);
|
|
2290
2326
|
}
|
|
2291
2327
|
}
|
package/dist/preset.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkAHX2GS7J_cjs = require('./chunk-AHX2GS7J.cjs');
|
|
4
|
+
var chunk2SVFU7M3_cjs = require('./chunk-2SVFU7M3.cjs');
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @name @oyerinde/caliper
|
|
@@ -16,7 +16,7 @@ var chunkPYAVLOZM_cjs = require('./chunk-PYAVLOZM.cjs');
|
|
|
16
16
|
|
|
17
17
|
// src/preset.ts
|
|
18
18
|
function init(configuration, extensions = []) {
|
|
19
|
-
const caliperInstance =
|
|
19
|
+
const caliperInstance = chunkAHX2GS7J_cjs.createOverlay(configuration);
|
|
20
20
|
if (extensions && Array.isArray(extensions)) {
|
|
21
21
|
extensions.forEach((extension) => {
|
|
22
22
|
if (typeof extension === "function") {
|
|
@@ -31,14 +31,14 @@ function init(configuration, extensions = []) {
|
|
|
31
31
|
|
|
32
32
|
Object.defineProperty(exports, "caliperProps", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkAHX2GS7J_cjs.caliperProps; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "CaliperAgentStateSchema", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunk2SVFU7M3_cjs.CaliperAgentStateSchema; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "CaliperBridge", {
|
|
41
41
|
enumerable: true,
|
|
42
|
-
get: function () { return
|
|
42
|
+
get: function () { return chunk2SVFU7M3_cjs.CaliperBridge; }
|
|
43
43
|
});
|
|
44
44
|
exports.init = init;
|
package/dist/preset.d.cts
CHANGED
|
@@ -469,7 +469,7 @@ export declare const CaliperAgentStateSchema: z.ZodObject<{
|
|
|
469
469
|
* When installed, this plugin:
|
|
470
470
|
* 1. Starts a local WebSocket server (or connects to one) to receive agent commands.
|
|
471
471
|
* 2. Exposes `window.dispatchCaliperIntent` for manual/in-page agentic calls.
|
|
472
|
-
* 3. Syncs the overlay state (
|
|
472
|
+
* 3. Syncs the overlay state (selection, measurements) back to the agent.
|
|
473
473
|
*
|
|
474
474
|
* @example
|
|
475
475
|
* ```ts
|
package/dist/preset.d.ts
CHANGED
|
@@ -469,7 +469,7 @@ export declare const CaliperAgentStateSchema: z.ZodObject<{
|
|
|
469
469
|
* When installed, this plugin:
|
|
470
470
|
* 1. Starts a local WebSocket server (or connects to one) to receive agent commands.
|
|
471
471
|
* 2. Exposes `window.dispatchCaliperIntent` for manual/in-page agentic calls.
|
|
472
|
-
* 3. Syncs the overlay state (
|
|
472
|
+
* 3. Syncs the overlay state (selection, measurements) back to the agent.
|
|
473
473
|
*
|
|
474
474
|
* @example
|
|
475
475
|
* ```ts
|
package/dist/preset.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createOverlay } from './chunk-
|
|
2
|
-
export { caliperProps } from './chunk-
|
|
3
|
-
export { CaliperAgentStateSchema, CaliperBridge } from './chunk-
|
|
1
|
+
import { createOverlay } from './chunk-YLE25XII.js';
|
|
2
|
+
export { caliperProps } from './chunk-YLE25XII.js';
|
|
3
|
+
export { CaliperAgentStateSchema, CaliperBridge } from './chunk-PRUCSUJA.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @name @oyerinde/caliper
|
package/dist/version.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oyerinde/caliper",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "High-precision browser measurements, projections, and layout auditing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -117,13 +117,13 @@
|
|
|
117
117
|
"solid-js": "^1.9.10",
|
|
118
118
|
"tsup": "^8.5.1",
|
|
119
119
|
"typescript": "5.9.3",
|
|
120
|
-
"@caliper/core": "0.0.0",
|
|
121
|
-
"@caliper/overlay": "0.0.0",
|
|
122
120
|
"@oyerinde/caliper-schema": "0.1.0",
|
|
123
|
-
"@
|
|
121
|
+
"@caliper/overlay": "0.0.0",
|
|
122
|
+
"@caliper/core": "0.0.0",
|
|
123
|
+
"@oyerinde/caliper-mcp": "0.1.0",
|
|
124
124
|
"@repo/eslint-config": "0.0.0",
|
|
125
125
|
"@repo/typescript-config": "0.0.0",
|
|
126
|
-
"@oyerinde/caliper-
|
|
126
|
+
"@oyerinde/caliper-bridge": "0.1.0"
|
|
127
127
|
},
|
|
128
128
|
"scripts": {
|
|
129
129
|
"prebuild": "node scripts/write-version.mjs",
|