@copilotkit/react-core 1.51.3-next.6 → 1.51.3-next.7
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/CHANGELOG.md +10 -0
- package/dist/chunk-77IVITG3.mjs +158 -0
- package/dist/chunk-77IVITG3.mjs.map +1 -0
- package/dist/chunk-BKMJ4LC7.mjs +119 -0
- package/dist/chunk-BKMJ4LC7.mjs.map +1 -0
- package/dist/chunk-C3YJYDK4.mjs +189 -0
- package/dist/chunk-C3YJYDK4.mjs.map +1 -0
- package/dist/{chunk-GIU66J37.mjs → chunk-DQXCQWSG.mjs} +47 -5
- package/dist/chunk-DQXCQWSG.mjs.map +1 -0
- package/dist/{chunk-HBMPXNW2.mjs → chunk-LO4RRITI.mjs} +71 -18
- package/dist/chunk-LO4RRITI.mjs.map +1 -0
- package/dist/{chunk-3G4VFRVV.mjs → chunk-NXHQDCZF.mjs} +2 -2
- package/dist/{chunk-FDOMAPJY.mjs → chunk-QD7EID4N.mjs} +1 -1
- package/dist/chunk-QD7EID4N.mjs.map +1 -0
- package/dist/{chunk-YTQHRJUA.mjs → chunk-VKNLTZJE.mjs} +2 -2
- package/dist/{chunk-4RRUJHCI.mjs → chunk-VP43SLSZ.mjs} +2 -2
- package/dist/{chunk-MF2ZSLBV.mjs → chunk-XZFIJ7XF.mjs} +2 -2
- package/dist/components/copilot-provider/copilotkit.js +437 -150
- package/dist/components/copilot-provider/copilotkit.js.map +1 -1
- package/dist/components/copilot-provider/copilotkit.mjs +5 -3
- package/dist/components/copilot-provider/index.js +437 -150
- package/dist/components/copilot-provider/index.js.map +1 -1
- package/dist/components/copilot-provider/index.mjs +5 -3
- package/dist/components/index.js +437 -150
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +5 -3
- package/dist/context/coagent-state-renders-context.d.ts +1 -0
- package/dist/context/coagent-state-renders-context.js.map +1 -1
- package/dist/context/coagent-state-renders-context.mjs +1 -1
- package/dist/context/index.js.map +1 -1
- package/dist/context/index.mjs +1 -1
- package/dist/hooks/index.js +512 -212
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +19 -17
- package/dist/hooks/use-coagent-state-render-bridge.helpers.d.ts +92 -0
- package/dist/hooks/use-coagent-state-render-bridge.helpers.js +231 -0
- package/dist/hooks/use-coagent-state-render-bridge.helpers.js.map +1 -0
- package/dist/hooks/use-coagent-state-render-bridge.helpers.mjs +24 -0
- package/dist/hooks/use-coagent-state-render-bridge.helpers.mjs.map +1 -0
- package/dist/hooks/use-coagent-state-render-bridge.js +334 -72
- package/dist/hooks/use-coagent-state-render-bridge.js.map +1 -1
- package/dist/hooks/use-coagent-state-render-bridge.mjs +4 -2
- package/dist/hooks/use-coagent-state-render-registry.d.ts +25 -0
- package/dist/hooks/use-coagent-state-render-registry.js +358 -0
- package/dist/hooks/use-coagent-state-render-registry.js.map +1 -0
- package/dist/hooks/use-coagent-state-render-registry.mjs +9 -0
- package/dist/hooks/use-coagent-state-render-registry.mjs.map +1 -0
- package/dist/hooks/use-coagent-state-render.js.map +1 -1
- package/dist/hooks/use-coagent-state-render.mjs +2 -2
- package/dist/hooks/use-copilot-chat-headless_c.js +414 -114
- package/dist/hooks/use-copilot-chat-headless_c.js.map +1 -1
- package/dist/hooks/use-copilot-chat-headless_c.mjs +7 -5
- package/dist/hooks/use-copilot-chat.js +406 -106
- package/dist/hooks/use-copilot-chat.js.map +1 -1
- package/dist/hooks/use-copilot-chat.mjs +7 -5
- package/dist/hooks/use-copilot-chat_internal.js +406 -106
- package/dist/hooks/use-copilot-chat_internal.js.map +1 -1
- package/dist/hooks/use-copilot-chat_internal.mjs +6 -4
- package/dist/hooks/use-langgraph-interrupt-render.mjs +1 -1
- package/dist/index.js +651 -311
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -20
- package/dist/lib/copilot-task.js.map +1 -1
- package/dist/lib/copilot-task.mjs +6 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +6 -4
- package/dist/setupTests.js +1 -0
- package/dist/setupTests.js.map +1 -1
- package/dist/setupTests.mjs +1 -0
- package/dist/setupTests.mjs.map +1 -1
- package/dist/test-helpers/copilot-context.d.ts +14 -0
- package/dist/test-helpers/copilot-context.js +128 -0
- package/dist/test-helpers/copilot-context.js.map +1 -0
- package/dist/test-helpers/copilot-context.mjs +74 -0
- package/dist/test-helpers/copilot-context.mjs.map +1 -0
- package/dist/types/index.mjs +1 -1
- package/package.json +5 -5
- package/src/components/copilot-provider/copilotkit.tsx +56 -0
- package/src/context/coagent-state-renders-context.tsx +1 -0
- package/src/hooks/__tests__/use-coagent-state-render-bridge.helpers.test.ts +100 -0
- package/src/hooks/__tests__/use-coagent-state-render.e2e.test.tsx +892 -37
- package/src/hooks/__tests__/use-coagent-state-render.test.tsx +334 -0
- package/src/hooks/use-coagent-state-render-bridge.helpers.ts +311 -0
- package/src/hooks/use-coagent-state-render-bridge.tsx +25 -120
- package/src/hooks/use-coagent-state-render-registry.ts +215 -0
- package/src/hooks/use-copilot-chat_internal.ts +93 -34
- package/src/setupTests.ts +1 -0
- package/src/test-helpers/copilot-context.ts +91 -0
- package/dist/chunk-3X3I7OJV.mjs +0 -172
- package/dist/chunk-3X3I7OJV.mjs.map +0 -1
- package/dist/chunk-FDOMAPJY.mjs.map +0 -1
- package/dist/chunk-GIU66J37.mjs.map +0 -1
- package/dist/chunk-HBMPXNW2.mjs.map +0 -1
- /package/dist/{chunk-3G4VFRVV.mjs.map → chunk-NXHQDCZF.mjs.map} +0 -0
- /package/dist/{chunk-YTQHRJUA.mjs.map → chunk-VKNLTZJE.mjs.map} +0 -0
- /package/dist/{chunk-4RRUJHCI.mjs.map → chunk-VP43SLSZ.mjs.map} +0 -0
- /package/dist/{chunk-MF2ZSLBV.mjs.map → chunk-XZFIJ7XF.mjs.map} +0 -0
package/dist/hooks/index.mjs
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import "../chunk-A6NKSGH3.mjs";
|
|
2
|
+
import {
|
|
3
|
+
useLangGraphInterrupt
|
|
4
|
+
} from "../chunk-4RRMC7L2.mjs";
|
|
2
5
|
import {
|
|
3
6
|
useMakeCopilotDocumentReadable
|
|
4
7
|
} from "../chunk-7IBF6RBW.mjs";
|
|
8
|
+
import {
|
|
9
|
+
useCopilotReadable
|
|
10
|
+
} from "../chunk-Z6JV2LRY.mjs";
|
|
5
11
|
import {
|
|
6
12
|
useCopilotRuntimeClient
|
|
7
13
|
} from "../chunk-6ESSSQ7Q.mjs";
|
|
@@ -9,8 +15,8 @@ import {
|
|
|
9
15
|
useDefaultTool
|
|
10
16
|
} from "../chunk-BUSWSDYO.mjs";
|
|
11
17
|
import {
|
|
12
|
-
|
|
13
|
-
} from "../chunk-
|
|
18
|
+
useCoAgent
|
|
19
|
+
} from "../chunk-ZYTXB6HH.mjs";
|
|
14
20
|
import {
|
|
15
21
|
useCopilotAdditionalInstructions
|
|
16
22
|
} from "../chunk-ABWT4DRT.mjs";
|
|
@@ -31,39 +37,35 @@ import {
|
|
|
31
37
|
} from "../chunk-7DTB7S5V.mjs";
|
|
32
38
|
import {
|
|
33
39
|
useCopilotChatHeadless_c
|
|
34
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-XZFIJ7XF.mjs";
|
|
35
41
|
import {
|
|
36
42
|
useCopilotChatSuggestions
|
|
37
43
|
} from "../chunk-XDFVCQD3.mjs";
|
|
38
44
|
import {
|
|
39
45
|
useCopilotChat
|
|
40
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-NXHQDCZF.mjs";
|
|
41
47
|
import {
|
|
42
48
|
useCopilotChatInternal
|
|
43
|
-
} from "../chunk-
|
|
44
|
-
import {
|
|
45
|
-
useLangGraphInterruptRender
|
|
46
|
-
} from "../chunk-VV56AVPB.mjs";
|
|
49
|
+
} from "../chunk-LO4RRITI.mjs";
|
|
47
50
|
import {
|
|
48
51
|
useLazyToolRenderer
|
|
49
52
|
} from "../chunk-ZVF5Q6IH.mjs";
|
|
50
53
|
import {
|
|
51
|
-
|
|
52
|
-
} from "../chunk-
|
|
54
|
+
useLangGraphInterruptRender
|
|
55
|
+
} from "../chunk-VV56AVPB.mjs";
|
|
56
|
+
import "../chunk-I76HKHPJ.mjs";
|
|
53
57
|
import {
|
|
54
58
|
useCoAgentStateRender
|
|
55
|
-
} from "../chunk-
|
|
56
|
-
import {
|
|
57
|
-
useCoAgent
|
|
58
|
-
} from "../chunk-ZYTXB6HH.mjs";
|
|
59
|
-
import "../chunk-I76HKHPJ.mjs";
|
|
59
|
+
} from "../chunk-VKNLTZJE.mjs";
|
|
60
60
|
import "../chunk-6PUNP7CD.mjs";
|
|
61
61
|
import "../chunk-O7ARI5CV.mjs";
|
|
62
|
-
import "../chunk-
|
|
62
|
+
import "../chunk-BKMJ4LC7.mjs";
|
|
63
63
|
import "../chunk-NB2FKV2V.mjs";
|
|
64
64
|
import "../chunk-LMHB2D4J.mjs";
|
|
65
|
+
import "../chunk-77IVITG3.mjs";
|
|
66
|
+
import "../chunk-C3YJYDK4.mjs";
|
|
65
67
|
import "../chunk-EFL5OBKN.mjs";
|
|
66
|
-
import "../chunk-
|
|
68
|
+
import "../chunk-QD7EID4N.mjs";
|
|
67
69
|
import "../chunk-AFNWX62Q.mjs";
|
|
68
70
|
import "../chunk-DMLQZG75.mjs";
|
|
69
71
|
import "../chunk-SKC7AJIV.mjs";
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
declare enum RenderStatus {
|
|
2
|
+
InProgress = "inProgress",
|
|
3
|
+
Complete = "complete"
|
|
4
|
+
}
|
|
5
|
+
declare enum ClaimAction {
|
|
6
|
+
Create = "create",
|
|
7
|
+
Override = "override",
|
|
8
|
+
Existing = "existing",
|
|
9
|
+
Block = "block"
|
|
10
|
+
}
|
|
11
|
+
interface StateRenderContext {
|
|
12
|
+
agentId: string;
|
|
13
|
+
stateRenderId: string;
|
|
14
|
+
messageId: string;
|
|
15
|
+
runId: string;
|
|
16
|
+
messageIndex?: number;
|
|
17
|
+
}
|
|
18
|
+
interface Claim {
|
|
19
|
+
stateRenderId: string;
|
|
20
|
+
runId?: string;
|
|
21
|
+
stateSnapshot?: any;
|
|
22
|
+
locked?: boolean;
|
|
23
|
+
messageIndex?: number;
|
|
24
|
+
}
|
|
25
|
+
type ClaimsByMessageId = Record<string, Claim>;
|
|
26
|
+
interface ClaimResolution {
|
|
27
|
+
canRender: boolean;
|
|
28
|
+
action: ClaimAction;
|
|
29
|
+
nextClaim?: Claim;
|
|
30
|
+
lockOthers?: boolean;
|
|
31
|
+
updateRunId?: string;
|
|
32
|
+
}
|
|
33
|
+
interface SnapshotCaches {
|
|
34
|
+
byStateRenderAndRun: Record<string, any>;
|
|
35
|
+
byMessageId: Record<string, any>;
|
|
36
|
+
}
|
|
37
|
+
interface SnapshotSelectionInput {
|
|
38
|
+
messageId: string;
|
|
39
|
+
messageName?: string;
|
|
40
|
+
allowLiveState?: boolean;
|
|
41
|
+
skipLatestCache?: boolean;
|
|
42
|
+
stateRenderId?: string;
|
|
43
|
+
effectiveRunId: string;
|
|
44
|
+
stateSnapshotProp?: any;
|
|
45
|
+
agentState?: any;
|
|
46
|
+
agentMessages?: Array<{
|
|
47
|
+
id: string;
|
|
48
|
+
role?: string;
|
|
49
|
+
}>;
|
|
50
|
+
existingClaim?: Claim;
|
|
51
|
+
caches: SnapshotCaches;
|
|
52
|
+
}
|
|
53
|
+
interface SnapshotSelectionResult {
|
|
54
|
+
snapshot?: any;
|
|
55
|
+
hasSnapshotKeys: boolean;
|
|
56
|
+
cachedSnapshot?: any;
|
|
57
|
+
allowEmptySnapshot?: boolean;
|
|
58
|
+
snapshotForClaim?: any;
|
|
59
|
+
}
|
|
60
|
+
declare function areStatesEquals(a: any, b: any): boolean;
|
|
61
|
+
declare function isPlaceholderMessageId(messageId: string | undefined): boolean;
|
|
62
|
+
declare function isPlaceholderMessageName(messageName: string | undefined): messageName is "coagent-state-render";
|
|
63
|
+
declare function readCachedMessageEntry(entry: any): {
|
|
64
|
+
snapshot?: any;
|
|
65
|
+
runId?: string;
|
|
66
|
+
};
|
|
67
|
+
declare function getEffectiveRunId({ existingClaimRunId, cachedMessageRunId, runId, }: {
|
|
68
|
+
existingClaimRunId?: string;
|
|
69
|
+
cachedMessageRunId?: string;
|
|
70
|
+
runId?: string;
|
|
71
|
+
}): string;
|
|
72
|
+
/**
|
|
73
|
+
* Resolve whether a message can claim a render slot.
|
|
74
|
+
* This is a pure decision function; the caller applies claim mutations.
|
|
75
|
+
*/
|
|
76
|
+
declare function resolveClaim({ claims, context, stateSnapshot, }: {
|
|
77
|
+
claims: ClaimsByMessageId;
|
|
78
|
+
context: StateRenderContext;
|
|
79
|
+
stateSnapshot?: any;
|
|
80
|
+
}): ClaimResolution;
|
|
81
|
+
/**
|
|
82
|
+
* Select the best snapshot to render for this message.
|
|
83
|
+
* Priority order is:
|
|
84
|
+
* 1) explicit message snapshot
|
|
85
|
+
* 2) live agent state (latest assistant only)
|
|
86
|
+
* 3) cached snapshot for message
|
|
87
|
+
* 4) cached snapshot for stateRenderId+runId
|
|
88
|
+
* 5) last cached snapshot for stateRenderId
|
|
89
|
+
*/
|
|
90
|
+
declare function selectSnapshot({ messageId, messageName, allowLiveState, skipLatestCache, stateRenderId, effectiveRunId, stateSnapshotProp, agentState, agentMessages, existingClaim, caches, }: SnapshotSelectionInput): SnapshotSelectionResult;
|
|
91
|
+
|
|
92
|
+
export { Claim, ClaimAction, ClaimResolution, ClaimsByMessageId, RenderStatus, SnapshotCaches, SnapshotSelectionInput, SnapshotSelectionResult, StateRenderContext, areStatesEquals, getEffectiveRunId, isPlaceholderMessageId, isPlaceholderMessageName, readCachedMessageEntry, resolveClaim, selectSnapshot };
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __objRest = (source, exclude) => {
|
|
9
|
+
var target = {};
|
|
10
|
+
for (var prop in source)
|
|
11
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
12
|
+
target[prop] = source[prop];
|
|
13
|
+
if (source != null && __getOwnPropSymbols)
|
|
14
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
15
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
16
|
+
target[prop] = source[prop];
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __export = (target, all) => {
|
|
21
|
+
for (var name in all)
|
|
22
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
23
|
+
};
|
|
24
|
+
var __copyProps = (to, from, except, desc) => {
|
|
25
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
26
|
+
for (let key of __getOwnPropNames(from))
|
|
27
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
28
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
29
|
+
}
|
|
30
|
+
return to;
|
|
31
|
+
};
|
|
32
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
33
|
+
|
|
34
|
+
// src/hooks/use-coagent-state-render-bridge.helpers.ts
|
|
35
|
+
var use_coagent_state_render_bridge_helpers_exports = {};
|
|
36
|
+
__export(use_coagent_state_render_bridge_helpers_exports, {
|
|
37
|
+
ClaimAction: () => ClaimAction,
|
|
38
|
+
RenderStatus: () => RenderStatus,
|
|
39
|
+
areStatesEquals: () => areStatesEquals,
|
|
40
|
+
getEffectiveRunId: () => getEffectiveRunId,
|
|
41
|
+
isPlaceholderMessageId: () => isPlaceholderMessageId,
|
|
42
|
+
isPlaceholderMessageName: () => isPlaceholderMessageName,
|
|
43
|
+
readCachedMessageEntry: () => readCachedMessageEntry,
|
|
44
|
+
resolveClaim: () => resolveClaim,
|
|
45
|
+
selectSnapshot: () => selectSnapshot
|
|
46
|
+
});
|
|
47
|
+
module.exports = __toCommonJS(use_coagent_state_render_bridge_helpers_exports);
|
|
48
|
+
var import_shared = require("@copilotkit/shared");
|
|
49
|
+
var RenderStatus = /* @__PURE__ */ ((RenderStatus2) => {
|
|
50
|
+
RenderStatus2["InProgress"] = "inProgress";
|
|
51
|
+
RenderStatus2["Complete"] = "complete";
|
|
52
|
+
return RenderStatus2;
|
|
53
|
+
})(RenderStatus || {});
|
|
54
|
+
var ClaimAction = /* @__PURE__ */ ((ClaimAction2) => {
|
|
55
|
+
ClaimAction2["Create"] = "create";
|
|
56
|
+
ClaimAction2["Override"] = "override";
|
|
57
|
+
ClaimAction2["Existing"] = "existing";
|
|
58
|
+
ClaimAction2["Block"] = "block";
|
|
59
|
+
return ClaimAction2;
|
|
60
|
+
})(ClaimAction || {});
|
|
61
|
+
function getStateWithoutConstantKeys(state) {
|
|
62
|
+
if (!state)
|
|
63
|
+
return {};
|
|
64
|
+
const _a = state, { messages, tools, copilotkit } = _a, stateWithoutConstantKeys = __objRest(_a, ["messages", "tools", "copilotkit"]);
|
|
65
|
+
return stateWithoutConstantKeys;
|
|
66
|
+
}
|
|
67
|
+
function areStatesEquals(a, b) {
|
|
68
|
+
if (a && !b || !a && b)
|
|
69
|
+
return false;
|
|
70
|
+
const _a = a, { messages, tools, copilotkit } = _a, aWithoutConstantKeys = __objRest(_a, ["messages", "tools", "copilotkit"]);
|
|
71
|
+
const _b = b, {
|
|
72
|
+
messages: bMessages,
|
|
73
|
+
tools: bTools,
|
|
74
|
+
copilotkit: bCopilotkit
|
|
75
|
+
} = _b, bWithoutConstantKeys = __objRest(_b, [
|
|
76
|
+
"messages",
|
|
77
|
+
"tools",
|
|
78
|
+
"copilotkit"
|
|
79
|
+
]);
|
|
80
|
+
return JSON.stringify(aWithoutConstantKeys) === JSON.stringify(bWithoutConstantKeys);
|
|
81
|
+
}
|
|
82
|
+
function isPlaceholderMessageId(messageId) {
|
|
83
|
+
return !!messageId && messageId.startsWith("coagent-state-render-");
|
|
84
|
+
}
|
|
85
|
+
function isPlaceholderMessageName(messageName) {
|
|
86
|
+
return messageName === "coagent-state-render";
|
|
87
|
+
}
|
|
88
|
+
function readCachedMessageEntry(entry) {
|
|
89
|
+
if (!entry || typeof entry !== "object") {
|
|
90
|
+
return { snapshot: entry, runId: void 0 };
|
|
91
|
+
}
|
|
92
|
+
const snapshot = "snapshot" in entry ? entry.snapshot : entry;
|
|
93
|
+
const runId = "runId" in entry ? entry.runId : void 0;
|
|
94
|
+
return { snapshot, runId };
|
|
95
|
+
}
|
|
96
|
+
function getEffectiveRunId({
|
|
97
|
+
existingClaimRunId,
|
|
98
|
+
cachedMessageRunId,
|
|
99
|
+
runId
|
|
100
|
+
}) {
|
|
101
|
+
return existingClaimRunId || cachedMessageRunId || runId || "pending";
|
|
102
|
+
}
|
|
103
|
+
function resolveClaim({
|
|
104
|
+
claims,
|
|
105
|
+
context,
|
|
106
|
+
stateSnapshot
|
|
107
|
+
}) {
|
|
108
|
+
const { messageId, stateRenderId, runId, messageIndex } = context;
|
|
109
|
+
const existing = claims[messageId];
|
|
110
|
+
if (existing) {
|
|
111
|
+
const canRender = existing.stateRenderId === stateRenderId;
|
|
112
|
+
const shouldUpdateRunId = canRender && runId && (!existing.runId || existing.runId === "pending");
|
|
113
|
+
return {
|
|
114
|
+
canRender,
|
|
115
|
+
action: canRender ? "existing" /* Existing */ : "block" /* Block */,
|
|
116
|
+
updateRunId: shouldUpdateRunId ? runId : void 0
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
const normalizedRunId = runId != null ? runId : "pending";
|
|
120
|
+
const renderClaimedByOtherMessageEntry = Object.entries(claims).find(
|
|
121
|
+
([, claim]) => {
|
|
122
|
+
var _a;
|
|
123
|
+
return claim.stateRenderId === stateRenderId && ((_a = claim.runId) != null ? _a : "pending") === normalizedRunId && (0, import_shared.dataToUUID)(getStateWithoutConstantKeys(claim.stateSnapshot)) === (0, import_shared.dataToUUID)(getStateWithoutConstantKeys(stateSnapshot));
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
const renderClaimedByOtherMessage = renderClaimedByOtherMessageEntry == null ? void 0 : renderClaimedByOtherMessageEntry[1];
|
|
127
|
+
const claimedMessageId = renderClaimedByOtherMessageEntry == null ? void 0 : renderClaimedByOtherMessageEntry[0];
|
|
128
|
+
if (renderClaimedByOtherMessage) {
|
|
129
|
+
if (messageIndex !== void 0 && renderClaimedByOtherMessage.messageIndex !== void 0 && messageIndex > renderClaimedByOtherMessage.messageIndex) {
|
|
130
|
+
return {
|
|
131
|
+
canRender: true,
|
|
132
|
+
action: "override" /* Override */,
|
|
133
|
+
nextClaim: { stateRenderId, runId, messageIndex },
|
|
134
|
+
lockOthers: runId === renderClaimedByOtherMessage.runId || isPlaceholderMessageId(claimedMessageId)
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
if (runId && renderClaimedByOtherMessage.runId && runId !== renderClaimedByOtherMessage.runId) {
|
|
138
|
+
return {
|
|
139
|
+
canRender: true,
|
|
140
|
+
action: "override" /* Override */,
|
|
141
|
+
nextClaim: { stateRenderId, runId, messageIndex },
|
|
142
|
+
lockOthers: isPlaceholderMessageId(claimedMessageId)
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
if (isPlaceholderMessageId(claimedMessageId)) {
|
|
146
|
+
return {
|
|
147
|
+
canRender: true,
|
|
148
|
+
action: "override" /* Override */,
|
|
149
|
+
nextClaim: { stateRenderId, runId, messageIndex },
|
|
150
|
+
lockOthers: true
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
if (stateSnapshot && renderClaimedByOtherMessage.stateSnapshot && !areStatesEquals(renderClaimedByOtherMessage.stateSnapshot, stateSnapshot)) {
|
|
154
|
+
return {
|
|
155
|
+
canRender: true,
|
|
156
|
+
action: "override" /* Override */,
|
|
157
|
+
nextClaim: { stateRenderId, runId }
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
return { canRender: false, action: "block" /* Block */ };
|
|
161
|
+
}
|
|
162
|
+
if (!runId) {
|
|
163
|
+
return { canRender: false, action: "block" /* Block */ };
|
|
164
|
+
}
|
|
165
|
+
return {
|
|
166
|
+
canRender: true,
|
|
167
|
+
action: "create" /* Create */,
|
|
168
|
+
nextClaim: { stateRenderId, runId, messageIndex }
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function selectSnapshot({
|
|
172
|
+
messageId,
|
|
173
|
+
messageName,
|
|
174
|
+
allowLiveState,
|
|
175
|
+
skipLatestCache,
|
|
176
|
+
stateRenderId,
|
|
177
|
+
effectiveRunId,
|
|
178
|
+
stateSnapshotProp,
|
|
179
|
+
agentState,
|
|
180
|
+
agentMessages,
|
|
181
|
+
existingClaim,
|
|
182
|
+
caches
|
|
183
|
+
}) {
|
|
184
|
+
var _a, _b, _c, _d, _e, _f;
|
|
185
|
+
const lastAssistantId = agentMessages ? (_a = [...agentMessages].reverse().find((msg) => msg.role === "assistant")) == null ? void 0 : _a.id : void 0;
|
|
186
|
+
const latestSnapshot = stateRenderId !== void 0 ? caches.byStateRenderAndRun[`${stateRenderId}::latest`] : void 0;
|
|
187
|
+
const messageIndex = agentMessages ? agentMessages.findIndex((msg) => msg.id === messageId) : -1;
|
|
188
|
+
const messageRole = messageIndex >= 0 && agentMessages ? (_b = agentMessages[messageIndex]) == null ? void 0 : _b.role : void 0;
|
|
189
|
+
let previousUserMessageId;
|
|
190
|
+
if (messageIndex > 0 && agentMessages) {
|
|
191
|
+
for (let i = messageIndex - 1; i >= 0; i -= 1) {
|
|
192
|
+
if (((_c = agentMessages[i]) == null ? void 0 : _c.role) === "user") {
|
|
193
|
+
previousUserMessageId = (_d = agentMessages[i]) == null ? void 0 : _d.id;
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
const liveStateIsStale = stateSnapshotProp === void 0 && latestSnapshot !== void 0 && agentState !== void 0 && areStatesEquals(latestSnapshot, agentState);
|
|
199
|
+
const shouldUseLiveState = (Boolean(allowLiveState) || !lastAssistantId || messageId === lastAssistantId) && !liveStateIsStale;
|
|
200
|
+
const snapshot = stateSnapshotProp ? (0, import_shared.parseJson)(stateSnapshotProp, stateSnapshotProp) : shouldUseLiveState ? agentState : void 0;
|
|
201
|
+
const hasSnapshotKeys = !!(snapshot && Object.keys(snapshot).length > 0);
|
|
202
|
+
const allowEmptySnapshot = snapshot !== void 0 && !hasSnapshotKeys && (stateSnapshotProp !== void 0 || shouldUseLiveState);
|
|
203
|
+
const messageCacheEntry = caches.byMessageId[messageId];
|
|
204
|
+
const cachedMessageSnapshot = readCachedMessageEntry(messageCacheEntry).snapshot;
|
|
205
|
+
const cacheKey = stateRenderId !== void 0 ? `${stateRenderId}::${effectiveRunId}` : void 0;
|
|
206
|
+
let cachedSnapshot = cachedMessageSnapshot != null ? cachedMessageSnapshot : caches.byMessageId[messageId];
|
|
207
|
+
if (cachedSnapshot === void 0 && cacheKey && caches.byStateRenderAndRun[cacheKey] !== void 0) {
|
|
208
|
+
cachedSnapshot = caches.byStateRenderAndRun[cacheKey];
|
|
209
|
+
}
|
|
210
|
+
if (cachedSnapshot === void 0 && stateRenderId && previousUserMessageId && caches.byStateRenderAndRun[`${stateRenderId}::pending:${previousUserMessageId}`] !== void 0) {
|
|
211
|
+
cachedSnapshot = caches.byStateRenderAndRun[`${stateRenderId}::pending:${previousUserMessageId}`];
|
|
212
|
+
}
|
|
213
|
+
if (cachedSnapshot === void 0 && !skipLatestCache && stateRenderId && messageRole !== "assistant" && (stateSnapshotProp !== void 0 || agentState && Object.keys(agentState).length > 0)) {
|
|
214
|
+
cachedSnapshot = caches.byStateRenderAndRun[`${stateRenderId}::latest`];
|
|
215
|
+
}
|
|
216
|
+
const snapshotForClaim = (existingClaim == null ? void 0 : existingClaim.locked) ? (_e = existingClaim.stateSnapshot) != null ? _e : cachedSnapshot : hasSnapshotKeys ? snapshot : (_f = existingClaim == null ? void 0 : existingClaim.stateSnapshot) != null ? _f : cachedSnapshot;
|
|
217
|
+
return { snapshot, hasSnapshotKeys, cachedSnapshot, allowEmptySnapshot, snapshotForClaim };
|
|
218
|
+
}
|
|
219
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
220
|
+
0 && (module.exports = {
|
|
221
|
+
ClaimAction,
|
|
222
|
+
RenderStatus,
|
|
223
|
+
areStatesEquals,
|
|
224
|
+
getEffectiveRunId,
|
|
225
|
+
isPlaceholderMessageId,
|
|
226
|
+
isPlaceholderMessageName,
|
|
227
|
+
readCachedMessageEntry,
|
|
228
|
+
resolveClaim,
|
|
229
|
+
selectSnapshot
|
|
230
|
+
});
|
|
231
|
+
//# sourceMappingURL=use-coagent-state-render-bridge.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/use-coagent-state-render-bridge.helpers.ts"],"sourcesContent":["import { dataToUUID, parseJson } from \"@copilotkit/shared\";\n\nexport enum RenderStatus {\n InProgress = \"inProgress\",\n Complete = \"complete\",\n}\n\nexport enum ClaimAction {\n Create = \"create\",\n Override = \"override\",\n Existing = \"existing\",\n Block = \"block\",\n}\n\nexport interface StateRenderContext {\n agentId: string;\n stateRenderId: string;\n messageId: string;\n runId: string;\n messageIndex?: number;\n}\n\nexport interface Claim {\n stateRenderId: string;\n runId?: string;\n stateSnapshot?: any;\n locked?: boolean;\n messageIndex?: number;\n}\n\nexport type ClaimsByMessageId = Record<string, Claim>;\n\nexport interface ClaimResolution {\n canRender: boolean;\n action: ClaimAction;\n nextClaim?: Claim;\n lockOthers?: boolean;\n updateRunId?: string;\n}\n\nexport interface SnapshotCaches {\n byStateRenderAndRun: Record<string, any>;\n byMessageId: Record<string, any>;\n}\n\nexport interface SnapshotSelectionInput {\n messageId: string;\n messageName?: string;\n allowLiveState?: boolean;\n skipLatestCache?: boolean;\n stateRenderId?: string;\n effectiveRunId: string;\n stateSnapshotProp?: any;\n agentState?: any;\n agentMessages?: Array<{ id: string; role?: string }>;\n existingClaim?: Claim;\n caches: SnapshotCaches;\n}\n\nexport interface SnapshotSelectionResult {\n snapshot?: any;\n hasSnapshotKeys: boolean;\n cachedSnapshot?: any;\n allowEmptySnapshot?: boolean;\n snapshotForClaim?: any;\n}\n\nfunction getStateWithoutConstantKeys(state: any) {\n if (!state) return {};\n const { messages, tools, copilotkit, ...stateWithoutConstantKeys } = state;\n return stateWithoutConstantKeys;\n}\n\n// Function that compares states, without the constant keys\nexport function areStatesEquals(a: any, b: any) {\n if ((a && !b) || (!a && b)) return false;\n const { messages, tools, copilotkit, ...aWithoutConstantKeys } = a;\n const {\n messages: bMessages,\n tools: bTools,\n copilotkit: bCopilotkit,\n ...bWithoutConstantKeys\n } = b;\n\n return JSON.stringify(aWithoutConstantKeys) === JSON.stringify(bWithoutConstantKeys);\n}\n\nexport function isPlaceholderMessageId(messageId: string | undefined) {\n return !!messageId && messageId.startsWith(\"coagent-state-render-\");\n}\n\nexport function isPlaceholderMessageName(messageName: string | undefined) {\n return messageName === \"coagent-state-render\";\n}\n\nexport function readCachedMessageEntry(entry: any): { snapshot?: any; runId?: string } {\n if (!entry || typeof entry !== \"object\") {\n return { snapshot: entry, runId: undefined };\n }\n const snapshot = \"snapshot\" in entry ? entry.snapshot : entry;\n const runId = \"runId\" in entry ? entry.runId : undefined;\n return { snapshot, runId };\n}\n\nexport function getEffectiveRunId({\n existingClaimRunId,\n cachedMessageRunId,\n runId,\n}: {\n existingClaimRunId?: string;\n cachedMessageRunId?: string;\n runId?: string;\n}) {\n return existingClaimRunId || cachedMessageRunId || runId || \"pending\";\n}\n\n/**\n * Resolve whether a message can claim a render slot.\n * This is a pure decision function; the caller applies claim mutations.\n */\nexport function resolveClaim({\n claims,\n context,\n stateSnapshot,\n}: {\n claims: ClaimsByMessageId;\n context: StateRenderContext;\n stateSnapshot?: any;\n}): ClaimResolution {\n const { messageId, stateRenderId, runId, messageIndex } = context;\n const existing = claims[messageId];\n\n if (existing) {\n const canRender = existing.stateRenderId === stateRenderId;\n const shouldUpdateRunId =\n canRender && runId && (!existing.runId || existing.runId === \"pending\");\n return {\n canRender,\n action: canRender ? ClaimAction.Existing : ClaimAction.Block,\n updateRunId: shouldUpdateRunId ? runId : undefined,\n };\n }\n\n const normalizedRunId = runId ?? \"pending\";\n const renderClaimedByOtherMessageEntry = Object.entries(claims).find(\n ([, claim]) =>\n claim.stateRenderId === stateRenderId &&\n (claim.runId ?? \"pending\") === normalizedRunId &&\n dataToUUID(getStateWithoutConstantKeys(claim.stateSnapshot)) ===\n dataToUUID(getStateWithoutConstantKeys(stateSnapshot)),\n );\n\n const renderClaimedByOtherMessage = renderClaimedByOtherMessageEntry?.[1];\n const claimedMessageId = renderClaimedByOtherMessageEntry?.[0];\n\n if (renderClaimedByOtherMessage) {\n if (\n messageIndex !== undefined &&\n renderClaimedByOtherMessage.messageIndex !== undefined &&\n messageIndex > renderClaimedByOtherMessage.messageIndex\n ) {\n return {\n canRender: true,\n action: ClaimAction.Override,\n nextClaim: { stateRenderId, runId, messageIndex },\n lockOthers:\n runId === renderClaimedByOtherMessage.runId || isPlaceholderMessageId(claimedMessageId),\n };\n }\n\n if (runId && renderClaimedByOtherMessage.runId && runId !== renderClaimedByOtherMessage.runId) {\n return {\n canRender: true,\n action: ClaimAction.Override,\n nextClaim: { stateRenderId, runId, messageIndex },\n lockOthers: isPlaceholderMessageId(claimedMessageId),\n };\n }\n\n if (isPlaceholderMessageId(claimedMessageId)) {\n return {\n canRender: true,\n action: ClaimAction.Override,\n nextClaim: { stateRenderId, runId, messageIndex },\n lockOthers: true,\n };\n }\n\n if (\n stateSnapshot &&\n renderClaimedByOtherMessage.stateSnapshot &&\n !areStatesEquals(renderClaimedByOtherMessage.stateSnapshot, stateSnapshot)\n ) {\n return {\n canRender: true,\n action: ClaimAction.Override,\n nextClaim: { stateRenderId, runId },\n };\n }\n\n return { canRender: false, action: ClaimAction.Block };\n }\n\n if (!runId) {\n return { canRender: false, action: ClaimAction.Block };\n }\n\n return {\n canRender: true,\n action: ClaimAction.Create,\n nextClaim: { stateRenderId, runId, messageIndex },\n };\n}\n\n/**\n * Select the best snapshot to render for this message.\n * Priority order is:\n * 1) explicit message snapshot\n * 2) live agent state (latest assistant only)\n * 3) cached snapshot for message\n * 4) cached snapshot for stateRenderId+runId\n * 5) last cached snapshot for stateRenderId\n */\nexport function selectSnapshot({\n messageId,\n messageName,\n allowLiveState,\n skipLatestCache,\n stateRenderId,\n effectiveRunId,\n stateSnapshotProp,\n agentState,\n agentMessages,\n existingClaim,\n caches,\n}: SnapshotSelectionInput): SnapshotSelectionResult {\n const lastAssistantId = agentMessages\n ? [...agentMessages].reverse().find((msg) => msg.role === \"assistant\")?.id\n : undefined;\n const latestSnapshot =\n stateRenderId !== undefined ? caches.byStateRenderAndRun[`${stateRenderId}::latest`] : undefined;\n const messageIndex = agentMessages\n ? agentMessages.findIndex((msg) => msg.id === messageId)\n : -1;\n const messageRole =\n messageIndex >= 0 && agentMessages ? agentMessages[messageIndex]?.role : undefined;\n let previousUserMessageId: string | undefined;\n if (messageIndex > 0 && agentMessages) {\n for (let i = messageIndex - 1; i >= 0; i -= 1) {\n if (agentMessages[i]?.role === \"user\") {\n previousUserMessageId = agentMessages[i]?.id;\n break;\n }\n }\n }\n const liveStateIsStale =\n stateSnapshotProp === undefined &&\n latestSnapshot !== undefined &&\n agentState !== undefined &&\n areStatesEquals(latestSnapshot, agentState);\n const shouldUseLiveState =\n (Boolean(allowLiveState) || !lastAssistantId || messageId === lastAssistantId) &&\n !liveStateIsStale;\n const snapshot = stateSnapshotProp\n ? parseJson(stateSnapshotProp, stateSnapshotProp)\n : shouldUseLiveState\n ? agentState\n : undefined;\n const hasSnapshotKeys = !!(snapshot && Object.keys(snapshot).length > 0);\n const allowEmptySnapshot =\n snapshot !== undefined &&\n !hasSnapshotKeys &&\n (stateSnapshotProp !== undefined || shouldUseLiveState);\n\n const messageCacheEntry = caches.byMessageId[messageId];\n const cachedMessageSnapshot = readCachedMessageEntry(messageCacheEntry).snapshot;\n const cacheKey =\n stateRenderId !== undefined ? `${stateRenderId}::${effectiveRunId}` : undefined;\n let cachedSnapshot = cachedMessageSnapshot ?? caches.byMessageId[messageId];\n if (cachedSnapshot === undefined && cacheKey && caches.byStateRenderAndRun[cacheKey] !== undefined) {\n cachedSnapshot = caches.byStateRenderAndRun[cacheKey];\n }\n if (\n cachedSnapshot === undefined &&\n stateRenderId &&\n previousUserMessageId &&\n caches.byStateRenderAndRun[`${stateRenderId}::pending:${previousUserMessageId}`] !==\n undefined\n ) {\n cachedSnapshot =\n caches.byStateRenderAndRun[`${stateRenderId}::pending:${previousUserMessageId}`];\n }\n if (\n cachedSnapshot === undefined &&\n !skipLatestCache &&\n stateRenderId &&\n messageRole !== \"assistant\" &&\n (stateSnapshotProp !== undefined ||\n (agentState && Object.keys(agentState).length > 0))\n ) {\n cachedSnapshot = caches.byStateRenderAndRun[`${stateRenderId}::latest`];\n }\n\n const snapshotForClaim = existingClaim?.locked\n ? existingClaim.stateSnapshot ?? cachedSnapshot\n : hasSnapshotKeys\n ? snapshot\n : existingClaim?.stateSnapshot ?? cachedSnapshot;\n\n return { snapshot, hasSnapshotKeys, cachedSnapshot, allowEmptySnapshot, snapshotForClaim };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAsC;AAE/B,IAAK,eAAL,kBAAKA,kBAAL;AACL,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,cAAW;AAFD,SAAAA;AAAA,GAAA;AAKL,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,WAAQ;AAJE,SAAAA;AAAA,GAAA;AA4DZ,SAAS,4BAA4B,OAAY;AAC/C,MAAI,CAAC;AAAO,WAAO,CAAC;AACpB,QAAqE,YAA7D,YAAU,OAAO,WArE3B,IAqEuE,IAA7B,qCAA6B,IAA7B,CAAhC,YAAU,SAAO;AACzB,SAAO;AACT;AAGO,SAAS,gBAAgB,GAAQ,GAAQ;AAC9C,MAAK,KAAK,CAAC,KAAO,CAAC,KAAK;AAAI,WAAO;AACnC,QAAiE,QAAzD,YAAU,OAAO,WA5E3B,IA4EmE,IAAzB,iCAAyB,IAAzB,CAAhC,YAAU,SAAO;AACzB,QAKI,QAJF;AAAA,cAAU;AAAA,IACV,OAAO;AAAA,IACP,YAAY;AAAA,EAhFhB,IAkFM,IADC,iCACD,IADC;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAIF,SAAO,KAAK,UAAU,oBAAoB,MAAM,KAAK,UAAU,oBAAoB;AACrF;AAEO,SAAS,uBAAuB,WAA+B;AACpE,SAAO,CAAC,CAAC,aAAa,UAAU,WAAW,uBAAuB;AACpE;AAEO,SAAS,yBAAyB,aAAiC;AACxE,SAAO,gBAAgB;AACzB;AAEO,SAAS,uBAAuB,OAAgD;AACrF,MAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACvC,WAAO,EAAE,UAAU,OAAO,OAAO,OAAU;AAAA,EAC7C;AACA,QAAM,WAAW,cAAc,QAAQ,MAAM,WAAW;AACxD,QAAM,QAAQ,WAAW,QAAQ,MAAM,QAAQ;AAC/C,SAAO,EAAE,UAAU,MAAM;AAC3B;AAEO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,SAAO,sBAAsB,sBAAsB,SAAS;AAC9D;AAMO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACF,GAIoB;AAClB,QAAM,EAAE,WAAW,eAAe,OAAO,aAAa,IAAI;AAC1D,QAAM,WAAW,OAAO,SAAS;AAEjC,MAAI,UAAU;AACZ,UAAM,YAAY,SAAS,kBAAkB;AAC7C,UAAM,oBACJ,aAAa,UAAU,CAAC,SAAS,SAAS,SAAS,UAAU;AAC/D,WAAO;AAAA,MACL;AAAA,MACA,QAAQ,YAAY,4BAAuB;AAAA,MAC3C,aAAa,oBAAoB,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEA,QAAM,kBAAkB,wBAAS;AACjC,QAAM,mCAAmC,OAAO,QAAQ,MAAM,EAAE;AAAA,IAC9D,CAAC,CAAC,EAAE,KAAK,MAAG;AAjJhB;AAkJM,mBAAM,kBAAkB,mBACvB,WAAM,UAAN,YAAe,eAAe,uBAC/B,0BAAW,4BAA4B,MAAM,aAAa,CAAC,UACzD,0BAAW,4BAA4B,aAAa,CAAC;AAAA;AAAA,EAC3D;AAEA,QAAM,8BAA8B,qFAAmC;AACvE,QAAM,mBAAmB,qFAAmC;AAE5D,MAAI,6BAA6B;AAC/B,QACE,iBAAiB,UACjB,4BAA4B,iBAAiB,UAC7C,eAAe,4BAA4B,cAC3C;AACA,aAAO;AAAA,QACL,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,WAAW,EAAE,eAAe,OAAO,aAAa;AAAA,QAChD,YACE,UAAU,4BAA4B,SAAS,uBAAuB,gBAAgB;AAAA,MAC1F;AAAA,IACF;AAEA,QAAI,SAAS,4BAA4B,SAAS,UAAU,4BAA4B,OAAO;AAC7F,aAAO;AAAA,QACL,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,WAAW,EAAE,eAAe,OAAO,aAAa;AAAA,QAChD,YAAY,uBAAuB,gBAAgB;AAAA,MACrD;AAAA,IACF;AAEA,QAAI,uBAAuB,gBAAgB,GAAG;AAC5C,aAAO;AAAA,QACL,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,WAAW,EAAE,eAAe,OAAO,aAAa;AAAA,QAChD,YAAY;AAAA,MACd;AAAA,IACF;AAEA,QACE,iBACA,4BAA4B,iBAC5B,CAAC,gBAAgB,4BAA4B,eAAe,aAAa,GACzE;AACA,aAAO;AAAA,QACL,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,WAAW,EAAE,eAAe,MAAM;AAAA,MACpC;AAAA,IACF;AAEA,WAAO,EAAE,WAAW,OAAO,QAAQ,oBAAkB;AAAA,EACvD;AAEA,MAAI,CAAC,OAAO;AACV,WAAO,EAAE,WAAW,OAAO,QAAQ,oBAAkB;AAAA,EACvD;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,WAAW,EAAE,eAAe,OAAO,aAAa;AAAA,EAClD;AACF;AAWO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAoD;AA3OpD;AA4OE,QAAM,kBAAkB,iBACpB,MAAC,GAAG,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS,WAAW,MAAnE,mBAAsE,KACtE;AACJ,QAAM,iBACJ,kBAAkB,SAAY,OAAO,oBAAoB,GAAG,uBAAuB,IAAI;AACzF,QAAM,eAAe,gBACjB,cAAc,UAAU,CAAC,QAAQ,IAAI,OAAO,SAAS,IACrD;AACJ,QAAM,cACJ,gBAAgB,KAAK,iBAAgB,mBAAc,YAAY,MAA1B,mBAA6B,OAAO;AAC3E,MAAI;AACJ,MAAI,eAAe,KAAK,eAAe;AACrC,aAAS,IAAI,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG;AAC7C,YAAI,mBAAc,CAAC,MAAf,mBAAkB,UAAS,QAAQ;AACrC,iCAAwB,mBAAc,CAAC,MAAf,mBAAkB;AAC1C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,mBACJ,sBAAsB,UACtB,mBAAmB,UACnB,eAAe,UACf,gBAAgB,gBAAgB,UAAU;AAC5C,QAAM,sBACH,QAAQ,cAAc,KAAK,CAAC,mBAAmB,cAAc,oBAC9D,CAAC;AACH,QAAM,WAAW,wBACb,yBAAU,mBAAmB,iBAAiB,IAC9C,qBACE,aACA;AACN,QAAM,kBAAkB,CAAC,EAAE,YAAY,OAAO,KAAK,QAAQ,EAAE,SAAS;AACtE,QAAM,qBACJ,aAAa,UACb,CAAC,oBACA,sBAAsB,UAAa;AAEtC,QAAM,oBAAoB,OAAO,YAAY,SAAS;AACtD,QAAM,wBAAwB,uBAAuB,iBAAiB,EAAE;AACxE,QAAM,WACJ,kBAAkB,SAAY,GAAG,kBAAkB,mBAAmB;AACxE,MAAI,iBAAiB,wDAAyB,OAAO,YAAY,SAAS;AAC1E,MAAI,mBAAmB,UAAa,YAAY,OAAO,oBAAoB,QAAQ,MAAM,QAAW;AAClG,qBAAiB,OAAO,oBAAoB,QAAQ;AAAA,EACtD;AACA,MACE,mBAAmB,UACnB,iBACA,yBACA,OAAO,oBAAoB,GAAG,0BAA0B,uBAAuB,MAC7E,QACF;AACA,qBACE,OAAO,oBAAoB,GAAG,0BAA0B,uBAAuB;AAAA,EACnF;AACA,MACE,mBAAmB,UACnB,CAAC,mBACD,iBACA,gBAAgB,gBACf,sBAAsB,UACpB,cAAc,OAAO,KAAK,UAAU,EAAE,SAAS,IAClD;AACA,qBAAiB,OAAO,oBAAoB,GAAG,uBAAuB;AAAA,EACxE;AAEA,QAAM,oBAAmB,+CAAe,WACpC,mBAAc,kBAAd,YAA+B,iBAC/B,kBACE,YACA,oDAAe,kBAAf,YAAgC;AAEtC,SAAO,EAAE,UAAU,iBAAiB,gBAAgB,oBAAoB,iBAAiB;AAC3F;","names":["RenderStatus","ClaimAction"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ClaimAction,
|
|
3
|
+
RenderStatus,
|
|
4
|
+
areStatesEquals,
|
|
5
|
+
getEffectiveRunId,
|
|
6
|
+
isPlaceholderMessageId,
|
|
7
|
+
isPlaceholderMessageName,
|
|
8
|
+
readCachedMessageEntry,
|
|
9
|
+
resolveClaim,
|
|
10
|
+
selectSnapshot
|
|
11
|
+
} from "../chunk-C3YJYDK4.mjs";
|
|
12
|
+
import "../chunk-SKC7AJIV.mjs";
|
|
13
|
+
export {
|
|
14
|
+
ClaimAction,
|
|
15
|
+
RenderStatus,
|
|
16
|
+
areStatesEquals,
|
|
17
|
+
getEffectiveRunId,
|
|
18
|
+
isPlaceholderMessageId,
|
|
19
|
+
isPlaceholderMessageName,
|
|
20
|
+
readCachedMessageEntry,
|
|
21
|
+
resolveClaim,
|
|
22
|
+
selectSnapshot
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=use-coagent-state-render-bridge.helpers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|