@qduc/term2 0.28.0 → 0.29.1

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 (197) hide show
  1. package/dist/agent.d.ts +2 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +8 -2
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.js +1 -1
  6. package/dist/app.js.map +1 -1
  7. package/dist/build-info.json +2 -2
  8. package/dist/cli.js +7 -5
  9. package/dist/cli.js.map +1 -1
  10. package/dist/components/layout/Banner.d.ts +7 -0
  11. package/dist/components/layout/Banner.d.ts.map +1 -1
  12. package/dist/components/layout/Banner.js +23 -3
  13. package/dist/components/layout/Banner.js.map +1 -1
  14. package/dist/components/menu/settings-value-formatter.d.ts.map +1 -1
  15. package/dist/components/menu/settings-value-formatter.js +1 -6
  16. package/dist/components/menu/settings-value-formatter.js.map +1 -1
  17. package/dist/contracts/streamed-model-turn.d.ts +8 -0
  18. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  19. package/dist/contracts/streamed-model-turn.js +7 -1
  20. package/dist/contracts/streamed-model-turn.js.map +1 -1
  21. package/dist/gateway/gateway.d.ts.map +1 -1
  22. package/dist/gateway/gateway.js +5 -0
  23. package/dist/gateway/gateway.js.map +1 -1
  24. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  25. package/dist/hooks/settings-completion-config.js +0 -1
  26. package/dist/hooks/settings-completion-config.js.map +1 -1
  27. package/dist/hooks/use-conversation.d.ts +1 -1
  28. package/dist/hooks/use-conversation.d.ts.map +1 -1
  29. package/dist/hooks/use-conversation.js +1 -1
  30. package/dist/hooks/use-conversation.js.map +1 -1
  31. package/dist/lib/agent-client.d.ts +1 -4
  32. package/dist/lib/agent-client.d.ts.map +1 -1
  33. package/dist/lib/agent-client.js +3 -18
  34. package/dist/lib/agent-client.js.map +1 -1
  35. package/dist/lib/agent-configuration.d.ts +2 -0
  36. package/dist/lib/agent-configuration.d.ts.map +1 -1
  37. package/dist/lib/agent-configuration.js +11 -1
  38. package/dist/lib/agent-configuration.js.map +1 -1
  39. package/dist/lib/agent-factory.d.ts +1 -0
  40. package/dist/lib/agent-factory.d.ts.map +1 -1
  41. package/dist/lib/agent-factory.js +1 -0
  42. package/dist/lib/agent-factory.js.map +1 -1
  43. package/dist/prompts/explorer-delegation-contract.test.ts +1 -1
  44. package/dist/prompts/{gpt-5.6.md → gpt.md} +13 -1
  45. package/dist/prompts/prompt-constructor.d.ts +14 -3
  46. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  47. package/dist/prompts/prompt-constructor.js +4 -5
  48. package/dist/prompts/prompt-constructor.js.map +1 -1
  49. package/dist/prompts/prompt-constructor.test.ts +82 -114
  50. package/dist/prompts/prompt-constructor.ts +14 -8
  51. package/dist/prompts/prompt-profiles.d.ts.map +1 -1
  52. package/dist/prompts/prompt-profiles.js +3 -39
  53. package/dist/prompts/prompt-profiles.js.map +1 -1
  54. package/dist/prompts/prompt-profiles.ts +3 -40
  55. package/dist/prompts/tool-surface-guidance.d.ts +2 -1
  56. package/dist/prompts/tool-surface-guidance.d.ts.map +1 -1
  57. package/dist/prompts/tool-surface-guidance.js +22 -9
  58. package/dist/prompts/tool-surface-guidance.js.map +1 -1
  59. package/dist/prompts/tool-surface-guidance.ts +26 -8
  60. package/dist/prompts/unified-gpt-prompt.test.ts +53 -0
  61. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  62. package/dist/providers/ai-sdk-streamed-model.js +15 -6
  63. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  64. package/dist/providers/codex-responses-model.js +2 -2
  65. package/dist/providers/codex-responses-model.js.map +1 -1
  66. package/dist/providers/model-catalog/catalog.generated.d.ts +145 -89
  67. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  68. package/dist/providers/model-catalog/catalog.generated.js +145 -89
  69. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  70. package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -1
  71. package/dist/providers/model-catalog/generate-catalog.js +18 -1
  72. package/dist/providers/model-catalog/generate-catalog.js.map +1 -1
  73. package/dist/providers/openai-responses-model.d.ts +2 -0
  74. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  75. package/dist/providers/openai-responses-model.js +9 -1
  76. package/dist/providers/openai-responses-model.js.map +1 -1
  77. package/dist/scripts/eval-gpt6-prompts.js +60 -25
  78. package/dist/scripts/eval-gpt6-prompts.js.map +1 -1
  79. package/dist/scripts/gpt6-probe-tools.d.ts +4 -0
  80. package/dist/scripts/gpt6-probe-tools.d.ts.map +1 -0
  81. package/dist/scripts/gpt6-probe-tools.js +43 -0
  82. package/dist/scripts/gpt6-probe-tools.js.map +1 -0
  83. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  84. package/dist/services/agent-runtime/application-run-loop.js +14 -4
  85. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  86. package/dist/services/conversation/conversation-adapter.d.ts +1 -1
  87. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  88. package/dist/services/conversation/conversation-adapter.js +3 -5
  89. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  90. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  91. package/dist/services/conversation/conversation-orchestrator.js +59 -3
  92. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  93. package/dist/services/conversation-agent-client.d.ts +2 -4
  94. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  95. package/dist/services/memory/memory-capabilities.d.ts +2 -20
  96. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  97. package/dist/services/memory/memory-capabilities.js +23 -174
  98. package/dist/services/memory/memory-capabilities.js.map +1 -1
  99. package/dist/services/memory/memory-store.d.ts +5 -2
  100. package/dist/services/memory/memory-store.d.ts.map +1 -1
  101. package/dist/services/memory/memory-store.js +18 -13
  102. package/dist/services/memory/memory-store.js.map +1 -1
  103. package/dist/services/retry/committed-tool-continuation.d.ts +24 -0
  104. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -1
  105. package/dist/services/retry/committed-tool-continuation.js +26 -0
  106. package/dist/services/retry/committed-tool-continuation.js.map +1 -1
  107. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  108. package/dist/services/retry/retry-classifier.js +11 -3
  109. package/dist/services/retry/retry-classifier.js.map +1 -1
  110. package/dist/services/sandboxed-code-host/host-types.d.ts +4 -2
  111. package/dist/services/sandboxed-code-host/host-types.d.ts.map +1 -1
  112. package/dist/services/sandboxed-code-host/host-types.js.map +1 -1
  113. package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -1
  114. package/dist/services/sandboxed-code-host/host-worker.js +6 -3
  115. package/dist/services/sandboxed-code-host/host-worker.js.map +1 -1
  116. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  117. package/dist/services/session/continuation-recovery-handler.js +6 -0
  118. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  119. package/dist/services/session/initial-turn-recovery-handler.d.ts +1 -1
  120. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  121. package/dist/services/session/initial-turn-recovery-handler.js +6 -0
  122. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  123. package/dist/services/session/session-composition.d.ts.map +1 -1
  124. package/dist/services/session/session-composition.js +1 -0
  125. package/dist/services/session/session-composition.js.map +1 -1
  126. package/dist/services/session/turn-attempt-factory.d.ts +0 -2
  127. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  128. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  129. package/dist/services/session/turn-attempt.d.ts +0 -5
  130. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  131. package/dist/services/session/turn-attempt.js +0 -9
  132. package/dist/services/session/turn-attempt.js.map +1 -1
  133. package/dist/services/session/turn-coordinator.d.ts +2 -1
  134. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  135. package/dist/services/session/turn-coordinator.js +1 -1
  136. package/dist/services/session/turn-coordinator.js.map +1 -1
  137. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  138. package/dist/services/session/turn-workflow.js +0 -53
  139. package/dist/services/session/turn-workflow.js.map +1 -1
  140. package/dist/services/settings/settings-schema.d.ts +0 -4
  141. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  142. package/dist/services/settings/settings-schema.js +0 -4
  143. package/dist/services/settings/settings-schema.js.map +1 -1
  144. package/dist/services/settings/settings-sources.d.ts +0 -1
  145. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  146. package/dist/services/settings/settings-sources.js +0 -1
  147. package/dist/services/settings/settings-sources.js.map +1 -1
  148. package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -1
  149. package/dist/services/settings/settings-ui-metadata.js +0 -1
  150. package/dist/services/settings/settings-ui-metadata.js.map +1 -1
  151. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +1 -1
  152. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  153. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +0 -1
  154. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  155. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  156. package/dist/tools/file/apply-patch.js +10 -2
  157. package/dist/tools/file/apply-patch.js.map +1 -1
  158. package/dist/tools/file/grep.d.ts.map +1 -1
  159. package/dist/tools/file/grep.js +5 -1
  160. package/dist/tools/file/grep.js.map +1 -1
  161. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -1
  162. package/dist/tools/file/upstream-apply-patch.js +17 -4
  163. package/dist/tools/file/upstream-apply-patch.js.map +1 -1
  164. package/dist/tools/system/run-code/run-code-runtime.d.ts +2 -0
  165. package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
  166. package/dist/tools/system/run-code/run-code-runtime.js +47 -3
  167. package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
  168. package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
  169. package/dist/tools/system/run-code/run-code.js +12 -0
  170. package/dist/tools/system/run-code/run-code.js.map +1 -1
  171. package/dist/tools/system/shell.d.ts +0 -2
  172. package/dist/tools/system/shell.d.ts.map +1 -1
  173. package/dist/tools/system/shell.js +2 -22
  174. package/dist/tools/system/shell.js.map +1 -1
  175. package/dist/types/user-turn.d.ts +0 -6
  176. package/dist/types/user-turn.d.ts.map +1 -1
  177. package/dist/types/user-turn.js +0 -1
  178. package/dist/types/user-turn.js.map +1 -1
  179. package/dist/utils/shell/execute-shell.js +3 -0
  180. package/dist/utils/shell/execute-shell.js.map +1 -1
  181. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  182. package/dist/utils/shell/sandbox/sandbox-policy.js +0 -4
  183. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  184. package/dist/utils/value-suggestions.d.ts.map +1 -1
  185. package/dist/utils/value-suggestions.js +0 -4
  186. package/dist/utils/value-suggestions.js.map +1 -1
  187. package/package.json +1 -1
  188. package/dist/prompts/codex.md +0 -104
  189. package/dist/prompts/fragments/gpt-6.md +0 -13
  190. package/dist/prompts/gpt-5-modern.md +0 -114
  191. package/dist/prompts/gpt-5.4-mini.md +0 -111
  192. package/dist/prompts/gpt-5.5.md +0 -108
  193. package/dist/prompts/memory.md +0 -9
  194. package/dist/services/rtk-service.d.ts +0 -23
  195. package/dist/services/rtk-service.d.ts.map +0 -1
  196. package/dist/services/rtk-service.js +0 -251
  197. package/dist/services/rtk-service.js.map +0 -1
