@xpert-ai/xpert-sdk 0.11.0 → 0.12.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/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ export { Client, ConnectorsClient, ProjectsClient, WorkspacesClient, XpertsClien
2
2
  export type { ClientConfig, RequestHook } from "./client.js";
3
3
  export { McpClient, McpAppsClient, McpPublicationsClient } from "./mcp/index.js";
4
4
  export type * from "./mcp/types.js";
5
+ export { McpAppSessionError, isMcpAppSessionError } from "./mcp/session-error.js";
6
+ export type { McpAppSessionErrorCode } from "./mcp/session-error.js";
5
7
  export type { Assistant, AssistantBase, AssistantGraph, AssistantModelAvatar, AssistantModelOption, AssistantModelsResponse, AssistantVersion, Checkpoint, Config, Cron, CronCreateForThreadResponse, CronCreateResponse, DefaultValues, GraphSchema, Interrupt, Item, ListNamespaceResponse, Metadata, Run, SearchItem, SearchItemsResponse, Thread, ThreadContextUsage, ThreadState, ThreadStatus, ThreadRunControl, ThreadDisplayPause, ThreadPauseResult, ThreadCopyOptions, ThreadGoal, ThreadGoalPatchRequest, ThreadGoalSetRequest, ThreadGoalStatus, ThreadGoalUserStatus, ChatConversation, ConversationBranchRequest, ConversationBranchSource, ChatMessageBranching, ChatMessageBranchUnavailableReason, ChatConversationFile, ChatConversationFileParseMode, ChatConversationFilePurpose, ChatConversationFileStatus, ChatConversationFrom, ChatConversationOptions, ChatConversationStatus, ChatMessage, ChatAgentRunSummary, ChatMessageInputCheckpoint, ChatMessageFeedback, ChatMessageFeedbackRating, ChatFileChange, ChatTaskSummaryAgent, ChatTaskSummaryContribution, ChatTaskSummaryList, ChatTaskSummaryOutput, ChatTaskSummaryPending, ChatTaskSummaryPlan, ChatTaskSummaryResourceReference, ChatTaskSummarySection, ChatTaskSummarySectionItem, ChatTaskSummarySectionPage, ChatTaskSummarySnapshot, ChatTaskSummarySource, ChatTaskSummaryTodos, ChatFollowUpMode, ChatFollowUpRequest, ChatRequest, ChatRequestHuman, ChatResumeDecision, ChatResumeRequest, ChatRetryRequest, ChatSendRequest, ProjectSelection, ChatState, ChatTarget, ChatInterruptPatch, LegacyChatRequest, RunInput, IconDefinition, RuntimeCapabilitiesResponse, RuntimeCapabilitiesSelection, RuntimeCapabilityIcon, RuntimeCapabilityPlugin, RuntimeCapabilityPluginMeta, RuntimeCapabilitySkill, RuntimeCapabilitySkillMeta, RuntimeCapabilitySubAgent, RuntimeCapabilitiesSelectionSet, RuntimeI18nObject, RuntimeI18nText, ConnectorAppCredentialField, ConnectorAuthorizationMode, ConnectorAuthMethodDefinition, ConnectorBinding, ConnectorBindingCreateRequest, ConnectorConsentRequest, ConnectorConnectRequest, ConnectorConnectResponse, ConnectorCredentialFormDefinition, ConnectorDefinitionBase, ConnectorInstance, ConnectorOAuthStatusResponse, ConnectorPersonalAccountInstance, ConnectorProfile, ConnectorRuntimeOption, ConnectorRuntimeOptions, ConnectorRuntimeOptionsResponse, ConnectorRuntimeStatus, ConnectorScope, ConnectorStatus, ConnectorStrategyDefinition, PersonalConnectorAccount, RuntimePromptWorkflow, RuntimeSlashCommand, RuntimeSlashCommandAction, RuntimeSlashCommandAvailability, RuntimeSlashCommandCapability, RuntimeSlashCommandKind, SandboxManagedService, SandboxManagedServiceEnvEntry, SandboxManagedServiceLogs, SandboxManagedServicePreviewSession, SandboxManagedServiceStartInput, SandboxManagedServiceStatus, SandboxManagedServiceTransportMode, Pagination, ThreadTask, StorageFile, XpertProject, XpertProjectAvailabilityStatus, XpertProjectListOptions, XpertProjectTypeRef, XpertProjectTypeSummary, XpertProjectTypeCatalog, XpertProjectEntry, XpertProjectStatus, XpertWorkspace, XpertWorkspaceAccessPurpose, XpertWorkspaceDefaultOptions, XpertWorkspaceFile, XpertWorkspaceFileListOptions, XpertWorkspaceStatus, } from "./schema.js";
6
8
  export { overrideFetchImplementation } from "./singletons/fetch.js";
7
9
  export type { Command, OnConflictBehavior, RunsInvokePayload, } from "./types.js";
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { Client, ConnectorsClient, ProjectsClient, WorkspacesClient, XpertsClient, getApiKey, } from "./client.js";
2
2
  export { McpClient, McpAppsClient, McpPublicationsClient } from "./mcp/index.js";
3
+ export { McpAppSessionError, isMcpAppSessionError } from "./mcp/session-error.js";
3
4
  export { overrideFetchImplementation } from "./singletons/fetch.js";
4
5
  export { ASSISTANT_CHAT_SEND_MESSAGE_COMMAND, ASSISTANT_CITATION_OPEN_EVENT, ASSISTANT_CONTEXT_SET_COMMAND, KNOWLEDGEBASE_OPEN_CITATION_EFFECT, WORKBENCH_ASSISTANT_CONVERSATION_TARGET, WORKBENCH_FILE_OPEN_COMMAND, WORKBENCH_KNOWLEDGEBASE_DOCUMENTS_TARGET, WORKBENCH_NAVIGATION_OPEN_COMMAND, XPERT_REMOTE_COMPONENT_INVOKE_CLIENT_COMMAND_MESSAGE_TYPE, XPERT_VIEW_CONVERSATION_ID_HEADER, XPERT_VIEW_PROJECT_ID_HEADER, } from "./view-extension.js";
5
6
  export { WorkbenchClient } from "./workbench.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,SAAS,GACV;OAEM,EAAE,SAAS,EAAE,aAAa,EAAE,qBAAqB,EAAE;OAoJnD,EAAE,2BAA2B,EAAE;OAyC/B,EACL,mCAAmC,EACnC,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,uCAAuC,EACvC,2BAA2B,EAC3B,wCAAwC,EACxC,iCAAiC,EACjC,yDAAyD,EACzD,iCAAiC,EACjC,4BAA4B,GAC7B;OAoFM,EAAE,eAAe,EAAE;;OAwBnB,EAAE,YAAY,EAAE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,SAAS,GACV;OAEM,EAAE,SAAS,EAAE,aAAa,EAAE,qBAAqB,EAAE;OAEnD,EAAE,kBAAkB,EAAE,oBAAoB,EAAE;OAoJ5C,EAAE,2BAA2B,EAAE;OAyC/B,EACL,mCAAmC,EACnC,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,uCAAuC,EACvC,2BAA2B,EAC3B,wCAAwC,EACxC,iCAAiC,EACjC,yDAAyD,EACzD,iCAAiC,EACjC,4BAA4B,GAC7B;OAoFM,EAAE,eAAe,EAAE;;OAwBnB,EAAE,YAAY,EAAE"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,6 @@
1
1
  export { Client, ConnectorsClient, ProjectsClient, WorkspacesClient, XpertsClient, getApiKey, } from "./client.mjs";
2
2
  export { McpClient, McpAppsClient, McpPublicationsClient } from "./mcp/index.mjs";
3
+ export { McpAppSessionError, isMcpAppSessionError } from "./mcp/session-error.mjs";
3
4
  export { overrideFetchImplementation } from "./singletons/fetch.mjs";
4
5
  export { ASSISTANT_CHAT_SEND_MESSAGE_COMMAND, ASSISTANT_CITATION_OPEN_EVENT, ASSISTANT_CONTEXT_SET_COMMAND, KNOWLEDGEBASE_OPEN_CITATION_EFFECT, WORKBENCH_ASSISTANT_CONVERSATION_TARGET, WORKBENCH_FILE_OPEN_COMMAND, WORKBENCH_KNOWLEDGEBASE_DOCUMENTS_TARGET, WORKBENCH_NAVIGATION_OPEN_COMMAND, XPERT_REMOTE_COMPONENT_INVOKE_CLIENT_COMMAND_MESSAGE_TYPE, XPERT_VIEW_CONVERSATION_ID_HEADER, XPERT_VIEW_PROJECT_ID_HEADER, } from "./view-extension.mjs";
5
6
  export { WorkbenchClient } from "./workbench.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,SAAS,GACV;OAEM,EAAE,SAAS,EAAE,aAAa,EAAE,qBAAqB,EAAE;OAoJnD,EAAE,2BAA2B,EAAE;OAyC/B,EACL,mCAAmC,EACnC,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,uCAAuC,EACvC,2BAA2B,EAC3B,wCAAwC,EACxC,iCAAiC,EACjC,yDAAyD,EACzD,iCAAiC,EACjC,4BAA4B,GAC7B;OAoFM,EAAE,eAAe,EAAE;;OAwBnB,EAAE,YAAY,EAAE"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,SAAS,GACV;OAEM,EAAE,SAAS,EAAE,aAAa,EAAE,qBAAqB,EAAE;OAEnD,EAAE,kBAAkB,EAAE,oBAAoB,EAAE;OAoJ5C,EAAE,2BAA2B,EAAE;OAyC/B,EACL,mCAAmC,EACnC,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,uCAAuC,EACvC,2BAA2B,EAC3B,wCAAwC,EACxC,iCAAiC,EACjC,yDAAyD,EACzD,iCAAiC,EACjC,4BAA4B,GAC7B;OAoFM,EAAE,eAAe,EAAE;;OAwBnB,EAAE,YAAY,EAAE"}
@@ -1,9 +1,13 @@
1
1
  import type { McpTransport } from './transport.js';
2
- import type { McpAppApprovalResult, McpAppResourceResponse, McpAppReviveQuery, McpRequestOptions } from './types.js';
2
+ import type { McpAppApprovalResult, McpAppHistory, McpAppHistoryQuery, McpAppResourceResponse, McpAppReviveQuery, McpRequestOptions } from './types.js';
3
3
  export declare class McpAppsClient {
4
4
  private readonly transport;
5
5
  constructor(transport: McpTransport);
6
6
  getResource(appInstanceId: string, query?: McpAppReviveQuery, options?: McpRequestOptions): Promise<McpAppResourceResponse>;
7
+ /** Read the saved result under the current message ACL without opening a tool session. */
8
+ getHistory(appInstanceId: string, query: McpAppHistoryQuery, options?: McpRequestOptions): Promise<McpAppHistory>;
9
+ /** Explicitly renew interaction authority; this does not rerun the opening tool. */
10
+ resume(appInstanceId: string, query: McpAppHistoryQuery, options?: McpRequestOptions): Promise<McpAppResourceResponse>;
7
11
  rpc<T = unknown>(appInstanceId: string, request: unknown, query?: McpAppReviveQuery, options?: McpRequestOptions): Promise<T>;
8
12
  approve(appInstanceId: string, approvalId: string, query?: McpAppReviveQuery, options?: McpRequestOptions): Promise<McpAppApprovalResult>;
9
13
  reject(appInstanceId: string, approvalId: string, query?: McpAppReviveQuery, options?: McpRequestOptions): Promise<McpAppApprovalResult>;
package/dist/mcp/apps.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { rethrowMcpAppSessionError } from "./session-error.js";
1
2
  function id(value) {
2
3
  return encodeURIComponent(value);
3
4
  }
@@ -21,7 +22,15 @@ export class McpAppsClient {
21
22
  this.transport = transport;
22
23
  }
23
24
  getResource(appInstanceId, query, options) {
24
- return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/resource`, { params: params(query), signal: options?.signal });
25
+ return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/resource`, { params: params(query), signal: options?.signal }).catch(rethrowMcpAppSessionError);
26
+ }
27
+ /** Read the saved result under the current message ACL without opening a tool session. */
28
+ getHistory(appInstanceId, query, options) {
29
+ return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/history`, { params: { messageId: query.messageId }, signal: options?.signal }).catch(rethrowMcpAppSessionError);
30
+ }
31
+ /** Explicitly renew interaction authority; this does not rerun the opening tool. */
32
+ resume(appInstanceId, query, options) {
33
+ return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/resume`, { method: 'POST', params: { messageId: query.messageId }, signal: options?.signal }).catch(rethrowMcpAppSessionError);
25
34
  }
