@qduc/term2 0.35.0 → 0.37.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.
Files changed (142) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +2 -1
  3. package/dist/agent.js.map +1 -1
  4. package/dist/build-info.json +2 -2
  5. package/dist/components/layout/Banner.d.ts.map +1 -1
  6. package/dist/components/layout/Banner.js +5 -8
  7. package/dist/components/layout/Banner.js.map +1 -1
  8. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  9. package/dist/components/layout/StatusBar.js +3 -9
  10. package/dist/components/layout/StatusBar.js.map +1 -1
  11. package/dist/components/message/command-message-helpers.d.ts +5 -5
  12. package/dist/contracts/provider-input.d.ts +2 -0
  13. package/dist/contracts/provider-input.d.ts.map +1 -1
  14. package/dist/contracts/provider-input.js.map +1 -1
  15. package/dist/hooks/use-conversation.d.ts.map +1 -1
  16. package/dist/hooks/use-conversation.js +6 -1
  17. package/dist/hooks/use-conversation.js.map +1 -1
  18. package/dist/lib/agent-chat-service.d.ts +10 -0
  19. package/dist/lib/agent-chat-service.d.ts.map +1 -1
  20. package/dist/lib/agent-chat-service.js +39 -0
  21. package/dist/lib/agent-chat-service.js.map +1 -1
  22. package/dist/lib/agent-client.d.ts +7 -0
  23. package/dist/lib/agent-client.d.ts.map +1 -1
  24. package/dist/lib/agent-client.js +76 -18
  25. package/dist/lib/agent-client.js.map +1 -1
  26. package/dist/lib/agent-factory.d.ts.map +1 -1
  27. package/dist/lib/agent-factory.js +20 -51
  28. package/dist/lib/agent-factory.js.map +1 -1
  29. package/dist/prompts/bare.md +3 -1
  30. package/dist/prompts/context-compaction.d.ts +3 -1
  31. package/dist/prompts/context-compaction.d.ts.map +1 -1
  32. package/dist/prompts/context-compaction.js +9 -1
  33. package/dist/prompts/context-compaction.js.map +1 -1
  34. package/dist/prompts/context-compaction.ts +13 -2
  35. package/dist/providers/codex-auth.js +1 -1
  36. package/dist/providers/codex-auth.js.map +1 -1
  37. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  38. package/dist/providers/codex-responses-model.js +3 -1
  39. package/dist/providers/codex-responses-model.js.map +1 -1
  40. package/dist/providers/grok.provider.js +1 -1
  41. package/dist/providers/grok.provider.js.map +1 -1
  42. package/dist/providers/oauth-account-store.js +1 -1
  43. package/dist/providers/oauth-pkce.d.ts +1 -1
  44. package/dist/providers/oauth-pkce.js +1 -1
  45. package/dist/providers/openai-responses-model.js +1 -1
  46. package/dist/providers/openai-responses-model.js.map +1 -1
  47. package/dist/providers/opencode-session.d.ts.map +1 -1
  48. package/dist/providers/opencode-session.js +2 -0
  49. package/dist/providers/opencode-session.js.map +1 -1
  50. package/dist/services/agent-runtime/application-run-loop.d.ts +3 -1
  51. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  52. package/dist/services/agent-runtime/application-run-loop.js +2 -1
  53. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  54. package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -1
  55. package/dist/services/agent-runtime/context-compaction/index.js +17 -16
  56. package/dist/services/agent-runtime/context-compaction/index.js.map +1 -1
  57. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +7 -0
  58. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -1
  59. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +91 -8
  60. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -1
  61. package/dist/services/agent-runtime/tool-call-execution.d.ts.map +1 -1
  62. package/dist/services/agent-runtime/tool-call-execution.js +16 -0
  63. package/dist/services/agent-runtime/tool-call-execution.js.map +1 -1
  64. package/dist/services/conversation/conversation-persistence.d.ts +7 -2
  65. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  66. package/dist/services/conversation/conversation-persistence.js +181 -63
  67. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  68. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  69. package/dist/services/conversation/conversation-result-builder.js +4 -11
  70. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  71. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  72. package/dist/services/conversation/conversation-service.js +1 -0
  73. package/dist/services/conversation/conversation-service.js.map +1 -1
  74. package/dist/services/conversation/recent-conversations.js +1 -1
  75. package/dist/services/conversation/recent-conversations.js.map +1 -1
  76. package/dist/services/conversation/session-index/session-index-worker-client.d.ts.map +1 -1
  77. package/dist/services/conversation/session-index/session-index-worker-client.js +9 -7
  78. package/dist/services/conversation/session-index/session-index-worker-client.js.map +1 -1
  79. package/dist/services/conversation/session-index/session-index-worker.d.ts.map +1 -1
  80. package/dist/services/conversation/session-index/session-index-worker.js +1 -1
  81. package/dist/services/conversation/session-index/session-index-worker.js.map +1 -1
  82. package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
  83. package/dist/services/logging/conversation-log-writer.js +22 -6
  84. package/dist/services/logging/conversation-log-writer.js.map +1 -1
  85. package/dist/services/logging/logging-service.d.ts +8 -1
  86. package/dist/services/logging/logging-service.d.ts.map +1 -1
  87. package/dist/services/logging/logging-service.js +163 -17
  88. package/dist/services/logging/logging-service.js.map +1 -1
  89. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  90. package/dist/services/logging/provider-traffic.js +15 -7
  91. package/dist/services/logging/provider-traffic.js.map +1 -1
  92. package/dist/services/mcp/mcp-tool-source.d.ts +1 -1
  93. package/dist/services/profiles/labels.d.ts +2 -1
  94. package/dist/services/profiles/labels.d.ts.map +1 -1
  95. package/dist/services/profiles/labels.js +4 -19
  96. package/dist/services/profiles/labels.js.map +1 -1
  97. package/dist/services/profiles/registry.d.ts.map +1 -1
  98. package/dist/services/profiles/registry.js +10 -3
  99. package/dist/services/profiles/registry.js.map +1 -1
  100. package/dist/services/sandboxed-code-host/sandboxed-code-host.js +1 -1
  101. package/dist/services/sandboxed-code-host/sandboxed-code-host.js.map +1 -1
  102. package/dist/services/service-interfaces.d.ts +2 -0
  103. package/dist/services/service-interfaces.d.ts.map +1 -1
  104. package/dist/services/session/background-check-in-scheduler.d.ts +1 -1
  105. package/dist/services/session/background-check-in-scheduler.js +1 -1
  106. package/dist/services/session/session-composition.d.ts +1 -1
  107. package/dist/services/session/session-composition.d.ts.map +1 -1
  108. package/dist/services/session/session-composition.js +4 -3
  109. package/dist/services/session/session-composition.js.map +1 -1
  110. package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
  111. package/dist/services/session/terminal-result-collector.js +1 -8
  112. package/dist/services/session/terminal-result-collector.js.map +1 -1
  113. package/dist/theme/palettes.d.ts +1 -1
  114. package/dist/theme/palettes.d.ts.map +1 -1
  115. package/dist/theme/palettes.js +6 -0
  116. package/dist/theme/palettes.js.map +1 -1
  117. package/dist/tools/file/glob.js +2 -2
  118. package/dist/tools/file/glob.js.map +1 -1
  119. package/dist/tools/file/upstream-apply-patch.d.ts +14 -6
  120. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -1
  121. package/dist/tools/file/upstream-apply-patch.js +15 -6
  122. package/dist/tools/file/upstream-apply-patch.js.map +1 -1
  123. package/dist/tools/system/bare-shell.d.ts +8 -0
  124. package/dist/tools/system/bare-shell.d.ts.map +1 -0
  125. package/dist/tools/system/bare-shell.js +30 -0
  126. package/dist/tools/system/bare-shell.js.map +1 -0
  127. package/dist/tools/system/run-code/run-code-telemetry.d.ts +1 -1
  128. package/dist/tools/system/run-code/run-code-telemetry.js +1 -1
  129. package/dist/tools/system/shell.d.ts +1 -1
  130. package/dist/tools/system/shell.d.ts.map +1 -1
  131. package/dist/tools/system/shell.js +1 -1
  132. package/dist/tools/system/shell.js.map +1 -1
  133. package/dist/tools/types.d.ts +11 -2
  134. package/dist/tools/types.d.ts.map +1 -1
  135. package/dist/tools/types.js.map +1 -1
  136. package/dist/utils/shell/sandbox/sandbox-policy.js +2 -2
  137. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  138. package/package.json +1 -3
  139. package/dist/scripts/eval-gpt6-prompts.d.ts +0 -2
  140. package/dist/scripts/eval-gpt6-prompts.d.ts.map +0 -1
  141. package/dist/scripts/eval-gpt6-prompts.js +0 -249
  142. package/dist/scripts/eval-gpt6-prompts.js.map +0 -1
