@parhelia/core 0.1.12787 → 0.1.12789

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.
Files changed (131) hide show
  1. package/dist/agents-view/AgentCard.d.ts +6 -2
  2. package/dist/agents-view/AgentCard.js +81 -146
  3. package/dist/agents-view/AgentCard.js.map +1 -1
  4. package/dist/agents-view/AgentsSidebar.d.ts +4 -9
  5. package/dist/agents-view/AgentsSidebar.js +10 -13
  6. package/dist/agents-view/AgentsSidebar.js.map +1 -1
  7. package/dist/agents-view/AgentsTitlebar.d.ts +3 -3
  8. package/dist/agents-view/AgentsTitlebar.js +10 -6
  9. package/dist/agents-view/AgentsTitlebar.js.map +1 -1
  10. package/dist/agents-view/AgentsView.d.ts +20 -7
  11. package/dist/agents-view/AgentsView.js +33 -255
  12. package/dist/agents-view/AgentsView.js.map +1 -1
  13. package/dist/agents-view/AgentsWorkspaceView.js +62 -44
  14. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  15. package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -2
  16. package/dist/agents-view/ProfileAgentsGroup.js +9 -5
  17. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  18. package/dist/agents-view/agentsNavStore.d.ts +8 -0
  19. package/dist/agents-view/agentsNavStore.js +24 -0
  20. package/dist/agents-view/agentsNavStore.js.map +1 -0
  21. package/dist/components/PageHeader.d.ts +5 -1
  22. package/dist/components/PageHeader.js +2 -2
  23. package/dist/components/PageHeader.js.map +1 -1
  24. package/dist/components/ui/PlaceholderInput.d.ts +0 -8
  25. package/dist/components/ui/PlaceholderInput.js +1 -42
  26. package/dist/components/ui/PlaceholderInput.js.map +1 -1
  27. package/dist/components/ui/PlaceholderInputParser.d.ts +9 -0
  28. package/dist/components/ui/PlaceholderInputParser.js +98 -0
  29. package/dist/components/ui/PlaceholderInputParser.js.map +1 -0
  30. package/dist/components/ui/PlaceholderInputTypes.d.ts +1 -1
  31. package/dist/editor/GlobalMenuBar.js +9 -6
  32. package/dist/editor/GlobalMenuBar.js.map +1 -1
  33. package/dist/editor/ai/Agents.js +2 -3
  34. package/dist/editor/ai/Agents.js.map +1 -1
  35. package/dist/editor/ai/InlineAiDialog.d.ts +5 -0
  36. package/dist/editor/ai/InlineAiDialog.js +77 -64
  37. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  38. package/dist/editor/ai/terminal/agentSessionState.d.ts +1 -0
  39. package/dist/editor/ai/terminal/agentSessionState.js +18 -4
  40. package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
  41. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +5 -1
  42. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +2 -2
  43. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  44. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.d.ts +5 -1
  45. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js +12 -12
  46. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js.map +1 -1
  47. package/dist/editor/ai/terminal/types.d.ts +1 -0
  48. package/dist/editor/ai/terminal/useAgentContentChunkHandler.js +1 -0
  49. package/dist/editor/ai/terminal/useAgentContentChunkHandler.js.map +1 -1
  50. package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js +1 -1
  51. package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js.map +1 -1
  52. package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +9 -1
  53. package/dist/editor/ai/terminal/useAgentSessionSync.js +7 -1
  54. package/dist/editor/ai/terminal/useAgentSessionSync.js.map +1 -1
  55. package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +2 -1
  56. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +125 -4
  57. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
  58. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +1 -0
  59. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +2 -1
  60. package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -1
  61. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +1 -0
  62. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -1
  63. package/dist/editor/ai/terminal/useAgentTerminalActions.js +2 -0
  64. package/dist/editor/ai/terminal/useAgentTerminalActions.js.map +1 -1
  65. package/dist/editor/ai/terminal/useAgentTerminalController.js +32 -1
  66. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  67. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +1 -1
  68. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  69. package/dist/editor/services/agentService.d.ts +17 -0
  70. package/dist/editor/services/agentService.js +32 -0
  71. package/dist/editor/services/agentService.js.map +1 -1
  72. package/dist/editor/settings/SettingsBreadcrumb.js +1 -1
  73. package/dist/editor/settings/SettingsBreadcrumb.js.map +1 -1
  74. package/dist/editor/settings/SettingsView.js +1 -1
  75. package/dist/editor/settings/SettingsView.js.map +1 -1
  76. package/dist/editor/sidebar/WorkspaceRail.js +23 -22
  77. package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
  78. package/dist/editor/sidebar/WorkspaceRailMobile.js +4 -13
  79. package/dist/editor/sidebar/WorkspaceRailMobile.js.map +1 -1
  80. package/dist/index.d.ts +3 -0
  81. package/dist/index.js +3 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/revision.d.ts +2 -2
  84. package/dist/revision.js +2 -2
  85. package/dist/task-board/components/ProjectSelector.js +1 -1
  86. package/dist/task-board/components/ProjectSelector.js.map +1 -1
  87. package/dist/task-board/components/TaskBoardTitlebar.js +1 -1
  88. package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
  89. package/package.json +1 -1
  90. package/dist/agents-view/AgentsInbox.d.ts +0 -26
  91. package/dist/agents-view/AgentsInbox.js +0 -31
  92. package/dist/agents-view/AgentsInbox.js.map +0 -1
  93. package/dist/editor/ai/agentDiagnostics.test.d.ts +0 -1
  94. package/dist/editor/ai/agentDiagnostics.test.js +0 -298
  95. package/dist/editor/ai/agentDiagnostics.test.js.map +0 -1
  96. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.test.d.ts +0 -1
  97. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.test.js +0 -109
  98. package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.test.js.map +0 -1
  99. package/dist/editor/ai/terminal/agentSessionSelectors.test.d.ts +0 -1
  100. package/dist/editor/ai/terminal/agentSessionSelectors.test.js +0 -219
  101. package/dist/editor/ai/terminal/agentSessionSelectors.test.js.map +0 -1
  102. package/dist/editor/ai/terminal/agentSessionSnapshot.test.d.ts +0 -1
  103. package/dist/editor/ai/terminal/agentSessionSnapshot.test.js +0 -136
  104. package/dist/editor/ai/terminal/agentSessionSnapshot.test.js.map +0 -1
  105. package/dist/editor/ai/terminal/agentSessionState.test.d.ts +0 -1
  106. package/dist/editor/ai/terminal/agentSessionState.test.js +0 -456
  107. package/dist/editor/ai/terminal/agentSessionState.test.js.map +0 -1
  108. package/dist/editor/ai/terminal/useAgentInitialPrompt.test.d.ts +0 -1
  109. package/dist/editor/ai/terminal/useAgentInitialPrompt.test.js +0 -63
  110. package/dist/editor/ai/terminal/useAgentInitialPrompt.test.js.map +0 -1
  111. package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.test.d.ts +0 -1
  112. package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.test.js +0 -80
  113. package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.test.js.map +0 -1
  114. package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.d.ts +0 -1
  115. package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.js +0 -135
  116. package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.js.map +0 -1
  117. package/dist/editor/ai/terminal/useAgentSession.test.d.ts +0 -1
  118. package/dist/editor/ai/terminal/useAgentSession.test.js +0 -181
  119. package/dist/editor/ai/terminal/useAgentSession.test.js.map +0 -1
  120. package/dist/editor/ai/useAgentPanes.test.d.ts +0 -1
  121. package/dist/editor/ai/useAgentPanes.test.js +0 -198
  122. package/dist/editor/ai/useAgentPanes.test.js.map +0 -1
  123. package/dist/editor/services/agentDialogService.test.d.ts +0 -1
  124. package/dist/editor/services/agentDialogService.test.js +0 -56
  125. package/dist/editor/services/agentDialogService.test.js.map +0 -1
  126. package/dist/editor/services/agentSubscriptionRegistry.test.d.ts +0 -1
  127. package/dist/editor/services/agentSubscriptionRegistry.test.js +0 -104
  128. package/dist/editor/services/agentSubscriptionRegistry.test.js.map +0 -1
  129. package/dist/test/setup.d.ts +0 -0
  130. package/dist/test/setup.js +0 -37
  131. package/dist/test/setup.js.map +0 -1