26
35
  rpc(appInstanceId, request, query, options) {
27
36
  return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/rpc`, {
@@ -29,7 +38,7 @@ export class McpAppsClient {
29
38
  json: request,
30
39
  params: params(query),
31
40
  signal: options?.signal,
32
- });
41
+ }).catch(rethrowMcpAppSessionError);
33
42
  }
34
43
  approve(appInstanceId, approvalId, query, options) {
35
44
  return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/approvals/${id(approvalId)}/approve`, { method: 'POST', params: params(query), signal: options?.signal });
@@ -1 +1 @@
1
- {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/mcp/apps.ts"],"names":[],"mappings":"AAQA,SAAS,EAAE,CAAC,KAAa;IACvB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,KAAyB;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAExD,WAAW,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QACvF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,WAAW,EAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnD,CAAC;IACJ,CAAC;IAED,GAAG,CACD,aAAqB,EACrB,OAAgB,EAChB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAI,gBAAgB,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CACL,aAAqB,EACrB,UAAkB,EAClB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,EACvE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,aAAqB,EACrB,UAAkB,EAClB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,SAAS,EACtE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QAC1F,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE;YAChE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,aAAa,EAAE,SAAS;YACxB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/mcp/apps.ts"],"names":[],"mappings":"OACO,EAAE,yBAAyB,EAAE;AAUpC,SAAS,EAAE,CAAC,KAAa;IACvB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,KAAyB;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAExD,WAAW,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QACvF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,WAAW,EAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnD,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrC,CAAC;IAED,0FAA0F;IAC1F,UAAU,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QACtF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,UAAU,EAC3C,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACpE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrC,CAAC;IAED,oFAAoF;IACpF,MAAM,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QAClF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,SAAS,EAC1C,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACpF,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrC,CAAC;IAED,GAAG,CACD,aAAqB,EACrB,OAAgB,EAChB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAI,gBAAgB,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CACL,aAAqB,EACrB,UAAkB,EAClB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,EACvE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,aAAqB,EACrB,UAAkB,EAClB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,SAAS,EACtE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QAC1F,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE;YAChE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,aAAa,EAAE,SAAS;YACxB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;CACF"}
package/dist/mcp/apps.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ import { rethrowMcpAppSessionError } from "./session-error.mjs";
1
2
  function id(value) {
2
3
  return encodeURIComponent(value);
3
4
  }
@@ -21,7 +22,15 @@ export class McpAppsClient {
21
22
  this.transport = transport;
22
23
  }
23
24
  getResource(appInstanceId, query, options) {
24
- return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/resource`, { params: params(query), signal: options?.signal });
25
+ return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/resource`, { params: params(query), signal: options?.signal }).catch(rethrowMcpAppSessionError);
26
+ }
27
+ /** Read the saved result under the current message ACL without opening a tool session. */
28
+ getHistory(appInstanceId, query, options) {
29
+ return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/history`, { params: { messageId: query.messageId }, signal: options?.signal }).catch(rethrowMcpAppSessionError);
30
+ }
31
+ /** Explicitly renew interaction authority; this does not rerun the opening tool. */
32
+ resume(appInstanceId, query, options) {
33
+ return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/resume`, { method: 'POST', params: { messageId: query.messageId }, signal: options?.signal }).catch(rethrowMcpAppSessionError);
25
34
  }
