@opengeni/core 0.8.0 → 0.10.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 +64 -5
- package/dist/index.js +343 -35
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
- package/src/application/session-commands.ts +2 -0
- package/src/dependencies.ts +2 -0
- package/src/domain/resources.ts +32 -1
- package/src/domain/scheduled-tasks.ts +4 -8
- package/src/domain/session-tool-policy.ts +211 -0
- package/src/domain/sessions.ts +255 -35
- package/src/index.ts +1 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Settings } from '@opengeni/config';
|
|
2
|
-
import { ScheduledTask, Document, GitHubAppApiPort, ConnectionCredentialsPort, SessionAuthorizationPort, Permission, AccessContext, AccessGrant, SessionAuthorizationActor, SessionAuthorizationTarget, SessionAuthorizationOperation, SessionAuthorizationSurface, SessionAuthorizationListScope, LimitAction, LimitDecision, TurnInitiator, TurnInitiatorContext, SessionTurnSource, CapabilityCatalogItem, CapabilityInstallation, CapabilityCatalogResponse, CreateCapabilityCatalogItemRequest, EnableCapabilityRequest, VariableSet, Rig, RigVersion, CreateRigRequest, RigDefinitionEditPayload, RigChange, ProposeRigChangeRequest, UpdateRigRequest, CapabilityPack, SocialConnection, ScheduledTaskAgentConfig, ToolRef, ResourceRef, CreateScheduledTaskRequest, UpdateScheduledTaskRequest, ReasoningEffort, SessionMcpCredentialUpdateInput, SessionEvent, SessionTurn, GoalSpec, SessionMcpServerMetadata,
|
|
2
|
+
import { ScheduledTask, Document, GitHubAppApiPort, ConnectionCredentialsPort, SessionAuthorizationPort, Permission, AccessContext, AccessGrant, SessionAuthorizationActor, SessionAuthorizationTarget, SessionAuthorizationOperation, SessionAuthorizationSurface, SessionAuthorizationListScope, LimitAction, LimitDecision, TurnInitiator, TurnInitiatorContext, SessionTurnSource, CapabilityCatalogItem, CapabilityInstallation, CapabilityCatalogResponse, CreateCapabilityCatalogItemRequest, EnableCapabilityRequest, VariableSet, Rig, RigVersion, CreateRigRequest, RigDefinitionEditPayload, RigChange, ProposeRigChangeRequest, UpdateRigRequest, CapabilityPack, SocialConnection, ScheduledTaskAgentConfig, ToolRef, ResourceRef, SessionEffectiveToolPolicy, SessionToolPolicy, Session, CreateScheduledTaskRequest, UpdateScheduledTaskRequest, ReasoningEffort, SessionMcpCredentialUpdateInput, SessionEvent, SessionTurn, TurnExecutionPolicyV1, GoalSpec, SessionMcpServerMetadata, CreateSessionResponse, SessionMcpApprovalPolicy, UpdateSessionMcpApprovalPolicyResponse, WorkspaceMember, SessionControlRequest, SessionControlResponse, WorkspaceInferenceControlRequest, WorkspaceInferenceControlResponse, DeleteSessionQueueItemRequest, SessionQueueMutationResponse, EditSessionQueueItemRequest, ComposerDraft, MoveSessionQueueItemRequest, SaveComposerDraftRequest, SteerSessionQueueItemRequest } from '@opengeni/contracts';
|
|
3
3
|
export { mergeToolRefs, stableJson } from '@opengeni/contracts';
|
|
4
4
|
import * as _opengeni_db from '@opengeni/db';
|
|
5
5
|
import { Database, SandboxRecord, EnabledMcpCapabilityServer, UpdateScheduledTaskInput, SessionCommandActor, CreateSessionMcpServerInput, UpdateSessionMcpServerCredentialsInput } from '@opengeni/db';
|
|
@@ -155,6 +155,8 @@ type AppDependencies = {
|
|
|
155
155
|
*/
|
|
156
156
|
sessionAuthorization?: SessionAuthorizationPort | null;
|
|
157
157
|
managedAuth?: ManagedAuth | null;
|
|
158
|
+
/** Injectable Codex HTTP transport for deterministic API/provider tests. */
|
|
159
|
+
codexFetch?: typeof fetch;
|
|
158
160
|
sandboxClient?: ApiSandboxClient;
|
|
159
161
|
/**
|
|
160
162
|
* Resume a box by id from a serialized resume_state envelope (the lease's
|
|
@@ -613,10 +615,21 @@ declare function buildMarketingDailyAnalysisAgentConfig(input: {
|
|
|
613
615
|
promptInstructions?: string;
|
|
614
616
|
}): ScheduledTaskAgentConfig;
|
|
615
617
|
|
|
616
|
-
declare function validateToolRefs(tools: ToolRef[], settings:
|
|
618
|
+
declare function validateToolRefs(tools: ToolRef[], settings: McpSettings): ToolRef[];
|
|
617
619
|
type McpSettings = Pick<Settings, "mcpServers">;
|
|
618
620
|
declare function enabledCapabilityMcpToolRefs(settings: McpSettings, runtimeSettings: McpSettings): ToolRef[];
|
|
619
621
|
declare function withDefaultEnabledCapabilityMcpTools(tools: ToolRef[], settings: McpSettings, runtimeSettings: McpSettings): ToolRef[];
|
|
622
|
+
/** Drop stored refs that are no longer present in the current runtime registry. */
|
|
623
|
+
declare function availableToolRefs(tools: ToolRef[], settings: McpSettings): ToolRef[];
|
|
624
|
+
/** A child or fixed-policy follow-up may narrow its allow-list, never widen it. */
|
|
625
|
+
declare function assertToolRefsSubset(requested: ToolRef[], allowed: ToolRef[], message?: string): void;
|
|
626
|
+
/** Validate runtime availability and then enforce the durable policy fence. */
|
|
627
|
+
declare function validateToolRefsForSessionPolicy(input: {
|
|
628
|
+
requested: ToolRef[];
|
|
629
|
+
settings: McpSettings;
|
|
630
|
+
allowedTools: ToolRef[];
|
|
631
|
+
message: string;
|
|
632
|
+
}): ToolRef[];
|
|
620
633
|
declare function normalizeResources(resources: ResourceRef[]): ResourceRef[];
|
|
621
634
|
declare function mergeResourceRefs(existing: ResourceRef[], additions: ResourceRef[]): ResourceRef[];
|
|
622
635
|
declare function validateGitHubRepositorySelectionShapes(resources: ResourceRef[]): number[];
|
|
@@ -625,6 +638,34 @@ declare function validateGitHubRepositorySelectionShape(resources: ResourceRef[]
|
|
|
625
638
|
declare function validateGitHubRepositorySelection(db: Database, workspaceId: string, resources: ResourceRef[]): Promise<void>;
|
|
626
639
|
declare function validateFileResources(db: Database, workspaceId: string, resources: ResourceRef[]): Promise<void>;
|
|
627
640
|
|
|
641
|
+
type ResolvedSessionToolPolicy = {
|
|
642
|
+
toolRefs: ToolRef[];
|
|
643
|
+
effectivePolicy: SessionEffectiveToolPolicy;
|
|
644
|
+
};
|
|
645
|
+
type SessionToolPolicyInput = {
|
|
646
|
+
toolPolicy?: SessionToolPolicy | null;
|
|
647
|
+
sessionTools: ToolRef[];
|
|
648
|
+
turnTools?: ToolRef[];
|
|
649
|
+
/** Undefined preserves the legacy merge path for pre-provenance callers. */
|
|
650
|
+
turnToolsProvided?: boolean;
|
|
651
|
+
availableMcpServerIds: Iterable<string>;
|
|
652
|
+
/** Current omitted-tools defaults, intentionally narrower than all servers. */
|
|
653
|
+
defaultMcpServerIds?: Iterable<string>;
|
|
654
|
+
};
|
|
655
|
+
/**
|
|
656
|
+
* Resolve the same ID-only policy used by API projections and worker turns.
|
|
657
|
+
* This function never receives endpoint URLs, credentials, schemas, or live
|
|
658
|
+
* probe results. `availableMcpServerIds` is the resolved runtime registry;
|
|
659
|
+
* `defaultMcpServerIds` is the capability-only omitted-tools set.
|
|
660
|
+
*/
|
|
661
|
+
declare function resolveSessionToolPolicy(input: SessionToolPolicyInput): ResolvedSessionToolPolicy;
|
|
662
|
+
/** Current full runtime registry IDs, including configured static servers. */
|
|
663
|
+
declare function workspaceSessionToolPolicyServerIds(db: Database, workspaceId: string, settings: Settings): Promise<string[]>;
|
|
664
|
+
/** Current omitted-tools defaults; this preserves capability-first behavior. */
|
|
665
|
+
declare function workspaceSessionToolPolicyDefaultServerIds(db: Database, workspaceId: string, settings: Settings): Promise<string[]>;
|
|
666
|
+
/** Add a bounded, secret-safe effective projection to a session response. */
|
|
667
|
+
declare function sessionWithEffectiveToolPolicy(session: Session, workspaceServerIds: Iterable<string>, workspaceDefaultServerIds?: Iterable<string>): Session;
|
|
668
|
+
|
|
628
669
|
/**
|
|
629
670
|
* Whether a raw scheduled-task payload explicitly set agentConfig.tools.
|
|
630
671
|
* Zod's `.default([])` erases the distinction between "absent" and
|
|
@@ -705,9 +746,11 @@ declare function createAndStartSession(input: {
|
|
|
705
746
|
turnInstructions?: string | null;
|
|
706
747
|
resources: ResourceRef[];
|
|
707
748
|
tools: ToolRef[];
|
|
749
|
+
toolPolicy?: SessionToolPolicy;
|
|
708
750
|
clientEventId?: string;
|
|
709
751
|
model: string;
|
|
710
752
|
reasoningEffort: Settings["openaiReasoningEffort"];
|
|
753
|
+
turnExecutionPolicy: TurnExecutionPolicyV1;
|
|
711
754
|
sandboxBackend: Settings["sandboxBackend"];
|
|
712
755
|
metadata: Record<string, unknown>;
|
|
713
756
|
createdBy?: TurnInitiator;
|
|
@@ -753,6 +796,7 @@ declare function workflowIdForSession(sessionId: string): string;
|
|
|
753
796
|
* later) and the MCP surfaces that share them validate identically and cannot
|
|
754
797
|
* drift.
|
|
755
798
|
*/
|
|
799
|
+
declare function canonicalConfiguredModel(settings: Settings, model: string | null | undefined): string | null | undefined;
|
|
756
800
|
declare function assertConfiguredModel(settings: Settings, model: string | null | undefined): void;
|
|
757
801
|
/**
|
|
758
802
|
* Reject a model the WORKSPACE's model policy blocks, at the same choke points
|
|
@@ -787,6 +831,7 @@ declare function postUserMessageTurn(input: {
|
|
|
787
831
|
turnInstructions?: string | null;
|
|
788
832
|
resources: ResourceRef[];
|
|
789
833
|
tools: ToolRef[];
|
|
834
|
+
toolsProvided: boolean;
|
|
790
835
|
model?: string | null;
|
|
791
836
|
reasoningEffort?: Settings["openaiReasoningEffort"] | null;
|
|
792
837
|
clientEventId?: string;
|
|
@@ -798,6 +843,8 @@ declare function postUserMessageTurn(input: {
|
|
|
798
843
|
commandActor?: SessionCommandActor;
|
|
799
844
|
controlEtag?: string | null;
|
|
800
845
|
expectedDraftRevision?: number | null;
|
|
846
|
+
reasoningEffortFallback?: Settings["openaiReasoningEffort"];
|
|
847
|
+
turnExecutionPolicy: TurnExecutionPolicyV1;
|
|
801
848
|
}): Promise<{
|
|
802
849
|
accepted: SessionEvent;
|
|
803
850
|
turn: SessionTurn;
|
|
@@ -816,8 +863,9 @@ declare function createSessionForRequest(deps: ApiRouteDeps, grant: AccessGrant,
|
|
|
816
863
|
* Full accept-user-message flow shared by the `user.message` branch of
|
|
817
864
|
* `POST /sessions/:id/events` and the first-party MCP `session_send_message`
|
|
818
865
|
* tool: resource/tool validation, usage limits, the locked append + turn
|
|
819
|
-
* enqueue, and usage recording. `toolsProvided: false`
|
|
820
|
-
*
|
|
866
|
+
* enqueue, and usage recording. `toolsProvided: false` durably preserves an
|
|
867
|
+
* absent `tools` key so execution inherits the session policy; an explicit
|
|
868
|
+
* empty array is a deliberate per-turn narrowing.
|
|
821
869
|
*/
|
|
822
870
|
declare function acceptSessionUserMessage(deps: AcceptSessionUserMessageDependencies, grant: AccessGrant, workspaceId: string, sessionId: string, input: {
|
|
823
871
|
text: string;
|
|
@@ -855,6 +903,17 @@ declare function updateSessionTitle(deps: {
|
|
|
855
903
|
title: string | null;
|
|
856
904
|
relatedSessionAccess: "target" | "root";
|
|
857
905
|
}>;
|
|
906
|
+
/**
|
|
907
|
+
* Update one existing session MCP server's approval policy. The database
|
|
908
|
+
* serializes this write with attempt claim under the session lock: an already
|
|
909
|
+
* claimed attempt retains its immutable snapshot, while the next claim captures
|
|
910
|
+
* this value. No attempt is cancelled, restarted, or reinterpreted.
|
|
911
|
+
*/
|
|
912
|
+
declare function updateSessionMcpApprovalPolicy(deps: {
|
|
913
|
+
db: Database;
|
|
914
|
+
bus: EventBus;
|
|
915
|
+
sessionAuthorization?: SessionAuthorizationPort | null;
|
|
916
|
+
}, grant: AccessGrant, sessionId: string, serverId: string, requireApproval: SessionMcpApprovalPolicy): Promise<UpdateSessionMcpApprovalPolicyResponse>;
|
|
858
917
|
declare function readSessionLineage(deps: Pick<ApiRouteDeps, "db" | "sessionAuthorization">, grant: AccessGrant, sessionId: string): Promise<_opengeni_db.SessionLineage>;
|
|
859
918
|
|
|
860
919
|
/** A member can manage other members (directly or via the admin wildcard). */
|
|
@@ -975,4 +1034,4 @@ declare function controlHumanWorkspace(deps: {
|
|
|
975
1034
|
declare function getHumanComposerDraft(deps: SessionAuthorizationCommandDeps, context: HumanSessionCommandContext): Promise<ComposerDraft>;
|
|
976
1035
|
declare function saveHumanComposerDraft(deps: SessionAuthorizationCommandDeps, context: HumanSessionCommandContext, input: SaveComposerDraftRequest): Promise<ComposerDraft>;
|
|
977
1036
|
|
|
978
|
-
export { type AcceptSessionUserMessageDependencies, type AccessDeps, type AgentSessionCommandContext, type ApiRouteDeps, type ApiSandboxClient, type ApiSandboxSession, type AppDependencies, type ChannelARoutingServices, type DocumentIndexClient, type FleetContext, type FleetListResult, type FleetLiveness, type FleetSandboxEntry, type FleetServices, type FleetSwapResult, type HumanSessionCommandContext, type LimitCheckInput, type LimitDependencies, MARKETING_SOCIAL_PACK_ID, MAX_CHECKS_PER_RIG, MAX_CREDENTIAL_HOOKS_PER_RIG, MAX_DEFAULT_VARIABLE_SETS_PER_RIG, MAX_ENVIRONMENTS_PER_WORKSPACE, MAX_RIGS_PER_WORKSPACE, MAX_VARIABLES_PER_ENVIRONMENT, type ManagedAuth, type McpCapabilityProbe, type McpCapabilityProbeInput, type McpCapabilityProbeResult, type ObjectStorageDependency, type ProvisionResult, type ResolvedSessionAuthorization, type ResumeBoxByIdInput, type ResumedSandboxSession, type RigServices, type RigVerificationClassification, type RunOnOp, type RunOnResult, SESSION_AUTHORIZATION_DEFAULT_REAUTHORIZE_MS, SESSION_WORKFLOW_WAKE_DISPATCHER_PERIOD_MS, SESSION_WORKFLOW_WAKE_DISPATCHER_SCHEDULE_ID, SESSION_WORKFLOW_WAKE_DISPATCHER_WORKFLOW_TYPE, SessionAuthorizationDeniedError, type SessionAuthorizationDependencies, SessionAuthorizationUnavailableError, type SessionWorkflowClient, acceptSessionUserMessage, activateRigVersionForApi, appendRigSetupCommand, applyCapabilityEnablement, assertAllowedEnvironmentVariableName, assertAllowedVariableSetVariableName, assertConfiguredModel, assertPackSandboxImageCompatible, assertWorkspaceDeletable, assertWorkspaceMemberRemovable, assertWorkspaceModelPolicyAllows, buildCapabilityCatalog, buildFleetContextForSession, buildMarketingDailyAnalysisAgentConfig, checkLimit, classifyRigVerificationOutcome, controlAgentSessionWorkstream, controlHumanSessionWorkstream, controlHumanWorkspace, createAndStartSession, createCatalogItem, createRigForApi, createRigVersionForApi, createSessionForRequest, createValidatedScheduledTask, deleteHumanQueuePrompt, deleteRigForApi, disableCapability, discoverMcpRegistryCapabilities, editHumanQueuePrompt, enableCapability, enabledCapabilityMcpToolRefs, getCapabilityPack, getHumanComposerDraft, hasPermission, isBuiltInCapabilityPack, isUserMember, listCapabilityPacks, listFleet, listRigChangesForApi, listRigVersionsForApi, listWorkspaceCapabilityPacks, manualScheduledTaskTriggerUsageKey, manualScheduledTaskTriggerWorkflowId, memberCanAdminister, mergeResourceRefs, moveHumanQueuePrompt, normalizeResources, officialMcpRegistryUrl, postUserMessageTurn, promoteSetupAppendChange, promoteVerifiedDefinitionEditChangeForApi, proposeRigChangeForApi, provisionSandbox, readSessionLineage, reasoningEffortForSession, recordRigAuditEvent, recordVariableSetAuditEvent, recordWorkspaceUsage, relayConfigFromSettings, relayDialBaseFromSettings, requireAccessContext, requireAccessGrant, requireEnvironmentEncryption, requireLimit, requirePermission, requireQueuedTurnForApi, requireRigChangeForApi, requireRigForApi, requireScheduledTaskForApi, requireSessionAuthorization, requireSessionAuthorizationListScope, requireVariableSetEncryption, requireVariableSetForApi, resolveCapabilityPack, resolveMemberSubjectId, restoreScheduledTask, rigActorForGrant, routingEnabled, runOnSandbox, saveHumanComposerDraft, scheduledTaskTemporalScheduleId, scheduledTaskToolsProvided, scheduledTaskTriggerToken, sendAgentSessionMessage, settingsWithEnabledCapabilityMcpServers, settingsWithMcpCapabilityServers, settingsWithSessionMcpServerMetadata, steerAgentSession, steerHumanQueuePrompt, swapActiveSandbox, syncCreatedScheduledTask, syncUpdatedScheduledTask, updateRigForApi, updateSessionTitle, validateFileResources, validateGitHubRepositorySelection, validateGitHubRepositorySelectionShape, validateGitHubRepositorySelectionShapes, validateMcpCapabilityConnection, validateToolRefs, validateVariableSetAttachment, validatedScheduledTaskUpdate, withDefaultEnabledCapabilityMcpTools, workflowIdForSession, wrapChannelABoxWithRouting };
|
|
1037
|
+
export { type AcceptSessionUserMessageDependencies, type AccessDeps, type AgentSessionCommandContext, type ApiRouteDeps, type ApiSandboxClient, type ApiSandboxSession, type AppDependencies, type ChannelARoutingServices, type DocumentIndexClient, type FleetContext, type FleetListResult, type FleetLiveness, type FleetSandboxEntry, type FleetServices, type FleetSwapResult, type HumanSessionCommandContext, type LimitCheckInput, type LimitDependencies, MARKETING_SOCIAL_PACK_ID, MAX_CHECKS_PER_RIG, MAX_CREDENTIAL_HOOKS_PER_RIG, MAX_DEFAULT_VARIABLE_SETS_PER_RIG, MAX_ENVIRONMENTS_PER_WORKSPACE, MAX_RIGS_PER_WORKSPACE, MAX_VARIABLES_PER_ENVIRONMENT, type ManagedAuth, type McpCapabilityProbe, type McpCapabilityProbeInput, type McpCapabilityProbeResult, type ObjectStorageDependency, type ProvisionResult, type ResolvedSessionAuthorization, type ResolvedSessionToolPolicy, type ResumeBoxByIdInput, type ResumedSandboxSession, type RigServices, type RigVerificationClassification, type RunOnOp, type RunOnResult, SESSION_AUTHORIZATION_DEFAULT_REAUTHORIZE_MS, SESSION_WORKFLOW_WAKE_DISPATCHER_PERIOD_MS, SESSION_WORKFLOW_WAKE_DISPATCHER_SCHEDULE_ID, SESSION_WORKFLOW_WAKE_DISPATCHER_WORKFLOW_TYPE, SessionAuthorizationDeniedError, type SessionAuthorizationDependencies, SessionAuthorizationUnavailableError, type SessionToolPolicyInput, type SessionWorkflowClient, acceptSessionUserMessage, activateRigVersionForApi, appendRigSetupCommand, applyCapabilityEnablement, assertAllowedEnvironmentVariableName, assertAllowedVariableSetVariableName, assertConfiguredModel, assertPackSandboxImageCompatible, assertToolRefsSubset, assertWorkspaceDeletable, assertWorkspaceMemberRemovable, assertWorkspaceModelPolicyAllows, availableToolRefs, buildCapabilityCatalog, buildFleetContextForSession, buildMarketingDailyAnalysisAgentConfig, canonicalConfiguredModel, checkLimit, classifyRigVerificationOutcome, controlAgentSessionWorkstream, controlHumanSessionWorkstream, controlHumanWorkspace, createAndStartSession, createCatalogItem, createRigForApi, createRigVersionForApi, createSessionForRequest, createValidatedScheduledTask, deleteHumanQueuePrompt, deleteRigForApi, disableCapability, discoverMcpRegistryCapabilities, editHumanQueuePrompt, enableCapability, enabledCapabilityMcpToolRefs, getCapabilityPack, getHumanComposerDraft, hasPermission, isBuiltInCapabilityPack, isUserMember, listCapabilityPacks, listFleet, listRigChangesForApi, listRigVersionsForApi, listWorkspaceCapabilityPacks, manualScheduledTaskTriggerUsageKey, manualScheduledTaskTriggerWorkflowId, memberCanAdminister, mergeResourceRefs, moveHumanQueuePrompt, normalizeResources, officialMcpRegistryUrl, postUserMessageTurn, promoteSetupAppendChange, promoteVerifiedDefinitionEditChangeForApi, proposeRigChangeForApi, provisionSandbox, readSessionLineage, reasoningEffortForSession, recordRigAuditEvent, recordVariableSetAuditEvent, recordWorkspaceUsage, relayConfigFromSettings, relayDialBaseFromSettings, requireAccessContext, requireAccessGrant, requireEnvironmentEncryption, requireLimit, requirePermission, requireQueuedTurnForApi, requireRigChangeForApi, requireRigForApi, requireScheduledTaskForApi, requireSessionAuthorization, requireSessionAuthorizationListScope, requireVariableSetEncryption, requireVariableSetForApi, resolveCapabilityPack, resolveMemberSubjectId, resolveSessionToolPolicy, restoreScheduledTask, rigActorForGrant, routingEnabled, runOnSandbox, saveHumanComposerDraft, scheduledTaskTemporalScheduleId, scheduledTaskToolsProvided, scheduledTaskTriggerToken, sendAgentSessionMessage, sessionWithEffectiveToolPolicy, settingsWithEnabledCapabilityMcpServers, settingsWithMcpCapabilityServers, settingsWithSessionMcpServerMetadata, steerAgentSession, steerHumanQueuePrompt, swapActiveSandbox, syncCreatedScheduledTask, syncUpdatedScheduledTask, updateRigForApi, updateSessionMcpApprovalPolicy, updateSessionTitle, validateFileResources, validateGitHubRepositorySelection, validateGitHubRepositorySelectionShape, validateGitHubRepositorySelectionShapes, validateMcpCapabilityConnection, validateToolRefs, validateToolRefsForSessionPolicy, validateVariableSetAttachment, validatedScheduledTaskUpdate, withDefaultEnabledCapabilityMcpTools, workflowIdForSession, workspaceSessionToolPolicyDefaultServerIds, workspaceSessionToolPolicyServerIds, wrapChannelABoxWithRouting };
|