visionclaw 0.1.35 → 0.1.36

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 (84) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/agent/client-factory.d.ts +32 -0
  3. package/dist/agent/client-factory.d.ts.map +1 -0
  4. package/dist/agent/client-factory.js +68 -0
  5. package/dist/agent/client-factory.js.map +1 -0
  6. package/dist/agent/fast-responder.d.ts +2 -1
  7. package/dist/agent/fast-responder.d.ts.map +1 -1
  8. package/dist/agent/fast-responder.js +4 -6
  9. package/dist/agent/fast-responder.js.map +1 -1
  10. package/dist/agent/loop.d.ts +1 -0
  11. package/dist/agent/loop.d.ts.map +1 -1
  12. package/dist/agent/loop.js +38 -8
  13. package/dist/agent/loop.js.map +1 -1
  14. package/dist/agent/mailbox.d.ts +28 -0
  15. package/dist/agent/mailbox.d.ts.map +1 -0
  16. package/dist/agent/mailbox.js +73 -0
  17. package/dist/agent/mailbox.js.map +1 -0
  18. package/dist/agent/session-manager.d.ts +69 -0
  19. package/dist/agent/session-manager.d.ts.map +1 -0
  20. package/dist/agent/session-manager.js +160 -0
  21. package/dist/agent/session-manager.js.map +1 -0
  22. package/dist/agent/session.d.ts +0 -1
  23. package/dist/agent/session.d.ts.map +1 -1
  24. package/dist/agent/session.js +5 -11
  25. package/dist/agent/session.js.map +1 -1
  26. package/dist/agent/system-prompt.d.ts.map +1 -1
  27. package/dist/agent/system-prompt.js +15 -4
  28. package/dist/agent/system-prompt.js.map +1 -1
  29. package/dist/channels/discord.d.ts.map +1 -1
  30. package/dist/channels/discord.js +17 -0
  31. package/dist/channels/discord.js.map +1 -1
  32. package/dist/channels/interface.d.ts +17 -0
  33. package/dist/channels/interface.d.ts.map +1 -1
  34. package/dist/channels/manager.d.ts.map +1 -1
  35. package/dist/channels/manager.js +6 -0
  36. package/dist/channels/manager.js.map +1 -1
  37. package/dist/channels/telegram.d.ts.map +1 -1
  38. package/dist/channels/telegram.js +18 -0
  39. package/dist/channels/telegram.js.map +1 -1
  40. package/dist/config/types.d.ts +16 -1
  41. package/dist/config/types.d.ts.map +1 -1
  42. package/dist/config/types.js +9 -1
  43. package/dist/config/types.js.map +1 -1
  44. package/dist/email/gmail-email.d.ts +4 -0
  45. package/dist/email/gmail-email.d.ts.map +1 -1
  46. package/dist/email/gmail-email.js +8 -0
  47. package/dist/email/gmail-email.js.map +1 -1
  48. package/dist/index.js +5 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/onboarding/index.d.ts.map +1 -1
  51. package/dist/onboarding/index.js +84 -10
  52. package/dist/onboarding/index.js.map +1 -1
  53. package/dist/onboarding/onboarding-session.d.ts.map +1 -1
  54. package/dist/onboarding/onboarding-session.js +4 -7
  55. package/dist/onboarding/onboarding-session.js.map +1 -1
  56. package/dist/onboarding/onboarding-tools.d.ts.map +1 -1
  57. package/dist/onboarding/onboarding-tools.js +2 -1
  58. package/dist/onboarding/onboarding-tools.js.map +1 -1
  59. package/dist/reconfigure.d.ts.map +1 -1
  60. package/dist/reconfigure.js +151 -8
  61. package/dist/reconfigure.js.map +1 -1
  62. package/dist/tools/computer-use.d.ts.map +1 -1
  63. package/dist/tools/computer-use.js +21 -19
  64. package/dist/tools/computer-use.js.map +1 -1
  65. package/dist/tools/coordinate-resolver.d.ts +2 -1
  66. package/dist/tools/coordinate-resolver.d.ts.map +1 -1
  67. package/dist/tools/coordinate-resolver.js +4 -5
  68. package/dist/tools/coordinate-resolver.js.map +1 -1
  69. package/dist/tools/email.d.ts +2 -0
  70. package/dist/tools/email.d.ts.map +1 -1
  71. package/dist/tools/email.js +15 -6
  72. package/dist/tools/email.js.map +1 -1
  73. package/dist/tools/index.d.ts.map +1 -1
  74. package/dist/tools/index.js +0 -2
  75. package/dist/tools/index.js.map +1 -1
  76. package/dist/tools/switch-session.d.ts +10 -0
  77. package/dist/tools/switch-session.d.ts.map +1 -0
  78. package/dist/tools/switch-session.js +31 -0
  79. package/dist/tools/switch-session.js.map +1 -0
  80. package/dist/tools/web-search.d.ts +2 -0
  81. package/dist/tools/web-search.d.ts.map +1 -0
  82. package/dist/tools/web-search.js +2 -0
  83. package/dist/tools/web-search.js.map +1 -0
  84. package/package.json +4 -3
