@corenel/harness 0.20.0 → 0.22.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/chat/engine.d.ts +53 -0
- package/dist/chat/engine.d.ts.map +1 -0
- package/dist/chat/engine.js +885 -0
- package/dist/chat/engine.js.map +1 -0
- package/dist/chat/events.d.ts +5 -0
- package/dist/chat/events.d.ts.map +1 -0
- package/dist/chat/events.js +100 -0
- package/dist/chat/events.js.map +1 -0
- package/dist/chat/index.d.ts +9 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +9 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/liveFold.d.ts +10 -0
- package/dist/chat/liveFold.d.ts.map +1 -0
- package/dist/chat/liveFold.js +31 -0
- package/dist/chat/liveFold.js.map +1 -0
- package/dist/chat/messages.d.ts +20 -0
- package/dist/chat/messages.d.ts.map +1 -0
- package/dist/chat/messages.js +56 -0
- package/dist/chat/messages.js.map +1 -0
- package/dist/chat/persist.d.ts +47 -0
- package/dist/chat/persist.d.ts.map +1 -0
- package/dist/chat/persist.js +118 -0
- package/dist/chat/persist.js.map +1 -0
- package/dist/chat/runWatchdog.d.ts +21 -0
- package/dist/chat/runWatchdog.d.ts.map +1 -0
- package/dist/chat/runWatchdog.js +92 -0
- package/dist/chat/runWatchdog.js.map +1 -0
- package/dist/chat/stitch.d.ts +26 -0
- package/dist/chat/stitch.d.ts.map +1 -0
- package/dist/chat/stitch.js +40 -0
- package/dist/chat/stitch.js.map +1 -0
- package/dist/chat/types.d.ts +163 -0
- package/dist/chat/types.d.ts.map +1 -0
- package/dist/chat/types.js +2 -0
- package/dist/chat/types.js.map +1 -0
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +50 -15
- package/dist/core/loop.js.map +1 -1
- package/dist/core/spawn.d.ts +10 -0
- package/dist/core/spawn.d.ts.map +1 -1
- package/dist/core/spawn.js +28 -5
- package/dist/core/spawn.js.map +1 -1
- package/dist/fileSchema.js +1 -1
- package/dist/guardrail/builtins.d.ts.map +1 -1
- package/dist/guardrail/builtins.js +11 -6
- package/dist/guardrail/builtins.js.map +1 -1
- package/dist/guardrail/guardrail.d.ts +8 -0
- package/dist/guardrail/guardrail.d.ts.map +1 -1
- package/dist/guardrail/guardrail.js +12 -0
- package/dist/guardrail/guardrail.js.map +1 -1
- package/dist/guardrail/index.d.ts +1 -1
- package/dist/guardrail/index.d.ts.map +1 -1
- package/dist/guardrail/index.js +1 -1
- package/dist/guardrail/index.js.map +1 -1
- package/dist/guardrail/serialize.d.ts.map +1 -1
- package/dist/guardrail/serialize.js +3 -0
- package/dist/guardrail/serialize.js.map +1 -1
- package/dist/guardrail/validate.d.ts.map +1 -1
- package/dist/guardrail/validate.js +4 -0
- package/dist/guardrail/validate.js.map +1 -1
- package/dist/orchestrator/sidecarTools.d.ts.map +1 -1
- package/dist/orchestrator/sidecarTools.js +8 -4
- package/dist/orchestrator/sidecarTools.js.map +1 -1
- package/dist/prompts/fitProject.d.ts +6 -0
- package/dist/prompts/fitProject.d.ts.map +1 -0
- package/dist/prompts/fitProject.js +6 -0
- package/dist/prompts/fitProject.js.map +1 -0
- package/dist/prompts/library/defaults.generated.js +9 -9
- package/dist/prompts/library/defaults.generated.js.map +1 -1
- package/dist/prompts/library/index.d.ts +2 -1
- package/dist/prompts/library/index.d.ts.map +1 -1
- package/dist/prompts/library/index.js +11 -16
- package/dist/prompts/library/index.js.map +1 -1
- package/dist/providers/gateway.d.ts +1 -0
- package/dist/providers/gateway.d.ts.map +1 -1
- package/dist/providers/gateway.js +1 -0
- package/dist/providers/gateway.js.map +1 -1
- package/dist/sessions/fileSessionStore.d.ts.map +1 -1
- package/dist/sessions/fileSessionStore.js.map +1 -1
- package/dist/sidecar/askUserBroker.d.ts +40 -0
- package/dist/sidecar/askUserBroker.d.ts.map +1 -0
- package/dist/sidecar/askUserBroker.js +103 -0
- package/dist/sidecar/askUserBroker.js.map +1 -0
- package/dist/sidecar/fleetJwe.d.ts +25 -0
- package/dist/sidecar/fleetJwe.d.ts.map +1 -0
- package/dist/sidecar/fleetJwe.js +115 -0
- package/dist/sidecar/fleetJwe.js.map +1 -0
- package/dist/sidecar/fsChanges.d.ts +23 -0
- package/dist/sidecar/fsChanges.d.ts.map +1 -0
- package/dist/sidecar/fsChanges.js +77 -0
- package/dist/sidecar/fsChanges.js.map +1 -0
- package/dist/sidecar/host.d.ts +91 -1
- package/dist/sidecar/host.d.ts.map +1 -1
- package/dist/sidecar/host.js +269 -6
- package/dist/sidecar/host.js.map +1 -1
- package/dist/sidecar/identity.d.ts +4 -0
- package/dist/sidecar/identity.d.ts.map +1 -1
- package/dist/sidecar/memberGate.d.ts.map +1 -1
- package/dist/sidecar/memberGate.js +5 -0
- package/dist/sidecar/memberGate.js.map +1 -1
- package/dist/sidecar/server.d.ts +61 -4
- package/dist/sidecar/server.d.ts.map +1 -1
- package/dist/sidecar/server.js +583 -13
- package/dist/sidecar/server.js.map +1 -1
- package/dist/systemParts.d.ts +0 -1
- package/dist/systemParts.d.ts.map +1 -1
- package/dist/systemParts.js +6 -2
- package/dist/systemParts.js.map +1 -1
- package/dist/todos.d.ts +8 -0
- package/dist/todos.d.ts.map +1 -1
- package/dist/todos.js +21 -17
- package/dist/todos.js.map +1 -1
- package/dist/tools/builtins.d.ts +14 -1
- package/dist/tools/builtins.d.ts.map +1 -1
- package/dist/tools/builtins.js +27 -3
- package/dist/tools/builtins.js.map +1 -1
- package/dist/tools/namespaces.d.ts +8 -0
- package/dist/tools/namespaces.d.ts.map +1 -1
- package/dist/tools/namespaces.js +18 -0
- package/dist/tools/namespaces.js.map +1 -1
- package/dist/tools/skillTool.d.ts.map +1 -1
- package/dist/tools/skillTool.js +22 -1
- package/dist/tools/skillTool.js.map +1 -1
- package/dist/tools/toolFacts.d.ts +9 -0
- package/dist/tools/toolFacts.d.ts.map +1 -0
- package/dist/tools/toolFacts.js +19 -0
- package/dist/tools/toolFacts.js.map +1 -0
- package/dist/tools/toolSearch.d.ts +25 -6
- package/dist/tools/toolSearch.d.ts.map +1 -1
- package/dist/tools/toolSearch.js +62 -14
- package/dist/tools/toolSearch.js.map +1 -1
- package/dist/tools/workflowTool.d.ts +34 -0
- package/dist/tools/workflowTool.d.ts.map +1 -0
- package/dist/tools/workflowTool.js +122 -0
- package/dist/tools/workflowTool.js.map +1 -0
- package/package.json +6 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../chat/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AgentEvent } from '@corenel/protocol';
|
|
2
|
+
import type { ChatEventContext, ChatEventHandlers } from './types';
|
|
3
|
+
/** Routes an event to the one handler named for its type. Exhaustive: a new AgentEvent member fails to compile here until it has a case. */
|
|
4
|
+
export declare function dispatchChatEvent(e: AgentEvent, h: ChatEventHandlers, ctx: ChatEventContext): void;
|
|
5
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../chat/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEnE,4IAA4I;AAC5I,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAqClG"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/** Routes an event to the one handler named for its type. Exhaustive: a new AgentEvent member fails to compile here until it has a case. */
|
|
2
|
+
export function dispatchChatEvent(e, h, ctx) {
|
|
3
|
+
switch (e.type) {
|
|
4
|
+
case 'turn':
|
|
5
|
+
h.onTurn(e, ctx);
|
|
6
|
+
return;
|
|
7
|
+
case 'assistant-delta':
|
|
8
|
+
h.onAssistantDelta(e, ctx);
|
|
9
|
+
return;
|
|
10
|
+
case 'assistant':
|
|
11
|
+
h.onAssistant(e, ctx);
|
|
12
|
+
return;
|
|
13
|
+
case 'injected':
|
|
14
|
+
h.onInjected(e, ctx);
|
|
15
|
+
return;
|
|
16
|
+
case 'turn-interrupted':
|
|
17
|
+
h.onTurnInterrupted(e, ctx);
|
|
18
|
+
return;
|
|
19
|
+
case 'tool-call':
|
|
20
|
+
h.onToolCall(e, ctx);
|
|
21
|
+
return;
|
|
22
|
+
case 'tool-delta':
|
|
23
|
+
h.onToolDelta(e, ctx);
|
|
24
|
+
return;
|
|
25
|
+
case 'tool-result':
|
|
26
|
+
h.onToolResult(e, ctx);
|
|
27
|
+
return;
|
|
28
|
+
case 'offload':
|
|
29
|
+
h.onOffload(e, ctx);
|
|
30
|
+
return;
|
|
31
|
+
case 'tool-check':
|
|
32
|
+
h.onToolCheck(e, ctx);
|
|
33
|
+
return;
|
|
34
|
+
case 'tool-hooks':
|
|
35
|
+
h.onToolHooks(e, ctx);
|
|
36
|
+
return;
|
|
37
|
+
case 'checkpoint':
|
|
38
|
+
h.onCheckpoint(e, ctx);
|
|
39
|
+
return;
|
|
40
|
+
case 'tools-loaded':
|
|
41
|
+
h.onToolsLoaded(e, ctx);
|
|
42
|
+
return;
|
|
43
|
+
case 'context-pressure':
|
|
44
|
+
h.onContextPressure(e, ctx);
|
|
45
|
+
return;
|
|
46
|
+
case 'permission':
|
|
47
|
+
h.onPermission(e, ctx);
|
|
48
|
+
return;
|
|
49
|
+
case 'permission-audit':
|
|
50
|
+
h.onPermissionAudit(e, ctx);
|
|
51
|
+
return;
|
|
52
|
+
case 'policy-violation':
|
|
53
|
+
h.onPolicyViolation(e, ctx);
|
|
54
|
+
return;
|
|
55
|
+
case 'heal':
|
|
56
|
+
h.onHeal(e, ctx);
|
|
57
|
+
return;
|
|
58
|
+
case 'usage':
|
|
59
|
+
h.onUsage(e, ctx);
|
|
60
|
+
return;
|
|
61
|
+
case 'turn-verified':
|
|
62
|
+
h.onTurnVerified(e, ctx);
|
|
63
|
+
return;
|
|
64
|
+
case 'done':
|
|
65
|
+
h.onDone(e, ctx);
|
|
66
|
+
return;
|
|
67
|
+
case 'artifact':
|
|
68
|
+
h.onArtifact(e, ctx);
|
|
69
|
+
return;
|
|
70
|
+
case 'error':
|
|
71
|
+
h.onError(e, ctx);
|
|
72
|
+
return;
|
|
73
|
+
case 'budget-stop':
|
|
74
|
+
h.onBudgetStop(e, ctx);
|
|
75
|
+
return;
|
|
76
|
+
case 'budget-warn':
|
|
77
|
+
h.onBudgetWarn(e, ctx);
|
|
78
|
+
return;
|
|
79
|
+
case 'audit-incomplete':
|
|
80
|
+
h.onAuditIncomplete(e, ctx);
|
|
81
|
+
return;
|
|
82
|
+
case 'mcp-unavailable':
|
|
83
|
+
h.onMcpUnavailable(e, ctx);
|
|
84
|
+
return;
|
|
85
|
+
case 'awaiting-owner':
|
|
86
|
+
h.onAwaitingOwner(e, ctx);
|
|
87
|
+
return;
|
|
88
|
+
case 'donts-checking':
|
|
89
|
+
h.onDontsChecking(e, ctx);
|
|
90
|
+
return;
|
|
91
|
+
case 'owner-decided':
|
|
92
|
+
h.onOwnerDecided(e, ctx);
|
|
93
|
+
return;
|
|
94
|
+
default: {
|
|
95
|
+
const unreachable = e;
|
|
96
|
+
void unreachable;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../chat/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export { dispatchChatEvent } from './events';
|
|
3
|
+
export { buildUserMessage, userText, userImages, outgoingMessages, stampFoldedView } from './messages';
|
|
4
|
+
export { foldLive, PARTIAL_MAX, type LiveSlice } from './liveFold';
|
|
5
|
+
export { createRunWatchdog, type RunWatchdog } from './runWatchdog';
|
|
6
|
+
export { mergeTurns, ConversationWriter, flagIfUnsaved } from './persist';
|
|
7
|
+
export { stitchTurn } from './stitch';
|
|
8
|
+
export { createChat, type Chat } from './engine';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../chat/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './types.js';
|
|
2
|
+
export { dispatchChatEvent } from './events.js';
|
|
3
|
+
export { buildUserMessage, userText, userImages, outgoingMessages, stampFoldedView } from './messages.js';
|
|
4
|
+
export { foldLive, PARTIAL_MAX } from './liveFold.js';
|
|
5
|
+
export { createRunWatchdog } from './runWatchdog.js';
|
|
6
|
+
export { mergeTurns, ConversationWriter, flagIfUnsaved } from './persist.js';
|
|
7
|
+
export { stitchTurn } from './stitch.js';
|
|
8
|
+
export { createChat } from './engine.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../chat/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAoB,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAa,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AgentEvent } from '@corenel/protocol';
|
|
2
|
+
import type { LiveState, LiveTool } from './types';
|
|
3
|
+
export type { LiveTool };
|
|
4
|
+
export type LiveSlice = LiveState;
|
|
5
|
+
/** How much of a running tool's streamed output the live slice keeps: the tail. */
|
|
6
|
+
export declare const PARTIAL_MAX = 4000;
|
|
7
|
+
/** The in-flight view of a run after one event. Returns the SAME object when
|
|
8
|
+
* the event does not touch the live slice, so callers can skip a notify. */
|
|
9
|
+
export declare function foldLive(live: LiveSlice, e: AgentEvent): LiveSlice;
|
|
10
|
+
//# sourceMappingURL=liveFold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveFold.d.ts","sourceRoot":"","sources":["../../chat/liveFold.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnD,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzB,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,mFAAmF;AACnF,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC;4EAC4E;AAC5E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,GAAG,SAAS,CAuBlE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** How much of a running tool's streamed output the live slice keeps: the tail. */
|
|
2
|
+
export const PARTIAL_MAX = 4000;
|
|
3
|
+
/** The in-flight view of a run after one event. Returns the SAME object when
|
|
4
|
+
* the event does not touch the live slice, so callers can skip a notify. */
|
|
5
|
+
export function foldLive(live, e) {
|
|
6
|
+
switch (e.type) {
|
|
7
|
+
case 'assistant-delta': return { ...live, text: live.text + e.delta };
|
|
8
|
+
case 'assistant': return { ...live, text: '' };
|
|
9
|
+
case 'tool-call': return { ...live, tools: [...live.tools, { id: e.id, name: e.name, args: e.args }] };
|
|
10
|
+
case 'tool-result': return {
|
|
11
|
+
...live,
|
|
12
|
+
tools: live.tools.map((t) => (t.id === e.id ? { ...t, result: e.result, isError: e.isError, done: true, ms: e.durationMs } : t)),
|
|
13
|
+
};
|
|
14
|
+
case 'tool-delta': {
|
|
15
|
+
if (!live.tools.some((t) => t.id === e.id))
|
|
16
|
+
return live;
|
|
17
|
+
return {
|
|
18
|
+
...live,
|
|
19
|
+
tools: live.tools.map((t) => {
|
|
20
|
+
if (t.id !== e.id)
|
|
21
|
+
return t;
|
|
22
|
+
const out = (t.partial ?? '') + e.delta;
|
|
23
|
+
return { ...t, partial: out.length > PARTIAL_MAX ? out.slice(out.length - PARTIAL_MAX) : out };
|
|
24
|
+
}),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
case 'turn-interrupted': return { text: '', tools: [] };
|
|
28
|
+
default: return live;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=liveFold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveFold.js","sourceRoot":"","sources":["../../chat/liveFold.ts"],"names":[],"mappings":"AAWA,mFAAmF;AACnF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAEhC;4EAC4E;AAC5E,MAAM,UAAU,QAAQ,CAAC,IAAe,EAAE,CAAa;IACrD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,iBAAiB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QACtE,KAAK,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/C,KAAK,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAA+B,EAAE,CAAC,EAAE,CAAC;QAClI,KAAK,aAAa,CAAC,CAAC,OAAO;YACzB,GAAG,IAAI;YACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACjI,CAAC;QACF,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxD,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC1B,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;wBAAE,OAAO,CAAC,CAAC;oBAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;oBACxC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACjG,CAAC,CAAC;aACH,CAAC;QACJ,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACxD,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ChatCompletionMessageParam } from 'openai/resources/chat/completions';
|
|
2
|
+
import { type ConversationTurn } from '../conversation';
|
|
3
|
+
/** Build the user message — a plain string, or multimodal parts when images are attached. */
|
|
4
|
+
export declare function buildUserMessage(text: string, images: string[]): ChatCompletionMessageParam;
|
|
5
|
+
export declare function userText(m: ChatCompletionMessageParam): string;
|
|
6
|
+
export declare function userImages(m: ChatCompletionMessageParam): string[];
|
|
7
|
+
/** What a send hands the run: the raw included transcript, or -- once a run
|
|
8
|
+
* has folded -- the newest LIVE seam's folded view plus the included turns
|
|
9
|
+
* after the user turn that produced it. Turns at or before that turn are
|
|
10
|
+
* already in the view; sending them raw again re-folded the whole history
|
|
11
|
+
* every send. A view whose user turn is gone is skipped for the one before it,
|
|
12
|
+
* and with no live view at all the transcript goes raw (the next run re-folds). */
|
|
13
|
+
export declare function outgoingMessages(turns: ConversationTurn[]): ChatCompletionMessageParam[];
|
|
14
|
+
/** Stamp a run's folded view on its newest seam, and keep exactly ONE older
|
|
15
|
+
* view: each is a full copy of the context and persist rewrites every turn on
|
|
16
|
+
* every send, so views left on every seam grow without bound in a chat that
|
|
17
|
+
* never ends. The one kept is what `retry` of the folding turn falls back to
|
|
18
|
+
* (retry removes the newest seam with its user turn). */
|
|
19
|
+
export declare function stampFoldedView(turns: ConversationTurn[], seamId: string, view: ChatCompletionMessageParam[], through: string): ConversationTurn[];
|
|
20
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../chat/messages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA6B,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/G,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,0BAA0B,CAM3F;AACD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,0BAA0B,GAAG,MAAM,CAI9D;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,0BAA0B,GAAG,MAAM,EAAE,CAGlE;AAED;;;;;mFAKmF;AACnF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,0BAA0B,EAAE,CAIxF;AAED;;;;yDAIyD;AACzD,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CASlJ"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { foldPoint } from '../conversation.js';
|
|
2
|
+
/** Build the user message — a plain string, or multimodal parts when images are attached. */
|
|
3
|
+
export function buildUserMessage(text, images) {
|
|
4
|
+
if (!images.length)
|
|
5
|
+
return { role: 'user', content: text };
|
|
6
|
+
const parts = [];
|
|
7
|
+
if (text)
|
|
8
|
+
parts.push({ type: 'text', text });
|
|
9
|
+
for (const url of images)
|
|
10
|
+
parts.push({ type: 'image_url', image_url: { url } });
|
|
11
|
+
return { role: 'user', content: parts };
|
|
12
|
+
}
|
|
13
|
+
export function userText(m) {
|
|
14
|
+
if (typeof m.content === 'string')
|
|
15
|
+
return m.content;
|
|
16
|
+
if (Array.isArray(m.content)) {
|
|
17
|
+
const t = m.content.find((p) => p.type === 'text');
|
|
18
|
+
return t && 'text' in t ? t.text : '';
|
|
19
|
+
}
|
|
20
|
+
return '';
|
|
21
|
+
}
|
|
22
|
+
export function userImages(m) {
|
|
23
|
+
if (!Array.isArray(m.content))
|
|
24
|
+
return [];
|
|
25
|
+
return m.content.filter((p) => p.type === 'image_url').map((p) => ('image_url' in p ? p.image_url.url : '')).filter(Boolean);
|
|
26
|
+
}
|
|
27
|
+
/** What a send hands the run: the raw included transcript, or -- once a run
|
|
28
|
+
* has folded -- the newest LIVE seam's folded view plus the included turns
|
|
29
|
+
* after the user turn that produced it. Turns at or before that turn are
|
|
30
|
+
* already in the view; sending them raw again re-folded the whole history
|
|
31
|
+
* every send. A view whose user turn is gone is skipped for the one before it,
|
|
32
|
+
* and with no live view at all the transcript goes raw (the next run re-folds). */
|
|
33
|
+
export function outgoingMessages(turns) {
|
|
34
|
+
const fp = foldPoint(turns);
|
|
35
|
+
if (fp)
|
|
36
|
+
return [...fp.view, ...turns.slice(fp.throughIndex + 1).filter((t) => t.included).flatMap((t) => t.messages)];
|
|
37
|
+
return turns.filter((t) => t.included).flatMap((t) => t.messages);
|
|
38
|
+
}
|
|
39
|
+
/** Stamp a run's folded view on its newest seam, and keep exactly ONE older
|
|
40
|
+
* view: each is a full copy of the context and persist rewrites every turn on
|
|
41
|
+
* every send, so views left on every seam grow without bound in a chat that
|
|
42
|
+
* never ends. The one kept is what `retry` of the folding turn falls back to
|
|
43
|
+
* (retry removes the newest seam with its user turn). */
|
|
44
|
+
export function stampFoldedView(turns, seamId, view, through) {
|
|
45
|
+
const older = turns.filter((t) => t.foldedView && t.id !== seamId).map((t) => t.id);
|
|
46
|
+
const keep = older[older.length - 1];
|
|
47
|
+
return turns.map((t) => {
|
|
48
|
+
if (t.id === seamId)
|
|
49
|
+
return { ...t, foldedView: view, foldedThrough: through };
|
|
50
|
+
if (!t.foldedView || t.id === keep)
|
|
51
|
+
return t;
|
|
52
|
+
const { foldedView: _view, foldedThrough: _through, ...rest } = t;
|
|
53
|
+
return rest;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../chat/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type ConversationTurn } from '../conversation';
|
|
2
|
+
import type { ChatHost, ChatState } from './types';
|
|
3
|
+
/** Raises saveBlocked 'load-failed' when a load was tried and missed and there
|
|
4
|
+
* are turns this side would lose: what is on screen is not being kept. True
|
|
5
|
+
* when it changed the state. */
|
|
6
|
+
export declare function flagIfUnsaved(state: ChatState): boolean;
|
|
7
|
+
/** Stored order first, this side's version of any turn both hold (last writer
|
|
8
|
+
* wins per turn), then this side's turns the store does not have, in this
|
|
9
|
+
* side's order. Only the FIRST stored turn with an id takes this side's
|
|
10
|
+
* version: a second one with the same id is another turn that collided (ids
|
|
11
|
+
* are meant to be unique; turnsFromSessionMessages keeps its synthetic ones
|
|
12
|
+
* so), and replacing it too would write one turn twice and lose the other. */
|
|
13
|
+
export declare function mergeTurns(stored: ConversationTurn[], mine: ConversationTurn[]): ConversationTurn[];
|
|
14
|
+
/** What a refresh shows when another writer changed the stored chat: the
|
|
15
|
+
* stored turns in stored order, AS STORED, then this side's turns the store
|
|
16
|
+
* does not have, in this side's order. The store wins for a turn both hold,
|
|
17
|
+
* unlike mergeTurns, because a refresh runs in the write queue after every
|
|
18
|
+
* save this side queued: this side's version of a stored turn has already
|
|
19
|
+
* been written, so the stored one is that or newer (another device finishing
|
|
20
|
+
* the turn it started). No turn of this side's is ever dropped. */
|
|
21
|
+
export declare function refreshTurns(stored: ConversationTurn[], mine: ConversationTurn[]): ConversationTurn[];
|
|
22
|
+
export declare class ConversationWriter {
|
|
23
|
+
private readonly io;
|
|
24
|
+
private writing;
|
|
25
|
+
constructor(io: Pick<ChatHost<unknown>, 'loadConversation' | 'writeConversation'>);
|
|
26
|
+
/** One store write at a time per conversation: every read-modify-write of the
|
|
27
|
+
* stored chat goes through here. Two overlapping would let one read the
|
|
28
|
+
* other's write before persistedLen caught up and take it for another
|
|
29
|
+
* writer, or write back a list the other had just shortened (R37). A failed
|
|
30
|
+
* write does not stop the ones queued behind it. */
|
|
31
|
+
queue(id: string, write: () => Promise<void>): Promise<void>;
|
|
32
|
+
/** Saves `state.turns`. Call it inside queue(id, ...), never on its own.
|
|
33
|
+
* Never before the stored transcript has loaded (R34); a load that missed
|
|
34
|
+
* raises saveBlocked instead (flagIfUnsaved).
|
|
35
|
+
* Shortens the stored chat only when it is the length this side last saw
|
|
36
|
+
* (R36); otherwise merges by turn id over what was just read, and then
|
|
37
|
+
* rewriting is safe because the merge holds every stored turn. Mutates
|
|
38
|
+
* state.turns and state.mergeTick on a merge, state.persistedLen and
|
|
39
|
+
* state.saveBlocked on a successful write. A read that throws is a save that
|
|
40
|
+
* did not happen and changes nothing. A write that throws after a merge leaves
|
|
41
|
+
* the merged turns and the bumped mergeTick in place, but not persistedLen,
|
|
42
|
+
* so the next save reads and merges again. */
|
|
43
|
+
persist(id: string, state: ChatState, model: string | null, system?: string | null): Promise<{
|
|
44
|
+
merged: boolean;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=persist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persist.d.ts","sourceRoot":"","sources":["../../chat/persist.ts"],"names":[],"mappings":"AAIA,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAsB,MAAM,SAAS,CAAC;AAEvE;;gCAEgC;AAChC,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAIvD;AAED;;;;;8EAK8E;AAC9E,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAWnG;AAED;;;;;;mEAMmE;AACnE,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAGrG;AAED,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,QAAQ,CAAC,EAAE;IAF/B,OAAO,CAAC,OAAO,CAAoC;gBAEtB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,mBAAmB,CAAC;IAElG;;;;wDAIoD;IACpD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5D;;;;;;;;;;kDAU8C;IACxC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CAqB9H"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/* Saving a conversation without losing another writer's turns. The stored chat
|
|
2
|
+
* is read before every write; when it is not the length this side last saw,
|
|
3
|
+
* the two are merged by turn id instead of one overwriting the other by
|
|
4
|
+
* position. Pure over a host's load/write -- no browser, no transport. */
|
|
5
|
+
import { turnsFromSessionMessages } from '../conversation.js';
|
|
6
|
+
/** Raises saveBlocked 'load-failed' when a load was tried and missed and there
|
|
7
|
+
* are turns this side would lose: what is on screen is not being kept. True
|
|
8
|
+
* when it changed the state. */
|
|
9
|
+
export function flagIfUnsaved(state) {
|
|
10
|
+
if (state.loaded || !state.loadMissed || !state.turns.length || state.saveBlocked === 'load-failed')
|
|
11
|
+
return false;
|
|
12
|
+
state.saveBlocked = 'load-failed';
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
/** Stored order first, this side's version of any turn both hold (last writer
|
|
16
|
+
* wins per turn), then this side's turns the store does not have, in this
|
|
17
|
+
* side's order. Only the FIRST stored turn with an id takes this side's
|
|
18
|
+
* version: a second one with the same id is another turn that collided (ids
|
|
19
|
+
* are meant to be unique; turnsFromSessionMessages keeps its synthetic ones
|
|
20
|
+
* so), and replacing it too would write one turn twice and lose the other. */
|
|
21
|
+
export function mergeTurns(stored, mine) {
|
|
22
|
+
const own = new Map(mine.map((t) => [t.id, t]));
|
|
23
|
+
const storedIds = new Set(stored.map((t) => t.id));
|
|
24
|
+
const used = new Set();
|
|
25
|
+
const merged = stored.map((t) => {
|
|
26
|
+
const theirs = own.get(t.id);
|
|
27
|
+
if (!theirs || used.has(t.id))
|
|
28
|
+
return t;
|
|
29
|
+
used.add(t.id);
|
|
30
|
+
return theirs;
|
|
31
|
+
});
|
|
32
|
+
return [...merged, ...mine.filter((t) => !storedIds.has(t.id))];
|
|
33
|
+
}
|
|
34
|
+
/** What a refresh shows when another writer changed the stored chat: the
|
|
35
|
+
* stored turns in stored order, AS STORED, then this side's turns the store
|
|
36
|
+
* does not have, in this side's order. The store wins for a turn both hold,
|
|
37
|
+
* unlike mergeTurns, because a refresh runs in the write queue after every
|
|
38
|
+
* save this side queued: this side's version of a stored turn has already
|
|
39
|
+
* been written, so the stored one is that or newer (another device finishing
|
|
40
|
+
* the turn it started). No turn of this side's is ever dropped. */
|
|
41
|
+
export function refreshTurns(stored, mine) {
|
|
42
|
+
const storedIds = new Set(stored.map((t) => t.id));
|
|
43
|
+
return [...stored, ...mine.filter((t) => !storedIds.has(t.id))];
|
|
44
|
+
}
|
|
45
|
+
export class ConversationWriter {
|
|
46
|
+
constructor(io) {
|
|
47
|
+
Object.defineProperty(this, "io", {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
configurable: true,
|
|
50
|
+
writable: true,
|
|
51
|
+
value: io
|
|
52
|
+
});
|
|
53
|
+
Object.defineProperty(this, "writing", {
|
|
54
|
+
enumerable: true,
|
|
55
|
+
configurable: true,
|
|
56
|
+
writable: true,
|
|
57
|
+
value: new Map()
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/** One store write at a time per conversation: every read-modify-write of the
|
|
61
|
+
* stored chat goes through here. Two overlapping would let one read the
|
|
62
|
+
* other's write before persistedLen caught up and take it for another
|
|
63
|
+
* writer, or write back a list the other had just shortened (R37). A failed
|
|
64
|
+
* write does not stop the ones queued behind it. */
|
|
65
|
+
queue(id, write) {
|
|
66
|
+
const prev = this.writing.get(id);
|
|
67
|
+
const next = prev ? prev.catch(() => { }).then(write) : write();
|
|
68
|
+
this.writing.set(id, next);
|
|
69
|
+
next.finally(() => { if (this.writing.get(id) === next)
|
|
70
|
+
this.writing.delete(id); }).catch(() => { });
|
|
71
|
+
return next;
|
|
72
|
+
}
|
|
73
|
+
/** Saves `state.turns`. Call it inside queue(id, ...), never on its own.
|
|
74
|
+
* Never before the stored transcript has loaded (R34); a load that missed
|
|
75
|
+
* raises saveBlocked instead (flagIfUnsaved).
|
|
76
|
+
* Shortens the stored chat only when it is the length this side last saw
|
|
77
|
+
* (R36); otherwise merges by turn id over what was just read, and then
|
|
78
|
+
* rewriting is safe because the merge holds every stored turn. Mutates
|
|
79
|
+
* state.turns and state.mergeTick on a merge, state.persistedLen and
|
|
80
|
+
* state.saveBlocked on a successful write. A read that throws is a save that
|
|
81
|
+
* did not happen and changes nothing. A write that throws after a merge leaves
|
|
82
|
+
* the merged turns and the bumped mergeTick in place, but not persistedLen,
|
|
83
|
+
* so the next save reads and merges again. */
|
|
84
|
+
async persist(id, state, model, system = null) {
|
|
85
|
+
if (!state.loaded) {
|
|
86
|
+
flagIfUnsaved(state);
|
|
87
|
+
return { merged: false };
|
|
88
|
+
}
|
|
89
|
+
let stored;
|
|
90
|
+
try {
|
|
91
|
+
stored = await this.io.loadConversation(id);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return { merged: false };
|
|
95
|
+
}
|
|
96
|
+
if (!stored)
|
|
97
|
+
return { merged: false };
|
|
98
|
+
const merged = stored.messages.length !== state.persistedLen;
|
|
99
|
+
const turns = merged ? mergeTurns(turnsFromSessionMessages(stored.messages), state.turns) : state.turns;
|
|
100
|
+
if (merged) {
|
|
101
|
+
state.turns = turns;
|
|
102
|
+
state.mergeTick += 1;
|
|
103
|
+
}
|
|
104
|
+
/* The stored system mirrors the frozen one (R4): written when held, dropped
|
|
105
|
+
* when not, so a reset system is not read back by the next load. */
|
|
106
|
+
const { system: _storedSystem, ...rest } = stored;
|
|
107
|
+
try {
|
|
108
|
+
await this.io.writeConversation({ ...rest, messages: turns, ...(model ? { model } : {}), ...(system !== null ? { system } : {}) }, { allowTruncate: true });
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return { merged };
|
|
112
|
+
}
|
|
113
|
+
state.persistedLen = turns.length;
|
|
114
|
+
state.saveBlocked = null;
|
|
115
|
+
return { merged };
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=persist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persist.js","sourceRoot":"","sources":["../../chat/persist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface RunWatchdog {
|
|
2
|
+
/** Feed every AgentEvent through this — tracks tool in-flight and re-arms. */
|
|
3
|
+
onEvent(e: {
|
|
4
|
+
type: string;
|
|
5
|
+
id?: string;
|
|
6
|
+
}): void;
|
|
7
|
+
/** Pause while a blocking UI (ask form / edit review) waits on the user. */
|
|
8
|
+
pause(): void;
|
|
9
|
+
/** (Re)arm — call after the blocking UI resolves, and once at run start.
|
|
10
|
+
* After a pause, ends that pause; the timers resume when none is left. */
|
|
11
|
+
bump(): void;
|
|
12
|
+
/** Stop all timers (run settled). */
|
|
13
|
+
clear(): void;
|
|
14
|
+
}
|
|
15
|
+
export declare const WATCHDOG_SOFT_MS = 120000;
|
|
16
|
+
export declare const WATCHDOG_TOOL_HARD_MS: number;
|
|
17
|
+
export declare function createRunWatchdog(onTimeout: (reason: 'silent' | 'tool-hard-cap') => void, opts?: {
|
|
18
|
+
softMs?: number;
|
|
19
|
+
hardMs?: number;
|
|
20
|
+
}): RunWatchdog;
|
|
21
|
+
//# sourceMappingURL=runWatchdog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runWatchdog.d.ts","sourceRoot":"","sources":["../../chat/runWatchdog.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChD,4EAA4E;IAC5E,KAAK,IAAI,IAAI,CAAC;IACd;8EAC0E;IAC1E,IAAI,IAAI,IAAI,CAAC;IACb,qCAAqC;IACrC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,eAAO,MAAM,gBAAgB,SAAU,CAAC;AACxC,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AAEpD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,KAAK,IAAI,EACvD,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,WAAW,CAyEb"}
|