@qverisai/mcp 0.14.5 → 0.15.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.
- package/CHANGELOG.md +29 -1
- package/README.md +14 -6
- package/dist/api/client.d.ts +13 -3
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +146 -6
- package/dist/api/client.js.map +1 -1
- package/dist/http.d.ts +2 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +64 -18
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +56 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +163 -13
- package/dist/index.js.map +1 -1
- package/dist/operation-lifecycle.d.ts +4 -0
- package/dist/operation-lifecycle.d.ts.map +1 -0
- package/dist/operation-lifecycle.js +23 -0
- package/dist/operation-lifecycle.js.map +1 -0
- package/dist/output-schemas.d.ts.map +1 -1
- package/dist/output-schemas.js +12 -0
- package/dist/output-schemas.js.map +1 -1
- package/dist/tools/execute.d.ts +24 -2
- package/dist/tools/execute.d.ts.map +1 -1
- package/dist/tools/execute.js +45 -6
- package/dist/tools/execute.js.map +1 -1
- package/dist/tools/lookup-execution.d.ts +19 -0
- package/dist/tools/lookup-execution.d.ts.map +1 -0
- package/dist/tools/lookup-execution.js +28 -0
- package/dist/tools/lookup-execution.js.map +1 -0
- package/dist/tools/probe.d.ts +7 -0
- package/dist/tools/probe.d.ts.map +1 -1
- package/dist/tools/probe.js +7 -0
- package/dist/tools/probe.js.map +1 -1
- package/dist/types.d.ts +303 -18
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation-lifecycle.d.ts","sourceRoot":"","sources":["../src/operation-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKxE,wBAAsB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAazF;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// A disconnected HTTP response does not mean its provider operation finished.
|
|
2
|
+
const operations = new WeakMap();
|
|
3
|
+
export async function trackOperation(server, run) {
|
|
4
|
+
let pending = operations.get(server);
|
|
5
|
+
if (!pending) {
|
|
6
|
+
pending = new Set();
|
|
7
|
+
operations.set(server, pending);
|
|
8
|
+
}
|
|
9
|
+
const operation = Promise.resolve().then(run);
|
|
10
|
+
pending.add(operation);
|
|
11
|
+
try {
|
|
12
|
+
return await operation;
|
|
13
|
+
}
|
|
14
|
+
finally {
|
|
15
|
+
pending.delete(operation);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export async function waitForOperations(server) {
|
|
19
|
+
const pending = operations.get(server);
|
|
20
|
+
while (pending?.size)
|
|
21
|
+
await Promise.allSettled([...pending]);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=operation-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation-lifecycle.js","sourceRoot":"","sources":["../src/operation-lifecycle.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,MAAM,UAAU,GAAG,IAAI,OAAO,EAAiC,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,MAAc,EAAE,GAAqB;IAC3E,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC;IACzB,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,OAAO,EAAE,IAAI;QAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-schemas.d.ts","sourceRoot":"","sources":["../src/output-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"output-schemas.d.ts","sourceRoot":"","sources":["../src/output-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuEH,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQtD,CAAC"}
|
package/dist/output-schemas.js
CHANGED
|
@@ -60,6 +60,17 @@ const auditResponseSchema = {
|
|
|
60
60
|
},
|
|
61
61
|
additionalProperties: true,
|
|
62
62
|
};
|
|
63
|
+
const executionLookupSchema = {
|
|
64
|
+
type: 'object',
|
|
65
|
+
properties: {
|
|
66
|
+
status: { type: 'string' },
|
|
67
|
+
execution_id: { type: 'string' },
|
|
68
|
+
response: {
|
|
69
|
+
anyOf: [{ type: 'object', additionalProperties: true }, { type: 'null' }],
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
additionalProperties: true,
|
|
73
|
+
};
|
|
63
74
|
/** outputSchema per canonical tool name (deprecated aliases share them). */
|
|
64
75
|
export const TOOL_OUTPUT_SCHEMAS = {
|
|
65
76
|
discover: searchResponseSchema,
|
|
@@ -68,5 +79,6 @@ export const TOOL_OUTPUT_SCHEMAS = {
|
|
|
68
79
|
call: executeResponseSchema,
|
|
69
80
|
usage_history: auditResponseSchema,
|
|
70
81
|
credits_ledger: auditResponseSchema,
|
|
82
|
+
lookup_execution: executionLookupSchema,
|
|
71
83
|
};
|
|
72
84
|
//# sourceMappingURL=output-schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-schemas.js","sourceRoot":"","sources":["../src/output-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;QACrF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACnC,aAAa,EAAE,EAAE;iBAClB;gBACD,oBAAoB,EAAE,IAAI;aAC3B;SACF;KACF;IACD,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX,MAAM,qBAAqB,GAAG;IAC5B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;QACtF,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACvD,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;KACrE;IACD,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACtD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACrD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACxD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;KACvD;IACD,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE;KAChF;IACD,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX,4EAA4E;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,qBAAqB;IAC3B,aAAa,EAAE,mBAAmB;IAClC,cAAc,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"output-schemas.js","sourceRoot":"","sources":["../src/output-schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/execute.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ import type { ExecuteResponse } from '../types.js';
|
|
|
12
12
|
* Input parameters for the call tool.
|
|
13
13
|
*/
|
|
14
14
|
export interface ExecuteToolInput {
|
|
15
|
+
/** End-user identity for provider OAuth; use the same value as Probe. */
|
|
16
|
+
sub_user_id?: string;
|
|
15
17
|
/**
|
|
16
18
|
* The ID of the remote tool to execute.
|
|
17
19
|
* Must be obtained from discover results.
|
|
@@ -43,11 +45,13 @@ export interface ExecuteToolInput {
|
|
|
43
45
|
* will be truncated and a download URL provided for the full content.
|
|
44
46
|
*
|
|
45
47
|
* @default 20480 (20KB)
|
|
46
|
-
*
|
|
48
|
+
* Must be -1 (no limit) or a positive integer.
|
|
47
49
|
*/
|
|
48
50
|
max_response_size?: number;
|
|
49
51
|
/** Server-side result projection. Omit for the legacy/full response. */
|
|
50
52
|
respond_with?: 'full' | 'summary' | `fields:${string}`;
|
|
53
|
+
/** Probe and require the server-side exact quote to be zero before Call. */
|
|
54
|
+
require_zero_quote?: boolean;
|
|
51
55
|
}
|
|
52
56
|
/**
|
|
53
57
|
* JSON Schema for the call tool input.
|
|
@@ -56,6 +60,12 @@ export interface ExecuteToolInput {
|
|
|
56
60
|
export declare const executeToolSchema: {
|
|
57
61
|
type: "object";
|
|
58
62
|
properties: {
|
|
63
|
+
sub_user_id: {
|
|
64
|
+
type: string;
|
|
65
|
+
minLength: number;
|
|
66
|
+
pattern: string;
|
|
67
|
+
description: string;
|
|
68
|
+
};
|
|
59
69
|
tool_id: {
|
|
60
70
|
type: string;
|
|
61
71
|
description: string;
|
|
@@ -78,7 +88,15 @@ export declare const executeToolSchema: {
|
|
|
78
88
|
description: string;
|
|
79
89
|
};
|
|
80
90
|
max_response_size: {
|
|
81
|
-
|
|
91
|
+
anyOf: ({
|
|
92
|
+
const: number;
|
|
93
|
+
type?: undefined;
|
|
94
|
+
minimum?: undefined;
|
|
95
|
+
} | {
|
|
96
|
+
type: string;
|
|
97
|
+
minimum: number;
|
|
98
|
+
const?: undefined;
|
|
99
|
+
})[];
|
|
82
100
|
description: string;
|
|
83
101
|
default: number;
|
|
84
102
|
};
|
|
@@ -87,6 +105,10 @@ export declare const executeToolSchema: {
|
|
|
87
105
|
pattern: string;
|
|
88
106
|
description: string;
|
|
89
107
|
};
|
|
108
|
+
require_zero_quote: {
|
|
109
|
+
type: string;
|
|
110
|
+
description: string;
|
|
111
|
+
};
|
|
90
112
|
};
|
|
91
113
|
required: string[];
|
|
92
114
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,MAAM,EAAE,CAAC;IAEvD,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2D7B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,gBAAgB,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,eAAe,CAAC,CAkD1B"}
|
package/dist/tools/execute.js
CHANGED
|
@@ -14,6 +14,12 @@ import { normalizeCreditBalanceResponse } from '../api/credit-balance.js';
|
|
|
14
14
|
export const executeToolSchema = {
|
|
15
15
|
type: 'object',
|
|
16
16
|
properties: {
|
|
17
|
+
sub_user_id: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
minLength: 1,
|
|
20
|
+
pattern: '.*\\S.*',
|
|
21
|
+
description: 'End-user identity for provider OAuth; use the same value as Probe.',
|
|
22
|
+
},
|
|
17
23
|
tool_id: {
|
|
18
24
|
type: 'string',
|
|
19
25
|
description: 'The ID of the remote tool to execute. Must come from a previous discover call.',
|
|
@@ -40,16 +46,21 @@ export const executeToolSchema = {
|
|
|
40
46
|
description: 'Model that selected and parameterized this capability call.',
|
|
41
47
|
},
|
|
42
48
|
max_response_size: {
|
|
43
|
-
type: '
|
|
44
|
-
description: '
|
|
45
|
-
'
|
|
49
|
+
anyOf: [{ const: -1 }, { type: 'integer', minimum: 1 }],
|
|
50
|
+
description: 'Automatic inline limit measured in UTF-8 bytes. When respond_with is omitted, oversized results use the overflow envelope. ' +
|
|
51
|
+
'Explicit full takes precedence over a finite value and either returns complete inline data or fails with response_too_large. ' +
|
|
46
52
|
'Use -1 for no limit. Default is 20480 (20KB).',
|
|
47
53
|
default: 20480,
|
|
48
54
|
},
|
|
49
55
|
respond_with: {
|
|
50
56
|
type: 'string',
|
|
51
57
|
pattern: '^(full|summary|fields:.+)$',
|
|
52
|
-
description: 'Server-side result projection: "full"
|
|
58
|
+
description: 'Server-side result projection: omit for compatibility auto-delivery; use "full" to force complete inline data, ' +
|
|
59
|
+
'"summary", or "fields:<JSONPath,...>".',
|
|
60
|
+
},
|
|
61
|
+
require_zero_quote: {
|
|
62
|
+
type: 'boolean',
|
|
63
|
+
description: 'When true, Probe schema and exact quote first, then require the server to reject the Call unless the current quote is exactly zero.',
|
|
53
64
|
},
|
|
54
65
|
},
|
|
55
66
|
required: ['tool_id', 'search_id', 'params_to_tool'],
|
|
@@ -67,14 +78,42 @@ export async function executeExecuteTool(client, input, defaultSessionId) {
|
|
|
67
78
|
if (!isParamsObject(input.params_to_tool)) {
|
|
68
79
|
throw new Error('params_to_tool must be a JSON object.');
|
|
69
80
|
}
|
|
70
|
-
|
|
81
|
+
if ('idempotency_key' in input) {
|
|
82
|
+
throw new Error('idempotency_key is host-controlled transport metadata and is not accepted in call arguments.');
|
|
83
|
+
}
|
|
84
|
+
if (input.max_response_size !== undefined &&
|
|
85
|
+
input.max_response_size !== -1 &&
|
|
86
|
+
(!Number.isInteger(input.max_response_size) || input.max_response_size <= 0)) {
|
|
87
|
+
throw new Error('max_response_size must be -1 or a positive integer.');
|
|
88
|
+
}
|
|
89
|
+
if (input.require_zero_quote === true) {
|
|
90
|
+
const probe = await client.probeTool(input.tool_id, {
|
|
91
|
+
...(input.sub_user_id !== undefined && { sub_user_id: input.sub_user_id }),
|
|
92
|
+
parameters: input.params_to_tool,
|
|
93
|
+
checks: ['schema', 'quote'],
|
|
94
|
+
live_budget: 'none',
|
|
95
|
+
});
|
|
96
|
+
if (probe.executable !== true ||
|
|
97
|
+
!probe.execution_constraints_supported?.includes('require_zero_quote_v1') ||
|
|
98
|
+
probe.schema?.valid !== true ||
|
|
99
|
+
probe.quote?.exact !== true ||
|
|
100
|
+
probe.quote.currency !== 'credits' ||
|
|
101
|
+
typeof probe.quote.estimate_credits !== 'number' ||
|
|
102
|
+
probe.quote.estimate_credits !== 0) {
|
|
103
|
+
throw new Error('Zero-quote Call blocked: executable schema, require_zero_quote_v1 support, and exact zero-credit quote were not confirmed.');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const request = {
|
|
71
107
|
search_id: input.search_id,
|
|
72
108
|
session_id: input.session_id ?? defaultSessionId,
|
|
73
109
|
...(input.model !== undefined && { model: input.model }),
|
|
74
110
|
parameters: input.params_to_tool,
|
|
111
|
+
...(input.sub_user_id !== undefined && { sub_user_id: input.sub_user_id }),
|
|
75
112
|
max_response_size: input.max_response_size,
|
|
76
113
|
...(input.respond_with !== undefined && { respond_with: input.respond_with }),
|
|
77
|
-
|
|
114
|
+
...(input.require_zero_quote !== undefined && { require_zero_quote: input.require_zero_quote }),
|
|
115
|
+
};
|
|
116
|
+
const response = await client.executeTool(input.tool_id, request);
|
|
78
117
|
return normalizeCreditBalanceResponse(response);
|
|
79
118
|
}
|
|
80
119
|
function isParamsObject(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { QverisClient } from '../api/client.js';
|
|
2
|
+
import type { ExecutionLookupResponse } from '../types.js';
|
|
3
|
+
export interface LookupExecutionInput {
|
|
4
|
+
idempotency_key: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const lookupExecutionSchema: {
|
|
7
|
+
type: "object";
|
|
8
|
+
properties: {
|
|
9
|
+
idempotency_key: {
|
|
10
|
+
type: string;
|
|
11
|
+
minLength: number;
|
|
12
|
+
description: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
required: string[];
|
|
16
|
+
};
|
|
17
|
+
/** Read-only lookup for the result associated with an earlier Call key. */
|
|
18
|
+
export declare function executeLookupExecution(client: QverisClient, input: LookupExecutionInput): Promise<ExecutionLookupResponse>;
|
|
19
|
+
//# sourceMappingURL=lookup-execution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookup-execution.d.ts","sourceRoot":"","sources":["../../src/tools/lookup-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;CAUjC,CAAC;AAEF,2EAA2E;AAC3E,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CAalC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const lookupExecutionSchema = {
|
|
2
|
+
type: 'object',
|
|
3
|
+
properties: {
|
|
4
|
+
idempotency_key: {
|
|
5
|
+
type: 'string',
|
|
6
|
+
minLength: 1,
|
|
7
|
+
description: 'The exact key used for the original Call. This lookup is read-only and never submits a Call.',
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
required: ['idempotency_key'],
|
|
11
|
+
};
|
|
12
|
+
/** Read-only lookup for the result associated with an earlier Call key. */
|
|
13
|
+
export async function executeLookupExecution(client, input) {
|
|
14
|
+
if (typeof input.idempotency_key !== 'string' || input.idempotency_key.trim().length === 0) {
|
|
15
|
+
throw new Error('idempotency_key must be a non-empty string.');
|
|
16
|
+
}
|
|
17
|
+
if (!client.hasIssuedExecutionKey(input.idempotency_key)) {
|
|
18
|
+
throw new Error('Execution lookup key was not issued or bound by this QverisClient instance.');
|
|
19
|
+
}
|
|
20
|
+
const response = await client.getExecutionByIdempotencyKey(input.idempotency_key);
|
|
21
|
+
if (response && typeof response === 'object') {
|
|
22
|
+
const envelope = response;
|
|
23
|
+
if (typeof envelope.status === 'string' && 'data' in envelope)
|
|
24
|
+
return envelope.data;
|
|
25
|
+
}
|
|
26
|
+
return response;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=lookup-execution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookup-execution.js","sourceRoot":"","sources":["../../src/tools/lookup-execution.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,QAAiB;IACvB,UAAU,EAAE;QACV,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,8FAA8F;SAC5G;KACF;IACD,QAAQ,EAAE,CAAC,iBAAiB,CAAC;CAC9B,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,KAA2B;IAE3B,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAClF,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,QAAgD,CAAC;QAClE,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,IAA+B,CAAC;IACjH,CAAC;IACD,OAAO,QAAmC,CAAC;AAC7C,CAAC"}
|
package/dist/tools/probe.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { QverisClient } from '../api/client.js';
|
|
2
2
|
import type { ProbeCheck, ProbeLiveBudget, ProbeResponse } from '../types.js';
|
|
3
3
|
export interface ProbeToolInput {
|
|
4
|
+
sub_user_id?: string;
|
|
4
5
|
tool_id: string;
|
|
5
6
|
parameters?: Record<string, unknown>;
|
|
6
7
|
checks?: ProbeCheck[];
|
|
@@ -9,6 +10,12 @@ export interface ProbeToolInput {
|
|
|
9
10
|
export declare const probeToolSchema: {
|
|
10
11
|
type: "object";
|
|
11
12
|
properties: {
|
|
13
|
+
sub_user_id: {
|
|
14
|
+
type: string;
|
|
15
|
+
minLength: number;
|
|
16
|
+
pattern: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
12
19
|
tool_id: {
|
|
13
20
|
type: string;
|
|
14
21
|
minLength: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../src/tools/probe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../src/tools/probe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC3B,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAO1G"}
|
package/dist/tools/probe.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export const probeToolSchema = {
|
|
2
2
|
type: 'object',
|
|
3
3
|
properties: {
|
|
4
|
+
sub_user_id: {
|
|
5
|
+
type: 'string',
|
|
6
|
+
minLength: 1,
|
|
7
|
+
pattern: '.*\\S.*',
|
|
8
|
+
description: 'End-user identity for provider OAuth; use the same value for Probe and Call.',
|
|
9
|
+
},
|
|
4
10
|
tool_id: {
|
|
5
11
|
type: 'string',
|
|
6
12
|
minLength: 1,
|
|
@@ -33,6 +39,7 @@ export async function executeProbeTool(client, input) {
|
|
|
33
39
|
parameters: input.parameters ?? {},
|
|
34
40
|
checks: input.checks ?? ['schema'],
|
|
35
41
|
live_budget: input.live_budget ?? 'none',
|
|
42
|
+
...(input.sub_user_id !== undefined && { sub_user_id: input.sub_user_id }),
|
|
36
43
|
});
|
|
37
44
|
}
|
|
38
45
|
//# sourceMappingURL=probe.js.map
|
package/dist/tools/probe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/tools/probe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/tools/probe.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,QAAiB;IACvB,UAAU,EAAE;QACV,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,8EAA8E;SAC5F;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,iDAAiD;SAC/D;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,IAAI;YAC1B,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,mCAAmC;SACjD;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;YAC1E,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC,QAAQ,CAAC;YACnB,WAAW,EAAE,gGAAgG;SAC9G;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC;YACrC,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,yEAAyE;SACvF;KACF;IACD,QAAQ,EAAE,CAAC,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAoB,EAAE,KAAqB;IAChF,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE;QACrC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC;QAClC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,MAAM;QACxC,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;KAC3E,CAAC,CAAC;AACL,CAAC"}
|