package/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ ## [0.1.36](https://github.com/babelcloud/visionclaw/compare/v0.1.35...v0.1.36) (2026-02-25)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * adjust restart delay and enhance onboarding documentation ([7af3019](https://github.com/babelcloud/visionclaw/commit/7af30193b2bb9f6d36765ebe4fc56ba3e8339943))
7
+
8
+
9
+ ### Features
10
+
11
+ * add console URL handling and request support ([30ee109](https://github.com/babelcloud/visionclaw/commit/30ee10970219e8aeb6957d1841db7afc96c4461d))
12
+ * add SerpApi key update functionality to reconfiguration CLI ([020d918](https://github.com/babelcloud/visionclaw/commit/020d9181bbaed9c72b02614b2090e7ce7a56682c))
13
+ * enhance agent loop and system prompt for Bedrock provider support ([1c3dc20](https://github.com/babelcloud/visionclaw/commit/1c3dc20b15dc5dd630ebd7190479e01588723424))
14
+ * enhance email functionality with CC and BCC support ([c2c46ad](https://github.com/babelcloud/visionclaw/commit/c2c46addffdbbb7b95c315d2a036cfa2a7a1d760))
15
+ * implement sleep request handling and update command interfaces ([ab13651](https://github.com/babelcloud/visionclaw/commit/ab13651f95d66ad0903f06f5cdab35f5d48e027d))
16
+ * integrate Bedrock provider support and enhance configuration options ([f83bd8f](https://github.com/babelcloud/visionclaw/commit/f83bd8fc52f2bc3160e07c57bc0f24991c301182))
17
+ * update reconfiguration CLI to use text input for AWS credentials ([e225f9f](https://github.com/babelcloud/visionclaw/commit/e225f9fcc8c9f23caf4227a048b8e3744075c4ac))
18
+
19
+
20
+
1
21
  ## [0.1.35](https://github.com/babelcloud/visionclaw/compare/v0.1.34...v0.1.35) (2026-02-24)
2
22
 
3
23
 
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Factory for creating the correct Anthropic client (direct API vs Bedrock)
3
+ * and resolving provider-specific model IDs.
4
+ */
5
+ import Anthropic from "@anthropic-ai/sdk";
6
+ import type { VisionClawConfig } from "../config/types.js";
7
+ /**
8
+ * Create an Anthropic-compatible client based on the provider in the config.
9
+ *
10
+ * - `"anthropic"`: uses the direct API with `anthropicApiKey`.
11
+ * - `"bedrock"`: uses `AnthropicBedrock` with explicit AWS credentials when
12
+ * provided, otherwise falls back to the default AWS credential provider chain.
13
+ */
14
+ export declare function createClient(config: VisionClawConfig): Anthropic;
15
+ /**
16
+ * Return the correct model identifier for direct SDK calls
17
+ * (fast-responder, coordinate-resolver, etc.).
18
+ *
19
+ * Agent SDK `query()` calls do NOT need this — the SDK maps models
20
+ * internally when `CLAUDE_CODE_USE_BEDROCK=1` is set.
21
+ */
22
+ export declare function getModelId(config: VisionClawConfig): string;
23
+ /**
24
+ * Build the `env` record for the Agent SDK `query()` options.
25
+ *
26
+ * - Anthropic: passes `ANTHROPIC_API_KEY`.
27
+ * - Bedrock: passes `CLAUDE_CODE_USE_BEDROCK`, `AWS_REGION`,
28
+ * `AWS_BEARER_TOKEN_BEDROCK` (for the Claude Code CLI), and IAM
29
+ * credentials when available.
30
+ */
31
+ export declare function buildAgentEnv(config: VisionClawConfig): Record<string, string | undefined>;
32
+ //# sourceMappingURL=client-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-factory.d.ts","sourceRoot":"","sources":["../../src/agent/client-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAchE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAE3D;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAgB1F"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Factory for creating the correct Anthropic client (direct API vs Bedrock)
3
+ * and resolving provider-specific model IDs.
4
+ */
5
+ import Anthropic from "@anthropic-ai/sdk";
6
+ import { AnthropicBedrock } from "@anthropic-ai/bedrock-sdk";
7
+ const ANTHROPIC_MODEL = "claude-sonnet-4-6";
8
+ const BEDROCK_MODEL = "us.anthropic.claude-sonnet-4-6";
9
+ /**
10
+ * Create an Anthropic-compatible client based on the provider in the config.
11
+ *
12
+ * - `"anthropic"`: uses the direct API with `anthropicApiKey`.
13
+ * - `"bedrock"`: uses `AnthropicBedrock` with explicit AWS credentials when
14
+ * provided, otherwise falls back to the default AWS credential provider chain.
15
+ */
16
+ export function createClient(config) {
17
+ if (config.provider === "bedrock") {
18
+ const region = config.awsRegion ?? "us-west-2";
19
+ if (config.awsAccessKeyId && config.awsSecretAccessKey) {
20
+ return new AnthropicBedrock({
21
+ awsRegion: region,
22
+ awsAccessKey: config.awsAccessKeyId,
23
+ awsSecretKey: config.awsSecretAccessKey,
24
+ awsSessionToken: config.awsSessionToken ?? null,
25
+ });
26
+ }
27
+ return new AnthropicBedrock({ awsRegion: region });
28
+ }
29
+ return new Anthropic({ apiKey: config.anthropicApiKey });
30
+ }
31
+ /**
32
+ * Return the correct model identifier for direct SDK calls
33
+ * (fast-responder, coordinate-resolver, etc.).
34
+ *
35
+ * Agent SDK `query()` calls do NOT need this — the SDK maps models
36
+ * internally when `CLAUDE_CODE_USE_BEDROCK=1` is set.
37
+ */
38
+ export function getModelId(config) {
39
+ return config.provider === "bedrock" ? BEDROCK_MODEL : ANTHROPIC_MODEL;
40
+ }
41
+ /**
42
+ * Build the `env` record for the Agent SDK `query()` options.
43
+ *
44
+ * - Anthropic: passes `ANTHROPIC_API_KEY`.
45
+ * - Bedrock: passes `CLAUDE_CODE_USE_BEDROCK`, `AWS_REGION`,
46
+ * `AWS_BEARER_TOKEN_BEDROCK` (for the Claude Code CLI), and IAM
47
+ * credentials when available.
48
+ */
49
+ export function buildAgentEnv(config) {
50
+ const base = { ...process.env };
51
+ if (config.provider === "bedrock") {
52
+ base.CLAUDE_CODE_USE_BEDROCK = "1";
53
+ base.AWS_REGION = config.awsRegion ?? "us-west-2";
54
+ if (config.awsBearerToken)
55
+ base.AWS_BEARER_TOKEN_BEDROCK = config.awsBearerToken;
56
+ if (config.awsAccessKeyId)
57
+ base.AWS_ACCESS_KEY_ID = config.awsAccessKeyId;
58
+ if (config.awsSecretAccessKey)
59
+ base.AWS_SECRET_ACCESS_KEY = config.awsSecretAccessKey;
60
+ if (config.awsSessionToken)
61
+ base.AWS_SESSION_TOKEN = config.awsSessionToken;
62
+ delete base.ANTHROPIC_API_KEY;
63
+ return base;
64
+ }
65
+ base.ANTHROPIC_API_KEY = config.anthropicApiKey;
66
+ return base;
67
+ }
68
+ //# sourceMappingURL=client-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-factory.js","sourceRoot":"","sources":["../../src/agent/client-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAC5C,MAAM,aAAa,GAAG,gCAAgC,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,MAAwB;IACnD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC;QAC/C,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACvD,OAAO,IAAI,gBAAgB,CAAC;gBAC1B,SAAS,EAAE,MAAM;gBACjB,YAAY,EAAE,MAAM,CAAC,cAAc;gBACnC,YAAY,EAAE,MAAM,CAAC,kBAAkB;gBACvC,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;aAChD,CAAyB,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAyB,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAwB;IACpD,MAAM,IAAI,GAAuC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEpE,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC;QAClD,IAAI,MAAM,CAAC,cAAc;YAAE,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,cAAc,CAAC;QACjF,IAAI,MAAM,CAAC,cAAc;YAAE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC;QAC1E,IAAI,MAAM,CAAC,kBAAkB;YAAE,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACtF,IAAI,MAAM,CAAC,eAAe;YAAE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC;QAC5E,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import type { CommandMessage } from "../channels/interface.js";
3
+ import type { VisionClawConfig } from "../config/types.js";
3
4
  declare const FastResponseSchema: z.ZodObject<{
4
5
  replies: z.ZodArray<z.ZodObject<{
5
6
  channel: z.ZodString;
@@ -26,7 +27,7 @@ export declare function fastRespond(options: {
26
27
  systemPrompt: string;
27
28
  messages: CommandMessage[];
28
29
  activitySummary: string;
29
- apiKey: string;
30
+ config: VisionClawConfig;
30
31
  }): Promise<FastResponse | null>;
31
32
  export {};
32
33
  //# sourceMappingURL=fast-responder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fast-responder.d.ts","sourceRoot":"","sources":["../../src/agent/fast-responder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAmB/D,QAAA,MAAM,kBAAkB;;;;;;;;iBAiBtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgF/B"}
1
+ {"version":3,"file":"fast-responder.d.ts","sourceRoot":"","sources":["../../src/agent/fast-responder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAgB3D,QAAA,MAAM,kBAAkB;;;;;;;;iBAiBtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgF/B"}
@@ -1,9 +1,7 @@
1
- import Anthropic from "@anthropic-ai/sdk";
2
1
  import { z } from "zod";
3
2
  import { zodOutputFormat } from "@anthropic-ai/sdk/helpers/zod";
4
3
  import { logger } from "../logger.js";
5
- //const FAST_MODEL = "claude-haiku-4-5-20251001";
6
- const FAST_MODEL = "claude-sonnet-4-6";
4
+ import { createClient, getModelId } from "./client-factory.js";
7
5
  const MAX_TOKENS = 2048;
8
6
  const RecipientReplySchema = z.object({
9
7
  channel: z
@@ -41,7 +39,7 @@ const FastResponseSchema = z.object({
41
39
  * interrupt-injection path.
42
40
  */
43
41
  export async function fastRespond(options) {
44
- const { systemPrompt, messages, activitySummary, apiKey } = options;
42
+ const { systemPrompt, messages, activitySummary, config } = options;
45
43
  if (messages.length === 0)
46
44
  return null;
47
45
  // Pre-compute unique recipients so the prompt can list them explicitly
@@ -56,7 +54,7 @@ export async function fastRespond(options) {
56
54
  .map((r) => ` - channel="${r.channel}", sender="${r.sender}"`)
57
55
  .join("\n");
58
56
  try {
59
- const client = new Anthropic({ apiKey });
57
+ const client = createClient(config);
60
58
  const messageSummary = messages
61
59
  .map((m) => {
62
60
  const parts = [
@@ -69,7 +67,7 @@ export async function fastRespond(options) {
69
67
  })
70
68
  .join("\n");
71
69
  const response = await client.messages.create({
72
- model: FAST_MODEL,
70
+ model: getModelId(config),
73
71
  max_tokens: MAX_TOKENS,
74
72
  output_config: {
75
73
  format: zodOutputFormat(FastResponseSchema),
@@ -1 +1 @@
1
- {"version":3,"file":"fast-responder.js","sourceRoot":"","sources":["../../src/agent/fast-responder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fast-responder.js","sourceRoot":"","sources":["../../src/agent/fast-responder.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export interface AgentState {
14
14
  requestStop: () => void;
15
15
  lastMessageChannel?: string;
16
16
  lastMessageSender?: string;
17
+ consoleUrl?: string;
17
18
  }
18
19
  export declare function getAgentState(): AgentState;
19
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAKD,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAiFD;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CA+sBf"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAiFD;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CAivBf"}
@@ -10,7 +10,7 @@ import { ActivityTracker } from "./activity-tracker.js";
10
10
  import { fastRespond } from "./fast-responder.js";
11
11
  import { logger } from "../logger.js";
12
12
  import { checkForUpdate, shouldNotifyUpdate, recordUpdateNotification } from "../utils/version-check.js";
13
- import { isOnboardingComplete, loadOwnerConfig, ownerConfigExists } from "../config/index.js";
13
+ import { isOnboardingComplete, loadOwnerConfig, ownerConfigExists, saveOwnerConfig } from "../config/index.js";
14
14
  import { TelegramOnboardingHandler } from "../onboarding/telegram-onboarding.js";
15
15
  import { sendOnboardingEmail } from "../onboarding/send-invite.js";
16
16
  // Module-level state so tools can access it
@@ -149,7 +149,7 @@ export async function startAgentLoop(config) {
149
149
  // Restart the process so the normal agent loop starts with a clean slate
150
150
  // (no leftover onboarding session state, event listeners, etc.).
151
151
  const { scheduleRestart } = await import("../utils/restart.js");
152
- scheduleRestart(2_000);
152
+ scheduleRestart(5_000);
153
153
  return;
154
154
  }
155
155
  // --- Normal operation (onboarding complete) ---
@@ -183,10 +183,7 @@ export async function startAgentLoop(config) {
183
183
  logger.system("");
184
184
  // Create the in-process MCP tool server
185
185
  const toolServer = createToolServer();
186
- // Create the agent session (uses V1 query API with full tool support)
187
- // Pass a builder function so the system prompt is regenerated fresh
188
- // each wake cycle (keeps current time / heartbeat interval accurate).
189
- const session = new AgentSession(config, () => buildSystemPrompt(config, ownerConfig), {
186
+ const mcpServers = {
190
187
  visionclaw: toolServer,
191
188
  playwright: {
192
189
  command: "npx",
@@ -196,7 +193,17 @@ export async function startAgentLoop(config) {
196
193
  process.env.PLAYWRIGHT_MCP_CDP_ENDPOINT ?? "http://127.0.0.1:9222",
197
194
  ],
198
195
  },
199
- });
196
+ };
197
+ if (config.provider === "bedrock" && config.serpApiKey) {
198
+ mcpServers.serpapi = {
199
+ type: "http",
200
+ url: `https://mcp.serpapi.com/${config.serpApiKey}/mcp`,
201
+ };
202
+ }
203
+ // Create the agent session (uses V1 query API with full tool support)
204
+ // Pass a builder function so the system prompt is regenerated fresh
205
+ // each wake cycle (keeps current time / heartbeat interval accurate).
206
+ const session = new AgentSession(config, () => buildSystemPrompt(config, ownerConfig), mcpServers);
200
207
  requestSessionStop = () => session.requestStop();
201
208
  // Listen for incoming messages to wake the agent or inject interrupts
202
209
  let wakeResolver = null;
@@ -249,7 +256,7 @@ export async function startAgentLoop(config) {
249
256
  systemPrompt: buildSystemPrompt(config, ownerConfig),
250
257
  messages: batch,
251
258
  activitySummary: activityTracker.getSummary(),
252
- apiKey: config.anthropicApiKey,
259
+ config,
253
260
  }),
254
261
  new Promise((resolve) => setTimeout(() => resolve(null), FAST_RESPONDER_TIMEOUT_MS)),
255
262
  ]);
@@ -355,6 +362,29 @@ export async function startAgentLoop(config) {
355
362
  });
356
363
  }
357
364
  });
365
+ channelManager.on("sleep_request", (req) => {
366
+ const minutes = Math.max(1, Math.min(1440, req.minutes));
367
+ const oldMs = ownerConfig.heartbeatIntervalMs;
368
+ ownerConfig.heartbeatIntervalMs = minutes * 60 * 1000;
369
+ saveOwnerConfig(ownerConfig);
370
+ logger.system(`Sleep interval changed from ${oldMs / 60000}m to ${minutes}m by ${req.sender} via ${req.channel}`);
371
+ channelManager
372
+ .sendMessage(req.channel, req.sender, `Sleep interval changed from ${oldMs / 60000}m to ${minutes}m.`)
373
+ .catch((err) => {
374
+ logger.warn(`Failed to send sleep confirmation: ${err instanceof Error ? err.message : String(err)}`);
375
+ });
376
+ });
377
+ channelManager.on("console_request", (req) => {
378
+ const url = agentState?.consoleUrl;
379
+ const reply = url
380
+ ? `${url}/console`
381
+ : "Console URL is not available yet (tunnel may still be starting).";
382
+ channelManager
383
+ .sendMessage(req.channel, req.sender, reply)
384
+ .catch((err) => {
385
+ logger.warn(`Failed to send console URL: ${err instanceof Error ? err.message : String(err)}`);
386
+ });
387
+ });
358
388
  logger.system("Agent loop started. Waiting for messages or heartbeat...");
359
389
  // --- Main loop ---
360
390
  let firstIteration = true;
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ export type SessionMode = "general" | "coding";
2
+ export interface MailboxMemo {
3
+ from: SessionMode;
4
+ to: SessionMode;
5
+ timestamp: string;
6
+ content: string;
7
+ }
8
+ export interface CodingSessionInfo {
9
+ id: string | null;
10
+ status: "idle" | "in_progress" | "completed";
11
+ taskSummary: string;
12
+ }
13
+ export interface MailboxData {
14
+ activeSession: SessionMode;
15
+ memos: MailboxMemo[];
16
+ codingSession: CodingSessionInfo;
17
+ }
18
+ export declare function loadMailbox(): MailboxData;
19
+ export declare function saveMailbox(data: MailboxData): void;
20
+ export declare function addMemo(from: SessionMode, to: SessionMode, content: string): void;
21
+ /**
22
+ * Read and clear memos addressed to the given session.
23
+ */
24
+ export declare function consumeMemosFor(target: SessionMode): MailboxMemo[];
25
+ export declare function setActiveSession(mode: SessionMode): void;
26
+ export declare function getActiveSession(): SessionMode;
27
+ export declare function updateCodingSessionInfo(info: Partial<CodingSessionInfo>): void;
28
+ //# sourceMappingURL=mailbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/agent/mailbox.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,WAAW,CAAC;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,iBAAiB,CAAC;CAClC;AAgBD,wBAAgB,WAAW,IAAI,WAAW,CAczC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAKnD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CASjF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,CAMlE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAIxD;AAED,wBAAgB,gBAAgB,IAAI,WAAW,CAE9C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAI9E"}
@@ -0,0 +1,73 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { getConfigDir } from "../config/index.js";
4
+ const DEFAULT_MAILBOX = {
5
+ activeSession: "general",
6
+ memos: [],
7
+ codingSession: {
8
+ id: null,
9
+ status: "idle",
10
+ taskSummary: "",
11
+ },
12
+ };
13
+ function getMailboxFile() {
14
+ return path.join(getConfigDir(), "session-mailbox.json");
15
+ }
16
+ export function loadMailbox() {
17
+ const file = getMailboxFile();
18
+ if (!fs.existsSync(file))
19
+ return { ...DEFAULT_MAILBOX };
20
+ try {
21
+ const raw = JSON.parse(fs.readFileSync(file, "utf-8"));
22
+ const data = raw;
23
+ return {
24
+ activeSession: data.activeSession ?? "general",
25
+ memos: Array.isArray(data.memos) ? data.memos : [],
26
+ codingSession: data.codingSession ?? { ...DEFAULT_MAILBOX.codingSession },
27
+ };
28
+ }
29
+ catch {
30
+ return { ...DEFAULT_MAILBOX };
31
+ }
32
+ }
33
+ export function saveMailbox(data) {
34
+ const file = getMailboxFile();
35
+ const dir = path.dirname(file);
36
+ if (!fs.existsSync(dir))
37
+ fs.mkdirSync(dir, { recursive: true });
38
+ fs.writeFileSync(file, JSON.stringify(data, null, 2), "utf-8");
39
+ }
40
+ export function addMemo(from, to, content) {
41
+ const data = loadMailbox();
42
+ data.memos.push({
43
+ from,
44
+ to,
45
+ timestamp: new Date().toISOString(),
46
+ content,
47
+ });
48
+ saveMailbox(data);
49
+ }
50
+ /**
51
+ * Read and clear memos addressed to the given session.
52
+ */
53
+ export function consumeMemosFor(target) {
54
+ const data = loadMailbox();
55
+ const forTarget = data.memos.filter((m) => m.to === target);
56
+ data.memos = data.memos.filter((m) => m.to !== target);
57
+ saveMailbox(data);
58
+ return forTarget;
59
+ }
60
+ export function setActiveSession(mode) {
61
+ const data = loadMailbox();
62
+ data.activeSession = mode;
63
+ saveMailbox(data);
64
+ }
65
+ export function getActiveSession() {
66
+ return loadMailbox().activeSession;
67
+ }
68
+ export function updateCodingSessionInfo(info) {
69
+ const data = loadMailbox();
70
+ data.codingSession = { ...data.codingSession, ...info };
71
+ saveMailbox(data);
72
+ }
73
+ //# sourceMappingURL=mailbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../src/agent/mailbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import type { McpServerConfig } from "@anthropic-ai/claude-agent-sdk";
2
+ import type { VisionClawConfig } from "../config/types.js";
3
+ import { AgentSession } from "./session.js";
4
+ import { type SessionMode } from "./mailbox.js";
5
+ export interface SwitchRequest {
6
+ target: SessionMode;
7
+ memo: string;
8
+ forwardMessage: string;
9
+ }
10
+ /**
11
+ * Manages two AgentSessions (general + coding) with cooperative switching.
12
+ *
13
+ * Only one session is active at a time. The agent decides when to switch
14
+ * by calling the switch_session tool. The manager handles suspending the
15
+ * current session and resuming the target.
16
+ */
17
+ export declare class SessionManager {
18
+ private config;
19
+ private buildBaseSystemPrompt;
20
+ private mcpServers;
21
+ private generalSession;
22
+ private codingSession;
23
+ private _activeMode;
24
+ /** Set after a switch_session tool call is detected in the stream. */
25
+ private _pendingSwitch;
26
+ private buildCodingSystemPrompt;
27
+ constructor(config: VisionClawConfig, buildSystemPrompt: () => string, mcpServers: Record<string, McpServerConfig>);
28
+ get activeMode(): SessionMode;
29
+ get activeSession(): AgentSession;
30
+ get pendingSwitch(): SwitchRequest | null;
31
+ /**
32
+ * Record a switch request detected from the stream.
33
+ * The main loop should check this after each stream ends and act on it.
34
+ */
35
+ setSwitchRequest(req: SwitchRequest): void;
36
+ /**
37
+ * Execute a pending session switch.
38
+ * - Writes the memo to the mailbox
39
+ * - Creates the coding session if it doesn't exist
40
+ * - Updates the active mode
41
+ * Returns the forwarded message content to send to the new session.
42
+ */
43
+ executePendingSwitch(): {
44
+ target: SessionMode;
45
+ forwardMessage: string;
46
+ } | null;
47
+ /**
48
+ * Get any unread memos for the currently active session.
49
+ * Call this before sending a message to the active session so
50
+ * the memos can be prepended to the context.
51
+ */
52
+ consumeMemosForActive(): string | null;
53
+ /**
54
+ * End the coding session (task complete or abandoned).
55
+ * Switches back to general mode.
56
+ */
57
+ endCodingSession(summary: string): void;
58
+ /**
59
+ * Proxy methods to the active session for compatibility with the existing loop.
60
+ */
61
+ requestStop(): void;
62
+ clearStop(): void;
63
+ isStopRequested(): boolean;
64
+ /**
65
+ * Get a summary of the coding session status for display in context.
66
+ */
67
+ getCodingSessionStatus(): string | null;
68
+ }
69
+ //# sourceMappingURL=session-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/agent/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAA2B,MAAM,cAAc,CAAC;AACrE,OAAO,EACL,KAAK,WAAW,EAMjB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;CACxB;AA6BD;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,qBAAqB,CAAe;IAC5C,OAAO,CAAC,UAAU,CAAkC;IAEpD,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO,CAAC,WAAW,CAA0B;IAE7C,sEAAsE;IACtE,OAAO,CAAC,cAAc,CAA8B;IAEpD,OAAO,CAAC,uBAAuB;gBAS7B,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,EAAE,MAAM,MAAM,EAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IA0B7C,IAAI,UAAU,IAAI,WAAW,CAE5B;IAED,IAAI,aAAa,IAAI,YAAY,CAKhC;IAED,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,CAExC;IAED;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAI1C;;;;;;OAMG;IACH,oBAAoB,IAAI;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA8B9E;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAWtC;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUvC;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB,SAAS,IAAI,IAAI;IAIjB,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,sBAAsB,IAAI,MAAM,GAAG,IAAI;CAMxC"}