26
35
  rpc(appInstanceId, request, query, options) {
27
36
  return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/rpc`, {
@@ -29,7 +38,7 @@ export class McpAppsClient {
29
38
  json: request,
30
39
  params: params(query),
31
40
  signal: options?.signal,
32
- });
41
+ }).catch(rethrowMcpAppSessionError);
33
42
  }
34
43
  approve(appInstanceId, approvalId, query, options) {
35
44
  return this.transport.request(`/ai/mcp-apps/${id(appInstanceId)}/approvals/${id(approvalId)}/approve`, { method: 'POST', params: params(query), signal: options?.signal });
@@ -1 +1 @@
1
- {"version":3,"file":"apps.mjs","sourceRoot":"","sources":["../../src/mcp/apps.ts"],"names":[],"mappings":"AAQA,SAAS,EAAE,CAAC,KAAa;IACvB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,KAAyB;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAExD,WAAW,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QACvF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,WAAW,EAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnD,CAAC;IACJ,CAAC;IAED,GAAG,CACD,aAAqB,EACrB,OAAgB,EAChB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAI,gBAAgB,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CACL,aAAqB,EACrB,UAAkB,EAClB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,EACvE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,aAAqB,EACrB,UAAkB,EAClB,KAAyB,EACzB,OAA2B;QAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,SAAS,EACtE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,aAAqB,EAAE,KAAyB,EAAE,OAA2B;QAC1F,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE;YAChE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,aAAa,EAAE,SAAS;YACxB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"apps.mjs","sourceRoot":"","sources":["../../src/mcp/apps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type McpAppSessionErrorCode = 'MCP_APP_SESSION_EXPIRED' | 'MCP_APP_SESSION_UNAVAILABLE';
2
+ /** The interaction lease ended; history still requires its own access check. */
3
+ export declare class McpAppSessionError extends Error {
4
+ readonly code: McpAppSessionErrorCode;
5
+ readonly status = 410;
6
+ constructor(code: McpAppSessionErrorCode, message?: string);
7
+ }
8
+ export declare function isMcpAppSessionError(error: unknown): error is McpAppSessionError;
9
+ /** Narrow only recognized server codes. Access denials and other failures retain their identity. */
10
+ export declare function rethrowMcpAppSessionError(error: unknown): never;
@@ -0,0 +1,34 @@
1
+ /** The interaction lease ended; history still requires its own access check. */
2
+ export class McpAppSessionError extends Error {
3
+ code;
4
+ status = 410;
5
+ constructor(code, message) {
6
+ super(message ?? 'The MCP App interaction session is no longer available.');
7
+ this.code = code;
8
+ this.name = 'McpAppSessionError';
9
+ }
10
+ }
11
+ export function isMcpAppSessionError(error) {
12
+ return error instanceof McpAppSessionError;
13
+ }
14
+ /** Narrow only recognized server codes. Access denials and other failures retain their identity. */
15
+ export function rethrowMcpAppSessionError(error) {
16
+ if (typeof error === 'object' && error !== null &&
17
+ 'status' in error && error.status === 410 &&
18
+ 'text' in error && typeof error.text === 'string') {
19
+ let body;
20
+ try {
21
+ body = JSON.parse(error.text);
22
+ }
23
+ catch {
24
+ throw error;
25
+ }
26
+ if (typeof body === 'object' && body !== null && 'code' in body &&
27
+ (body.code === 'MCP_APP_SESSION_EXPIRED' || body.code === 'MCP_APP_SESSION_UNAVAILABLE')) {
28
+ const message = 'message' in body && typeof body.message === 'string' ? body.message : undefined;
29
+ throw new McpAppSessionError(body.code, message);
30
+ }
31
+ }
32
+ throw error;
33
+ }
34
+ //# sourceMappingURL=session-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-error.js","sourceRoot":"","sources":["../../src/mcp/session-error.ts"],"names":[],"mappings":"AAIA,gFAAgF;AAChF,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGtB;IAFZ,MAAM,GAAG,GAAG,CAAC;IAEtB,YAAqB,IAA4B,EAAE,OAAgB;QACjE,KAAK,CAAC,OAAO,IAAI,yDAAyD,CAAC,CAAC;QADzD,SAAI,GAAJ,IAAI,CAAwB;QAE/C,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,KAAK,YAAY,kBAAkB,CAAC;AAC7C,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC7C,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QACzC,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpD,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,MAAM,KAAK,CAAC;QAAC,CAAC;QAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI;YAC7D,CAAC,IAAI,CAAC,IAAI,KAAK,yBAAyB,IAAI,IAAI,CAAC,IAAI,KAAK,6BAA6B,CAAC,EAAE,CAAC;YAC3F,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,34 @@
1
+ /** The interaction lease ended; history still requires its own access check. */
2
+ export class McpAppSessionError extends Error {
3
+ code;
4
+ status = 410;
5
+ constructor(code, message) {
6
+ super(message ?? 'The MCP App interaction session is no longer available.');
7
+ this.code = code;
8
+ this.name = 'McpAppSessionError';
9
+ }
10
+ }
11
+ export function isMcpAppSessionError(error) {
12
+ return error instanceof McpAppSessionError;
13
+ }
14
+ /** Narrow only recognized server codes. Access denials and other failures retain their identity. */
15
+ export function rethrowMcpAppSessionError(error) {
16
+ if (typeof error === 'object' && error !== null &&
17
+ 'status' in error && error.status === 410 &&
18
+ 'text' in error && typeof error.text === 'string') {
19
+ let body;
20
+ try {
21
+ body = JSON.parse(error.text);
22
+ }
23
+ catch {
24
+ throw error;
25
+ }
26
+ if (typeof body === 'object' && body !== null && 'code' in body &&
27
+ (body.code === 'MCP_APP_SESSION_EXPIRED' || body.code === 'MCP_APP_SESSION_UNAVAILABLE')) {
28
+ const message = 'message' in body && typeof body.message === 'string' ? body.message : undefined;
29
+ throw new McpAppSessionError(body.code, message);
30
+ }
31
+ }
32
+ throw error;
33
+ }
34
+ //# sourceMappingURL=session-error.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-error.mjs","sourceRoot":"","sources":["../../src/mcp/session-error.ts"],"names":[],"mappings":"AAIA,gFAAgF;AAChF,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGtB;IAFZ,MAAM,GAAG,GAAG,CAAC;IAEtB,YAAqB,IAA4B,EAAE,OAAgB;QACjE,KAAK,CAAC,OAAO,IAAI,yDAAyD,CAAC,CAAC;QADzD,SAAI,GAAJ,IAAI,CAAwB;QAE/C,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,KAAK,YAAY,kBAAkB,CAAC;AAC7C,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC7C,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QACzC,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpD,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,MAAM,KAAK,CAAC;QAAC,CAAC;QAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI;YAC7D,CAAC,IAAI,CAAC,IAAI,KAAK,yBAAyB,IAAI,IAAI,CAAC,IAAI,KAAK,6BAA6B,CAAC,EAAE,CAAC;YAC3F,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,65 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { Client } from "../client.js";
3
+ import { McpAppSessionError, isMcpAppSessionError, rethrowMcpAppSessionError } from "./session-error.js";
4
+ describe('MCP App interaction lifecycle transport', () => {
5
+ it('does not retry an expired lease with default client retry settings', async () => {
6
+ const fetchMock = vi.fn().mockImplementation(async () => new Response(JSON.stringify({ code: 'MCP_APP_SESSION_EXPIRED' }), { status: 410 }));
7
+ const client = new Client({ apiUrl: 'https://xpert.example/api/ai', callerOptions: { fetch: fetchMock } });
8
+ await expect(client.mcp.apps.getResource('app')).rejects.toBeInstanceOf(McpAppSessionError);
9
+ expect(fetchMock).toHaveBeenCalledOnce();
10
+ });
11
+ it.each(['MCP_APP_SESSION_EXPIRED', 'MCP_APP_SESSION_UNAVAILABLE'])('exposes %s through the real HTTP error path', async (code) => {
12
+ const client = new Client({
13
+ apiUrl: 'https://xpert.example/api/ai',
14
+ callerOptions: {
15
+ maxRetries: 0,
16
+ fetch: vi.fn().mockImplementation(async () => new Response(JSON.stringify({ code, message: 'Interaction ended' }), { status: 410 })),
17
+ },
18
+ });
19
+ await expect(client.mcp.apps.getResource('app-1')).rejects.toMatchObject({
20
+ name: 'McpAppSessionError', status: 410, code, message: 'Interaction ended',
21
+ });
22
+ await expect(client.mcp.apps.resume('app-1', { messageId: 'message-1' })).rejects.toBeInstanceOf(McpAppSessionError);
23
+ await expect(client.mcp.apps.rpc('app-1', { method: 'ping' })).rejects.toBeInstanceOf(McpAppSessionError);
24
+ });
25
+ it.each([
26
+ { status: 403, text: '{"code":"MCP_APP_SESSION_EXPIRED"}' },
27
+ { status: 404, text: 'Not found' },
28
+ { status: 500, text: 'Failure' },
29
+ { status: 410, text: '{"code":"UNKNOWN"}' },
30
+ { status: 410, text: 'Not JSON' },
31
+ { status: 410, text: 'null' },
32
+ new Error('HTTP 410: {"code":"MCP_APP_SESSION_EXPIRED"}'),
33
+ ])('preserves non-session failures %#', (failure) => {
34
+ try {
35
+ rethrowMcpAppSessionError(failure);
36
+ }
37
+ catch (error) {
38
+ expect(error).toBe(failure);
39
+ expect(isMcpAppSessionError(error)).toBe(false);
40
+ }
41
+ });
42
+ it('uses authenticated requests and only message attribution for history/resume', async () => {
43
+ const fetchMock = vi.fn().mockImplementation(async () => Response.json({ appInstanceId: 'app/1' }));
44
+ const client = new Client({
45
+ apiUrl: 'https://xpert.example/api/ai',
46
+ onRequest: (_url, init) => ({ ...init, headers: { ...init.headers, Authorization: 'Bearer test-auth' } }),
47
+ callerOptions: { fetch: fetchMock, maxRetries: 0 },
48
+ });
49
+ const controller = new AbortController();
50
+ // Extra runtime metadata must not become recovery authority.
51
+ const query = { messageId: 'message/1', toolName: 'untrusted', token: 'old-token' };
52
+ await client.mcp.apps.getHistory('app/1', query, { signal: controller.signal });
53
+ await client.mcp.apps.resume('app/1', query, { signal: controller.signal });
54
+ expect(fetchMock).toHaveBeenCalledTimes(2);
55
+ for (const [index, suffix] of ['history', 'resume'].entries()) {
56
+ const [url, init] = fetchMock.mock.calls[index];
57
+ expect(String(url)).toBe(`https://xpert.example/api/ai/mcp-apps/app%2F1/${suffix}?messageId=message%2F1`);
58
+ expect(new Headers(init?.headers).get('Authorization')).toBe('Bearer test-auth');
59
+ expect(init?.signal).toBe(controller.signal);
60
+ expect(init?.body).toBeUndefined();
61
+ }
62
+ expect(fetchMock.mock.calls[1][1]?.method).toBe('POST');
63
+ });
64
+ });
65
+ //# sourceMappingURL=session-error.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-error.test.js","sourceRoot":"","sources":["../../src/mcp/session-error.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { Client } from "../client.mjs";
3
+ import { McpAppSessionError, isMcpAppSessionError, rethrowMcpAppSessionError } from "./session-error.mjs";
4
+ describe('MCP App interaction lifecycle transport', () => {
5
+ it('does not retry an expired lease with default client retry settings', async () => {
6
+ const fetchMock = vi.fn().mockImplementation(async () => new Response(JSON.stringify({ code: 'MCP_APP_SESSION_EXPIRED' }), { status: 410 }));
7
+ const client = new Client({ apiUrl: 'https://xpert.example/api/ai', callerOptions: { fetch: fetchMock } });
8
+ await expect(client.mcp.apps.getResource('app')).rejects.toBeInstanceOf(McpAppSessionError);
9
+ expect(fetchMock).toHaveBeenCalledOnce();
10
+ });
11
+ it.each(['MCP_APP_SESSION_EXPIRED', 'MCP_APP_SESSION_UNAVAILABLE'])('exposes %s through the real HTTP error path', async (code) => {
12
+ const client = new Client({
13
+ apiUrl: 'https://xpert.example/api/ai',
14
+ callerOptions: {
15
+ maxRetries: 0,
16
+ fetch: vi.fn().mockImplementation(async () => new Response(JSON.stringify({ code, message: 'Interaction ended' }), { status: 410 })),
17
+ },
18
+ });
19
+ await expect(client.mcp.apps.getResource('app-1')).rejects.toMatchObject({
20
+ name: 'McpAppSessionError', status: 410, code, message: 'Interaction ended',
21
+ });
22
+ await expect(client.mcp.apps.resume('app-1', { messageId: 'message-1' })).rejects.toBeInstanceOf(McpAppSessionError);
23
+ await expect(client.mcp.apps.rpc('app-1', { method: 'ping' })).rejects.toBeInstanceOf(McpAppSessionError);
24
+ });
25
+ it.each([
26
+ { status: 403, text: '{"code":"MCP_APP_SESSION_EXPIRED"}' },
27
+ { status: 404, text: 'Not found' },
28
+ { status: 500, text: 'Failure' },
29
+ { status: 410, text: '{"code":"UNKNOWN"}' },
30
+ { status: 410, text: 'Not JSON' },
31
+ { status: 410, text: 'null' },
32
+ new Error('HTTP 410: {"code":"MCP_APP_SESSION_EXPIRED"}'),
33
+ ])('preserves non-session failures %#', (failure) => {
34
+ try {
35
+ rethrowMcpAppSessionError(failure);
36
+ }
37
+ catch (error) {
38
+ expect(error).toBe(failure);
39
+ expect(isMcpAppSessionError(error)).toBe(false);
40
+ }
41
+ });
42
+ it('uses authenticated requests and only message attribution for history/resume', async () => {
43
+ const fetchMock = vi.fn().mockImplementation(async () => Response.json({ appInstanceId: 'app/1' }));
44
+ const client = new Client({
45
+ apiUrl: 'https://xpert.example/api/ai',
46
+ onRequest: (_url, init) => ({ ...init, headers: { ...init.headers, Authorization: 'Bearer test-auth' } }),
47
+ callerOptions: { fetch: fetchMock, maxRetries: 0 },
48
+ });
49
+ const controller = new AbortController();
50
+ // Extra runtime metadata must not become recovery authority.
51
+ const query = { messageId: 'message/1', toolName: 'untrusted', token: 'old-token' };
52
+ await client.mcp.apps.getHistory('app/1', query, { signal: controller.signal });
53
+ await client.mcp.apps.resume('app/1', query, { signal: controller.signal });
54
+ expect(fetchMock).toHaveBeenCalledTimes(2);
55
+ for (const [index, suffix] of ['history', 'resume'].entries()) {
56
+ const [url, init] = fetchMock.mock.calls[index];
57
+ expect(String(url)).toBe(`https://xpert.example/api/ai/mcp-apps/app%2F1/${suffix}?messageId=message%2F1`);
58
+ expect(new Headers(init?.headers).get('Authorization')).toBe('Bearer test-auth');
59
+ expect(init?.signal).toBe(controller.signal);
60
+ expect(init?.body).toBeUndefined();
61
+ }
62
+ expect(fetchMock.mock.calls[1][1]?.method).toBe('POST');
63
+ });
64
+ });
65
+ //# sourceMappingURL=session-error.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-error.test.mjs","sourceRoot":"","sources":["../../src/mcp/session-error.test.ts"],"names":[],"mappings":"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"}
@@ -313,6 +313,27 @@ export interface McpAppResourceResponse {
313
313
  toolInput?: unknown;
314
314
  toolResult?: unknown;
315
315
  }
