takt 0.44.0 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/agents/judge-status-usecase.d.ts +17 -7
- package/dist/agents/judge-status-usecase.d.ts.map +1 -1
- package/dist/agents/judge-status-usecase.js +25 -13
- package/dist/agents/judge-status-usecase.js.map +1 -1
- package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -1
- package/dist/agents/structured-caller/prompt-based-structured-caller.js +7 -14
- package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -1
- package/dist/commands/analyze-usage.d.ts +26 -0
- package/dist/commands/analyze-usage.d.ts.map +1 -0
- package/dist/commands/analyze-usage.js +305 -0
- package/dist/commands/analyze-usage.js.map +1 -0
- package/dist/core/logging/contracts.d.ts +1 -0
- package/dist/core/logging/contracts.d.ts.map +1 -1
- package/dist/core/logging/contracts.js +1 -0
- package/dist/core/logging/contracts.js.map +1 -1
- package/dist/core/logging/phaseUsageEvent.d.ts +40 -0
- package/dist/core/logging/phaseUsageEvent.d.ts.map +1 -0
- package/dist/core/logging/phaseUsageEvent.js +195 -0
- package/dist/core/logging/phaseUsageEvent.js.map +1 -0
- package/dist/core/logging/providerEvent.d.ts +4 -0
- package/dist/core/logging/providerEvent.d.ts.map +1 -1
- package/dist/core/logging/providerEvent.js +31 -27
- package/dist/core/logging/providerEvent.js.map +1 -1
- package/dist/core/workflow/arpeggio/types.d.ts +3 -0
- package/dist/core/workflow/arpeggio/types.d.ts.map +1 -1
- package/dist/core/workflow/engine/ArpeggioRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/ArpeggioRunner.js +9 -0
- package/dist/core/workflow/engine/ArpeggioRunner.js.map +1 -1
- package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/ParallelRunner.js +1 -0
- package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
- package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
- package/dist/core/workflow/engine/StepExecutor.js +1 -0
- package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
- package/dist/core/workflow/engine/team-leader-part-runner.d.ts.map +1 -1
- package/dist/core/workflow/engine/team-leader-part-runner.js +1 -0
- package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
- package/dist/core/workflow/observability/workflowSpans.d.ts +3 -0
- package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
- package/dist/core/workflow/observability/workflowSpans.js +34 -1
- package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
- package/dist/core/workflow/report-phase-runner.js +1 -0
- package/dist/core/workflow/report-phase-runner.js.map +1 -1
- package/dist/core/workflow/status-judgment-phase.d.ts.map +1 -1
- package/dist/core/workflow/status-judgment-phase.js +1 -0
- package/dist/core/workflow/status-judgment-phase.js.map +1 -1
- package/dist/core/workflow/types.d.ts +2 -0
- package/dist/core/workflow/types.d.ts.map +1 -1
- package/dist/features/interactive/aiCaller.d.ts +6 -1
- package/dist/features/interactive/aiCaller.d.ts.map +1 -1
- package/dist/features/interactive/aiCaller.js +10 -3
- package/dist/features/interactive/aiCaller.js.map +1 -1
- package/dist/features/interactive/clipboardImage.d.ts +3 -0
- package/dist/features/interactive/clipboardImage.d.ts.map +1 -0
- package/dist/features/interactive/clipboardImage.js +91 -0
- package/dist/features/interactive/clipboardImage.js.map +1 -0
- package/dist/features/interactive/clipboardImageFeedback.d.ts +2 -0
- package/dist/features/interactive/clipboardImageFeedback.d.ts.map +1 -0
- package/dist/features/interactive/clipboardImageFeedback.js +6 -0
- package/dist/features/interactive/clipboardImageFeedback.js.map +1 -0
- package/dist/features/interactive/conversationLoop.d.ts.map +1 -1
- package/dist/features/interactive/conversationLoop.js +8 -3
- package/dist/features/interactive/conversationLoop.js.map +1 -1
- package/dist/features/interactive/imageAttachments.d.ts +3 -0
- package/dist/features/interactive/imageAttachments.d.ts.map +1 -1
- package/dist/features/interactive/imageAttachments.js +18 -0
- package/dist/features/interactive/imageAttachments.js.map +1 -1
- package/dist/features/interactive/interactive.d.ts +1 -0
- package/dist/features/interactive/interactive.d.ts.map +1 -1
- package/dist/features/interactive/interactive.js.map +1 -1
- package/dist/features/interactive/interactiveInput.d.ts.map +1 -1
- package/dist/features/interactive/interactiveInput.js +4 -1
- package/dist/features/interactive/interactiveInput.js.map +1 -1
- package/dist/features/interactive/lineEditor.d.ts +18 -14
- package/dist/features/interactive/lineEditor.d.ts.map +1 -1
- package/dist/features/interactive/lineEditor.js +174 -80
- package/dist/features/interactive/lineEditor.js.map +1 -1
- package/dist/features/interactive/passthroughMode.d.ts.map +1 -1
- package/dist/features/interactive/passthroughMode.js +4 -1
- package/dist/features/interactive/passthroughMode.js.map +1 -1
- package/dist/features/interactive/quietMode.d.ts.map +1 -1
- package/dist/features/interactive/quietMode.js +5 -2
- package/dist/features/interactive/quietMode.js.map +1 -1
- package/dist/features/interactive/slashCommandRegistry.d.ts.map +1 -1
- package/dist/features/interactive/slashCommandRegistry.js +1 -0
- package/dist/features/interactive/slashCommandRegistry.js.map +1 -1
- package/dist/features/tasks/attachments.d.ts.map +1 -1
- package/dist/features/tasks/attachments.js +18 -1
- package/dist/features/tasks/attachments.js.map +1 -1
- package/dist/features/tasks/execute/runAllTasks.js +3 -3
- package/dist/features/tasks/execute/runAllTasks.js.map +1 -1
- package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
- package/dist/features/tasks/execute/selectAndExecute.js +1 -2
- package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
- package/dist/features/tasks/execute/taskSpecContext.d.ts +1 -0
- package/dist/features/tasks/execute/taskSpecContext.d.ts.map +1 -1
- package/dist/features/tasks/execute/taskSpecContext.js +25 -1
- package/dist/features/tasks/execute/taskSpecContext.js.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.js +13 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
- package/dist/features/tasks/watch/index.js +3 -3
- package/dist/features/tasks/watch/index.js.map +1 -1
- package/dist/infra/claude/client.d.ts.map +1 -1
- package/dist/infra/claude/client.js +1 -0
- package/dist/infra/claude/client.js.map +1 -1
- package/dist/infra/claude/executor.d.ts.map +1 -1
- package/dist/infra/claude/executor.js +5 -35
- package/dist/infra/claude/executor.js.map +1 -1
- package/dist/infra/claude/image-input.d.ts +4 -0
- package/dist/infra/claude/image-input.d.ts.map +1 -0
- package/dist/infra/claude/image-input.js +63 -0
- package/dist/infra/claude/image-input.js.map +1 -0
- package/dist/infra/claude/types.d.ts +3 -0
- package/dist/infra/claude/types.d.ts.map +1 -1
- package/dist/infra/claude/usage.d.ts +3 -0
- package/dist/infra/claude/usage.d.ts.map +1 -0
- package/dist/infra/claude/usage.js +45 -0
- package/dist/infra/claude/usage.js.map +1 -0
- package/dist/infra/claude-headless/result-response.d.ts.map +1 -1
- package/dist/infra/claude-headless/result-response.js +1 -0
- package/dist/infra/claude-headless/result-response.js.map +1 -1
- package/dist/infra/claude-headless/stream-json-lines.d.ts +2 -0
- package/dist/infra/claude-headless/stream-json-lines.d.ts.map +1 -1
- package/dist/infra/claude-headless/stream-json-lines.js +4 -0
- package/dist/infra/claude-headless/stream-json-lines.js.map +1 -1
- package/dist/infra/codex/client.d.ts.map +1 -1
- package/dist/infra/codex/client.js +11 -1
- package/dist/infra/codex/client.js.map +1 -1
- package/dist/infra/codex/types.d.ts +2 -0
- package/dist/infra/codex/types.d.ts.map +1 -1
- package/dist/infra/codex/types.js.map +1 -1
- package/dist/infra/fs/index.d.ts +1 -0
- package/dist/infra/fs/index.d.ts.map +1 -1
- package/dist/infra/fs/index.js +1 -0
- package/dist/infra/fs/index.js.map +1 -1
- package/dist/infra/fs/jsonl.d.ts +2 -0
- package/dist/infra/fs/jsonl.d.ts.map +1 -0
- package/dist/infra/fs/jsonl.js +5 -0
- package/dist/infra/fs/jsonl.js.map +1 -0
- package/dist/infra/observability/otelFoundation.d.ts +2 -0
- package/dist/infra/observability/otelFoundation.d.ts.map +1 -1
- package/dist/infra/observability/otelFoundation.js +47 -7
- package/dist/infra/observability/otelFoundation.js.map +1 -1
- package/dist/infra/observability/usageEventsSpanProcessor.d.ts +19 -0
- package/dist/infra/observability/usageEventsSpanProcessor.d.ts.map +1 -0
- package/dist/infra/observability/usageEventsSpanProcessor.js +77 -0
- package/dist/infra/observability/usageEventsSpanProcessor.js.map +1 -0
- package/dist/infra/opencode/types.d.ts.map +1 -1
- package/dist/infra/opencode/types.js +8 -4
- package/dist/infra/opencode/types.js.map +1 -1
- package/dist/infra/providers/claude-headless.d.ts +1 -0
- package/dist/infra/providers/claude-headless.d.ts.map +1 -1
- package/dist/infra/providers/claude-headless.js +1 -0
- package/dist/infra/providers/claude-headless.js.map +1 -1
- package/dist/infra/providers/claude-terminal.d.ts +1 -0
- package/dist/infra/providers/claude-terminal.d.ts.map +1 -1
- package/dist/infra/providers/claude-terminal.js +1 -0
- package/dist/infra/providers/claude-terminal.js.map +1 -1
- package/dist/infra/providers/claude.d.ts +1 -0
- package/dist/infra/providers/claude.d.ts.map +1 -1
- package/dist/infra/providers/claude.js +2 -0
- package/dist/infra/providers/claude.js.map +1 -1
- package/dist/infra/providers/codex.d.ts +1 -0
- package/dist/infra/providers/codex.d.ts.map +1 -1
- package/dist/infra/providers/codex.js +2 -0
- package/dist/infra/providers/codex.js.map +1 -1
- package/dist/infra/providers/copilot.d.ts +1 -0
- package/dist/infra/providers/copilot.d.ts.map +1 -1
- package/dist/infra/providers/copilot.js +1 -0
- package/dist/infra/providers/copilot.js.map +1 -1
- package/dist/infra/providers/cursor.d.ts +1 -0
- package/dist/infra/providers/cursor.d.ts.map +1 -1
- package/dist/infra/providers/cursor.js +1 -0
- package/dist/infra/providers/cursor.js.map +1 -1
- package/dist/infra/providers/imageAttachmentPrompt.d.ts +4 -0
- package/dist/infra/providers/imageAttachmentPrompt.d.ts.map +1 -0
- package/dist/infra/providers/imageAttachmentPrompt.js +10 -0
- package/dist/infra/providers/imageAttachmentPrompt.js.map +1 -0
- package/dist/infra/providers/kiro.d.ts +1 -0
- package/dist/infra/providers/kiro.d.ts.map +1 -1
- package/dist/infra/providers/kiro.js +4 -0
- package/dist/infra/providers/kiro.js.map +1 -1
- package/dist/infra/providers/mock.d.ts +1 -0
- package/dist/infra/providers/mock.d.ts.map +1 -1
- package/dist/infra/providers/mock.js +1 -0
- package/dist/infra/providers/mock.js.map +1 -1
- package/dist/infra/providers/opencode.d.ts +1 -0
- package/dist/infra/providers/opencode.d.ts.map +1 -1
- package/dist/infra/providers/opencode.js +1 -0
- package/dist/infra/providers/opencode.js.map +1 -1
- package/dist/infra/providers/provider-capabilities.d.ts +1 -0
- package/dist/infra/providers/provider-capabilities.d.ts.map +1 -1
- package/dist/infra/providers/provider-capabilities.js +6 -1
- package/dist/infra/providers/provider-capabilities.js.map +1 -1
- package/dist/infra/providers/types.d.ts +6 -0
- package/dist/infra/providers/types.d.ts.map +1 -1
- package/dist/infra/task/clone-exec.d.ts +2 -0
- package/dist/infra/task/clone-exec.d.ts.map +1 -1
- package/dist/infra/task/clone-exec.js +29 -0
- package/dist/infra/task/clone-exec.js.map +1 -1
- package/dist/infra/task/clone.d.ts.map +1 -1
- package/dist/infra/task/clone.js +3 -1
- package/dist/infra/task/clone.js.map +1 -1
- package/dist/infra/task/runner.d.ts +1 -1
- package/dist/infra/task/runner.d.ts.map +1 -1
- package/dist/infra/task/runner.js +2 -2
- package/dist/infra/task/runner.js.map +1 -1
- package/dist/infra/task/taskLifecycleService.d.ts +1 -2
- package/dist/infra/task/taskLifecycleService.d.ts.map +1 -1
- package/dist/infra/task/taskLifecycleService.js +13 -19
- package/dist/infra/task/taskLifecycleService.js.map +1 -1
- package/dist/infra/task/taskRecordMutations.d.ts +0 -1
- package/dist/infra/task/taskRecordMutations.d.ts.map +1 -1
- package/dist/infra/task/taskRecordMutations.js +0 -12
- package/dist/infra/task/taskRecordMutations.js.map +1 -1
- package/dist/shared/constants.d.ts +1 -0
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +1 -0
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/i18n/labels_en.yaml +3 -1
- package/dist/shared/i18n/labels_ja.yaml +3 -1
- package/dist/shared/types/provider.d.ts +3 -1
- package/dist/shared/types/provider.d.ts.map +1 -1
- package/dist/shared/types/provider.js +15 -1
- package/dist/shared/types/provider.js.map +1 -1
- package/package.json +4 -3
|
@@ -10,6 +10,7 @@ import { createLogger, getErrorMessage } from '../../shared/utils/index.js';
|
|
|
10
10
|
import { info, error, blankLine, StreamDisplay } from '../../shared/ui/index.js';
|
|
11
11
|
import { getLabel } from '../../shared/i18n/index.js';
|
|
12
12
|
import { EXIT_SIGINT } from '../../shared/exitCodes.js';
|
|
13
|
+
import { expandImageAttachmentPlaceholders } from '../../infra/providers/imageAttachmentPrompt.js';
|
|
13
14
|
const log = createLogger('ai-caller');
|
|
14
15
|
/**
|
|
15
16
|
* Call AI with automatic retry on stale/invalid session.
|
|
@@ -17,7 +18,7 @@ const log = createLogger('ai-caller');
|
|
|
17
18
|
* On session failure, clears sessionId and retries once without session.
|
|
18
19
|
* Updates sessionId and persists it on success.
|
|
19
20
|
*/
|
|
20
|
-
export async function callAIWithRetry(prompt, systemPrompt, allowedTools, cwd, ctx) {
|
|
21
|
+
export async function callAIWithRetry(prompt, systemPrompt, allowedTools, cwd, ctx, options = {}) {
|
|
21
22
|
const display = new StreamDisplay('assistant', isQuietMode());
|
|
22
23
|
const abortController = new AbortController();
|
|
23
24
|
let sigintCount = 0;
|
|
@@ -37,13 +38,18 @@ export async function callAIWithRetry(prompt, systemPrompt, allowedTools, cwd, c
|
|
|
37
38
|
let { sessionId } = ctx;
|
|
38
39
|
try {
|
|
39
40
|
const agent = ctx.provider.setup({ name: ctx.personaName, systemPrompt });
|
|
40
|
-
const
|
|
41
|
+
const promptForProvider = expandImageAttachmentPlaceholders(prompt, options.imageAttachments);
|
|
42
|
+
const nativeImageAttachments = ctx.provider.supportsNativeImageInput
|
|
43
|
+
? options.imageAttachments
|
|
44
|
+
: undefined;
|
|
45
|
+
const response = await agent.call(promptForProvider, {
|
|
41
46
|
cwd,
|
|
42
47
|
model: ctx.model,
|
|
43
48
|
sessionId,
|
|
44
49
|
allowedTools,
|
|
45
50
|
abortSignal: abortController.signal,
|
|
46
51
|
onStream: display.createHandler(),
|
|
52
|
+
imageAttachments: nativeImageAttachments,
|
|
47
53
|
});
|
|
48
54
|
display.flush();
|
|
49
55
|
const success = response.status !== 'blocked' && response.status !== 'error';
|
|
@@ -52,13 +58,14 @@ export async function callAIWithRetry(prompt, systemPrompt, allowedTools, cwd, c
|
|
|
52
58
|
sessionId = undefined;
|
|
53
59
|
const retryDisplay = new StreamDisplay('assistant', isQuietMode());
|
|
54
60
|
const retryAgent = ctx.provider.setup({ name: ctx.personaName, systemPrompt });
|
|
55
|
-
const retry = await retryAgent.call(
|
|
61
|
+
const retry = await retryAgent.call(promptForProvider, {
|
|
56
62
|
cwd,
|
|
57
63
|
model: ctx.model,
|
|
58
64
|
sessionId: undefined,
|
|
59
65
|
allowedTools,
|
|
60
66
|
abortSignal: abortController.signal,
|
|
61
67
|
onStream: retryDisplay.createHandler(),
|
|
68
|
+
imageAttachments: nativeImageAttachments,
|
|
62
69
|
});
|
|
63
70
|
retryDisplay.flush();
|
|
64
71
|
if (retry.sessionId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiCaller.js","sourceRoot":"","sources":["../../../src/features/interactive/aiCaller.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAIxD,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"aiCaller.js","sourceRoot":"","sources":["../../../src/features/interactive/aiCaller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboardImage.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/clipboardImage.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA6FjF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,CAM/D"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import * as childProcess from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
import { mkdtemp, readFile, rm, stat } from 'node:fs/promises';
|
|
4
|
+
import * as os from 'node:os';
|
|
5
|
+
import * as path from 'node:path';
|
|
6
|
+
import { MAX_INLINE_IMAGE_BYTES } from './inlineImagePaste.js';
|
|
7
|
+
const CLIPBOARD_COMMAND_TIMEOUT_MS = 10_000;
|
|
8
|
+
const CLIPBOARD_COMMAND_MAX_BUFFER = 1024 * 1024;
|
|
9
|
+
const MACOS_CLIPBOARD_IMAGE_SCRIPT = `
|
|
10
|
+
ObjC.import('AppKit');
|
|
11
|
+
ObjC.import('Foundation');
|
|
12
|
+
|
|
13
|
+
function writePasteboardData(type, outputPath) {
|
|
14
|
+
const data = $.NSPasteboard.generalPasteboard.dataForType($(type));
|
|
15
|
+
if (!data) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (!data.writeToFileAtomically($(outputPath), true)) {
|
|
19
|
+
throw new Error('Failed to write clipboard image data.');
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function run(argv) {
|
|
25
|
+
const pngPath = argv[0];
|
|
26
|
+
const tiffPath = argv[1];
|
|
27
|
+
if (writePasteboardData('public.png', pngPath)) {
|
|
28
|
+
return 'png';
|
|
29
|
+
}
|
|
30
|
+
if (writePasteboardData('public.tiff', tiffPath)) {
|
|
31
|
+
return 'tiff';
|
|
32
|
+
}
|
|
33
|
+
throw new Error('Clipboard does not contain a PNG or TIFF image.');
|
|
34
|
+
}
|
|
35
|
+
`;
|
|
36
|
+
async function assertClipboardImageWithinLimit(filePath) {
|
|
37
|
+
const stats = await stat(filePath);
|
|
38
|
+
if (stats.size > MAX_INLINE_IMAGE_BYTES) {
|
|
39
|
+
throw new Error(`Clipboard image exceeds the ${MAX_INLINE_IMAGE_BYTES} byte limit.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async function execClipboardCommand(file, args) {
|
|
43
|
+
if (!childProcess.execFile) {
|
|
44
|
+
throw new Error('node:child_process.execFile is required to read clipboard images.');
|
|
45
|
+
}
|
|
46
|
+
const execFileAsync = promisify(childProcess.execFile);
|
|
47
|
+
return execFileAsync(file, args, {
|
|
48
|
+
timeout: CLIPBOARD_COMMAND_TIMEOUT_MS,
|
|
49
|
+
maxBuffer: CLIPBOARD_COMMAND_MAX_BUFFER,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
async function readMacOSClipboardImage() {
|
|
53
|
+
const tempDir = await mkdtemp(path.join(os.tmpdir(), 'takt-clipboard-image-'));
|
|
54
|
+
const pngPath = path.join(tempDir, 'clipboard.png');
|
|
55
|
+
const tiffPath = path.join(tempDir, 'clipboard.tiff');
|
|
56
|
+
try {
|
|
57
|
+
const { stdout } = await execClipboardCommand('osascript', [
|
|
58
|
+
'-l',
|
|
59
|
+
'JavaScript',
|
|
60
|
+
'-e',
|
|
61
|
+
MACOS_CLIPBOARD_IMAGE_SCRIPT,
|
|
62
|
+
pngPath,
|
|
63
|
+
tiffPath,
|
|
64
|
+
]);
|
|
65
|
+
if (stdout.trim() === 'tiff') {
|
|
66
|
+
await execClipboardCommand('sips', [
|
|
67
|
+
'-s',
|
|
68
|
+
'format',
|
|
69
|
+
'png',
|
|
70
|
+
tiffPath,
|
|
71
|
+
'--out',
|
|
72
|
+
pngPath,
|
|
73
|
+
]);
|
|
74
|
+
}
|
|
75
|
+
await assertClipboardImageWithinLimit(pngPath);
|
|
76
|
+
return {
|
|
77
|
+
mimeType: 'image/png',
|
|
78
|
+
data: await readFile(pngPath),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
await rm(tempDir, { recursive: true, force: true });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export async function readClipboardImage() {
|
|
86
|
+
if (process.platform !== 'darwin') {
|
|
87
|
+
throw new Error('Clipboard image paste is currently supported only on macOS.');
|
|
88
|
+
}
|
|
89
|
+
return readMacOSClipboardImage();
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=clipboardImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboardImage.js","sourceRoot":"","sources":["../../../src/features/interactive/clipboardImage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAoB,MAAM,uBAAuB,CAAC;AAEjF,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAC5C,MAAM,4BAA4B,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BpC,CAAC;AAEF,KAAK,UAAU,+BAA+B,CAAC,QAAgB;IAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,IAAI,GAAG,sBAAsB,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,+BAA+B,sBAAsB,cAAc,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,IAAc;IAC9D,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAIL,CAAC;IAEjD,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE;QAC/B,OAAO,EAAE,4BAA4B;QACrC,SAAS,EAAE,4BAA4B;KACxC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,uBAAuB;IACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE;YACzD,IAAI;YACJ,YAAY;YACZ,IAAI;YACJ,4BAA4B;YAC5B,OAAO;YACP,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,oBAAoB,CAAC,MAAM,EAAE;gBACjC,IAAI;gBACJ,QAAQ;gBACR,KAAK;gBACL,QAAQ;gBACR,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC;SAC9B,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,uBAAuB,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboardImageFeedback.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/clipboardImageFeedback.ts"],"names":[],"mappings":"AAGA,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEnE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { getErrorMessage } from '../../shared/utils/index.js';
|
|
2
|
+
import { warn } from '../../shared/ui/index.js';
|
|
3
|
+
export function reportClipboardImagePasteError(error) {
|
|
4
|
+
warn(`Clipboard image paste failed: ${getErrorMessage(error)}`);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=clipboardImageFeedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboardImageFeedback.js","sourceRoot":"","sources":["../../../src/features/interactive/clipboardImageFeedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,IAAI,CAAC,iCAAiC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversationLoop.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/conversationLoop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAG1B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAIvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"conversationLoop.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/conversationLoop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAG1B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAIvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAaxF,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAiCxF;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAQhF;AAED,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,0DAA0D;AAC1D,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2EAA2E;IAC3E,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACzE,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACtF,0EAA0E;IAC1E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0EAA0E;IAC1E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,oBAAoB,EAC9B,eAAe,EAAE,eAAe,GAAG,SAAS,EAC5C,YAAY,EAAE,oBAAoB,GAAG,SAAS,GAC7C,OAAO,CAAC,qBAAqB,CAAC,CAsNhC"}
|
|
@@ -19,7 +19,7 @@ import { buildSummaryPrompt, selectPostSummaryAction, formatSessionStatus, } fro
|
|
|
19
19
|
import { callAIWithRetry } from './aiCaller.js';
|
|
20
20
|
import { createInputLogMeta, createPlayCommandLogMeta, createSessionLogMeta, } from './conversationLogMeta.js';
|
|
21
21
|
import { prependInitialPromptContext } from './promptSections.js';
|
|
22
|
-
import { buildInteractiveResultWithAttachments, createSessionImageAttachmentStore } from './imageAttachments.js';
|
|
22
|
+
import { buildInteractiveResultWithAttachments, createSessionImageAttachmentStore, resolvePromptImageAttachments, } from './imageAttachments.js';
|
|
23
23
|
export { callAIWithRetry } from './aiCaller.js';
|
|
24
24
|
const log = createLogger('conversation-loop');
|
|
25
25
|
function resolveGoSummaryInput(history, hasSessionContext, hasSourceContext, inlineTaskText) {
|
|
@@ -79,7 +79,8 @@ export async function runConversationLoop(cwd, ctx, strategy, workflowContext, i
|
|
|
79
79
|
blankLine();
|
|
80
80
|
/** Helper: call AI with current session and update session state */
|
|
81
81
|
async function doCallAI(prompt, sysPrompt, tools) {
|
|
82
|
-
const
|
|
82
|
+
const imageAttachments = resolvePromptImageAttachments(prompt, attachmentStore.listAttachments());
|
|
83
|
+
const { result, sessionId: newSessionId } = await callAIWithRetry(prompt, sysPrompt, tools, cwd, { ...ctx, sessionId }, { imageAttachments });
|
|
83
84
|
sessionId = newSessionId;
|
|
84
85
|
return result;
|
|
85
86
|
}
|
|
@@ -188,7 +189,7 @@ export async function runConversationLoop(cwd, ctx, strategy, workflowContext, i
|
|
|
188
189
|
process.stdin.pause();
|
|
189
190
|
info(getLabel('interactive.ui.creatingInstruction', ctx.lang));
|
|
190
191
|
// Summary AI must not inherit the conversation session to avoid chat-mode behavior.
|
|
191
|
-
const { result: summaryResult } = await callAIWithRetry(summaryPrompt, summaryPrompt, strategy.allowedTools, cwd, { ...ctx, sessionId: undefined });
|
|
192
|
+
const { result: summaryResult } = await callAIWithRetry(summaryPrompt, summaryPrompt, strategy.allowedTools, cwd, { ...ctx, sessionId: undefined }, { imageAttachments: resolvePromptImageAttachments(summaryPrompt, attachmentStore.listAttachments()) });
|
|
192
193
|
if (!summaryResult) {
|
|
193
194
|
info(ui.summarizeFailed);
|
|
194
195
|
continue;
|
|
@@ -226,6 +227,10 @@ export async function runConversationLoop(cwd, ctx, strategy, workflowContext, i
|
|
|
226
227
|
}
|
|
227
228
|
continue;
|
|
228
229
|
}
|
|
230
|
+
case SlashCommand.PasteImage: {
|
|
231
|
+
info(ui.pasteImageUnavailable);
|
|
232
|
+
continue;
|
|
233
|
+
}
|
|
229
234
|
}
|
|
230
235
|
}
|
|
231
236
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversationLoop.js","sourceRoot":"","sources":["../../../src/features/interactive/conversationLoop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAOL,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAA0C,MAAM,eAAe,CAAC;AACxF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"conversationLoop.js","sourceRoot":"","sources":["../../../src/features/interactive/conversationLoop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ProviderImageAttachment } from '../../infra/providers/types.js';
|
|
1
2
|
import type { InteractiveModeResult } from './interactive.js';
|
|
2
3
|
import type { ImagePasteHandler } from './inlineImagePaste.js';
|
|
3
4
|
export interface InteractiveImageAttachment {
|
|
@@ -17,4 +18,6 @@ export declare function buildInteractiveResultWithAttachments(result: Interactiv
|
|
|
17
18
|
export declare function createImageAttachmentStore(options: ImageAttachmentStoreOptions): ImageAttachmentStore;
|
|
18
19
|
export declare function createSessionImageAttachmentStore(): ImageAttachmentStore;
|
|
19
20
|
export declare function createImagePasteHandler(attachmentStore: ImageAttachmentStore): ImagePasteHandler;
|
|
21
|
+
export declare function createClipboardImagePasteHandler(attachmentStore: ImageAttachmentStore): () => Promise<string>;
|
|
22
|
+
export declare function resolvePromptImageAttachments(prompt: string, attachments: readonly InteractiveImageAttachment[]): ProviderImageAttachment[];
|
|
20
23
|
//# sourceMappingURL=imageAttachments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageAttachments.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/imageAttachments.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"imageAttachments.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/imageAttachments.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC/E,eAAe,IAAI,0BAA0B,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AA0BD,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,qBAAqB,EAC7B,eAAe,EAAE,oBAAoB,GACpC,qBAAqB,CAMvB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,oBAAoB,CAkCtB;AAED,wBAAgB,iCAAiC,IAAI,oBAAoB,CAKxE;AAED,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,oBAAoB,GAAG,iBAAiB,CAKhG;AAED,wBAAgB,gCAAgC,CAAC,eAAe,EAAE,oBAAoB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAM7G;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,SAAS,0BAA0B,EAAE,GACjD,uBAAuB,EAAE,CAQ3B"}
|
|
@@ -2,8 +2,10 @@ import { randomUUID } from 'node:crypto';
|
|
|
2
2
|
import * as fs from 'node:fs';
|
|
3
3
|
import * as os from 'node:os';
|
|
4
4
|
import * as path from 'node:path';
|
|
5
|
+
import { readClipboardImage } from './clipboardImage.js';
|
|
5
6
|
const PRIVATE_DIRECTORY_MODE = 0o700;
|
|
6
7
|
const PRIVATE_FILE_MODE = 0o600;
|
|
8
|
+
const IMAGE_PLACEHOLDER_PATTERN = /\[Image #\d+\]/g;
|
|
7
9
|
function extensionForMimeType(mimeType) {
|
|
8
10
|
switch (mimeType) {
|
|
9
11
|
case 'image/png':
|
|
@@ -72,4 +74,20 @@ export function createImagePasteHandler(attachmentStore) {
|
|
|
72
74
|
return attachment.placeholder;
|
|
73
75
|
};
|
|
74
76
|
}
|
|
77
|
+
export function createClipboardImagePasteHandler(attachmentStore) {
|
|
78
|
+
return async () => {
|
|
79
|
+
const image = await readClipboardImage();
|
|
80
|
+
const attachment = await attachmentStore.saveImage(image.data, image.mimeType);
|
|
81
|
+
return attachment.placeholder;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export function resolvePromptImageAttachments(prompt, attachments) {
|
|
85
|
+
const referencedPlaceholders = new Set(prompt.match(IMAGE_PLACEHOLDER_PATTERN) ?? []);
|
|
86
|
+
return attachments
|
|
87
|
+
.filter((attachment) => referencedPlaceholders.has(attachment.placeholder))
|
|
88
|
+
.map((attachment) => ({
|
|
89
|
+
placeholder: attachment.placeholder,
|
|
90
|
+
path: attachment.tempPath,
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
75
93
|
//# sourceMappingURL=imageAttachments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageAttachments.js","sourceRoot":"","sources":["../../../src/features/interactive/imageAttachments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"imageAttachments.js","sourceRoot":"","sources":["../../../src/features/interactive/imageAttachments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAUrC,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAExE,mCAAmC;AACnC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/interactive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../src/features/interactive/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAEL,kBAAkB,EAIlB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAA0B,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../src/features/interactive/interactive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveInput.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/interactiveInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGlE,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAqB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,
|
|
1
|
+
{"version":3,"file":"interactiveInput.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/interactiveInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGlE,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAqB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAA6D,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7H;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,EACd,MAAM,QAAQ,EACd,eAAe,mBAAmB,KACjC,SAAS,mBAAmB,EAK1B,CAAC;AAyBN;;GAEG;AACH,eAAO,MAAM,oCAAoC,GAC/C,MAAM,QAAQ,EACd,eAAe,mBAAmB,KACjC,kBAcA,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,EACd,MAAM,QAAQ,EACd,eAAe,mBAAmB,EAClC,uBAAuB,oBAAoB,KAC1C,OAAO,CAAC,MAAM,GAAG,IAAI,CAQpB,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getLabel } from '../../shared/i18n/index.js';
|
|
2
2
|
import { readMultilineInput } from './lineEditor.js';
|
|
3
3
|
import { filterSlashCommands } from './slashCommandRegistry.js';
|
|
4
|
-
import { createImagePasteHandler } from './imageAttachments.js';
|
|
4
|
+
import { createClipboardImagePasteHandler, createImagePasteHandler } from './imageAttachments.js';
|
|
5
|
+
import { reportClipboardImagePasteError } from './clipboardImageFeedback.js';
|
|
5
6
|
/**
|
|
6
7
|
* Build localized slash-command completion candidates for the current input.
|
|
7
8
|
*/
|
|
@@ -54,6 +55,8 @@ export const readInteractiveInput = (prompt, lang, availability, imageAttachment
|
|
|
54
55
|
completionProvider: createSlashCommandCompletionProvider(lang, availability),
|
|
55
56
|
...(imageAttachmentStore ? {
|
|
56
57
|
onImagePaste: createImagePasteHandler(imageAttachmentStore),
|
|
58
|
+
onClipboardImagePaste: createClipboardImagePasteHandler(imageAttachmentStore),
|
|
59
|
+
onClipboardImagePasteError: reportClipboardImagePasteError,
|
|
57
60
|
} : {}),
|
|
58
61
|
});
|
|
59
62
|
//# sourceMappingURL=interactiveInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveInput.js","sourceRoot":"","sources":["../../../src/features/interactive/interactiveInput.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAA4B,MAAM,2BAA2B,CAAC;AAE1F,OAAO,EAAE,uBAAuB,EAA6B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"interactiveInput.js","sourceRoot":"","sources":["../../../src/features/interactive/interactiveInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,21 +8,22 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { CompletionProvider } from './completionMenu.js';
|
|
10
10
|
import { type ImagePasteHandler } from './inlineImagePaste.js';
|
|
11
|
+
type InputCallbackResult = void | Promise<void>;
|
|
11
12
|
/** Callbacks for parsed input events */
|
|
12
13
|
export interface InputCallbacks {
|
|
13
|
-
onPasteStart: () =>
|
|
14
|
-
onPasteEnd: () =>
|
|
15
|
-
onShiftEnter: () =>
|
|
16
|
-
onArrowLeft: () =>
|
|
17
|
-
onArrowRight: () =>
|
|
18
|
-
onArrowUp: () =>
|
|
19
|
-
onArrowDown: () =>
|
|
20
|
-
onWordLeft: () =>
|
|
21
|
-
onWordRight: () =>
|
|
22
|
-
onHome: () =>
|
|
23
|
-
onEnd: () =>
|
|
24
|
-
onEsc: () =>
|
|
25
|
-
onChar: (ch: string) =>
|
|
14
|
+
onPasteStart: () => InputCallbackResult;
|
|
15
|
+
onPasteEnd: () => InputCallbackResult;
|
|
16
|
+
onShiftEnter: () => InputCallbackResult;
|
|
17
|
+
onArrowLeft: () => InputCallbackResult;
|
|
18
|
+
onArrowRight: () => InputCallbackResult;
|
|
19
|
+
onArrowUp: () => InputCallbackResult;
|
|
20
|
+
onArrowDown: () => InputCallbackResult;
|
|
21
|
+
onWordLeft: () => InputCallbackResult;
|
|
22
|
+
onWordRight: () => InputCallbackResult;
|
|
23
|
+
onHome: () => InputCallbackResult;
|
|
24
|
+
onEnd: () => InputCallbackResult;
|
|
25
|
+
onEsc: () => InputCallbackResult;
|
|
26
|
+
onChar: (ch: string) => InputCallbackResult;
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
28
29
|
* Parse raw stdin data into semantic input events.
|
|
@@ -38,7 +39,7 @@ export declare function parseInputData(data: string, callbacks: InputCallbacks):
|
|
|
38
39
|
* when the next chunk arrives or after a timeout.
|
|
39
40
|
*/
|
|
40
41
|
export declare const createEscapeParser: (callbacks: InputCallbacks) => {
|
|
41
|
-
feed: (data: string) => void
|
|
42
|
+
feed: (data: string) => Promise<void>;
|
|
42
43
|
flush: () => void;
|
|
43
44
|
};
|
|
44
45
|
/**
|
|
@@ -56,5 +57,8 @@ export declare const createEscapeParser: (callbacks: InputCallbacks) => {
|
|
|
56
57
|
export declare function readMultilineInput(prompt: string, options?: {
|
|
57
58
|
completionProvider?: CompletionProvider;
|
|
58
59
|
onImagePaste?: ImagePasteHandler;
|
|
60
|
+
onClipboardImagePaste?: () => Promise<string>;
|
|
61
|
+
onClipboardImagePasteError?: (error: unknown) => void;
|
|
59
62
|
}): Promise<string | null>;
|
|
63
|
+
export {};
|
|
60
64
|
//# sourceMappingURL=lineEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineEditor.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/lineEditor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"lineEditor.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/lineEditor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAmB/B,KAAK,mBAAmB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAgEhD,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,mBAAmB,CAAC;IACxC,UAAU,EAAE,MAAM,mBAAmB,CAAC;IACtC,YAAY,EAAE,MAAM,mBAAmB,CAAC;IACxC,WAAW,EAAE,MAAM,mBAAmB,CAAC;IACvC,YAAY,EAAE,MAAM,mBAAmB,CAAC;IACxC,SAAS,EAAE,MAAM,mBAAmB,CAAC;IACrC,WAAW,EAAE,MAAM,mBAAmB,CAAC;IACvC,UAAU,EAAE,MAAM,mBAAmB,CAAC;IACtC,WAAW,EAAE,MAAM,mBAAmB,CAAC;IACvC,MAAM,EAAE,MAAM,mBAAmB,CAAC;IAClC,KAAK,EAAE,MAAM,mBAAmB,CAAC;IACjC,KAAK,EAAE,MAAM,mBAAmB,CAAC;IACjC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,mBAAmB,CAAC;CAC7C;AAkGD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI,CAuB5E;AAID;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,WAAW,cAAc,KACxB;IAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CA0D5D,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAizBxB"}
|