@agent-native/toolkit 0.198.3-nightly-20260930154911 → 0.198.4
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/app/agentkit/react/components.d.ts +4 -1
- package/dist/app/agentkit/react/components.d.ts.map +1 -1
- package/dist/app/agentkit/react/components.js +12 -4
- package/dist/app/agentkit/react/components.js.map +1 -1
- package/dist/app/chat/AgentKitAssistantChat.d.ts.map +1 -1
- package/dist/app/chat/AgentKitAssistantChat.js +43 -21
- package/dist/app/chat/AgentKitAssistantChat.js.map +1 -1
- package/dist/app/chat/AgentSidebar.d.ts.map +1 -1
- package/dist/app/chat/AgentSidebar.js +3 -1
- package/dist/app/chat/AgentSidebar.js.map +1 -1
- package/dist/app/chat/FileStorageSetupPopover.js +2 -2
- package/dist/app/chat/FileStorageSetupPopover.js.map +1 -1
- package/dist/app/chat/MultiTabAssistantChat.js +1 -1
- package/dist/app/chat/agentkit-chat/connections.d.ts +1 -4
- package/dist/app/chat/agentkit-chat/connections.d.ts.map +1 -1
- package/dist/app/chat/agentkit-chat/connections.js +1 -26
- package/dist/app/chat/agentkit-chat/connections.js.map +1 -1
- package/dist/app/chat/agentkit-chat/history.d.ts +4 -1
- package/dist/app/chat/agentkit-chat/history.d.ts.map +1 -1
- package/dist/app/chat/agentkit-chat/history.js +17 -5
- package/dist/app/chat/agentkit-chat/history.js.map +1 -1
- package/dist/app/chat/chat/history-types.d.ts +1 -1
- package/dist/app/chat/chat/history-types.d.ts.map +1 -1
- package/dist/app/chat/chat-first/copy.d.ts +1 -2
- package/dist/app/chat/chat-first/copy.d.ts.map +1 -1
- package/dist/app/chat/chat-first/copy.js +1 -121
- package/dist/app/chat/chat-first/copy.js.map +1 -1
- package/dist/app/chat/chat-first-copy.d.ts +3 -0
- package/dist/app/chat/chat-first-copy.d.ts.map +1 -0
- package/dist/app/chat/chat-first-copy.js +122 -0
- package/dist/app/chat/chat-first-copy.js.map +1 -0
- package/dist/app/feature-flags/FeatureFlagsPanel.d.ts.map +1 -1
- package/dist/app/feature-flags/FeatureFlagsPanel.js +1 -0
- package/dist/app/feature-flags/FeatureFlagsPanel.js.map +1 -1
- package/dist/app/i18n/catalogs/ar-SA.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ar-SA.js +2 -1
- package/dist/app/i18n/catalogs/ar-SA.js.map +1 -1
- package/dist/app/i18n/catalogs/de-DE.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/de-DE.js +2 -1
- package/dist/app/i18n/catalogs/de-DE.js.map +1 -1
- package/dist/app/i18n/catalogs/en-US.d.ts +2 -1
- package/dist/app/i18n/catalogs/en-US.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/en-US.js +2 -1
- package/dist/app/i18n/catalogs/en-US.js.map +1 -1
- package/dist/app/i18n/catalogs/es-ES.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/es-ES.js +2 -1
- package/dist/app/i18n/catalogs/es-ES.js.map +1 -1
- package/dist/app/i18n/catalogs/fr-FR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/fr-FR.js +2 -1
- package/dist/app/i18n/catalogs/fr-FR.js.map +1 -1
- package/dist/app/i18n/catalogs/hi-IN.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/hi-IN.js +2 -1
- package/dist/app/i18n/catalogs/hi-IN.js.map +1 -1
- package/dist/app/i18n/catalogs/ja-JP.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ja-JP.js +2 -1
- package/dist/app/i18n/catalogs/ja-JP.js.map +1 -1
- package/dist/app/i18n/catalogs/ko-KR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ko-KR.js +2 -1
- package/dist/app/i18n/catalogs/ko-KR.js.map +1 -1
- package/dist/app/i18n/catalogs/pt-BR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/pt-BR.js +2 -1
- package/dist/app/i18n/catalogs/pt-BR.js.map +1 -1
- package/dist/app/i18n/catalogs/zh-CN.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/zh-CN.js +2 -1
- package/dist/app/i18n/catalogs/zh-CN.js.map +1 -1
- package/dist/app/i18n/catalogs/zh-TW.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/zh-TW.js +2 -1
- package/dist/app/i18n/catalogs/zh-TW.js.map +1 -1
- package/dist/app/labs/LabsSettings.d.ts.map +1 -1
- package/dist/app/labs/LabsSettings.js +7 -3
- package/dist/app/labs/LabsSettings.js.map +1 -1
- package/dist/app/org/OrgGeneralSection.d.ts.map +1 -1
- package/dist/app/org/OrgGeneralSection.js +21 -18
- package/dist/app/org/OrgGeneralSection.js.map +1 -1
- package/dist/app/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/app/org/OrgSwitcher.js +3 -2
- package/dist/app/org/OrgSwitcher.js.map +1 -1
- package/dist/app/org/workspace-app-links.d.ts +1 -0
- package/dist/app/org/workspace-app-links.d.ts.map +1 -1
- package/dist/app/org/workspace-app-links.js +3 -0
- package/dist/app/org/workspace-app-links.js.map +1 -1
- package/dist/app/resources/McpAgentKitConnectionRequest.d.ts +7 -2
- package/dist/app/resources/McpAgentKitConnectionRequest.d.ts.map +1 -1
- package/dist/app/resources/McpAgentKitConnectionRequest.js +132 -13
- package/dist/app/resources/McpAgentKitConnectionRequest.js.map +1 -1
- package/dist/icons/ResourceIconPicker.d.ts +6 -1
- package/dist/icons/ResourceIconPicker.d.ts.map +1 -1
- package/dist/icons/ResourceIconPicker.js +45 -6
- package/dist/icons/ResourceIconPicker.js.map +1 -1
- package/package.json +7 -5
- package/src/app/agentkit/react/components.spec.tsx +3 -3
- package/src/app/agentkit/react/components.tsx +22 -4
- package/src/app/agentkit/react/lifecycle.spec.tsx +42 -0
- package/src/app/chat/AgentKitAssistantChat.spec.tsx +114 -11
- package/src/app/chat/AgentKitAssistantChat.tsx +78 -17
- package/src/app/chat/AgentPanel.header.spec.ts +59 -22
- package/src/app/chat/AgentSidebar.spec.tsx +2 -2
- package/src/app/chat/AgentSidebar.tsx +3 -3
- package/src/app/chat/FileStorageSetupPopover.tsx +2 -2
- package/src/app/chat/MultiTabAssistantChat.messageCount.spec.tsx +3 -1
- package/src/app/chat/MultiTabAssistantChat.spec.tsx +8 -4
- package/src/app/chat/MultiTabAssistantChat.tsx +1 -1
- package/src/app/chat/agent-sidebar-url-sync.sessions.spec.tsx +89 -0
- package/src/app/chat/agentkit-chat/action-widget.spec.tsx +5 -17
- package/src/app/chat/agentkit-chat/connections.spec.tsx +137 -0
- package/src/app/chat/agentkit-chat/connections.ts +2 -37
- package/src/app/chat/agentkit-chat/history.tsx +23 -8
- package/src/app/chat/chat/history-types.ts +1 -1
- package/src/app/chat/chat/tool-call-display.spec.tsx +2 -2
- package/src/app/chat/chat/widgets/record-change-widget.spec.tsx +20 -29
- package/src/app/chat/chat-first/copy.ts +1 -133
- package/src/app/chat/chat-first-copy.ts +133 -0
- package/src/app/chat/composer/use-agentkit-capabilities.hardening.spec.tsx +3 -2
- package/src/app/feature-flags/FeatureFlagsPanel.tsx +1 -0
- package/src/app/i18n/catalogs/ar-SA.ts +2 -1
- package/src/app/i18n/catalogs/de-DE.ts +3 -1
- package/src/app/i18n/catalogs/en-US.ts +2 -1
- package/src/app/i18n/catalogs/es-ES.ts +2 -1
- package/src/app/i18n/catalogs/fr-FR.ts +3 -1
- package/src/app/i18n/catalogs/hi-IN.ts +2 -1
- package/src/app/i18n/catalogs/ja-JP.ts +2 -1
- package/src/app/i18n/catalogs/ko-KR.ts +2 -1
- package/src/app/i18n/catalogs/pt-BR.ts +3 -1
- package/src/app/i18n/catalogs/zh-CN.ts +2 -1
- package/src/app/i18n/catalogs/zh-TW.ts +2 -1
- package/src/app/integrations/IntegrationDetailPage.spec.tsx +1 -1
- package/src/app/labs/LabsSettings.tsx +46 -10
- package/src/app/observability/ThumbsFeedback.spec.tsx +15 -0
- package/src/app/onboarding/FirstRunOnboarding.spec.tsx +4 -0
- package/src/app/org/OrgGeneralSection.tsx +32 -22
- package/src/app/org/OrgSwitcher.tsx +3 -2
- package/src/app/org/workspace-app-links.spec.ts +4 -0
- package/src/app/org/workspace-app-links.ts +8 -1
- package/src/app/resources/McpAgentKitConnectionRequest.spec.tsx +371 -2
- package/src/app/resources/McpAgentKitConnectionRequest.tsx +171 -11
- package/src/app/settings/SettingsTabsPage.spec.tsx +4 -2
- package/src/app/settings/shell/SettingsShell.spec.tsx +14 -8
- package/src/app/settings/shell/pages/app-group-pages.spec.tsx +35 -5
- package/src/app/settings/shell/pages/resource-pages.spec.tsx +3 -0
- package/src/app/settings/usage/UsagePage.spec.tsx +3 -3
- package/src/app/shared/lazy-chunk-error-boundary.spec.tsx +2 -0
- package/src/app-shell/sidebar-overflow.spec.tsx +4 -1
- package/src/design-tweaks/visual-style-controls.spec.tsx +38 -0
- package/src/editor/useCollabReconcile.concurrent.spec.ts +2 -1
- package/src/icons/ResourceIconPicker.spec.tsx +270 -0
- package/src/icons/ResourceIconPicker.tsx +72 -4
|
@@ -187,6 +187,11 @@ function isRetryableDeferredProviderSubmissionError(error) {
|
|
|
187
187
|
}
|
|
188
188
|
return error instanceof TypeError || record?.name === "AbortError";
|
|
189
189
|
}
|
|
190
|
+
function preserveQueuedIntent(preparedOptions, originalOptions) {
|
|
191
|
+
return originalOptions.intent === "queued"
|
|
192
|
+
? { ...preparedOptions, intent: "queued" }
|
|
193
|
+
: preparedOptions;
|
|
194
|
+
}
|
|
190
195
|
function captureQueuedRunState(options, runWasActive) {
|
|
191
196
|
return {
|
|
192
197
|
...options,
|
|
@@ -239,7 +244,9 @@ export const AgentKitAssistantChat = forwardRef(function AgentKitAssistantChat(p
|
|
|
239
244
|
const handoffSnapshot = props.createTransport || props.runtime
|
|
240
245
|
? null
|
|
241
246
|
: readAgentKitThreadHandoffSnapshot(createAgentKitThreadHandoffKey(props, threadId));
|
|
242
|
-
const [
|
|
247
|
+
const [manualLoadThreadId, setManualLoadThreadId] = useState(() => (props.isNewThread ? threadId : null));
|
|
248
|
+
const hasManualLoadForCurrentThread = props.isNewThread || manualLoadThreadId === threadId;
|
|
249
|
+
const [threadRestore, setThreadRestore] = useState(() => props.isThreadStateLoading || !hasManualLoadForCurrentThread
|
|
243
250
|
? { status: "loading" }
|
|
244
251
|
: { status: "ready" });
|
|
245
252
|
const [restoreRetryLoadPhase, setRestoreRetryLoadPhase] = useState("idle");
|
|
@@ -251,12 +258,20 @@ export const AgentKitAssistantChat = forwardRef(function AgentKitAssistantChat(p
|
|
|
251
258
|
setRestoreRetryThreadId(null);
|
|
252
259
|
}, []);
|
|
253
260
|
useEffect(() => {
|
|
254
|
-
|
|
261
|
+
setManualLoadThreadId((current) => props.isNewThread ? threadId : current === threadId ? current : null);
|
|
262
|
+
}, [props.isNewThread, threadId]);
|
|
263
|
+
useEffect(() => {
|
|
264
|
+
setThreadRestore(props.isThreadStateLoading || !hasManualLoadForCurrentThread
|
|
255
265
|
? { status: "loading" }
|
|
256
266
|
: { status: "ready" });
|
|
257
267
|
setRestoreRetryLoadPhase("idle");
|
|
258
268
|
setRestoreRetryThreadId(null);
|
|
259
|
-
}, [
|
|
269
|
+
}, [
|
|
270
|
+
hasManualLoadForCurrentThread,
|
|
271
|
+
props.isNewThread,
|
|
272
|
+
props.isThreadStateLoading,
|
|
273
|
+
threadId,
|
|
274
|
+
]);
|
|
260
275
|
const onThreadRestoreLoadError = useCallback((error) => {
|
|
261
276
|
const record = asRecord(error);
|
|
262
277
|
const response = asRecord(record?.response);
|
|
@@ -594,7 +609,7 @@ export const AgentKitAssistantChat = forwardRef(function AgentKitAssistantChat(p
|
|
|
594
609
|
props.createTransport ? threadId : undefined,
|
|
595
610
|
]);
|
|
596
611
|
const agentKitLoad = props.isThreadStateLoading ||
|
|
597
|
-
|
|
612
|
+
hasManualLoadForCurrentThread ||
|
|
598
613
|
(restoreRetryThreadId === threadId && restoreRetryLoadPhase === "release")
|
|
599
614
|
? "manual"
|
|
600
615
|
: "auto";
|
|
@@ -1490,7 +1505,7 @@ const AgentKitAssistantChatBody = forwardRef(function AgentKitAssistantChatBody(
|
|
|
1490
1505
|
!props.composerSubmissionDisabled) {
|
|
1491
1506
|
try {
|
|
1492
1507
|
const preparedOptions = prepare ? await prepare() : composerOptions;
|
|
1493
|
-
const submittedOptions = captureQueuedRunState(preparedOptions, runWasActiveAtSubmit);
|
|
1508
|
+
const submittedOptions = captureQueuedRunState(preserveQueuedIntent(preparedOptions, composerOptions), runWasActiveAtSubmit);
|
|
1494
1509
|
const result = await submit(text, files, references, submittedOptions);
|
|
1495
1510
|
if (result.status === "rejected") {
|
|
1496
1511
|
throw new Error(t("agentChat.recovery.deferredSubmissionFailed"));
|
|
@@ -1508,7 +1523,7 @@ const AgentKitAssistantChatBody = forwardRef(function AgentKitAssistantChatBody(
|
|
|
1508
1523
|
}
|
|
1509
1524
|
try {
|
|
1510
1525
|
const preparedOptions = prepare ? await prepare() : composerOptions;
|
|
1511
|
-
await dispatch(text, files, references, captureQueuedRunState(preparedOptions, runWasActiveAtSubmit));
|
|
1526
|
+
await dispatch(text, files, references, captureQueuedRunState(preserveQueuedIntent(preparedOptions, composerOptions), runWasActiveAtSubmit));
|
|
1512
1527
|
}
|
|
1513
1528
|
catch (error) {
|
|
1514
1529
|
dispatchSetupRequiredEvent(error, props.tabId, threadId);
|
|
@@ -1733,12 +1748,20 @@ const AgentKitAssistantChatBody = forwardRef(function AgentKitAssistantChatBody(
|
|
|
1733
1748
|
],
|
|
1734
1749
|
});
|
|
1735
1750
|
}, [isThreadRunning, submit]);
|
|
1736
|
-
const resumeIntegrationPrompt = useCallback((message) => {
|
|
1737
|
-
if (props.isActiveComposer === false)
|
|
1738
|
-
|
|
1739
|
-
|
|
1751
|
+
const resumeIntegrationPrompt = useCallback(async (message) => {
|
|
1752
|
+
if (props.isActiveComposer === false) {
|
|
1753
|
+
throw new Error("Cannot resume a request in an inactive chat.");
|
|
1754
|
+
}
|
|
1755
|
+
try {
|
|
1756
|
+
const result = await send(message);
|
|
1757
|
+
if (result.status === "rejected") {
|
|
1758
|
+
throw new Error(`Chat resume was rejected: ${result.reason}.`);
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
catch (error) {
|
|
1740
1762
|
dispatchSetupRequiredEvent(error, props.tabId, threadId);
|
|
1741
|
-
|
|
1763
|
+
throw error;
|
|
1764
|
+
}
|
|
1742
1765
|
}, [props.isActiveComposer, props.tabId, send, threadId]);
|
|
1743
1766
|
const submitSuggestion = useCallback((suggestion) => {
|
|
1744
1767
|
const handler = suggestionSubmitRef.current;
|
|
@@ -1899,16 +1922,15 @@ const AgentKitAssistantChatBody = forwardRef(function AgentKitAssistantChatBody(
|
|
|
1899
1922
|
onImplementPlan: implementPlan,
|
|
1900
1923
|
};
|
|
1901
1924
|
return (_jsxs(AgentKitSurfaceContext.Provider, { value: surfaceContext, children: [props.isActiveComposer === false ? null : (_jsx(McpAgentKitConnectionResume, { onResume: ({ threadId: targetThreadId, runId, requestId }, request) => {
|
|
1902
|
-
if (targetThreadId !== threadId)
|
|
1903
|
-
|
|
1925
|
+
if (targetThreadId !== threadId) {
|
|
1926
|
+
throw new Error("Cannot resume a connection request in another chat.");
|
|
1927
|
+
}
|
|
1904
1928
|
return control.resolveConnectionRequest(runId, requestId, {
|
|
1905
1929
|
status: "connected",
|
|
1906
1930
|
message: request.message,
|
|
1907
1931
|
});
|
|
1908
|
-
}, onMessageResume: (request) => {
|
|
1909
|
-
|
|
1910
|
-
} })), _jsx(RunStuckBanner, { threadId: threadId, enabled: props.isActiveComposer !== false, apiUrl: props.apiUrl ?? agentNativePath("/_agent-native/agent-chat"), autoRetry: true, autoRetryOwnerId: props.browserTabId, hasInFlightWork: () => Object.values(thread.tools).some((tool) => tool.status === "running") ||
|
|
1911
|
-
Object.values(thread.activities).some((activity) => activity.status === "running"), isAwaitingResponse: () => isRunning, onRetry: () => void sendRecoveryMessage(RECOVERY_CONTINUE_PROMPT, "continue") }), _jsx(AgentKitChat, { className: props.className, composerProps: { attachmentsEnabled: fileStorageConfigured }, hasRenderedMessages: hasRenderedMessages, emptyComposerPlacement: props.centerComposerWhenEmpty ? "center" : "bottom", title: props.showHeader === false ? undefined : props.emptyStateText, autoScroll: true })] }));
|
|
1932
|
+
}, onMessageResume: (request) => resumeIntegrationPrompt(request.message) })), _jsx(RunStuckBanner, { threadId: threadId, enabled: props.isActiveComposer !== false, apiUrl: props.apiUrl ?? agentNativePath("/_agent-native/agent-chat"), autoRetry: true, autoRetryOwnerId: props.browserTabId, hasInFlightWork: () => Object.values(thread.tools).some((tool) => tool.status === "running") ||
|
|
1933
|
+
Object.values(thread.activities).some((activity) => activity.status === "running"), isAwaitingResponse: () => isRunning, onRetry: () => void sendRecoveryMessage(RECOVERY_CONTINUE_PROMPT, "continue") }), history?.historyLoadFailed ? (_jsxs("div", { role: "alert", className: "mx-3 mb-2 flex items-center justify-between gap-3 rounded-md border border-border px-3 py-2 text-xs", children: [_jsx("span", { className: "text-muted-foreground", children: t("agentChat.message.historyUnavailable") }), _jsx("button", { type: "button", onClick: history.retryHistory, disabled: history.isRetryingHistory, className: "shrink-0 font-medium text-foreground hover:underline disabled:cursor-not-allowed disabled:opacity-50", children: t("agentChat.common.retry") })] })) : null, _jsx(AgentKitChat, { className: props.className, composerProps: { attachmentsEnabled: fileStorageConfigured }, hasRenderedMessages: hasRenderedMessages, emptyComposerPlacement: props.centerComposerWhenEmpty ? "center" : "bottom", title: props.showHeader === false ? undefined : props.emptyStateText, autoScroll: true })] }));
|
|
1912
1934
|
});
|
|
1913
1935
|
function AgentKitComposerSlot({ threadId }) {
|
|
1914
1936
|
const surface = useAgentKitSurface();
|
|
@@ -2278,9 +2300,9 @@ function AgentKitComposerSurface({ threadId, props, composerContext, canChat, se
|
|
|
2278
2300
|
props.composerSubmissionDisabled ||
|
|
2279
2301
|
isSubmissionInFlight, onSelect: submitSuggestion, className: "agentkit-home-suggestions" })) : null, showPlanCallout ? (_jsx(PlanModeCallout, { canImplementPlan: latestAssistantWasPlan, onImplementPlan: onImplementPlan, onSwitchToAct: () => props.onExecModeChange?.("build") })) : null, setupMissing && props.showMissingApiKeySetup !== false ? (_jsx(BuilderSetupCard, { fullWidth: true, attached: true, bouncePulse: setupBouncePulse, layout: props.missingApiKeySetupLayout ?? "default", onConnected: () => window.dispatchEvent(new Event("agent-engine:configured-changed")) })) : null, !canChat && !setupMissing && providerStatus !== "configured" ? (_jsx(GuidedQuestionProviderGate, { providerStatus: providerStatus, onRetry: retryProviderStatus })) : null, integration ? (_jsx(McpConnectionSuggestion, { text: text, variant: "composer", requestedByUser: true, integrationId: integration.id })) : null, selectionLength !== null && selectionLength > 0 ? (_jsx(AgentKitSelectionPill, { length: selectionLength, onClear: onClearSelection })) : null, _jsxs("div", { className: "relative", children: [_jsx(AgentKitComposer, { threadId: threadId, disabled: (!canChat && !providerSubmissionPending) ||
|
|
2280
2302
|
props.composerDisabled ||
|
|
2281
|
-
isRestoring ||
|
|
2282
|
-
|
|
2283
|
-
|
|
2303
|
+
isRestoring, submissionDisabled: (!canChat && !providerSubmissionPending) ||
|
|
2304
|
+
props.composerSubmissionDisabled === true ||
|
|
2305
|
+
isSubmissionInFlight, onDisabledClick: props.composerDisabled || !setupMissing
|
|
2284
2306
|
? undefined
|
|
2285
2307
|
: () => {
|
|
2286
2308
|
bounceSetupCard();
|
|
@@ -2460,7 +2482,7 @@ function AgentKitReasoning({ value, active, resetKey, }) {
|
|
|
2460
2482
|
}
|
|
2461
2483
|
function AgentKitConnectionRequest({ value, runId, threadId, }) {
|
|
2462
2484
|
const control = useAgentKitControl();
|
|
2463
|
-
return (_jsx(McpAgentKitConnectionRequestCard, { provider: value.provider, detail: value.detail, target: { threadId, runId, requestId: value.id }, onConnected: () => control.resolveConnectionRequest(runId, value.id, {
|
|
2485
|
+
return (_jsx(McpAgentKitConnectionRequestCard, { provider: value.provider, detail: value.detail, reason: value.reason, status: value.status, appId: value.appId, source: value.source, target: { threadId, runId, requestId: value.id }, onConnected: () => control.resolveConnectionRequest(runId, value.id, {
|
|
2464
2486
|
status: "connected",
|
|
2465
2487
|
}), onDeclined: () => control.resolveConnectionRequest(runId, value.id, {
|
|
2466
2488
|
status: "declined",
|