316
+ export interface McpAppHistoryQuery {
317
+ messageId: string;
318
+ }
319
+ /** Saved output, not a grant to execute tools or use the original credentials. */
320
+ export interface McpAppHistory {
321
+ appInstanceId: string;
322
+ toolInput: Record<string, unknown>;
323
+ toolResult?: {
324
+ content: Array<{
325
+ type: string;
326
+ text?: string;
327
+ [key: string]: unknown;
328
+ }>;
329
+ structuredContent?: Record<string, unknown>;
330
+ isError?: boolean;
331
+ _meta?: Record<string, unknown>;
332
+ };
333
+ toolResultTruncated: boolean;
334
+ createdAt: number;
335
+ canResume: boolean;
336
+ }
316
337
  export interface McpAppApprovalResult {
317
338
  approved: boolean;
318
339
  rejected?: boolean;
@@ -12,6 +12,7 @@ const STATUS_NO_RETRY = [
12
12
  407, // Proxy Authentication Required
13
13
  408, // Request Timeout
14
14
  409, // Conflict
15
+ 410, // Gone: an expired interaction lease requires explicit recovery, not retries.
15
16
  422, // Unprocessable Entity
16
17
  ];
17
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"async_caller.js","sourceRoot":"","sources":["../../src/utils/async_caller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async_caller.js","sourceRoot":"","sources":["../../src/utils/async_caller.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const STATUS_NO_RETRY = [
12
12
  407, // Proxy Authentication Required
13
13
  408, // Request Timeout
14
14
  409, // Conflict
15
+ 410, // Gone: an expired interaction lease requires explicit recovery, not retries.
15
16
  422, // Unprocessable Entity
16
17
  ];
17
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"async_caller.mjs","sourceRoot":"","sources":["../../src/utils/async_caller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async_caller.mjs","sourceRoot":"","sources":["../../src/utils/async_caller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xpert-ai/xpert-sdk",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "SDK Core functionality package",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",