@@ -1,63 +0,0 @@
1
- import { renderHook } from "@testing-library/react";
2
- import { afterEach, describe, expect, it, vi } from "vitest";
3
- import { useRef } from "react";
4
- import { useAgentInitialPrompt } from "./useAgentInitialPrompt";
5
- import { useAgentPendingInitialPrompt } from "./useAgentPendingInitialPrompt";
6
- describe("initial prompt submission", () => {
7
- afterEach(() => {
8
- vi.useRealTimers();
9
- });
10
- it("submits a splash initial prompt only once when both initial prompt hooks are mounted", async () => {
11
- vi.useFakeTimers();
12
- const handleSubmit = vi.fn();
13
- const setPrompt = vi.fn();
14
- renderHook(() => {
15
- const submittedInitialPromptKeyRef = useRef(null);
16
- const agent = {
17
- id: "agent-1",
18
- status: "idle",
19
- messages: [],
20
- };
21
- const activeProfile = {
22
- id: "profile-1",
23
- name: "Parhelia AI",
24
- models: [],
25
- };
26
- useAgentPendingInitialPrompt({
27
- initialPrompt: "Hello!",
28
- agentStubId: "agent-1",
29
- agent,
30
- agentMetadata: null,
31
- initialMetadata: undefined,
32
- activeProfile,
33
- selectedModelId: null,
34
- effectiveIsFocused: true,
35
- isLoading: false,
36
- isSubmitting: false,
37
- readOnly: false,
38
- editContext: { sessionId: "session-1" },
39
- submittedInitialPromptKeyRef,
40
- handleSubmit,
41
- });
42
- useAgentInitialPrompt({
43
- initialPrompt: "Hello!",
44
- agentMetadata: null,
45
- isLoading: false,
46
- messageCount: 0,
47
- agentId: "agent-1",
48
- editContext: { sessionId: "session-1" },
49
- activeProfile,
50
- profilesCount: 1,
51
- setPrompt,
52
- submittedInitialPromptKeyRef,
53
- handleSubmit,
54
- });
55
- });
56
- expect(handleSubmit).toHaveBeenCalledTimes(1);
57
- expect(handleSubmit).toHaveBeenCalledWith("Hello!");
58
- await vi.advanceTimersByTimeAsync(250);
59
- expect(handleSubmit).toHaveBeenCalledTimes(1);
60
- expect(setPrompt).not.toHaveBeenCalled();
61
- });
62
- });
63
- //# sourceMappingURL=useAgentInitialPrompt.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAgentInitialPrompt.test.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentInitialPrompt.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAE1B,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,4BAA4B,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG;gBACZ,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,EAAE;aACN,CAAC;YACT,MAAM,aAAa,GAAG;gBACpB,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,EAAE;aACJ,CAAC;YAET,4BAA4B,CAAC;gBAC3B,aAAa,EAAE,QAAQ;gBACvB,WAAW,EAAE,SAAS;gBACtB,KAAK;gBACL,aAAa,EAAE,IAAI;gBACnB,eAAe,EAAE,SAAS;gBAC1B,aAAa;gBACb,eAAe,EAAE,IAAI;gBACrB,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;gBACvC,4BAA4B;gBAC5B,YAAY;aACb,CAAC,CAAC;YAEH,qBAAqB,CAAC;gBACpB,aAAa,EAAE,QAAQ;gBACvB,aAAa,EAAE,IAAI;gBACnB,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;gBACvC,aAAa;gBACb,aAAa,EAAE,CAAC;gBAChB,SAAS;gBACT,4BAA4B;gBAC5B,YAAY;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAEpD,MAAM,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QAEvC,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,80 +0,0 @@
1
- import { act, renderHook } from "@testing-library/react";
2
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3
- import { useAgentPendingDialogRecovery } from "./useAgentPendingDialogRecovery";
4
- import { replayAgentSessionDialog } from "./useAgentSessionSync";
5
- vi.mock("./useAgentSessionSync", () => ({
6
- loadAgentRunDiagnostics: vi.fn(),
7
- replayAgentSessionDialog: vi.fn(),
8
- }));
9
- describe("useAgentPendingDialogRecovery", () => {
10
- beforeEach(() => {
11
- vi.useFakeTimers();
12
- vi.mocked(replayAgentSessionDialog).mockResolvedValue({ replayed: 1 });
13
- });
14
- afterEach(() => {
15
- vi.useRealTimers();
16
- vi.clearAllMocks();
17
- });
18
- it("does not burn the replay dedupe when the session id is not ready", async () => {
19
- const appendToolUiEvent = vi.fn();
20
- const activeInlineDialogRef = { current: null };
21
- const terminalInstanceIdRef = { current: "terminal-1" };
22
- const { result, rerender } = renderHook(({ sessionId }) => useAgentPendingDialogRecovery({
23
- agentId: "agent-1",
24
- agentStatus: "idle",
25
- sessionId,
26
- activeInlineDialog: null,
27
- activeInlineDialogRef,
28
- terminalInstanceIdRef,
29
- appendToolUiEvent,
30
- }), { initialProps: { sessionId: undefined } });
31
- act(() => {
32
- result.current.schedulePendingDialogReplay("agent-1", "callback-1", "questionnaire");
33
- });
34
- expect(replayAgentSessionDialog).not.toHaveBeenCalled();
35
- expect(appendToolUiEvent).toHaveBeenCalledWith("ui:pending-dialog-replay-skipped", expect.stringContaining("reason=no-session"));
36
- rerender({ sessionId: "session-1" });
37
- act(() => {
38
- result.current.schedulePendingDialogReplay("agent-1", "callback-1", "questionnaire");
39
- });
40
- await act(async () => {
41
- await vi.advanceTimersByTimeAsync(750);
42
- });
43
- expect(replayAgentSessionDialog).toHaveBeenCalledTimes(1);
44
- expect(replayAgentSessionDialog).toHaveBeenCalledWith({
45
- callbackId: "callback-1",
46
- agentId: "agent-1",
47
- reason: "frontend-recover",
48
- terminalInstanceId: "terminal-1",
49
- sessionId: "session-1",
50
- });
51
- });
52
- it("allows a later retry when the backend reports nothing was replayed", async () => {
53
- vi.mocked(replayAgentSessionDialog)
54
- .mockResolvedValueOnce({ replayed: 0 })
55
- .mockResolvedValueOnce({ replayed: 1 });
56
- const { result } = renderHook(() => useAgentPendingDialogRecovery({
57
- agentId: "agent-1",
58
- agentStatus: "idle",
59
- sessionId: "session-1",
60
- activeInlineDialog: null,
61
- activeInlineDialogRef: { current: null },
62
- terminalInstanceIdRef: { current: "terminal-1" },
63
- appendToolUiEvent: vi.fn(),
64
- }));
65
- act(() => {
66
- result.current.schedulePendingDialogReplay("agent-1", "callback-1", "questionnaire");
67
- });
68
- await act(async () => {
69
- await vi.advanceTimersByTimeAsync(750);
70
- });
71
- act(() => {
72
- result.current.schedulePendingDialogReplay("agent-1", "callback-1", "questionnaire");
73
- });
74
- await act(async () => {
75
- await vi.advanceTimersByTimeAsync(750);
76
- });
77
- expect(replayAgentSessionDialog).toHaveBeenCalledTimes(2);
78
- });
79
- });
80
- //# sourceMappingURL=useAgentPendingDialogRecovery.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAgentPendingDialogRecovery.test.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentPendingDialogRecovery.test.ts"],"names":[],"mappings":"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"}
@@ -1,135 +0,0 @@
1
- import { act, renderHook } from "@testing-library/react";
2
- import { beforeEach, describe, expect, it, vi } from "vitest";
3
- import { useAgentQuestionnaireDialogRecovery } from "./useAgentQuestionnaireDialogRecovery";
4
- import { submitAgentSessionDialogResponse } from "./useAgentSessionSync";
5
- vi.mock("./useAgentSessionSync", () => ({
6
- submitAgentSessionDialogResponse: vi.fn().mockResolvedValue(undefined),
7
- }));
8
- describe("useAgentQuestionnaireDialogRecovery", () => {
9
- beforeEach(() => {
10
- vi.clearAllMocks();
11
- });
12
- it("rebuilds a questionnaire dialog and submits completion responses", () => {
13
- let activeDialog = null;
14
- const setActiveInlineDialog = vi.fn((dialog) => {
15
- activeDialog = dialog;
16
- });
17
- const onInteractionSubmitted = vi.fn();
18
- const { result } = renderHook(() => useAgentQuestionnaireDialogRecovery({
19
- messagesRef: {
20
- current: [
21
- message({
22
- functionName: "ask-questionnaire",
23
- functionArguments: JSON.stringify({
24
- title: "PDF details",
25
- questions: [{ id: "q1", prompt: "Which PDF?" }],
26
- }),
27
- }),
28
- ],
29
- },
30
- agentId: "agent-1",
31
- sessionId: "session-1",
32
- setActiveInlineDialog,
33
- appendToolUiEvent: vi.fn(),
34
- onInteractionSubmitted,
35
- }));
36
- const recovered = result.current({
37
- callbackId: "callback-1",
38
- dialogType: "questionnaire",
39
- title: "Pending",
40
- createdAt: "2026-01-01T00:00:00.000Z",
41
- replayableToCurrentSession: true,
42
- });
43
- expect(recovered).toBe(true);
44
- const recoveredDialog = activeDialog;
45
- expect(recoveredDialog.request).toMatchObject({
46
- callbackId: "callback-1",
47
- agentId: "agent-1",
48
- title: "PDF details",
49
- });
50
- act(() => {
51
- activeDialog?.onComplete({ q1: "file.pdf" });
52
- });
53
- expect(submitAgentSessionDialogResponse).toHaveBeenCalledWith({
54
- callbackId: "callback-1",
55
- sessionId: "session-1",
56
- cancelled: false,
57
- resultJson: JSON.stringify({ q1: "file.pdf" }),
58
- });
59
- expect(onInteractionSubmitted).toHaveBeenCalledTimes(1);
60
- });
61
- it("submits cancellation responses for recovered dialogs", () => {
62
- let activeDialog = null;
63
- const { result } = renderHook(() => useAgentQuestionnaireDialogRecovery({
64
- messagesRef: {
65
- current: [
66
- message({
67
- functionName: "ask-questionnaire",
68
- functionArguments: JSON.stringify({
69
- questions: [{ id: "q1", prompt: "Question?" }],
70
- }),
71
- }),
72
- ],
73
- },
74
- agentId: "agent-1",
75
- sessionId: "session-1",
76
- setActiveInlineDialog: (dialog) => {
77
- activeDialog = dialog;
78
- },
79
- appendToolUiEvent: vi.fn(),
80
- }));
81
- result.current({
82
- callbackId: "callback-2",
83
- dialogType: "questionnaire",
84
- title: "Pending",
85
- createdAt: "2026-01-01T00:00:00.000Z",
86
- replayableToCurrentSession: true,
87
- });
88
- act(() => {
89
- activeDialog?.onCancel();
90
- });
91
- expect(submitAgentSessionDialogResponse).toHaveBeenCalledWith({
92
- callbackId: "callback-2",
93
- sessionId: "session-1",
94
- cancelled: true,
95
- });
96
- });
97
- });
98
- function message(toolCall) {
99
- return {
100
- id: "message-1",
101
- agentId: "agent-1",
102
- messageIndex: 0,
103
- role: "assistant",
104
- content: "",
105
- name: "agent",
106
- messageType: "streaming",
107
- isCompleted: false,
108
- model: "",
109
- tokensUsed: 0,
110
- inputTokens: 0,
111
- outputTokens: 0,
112
- cachedInputTokens: 0,
113
- inputTokenCost: 0,
114
- outputTokenCost: 0,
115
- cachedInputTokenCost: 0,
116
- totalCost: 0,
117
- currency: "USD",
118
- createdDate: "2026-01-01T00:00:00.000Z",
119
- toolCalls: [
120
- {
121
- id: "tool-1",
122
- messageId: "message-1",
123
- toolCallId: "tool-1",
124
- functionName: "",
125
- functionArguments: "",
126
- functionResult: "",
127
- functionError: "",
128
- isCompleted: false,
129
- createdDate: "2026-01-01T00:00:00.000Z",
130
- ...toolCall,
131
- },
132
- ],
133
- };
134
- }
135
- //# sourceMappingURL=useAgentQuestionnaireDialogRecovery.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAgentQuestionnaireDialogRecovery.test.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,181 +0,0 @@
1
- import { act, renderHook } from "@testing-library/react";
2
- import { describe, expect, it, vi } from "vitest";
3
- import { useAgentSession } from "./useAgentSession";
4
- describe("useAgentSession", () => {
5
- it("routes stable session commands through bound handlers", async () => {
6
- const { result } = renderHook(() => useAgentSession({ agentStub: agentStub() }));
7
- const commands = result.current.commands;
8
- const submitPrompt = vi.fn(async (_input) => { });
9
- const stopRun = vi.fn(async () => { });
10
- result.current.bindCommands({ submitPrompt, stopRun });
11
- await commands.submitPrompt({ text: "Ship it", source: "composer" });
12
- await commands.stopRun();
13
- expect(result.current.commands).toBe(commands);
14
- expect(submitPrompt).toHaveBeenCalledWith({
15
- text: "Ship it",
16
- source: "composer",
17
- });
18
- expect(stopRun).toHaveBeenCalledTimes(1);
19
- });
20
- it("applies stream transcript actions through the reducer", () => {
21
- const { result } = renderHook(() => useAgentSession({ agentStub: agentStub() }));
22
- act(() => {
23
- result.current.actions.assistantContentChunk({
24
- messageId: "assistant-1",
25
- deltaContent: "Hello",
26
- isIncremental: false,
27
- createMessage: () => assistantMessage("assistant-1"),
28
- });
29
- });
30
- expect(result.current.state.transcript[0]?.content).toBe("Hello");
31
- act(() => {
32
- result.current.actions.toolCall({
33
- messageId: "assistant-1",
34
- createMessage: () => assistantMessage("assistant-1"),
35
- toolCall: {
36
- id: "tool-1",
37
- messageId: "assistant-1",
38
- toolCallId: "tool-1",
39
- functionName: "writeFile",
40
- functionArguments: "{}",
41
- isCompleted: false,
42
- createdDate: "2026-01-01T00:00:00.000Z",
43
- },
44
- });
45
- result.current.actions.toolResult({
46
- messageId: "assistant-1",
47
- toolCallId: "tool-1",
48
- fallbackToolCall: {
49
- id: "tool-1",
50
- messageId: "assistant-1",
51
- toolCallId: "tool-1",
52
- functionName: "writeFile",
53
- functionArguments: "{}",
54
- functionResult: "ok",
55
- isCompleted: true,
56
- createdDate: "2026-01-01T00:00:00.000Z",
57
- },
58
- });
59
- });
60
- expect(result.current.state.transcript[0]?.toolCalls?.[0]?.functionResult).toBe("ok");
61
- act(() => {
62
- result.current.actions.heartbeatMessage({
63
- ...assistantMessage("heartbeat-1"),
64
- role: "system",
65
- messageType: "heartbeat",
66
- isCompleted: true,
67
- });
68
- result.current.actions.clearHeartbeatMessages();
69
- });
70
- expect(result.current.state.transcript.some((message) => message.messageType === "heartbeat")).toBe(false);
71
- });
72
- it("applies mirrored backend domain actions through the reducer", () => {
73
- const { result } = renderHook(() => useAgentSession({ agentStub: agentStub() }));
74
- act(() => {
75
- result.current.actions.replaceAgent({
76
- ...agentStub(),
77
- userId: "user-1",
78
- profileName: "",
79
- model: "model-a",
80
- createdDate: "2026-01-01T00:00:00.000Z",
81
- totalTokensUsed: 0,
82
- totalInputTokens: 0,
83
- totalOutputTokens: 0,
84
- totalCachedInputTokens: 0,
85
- totalInputTokenCost: 0,
86
- totalOutputTokenCost: 0,
87
- totalCachedInputTokenCost: 0,
88
- totalImageCost: 0,
89
- totalCost: 0,
90
- currency: "USD",
91
- messageCount: 0,
92
- messages: [],
93
- });
94
- result.current.actions.replaceMetadata({
95
- additionalData: { todoList: [{ text: "Review", done: false }] },
96
- });
97
- result.current.actions.replaceError("Something happened");
98
- result.current.actions.replaceCostLimitExceeded({
99
- totalCost: 12,
100
- costLimit: 10,
101
- initialCostLimit: 10,
102
- });
103
- result.current.actions.replaceContextWindowStatus({
104
- contextWindowTokens: 1000,
105
- estimatedInputTokens: 250,
106
- contextUsedPercent: 25,
107
- model: "model-a",
108
- });
109
- result.current.actions.replaceLiveTotals({
110
- input: 100,
111
- output: 50,
112
- cached: 10,
113
- inputCost: 0.01,
114
- outputCost: 0.02,
115
- cachedCost: 0.001,
116
- imageCost: 0,
117
- totalCost: 0.031,
118
- });
119
- result.current.actions.patchRunState({
120
- isConnecting: true,
121
- isWaitingForResponse: true,
122
- lastStatusReason: "Booting",
123
- });
124
- result.current.actions.setBrowserClaimMutationPending(true);
125
- result.current.actions.setActiveInlineDialog({
126
- request: {
127
- callbackId: "callback-1",
128
- dialogType: "questionnaire",
129
- title: "Questionnaire",
130
- parameters: {},
131
- },
132
- onComplete: vi.fn(),
133
- onCancel: vi.fn(),
134
- });
135
- });
136
- expect(result.current.state.agent?.model).toBe("model-a");
137
- expect(result.current.state.metadata?.additionalData?.todoList).toHaveLength(1);
138
- expect(result.current.state.error).toBe("Something happened");
139
- expect(result.current.state.costLimitExceeded?.totalCost).toBe(12);
140
- expect(result.current.state.contextWindowStatus?.model).toBe("model-a");
141
- expect(result.current.state.liveTotals?.totalCost).toBe(0.031);
142
- expect(result.current.state.run.isConnecting).toBe(true);
143
- expect(result.current.state.run.lastStatusReason).toBe("Booting");
144
- expect(result.current.state.browserClaimMutationPending).toBe(true);
145
- expect(result.current.state.activeInlineDialog?.request.callbackId).toBe("callback-1");
146
- });
147
- });
148
- function agentStub() {
149
- return {
150
- id: "agent-1",
151
- name: "Agent",
152
- description: "",
153
- status: "idle",
154
- updatedDate: "2026-01-01T00:00:00.000Z",
155
- };
156
- }
157
- function assistantMessage(id) {
158
- return {
159
- id,
160
- agentId: "agent-1",
161
- messageIndex: -1,
162
- role: "assistant",
163
- content: "",
164
- name: "agent",
165
- messageType: "streaming",
166
- isCompleted: false,
167
- model: "",
168
- tokensUsed: 0,
169
- inputTokens: 0,
170
- outputTokens: 0,
171
- cachedInputTokens: 0,
172
- inputTokenCost: 0,
173
- outputTokenCost: 0,
174
- cachedInputTokenCost: 0,
175
- totalCost: 0,
176
- currency: "USD",
177
- createdDate: "2026-01-01T00:00:00.000Z",
178
- toolCalls: [],
179
- };
180
- }
181
- //# sourceMappingURL=useAgentSession.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAgentSession.test.js","sourceRoot":"","sources":["../../../../src/editor/ai/terminal/useAgentSession.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};