very-happy-cli 0.2.128 → 0.2.129
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/{AcpBackend-D7987ody.mjs → AcpBackend-MAU4POiE.mjs} +16 -4
- package/dist/{AcpBackend-BYU6J2n0.cjs → AcpBackend-kU2VqiYx.cjs} +16 -4
- package/dist/{AcpSessionManager-artXJgqb.cjs → AcpSessionManager-BWasT5jq.cjs} +1 -1
- package/dist/{AcpSessionManager-BwrjVZyn.mjs → AcpSessionManager-uSGDDRqF.mjs} +1 -1
- package/dist/{agentGuidance-B1xYgHx6.cjs → agentGuidance-B1PsijGg.cjs} +1 -1
- package/dist/{agentGuidance-BPGPaNlo.mjs → agentGuidance-DlZ5s0Om.mjs} +1 -1
- package/dist/codex/happyMcpStdioBridge.cjs +2 -2
- package/dist/codex/happyMcpStdioBridge.mjs +2 -2
- package/dist/{config-Dmkzs3o4.cjs → config-DswZvA8V.cjs} +4 -4
- package/dist/{config-DSBE0Az0.mjs → config-_DKtp9qs.mjs} +4 -4
- package/dist/{index-35FahgEU.mjs → index-1QwKRLYG.mjs} +4 -4
- package/dist/{index-D_YVlpsW.cjs → index-BdZ7Dlg0.cjs} +184 -86
- package/dist/{index-m0Dnccc_.mjs → index-FMMrmSa2.mjs} +115 -32
- package/dist/{index-vyTJsT_R.cjs → index-dqKLs4dZ.cjs} +114 -31
- package/dist/{index-CJmXLSQc.cjs → index-lwOIU7K9.cjs} +4 -4
- package/dist/{index-CfM6ewd8.mjs → index-tr2Fqhby.mjs} +177 -83
- package/dist/index.cjs +4 -4
- package/dist/index.mjs +4 -4
- package/dist/{installTerminalHooks-ClrFe2fA.mjs → installTerminalHooks-B3a0ugvz.mjs} +4 -4
- package/dist/{installTerminalHooks-C1zwiJJ2.cjs → installTerminalHooks-CV2LAKXO.cjs} +4 -4
- package/dist/lib.cjs +2 -2
- package/dist/lib.d.cts +5 -0
- package/dist/lib.d.mts +5 -0
- package/dist/lib.mjs +2 -2
- package/dist/{limits-CrwtFbi8.cjs → limits-B5wJ5Slz.cjs} +7 -7
- package/dist/{limits-BNTLh2lw.mjs → limits-C41sn_OJ.mjs} +7 -7
- package/dist/{mcp-Bc_mmJt8.cjs → mcp-B7lwVQT8.cjs} +4 -4
- package/dist/{mcp-BsohER5A.mjs → mcp-BHNVwrwS.mjs} +4 -4
- package/dist/{runGemini-B9S85Vms.mjs → runGemini-FNZrH8yX.mjs} +6 -6
- package/dist/{runGemini-B2GesRWm.cjs → runGemini-gbflWQ3_.cjs} +6 -6
- package/dist/{runOpenClaw-Byhq-B1y.mjs → runOpenClaw-3EF_Rqv_.mjs} +5 -5
- package/dist/{runOpenClaw-DCK-R8qe.cjs → runOpenClaw-CmhYI7OB.cjs} +5 -5
- package/dist/{send-DQS1zNWp.mjs → send-DV7IeBAv.mjs} +4 -4
- package/dist/{send-CPdT1nOg.cjs → send-DqedYZtc.cjs} +4 -4
- package/dist/{sessions-DC0IKaD9.cjs → sessions-Bz243hZ9.cjs} +4 -4
- package/dist/{sessions-DIOdWnPe.mjs → sessions-ieB0bLb5.mjs} +4 -4
- package/dist/{spawn-DrnCW2QK.cjs → spawn-BXwwueEs.cjs} +4 -4
- package/dist/{spawn-DV4pIAHZ.mjs → spawn-CcqzmjhT.mjs} +4 -4
- package/dist/{teams-CwXEJs9I.cjs → teams-BtI6h4Dw.cjs} +4 -4
- package/dist/{teams-DlTHOiCk.mjs → teams-Bx79Wr9-.mjs} +4 -4
- package/dist/{todo-DrME15xq.cjs → todo-B-Kj9lXl.cjs} +3 -3
- package/dist/{todo-BwXURAbQ.mjs → todo-CGRuBaiH.mjs} +3 -3
- package/dist/{types-DfatCoQL.cjs → types-Ba9u0uZL.cjs} +19 -5
- package/dist/{types-CFs8FmiY.mjs → types-BvYEAHds.mjs} +19 -5
- package/package.json +7 -7
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { ndJsonStream, ClientSideConnection } from '@agentclientprotocol/sdk';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
|
-
import { l as logger, p as packageJson } from './limits-
|
|
5
|
-
import { d as contentLogMetadata, e as errorLogMetadata,
|
|
4
|
+
import { l as logger, p as packageJson } from './limits-C41sn_OJ.mjs';
|
|
5
|
+
import { d as contentLogMetadata, e as errorLogMetadata, h as delay } from './types-BvYEAHds.mjs';
|
|
6
|
+
|
|
7
|
+
function acpImageBlocks(attachments, supportsImages) {
|
|
8
|
+
return attachments.filter((file) => ["image/jpeg", "image/png", "image/gif", "image/webp"].includes(file.mimeType)).map((file) => {
|
|
9
|
+
if (!supportsImages) throw new Error("This ACP agent does not support image prompts");
|
|
10
|
+
return { type: "image", data: Buffer.from(file.data).toString("base64"), mimeType: file.mimeType };
|
|
11
|
+
});
|
|
12
|
+
}
|
|
6
13
|
|
|
7
14
|
const DEFAULT_TIMEOUTS = {
|
|
8
15
|
/** Default initialization timeout: 60 seconds */
|
|
@@ -918,6 +925,7 @@ class AcpBackend {
|
|
|
918
925
|
clearTimeout(timeoutHandle);
|
|
919
926
|
timeoutHandle = null;
|
|
920
927
|
}
|
|
928
|
+
this.supportsImagePrompt = res.agentCapabilities?.promptCapabilities?.image === true;
|
|
921
929
|
return res;
|
|
922
930
|
}),
|
|
923
931
|
new Promise((_, reject) => {
|
|
@@ -1166,7 +1174,11 @@ class AcpBackend {
|
|
|
1166
1174
|
// Promise resolver for waitForIdle - set when waiting for response to complete
|
|
1167
1175
|
idleResolver = null;
|
|
1168
1176
|
waitingForResponse = false;
|
|
1169
|
-
|
|
1177
|
+
supportsImagePrompt = false;
|
|
1178
|
+
get supportsImageAttachments() {
|
|
1179
|
+
return this.supportsImagePrompt;
|
|
1180
|
+
}
|
|
1181
|
+
async sendPrompt(sessionId, prompt, attachments = []) {
|
|
1170
1182
|
const promptHasChangeTitle = this.options.hasChangeTitleInstruction?.(prompt) ?? false;
|
|
1171
1183
|
this.toolCallCountSincePrompt = 0;
|
|
1172
1184
|
this.recentPromptHadChangeTitle = promptHasChangeTitle;
|
|
@@ -1192,7 +1204,7 @@ class AcpBackend {
|
|
|
1192
1204
|
};
|
|
1193
1205
|
const promptRequest = {
|
|
1194
1206
|
sessionId: this.acpSessionId,
|
|
1195
|
-
prompt: [contentBlock]
|
|
1207
|
+
prompt: [contentBlock, ...acpImageBlocks(attachments, this.supportsImagePrompt)]
|
|
1196
1208
|
};
|
|
1197
1209
|
logger.debug("[AcpBackend] Prompt request prepared:", {
|
|
1198
1210
|
sessionId: this.acpSessionId,
|
|
@@ -3,8 +3,15 @@
|
|
|
3
3
|
var node_child_process = require('node:child_process');
|
|
4
4
|
var sdk = require('@agentclientprotocol/sdk');
|
|
5
5
|
var node_crypto = require('node:crypto');
|
|
6
|
-
var persistence = require('./limits-
|
|
7
|
-
var api = require('./types-
|
|
6
|
+
var persistence = require('./limits-B5wJ5Slz.cjs');
|
|
7
|
+
var api = require('./types-Ba9u0uZL.cjs');
|
|
8
|
+
|
|
9
|
+
function acpImageBlocks(attachments, supportsImages) {
|
|
10
|
+
return attachments.filter((file) => ["image/jpeg", "image/png", "image/gif", "image/webp"].includes(file.mimeType)).map((file) => {
|
|
11
|
+
if (!supportsImages) throw new Error("This ACP agent does not support image prompts");
|
|
12
|
+
return { type: "image", data: Buffer.from(file.data).toString("base64"), mimeType: file.mimeType };
|
|
13
|
+
});
|
|
14
|
+
}
|
|
8
15
|
|
|
9
16
|
const DEFAULT_TIMEOUTS = {
|
|
10
17
|
/** Default initialization timeout: 60 seconds */
|
|
@@ -920,6 +927,7 @@ class AcpBackend {
|
|
|
920
927
|
clearTimeout(timeoutHandle);
|
|
921
928
|
timeoutHandle = null;
|
|
922
929
|
}
|
|
930
|
+
this.supportsImagePrompt = res.agentCapabilities?.promptCapabilities?.image === true;
|
|
923
931
|
return res;
|
|
924
932
|
}),
|
|
925
933
|
new Promise((_, reject) => {
|
|
@@ -1168,7 +1176,11 @@ class AcpBackend {
|
|
|
1168
1176
|
// Promise resolver for waitForIdle - set when waiting for response to complete
|
|
1169
1177
|
idleResolver = null;
|
|
1170
1178
|
waitingForResponse = false;
|
|
1171
|
-
|
|
1179
|
+
supportsImagePrompt = false;
|
|
1180
|
+
get supportsImageAttachments() {
|
|
1181
|
+
return this.supportsImagePrompt;
|
|
1182
|
+
}
|
|
1183
|
+
async sendPrompt(sessionId, prompt, attachments = []) {
|
|
1172
1184
|
const promptHasChangeTitle = this.options.hasChangeTitleInstruction?.(prompt) ?? false;
|
|
1173
1185
|
this.toolCallCountSincePrompt = 0;
|
|
1174
1186
|
this.recentPromptHadChangeTitle = promptHasChangeTitle;
|
|
@@ -1194,7 +1206,7 @@ class AcpBackend {
|
|
|
1194
1206
|
};
|
|
1195
1207
|
const promptRequest = {
|
|
1196
1208
|
sessionId: this.acpSessionId,
|
|
1197
|
-
prompt: [contentBlock]
|
|
1209
|
+
prompt: [contentBlock, ...acpImageBlocks(attachments, this.supportsImagePrompt)]
|
|
1198
1210
|
};
|
|
1199
1211
|
persistence.logger.debug("[AcpBackend] Prompt request prepared:", {
|
|
1200
1212
|
sessionId: this.acpSessionId,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createId } from '@paralleldrive/cuid2';
|
|
2
|
-
import { s as streamKeyOf, c as createEnvelope } from './types-
|
|
2
|
+
import { s as streamKeyOf, c as createEnvelope } from './types-BvYEAHds.mjs';
|
|
3
3
|
|
|
4
4
|
function turnOptions(turnId, time) {
|
|
5
5
|
return turnId ? { turn: turnId, time } : { time };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var z = require('zod');
|
|
4
4
|
var node_crypto = require('node:crypto');
|
|
5
|
-
var persistence = require('./limits-
|
|
5
|
+
var persistence = require('./limits-B5wJ5Slz.cjs');
|
|
6
6
|
var promises = require('node:fs/promises');
|
|
7
7
|
var node_fs = require('node:fs');
|
|
8
8
|
var path = require('node:path');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
|
-
import { n as normalizeHttpEndpoint, c as configuration, g as readSettings, r as readPersistedSessions, d as readCredentialsForConfiguredRelay } from './limits-
|
|
3
|
+
import { n as normalizeHttpEndpoint, c as configuration, g as readSettings, r as readPersistedSessions, d as readCredentialsForConfiguredRelay } from './limits-C41sn_OJ.mjs';
|
|
4
4
|
import { open, mkdir, rename, unlink } from 'node:fs/promises';
|
|
5
5
|
import { constants } from 'node:fs';
|
|
6
6
|
import { isAbsolute, join, dirname } from 'node:path';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var agentGuidance = require('../agentGuidance-
|
|
3
|
+
var agentGuidance = require('../agentGuidance-B1PsijGg.cjs');
|
|
4
4
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
5
5
|
var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
6
6
|
var index_js = require('@modelcontextprotocol/sdk/client/index.js');
|
|
7
7
|
var streamableHttp_js = require('@modelcontextprotocol/sdk/client/streamableHttp.js');
|
|
8
8
|
var z = require('zod');
|
|
9
|
-
var persistence = require('../limits-
|
|
9
|
+
var persistence = require('../limits-B5wJ5Slz.cjs');
|
|
10
10
|
require('node:crypto');
|
|
11
11
|
require('node:fs/promises');
|
|
12
12
|
require('node:fs');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, r as registerTeamsTools } from '../agentGuidance-
|
|
1
|
+
import { P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, r as registerTeamsTools } from '../agentGuidance-DlZ5s0Om.mjs';
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
5
5
|
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
6
6
|
import { z } from 'zod';
|
|
7
|
-
import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION } from '../limits-
|
|
7
|
+
import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION } from '../limits-C41sn_OJ.mjs';
|
|
8
8
|
import 'node:crypto';
|
|
9
9
|
import 'node:fs/promises';
|
|
10
10
|
import 'node:fs';
|
|
@@ -4,8 +4,8 @@ var fs = require('fs');
|
|
|
4
4
|
var path = require('path');
|
|
5
5
|
var os = require('os');
|
|
6
6
|
var child_process = require('child_process');
|
|
7
|
-
var persistence = require('./limits-
|
|
8
|
-
var index = require('./index-
|
|
7
|
+
var persistence = require('./limits-B5wJ5Slz.cjs');
|
|
8
|
+
var index = require('./index-BdZ7Dlg0.cjs');
|
|
9
9
|
require('node:fs/promises');
|
|
10
10
|
require('node:fs');
|
|
11
11
|
require('node:os');
|
|
@@ -15,7 +15,7 @@ require('node:crypto');
|
|
|
15
15
|
require('tweetnacl');
|
|
16
16
|
require('chalk');
|
|
17
17
|
require('node:util');
|
|
18
|
-
require('./types-
|
|
18
|
+
require('./types-Ba9u0uZL.cjs');
|
|
19
19
|
require('axios');
|
|
20
20
|
require('node:events');
|
|
21
21
|
require('socket.io-client');
|
|
@@ -30,7 +30,7 @@ require('node-pty');
|
|
|
30
30
|
require('node:readline');
|
|
31
31
|
require('@anthropic-ai/sandbox-runtime');
|
|
32
32
|
require('expo-server-sdk');
|
|
33
|
-
require('./agentGuidance-
|
|
33
|
+
require('./agentGuidance-B1PsijGg.cjs');
|
|
34
34
|
require('ink');
|
|
35
35
|
require('react');
|
|
36
36
|
require('@anthropic-ai/claude-agent-sdk');
|
|
@@ -2,8 +2,8 @@ import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
|
|
|
2
2
|
import { join } from 'path';
|
|
3
3
|
import { homedir } from 'os';
|
|
4
4
|
import { execSync } from 'child_process';
|
|
5
|
-
import { l as logger } from './limits-
|
|
6
|
-
import { j as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-
|
|
5
|
+
import { l as logger } from './limits-C41sn_OJ.mjs';
|
|
6
|
+
import { j as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-tr2Fqhby.mjs';
|
|
7
7
|
import 'node:fs/promises';
|
|
8
8
|
import 'node:fs';
|
|
9
9
|
import 'node:os';
|
|
@@ -13,7 +13,7 @@ import 'node:crypto';
|
|
|
13
13
|
import 'tweetnacl';
|
|
14
14
|
import 'chalk';
|
|
15
15
|
import 'node:util';
|
|
16
|
-
import './types-
|
|
16
|
+
import './types-BvYEAHds.mjs';
|
|
17
17
|
import 'axios';
|
|
18
18
|
import 'node:events';
|
|
19
19
|
import 'socket.io-client';
|
|
@@ -28,7 +28,7 @@ import 'node-pty';
|
|
|
28
28
|
import 'node:readline';
|
|
29
29
|
import '@anthropic-ai/sandbox-runtime';
|
|
30
30
|
import 'expo-server-sdk';
|
|
31
|
-
import './agentGuidance-
|
|
31
|
+
import './agentGuidance-DlZ5s0Om.mjs';
|
|
32
32
|
import 'ink';
|
|
33
33
|
import 'react';
|
|
34
34
|
import '@anthropic-ai/claude-agent-sdk';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { q as query } from './index-
|
|
1
|
+
import { q as query } from './index-tr2Fqhby.mjs';
|
|
2
2
|
export { AbortError } from '@anthropic-ai/claude-agent-sdk';
|
|
3
3
|
import 'chalk';
|
|
4
4
|
import 'node:os';
|
|
5
5
|
import 'node:crypto';
|
|
6
|
-
import './types-
|
|
6
|
+
import './types-BvYEAHds.mjs';
|
|
7
7
|
import 'axios';
|
|
8
|
-
import './limits-
|
|
8
|
+
import './limits-C41sn_OJ.mjs';
|
|
9
9
|
import 'node:fs/promises';
|
|
10
10
|
import 'node:fs';
|
|
11
11
|
import 'node:path';
|
|
@@ -29,7 +29,7 @@ import 'fs';
|
|
|
29
29
|
import 'node:readline';
|
|
30
30
|
import '@anthropic-ai/sandbox-runtime';
|
|
31
31
|
import 'expo-server-sdk';
|
|
32
|
-
import './agentGuidance-
|
|
32
|
+
import './agentGuidance-DlZ5s0Om.mjs';
|
|
33
33
|
import 'ink';
|
|
34
34
|
import 'react';
|
|
35
35
|
import 'ps-list';
|