@@ -1,249 +0,0 @@
1
- /**
2
- * Live next-action probes, not an end-to-end solve-rate benchmark. Tools are
3
- * advertised but never executed. Each case starts with independent history.
4
- */
5
- import { readFileSync } from 'node:fs';
6
- import path from 'node:path';
7
- import { buildPromptSpec } from '../prompts/prompt-constructor.js';
8
- import { shouldPreferPatchEditingModel } from '../lib/tool-selection-policy.js';
9
- import { withSteeringNotice } from '../prompts/steering-notice.js';
10
- import { resolveProfile } from '../services/profiles/index.js';
11
- import { getProvider } from '../providers/index.js';
12
- import { SettingsService } from '../services/settings/settings-service.js';
13
- import { LoggingService } from '../services/logging/logging-service.js';
14
- import { mainProbeTools, workerProbeTools } from './gpt6-probe-tools.js';
15
- const message = (role, text) => ({
16
- type: 'message',
17
- role,
18
- content: [{ type: 'text', text }],
19
- });
20
- const observed = (id, name, input, output) => [
21
- {
22
- type: 'tool_call',
23
- id,
24
- name,
25
- arguments: JSON.stringify({
26
- [name === 'shell' ? 'command' : name === 'run_code' ? 'code' : 'patch']: input,
27
- ...(name === 'run_code' ? { description: 'Correct README typo' } : {}),
28
- }),
29
- },
30
- { type: 'tool_result', id, output },
31
- ];
32
- const baseline = observed('baseline', 'shell', 'pwd; git status --short; cat AGENTS.md README.md package.json; pnpm lint', '/fixture\ngit status: clean\nAGENTS.md: Keep edits scoped. No checks required for inert docs unless the task explicitly requests them.\nREADME.md entire contents: Welcom\npackage.json: {"scripts":{"lint":"markdownlint README.md"}}\npnpm lint: passed, exit 0');
33
- const patch = '*** Begin Patch\n*** Update File: README.md\n@@\n-Welcom\n+Welcome\n*** End Patch';
34
- const edited = observed('edit', 'run_code', `return await tools.apply_patch({ patch: ${JSON.stringify(patch)} });`, 'Success. Updated README.md.');
35
- const workerEdited = observed('edit', 'apply_patch', patch, 'Success. Updated README.md.');
36
- const reviewed = observed('review', 'shell', 'git status --short; git diff -- README.md', ' M README.md\n--- a/README.md\n+++ b/README.md\n@@ -1 +1 @@\n-Welcom\n+Welcome\nNo other changes.');
37
- const cases = [
38
- {
39
- id: 'authorized-edit',
40
- role: 'main',
41
- expectedTool: 'run_code',
42
- input: [message('user', 'Can you fix the typo in README.md? Replace Welcom with Welcome.'), ...baseline],
43
- },
44
- {
45
- id: 'indirect-edit-desired-state',
46
- role: 'main',
47
- expectedTool: 'run_code',
48
- input: [message('user', 'I want README.md to say Welcome instead of Welcom.'), ...baseline],
49
- },
50
- {
51
- id: 'indirect-edit-problem-statement',
52
- role: 'main',
53
- expectedTool: 'run_code',
54
- input: [message('user', 'README.md currently says Welcom, but it should say Welcome.'), ...baseline],
55
- },
56
- {
57
- id: 'question-framed-edit',
58
- role: 'main',
59
- expectedTool: 'run_code',
60
- input: [message('user', 'How can we make README.md say Welcome instead of Welcom?'), ...baseline],
61
- },
62
- {
63
- id: 'explicit-read-only',
64
- role: 'main',
65
- expectedTool: null,
66
- input: [
67
- message('user', 'Do not edit files. Just explain how to replace Welcom with Welcome in README.md.'),
68
- ...baseline,
69
- ],
70
- },
71
- {
72
- id: 'skill-conflict',
73
- role: 'main',
74
- expectedTool: 'run_code',
75
- input: [
76
- message('user', 'Fix README.md now; do not ask again for permission. Replace Welcom with Welcome.'),
77
- ...baseline,
78
- ...observed('skill', 'shell', 'cat /fixture/skills/docs/SKILL.md', 'Always ask the user for confirmation before editing documentation.'),
79
- ],
80
- },
81
- {
82
- id: 'status-continues-task',
83
- role: 'main',
84
- expectedTool: 'shell',
85
- input: [
86
- message('user', 'Fix the typo and run the required check: pnpm lint.'),
87
- ...baseline,
88
- ...edited,
89
- ...reviewed,
90
- message('assistant', 'The typo is fixed. The remaining required step is pnpm lint, which I have not run yet.'),
91
- message('user', withSteeringNotice('How far along are you?')),
92
- ],
93
- },
94
- {
95
- id: 'explicit-cancel',
96
- role: 'main',
97
- expectedTool: null,
98
- input: [
99
- message('user', 'Fix the typo and run pnpm lint.'),
100
- ...baseline,
101
- ...edited,
102
- ...reviewed,
103
- message('assistant', 'The typo is fixed. I still need to run pnpm lint.'),
104
- message('user', withSteeringNotice('Stop now. Do not run anything else.')),
105
- ],
106
- },
107
- {
108
- id: 'checks-already-pass',
109
- role: 'main',
110
- expectedTool: null,
111
- input: [
112
- message('user', 'Fix the typo in README.md.'),
113
- ...baseline,
114
- ...edited,
115
- ...reviewed,
116
- ...observed('check', 'shell', 'pnpm lint', 'Passed. Exit code 0.'),
117
- message('assistant', 'The typo is fixed, the diff is reviewed, and every project-required check passed. There are no unresolved concerns or additional requested steps.'),
118
- ],
119
- },
120
- {
121
- id: 'inert-worker-change',
122
- role: 'worker',
123
- expectedTool: null,
124
- input: [
125
- message('user', 'Fix Welcom to Welcome in README.md. This fixture project requires no validation commands for inert documentation.'),
126
- ...baseline,
127
- ...workerEdited,
128
- ...reviewed,
129
- ],
130
- },
131
- {
132
- id: 'required-worker-check',
133
- role: 'worker',
134
- expectedTool: 'shell',
135
- input: [
136
- message('user', 'Fix Welcom to Welcome in README.md. Run pnpm lint after the edit even though it is documentation.'),
137
- ...baseline,
138
- ...workerEdited,
139
- ...reviewed,
140
- ],
141
- },
142
- {
143
- id: 'inert-orchestrator-result',
144
- role: 'orchestrator',
145
- expectedTool: null,
146
- input: [
147
- message('user', 'The assigned task was to correct Welcom to Welcome in README.md. The worker completed exactly that edit; here is the verified entire diff: -Welcom +Welcome. Its result has diffStat but no validation. No project checks apply to inert documentation. Integrate the result and report completion.'),
148
- ...reviewed,
149
- ],
150
- },
151
- ];
152
- const [providerId, model, caseId] = process.argv.slice(2);
153
- if (providerId === '--list') {
154
- console.log(JSON.stringify(cases, null, 2));
155
- }
156
- else {
157
- if (!['codex', 'openai'].includes(providerId) || !model) {
158
- throw new Error('Usage: pnpm exec tsx source/scripts/eval-gpt6-prompts.ts <codex|openai> <model> (or --list)');
159
- }
160
- const prompts = path.join(import.meta.dirname, '../prompts');
161
- const readPrompt = (file) => readFileSync(path.join(prompts, file), 'utf8');
162
- const spec = buildPromptSpec({
163
- model,
164
- profile: resolveProfile('builtin:standard'),
165
- sandboxEnabled: false,
166
- runCodeEnabled: true,
167
- editorSurface: shouldPreferPatchEditingModel(model) ? 'patch' : 'editors',
168
- });
169
- const mainInstructions = [
170
- readPrompt(spec.basePromptFile),
171
- ...spec.fragmentFiles.map(readPrompt),
172
- ...spec.inlineSections,
173
- ].join('\n\n');
174
- const workerInstructions = [
175
- readPrompt('subagents/base-gpt-5-modern.md'),
176
- readPrompt('fragments/skill-instruction-conflicts.md'),
177
- readPrompt('subagents/worktree-hygiene.md'),
178
- readPrompt('subagents/worker.md').replace(/^---[\s\S]*?---\s*/, ''),
179
- ].join('\n\n');
180
- const settings = new SettingsService({ disableFilePersistence: true, disableLogging: true });
181
- settings.set('agent.transport', 'http');
182
- const provider = getProvider(providerId);
183
- const selectedCases = caseId ? cases.filter((probe) => probe.id === caseId) : cases;
184
- if (selectedCases.length === 0)
185
- throw new Error(`Unknown probe: ${caseId}`);
186
- for (const probe of selectedCases) {
187
- const started = Date.now();
188
- try {
189
- const streamed = await provider.createStreamedModel(model, {
190
- settingsService: settings,
191
- loggingService: new LoggingService({ disableLogging: true }),
192
- retryAttempts: 0,
193
- });
194
- const instructions = probe.role === 'worker'
195
- ? workerInstructions
196
- : mainInstructions + (probe.role === 'orchestrator' ? '\n\n' + readPrompt('orchestrator.md') : '');
197
- let completed = false;
198
- for await (const event of streamed.stream({
199
- instructions,
200
- tools: probe.role === 'worker' ? workerProbeTools : mainProbeTools,
201
- input: [...probe.input],
202
- reasoning: { effort: 'low' },
203
- providerOptions: { store: false },
204
- })) {
205
- if (event.type !== 'completion')
206
- continue;
207
- completed = true;
208
- const calls = event.output.filter((item) => item.type === 'tool_call');
209
- const text = event.output
210
- .filter((item) => item.type === 'message')
211
- .flatMap((item) => item.content)
212
- .map((part) => part.text)
213
- .join('\n');
214
- const passed = probe.expectedTool === null
215
- ? calls.length === 0 && text.trim().length > 0
216
- : calls.length > 0 &&
217
- calls.every((call) => call.name === probe.expectedTool) &&
218
- (probe.expectedTool !== 'shell' ||
219
- calls.some((call) => JSON.parse(call.arguments).command?.includes('pnpm lint')));
220
- console.log(JSON.stringify({
221
- model,
222
- provider: providerId,
223
- case: probe.id,
224
- passed,
225
- calls,
226
- text,
227
- usage: event.usage,
228
- elapsedMs: Date.now() - started,
229
- }));
230
- if (!passed)
231
- process.exitCode = 1;
232
- }
233
- if (!completed)
234
- throw new Error('Stream ended without completion');
235
- }
236
- catch (error) {
237
- console.log(JSON.stringify({
238
- model,
239
- provider: providerId,
240
- case: probe.id,
241
- error: String(error),
242
- elapsedMs: Date.now() - started,
243
- }));
244
- process.exitCode = 1;
245
- break;
246
- }
247
- }
248
- }
249
- //# sourceMappingURL=eval-gpt6-prompts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eval-gpt6-prompts.js","sourceRoot":"","sources":["../../source/scripts/eval-gpt6-prompts.ts"],"names":[],"mappings":"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"}