@ctxprotocol/sdk 0.8.4 → 0.9.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/README.md +16 -5
- package/dist/client/index.cjs +56 -50
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +147 -10
- package/dist/client/index.d.ts +147 -10
- package/dist/client/index.js +56 -50
- package/dist/client/index.js.map +1 -1
- package/dist/index.cjs +56 -50
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +56 -50
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/client/index.d.cts
CHANGED
|
@@ -299,12 +299,14 @@ interface ExecutionResult<T = unknown> {
|
|
|
299
299
|
}
|
|
300
300
|
/** Supported orchestration depth modes for query execution. */
|
|
301
301
|
type QueryDepth = "fast" | "auto" | "deep";
|
|
302
|
+
type QueryDeepMode = "deep-light" | "deep-heavy";
|
|
302
303
|
/**
|
|
303
304
|
* Options for the agentic query endpoint (pay-per-response).
|
|
304
305
|
*
|
|
305
306
|
* Unlike `execute()` which calls a single tool once, `query()` sends a
|
|
306
|
-
* natural-language question and lets the server handle
|
|
307
|
-
*
|
|
307
|
+
* natural-language question and lets the server handle discovery-first
|
|
308
|
+
* orchestration (`discover/probe -> plan-from-evidence -> execute ->
|
|
309
|
+
* bounded fallback`) plus synthesis.
|
|
308
310
|
* One flat fee covers up to 100 MCP skill calls per tool.
|
|
309
311
|
*/
|
|
310
312
|
interface QueryOptions {
|
|
@@ -333,8 +335,8 @@ interface QueryOptions {
|
|
|
333
335
|
includeDataUrl?: boolean;
|
|
334
336
|
/**
|
|
335
337
|
* Include machine-readable developer trace output for this query response.
|
|
336
|
-
* When enabled, the server may return
|
|
337
|
-
*
|
|
338
|
+
* When enabled, the server may return summary counters plus diagnostics
|
|
339
|
+
* for lane selection, scout probe adequacy, and bounded fallback behavior.
|
|
338
340
|
*/
|
|
339
341
|
includeDeveloperTrace?: boolean;
|
|
340
342
|
/**
|
|
@@ -344,6 +346,11 @@ interface QueryOptions {
|
|
|
344
346
|
* - `deep`: full completeness-oriented path
|
|
345
347
|
*/
|
|
346
348
|
queryDepth?: QueryDepth;
|
|
349
|
+
/**
|
|
350
|
+
* Development/testing only: force the server's internal deep lane.
|
|
351
|
+
* Ignored by normal production usage and invalid when `queryDepth` is `fast`.
|
|
352
|
+
*/
|
|
353
|
+
debugScoutDeepMode?: QueryDeepMode;
|
|
347
354
|
/**
|
|
348
355
|
* Optional idempotency key (UUID recommended).
|
|
349
356
|
* Reuse the same key when retrying the same logical request.
|
|
@@ -368,6 +375,98 @@ interface QueryDeveloperTraceLoopInfo {
|
|
|
368
375
|
maxIterations?: number;
|
|
369
376
|
[key: string]: unknown;
|
|
370
377
|
}
|
|
378
|
+
/**
|
|
379
|
+
* Tool selection metadata attached to discovery/planning diagnostics.
|
|
380
|
+
*/
|
|
381
|
+
interface QueryDeveloperTraceToolSelection {
|
|
382
|
+
toolId: string;
|
|
383
|
+
toolName: string;
|
|
384
|
+
selectedMethodCount: number;
|
|
385
|
+
selectedMethods: string[];
|
|
386
|
+
omittedSelectedMethodCount: number;
|
|
387
|
+
priceUsd?: string;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Initial planner diagnostic details.
|
|
391
|
+
*/
|
|
392
|
+
interface QueryPlanningTraceDiagnostic {
|
|
393
|
+
plannerQuery: string;
|
|
394
|
+
scoutEvidenceAttached: boolean;
|
|
395
|
+
scoutEvidencePromptBlock: string | null;
|
|
396
|
+
allowedModules: string[];
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Rediscovery/fallback diagnostic details.
|
|
400
|
+
*/
|
|
401
|
+
interface QueryRediscoveryTraceDiagnostic {
|
|
402
|
+
considered: boolean;
|
|
403
|
+
executed: boolean;
|
|
404
|
+
skipReason: string | null;
|
|
405
|
+
missingCapability: string | null;
|
|
406
|
+
rediscoveryQuery: string | null;
|
|
407
|
+
capabilityLooksLikeSearchNeed: boolean;
|
|
408
|
+
allowSearchFallbackOnElapsedCap: boolean;
|
|
409
|
+
searchFallbackUsed: boolean;
|
|
410
|
+
preRediscoveryBudgetReasonCode: string | null;
|
|
411
|
+
candidateSearchResults: QueryDeveloperTraceToolSelection[];
|
|
412
|
+
selectedAlternatives: QueryDeveloperTraceToolSelection[];
|
|
413
|
+
mergedTools: QueryDeveloperTraceToolSelection[];
|
|
414
|
+
usingPaidFallback: boolean;
|
|
415
|
+
branchPlan: QueryPlanningTraceDiagnostic | null;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Rich developer-trace diagnostics for discovery-first orchestration internals.
|
|
419
|
+
*/
|
|
420
|
+
interface QueryDeveloperTraceDiagnostics {
|
|
421
|
+
selection: {
|
|
422
|
+
selectedDepth: string;
|
|
423
|
+
deepMode: string | null;
|
|
424
|
+
debugScoutDeepMode: string | null;
|
|
425
|
+
plannerReasoningStage: string;
|
|
426
|
+
scoutEnabled: boolean;
|
|
427
|
+
preserveFastOneShot: boolean;
|
|
428
|
+
candidateMethodCount: number;
|
|
429
|
+
scoutProbeStatus: string;
|
|
430
|
+
scoutProbeAdequacy: string;
|
|
431
|
+
scoutProbeConfidence: number;
|
|
432
|
+
scoutMetadataConfidence: number;
|
|
433
|
+
scoutProbeShortlistedMethodCount: number;
|
|
434
|
+
scoutProbeMissingCapability: string | null;
|
|
435
|
+
scoutPrePlanProbeCalls: number;
|
|
436
|
+
scoutPrePlanProbeBudgetReasonCode: string | null;
|
|
437
|
+
scoutChangedInitialPlan: boolean;
|
|
438
|
+
scoutChangedPlannerReasoningStage: boolean;
|
|
439
|
+
scoutInitialSelectedDepth: string;
|
|
440
|
+
scoutInitialDeepMode: string | null;
|
|
441
|
+
scoutInitialPlannerReasoningStage: string;
|
|
442
|
+
scoutInitialReasonCode: string;
|
|
443
|
+
scoutFinalReasonCode: string;
|
|
444
|
+
scoutEvidenceAttachedToPlanning: boolean;
|
|
445
|
+
scoutLlmSelectionUsed: boolean;
|
|
446
|
+
scoutLlmSelectionFallback: boolean;
|
|
447
|
+
scoutLlmSelectionLatencyMs: number | null;
|
|
448
|
+
selectedTools: QueryDeveloperTraceToolSelection[];
|
|
449
|
+
};
|
|
450
|
+
planning: {
|
|
451
|
+
initial: QueryPlanningTraceDiagnostic;
|
|
452
|
+
};
|
|
453
|
+
cost?: {
|
|
454
|
+
planningCostUsd: number;
|
|
455
|
+
initialExecutionCostUsd: number;
|
|
456
|
+
rediscoveryAdditionalCostUsd: number;
|
|
457
|
+
synthesisCostUsd: number;
|
|
458
|
+
totalModelCostUsd: number;
|
|
459
|
+
toolCostUsd: number;
|
|
460
|
+
totalChargedUsd: number;
|
|
461
|
+
};
|
|
462
|
+
completeness: {
|
|
463
|
+
evaluations: unknown[];
|
|
464
|
+
triggerNeedsDifferentTools: boolean;
|
|
465
|
+
triggerMissingCapability: string | null;
|
|
466
|
+
};
|
|
467
|
+
rediscovery: QueryRediscoveryTraceDiagnostic | null;
|
|
468
|
+
[key: string]: unknown;
|
|
469
|
+
}
|
|
371
470
|
/**
|
|
372
471
|
* A single developer-trace timeline step.
|
|
373
472
|
*/
|
|
@@ -403,6 +502,10 @@ interface QueryDeveloperTraceSummary {
|
|
|
403
502
|
interface QueryDeveloperTrace {
|
|
404
503
|
summary?: QueryDeveloperTraceSummary;
|
|
405
504
|
timeline?: QueryDeveloperTraceStep[];
|
|
505
|
+
requestId?: string;
|
|
506
|
+
query?: string;
|
|
507
|
+
source?: string;
|
|
508
|
+
diagnostics?: QueryDeveloperTraceDiagnostics;
|
|
406
509
|
[key: string]: unknown;
|
|
407
510
|
}
|
|
408
511
|
/**
|
|
@@ -428,6 +531,19 @@ interface QueryCost {
|
|
|
428
531
|
/** Total cost (model + tools) */
|
|
429
532
|
totalCostUsd: string;
|
|
430
533
|
}
|
|
534
|
+
/**
|
|
535
|
+
* High-level orchestration outcome metrics returned by the query API.
|
|
536
|
+
*/
|
|
537
|
+
interface QueryOrchestrationMetrics {
|
|
538
|
+
parityStage: string;
|
|
539
|
+
orchestrationMode: string;
|
|
540
|
+
/** Whether the first plan path succeeded without fallback. */
|
|
541
|
+
firstPassSuccess: boolean;
|
|
542
|
+
/** Whether execution signaled a missing capability on first pass. */
|
|
543
|
+
capabilityMissSignaled: boolean;
|
|
544
|
+
/** Whether bounded rediscovery/fallback executed. */
|
|
545
|
+
rediscoveryExecuted: boolean;
|
|
546
|
+
}
|
|
431
547
|
/**
|
|
432
548
|
* The resolved result of a pay-per-response query
|
|
433
549
|
*/
|
|
@@ -446,6 +562,8 @@ interface QueryResult {
|
|
|
446
562
|
dataUrl?: string;
|
|
447
563
|
/** Optional machine-readable Developer Mode trace payload */
|
|
448
564
|
developerTrace?: QueryDeveloperTrace;
|
|
565
|
+
/** Optional orchestration outcome metrics for benchmarking and rollout analysis */
|
|
566
|
+
orchestrationMetrics?: QueryOrchestrationMetrics;
|
|
449
567
|
}
|
|
450
568
|
/**
|
|
451
569
|
* Successful response from the /api/v1/query endpoint
|
|
@@ -459,6 +577,7 @@ interface QueryApiSuccessResponse {
|
|
|
459
577
|
data?: unknown;
|
|
460
578
|
dataUrl?: string;
|
|
461
579
|
developerTrace?: QueryDeveloperTrace;
|
|
580
|
+
orchestrationMetrics?: QueryOrchestrationMetrics;
|
|
462
581
|
}
|
|
463
582
|
/**
|
|
464
583
|
* Raw API response from the query endpoint
|
|
@@ -488,10 +607,18 @@ interface QueryStreamDoneEvent {
|
|
|
488
607
|
type: "done";
|
|
489
608
|
result: QueryResult;
|
|
490
609
|
}
|
|
610
|
+
/** Emitted when the server reports a recoverable or terminal query error */
|
|
611
|
+
interface QueryStreamErrorEvent {
|
|
612
|
+
type: "error";
|
|
613
|
+
error: string;
|
|
614
|
+
code?: ContextErrorCode | string;
|
|
615
|
+
scope?: string;
|
|
616
|
+
reasonCode?: string;
|
|
617
|
+
}
|
|
491
618
|
/**
|
|
492
619
|
* Union of all events emitted during a streaming query
|
|
493
620
|
*/
|
|
494
|
-
type QueryStreamEvent = QueryStreamToolStatusEvent | QueryStreamTextDeltaEvent | QueryStreamDeveloperTraceEvent | QueryStreamDoneEvent;
|
|
621
|
+
type QueryStreamEvent = QueryStreamToolStatusEvent | QueryStreamTextDeltaEvent | QueryStreamDeveloperTraceEvent | QueryStreamDoneEvent | QueryStreamErrorEvent;
|
|
495
622
|
/**
|
|
496
623
|
* Specific error codes returned by the Context Protocol API
|
|
497
624
|
*/
|
|
@@ -512,6 +639,10 @@ declare class ContextError extends Error {
|
|
|
512
639
|
declare class Discovery {
|
|
513
640
|
private client;
|
|
514
641
|
constructor(client: ContextClient);
|
|
642
|
+
/**
|
|
643
|
+
* Fetch a single marketplace tool by its unique ID.
|
|
644
|
+
*/
|
|
645
|
+
get(toolId: string): Promise<Tool>;
|
|
515
646
|
/**
|
|
516
647
|
* Search for tools matching a query string.
|
|
517
648
|
*
|
|
@@ -593,8 +724,8 @@ declare class Tools {
|
|
|
593
724
|
*
|
|
594
725
|
* Unlike `tools.execute()` which calls a single tool once (pay-per-request),
|
|
595
726
|
* the Query resource sends a natural-language question and lets the server
|
|
596
|
-
* handle
|
|
597
|
-
*
|
|
727
|
+
* handle discovery-first orchestration (`discover/probe -> plan-from-evidence ->
|
|
728
|
+
* execute -> bounded fallback`) plus AI synthesis — all for one flat fee.
|
|
598
729
|
*
|
|
599
730
|
* This is the "prepared meal" vs "raw ingredients" distinction:
|
|
600
731
|
* - `tools.execute()` = raw data, full control, predictable cost
|
|
@@ -611,7 +742,7 @@ declare class Query {
|
|
|
611
742
|
* Run an agentic query and wait for the full response.
|
|
612
743
|
*
|
|
613
744
|
* The server discovers relevant tools (or uses the ones you specify),
|
|
614
|
-
* executes the
|
|
745
|
+
* executes the discovery-first pipeline (up to 100 MCP calls per tool),
|
|
615
746
|
* and returns an AI-synthesized answer. Payment is settled after
|
|
616
747
|
* successful execution via deferred settlement.
|
|
617
748
|
*
|
|
@@ -647,6 +778,7 @@ declare class Query {
|
|
|
647
778
|
* - `tool-status` — A tool started executing or changed status
|
|
648
779
|
* - `text-delta` — A chunk of the AI response text
|
|
649
780
|
* - `developer-trace` — Runtime trace metadata (when includeDeveloperTrace=true)
|
|
781
|
+
* - `error` — A structured query/runtime error emitted before stream completion
|
|
650
782
|
* - `done` — The full response is complete (includes final `QueryResult`)
|
|
651
783
|
*
|
|
652
784
|
* @param options - Query options or a plain string question
|
|
@@ -668,6 +800,9 @@ declare class Query {
|
|
|
668
800
|
* case "done":
|
|
669
801
|
* console.log("\nCost:", event.result.cost.totalCostUsd);
|
|
670
802
|
* break;
|
|
803
|
+
* case "error":
|
|
804
|
+
* console.error("Stream error:", event.error);
|
|
805
|
+
* break;
|
|
671
806
|
* }
|
|
672
807
|
* }
|
|
673
808
|
* ```
|
|
@@ -743,7 +878,9 @@ declare class ContextClient {
|
|
|
743
878
|
*
|
|
744
879
|
* @internal
|
|
745
880
|
*/
|
|
746
|
-
_fetch<T>(endpoint: string, options?: RequestInit
|
|
881
|
+
_fetch<T>(endpoint: string, options?: RequestInit, fetchOptions?: {
|
|
882
|
+
retry?: boolean;
|
|
883
|
+
}): Promise<T>;
|
|
747
884
|
/**
|
|
748
885
|
* Internal method for making authenticated HTTP requests that returns
|
|
749
886
|
* the raw Response object. Used for streaming endpoints (SSE).
|
|
@@ -754,4 +891,4 @@ declare class ContextClient {
|
|
|
754
891
|
_fetchRaw(endpoint: string, options?: RequestInit): Promise<Response>;
|
|
755
892
|
}
|
|
756
893
|
|
|
757
|
-
export { ContextClient, type ContextClientOptions, ContextError, type ContextErrorCode, Discovery, type ExecuteApiErrorResponse, type ExecuteApiResponse, type ExecuteApiSuccessResponse, type ExecuteOptions, type ExecuteSessionApiResponse, type ExecuteSessionApiSuccessResponse, type ExecuteSessionResult, type ExecuteSessionSpend, type ExecuteSessionStartOptions, type ExecuteSessionStatus, type ExecutionResult, type McpTool, type McpToolMeta, type McpToolRateLimitHints, Query, type QueryApiResponse, type QueryApiSuccessResponse, type QueryCost, type QueryDeveloperTrace, type QueryDeveloperTraceLoopInfo, type QueryDeveloperTraceStep, type QueryDeveloperTraceSummary, type QueryDeveloperTraceToolRef, type QueryOptions, type QueryResult, type QueryStreamDeveloperTraceEvent, type QueryStreamDoneEvent, type QueryStreamEvent, type QueryStreamTextDeltaEvent, type QueryStreamToolStatusEvent, type QueryToolUsage, type SearchOptions, type SearchResponse, type Tool, Tools };
|
|
894
|
+
export { ContextClient, type ContextClientOptions, ContextError, type ContextErrorCode, Discovery, type ExecuteApiErrorResponse, type ExecuteApiResponse, type ExecuteApiSuccessResponse, type ExecuteOptions, type ExecuteSessionApiResponse, type ExecuteSessionApiSuccessResponse, type ExecuteSessionResult, type ExecuteSessionSpend, type ExecuteSessionStartOptions, type ExecuteSessionStatus, type ExecutionResult, type McpTool, type McpToolMeta, type McpToolRateLimitHints, Query, type QueryApiResponse, type QueryApiSuccessResponse, type QueryCost, type QueryDeepMode, type QueryDeveloperTrace, type QueryDeveloperTraceLoopInfo, type QueryDeveloperTraceStep, type QueryDeveloperTraceSummary, type QueryDeveloperTraceToolRef, type QueryOptions, type QueryResult, type QueryStreamDeveloperTraceEvent, type QueryStreamDoneEvent, type QueryStreamErrorEvent, type QueryStreamEvent, type QueryStreamTextDeltaEvent, type QueryStreamToolStatusEvent, type QueryToolUsage, type SearchOptions, type SearchResponse, type Tool, Tools };
|
package/dist/client/index.d.ts
CHANGED
|
@@ -299,12 +299,14 @@ interface ExecutionResult<T = unknown> {
|
|
|
299
299
|
}
|
|
300
300
|
/** Supported orchestration depth modes for query execution. */
|
|
301
301
|
type QueryDepth = "fast" | "auto" | "deep";
|
|
302
|
+
type QueryDeepMode = "deep-light" | "deep-heavy";
|
|
302
303
|
/**
|
|
303
304
|
* Options for the agentic query endpoint (pay-per-response).
|
|
304
305
|
*
|
|
305
306
|
* Unlike `execute()` which calls a single tool once, `query()` sends a
|
|
306
|
-
* natural-language question and lets the server handle
|
|
307
|
-
*
|
|
307
|
+
* natural-language question and lets the server handle discovery-first
|
|
308
|
+
* orchestration (`discover/probe -> plan-from-evidence -> execute ->
|
|
309
|
+
* bounded fallback`) plus synthesis.
|
|
308
310
|
* One flat fee covers up to 100 MCP skill calls per tool.
|
|
309
311
|
*/
|
|
310
312
|
interface QueryOptions {
|
|
@@ -333,8 +335,8 @@ interface QueryOptions {
|
|
|
333
335
|
includeDataUrl?: boolean;
|
|
334
336
|
/**
|
|
335
337
|
* Include machine-readable developer trace output for this query response.
|
|
336
|
-
* When enabled, the server may return
|
|
337
|
-
*
|
|
338
|
+
* When enabled, the server may return summary counters plus diagnostics
|
|
339
|
+
* for lane selection, scout probe adequacy, and bounded fallback behavior.
|
|
338
340
|
*/
|
|
339
341
|
includeDeveloperTrace?: boolean;
|
|
340
342
|
/**
|
|
@@ -344,6 +346,11 @@ interface QueryOptions {
|
|
|
344
346
|
* - `deep`: full completeness-oriented path
|
|
345
347
|
*/
|
|
346
348
|
queryDepth?: QueryDepth;
|
|
349
|
+
/**
|
|
350
|
+
* Development/testing only: force the server's internal deep lane.
|
|
351
|
+
* Ignored by normal production usage and invalid when `queryDepth` is `fast`.
|
|
352
|
+
*/
|
|
353
|
+
debugScoutDeepMode?: QueryDeepMode;
|
|
347
354
|
/**
|
|
348
355
|
* Optional idempotency key (UUID recommended).
|
|
349
356
|
* Reuse the same key when retrying the same logical request.
|
|
@@ -368,6 +375,98 @@ interface QueryDeveloperTraceLoopInfo {
|
|
|
368
375
|
maxIterations?: number;
|
|
369
376
|
[key: string]: unknown;
|
|
370
377
|
}
|
|
378
|
+
/**
|
|
379
|
+
* Tool selection metadata attached to discovery/planning diagnostics.
|
|
380
|
+
*/
|
|
381
|
+
interface QueryDeveloperTraceToolSelection {
|
|
382
|
+
toolId: string;
|
|
383
|
+
toolName: string;
|
|
384
|
+
selectedMethodCount: number;
|
|
385
|
+
selectedMethods: string[];
|
|
386
|
+
omittedSelectedMethodCount: number;
|
|
387
|
+
priceUsd?: string;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Initial planner diagnostic details.
|
|
391
|
+
*/
|
|
392
|
+
interface QueryPlanningTraceDiagnostic {
|
|
393
|
+
plannerQuery: string;
|
|
394
|
+
scoutEvidenceAttached: boolean;
|
|
395
|
+
scoutEvidencePromptBlock: string | null;
|
|
396
|
+
allowedModules: string[];
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Rediscovery/fallback diagnostic details.
|
|
400
|
+
*/
|
|
401
|
+
interface QueryRediscoveryTraceDiagnostic {
|
|
402
|
+
considered: boolean;
|
|
403
|
+
executed: boolean;
|
|
404
|
+
skipReason: string | null;
|
|
405
|
+
missingCapability: string | null;
|
|
406
|
+
rediscoveryQuery: string | null;
|
|
407
|
+
capabilityLooksLikeSearchNeed: boolean;
|
|
408
|
+
allowSearchFallbackOnElapsedCap: boolean;
|
|
409
|
+
searchFallbackUsed: boolean;
|
|
410
|
+
preRediscoveryBudgetReasonCode: string | null;
|
|
411
|
+
candidateSearchResults: QueryDeveloperTraceToolSelection[];
|
|
412
|
+
selectedAlternatives: QueryDeveloperTraceToolSelection[];
|
|
413
|
+
mergedTools: QueryDeveloperTraceToolSelection[];
|
|
414
|
+
usingPaidFallback: boolean;
|
|
415
|
+
branchPlan: QueryPlanningTraceDiagnostic | null;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Rich developer-trace diagnostics for discovery-first orchestration internals.
|
|
419
|
+
*/
|
|
420
|
+
interface QueryDeveloperTraceDiagnostics {
|
|
421
|
+
selection: {
|
|
422
|
+
selectedDepth: string;
|
|
423
|
+
deepMode: string | null;
|
|
424
|
+
debugScoutDeepMode: string | null;
|
|
425
|
+
plannerReasoningStage: string;
|
|
426
|
+
scoutEnabled: boolean;
|
|
427
|
+
preserveFastOneShot: boolean;
|
|
428
|
+
candidateMethodCount: number;
|
|
429
|
+
scoutProbeStatus: string;
|
|
430
|
+
scoutProbeAdequacy: string;
|
|
431
|
+
scoutProbeConfidence: number;
|
|
432
|
+
scoutMetadataConfidence: number;
|
|
433
|
+
scoutProbeShortlistedMethodCount: number;
|
|
434
|
+
scoutProbeMissingCapability: string | null;
|
|
435
|
+
scoutPrePlanProbeCalls: number;
|
|
436
|
+
scoutPrePlanProbeBudgetReasonCode: string | null;
|
|
437
|
+
scoutChangedInitialPlan: boolean;
|
|
438
|
+
scoutChangedPlannerReasoningStage: boolean;
|
|
439
|
+
scoutInitialSelectedDepth: string;
|
|
440
|
+
scoutInitialDeepMode: string | null;
|
|
441
|
+
scoutInitialPlannerReasoningStage: string;
|
|
442
|
+
scoutInitialReasonCode: string;
|
|
443
|
+
scoutFinalReasonCode: string;
|
|
444
|
+
scoutEvidenceAttachedToPlanning: boolean;
|
|
445
|
+
scoutLlmSelectionUsed: boolean;
|
|
446
|
+
scoutLlmSelectionFallback: boolean;
|
|
447
|
+
scoutLlmSelectionLatencyMs: number | null;
|
|
448
|
+
selectedTools: QueryDeveloperTraceToolSelection[];
|
|
449
|
+
};
|
|
450
|
+
planning: {
|
|
451
|
+
initial: QueryPlanningTraceDiagnostic;
|
|
452
|
+
};
|
|
453
|
+
cost?: {
|
|
454
|
+
planningCostUsd: number;
|
|
455
|
+
initialExecutionCostUsd: number;
|
|
456
|
+
rediscoveryAdditionalCostUsd: number;
|
|
457
|
+
synthesisCostUsd: number;
|
|
458
|
+
totalModelCostUsd: number;
|
|
459
|
+
toolCostUsd: number;
|
|
460
|
+
totalChargedUsd: number;
|
|
461
|
+
};
|
|
462
|
+
completeness: {
|
|
463
|
+
evaluations: unknown[];
|
|
464
|
+
triggerNeedsDifferentTools: boolean;
|
|
465
|
+
triggerMissingCapability: string | null;
|
|
466
|
+
};
|
|
467
|
+
rediscovery: QueryRediscoveryTraceDiagnostic | null;
|
|
468
|
+
[key: string]: unknown;
|
|
469
|
+
}
|
|
371
470
|
/**
|
|
372
471
|
* A single developer-trace timeline step.
|
|
373
472
|
*/
|
|
@@ -403,6 +502,10 @@ interface QueryDeveloperTraceSummary {
|
|
|
403
502
|
interface QueryDeveloperTrace {
|
|
404
503
|
summary?: QueryDeveloperTraceSummary;
|
|
405
504
|
timeline?: QueryDeveloperTraceStep[];
|
|
505
|
+
requestId?: string;
|
|
506
|
+
query?: string;
|
|
507
|
+
source?: string;
|
|
508
|
+
diagnostics?: QueryDeveloperTraceDiagnostics;
|
|
406
509
|
[key: string]: unknown;
|
|
407
510
|
}
|
|
408
511
|
/**
|
|
@@ -428,6 +531,19 @@ interface QueryCost {
|
|
|
428
531
|
/** Total cost (model + tools) */
|
|
429
532
|
totalCostUsd: string;
|
|
430
533
|
}
|
|
534
|
+
/**
|
|
535
|
+
* High-level orchestration outcome metrics returned by the query API.
|
|
536
|
+
*/
|
|
537
|
+
interface QueryOrchestrationMetrics {
|
|
538
|
+
parityStage: string;
|
|
539
|
+
orchestrationMode: string;
|
|
540
|
+
/** Whether the first plan path succeeded without fallback. */
|
|
541
|
+
firstPassSuccess: boolean;
|
|
542
|
+
/** Whether execution signaled a missing capability on first pass. */
|
|
543
|
+
capabilityMissSignaled: boolean;
|
|
544
|
+
/** Whether bounded rediscovery/fallback executed. */
|
|
545
|
+
rediscoveryExecuted: boolean;
|
|
546
|
+
}
|
|
431
547
|
/**
|
|
432
548
|
* The resolved result of a pay-per-response query
|
|
433
549
|
*/
|
|
@@ -446,6 +562,8 @@ interface QueryResult {
|
|
|
446
562
|
dataUrl?: string;
|
|
447
563
|
/** Optional machine-readable Developer Mode trace payload */
|
|
448
564
|
developerTrace?: QueryDeveloperTrace;
|
|
565
|
+
/** Optional orchestration outcome metrics for benchmarking and rollout analysis */
|
|
566
|
+
orchestrationMetrics?: QueryOrchestrationMetrics;
|
|
449
567
|
}
|
|
450
568
|
/**
|
|
451
569
|
* Successful response from the /api/v1/query endpoint
|
|
@@ -459,6 +577,7 @@ interface QueryApiSuccessResponse {
|
|
|
459
577
|
data?: unknown;
|
|
460
578
|
dataUrl?: string;
|
|
461
579
|
developerTrace?: QueryDeveloperTrace;
|
|
580
|
+
orchestrationMetrics?: QueryOrchestrationMetrics;
|
|
462
581
|
}
|
|
463
582
|
/**
|
|
464
583
|
* Raw API response from the query endpoint
|
|
@@ -488,10 +607,18 @@ interface QueryStreamDoneEvent {
|
|
|
488
607
|
type: "done";
|
|
489
608
|
result: QueryResult;
|
|
490
609
|
}
|
|
610
|
+
/** Emitted when the server reports a recoverable or terminal query error */
|
|
611
|
+
interface QueryStreamErrorEvent {
|
|
612
|
+
type: "error";
|
|
613
|
+
error: string;
|
|
614
|
+
code?: ContextErrorCode | string;
|
|
615
|
+
scope?: string;
|
|
616
|
+
reasonCode?: string;
|
|
617
|
+
}
|
|
491
618
|
/**
|
|
492
619
|
* Union of all events emitted during a streaming query
|
|
493
620
|
*/
|
|
494
|
-
type QueryStreamEvent = QueryStreamToolStatusEvent | QueryStreamTextDeltaEvent | QueryStreamDeveloperTraceEvent | QueryStreamDoneEvent;
|
|
621
|
+
type QueryStreamEvent = QueryStreamToolStatusEvent | QueryStreamTextDeltaEvent | QueryStreamDeveloperTraceEvent | QueryStreamDoneEvent | QueryStreamErrorEvent;
|
|
495
622
|
/**
|
|
496
623
|
* Specific error codes returned by the Context Protocol API
|
|
497
624
|
*/
|
|
@@ -512,6 +639,10 @@ declare class ContextError extends Error {
|
|
|
512
639
|
declare class Discovery {
|
|
513
640
|
private client;
|
|
514
641
|
constructor(client: ContextClient);
|
|
642
|
+
/**
|
|
643
|
+
* Fetch a single marketplace tool by its unique ID.
|
|
644
|
+
*/
|
|
645
|
+
get(toolId: string): Promise<Tool>;
|
|
515
646
|
/**
|
|
516
647
|
* Search for tools matching a query string.
|
|
517
648
|
*
|
|
@@ -593,8 +724,8 @@ declare class Tools {
|
|
|
593
724
|
*
|
|
594
725
|
* Unlike `tools.execute()` which calls a single tool once (pay-per-request),
|
|
595
726
|
* the Query resource sends a natural-language question and lets the server
|
|
596
|
-
* handle
|
|
597
|
-
*
|
|
727
|
+
* handle discovery-first orchestration (`discover/probe -> plan-from-evidence ->
|
|
728
|
+
* execute -> bounded fallback`) plus AI synthesis — all for one flat fee.
|
|
598
729
|
*
|
|
599
730
|
* This is the "prepared meal" vs "raw ingredients" distinction:
|
|
600
731
|
* - `tools.execute()` = raw data, full control, predictable cost
|
|
@@ -611,7 +742,7 @@ declare class Query {
|
|
|
611
742
|
* Run an agentic query and wait for the full response.
|
|
612
743
|
*
|
|
613
744
|
* The server discovers relevant tools (or uses the ones you specify),
|
|
614
|
-
* executes the
|
|
745
|
+
* executes the discovery-first pipeline (up to 100 MCP calls per tool),
|
|
615
746
|
* and returns an AI-synthesized answer. Payment is settled after
|
|
616
747
|
* successful execution via deferred settlement.
|
|
617
748
|
*
|
|
@@ -647,6 +778,7 @@ declare class Query {
|
|
|
647
778
|
* - `tool-status` — A tool started executing or changed status
|
|
648
779
|
* - `text-delta` — A chunk of the AI response text
|
|
649
780
|
* - `developer-trace` — Runtime trace metadata (when includeDeveloperTrace=true)
|
|
781
|
+
* - `error` — A structured query/runtime error emitted before stream completion
|
|
650
782
|
* - `done` — The full response is complete (includes final `QueryResult`)
|
|
651
783
|
*
|
|
652
784
|
* @param options - Query options or a plain string question
|
|
@@ -668,6 +800,9 @@ declare class Query {
|
|
|
668
800
|
* case "done":
|
|
669
801
|
* console.log("\nCost:", event.result.cost.totalCostUsd);
|
|
670
802
|
* break;
|
|
803
|
+
* case "error":
|
|
804
|
+
* console.error("Stream error:", event.error);
|
|
805
|
+
* break;
|
|
671
806
|
* }
|
|
672
807
|
* }
|
|
673
808
|
* ```
|
|
@@ -743,7 +878,9 @@ declare class ContextClient {
|
|
|
743
878
|
*
|
|
744
879
|
* @internal
|
|
745
880
|
*/
|
|
746
|
-
_fetch<T>(endpoint: string, options?: RequestInit
|
|
881
|
+
_fetch<T>(endpoint: string, options?: RequestInit, fetchOptions?: {
|
|
882
|
+
retry?: boolean;
|
|
883
|
+
}): Promise<T>;
|
|
747
884
|
/**
|
|
748
885
|
* Internal method for making authenticated HTTP requests that returns
|
|
749
886
|
* the raw Response object. Used for streaming endpoints (SSE).
|
|
@@ -754,4 +891,4 @@ declare class ContextClient {
|
|
|
754
891
|
_fetchRaw(endpoint: string, options?: RequestInit): Promise<Response>;
|
|
755
892
|
}
|
|
756
893
|
|
|
757
|
-
export { ContextClient, type ContextClientOptions, ContextError, type ContextErrorCode, Discovery, type ExecuteApiErrorResponse, type ExecuteApiResponse, type ExecuteApiSuccessResponse, type ExecuteOptions, type ExecuteSessionApiResponse, type ExecuteSessionApiSuccessResponse, type ExecuteSessionResult, type ExecuteSessionSpend, type ExecuteSessionStartOptions, type ExecuteSessionStatus, type ExecutionResult, type McpTool, type McpToolMeta, type McpToolRateLimitHints, Query, type QueryApiResponse, type QueryApiSuccessResponse, type QueryCost, type QueryDeveloperTrace, type QueryDeveloperTraceLoopInfo, type QueryDeveloperTraceStep, type QueryDeveloperTraceSummary, type QueryDeveloperTraceToolRef, type QueryOptions, type QueryResult, type QueryStreamDeveloperTraceEvent, type QueryStreamDoneEvent, type QueryStreamEvent, type QueryStreamTextDeltaEvent, type QueryStreamToolStatusEvent, type QueryToolUsage, type SearchOptions, type SearchResponse, type Tool, Tools };
|
|
894
|
+
export { ContextClient, type ContextClientOptions, ContextError, type ContextErrorCode, Discovery, type ExecuteApiErrorResponse, type ExecuteApiResponse, type ExecuteApiSuccessResponse, type ExecuteOptions, type ExecuteSessionApiResponse, type ExecuteSessionApiSuccessResponse, type ExecuteSessionResult, type ExecuteSessionSpend, type ExecuteSessionStartOptions, type ExecuteSessionStatus, type ExecutionResult, type McpTool, type McpToolMeta, type McpToolRateLimitHints, Query, type QueryApiResponse, type QueryApiSuccessResponse, type QueryCost, type QueryDeepMode, type QueryDeveloperTrace, type QueryDeveloperTraceLoopInfo, type QueryDeveloperTraceStep, type QueryDeveloperTraceSummary, type QueryDeveloperTraceToolRef, type QueryOptions, type QueryResult, type QueryStreamDeveloperTraceEvent, type QueryStreamDoneEvent, type QueryStreamErrorEvent, type QueryStreamEvent, type QueryStreamTextDeltaEvent, type QueryStreamToolStatusEvent, type QueryToolUsage, type SearchOptions, type SearchResponse, type Tool, Tools };
|