@qduc/term2 0.1.6 → 0.1.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/dist/agent.lite-mode.test.d.ts +2 -0
- package/dist/agent.lite-mode.test.d.ts.map +1 -0
- package/dist/agent.lite-mode.test.js +39 -0
- package/dist/agent.lite-mode.test.js.map +1 -0
- package/dist/components/TextInput.d.ts.map +1 -1
- package/dist/components/TextInput.js +2 -1
- package/dist/components/TextInput.js.map +1 -1
- package/dist/components/TextInput.test.js.map +1 -1
- package/dist/debug_ask_mentor.d.ts +2 -0
- package/dist/debug_ask_mentor.d.ts.map +1 -0
- package/dist/debug_ask_mentor.js +73 -0
- package/dist/debug_ask_mentor.js.map +1 -0
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.js +2 -1
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/openai-strict-tool-schema.d.ts +10 -0
- package/dist/lib/openai-strict-tool-schema.d.ts.map +1 -0
- package/dist/lib/openai-strict-tool-schema.js +39 -0
- package/dist/lib/openai-strict-tool-schema.js.map +1 -0
- package/dist/lib/openai-strict-tool-schema.test.d.ts +2 -0
- package/dist/lib/openai-strict-tool-schema.test.d.ts.map +1 -0
- package/dist/lib/openai-strict-tool-schema.test.js +26 -0
- package/dist/lib/openai-strict-tool-schema.test.js.map +1 -0
- package/dist/modes/companion/command-index.d.ts +26 -0
- package/dist/modes/companion/command-index.d.ts.map +1 -0
- package/dist/modes/companion/command-index.js +50 -0
- package/dist/modes/companion/command-index.js.map +1 -0
- package/dist/modes/companion/command-index.test.d.ts +2 -0
- package/dist/modes/companion/command-index.test.d.ts.map +1 -0
- package/dist/modes/companion/command-index.test.js +86 -0
- package/dist/modes/companion/command-index.test.js.map +1 -0
- package/dist/modes/companion/companion-app.d.ts +12 -0
- package/dist/modes/companion/companion-app.d.ts.map +1 -0
- package/dist/modes/companion/companion-app.js +297 -0
- package/dist/modes/companion/companion-app.js.map +1 -0
- package/dist/modes/companion/companion-session.d.ts +63 -0
- package/dist/modes/companion/companion-session.d.ts.map +1 -0
- package/dist/modes/companion/companion-session.js +146 -0
- package/dist/modes/companion/companion-session.js.map +1 -0
- package/dist/modes/companion/companion-session.test.d.ts +2 -0
- package/dist/modes/companion/companion-session.test.d.ts.map +1 -0
- package/dist/modes/companion/companion-session.test.js +28 -0
- package/dist/modes/companion/companion-session.test.js.map +1 -0
- package/dist/modes/companion/components/status-bar.d.ts +13 -0
- package/dist/modes/companion/components/status-bar.d.ts.map +1 -0
- package/dist/modes/companion/components/status-bar.js +26 -0
- package/dist/modes/companion/components/status-bar.js.map +1 -0
- package/dist/modes/companion/context-buffer.d.ts +65 -0
- package/dist/modes/companion/context-buffer.d.ts.map +1 -0
- package/dist/modes/companion/context-buffer.js +156 -0
- package/dist/modes/companion/context-buffer.js.map +1 -0
- package/dist/modes/companion/context-buffer.test.d.ts +2 -0
- package/dist/modes/companion/context-buffer.test.d.ts.map +1 -0
- package/dist/modes/companion/context-buffer.test.js +154 -0
- package/dist/modes/companion/context-buffer.test.js.map +1 -0
- package/dist/modes/companion/event-detector.d.ts +46 -0
- package/dist/modes/companion/event-detector.d.ts.map +1 -0
- package/dist/modes/companion/event-detector.js +169 -0
- package/dist/modes/companion/event-detector.js.map +1 -0
- package/dist/modes/companion/event-detector.test.d.ts +2 -0
- package/dist/modes/companion/event-detector.test.d.ts.map +1 -0
- package/dist/modes/companion/event-detector.test.js +121 -0
- package/dist/modes/companion/event-detector.test.js.map +1 -0
- package/dist/modes/companion/index.d.ts +33 -0
- package/dist/modes/companion/index.d.ts.map +1 -0
- package/dist/modes/companion/index.js +21 -0
- package/dist/modes/companion/index.js.map +1 -0
- package/dist/modes/companion/input-key-mapper.d.ts +3 -0
- package/dist/modes/companion/input-key-mapper.d.ts.map +1 -0
- package/dist/modes/companion/input-key-mapper.js +31 -0
- package/dist/modes/companion/input-key-mapper.js.map +1 -0
- package/dist/modes/companion/input-key-mapper.test.d.ts +2 -0
- package/dist/modes/companion/input-key-mapper.test.d.ts.map +1 -0
- package/dist/modes/companion/input-key-mapper.test.js +26 -0
- package/dist/modes/companion/input-key-mapper.test.js.map +1 -0
- package/dist/modes/companion/input-parser.d.ts +53 -0
- package/dist/modes/companion/input-parser.d.ts.map +1 -0
- package/dist/modes/companion/input-parser.js +114 -0
- package/dist/modes/companion/input-parser.js.map +1 -0
- package/dist/modes/companion/input-parser.test.d.ts +2 -0
- package/dist/modes/companion/input-parser.test.d.ts.map +1 -0
- package/dist/modes/companion/input-parser.test.js +123 -0
- package/dist/modes/companion/input-parser.test.js.map +1 -0
- package/dist/modes/companion/mode-manager.d.ts +41 -0
- package/dist/modes/companion/mode-manager.d.ts.map +1 -0
- package/dist/modes/companion/mode-manager.js +56 -0
- package/dist/modes/companion/mode-manager.js.map +1 -0
- package/dist/modes/companion/mode-manager.test.d.ts +2 -0
- package/dist/modes/companion/mode-manager.test.d.ts.map +1 -0
- package/dist/modes/companion/mode-manager.test.js +65 -0
- package/dist/modes/companion/mode-manager.test.js.map +1 -0
- package/dist/modes/companion/output-classifier.d.ts +15 -0
- package/dist/modes/companion/output-classifier.d.ts.map +1 -0
- package/dist/modes/companion/output-classifier.js +77 -0
- package/dist/modes/companion/output-classifier.js.map +1 -0
- package/dist/modes/companion/output-classifier.test.d.ts +2 -0
- package/dist/modes/companion/output-classifier.test.d.ts.map +1 -0
- package/dist/modes/companion/output-classifier.test.js +133 -0
- package/dist/modes/companion/output-classifier.test.js.map +1 -0
- package/dist/modes/companion/pty-wrapper.d.ts +46 -0
- package/dist/modes/companion/pty-wrapper.d.ts.map +1 -0
- package/dist/modes/companion/pty-wrapper.js +143 -0
- package/dist/modes/companion/pty-wrapper.js.map +1 -0
- package/dist/modes/companion/safety-classifier.d.ts +31 -0
- package/dist/modes/companion/safety-classifier.d.ts.map +1 -0
- package/dist/modes/companion/safety-classifier.js +140 -0
- package/dist/modes/companion/safety-classifier.js.map +1 -0
- package/dist/modes/companion/safety-classifier.test.d.ts +2 -0
- package/dist/modes/companion/safety-classifier.test.d.ts.map +1 -0
- package/dist/modes/companion/safety-classifier.test.js +151 -0
- package/dist/modes/companion/safety-classifier.test.js.map +1 -0
- package/dist/modes/companion/summarizer.d.ts +24 -0
- package/dist/modes/companion/summarizer.d.ts.map +1 -0
- package/dist/modes/companion/summarizer.js +132 -0
- package/dist/modes/companion/summarizer.js.map +1 -0
- package/dist/modes/companion/terminal-history.d.ts +27 -0
- package/dist/modes/companion/terminal-history.d.ts.map +1 -0
- package/dist/modes/companion/terminal-history.js +142 -0
- package/dist/modes/companion/terminal-history.js.map +1 -0
- package/dist/prompts/simple-mentor.md +8 -0
- package/dist/providers/github-copilot/model.d.ts.map +1 -1
- package/dist/providers/github-copilot/model.js +25 -108
- package/dist/providers/github-copilot/model.js.map +1 -1
- package/dist/providers/github-copilot/model.test.d.ts +2 -0
- package/dist/providers/github-copilot/model.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/model.test.js +63 -0
- package/dist/providers/github-copilot/model.test.js.map +1 -0
- package/dist/providers/github-copilot/provider.d.ts +0 -5
- package/dist/providers/github-copilot/provider.d.ts.map +1 -1
- package/dist/providers/github-copilot/provider.js +2 -7
- package/dist/providers/github-copilot/provider.js.map +1 -1
- package/dist/providers/openai-compatible/model.js +3 -3
- package/dist/providers/openai-compatible/model.js.map +1 -1
- package/dist/providers/openai-compatible/reasoning-content.test.js +70 -0
- package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -1
- package/dist/providers/openrouter/model.js +3 -3
- package/dist/providers/openrouter/model.js.map +1 -1
- package/dist/providers/openrouter/utils.d.ts +1 -0
- package/dist/providers/openrouter/utils.d.ts.map +1 -1
- package/dist/providers/openrouter/utils.js +3 -0
- package/dist/providers/openrouter/utils.js.map +1 -1
- package/dist/providers/openrouter.test.js +64 -0
- package/dist/providers/openrouter.test.js.map +1 -1
- package/dist/services/check_mock.d.ts +2 -0
- package/dist/services/check_mock.d.ts.map +1 -0
- package/dist/services/check_mock.js +22 -0
- package/dist/services/check_mock.js.map +1 -0
- package/dist/services/conversation-service.test.d.ts +2 -0
- package/dist/services/conversation-service.test.d.ts.map +1 -0
- package/dist/services/conversation-service.test.js +149 -183
- package/dist/services/conversation-service.test.js.map +1 -0
- package/dist/tools/ask-mentor.d.ts +1 -1
- package/dist/tools/ask-mentor.js +1 -1
- package/dist/tools/ask-mentor.js.map +1 -1
- package/dist/tools/ask-mentor.test.js +9 -3
- package/dist/tools/ask-mentor.test.js.map +1 -1
- package/dist/tools/find-files.d.ts +2 -2
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +2 -4
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/find-files.test.js +7 -19
- package/dist/tools/find-files.test.js.map +1 -1
- package/dist/tools/grep.d.ts +1 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +1 -5
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/read-file.d.ts +2 -2
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +2 -4
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-file.test.js +7 -13
- package/dist/tools/read-file.test.js.map +1 -1
- package/dist/tools/search-replace.d.ts +1 -1
- package/dist/tools/search-replace.d.ts.map +1 -1
- package/dist/tools/search-replace.js +1 -0
- package/dist/tools/search-replace.js.map +1 -1
- package/dist/tools/search.d.ts +4 -4
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +5 -14
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/shell.d.ts +2 -2
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +2 -4
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/tool-parameter-schema.test.d.ts +2 -0
- package/dist/tools/tool-parameter-schema.test.d.ts.map +1 -0
- package/dist/tools/tool-parameter-schema.test.js +88 -0
- package/dist/tools/tool-parameter-schema.test.js.map +1 -0
- package/dist/tools/web-fetch.d.ts +3 -3
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +3 -2
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/utils/command-safety.d.ts.map +1 -1
- package/dist/utils/command-safety.devnull.test.d.ts +2 -0
- package/dist/utils/command-safety.devnull.test.d.ts.map +1 -0
- package/dist/utils/command-safety.devnull.test.js +13 -0
- package/dist/utils/command-safety.devnull.test.js.map +1 -0
- package/dist/utils/command-safety.js +10 -364
- package/dist/utils/command-safety.js.map +1 -1
- package/dist/utils/extract-command-messages.test.d.ts +2 -0
- package/dist/utils/extract-command-messages.test.d.ts.map +1 -0
- package/dist/utils/extract-command-messages.test.js +58 -51
- package/dist/utils/extract-command-messages.test.js.map +1 -0
- package/package.json +1 -1
- package/dist/app.model-command-feedback.test.d.ts +0 -2
- package/dist/app.model-command-feedback.test.d.ts.map +0 -1
- package/dist/app.model-command-feedback.test.js +0 -19
- package/dist/app.model-command-feedback.test.js.map +0 -1
- package/dist/components/MentorMode.test.d.ts +0 -2
- package/dist/components/MentorMode.test.d.ts.map +0 -1
- package/dist/components/MentorMode.test.js.map +0 -1
- package/dist/components/StatusBar.test.d.ts +0 -2
- package/dist/components/StatusBar.test.d.ts.map +0 -1
- package/dist/components/StatusBar.test.js +0 -19
- package/dist/components/StatusBar.test.js.map +0 -1
- package/dist/debug-schema.d.ts +0 -2
- package/dist/debug-schema.d.ts.map +0 -1
- package/dist/debug-schema.js +0 -22
- package/dist/debug-schema.js.map +0 -1
- package/dist/hooks/use-model-selection.test.d.ts +0 -2
- package/dist/hooks/use-model-selection.test.d.ts.map +0 -1
- package/dist/hooks/use-model-selection.test.js +0 -28
- package/dist/hooks/use-model-selection.test.js.map +0 -1
- package/dist/hooks/use-path-completion.test.d.ts +0 -2
- package/dist/hooks/use-path-completion.test.d.ts.map +0 -1
- package/dist/hooks/use-path-completion.test.js +0 -29
- package/dist/hooks/use-path-completion.test.js.map +0 -1
- package/dist/lib/mentor-client.d.ts +0 -41
- package/dist/lib/mentor-client.d.ts.map +0 -1
- package/dist/lib/mentor-client.js +0 -146
- package/dist/lib/mentor-client.js.map +0 -1
- package/dist/lib/mentor-client.test.d.ts +0 -2
- package/dist/lib/mentor-client.test.d.ts.map +0 -1
- package/dist/lib/mentor-client.test.js +0 -440
- package/dist/lib/mentor-client.test.js.map +0 -1
- package/dist/lib/retry-strategy.d.ts +0 -43
- package/dist/lib/retry-strategy.d.ts.map +0 -1
- package/dist/lib/retry-strategy.js +0 -93
- package/dist/lib/retry-strategy.js.map +0 -1
- package/dist/lib/retry-strategy.test.d.ts +0 -2
- package/dist/lib/retry-strategy.test.d.ts.map +0 -1
- package/dist/lib/retry-strategy.test.js +0 -200
- package/dist/lib/retry-strategy.test.js.map +0 -1
- package/dist/prompts/default.md.bak +0 -77
- package/dist/providers/github-copilot/model-direct.d.ts +0 -34
- package/dist/providers/github-copilot/model-direct.d.ts.map +0 -1
- package/dist/providers/github-copilot/model-direct.js +0 -443
- package/dist/providers/github-copilot/model-direct.js.map +0 -1
- package/dist/providers/openrouter/merge-messages.test.d.ts +0 -2
- package/dist/providers/openrouter/merge-messages.test.d.ts.map +0 -1
- package/dist/providers/openrouter/merge-messages.test.js +0 -83
- package/dist/providers/openrouter/merge-messages.test.js.map +0 -1
- package/dist/providers/openrouter.history.test.d.ts +0 -2
- package/dist/providers/openrouter.history.test.d.ts.map +0 -1
- package/dist/providers/openrouter.history.test.js +0 -533
- package/dist/providers/openrouter.history.test.js.map +0 -1
- package/dist/reproduce_issue.test.d.ts +0 -2
- package/dist/reproduce_issue.test.d.ts.map +0 -1
- package/dist/reproduce_issue.test.js +0 -31
- package/dist/reproduce_issue.test.js.map +0 -1
- package/dist/services/conversation-result-builder.d.ts +0 -41
- package/dist/services/conversation-result-builder.d.ts.map +0 -1
- package/dist/services/conversation-result-builder.js +0 -110
- package/dist/services/conversation-result-builder.js.map +0 -1
- package/dist/services/conversation-result-builder.test.d.ts +0 -2
- package/dist/services/conversation-result-builder.test.d.ts.map +0 -1
- package/dist/services/conversation-result-builder.test.js +0 -76
- package/dist/services/conversation-result-builder.test.js.map +0 -1
- package/dist/services/conversation-session.usage.test.d.ts +0 -2
- package/dist/services/conversation-session.usage.test.d.ts.map +0 -1
- package/dist/services/conversation-session.usage.test.js +0 -59
- package/dist/services/conversation-session.usage.test.js.map +0 -1
- package/dist/services/stream-event-processor.d.ts +0 -32
- package/dist/services/stream-event-processor.d.ts.map +0 -1
- package/dist/services/stream-event-processor.js +0 -344
- package/dist/services/stream-event-processor.js.map +0 -1
- package/dist/services/stream-event-processor.test.d.ts +0 -2
- package/dist/services/stream-event-processor.test.d.ts.map +0 -1
- package/dist/services/stream-event-processor.test.js +0 -117
- package/dist/services/stream-event-processor.test.js.map +0 -1
- package/dist/test-search-tool.d.ts +0 -2
- package/dist/test-search-tool.d.ts.map +0 -1
- package/dist/test-search-tool.js +0 -36
- package/dist/test-search-tool.js.map +0 -1
- package/dist/types/messages.d.ts +0 -29
- package/dist/types/messages.d.ts.map +0 -1
- package/dist/types/messages.js +0 -2
- package/dist/types/messages.js.map +0 -1
- package/dist/utils/extract-command-messages.repro.test.d.ts +0 -2
- package/dist/utils/extract-command-messages.repro.test.d.ts.map +0 -1
- package/dist/utils/extract-command-messages.repro.test.js +0 -31
- package/dist/utils/extract-command-messages.repro.test.js.map +0 -1
- package/dist/utils/message-utils.d.ts +0 -17
- package/dist/utils/message-utils.d.ts.map +0 -1
- package/dist/utils/message-utils.js +0 -52
- package/dist/utils/message-utils.js.map +0 -1
- package/dist/utils/message-utils.test.d.ts +0 -2
- package/dist/utils/message-utils.test.d.ts.map +0 -1
- package/dist/utils/message-utils.test.js +0 -48
- package/dist/utils/message-utils.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.test.d.ts","sourceRoot":"","sources":["../../source/components/StatusBar.test.tsx"],"names":[],"mappings":""}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import test from 'ava';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { render } from 'ink-testing-library';
|
|
4
|
-
import StatusBar from './StatusBar.js';
|
|
5
|
-
import { createMockSettingsService } from '../services/settings-service.mock.js';
|
|
6
|
-
test('StatusBar renders token usage on the right', t => {
|
|
7
|
-
const settingsService = createMockSettingsService();
|
|
8
|
-
const lastUsage = { prompt_tokens: 100, completion_tokens: 50, total_tokens: 150 };
|
|
9
|
-
const { lastFrame } = render(React.createElement(StatusBar, { settingsService: settingsService, lastUsage: lastUsage }));
|
|
10
|
-
const output = lastFrame() ?? '';
|
|
11
|
-
t.true(output.includes('Tok: 100 in / 50 out / 150 total'));
|
|
12
|
-
});
|
|
13
|
-
test('StatusBar does not render usage when not provided', t => {
|
|
14
|
-
const settingsService = createMockSettingsService();
|
|
15
|
-
const { lastFrame } = render(React.createElement(StatusBar, { settingsService: settingsService, lastUsage: null }));
|
|
16
|
-
const output = lastFrame() ?? '';
|
|
17
|
-
t.false(output.includes('Tok:'));
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=StatusBar.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.test.js","sourceRoot":"","sources":["../../source/components/StatusBar.test.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAE/E,IAAI,CAAC,4CAA4C,EAAE,CAAC,CAAC,EAAE;IACnD,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,EAAC,aAAa,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAC,CAAC;IAEjF,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACtB,oBAAC,SAAS,IACN,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,GACtB,CACL,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,CAAC,CAAC,EAAE;IAC1D,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IAEpD,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACtB,oBAAC,SAAS,IACN,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,IAAI,GACjB,CACL,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC"}
|
package/dist/debug-schema.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-schema.d.ts","sourceRoot":"","sources":["../source/debug-schema.ts"],"names":[],"mappings":""}
|
package/dist/debug-schema.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { searchToolDefinition } from './tools/search.js';
|
|
2
|
-
import { shellToolDefinition } from './tools/shell.js';
|
|
3
|
-
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
4
|
-
console.log('Shell params type:', shellToolDefinition.parameters.constructor.name);
|
|
5
|
-
console.log('Search params type:', searchToolDefinition.parameters.constructor.name);
|
|
6
|
-
try {
|
|
7
|
-
const shellSchema = zodToJsonSchema(shellToolDefinition.parameters, "shell");
|
|
8
|
-
console.log('--- Shell Tool Schema ---');
|
|
9
|
-
console.log(JSON.stringify(shellSchema, null, 2));
|
|
10
|
-
}
|
|
11
|
-
catch (e) {
|
|
12
|
-
console.error('Shell schema error:', e);
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
const searchSchema = zodToJsonSchema(searchToolDefinition.parameters, "search");
|
|
16
|
-
console.log('\n--- Search Tool Schema ---');
|
|
17
|
-
console.log(JSON.stringify(searchSchema, null, 2));
|
|
18
|
-
}
|
|
19
|
-
catch (e) {
|
|
20
|
-
console.error('Search schema error:', e);
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=debug-schema.js.map
|
package/dist/debug-schema.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-schema.js","sourceRoot":"","sources":["../source/debug-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACnF,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAErF,IAAI,CAAC;IACD,MAAM,WAAW,GAAG,eAAe,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,IAAI,CAAC;IACD,MAAM,YAAY,GAAG,eAAe,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-model-selection.test.d.ts","sourceRoot":"","sources":["../../source/hooks/use-model-selection.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import test from 'ava';
|
|
2
|
-
import { renderHook } from 'ink-testing-library';
|
|
3
|
-
import { useModelSelection } from './use-model-selection.js';
|
|
4
|
-
import { InputProvider } from '../context/InputContext.js';
|
|
5
|
-
import React from 'react';
|
|
6
|
-
// Helper to render the hook with provider
|
|
7
|
-
const renderWithProvider = (fn) => {
|
|
8
|
-
const wrapper = (props) => React.createElement(InputProvider, props);
|
|
9
|
-
return renderHook(fn, { wrapper });
|
|
10
|
-
};
|
|
11
|
-
test('useModelSelection resets scroll and selection when query changes', t => {
|
|
12
|
-
const { result, rerender } = renderWithProvider(() => useModelSelection());
|
|
13
|
-
// Verify initial state
|
|
14
|
-
t.is(result.current.scrollOffset, 0, 'Initial scroll offset should be 0');
|
|
15
|
-
t.is(result.current.selectedIndex, 0, 'Initial selected index should be 0');
|
|
16
|
-
// When the user types a filter (query changes), scroll and selection should reset
|
|
17
|
-
// This test verifies that the hook properly resets these states to prevent
|
|
18
|
-
// showing "invisible" items that don't match the filter
|
|
19
|
-
// The actual filter happens through the context, but we verify the effect
|
|
20
|
-
// is in place by checking that the hook exports scrollOffset
|
|
21
|
-
t.truthy(result.current.scrollOffset !== undefined, 'Hook should expose scrollOffset');
|
|
22
|
-
});
|
|
23
|
-
test('useModelSelection provides scrollOffset in return value', t => {
|
|
24
|
-
const { result } = renderWithProvider(() => useModelSelection());
|
|
25
|
-
t.is(typeof result.current.scrollOffset, 'number', 'scrollOffset should be a number');
|
|
26
|
-
t.is(result.current.scrollOffset, 0, 'Initial scrollOffset should be 0');
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=use-model-selection.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-model-selection.test.js","sourceRoot":"","sources":["../../source/hooks/use-model-selection.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,0CAA0C;AAC1C,MAAM,kBAAkB,GAAG,CAAC,EAAO,EAAE,EAAE;IACtC,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CAC9B,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC,EAAE,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,IAAI,CAAC,kEAAkE,EAAE,CAAC,CAAC,EAAE;IAC5E,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEzE,uBAAuB;IACvB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,mCAAmC,CAAC,CAAC;IAC1E,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,oCAAoC,CAAC,CAAC;IAE5E,kFAAkF;IAClF,2EAA2E;IAC3E,wDAAwD;IAExD,0EAA0E;IAC1E,6DAA6D;IAC7D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,iCAAiC,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,CAAC,CAAC,EAAE;IACnE,MAAM,EAAC,MAAM,EAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE/D,CAAC,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,iCAAiC,CAAC,CAAC;IACtF,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,kCAAkC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-path-completion.test.d.ts","sourceRoot":"","sources":["../../source/hooks/use-path-completion.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import test from 'ava';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { render } from 'ink-testing-library';
|
|
4
|
-
import { InputProvider } from '../context/InputContext.js';
|
|
5
|
-
import { usePathCompletion } from './use-path-completion.js';
|
|
6
|
-
test('open() is blocked immediately after close() for path completion', async (t) => {
|
|
7
|
-
let control = null;
|
|
8
|
-
const Test = () => {
|
|
9
|
-
const hook = usePathCompletion();
|
|
10
|
-
control = hook;
|
|
11
|
-
return React.createElement(React.Fragment, null, hook.isOpen ? 'OPEN' : 'CLOSED');
|
|
12
|
-
};
|
|
13
|
-
const { lastFrame } = render(React.createElement(InputProvider, null, React.createElement(Test, null)));
|
|
14
|
-
t.true(lastFrame().includes('CLOSED'));
|
|
15
|
-
control.open(0);
|
|
16
|
-
await new Promise(resolve => setTimeout(resolve, 50));
|
|
17
|
-
t.true(lastFrame().includes('OPEN'));
|
|
18
|
-
control.close();
|
|
19
|
-
await new Promise(resolve => setTimeout(resolve, 50));
|
|
20
|
-
t.true(lastFrame().includes('CLOSED'));
|
|
21
|
-
control.open(0);
|
|
22
|
-
await new Promise(resolve => setTimeout(resolve, 50));
|
|
23
|
-
t.true(lastFrame().includes('CLOSED'));
|
|
24
|
-
await new Promise(resolve => setTimeout(resolve, 350));
|
|
25
|
-
control.open(0);
|
|
26
|
-
await new Promise(resolve => setTimeout(resolve, 50));
|
|
27
|
-
t.true(lastFrame().includes('OPEN'));
|
|
28
|
-
});
|
|
29
|
-
//# sourceMappingURL=use-path-completion.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-path-completion.test.js","sourceRoot":"","sources":["../../source/hooks/use-path-completion.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAE3D,IAAI,CAAC,iEAAiE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC9E,IAAI,OAAO,GAAQ,IAAI,CAAC;IAExB,MAAM,IAAI,GAAG,GAAG,EAAE;QACd,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtF,CAAC,CAAC;IAEF,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACtB,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAC5E,CAAC;IAEF,CAAC,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Agent, Runner } from '@openai/agents';
|
|
2
|
-
import type { ILoggingService, ISettingsService } from '../services/service-interfaces.js';
|
|
3
|
-
import type { ExecutionContext } from '../services/execution-context.js';
|
|
4
|
-
/**
|
|
5
|
-
* Callback signature that MentorClient uses to execute an agent run
|
|
6
|
-
* against a given provider.
|
|
7
|
-
*/
|
|
8
|
-
export type RunAgentFn = (providerId: string, runner: Runner | null, agent: Agent, input: any, options: any) => Promise<any>;
|
|
9
|
-
/**
|
|
10
|
-
* Callback signature to create a Runner for a given provider.
|
|
11
|
-
*/
|
|
12
|
-
export type CreateRunnerFn = (providerId: string) => Runner | null;
|
|
13
|
-
export interface MentorClientDeps {
|
|
14
|
-
runAgent: RunAgentFn;
|
|
15
|
-
createRunner: CreateRunnerFn;
|
|
16
|
-
logger: ILoggingService;
|
|
17
|
-
settings: ISettingsService;
|
|
18
|
-
executionContext?: ExecutionContext;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Encapsulates mentor (ask_mentor) agent lifecycle: agent creation,
|
|
22
|
-
* conversation store, provider switching, and response extraction.
|
|
23
|
-
*
|
|
24
|
-
* Extracted from OpenAIAgentClient to keep that class focused on the
|
|
25
|
-
* primary agent workflow.
|
|
26
|
-
*/
|
|
27
|
-
export declare class MentorClient {
|
|
28
|
-
#private;
|
|
29
|
-
constructor(deps: MentorClientDeps);
|
|
30
|
-
/**
|
|
31
|
-
* Reset all mentor state. Called when the parent agent's model or
|
|
32
|
-
* provider changes so the mentor doesn't carry stale context.
|
|
33
|
-
*/
|
|
34
|
-
reset(): void;
|
|
35
|
-
/**
|
|
36
|
-
* Consult the mentor model with a question. Maintains conversation
|
|
37
|
-
* history across calls until reset() is invoked.
|
|
38
|
-
*/
|
|
39
|
-
consult(question: string): Promise<string>;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=mentor-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mentor-client.d.ts","sourceRoot":"","sources":["../../source/lib/mentor-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,GAAG,KACT,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,UAAU,CAAC;IACrB,YAAY,EAAE,cAAc,CAAC;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;;;GAMG;AACH,qBAAa,YAAY;;gBAaX,IAAI,EAAE,gBAAgB;IAQlC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAWb;;;OAGG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA+GjD"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { Agent } from '@openai/agents';
|
|
2
|
-
import { ConversationStore } from '../services/conversation-store.js';
|
|
3
|
-
import { getEnvInfo, getAgentsInstructions } from '../agent.js';
|
|
4
|
-
/**
|
|
5
|
-
* Encapsulates mentor (ask_mentor) agent lifecycle: agent creation,
|
|
6
|
-
* conversation store, provider switching, and response extraction.
|
|
7
|
-
*
|
|
8
|
-
* Extracted from OpenAIAgentClient to keep that class focused on the
|
|
9
|
-
* primary agent workflow.
|
|
10
|
-
*/
|
|
11
|
-
export class MentorClient {
|
|
12
|
-
#runAgent;
|
|
13
|
-
#createRunner;
|
|
14
|
-
#logger;
|
|
15
|
-
#settings;
|
|
16
|
-
#executionContext;
|
|
17
|
-
#mentorAgent = null;
|
|
18
|
-
#mentorStore = null;
|
|
19
|
-
#mentorPreviousResponseId = null;
|
|
20
|
-
#mentorRunner = null;
|
|
21
|
-
#mentorProvider = null;
|
|
22
|
-
constructor(deps) {
|
|
23
|
-
this.#runAgent = deps.runAgent;
|
|
24
|
-
this.#createRunner = deps.createRunner;
|
|
25
|
-
this.#logger = deps.logger;
|
|
26
|
-
this.#settings = deps.settings;
|
|
27
|
-
this.#executionContext = deps.executionContext;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Reset all mentor state. Called when the parent agent's model or
|
|
31
|
-
* provider changes so the mentor doesn't carry stale context.
|
|
32
|
-
*/
|
|
33
|
-
reset() {
|
|
34
|
-
if (this.#mentorStore) {
|
|
35
|
-
this.#mentorStore.clear();
|
|
36
|
-
}
|
|
37
|
-
this.#mentorPreviousResponseId = null;
|
|
38
|
-
this.#mentorStore = null;
|
|
39
|
-
this.#mentorRunner = null;
|
|
40
|
-
this.#mentorProvider = null;
|
|
41
|
-
this.#mentorAgent = null;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Consult the mentor model with a question. Maintains conversation
|
|
45
|
-
* history across calls until reset() is invoked.
|
|
46
|
-
*/
|
|
47
|
-
async consult(question) {
|
|
48
|
-
const mentorModel = this.#settings.get('agent.mentorModel');
|
|
49
|
-
if (!mentorModel) {
|
|
50
|
-
throw new Error('Mentor model is not configured');
|
|
51
|
-
}
|
|
52
|
-
const mainProvider = this.#settings.get('agent.provider') || 'openai';
|
|
53
|
-
const mentorProvider = this.#settings.get('agent.mentorProvider') ?? mainProvider;
|
|
54
|
-
const mentorMode = this.#settings.get('app.mentorMode');
|
|
55
|
-
// Different instructions based on mode
|
|
56
|
-
let baseInstructions = mentorMode
|
|
57
|
-
? 'You are a senior architect acting as a peer reviewer. You have no codebase access—you rely on what the user reports.\n\n' +
|
|
58
|
-
'Your role is adversarial review, not rubber-stamping:\n' +
|
|
59
|
-
'- Challenge assumptions, even when reasoning sounds solid\n' +
|
|
60
|
-
'- Probe for gaps: what did they not check? What could go wrong?\n' +
|
|
61
|
-
'- Suggest alternatives they may have dismissed too quickly\n' +
|
|
62
|
-
'- Ask for evidence when confidence seems misplaced\n\n' +
|
|
63
|
-
'When satisfied, give clear approval with specific next steps. When not, say exactly what needs more investigation.\n\n' +
|
|
64
|
-
"Be concise. Push back hard, but don't block unnecessarily."
|
|
65
|
-
: 'You are a helpful mentor assistant. Provide advice and guidance on technical problems. Be concise and actionable.';
|
|
66
|
-
// Add environment info and AGENTS.md context
|
|
67
|
-
const envInfo = getEnvInfo(this.#settings, this.#executionContext);
|
|
68
|
-
const cwd = this.#executionContext?.getCwd() ?? process.cwd();
|
|
69
|
-
const agentsInstructions = this.#executionContext?.isRemote() ? '' : getAgentsInstructions(cwd);
|
|
70
|
-
const instructions = `${baseInstructions}\n\nEnvironment: ${envInfo}${agentsInstructions}`;
|
|
71
|
-
// If mentor provider changed, reset mentor state to avoid mixing stores/prev ids across providers
|
|
72
|
-
if (this.#mentorProvider !== mentorProvider) {
|
|
73
|
-
this.#mentorAgent = null;
|
|
74
|
-
this.#mentorStore = null;
|
|
75
|
-
this.#mentorPreviousResponseId = null;
|
|
76
|
-
this.#mentorRunner = null;
|
|
77
|
-
this.#mentorProvider = mentorProvider;
|
|
78
|
-
}
|
|
79
|
-
// Initialize mentor runner/agent and conversation store if needed
|
|
80
|
-
if (!this.#mentorRunner && mentorProvider !== 'openai') {
|
|
81
|
-
this.#mentorRunner = this.#createRunner(mentorProvider);
|
|
82
|
-
}
|
|
83
|
-
if (!this.#mentorAgent) {
|
|
84
|
-
const reasoningEffort = this.#settings.get('agent.mentorReasoningEffort');
|
|
85
|
-
const modelSettings = {};
|
|
86
|
-
if (reasoningEffort && reasoningEffort !== 'default') {
|
|
87
|
-
modelSettings.reasoning = {
|
|
88
|
-
effort: reasoningEffort,
|
|
89
|
-
summary: 'auto',
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
this.#mentorAgent = new Agent({
|
|
93
|
-
name: 'Mentor',
|
|
94
|
-
model: mentorModel,
|
|
95
|
-
...(Object.keys(modelSettings).length > 0 ? { modelSettings } : {}),
|
|
96
|
-
instructions,
|
|
97
|
-
});
|
|
98
|
-
this.#mentorStore = new ConversationStore();
|
|
99
|
-
}
|
|
100
|
-
try {
|
|
101
|
-
// Add user message to conversation history
|
|
102
|
-
this.#mentorStore.addUserMessage(question);
|
|
103
|
-
// Determine input based on provider
|
|
104
|
-
// OpenAI uses previousResponseId for server-side history
|
|
105
|
-
// Others need full conversation history from store
|
|
106
|
-
const input = mentorProvider !== 'openai' ? this.#mentorStore.getHistory() : question;
|
|
107
|
-
const result = await this.#runAgent(mentorProvider, this.#mentorRunner, this.#mentorAgent, input, {
|
|
108
|
-
stream: false,
|
|
109
|
-
maxTurns: 1,
|
|
110
|
-
...(mentorProvider === 'openai' && this.#mentorPreviousResponseId
|
|
111
|
-
? { previousResponseId: this.#mentorPreviousResponseId }
|
|
112
|
-
: {}),
|
|
113
|
-
});
|
|
114
|
-
// Update conversation store with result
|
|
115
|
-
this.#mentorStore.updateFromResult(result);
|
|
116
|
-
// Track previousResponseId for OpenAI
|
|
117
|
-
if (result.responseId) {
|
|
118
|
-
this.#mentorPreviousResponseId = result.responseId;
|
|
119
|
-
}
|
|
120
|
-
// Extract response
|
|
121
|
-
let response = '';
|
|
122
|
-
if (result.finalOutput) {
|
|
123
|
-
response = result.finalOutput;
|
|
124
|
-
}
|
|
125
|
-
else if (result.messages && Array.isArray(result.messages)) {
|
|
126
|
-
const lastMessage = result.messages[result.messages.length - 1];
|
|
127
|
-
if (lastMessage && lastMessage.content) {
|
|
128
|
-
if (typeof lastMessage.content === 'string') {
|
|
129
|
-
response = lastMessage.content;
|
|
130
|
-
}
|
|
131
|
-
else if (Array.isArray(lastMessage.content)) {
|
|
132
|
-
response = lastMessage.content.map((part) => part.text || part.value || '').join('');
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return response;
|
|
137
|
-
}
|
|
138
|
-
catch (error) {
|
|
139
|
-
this.#logger.error('Mentor consultation failed', {
|
|
140
|
-
error: error instanceof Error ? error.message : String(error),
|
|
141
|
-
});
|
|
142
|
-
throw error;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
//# sourceMappingURL=mentor-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mentor-client.js","sourceRoot":"","sources":["../../source/lib/mentor-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mentor-client.test.d.ts","sourceRoot":"","sources":["../../source/lib/mentor-client.test.ts"],"names":[],"mappings":""}
|