@agent-native/core 0.114.7 → 0.114.8
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/corpus/README.md +1 -1
- package/corpus/core/CHANGELOG.md +9 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/server/agent-chat-plugin.ts +16 -9
- package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +19 -7
- package/corpus/templates/analytics/app/hooks/use-chart-tooltip-portal.ts +60 -0
- package/corpus/templates/analytics/app/routes/chart.tsx +1 -1
- package/corpus/templates/analytics/changelog/2026-07-20-dashboard-requests-no-longer-stall-without-progress.md +6 -0
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +6 -0
- package/corpus/toolkit/CHANGELOG.md +6 -0
- package/corpus/toolkit/package.json +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/progress/routes.d.ts +1 -1
- package/dist/server/agent-chat-plugin.d.ts +5 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +10 -9
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/package.json +2 -2
- package/src/server/agent-chat-plugin.ts +16 -9
package/corpus/README.md
CHANGED
package/corpus/core/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @agent-native/core
|
|
2
2
|
|
|
3
|
+
## 0.114.8
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- dcd0810: Forward app-specific agent run no-progress timeouts through every interactive chat handler.
|
|
8
|
+
- dcd0810: Add clear creation actions to empty resource views and improve collaboration usage feedback.
|
|
9
|
+
- Updated dependencies [dcd0810]
|
|
10
|
+
- @agent-native/toolkit@0.8.2
|
|
11
|
+
|
|
3
12
|
## 0.114.7
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
package/corpus/core/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/core",
|
|
3
|
-
"version": "0.114.
|
|
3
|
+
"version": "0.114.8",
|
|
4
4
|
"description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/agent-native#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -332,6 +332,19 @@ export { loadRunCodeToolEntries };
|
|
|
332
332
|
export { shouldDisableRecurringJobsRuntime };
|
|
333
333
|
export { finalizeClaimedAgentChatProcessRunFailure };
|
|
334
334
|
|
|
335
|
+
export function resolveInteractiveAgentRunOptions(
|
|
336
|
+
options?: Pick<
|
|
337
|
+
AgentChatPluginOptions,
|
|
338
|
+
"runSoftTimeoutMs" | "runNoProgressTimeoutMs" | "durableBackgroundRuns"
|
|
339
|
+
>,
|
|
340
|
+
) {
|
|
341
|
+
return {
|
|
342
|
+
runSoftTimeoutMs: options?.runSoftTimeoutMs,
|
|
343
|
+
runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
|
|
344
|
+
durableBackgroundRuns: options?.durableBackgroundRuns,
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
|
|
335
348
|
export function createSerializedA2ATaskStatusWriter(
|
|
336
349
|
taskId: string,
|
|
337
350
|
writeStatus: (
|
|
@@ -2909,9 +2922,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
|
|
|
2909
2922
|
model: options?.model,
|
|
2910
2923
|
appId: options?.appId,
|
|
2911
2924
|
apiKey: options?.apiKey,
|
|
2912
|
-
|
|
2913
|
-
runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
|
|
2914
|
-
durableBackgroundRuns: options?.durableBackgroundRuns,
|
|
2925
|
+
...resolveInteractiveAgentRunOptions(options),
|
|
2915
2926
|
finalResponseGuard: options?.finalResponseGuard,
|
|
2916
2927
|
prepareRequest: async (details) => {
|
|
2917
2928
|
if (details.threadId && details.ownerEmail) {
|
|
@@ -3017,9 +3028,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
|
|
|
3017
3028
|
model: options?.model,
|
|
3018
3029
|
appId: options?.appId,
|
|
3019
3030
|
apiKey: options?.apiKey,
|
|
3020
|
-
|
|
3021
|
-
runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
|
|
3022
|
-
durableBackgroundRuns: options?.durableBackgroundRuns,
|
|
3031
|
+
...resolveInteractiveAgentRunOptions(options),
|
|
3023
3032
|
finalResponseGuard: options?.finalResponseGuard,
|
|
3024
3033
|
prepareRequest: options?.prepareRequest,
|
|
3025
3034
|
skipFilesContext: true,
|
|
@@ -3176,9 +3185,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
|
|
|
3176
3185
|
model: options?.model,
|
|
3177
3186
|
appId: options?.appId,
|
|
3178
3187
|
apiKey: options?.apiKey,
|
|
3179
|
-
|
|
3180
|
-
runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
|
|
3181
|
-
durableBackgroundRuns: options?.durableBackgroundRuns,
|
|
3188
|
+
...resolveInteractiveAgentRunOptions(options),
|
|
3182
3189
|
finalResponseGuard: options?.finalResponseGuard,
|
|
3183
3190
|
prepareRequest: async (details) => {
|
|
3184
3191
|
if (details.threadId && details.ownerEmail) {
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
type CSSProperties,
|
|
27
27
|
type ReactNode,
|
|
28
28
|
} from "react";
|
|
29
|
+
import { createPortal } from "react-dom";
|
|
29
30
|
import { Link } from "react-router";
|
|
30
31
|
import {
|
|
31
32
|
Area,
|
|
@@ -60,7 +61,7 @@ import {
|
|
|
60
61
|
SelectValue,
|
|
61
62
|
} from "@/components/ui/select";
|
|
62
63
|
import { Skeleton } from "@/components/ui/skeleton";
|
|
63
|
-
import {
|
|
64
|
+
import { useChartTooltipPortalPosition } from "@/hooks/use-chart-tooltip-portal";
|
|
64
65
|
|
|
65
66
|
const PAGE_SIZE_OPTIONS = [10, 25, 50, 100];
|
|
66
67
|
import { createDemoChartTrendRows } from "@/lib/demo-chart-trend";
|
|
@@ -86,7 +87,7 @@ const DEFAULT_COLORS = [
|
|
|
86
87
|
];
|
|
87
88
|
|
|
88
89
|
const CHART_TOOLTIP_WRAPPER_STYLE: CSSProperties = {
|
|
89
|
-
zIndex:
|
|
90
|
+
zIndex: 9999,
|
|
90
91
|
pointerEvents: "none",
|
|
91
92
|
};
|
|
92
93
|
|
|
@@ -897,6 +898,7 @@ export function ChartTooltip({
|
|
|
897
898
|
active,
|
|
898
899
|
payload,
|
|
899
900
|
label,
|
|
901
|
+
coordinate,
|
|
900
902
|
labelFormatter,
|
|
901
903
|
seriesNameFormatter,
|
|
902
904
|
valueFormatter,
|
|
@@ -909,11 +911,11 @@ export function ChartTooltip({
|
|
|
909
911
|
value?: unknown;
|
|
910
912
|
}>;
|
|
911
913
|
label?: unknown;
|
|
914
|
+
coordinate?: { x?: number; y?: number };
|
|
912
915
|
labelFormatter?: (value: string) => string;
|
|
913
916
|
seriesNameFormatter?: (value: string) => string;
|
|
914
917
|
valueFormatter?: (value: number) => string;
|
|
915
918
|
}) {
|
|
916
|
-
const tooltipRef = useChartTooltipFlip<HTMLDivElement>(active);
|
|
917
919
|
const items = useMemo(
|
|
918
920
|
() =>
|
|
919
921
|
sortTooltipPayloadItems(
|
|
@@ -922,6 +924,11 @@ export function ChartTooltip({
|
|
|
922
924
|
),
|
|
923
925
|
[payload],
|
|
924
926
|
);
|
|
927
|
+
const isVisible = Boolean(active) && items.length > 0;
|
|
928
|
+
const { anchorRef, boxRef } = useChartTooltipPortalPosition(
|
|
929
|
+
isVisible,
|
|
930
|
+
coordinate,
|
|
931
|
+
);
|
|
925
932
|
|
|
926
933
|
const labelText =
|
|
927
934
|
label == null
|
|
@@ -930,13 +937,13 @@ export function ChartTooltip({
|
|
|
930
937
|
? labelFormatter(String(label))
|
|
931
938
|
: String(label);
|
|
932
939
|
|
|
933
|
-
if (!
|
|
940
|
+
if (!isVisible) return null;
|
|
934
941
|
|
|
935
942
|
const tooltip = (
|
|
936
943
|
<div
|
|
937
|
-
ref={
|
|
944
|
+
ref={boxRef}
|
|
938
945
|
role="tooltip"
|
|
939
|
-
className="min-w-40 max-w-[280px] rounded-md border border-border bg-card px-3 py-2 text-xs text-foreground shadow-lg"
|
|
946
|
+
className="fixed z-[9999] min-w-40 max-w-[280px] rounded-md border border-border bg-card px-3 py-2 text-xs text-foreground shadow-lg pointer-events-none"
|
|
940
947
|
>
|
|
941
948
|
{labelText && (
|
|
942
949
|
<div className="mb-1.5 truncate font-medium text-foreground">
|
|
@@ -971,7 +978,12 @@ export function ChartTooltip({
|
|
|
971
978
|
</div>
|
|
972
979
|
);
|
|
973
980
|
|
|
974
|
-
return
|
|
981
|
+
return (
|
|
982
|
+
<>
|
|
983
|
+
<span ref={anchorRef} aria-hidden="true" />
|
|
984
|
+
{createPortal(tooltip, document.body)}
|
|
985
|
+
</>
|
|
986
|
+
);
|
|
975
987
|
}
|
|
976
988
|
|
|
977
989
|
function detectKeys(
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useLayoutEffect, useRef } from "react";
|
|
2
|
+
|
|
3
|
+
const CHART_EDGE_PADDING = 8;
|
|
4
|
+
const CURSOR_OFFSET = 14;
|
|
5
|
+
|
|
6
|
+
type TooltipCoordinate = { x?: number; y?: number } | undefined;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Ancestors of a dashboard chart (the scrollable app shell, the dashboard
|
|
10
|
+
* grid's inline-size container) clip any content that overflows their box,
|
|
11
|
+
* so the tooltip content is rendered through a portal to `document.body`.
|
|
12
|
+
* Recharts positions its own tooltip wrapper by measuring that wrapper's
|
|
13
|
+
* child content size — with the real content portaled away the wrapper has
|
|
14
|
+
* no size to measure and never gets a transform, so we can't read a live
|
|
15
|
+
* position off it. Instead, position the portaled box ourselves from the
|
|
16
|
+
* `coordinate` Recharts already passes to custom tooltip content (the exact
|
|
17
|
+
* pixel the cursor is over, relative to the chart) plus the chart's own
|
|
18
|
+
* `.recharts-wrapper` rect, and clamp against that same rect so the tooltip
|
|
19
|
+
* tracks the cursor but never crosses the chart's own edges.
|
|
20
|
+
*/
|
|
21
|
+
export function useChartTooltipPortalPosition(
|
|
22
|
+
isVisible: boolean,
|
|
23
|
+
coordinate: TooltipCoordinate,
|
|
24
|
+
) {
|
|
25
|
+
const anchorRef = useRef<HTMLSpanElement | null>(null);
|
|
26
|
+
const boxRef = useRef<HTMLDivElement | null>(null);
|
|
27
|
+
|
|
28
|
+
useLayoutEffect(() => {
|
|
29
|
+
if (!isVisible) return;
|
|
30
|
+
const anchor = anchorRef.current;
|
|
31
|
+
const box = boxRef.current;
|
|
32
|
+
if (!anchor || !box) return;
|
|
33
|
+
const chartEl = anchor.closest(".recharts-wrapper");
|
|
34
|
+
if (!chartEl) return;
|
|
35
|
+
|
|
36
|
+
const chartRect = chartEl.getBoundingClientRect();
|
|
37
|
+
const boxRect = box.getBoundingClientRect();
|
|
38
|
+
|
|
39
|
+
const pointX = chartRect.left + (coordinate?.x ?? 0);
|
|
40
|
+
const pointY = chartRect.top + (coordinate?.y ?? 0);
|
|
41
|
+
|
|
42
|
+
const minLeft = chartRect.left + CHART_EDGE_PADDING;
|
|
43
|
+
const maxLeft = chartRect.right - CHART_EDGE_PADDING - boxRect.width;
|
|
44
|
+
let left = pointX + CURSOR_OFFSET;
|
|
45
|
+
if (left > maxLeft) left = pointX - CURSOR_OFFSET - boxRect.width;
|
|
46
|
+
left = Math.min(Math.max(left, minLeft), Math.max(minLeft, maxLeft));
|
|
47
|
+
|
|
48
|
+
const minTop = chartRect.top + CHART_EDGE_PADDING;
|
|
49
|
+
const maxTop = chartRect.bottom - CHART_EDGE_PADDING - boxRect.height;
|
|
50
|
+
const top = Math.min(
|
|
51
|
+
Math.max(pointY - boxRect.height / 2, minTop),
|
|
52
|
+
Math.max(minTop, maxTop),
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
box.style.left = `${left}px`;
|
|
56
|
+
box.style.top = `${top}px`;
|
|
57
|
+
}, [isVisible, coordinate?.x, coordinate?.y]);
|
|
58
|
+
|
|
59
|
+
return { anchorRef, boxRef };
|
|
60
|
+
}
|
|
@@ -105,7 +105,7 @@ export default function ChartRoute() {
|
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
return (
|
|
108
|
-
<div className="flex h-screen w-screen flex-col overflow-
|
|
108
|
+
<div className="flex h-screen w-screen flex-col overflow-visible bg-transparent p-2">
|
|
109
109
|
{result.title && (
|
|
110
110
|
<div className="mb-1 px-1 text-xs font-medium text-muted-foreground">
|
|
111
111
|
{result.title}
|
|
@@ -34,6 +34,11 @@ import {
|
|
|
34
34
|
} from "../lib/real-data-actions";
|
|
35
35
|
|
|
36
36
|
const ANALYTICS_BACKGROUND_RUN_SOFT_TIMEOUT_MS = 13 * 60_000;
|
|
37
|
+
// A background job may legitimately spend minutes inside a provider/tool call,
|
|
38
|
+
// which the shared watchdog already excludes. Outside a tool call, however,
|
|
39
|
+
// silence means the model transport or worker has wedged; recover the chunk
|
|
40
|
+
// promptly instead of holding the dashboard composer for the 12-minute default.
|
|
41
|
+
export const ANALYTICS_BACKGROUND_RUN_NO_PROGRESS_TIMEOUT_MS = 3 * 60_000;
|
|
37
42
|
|
|
38
43
|
const ANALYTICS_DATA_SOURCES_LINK = buildDeepLink({
|
|
39
44
|
app: "analytics",
|
|
@@ -684,6 +689,7 @@ export default createAgentChatPlugin({
|
|
|
684
689
|
// standard serverless request budget without orphaning the task.
|
|
685
690
|
durableBackgroundRuns: true,
|
|
686
691
|
runSoftTimeoutMs: ANALYTICS_BACKGROUND_RUN_SOFT_TIMEOUT_MS,
|
|
692
|
+
runNoProgressTimeoutMs: ANALYTICS_BACKGROUND_RUN_NO_PROGRESS_TIMEOUT_MS,
|
|
687
693
|
connectorCatalog: [...ANALYTICS_CONNECTOR_CATALOG],
|
|
688
694
|
externalAgents: {
|
|
689
695
|
// Keep the direct MCP surface deliberately curated. External agents
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* Body: { json: any, fieldName?: string, type?: "map"|"array", requestSource?: string }
|
|
14
14
|
*/
|
|
15
15
|
export declare const postCollabJson: import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
|
|
16
|
-
error: string;
|
|
17
16
|
ok?: undefined;
|
|
17
|
+
error: string;
|
|
18
18
|
} | {
|
|
19
19
|
error?: undefined;
|
|
20
20
|
ok: boolean;
|
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
export declare function createNotificationsHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<"" | import("./types.js").Notification[] | {
|
|
14
14
|
count: number;
|
|
15
15
|
updated?: undefined;
|
|
16
|
-
ok?: undefined;
|
|
17
16
|
error?: undefined;
|
|
17
|
+
ok?: undefined;
|
|
18
18
|
} | {
|
|
19
19
|
count?: undefined;
|
|
20
20
|
updated: number;
|
|
21
|
-
ok?: undefined;
|
|
22
21
|
error?: undefined;
|
|
22
|
+
ok?: undefined;
|
|
23
23
|
} | {
|
|
24
24
|
count?: undefined;
|
|
25
25
|
updated?: undefined;
|
|
@@ -28,7 +28,7 @@ export declare function createNotificationsHandler(): import("h3").EventHandlerW
|
|
|
28
28
|
} | {
|
|
29
29
|
count?: undefined;
|
|
30
30
|
updated?: undefined;
|
|
31
|
-
ok: boolean;
|
|
32
31
|
error?: undefined;
|
|
32
|
+
ok: boolean;
|
|
33
33
|
}>>;
|
|
34
34
|
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -23,6 +23,11 @@ export { shouldBlockInProductCodeEditingSurface };
|
|
|
23
23
|
export { loadRunCodeToolEntries };
|
|
24
24
|
export { shouldDisableRecurringJobsRuntime };
|
|
25
25
|
export { finalizeClaimedAgentChatProcessRunFailure };
|
|
26
|
+
export declare function resolveInteractiveAgentRunOptions(options?: Pick<AgentChatPluginOptions, "runSoftTimeoutMs" | "runNoProgressTimeoutMs" | "durableBackgroundRuns">): {
|
|
27
|
+
runSoftTimeoutMs: number;
|
|
28
|
+
runNoProgressTimeoutMs: number;
|
|
29
|
+
durableBackgroundRuns: boolean;
|
|
30
|
+
};
|
|
26
31
|
export declare function createSerializedA2ATaskStatusWriter(taskId: string, writeStatus?: (taskId: string, message: A2AMessage) => Promise<void>, onError?: (error: unknown) => void): {
|
|
27
32
|
enqueue: (message: A2AMessage) => void;
|
|
28
33
|
flush: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-chat-plugin.d.ts","sourceRoot":"","sources":["../../src/server/agent-chat-plugin.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAoH7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EACL,yBAAyB,EACzB,KAAK,6BAA6B,EACnC,MAAM,+BAA+B,CAAC;AAkCvC,OAAO,EAAE,yBAAyB,EAAE,CAAC;AACrC,YAAY,EAAE,6BAA6B,EAAE,CAAC;AAwE9C,OAAO,EACL,0BAA0B,EAM1B,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EAE1B,MAAM,oCAAoC,CAAC;AAW5C,OAAO,EACL,gCAAgC,EAOjC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,yCAAyC,EAAE,MAAM,qCAAqC,CAAC;AAChG,OAAO,EACL,sBAAsB,EAGvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAEL,sCAAsC,EACvC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAYxE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,OAAO,EAAE,gCAAgC,EAAE,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,CAAC;AACpC,YAAY,EAAE,sBAAsB,EAAE,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,0BAA0B,EAAE,CAAC;AACtC,OAAO,EAAE,sCAAsC,EAAE,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,OAAO,EAAE,iCAAiC,EAAE,CAAC;AAC7C,OAAO,EAAE,yCAAyC,EAAE,CAAC;AAErD,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,KAChB,OAAO,CAAC,IAAI,CAA2B,EAC5C,OAAO,GAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAK5B,GACA;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAqCA;AAED,wBAAsB,mCAAmC,CACvD,KAAK,GAAE,MAAM,GAAG,IAAI,GAAG,SAA6B,GACnD,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B;AAED,wBAAgB,wBAAwB,CACtC,6BAA6B,EAAE,MAAM,EACrC,sBAAsB,EAAE,MAAM,GAC7B,MAAM,CAER;AAaD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,oBAAoB,EAAE,GAAG,SAAS,EAChD,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IACJ,eAAe,EAAE,CACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9B,uBAAuB,EAAE,CACvB,GAAG,EAAE,oBAAoB,KACtB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;CAC/B,GACA,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAI1B;AAED,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"agent-chat-plugin.d.ts","sourceRoot":"","sources":["../../src/server/agent-chat-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,6 +120,13 @@ export { shouldBlockInProductCodeEditingSurface };
|
|
|
120
120
|
export { loadRunCodeToolEntries };
|
|
121
121
|
export { shouldDisableRecurringJobsRuntime };
|
|
122
122
|
export { finalizeClaimedAgentChatProcessRunFailure };
|
|
123
|
+
export function resolveInteractiveAgentRunOptions(options) {
|
|
124
|
+
return {
|
|
125
|
+
runSoftTimeoutMs: options?.runSoftTimeoutMs,
|
|
126
|
+
runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
|
|
127
|
+
durableBackgroundRuns: options?.durableBackgroundRuns,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
123
130
|
export function createSerializedA2ATaskStatusWriter(taskId, writeStatus = updateTaskStatusMessage, onError = (error) => {
|
|
124
131
|
console.error(`[A2A] Failed to persist recoverable artifact message for task ${taskId}:`, error);
|
|
125
132
|
}) {
|
|
@@ -2299,9 +2306,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
|
|
|
2299
2306
|
model: options?.model,
|
|
2300
2307
|
appId: options?.appId,
|
|
2301
2308
|
apiKey: options?.apiKey,
|
|
2302
|
-
|
|
2303
|
-
runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
|
|
2304
|
-
durableBackgroundRuns: options?.durableBackgroundRuns,
|
|
2309
|
+
...resolveInteractiveAgentRunOptions(options),
|
|
2305
2310
|
finalResponseGuard: options?.finalResponseGuard,
|
|
2306
2311
|
prepareRequest: async (details) => {
|
|
2307
2312
|
if (details.threadId && details.ownerEmail) {
|
|
@@ -2393,9 +2398,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
|
|
|
2393
2398
|
model: options?.model,
|
|
2394
2399
|
appId: options?.appId,
|
|
2395
2400
|
apiKey: options?.apiKey,
|
|
2396
|
-
|
|
2397
|
-
runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
|
|
2398
|
-
durableBackgroundRuns: options?.durableBackgroundRuns,
|
|
2401
|
+
...resolveInteractiveAgentRunOptions(options),
|
|
2399
2402
|
finalResponseGuard: options?.finalResponseGuard,
|
|
2400
2403
|
prepareRequest: options?.prepareRequest,
|
|
2401
2404
|
skipFilesContext: true,
|
|
@@ -2526,9 +2529,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
|
|
|
2526
2529
|
model: options?.model,
|
|
2527
2530
|
appId: options?.appId,
|
|
2528
2531
|
apiKey: options?.apiKey,
|
|
2529
|
-
|
|
2530
|
-
runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
|
|
2531
|
-
durableBackgroundRuns: options?.durableBackgroundRuns,
|
|
2532
|
+
...resolveInteractiveAgentRunOptions(options),
|
|
2532
2533
|
finalResponseGuard: options?.finalResponseGuard,
|
|
2533
2534
|
prepareRequest: async (details) => {
|
|
2534
2535
|
if (details.threadId && details.ownerEmail) {
|