@@ -1,251 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { createHash } from 'crypto';
4
- import { spawnSync } from 'child_process';
5
- import envPaths from 'env-paths';
6
- import { parse } from 'unbash';
7
- export const RTK_VERSION = 'v0.40.0';
8
- export const RTK_REPO = 'rtk-ai/rtk';
9
- export const RTK_ASSET_CHECKSUMS = {
10
- 'rtk-aarch64-apple-darwin.tar.gz': '60c2c325b4edf0367cfa9716ac2e2c888abcd065eff45d01510da6561ab82e3c',
11
- 'rtk-aarch64-unknown-linux-gnu.tar.gz': '1d0087ad62a182c0833c2251ac678b5e05356418d91aa57305ac51a126c9b102',
12
- 'rtk-x86_64-apple-darwin.tar.gz': '8eac502fb812056973da2a8c2f0c00e1427ba5f71bd14c01520bc540630cb98a',
13
- 'rtk-x86_64-unknown-linux-musl.tar.gz': 'a75d210a445874106bc16da2b4efba01d36d297afa33ec134728f2d5f42ef5af',
14
- };
15
- const RTK_COMMANDS = new Set([
16
- 'git',
17
- 'npm',
18
- 'pnpm',
19
- 'yarn',
20
- 'cargo',
21
- 'pytest',
22
- 'go',
23
- 'rg',
24
- 'grep',
25
- 'cat',
26
- 'ls',
27
- 'read',
28
- 'smart',
29
- 'find',
30
- 'diff',
31
- 'gh',
32
- 'jest',
33
- 'vitest',
34
- 'playwright',
35
- 'rspec',
36
- 'rake',
37
- 'err',
38
- 'test',
39
- 'lint',
40
- 'biome',
41
- 'tsc',
42
- 'next',
43
- 'prettier',
44
- 'clippy',
45
- 'ruff',
46
- 'golangci-lint',
47
- 'rubocop',
48
- 'pip',
49
- 'bundle',
50
- 'prisma',
51
- 'aws',
52
- 'docker',
53
- ]);
54
- function hasUnparsedTrailingInput(command, ast) {
55
- if (!Array.isArray(ast.commands) || ast.commands.length === 0)
56
- return false;
57
- const lastCommandEnd = ast.commands.reduce((end, node) => Math.max(end, node.end ?? 0), 0);
58
- const tail = command.slice(lastCommandEnd);
59
- return !/^\s*;?\s*(#.*)?$/.test(tail);
60
- }
61
- function collectRtkWrapOffsets(command) {
62
- let ast;
63
- try {
64
- ast = parse(command);
65
- }
66
- catch {
67
- return null;
68
- }
69
- if (ast.errors && ast.errors.length > 0) {
70
- return null;
71
- }
72
- if (!ast || !Array.isArray(ast.commands))
73
- return null;
74
- if (hasUnparsedTrailingInput(command, ast))
75
- return null;
76
- const offsets = [];
77
- let bail = false;
78
- function hasRedirect(node) {
79
- return Array.isArray(node.redirects) && node.redirects.length > 0;
80
- }
81
- function isEligible(node) {
82
- if (!node || node.type !== 'Command')
83
- return false;
84
- const name = node.name?.text;
85
- if (!name || !RTK_COMMANDS.has(name))
86
- return false;
87
- if (hasRedirect(node))
88
- return false;
89
- return true;
90
- }
91
- function visit(node) {
92
- if (bail || !node)
93
- return;
94
- switch (node.type) {
95
- case 'Statement': {
96
- if (node.background === true)
97
- return;
98
- if (node.redirects?.length > 0)
99
- return;
100
- visit(node.command);
101
- return;
102
- }
103
- case 'Command': {
104
- if (!isEligible(node))
105
- return;
106
- const offset = node.name?.pos;
107
- if (typeof offset !== 'number' || offset < 0 || offset > command.length) {
108
- // Never guess an insertion point — abandon wrapping entirely.
109
- bail = true;
110
- return;
111
- }
112
- offsets.push(offset);
113
- return;
114
- }
115
- case 'AndOr':
116
- node.commands?.forEach(visit);
117
- return;
118
- case 'Pipeline':
119
- // Never wrap inside a pipeline: each command's stdout is the next
120
- // command's stdin, so altering any segment's output changes the
121
- // consumer's input. Leave the whole pipeline untouched.
122
- return;
123
- default:
124
- // Subshell / CompoundList / If / For / While / Function / etc.
125
- // Leave the original text untouched.
126
- return;
127
- }
128
- }
129
- for (const node of ast.commands)
130
- visit(node);
131
- if (bail || offsets.length === 0)
132
- return null;
133
- return offsets.sort((a, b) => b - a);
134
- }
135
- export function resolveRtkAsset(platform, arch) {
136
- if (platform === 'linux' && arch === 'x64')
137
- return 'rtk-x86_64-unknown-linux-musl.tar.gz';
138
- if (platform === 'linux' && arch === 'arm64')
139
- return 'rtk-aarch64-unknown-linux-gnu.tar.gz';
140
- if (platform === 'darwin' && arch === 'x64')
141
- return 'rtk-x86_64-apple-darwin.tar.gz';
142
- if (platform === 'darwin' && arch === 'arm64')
143
- return 'rtk-aarch64-apple-darwin.tar.gz';
144
- return null;
145
- }
146
- export function getRtkBinaryPath(opts) {
147
- const cacheDir = opts?.cacheDir ?? envPaths('term2').cache;
148
- return path.join(cacheDir, 'rtk', RTK_VERSION, 'rtk');
149
- }
150
- export function isRtkSupportedCommand(command) {
151
- return collectRtkWrapOffsets(command) !== null;
152
- }
153
- export function wrapWithRtk(command, rtkPath) {
154
- const offsets = collectRtkWrapOffsets(command);
155
- if (!offsets)
156
- return command;
157
- const prefix = `"${rtkPath}" `;
158
- let result = command;
159
- for (const offset of offsets) {
160
- result = result.slice(0, offset) + prefix + result.slice(offset);
161
- }
162
- return result;
163
- }
164
- function defaultExtract(tarPath, destDir) {
165
- const result = spawnSync('tar', ['-xzf', tarPath, '-C', destDir], {
166
- stdio: 'pipe',
167
- windowsHide: true,
168
- });
169
- return { status: result.status };
170
- }
171
- function sha256(buffer) {
172
- return createHash('sha256').update(buffer).digest('hex');
173
- }
174
- export async function ensureRtkInstalled(deps) {
175
- const { loggingService, fetchImpl = fetch, extractImpl = defaultExtract, platform = process.platform, arch = process.arch, cacheDir, assetChecksums = RTK_ASSET_CHECKSUMS, } = deps;
176
- const binaryPath = getRtkBinaryPath({ cacheDir });
177
- if (fs.existsSync(binaryPath)) {
178
- return binaryPath;
179
- }
180
- const asset = resolveRtkAsset(platform, arch);
181
- if (!asset) {
182
- loggingService.warn('rtk: no binary available for this platform/arch', { platform, arch });
183
- return null;
184
- }
185
- try {
186
- const url = `https://github.com/${RTK_REPO}/releases/download/${RTK_VERSION}/${asset}`;
187
- loggingService.debug('rtk: downloading binary', { url });
188
- const response = await fetchImpl(url);
189
- if (!response.ok) {
190
- loggingService.warn('rtk: download request failed', { status: response.status, url });
191
- return null;
192
- }
193
- const buffer = Buffer.from(await response.arrayBuffer());
194
- const expectedChecksum = assetChecksums[asset];
195
- if (!expectedChecksum) {
196
- loggingService.warn('rtk: missing checksum for release asset', { asset });
197
- return null;
198
- }
199
- const actualChecksum = sha256(buffer);
200
- if (actualChecksum !== expectedChecksum) {
201
- loggingService.warn('rtk: checksum verification failed', {
202
- asset,
203
- expected: expectedChecksum,
204
- actual: actualChecksum,
205
- });
206
- return null;
207
- }
208
- const destDir = path.dirname(binaryPath);
209
- fs.mkdirSync(destDir, { recursive: true });
210
- const stamp = Date.now();
211
- const tmpTar = path.join(destDir, `rtk-dl-${stamp}.tar.gz`);
212
- const tmpExtractDir = path.join(destDir, `rtk-extract-${stamp}`);
213
- fs.writeFileSync(tmpTar, buffer);
214
- fs.mkdirSync(tmpExtractDir, { recursive: true });
215
- try {
216
- const extractResult = extractImpl(tmpTar, tmpExtractDir);
217
- try {
218
- fs.unlinkSync(tmpTar);
219
- }
220
- catch {
221
- // noop
222
- }
223
- if (extractResult.status !== 0) {
224
- loggingService.warn('rtk: extraction failed', { status: extractResult.status });
225
- return null;
226
- }
227
- const extractedBinary = path.join(tmpExtractDir, 'rtk');
228
- if (!fs.existsSync(extractedBinary)) {
229
- loggingService.warn('rtk: binary not found after extraction');
230
- return null;
231
- }
232
- fs.renameSync(extractedBinary, binaryPath);
233
- fs.chmodSync(binaryPath, 0o755);
234
- loggingService.debug('rtk: installed successfully', { path: binaryPath });
235
- return binaryPath;
236
- }
237
- finally {
238
- try {
239
- fs.rmSync(tmpExtractDir, { recursive: true, force: true });
240
- }
241
- catch {
242
- // noop
243
- }
244
- }
245
- }
246
- catch (error) {
247
- loggingService.warn('rtk: installation failed', { error: String(error) });
248
- return null;
249
- }
250
- }
251
- //# sourceMappingURL=rtk-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rtk-service.js","sourceRoot":"","sources":["../../source/services/rtk-service.ts"],"names":[],"mappings":"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"}